Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
b5bddae
initial update
hey-august Apr 22, 2026
5f8093b
tracker
hey-august Apr 22, 2026
716a9ac
docs(ts-sdk): align agents reference with source
hey-august Apr 22, 2026
f155c6d
relay
hey-august Apr 23, 2026
22dc8fb
Merge branch 'main' into august-20260421-ts-sdk-release-docs
hey-august Apr 23, 2026
cd75b3c
docs(ts-sdk): close P4 coverage gaps in agents/ reference
hey-august Apr 23, 2026
b87d168
docs(ts-sdk): align agents env var reference with source
hey-august Apr 23, 2026
0b9ba4a
docs(ts-sdk): trim relay constants to re-exported symbols
hey-august Apr 23, 2026
9c5a083
tracker
hey-august Apr 23, 2026
7097948
docs(ts-sdk): remove temp redirects
hey-august Apr 23, 2026
dec6b28
icon swap
hey-august Apr 23, 2026
3bd3081
remove tracker
hey-august Apr 23, 2026
1d2b16f
docs(ts-sdk): guides audit pilot — getting-started
hey-august Apr 23, 2026
9b4603b
docs(ts-sdk): guides audit full sweep — 38 files
hey-august Apr 23, 2026
6cb7fb0
docs(ts-sdk): list 5 missing builtin skills in guides
hey-august Apr 23, 2026
c20cd64
docs(ts-sdk): fix orphan TypeScript rows in deploy tables
hey-august Apr 24, 2026
6a65508
docs(ts-sdk): add TypeScript tabs to security guide
hey-august Apr 24, 2026
9137e70
docs(ts-sdk): document pgvector for TypeScript + fix threshold name
hey-august Apr 24, 2026
737c8c7
docs(ts-sdk): rebuild builtin-skills parameter tables from source
hey-august Apr 24, 2026
066c25a
Merge branch 'main' into august-20260421-ts-sdk-release-docs
hey-august Apr 24, 2026
de0e8b0
fix card link
hey-august Apr 24, 2026
a7727bb
Updates, new methods
Devon-White Apr 27, 2026
c344732
Updates, new methods
Devon-White Apr 27, 2026
ef12d26
Merge branch 'main' into august-20260421-ts-sdk-release-docs
Devon-White Apr 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 0 additions & 7 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,13 +184,6 @@ redirects:
destination: /docs/server-sdks
- source: /docs/server-sdk/:slug*
destination: /docs/server-sdks
# Temporary: TypeScript SDK reference is hidden; redirect to Python equivalent.
- source: /docs/server-sdks/reference/typescript
destination: /docs/server-sdks/reference/python
permanent: false
- source: /docs/server-sdks/reference/typescript/:slug*
destination: /docs/server-sdks/reference/python/:slug*
permanent: false

check:
rules:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Pass parameters as a dictionary (or map/hash depending on language):
| Language | Syntax |
|----------|--------|
| Python | `self.add_skill("web_search", {"api_key": "KEY", "num_results": 5})` |
| TypeScript | `await agent.addSkill(new WebSearchSkill({ apiKey: 'KEY', numResults: 5 }))` |
| TypeScript | `await agent.addSkill(new WebSearchSkill({ api_key: 'KEY', num_results: 5 }))` |
{/*
| Go | `a.AddSkill("web_search", map[string]any{"api_key": "KEY", "num_results": 5})` |
| Ruby | `agent.add_skill('web_search', api_key: 'KEY', num_results: 5)` |
Expand Down Expand Up @@ -166,7 +166,7 @@ Some skills support multiple instances. Give each instance a unique `tool_name`:
| Language | Two instances of web_search |
|----------|----------------------------|
| Python | `self.add_skill("web_search", {"tool_name": "search_news", ...})` |
| TypeScript | `await agent.addSkill(new WebSearchSkill({ toolName: 'search_news', ... }))` |
| TypeScript | `await agent.addSkill(new WebSearchSkill({ tool_name: 'search_news', ... }))` |
{/*
| Go | `a.AddSkill("web_search", map[string]any{"tool_name": "search_news", ...})` |
| Ruby | `agent.add_skill('web_search', tool_name: 'search_news', ...)` |
Expand Down Expand Up @@ -296,10 +296,9 @@ if __name__ == "__main__":
agent.run()
```
</Tab>
{/*
<Tab title="TypeScript">
```typescript
import { AgentBase, DateTimeSkill, MathSkill } from 'signalwire-agents';
import { AgentBase, DateTimeSkill, MathSkill } from '@signalwire/sdk';

const agent = new AgentBase({ name: 'full-featured' });
agent.addLanguage({ name: 'English', code: 'en-US', voice: 'rime.spore' });
Expand All @@ -314,10 +313,9 @@ agent.promptAddSection('Capabilities', {
bullets: ['Current date and time', 'Math calculations'],
});

agent.run();
await agent.run();
```
</Tab>
*/}
</Tabs>
{/*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,9 @@ if __name__ == "__main__":
agent.run(host="0.0.0.0", port=3000)
```
</Tab>
{/*
<Tab title="TypeScript">
```typescript
import { AgentBase, FunctionResult } from 'signalwire-agents';
import { AgentBase, FunctionResult } from '@signalwire/sdk';

const agent = new AgentBase({
name: "customer-support",
Expand All @@ -141,16 +140,15 @@ const agent = new AgentBase({

agent.addLanguage({ name: 'English', code: 'en-US', voice: 'rime.spore' });
agent.setParams({ end_of_speech_timeout: 500, attention_timeout: 15000, inactivity_timeout: 30000 });
agent.promptAddSection('Role', 'You are Alex, a friendly customer support agent for Acme Inc.');
agent.promptAddSection('Role', { body: 'You are Alex, a friendly customer support agent for Acme Inc.' });
agent.promptAddSection('Guidelines', { body: 'Follow these guidelines:', bullets: ['Be helpful and professional', 'Ask clarifying questions when needed', 'Keep responses concise for voice', 'Offer to transfer if you cannot help'] });
agent.addHints(['Acme', 'account number', 'order status', 'refund', 'billing', 'representative']);
agent.defineTool({ name: 'check_order', description: 'Look up an order by order number', parameters: { type: 'object', properties: { order_number: { type: 'string', description: 'The order number to look up' } }, required: ['order_number'] }, handler: async (args) => new FunctionResult(`Order ${args.order_number}: Shipped on Monday, arriving Thursday`) });
agent.addSkill('datetime');
agent.defineTool({ name: 'check_order', description: 'Look up an order by order number', parameters: { type: 'object', properties: { order_number: { type: 'string', description: 'The order number to look up' } }, required: ['order_number'] }, handler: async (args) => new FunctionResult(`Order ${args['order_number']}: Shipped on Monday, arriving Thursday`) });
await agent.addSkillByName('datetime');
agent.setPostPrompt('Summarize: issue type, resolution, customer satisfaction');
agent.run({ host: '0.0.0.0', port: 3000 });
```
</Tab>
*/}
</Tabs>
{/*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,18 +216,16 @@ if __name__ == "__main__":
agent.run()
```
</Tab>
{/*
<Tab title="TypeScript">
```typescript
import { AgentBase } from 'signalwire-agents';
import { AgentBase } from '@signalwire/sdk';
const agent = new AgentBase({ name: 'configured-agent' });
agent.addLanguage({ name: 'English', code: 'en-US', voice: 'rime.spore' });
agent.setParams({ end_of_speech_timeout: 600, attention_timeout: 15000, inactivity_timeout: 45000 });
agent.promptAddSection('Role', { body: 'You are a helpful customer service agent.' });
agent.run();
```
</Tab>
*/}
</Tabs>
{/*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,9 @@ if __name__ == "__main__":
agent.run()
```
</Tab>
{/*
<Tab title="TypeScript">
```typescript
import { AgentBase, FunctionResult } from 'signalwire-agents';
import { AgentBase, FunctionResult } from '@signalwire/sdk';

const agent = new AgentBase({ name: 'customer-service' });
agent.addLanguage({ name: 'English', code: 'en-US', voice: 'rime.spore' });
Expand All @@ -378,18 +377,23 @@ agent.promptAddSection('Role', { body: 'You are a helpful agent.' });
agent.defineTool({
name: 'lookup_order',
description: 'Look up an order by ID',
parameters: { order_id: { type: 'string', description: 'Order ID' } },
parameters: {
type: 'object',
properties: {
order_id: { type: 'string', description: 'Order ID' },
},
required: ['order_id'],
},
handler: (args) => {
const result = new FunctionResult(`Order ${args.order_id}: Shipped, arrives tomorrow`);
const result = new FunctionResult(`Order ${args['order_id']}: Shipped, arrives tomorrow`);
return result;
},
});

agent.addSkill('datetime');
await agent.addSkillByName('datetime');
agent.run();
```
</Tab>
*/}
</Tabs>
{/*

Expand Down
Loading
Loading