Skip to content

Commit e23a40b

Browse files
committed
Demo: SDK Reference product across 10 SDKs
Adds a new top-level Fern product (SDK Reference) that hosts auto-generated reference docs for every SignalWire SDK as variants of a single Reference tab: TypeScript, Python, Ruby, Go, Java, .NET, PHP, Rust, C++, Perl. Showcase of the sdk-ref-docs polyglot pipeline. Content lives in fern/products/sdk-reference/<language>/ and is wired via the standard folder: pattern (modeled on server-sdks.yml), so reviewers can browse all pages directly on GitHub. Generator-owned: every .mdx page carries auto_generated: true in frontmatter and will be rewritten on the next pipeline run. Hand-written in this PR: - fern/docs.yml — one product entry added - fern/products/sdk-reference/sdk-reference.yml — variants + folder layout for the 10 SDKs Known gaps (renderer-side, follow-up): - Some auto-fenced docstring blocks are visually rendered as prose rather than monospace because the renderer's fence-aggregation heuristic only triggers when every line in the paragraph is indented. Content is correct and MDX-safe; styling will improve as the heuristic is generalized.
1 parent 36388d0 commit e23a40b

14,621 files changed

Lines changed: 553501 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

fern/docs.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ products:
7676
availability: deprecated
7777
slug: v2
7878

79+
- display-name: SDK Reference
80+
slug: sdk-reference
81+
path: products/sdk-reference/sdk-reference.yml
82+
icon: fa-regular fa-books
83+
subtitle: Auto-generated reference for every SignalWire SDK
84+
7985
# Column 3 (APIs)
8086
- display-name: APIs
8187
slug: apis
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"language": "cpp",
3+
"sdk_name": "cpp-sdk",
4+
"version": null,
5+
"source_repo": "https://github.com/signalwire/signalwire-cpp",
6+
"format": "mdx",
7+
"platform": "fern",
8+
"base_slug": "/sdk-reference/cpp",
9+
"item_count": 1678
10+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
auto_generated: true
3+
kind: "class"
4+
language: "cpp"
5+
qualified_name: "CToolContext"
6+
slug: "/sdk-reference/cpp/c-tool-context"
7+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/src/c_api/signalwire_c.cpp"
8+
visibility: "public"
9+
title: "CToolContext"
10+
sdk_label: "C++ SDK"
11+
icon: "cpp"
12+
---
13+
# `CToolContext`
14+
15+
## Signature
16+
17+
```cpp
18+
struct CToolContext
19+
```
20+
21+
## Properties
22+
23+
<ParamField path="handler" type="sw_tool_handler_t handler"></ParamField>
24+
<ParamField path="user_data" type="void * user_data"></ParamField>
25+
26+
## Source
27+
28+
[`src/c_api/signalwire_c.cpp`](https://github.com/signalwire/signalwire-cpp/blob/main/src/c_api/signalwire_c.cpp)
29+
30+
Line 83.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
auto_generated: true
3+
kind: "module"
4+
language: "cpp"
5+
qualified_name: "httplib"
6+
slug: "/sdk-reference/cpp/httplib"
7+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp"
8+
title: "httplib"
9+
sdk_label: "C++ SDK"
10+
icon: "cpp"
11+
---
12+
# `httplib`
13+
14+
## Signature
15+
16+
```cpp
17+
namespace httplib
18+
```
19+
20+
## Source
21+
22+
[`include/signalwire/agent/agent_base.hpp`](https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp)
23+
24+
Line 26.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
auto_generated: true
3+
title: "C++ SDK"
4+
slug: "/"
5+
language: "cpp"
6+
kind: "sdk"
7+
---
8+
# C++ SDK Reference
9+
10+
## Modules
11+
12+
- [`httplib`](/sdk-reference/cpp/httplib)
13+
- [`signalwire`](/sdk-reference/cpp/signalwire)
14+
- [`std`](/sdk-reference/cpp/std)
15+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
auto_generated: true
3+
kind: "module"
4+
language: "cpp"
5+
qualified_name: "signalwire::@100125301063314044140006005130377163361074200160"
6+
parent: "signalwire"
7+
module: "signalwire"
8+
slug: "/sdk-reference/cpp/signalwire/100125301063314044140006005130377163361074200160"
9+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/src/signalwire.cpp"
10+
title: "@100125301063314044140006005130377163361074200160"
11+
sdk_label: "C++ SDK"
12+
icon: "cpp"
13+
---
14+
# `@100125301063314044140006005130377163361074200160`
15+
16+
## Signature
17+
18+
```cpp
19+
namespace signalwire::@100125301063314044140006005130377163361074200160
20+
```
21+
22+
## Source
23+
24+
[`src/signalwire.cpp`](https://github.com/signalwire/signalwire-cpp/blob/main/src/signalwire.cpp)
25+
26+
Line 23.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
auto_generated: true
3+
kind: "function"
4+
language: "cpp"
5+
qualified_name: "signalwire::add_skill_directory"
6+
parent: "signalwire"
7+
slug: "/sdk-reference/cpp/signalwire/add-skill-directory"
8+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/src/signalwire.cpp"
9+
visibility: "public"
10+
title: "add_skill_directory"
11+
sdk_label: "C++ SDK"
12+
icon: "cpp"
13+
---
14+
# `add_skill_directory`
15+
16+
Add a directory to search for skills.
17+
Mirrors Python's signalwire.add_skill_directory(path) — delegates to the singleton skills::SkillRegistry instance so third-party skill collections can be registered by path.
18+
19+
std::invalid_argument
20+
21+
22+
when the path doesn't exist or isn't a directory.
23+
24+
## Signature
25+
26+
```cpp
27+
void add_skill_directory(const std::string & path)
28+
```
29+
30+
## Parameters
31+
32+
<ParamField path="path" type="const std::string &" required></ParamField>
33+
34+
## Source
35+
36+
[`src/signalwire.cpp`](https://github.com/signalwire/signalwire-cpp/blob/main/src/signalwire.cpp)
37+
38+
Line 94.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
auto_generated: true
3+
kind: "module"
4+
language: "cpp"
5+
qualified_name: "signalwire::agent::@111042007043342110064074110231167034052176102071"
6+
parent: "signalwire::agent"
7+
module: "signalwire.agent"
8+
slug: "/sdk-reference/cpp/signalwire/agent/111042007043342110064074110231167034052176102071"
9+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/src/agent/agent_base.cpp"
10+
title: "@111042007043342110064074110231167034052176102071"
11+
sdk_label: "C++ SDK"
12+
icon: "cpp"
13+
---
14+
# `@111042007043342110064074110231167034052176102071`
15+
16+
## Signature
17+
18+
```cpp
19+
namespace signalwire::agent::@111042007043342110064074110231167034052176102071
20+
```
21+
22+
## Source
23+
24+
[`src/agent/agent_base.cpp`](https://github.com/signalwire/signalwire-cpp/blob/main/src/agent/agent_base.cpp)
25+
26+
Line 218.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
auto_generated: true
3+
kind: "method"
4+
language: "cpp"
5+
qualified_name: "signalwire::agent::AgentBase::add_answer_verb"
6+
parent: "signalwire::agent::AgentBase"
7+
module: "signalwire.agent"
8+
slug: "/sdk-reference/cpp/signalwire/agent/agent-base/add-answer-verb"
9+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp"
10+
visibility: "public"
11+
title: "add_answer_verb"
12+
sdk_label: "C++ SDK"
13+
icon: "cpp"
14+
---
15+
# `add_answer_verb`
16+
17+
## Signature
18+
19+
```cpp
20+
AgentBase & add_answer_verb(const std::string & verb_name, const json & params)
21+
```
22+
23+
## Parameters
24+
25+
<ParamField path="verb_name" type="const std::string &" required></ParamField>
26+
<ParamField path="params" type="const json &" required></ParamField>
27+
28+
## Returns
29+
30+
`AgentBase &`
31+
32+
## Source
33+
34+
[`include/signalwire/agent/agent_base.hpp`](https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp)
35+
36+
Line 379.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
auto_generated: true
3+
kind: "method"
4+
language: "cpp"
5+
qualified_name: "signalwire::agent::AgentBase::add_context"
6+
parent: "signalwire::agent::AgentBase"
7+
module: "signalwire.agent"
8+
slug: "/sdk-reference/cpp/signalwire/agent/agent-base/add-context"
9+
source_url: "https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp"
10+
visibility: "public"
11+
title: "add_context"
12+
sdk_label: "C++ SDK"
13+
icon: "cpp"
14+
---
15+
# `add_context`
16+
17+
## Signature
18+
19+
```cpp
20+
contexts::Context & add_context(const std::string & name)
21+
```
22+
23+
## Parameters
24+
25+
<ParamField path="name" type="const std::string &" required></ParamField>
26+
27+
## Returns
28+
29+
`contexts::Context &`
30+
31+
## Source
32+
33+
[`include/signalwire/agent/agent_base.hpp`](https://github.com/signalwire/signalwire-cpp/blob/main/include/signalwire/agent/agent_base.hpp)
34+
35+
Line 391.

0 commit comments

Comments
 (0)