@octavus/docs 0.0.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -0
- package/content/01-getting-started/01-introduction.md +3 -3
- package/content/01-getting-started/02-quickstart.md +40 -17
- package/content/02-server-sdk/01-overview.md +54 -11
- package/content/02-server-sdk/02-sessions.md +166 -15
- package/content/02-server-sdk/03-tools.md +21 -21
- package/content/02-server-sdk/04-streaming.md +50 -20
- package/content/02-server-sdk/05-cli.md +247 -0
- package/content/03-client-sdk/01-overview.md +65 -35
- package/content/03-client-sdk/02-messages.md +116 -8
- package/content/03-client-sdk/03-streaming.md +36 -17
- package/content/03-client-sdk/04-execution-blocks.md +8 -12
- package/content/03-client-sdk/05-socket-transport.md +161 -45
- package/content/03-client-sdk/06-http-transport.md +48 -24
- package/content/03-client-sdk/07-structured-output.md +412 -0
- package/content/03-client-sdk/08-file-uploads.md +473 -0
- package/content/03-client-sdk/09-error-handling.md +274 -0
- package/content/04-protocol/01-overview.md +24 -14
- package/content/04-protocol/02-input-resources.md +35 -35
- package/content/04-protocol/03-triggers.md +9 -11
- package/content/04-protocol/04-tools.md +63 -29
- package/content/04-protocol/05-skills.md +304 -0
- package/content/04-protocol/06-handlers.md +304 -0
- package/content/04-protocol/07-agent-config.md +334 -0
- package/content/04-protocol/{07-provider-options.md → 08-provider-options.md} +54 -35
- package/content/04-protocol/09-skills-advanced.md +439 -0
- package/content/04-protocol/10-types.md +719 -0
- package/content/05-api-reference/01-overview.md +20 -21
- package/content/05-api-reference/02-sessions.md +192 -37
- package/content/05-api-reference/03-agents.md +25 -37
- package/content/06-examples/01-overview.md +6 -4
- package/content/06-examples/02-nextjs-chat.md +28 -18
- package/content/06-examples/03-socket-chat.md +53 -30
- package/content/06-examples/_meta.md +0 -1
- package/dist/chunk-WJ2W3DUC.js +663 -0
- package/dist/chunk-WJ2W3DUC.js.map +1 -0
- package/dist/content.js +1 -1
- package/dist/docs.json +99 -36
- package/dist/index.js +1 -1
- package/dist/search-index.json +1 -1
- package/dist/search.js +1 -1
- package/dist/search.js.map +1 -1
- package/dist/sections.json +99 -36
- package/package.json +12 -2
- package/content/04-protocol/05-handlers.md +0 -251
- package/content/04-protocol/06-agent-config.md +0 -242
- package/dist/chunk-232K4EME.js +0 -439
- package/dist/chunk-232K4EME.js.map +0 -1
- package/dist/chunk-2JDZLMS3.js +0 -439
- package/dist/chunk-2JDZLMS3.js.map +0 -1
- package/dist/chunk-2YMRODFE.js +0 -421
- package/dist/chunk-2YMRODFE.js.map +0 -1
- package/dist/chunk-2ZBPX5QB.js +0 -421
- package/dist/chunk-2ZBPX5QB.js.map +0 -1
- package/dist/chunk-3PIIST4D.js +0 -421
- package/dist/chunk-3PIIST4D.js.map +0 -1
- package/dist/chunk-42JETGDO.js +0 -421
- package/dist/chunk-42JETGDO.js.map +0 -1
- package/dist/chunk-4WWUKU4V.js +0 -421
- package/dist/chunk-4WWUKU4V.js.map +0 -1
- package/dist/chunk-5M7DS4DF.js +0 -519
- package/dist/chunk-5M7DS4DF.js.map +0 -1
- package/dist/chunk-6JQ3OMGF.js +0 -421
- package/dist/chunk-6JQ3OMGF.js.map +0 -1
- package/dist/chunk-7AOWCJHW.js +0 -421
- package/dist/chunk-7AOWCJHW.js.map +0 -1
- package/dist/chunk-7AS4ST73.js +0 -421
- package/dist/chunk-7AS4ST73.js.map +0 -1
- package/dist/chunk-7F5WOCIL.js +0 -421
- package/dist/chunk-7F5WOCIL.js.map +0 -1
- package/dist/chunk-7FPUAWSX.js +0 -421
- package/dist/chunk-7FPUAWSX.js.map +0 -1
- package/dist/chunk-7KXF63FV.js +0 -537
- package/dist/chunk-7KXF63FV.js.map +0 -1
- package/dist/chunk-APASMJBS.js +0 -421
- package/dist/chunk-APASMJBS.js.map +0 -1
- package/dist/chunk-BCEV3WV2.js +0 -421
- package/dist/chunk-BCEV3WV2.js.map +0 -1
- package/dist/chunk-CHGY4G27.js +0 -421
- package/dist/chunk-CHGY4G27.js.map +0 -1
- package/dist/chunk-CI7JDWKU.js +0 -421
- package/dist/chunk-CI7JDWKU.js.map +0 -1
- package/dist/chunk-CVFWWRL7.js +0 -421
- package/dist/chunk-CVFWWRL7.js.map +0 -1
- package/dist/chunk-EPDM2NIJ.js +0 -421
- package/dist/chunk-EPDM2NIJ.js.map +0 -1
- package/dist/chunk-ESGSYVGK.js +0 -421
- package/dist/chunk-ESGSYVGK.js.map +0 -1
- package/dist/chunk-GDCTM2SV.js +0 -421
- package/dist/chunk-GDCTM2SV.js.map +0 -1
- package/dist/chunk-GJ6FMIPD.js +0 -421
- package/dist/chunk-GJ6FMIPD.js.map +0 -1
- package/dist/chunk-H6JGSSAJ.js +0 -519
- package/dist/chunk-H6JGSSAJ.js.map +0 -1
- package/dist/chunk-IKQHGGUZ.js +0 -421
- package/dist/chunk-IKQHGGUZ.js.map +0 -1
- package/dist/chunk-IUKE3XDN.js +0 -421
- package/dist/chunk-IUKE3XDN.js.map +0 -1
- package/dist/chunk-J26MLMLN.js +0 -421
- package/dist/chunk-J26MLMLN.js.map +0 -1
- package/dist/chunk-J7BMB3ZW.js +0 -421
- package/dist/chunk-J7BMB3ZW.js.map +0 -1
- package/dist/chunk-JCBQRD5N.js +0 -421
- package/dist/chunk-JCBQRD5N.js.map +0 -1
- package/dist/chunk-JOB6YWEF.js +0 -421
- package/dist/chunk-JOB6YWEF.js.map +0 -1
- package/dist/chunk-JZRABTHU.js +0 -519
- package/dist/chunk-JZRABTHU.js.map +0 -1
- package/dist/chunk-K3GFQUMC.js +0 -421
- package/dist/chunk-K3GFQUMC.js.map +0 -1
- package/dist/chunk-LWYMRXBF.js +0 -421
- package/dist/chunk-LWYMRXBF.js.map +0 -1
- package/dist/chunk-M2R2NDPR.js +0 -421
- package/dist/chunk-M2R2NDPR.js.map +0 -1
- package/dist/chunk-MA3P7WCA.js +0 -421
- package/dist/chunk-MA3P7WCA.js.map +0 -1
- package/dist/chunk-MDMRCS4W.mjs +0 -421
- package/dist/chunk-MDMRCS4W.mjs.map +0 -1
- package/dist/chunk-MJXTA2R6.js +0 -421
- package/dist/chunk-MJXTA2R6.js.map +0 -1
- package/dist/chunk-NFVJQNDP.js +0 -421
- package/dist/chunk-NFVJQNDP.js.map +0 -1
- package/dist/chunk-O5TLYMQP.js +0 -421
- package/dist/chunk-O5TLYMQP.js.map +0 -1
- package/dist/chunk-OECAPVSX.js +0 -439
- package/dist/chunk-OECAPVSX.js.map +0 -1
- package/dist/chunk-OL5QDJ42.js +0 -483
- package/dist/chunk-OL5QDJ42.js.map +0 -1
- package/dist/chunk-PMOVVTHO.js +0 -519
- package/dist/chunk-PMOVVTHO.js.map +0 -1
- package/dist/chunk-QCHDPR2D.js +0 -421
- package/dist/chunk-QCHDPR2D.js.map +0 -1
- package/dist/chunk-R5MTVABN.js +0 -439
- package/dist/chunk-R5MTVABN.js.map +0 -1
- package/dist/chunk-RJ4H4YVA.js +0 -519
- package/dist/chunk-RJ4H4YVA.js.map +0 -1
- package/dist/chunk-S5U4IWCR.js +0 -439
- package/dist/chunk-S5U4IWCR.js.map +0 -1
- package/dist/chunk-SCKIOGKI.js +0 -421
- package/dist/chunk-SCKIOGKI.js.map +0 -1
- package/dist/chunk-TGJSIJYP.js +0 -421
- package/dist/chunk-TGJSIJYP.js.map +0 -1
- package/dist/chunk-TQJG6EBM.js +0 -537
- package/dist/chunk-TQJG6EBM.js.map +0 -1
- package/dist/chunk-TQZRBMU7.js +0 -421
- package/dist/chunk-TQZRBMU7.js.map +0 -1
- package/dist/chunk-TRL4RSEO.js +0 -421
- package/dist/chunk-TRL4RSEO.js.map +0 -1
- package/dist/chunk-TWUMRHQ7.js +0 -421
- package/dist/chunk-TWUMRHQ7.js.map +0 -1
- package/dist/chunk-UCJE36LL.js +0 -519
- package/dist/chunk-UCJE36LL.js.map +0 -1
- package/dist/chunk-VCASA6KL.js +0 -421
- package/dist/chunk-VCASA6KL.js.map +0 -1
- package/dist/chunk-VWPQ6ORV.js +0 -421
- package/dist/chunk-VWPQ6ORV.js.map +0 -1
- package/dist/chunk-WPXKIHLT.js +0 -421
- package/dist/chunk-WPXKIHLT.js.map +0 -1
- package/dist/chunk-WUNFFJ32.js +0 -421
- package/dist/chunk-WUNFFJ32.js.map +0 -1
- package/dist/chunk-WW7TRC7S.js +0 -519
- package/dist/chunk-WW7TRC7S.js.map +0 -1
- package/dist/chunk-XVSMRXBJ.js +0 -421
- package/dist/chunk-XVSMRXBJ.js.map +0 -1
- package/dist/chunk-YPPXXV3I.js +0 -421
- package/dist/chunk-YPPXXV3I.js.map +0 -1
- package/dist/chunk-ZKZVV4OQ.js +0 -421
- package/dist/chunk-ZKZVV4OQ.js.map +0 -1
- package/dist/chunk-ZOFEX73I.js +0 -421
- package/dist/chunk-ZOFEX73I.js.map +0 -1
- package/dist/content.mjs +0 -17
- package/dist/content.mjs.map +0 -1
- package/dist/index.mjs +0 -11
- package/dist/index.mjs.map +0 -1
- package/dist/search.mjs +0 -30
- package/dist/search.mjs.map +0 -1
- package/dist/types-BltYGlWI.d.ts +0 -36
package/package.json
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octavus/docs",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Documentation content for Octavus SDKs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Octavus AI <dev@octavus.ai>",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/octavus-ai/js-sdk.git",
|
|
10
|
+
"directory": "packages/docs"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://octavus.ai",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/octavus-ai/js-sdk/issues"
|
|
15
|
+
},
|
|
7
16
|
"keywords": [
|
|
8
17
|
"octavus",
|
|
9
18
|
"ai",
|
|
10
19
|
"agents",
|
|
11
|
-
"documentation"
|
|
20
|
+
"documentation",
|
|
21
|
+
"docs"
|
|
12
22
|
],
|
|
13
23
|
"type": "module",
|
|
14
24
|
"exports": {
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Handlers
|
|
3
|
-
description: Defining execution handlers with blocks.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Handlers
|
|
7
|
-
|
|
8
|
-
Handlers define what happens when a trigger fires. They contain execution blocks that run in sequence.
|
|
9
|
-
|
|
10
|
-
## Handler Structure
|
|
11
|
-
|
|
12
|
-
```yaml
|
|
13
|
-
handlers:
|
|
14
|
-
trigger-name:
|
|
15
|
-
Block Name:
|
|
16
|
-
type: block-type
|
|
17
|
-
# block-specific properties
|
|
18
|
-
|
|
19
|
-
Another Block:
|
|
20
|
-
type: another-type
|
|
21
|
-
# ...
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Each block has a human-readable name (shown in debug UI) and a type that determines its behavior.
|
|
25
|
-
|
|
26
|
-
## Block Types
|
|
27
|
-
|
|
28
|
-
### next-message
|
|
29
|
-
|
|
30
|
-
Generate a response from the LLM:
|
|
31
|
-
|
|
32
|
-
```yaml
|
|
33
|
-
handlers:
|
|
34
|
-
user-message:
|
|
35
|
-
Respond to user:
|
|
36
|
-
type: next-message
|
|
37
|
-
# Uses main conversation thread by default
|
|
38
|
-
# Display defaults to 'stream'
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
With options:
|
|
42
|
-
|
|
43
|
-
```yaml
|
|
44
|
-
Generate summary:
|
|
45
|
-
type: next-message
|
|
46
|
-
thread: summary # Use named thread
|
|
47
|
-
display: stream # Show streaming content
|
|
48
|
-
independent: true # Don't add to main chat
|
|
49
|
-
output: SUMMARY # Store output in variable
|
|
50
|
-
description: Generating summary # Shown in UI
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### add-message
|
|
54
|
-
|
|
55
|
-
Add a message to the conversation:
|
|
56
|
-
|
|
57
|
-
```yaml
|
|
58
|
-
Add user message:
|
|
59
|
-
type: add-message
|
|
60
|
-
role: user # user | assistant | system
|
|
61
|
-
prompt: user-message # Reference to prompt file
|
|
62
|
-
input: [USER_MESSAGE] # Variables to interpolate
|
|
63
|
-
display: hidden # Don't show in UI
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
For internal directives (LLM sees it, user doesn't):
|
|
67
|
-
|
|
68
|
-
```yaml
|
|
69
|
-
Add internal directive:
|
|
70
|
-
type: add-message
|
|
71
|
-
role: user
|
|
72
|
-
prompt: ticket-directive
|
|
73
|
-
input: [TICKET_DETAILS]
|
|
74
|
-
visible: false # LLM sees this, user doesn't
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### tool-call
|
|
78
|
-
|
|
79
|
-
Call a tool deterministically:
|
|
80
|
-
|
|
81
|
-
```yaml
|
|
82
|
-
Create ticket:
|
|
83
|
-
type: tool-call
|
|
84
|
-
tool: create-support-ticket
|
|
85
|
-
input:
|
|
86
|
-
summary: SUMMARY # Variable reference
|
|
87
|
-
priority: medium # Literal value
|
|
88
|
-
output: TICKET # Store result
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### set-resource
|
|
92
|
-
|
|
93
|
-
Update a persistent resource:
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
Save summary:
|
|
97
|
-
type: set-resource
|
|
98
|
-
resource: CONVERSATION_SUMMARY
|
|
99
|
-
value: SUMMARY # Variable to save
|
|
100
|
-
display: name # Show block name
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### start-thread
|
|
104
|
-
|
|
105
|
-
Create a named conversation thread:
|
|
106
|
-
|
|
107
|
-
```yaml
|
|
108
|
-
Start summary thread:
|
|
109
|
-
type: start-thread
|
|
110
|
-
thread: summary # Thread name
|
|
111
|
-
model: anthropic/claude-sonnet-4-5 # Optional: different model
|
|
112
|
-
thinking: low # Extended reasoning level
|
|
113
|
-
maxSteps: 1 # Tool call limit
|
|
114
|
-
system: escalation-summary # System prompt
|
|
115
|
-
input: [COMPANY_NAME] # Variables for prompt
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### serialize-thread
|
|
119
|
-
|
|
120
|
-
Convert conversation to text:
|
|
121
|
-
|
|
122
|
-
```yaml
|
|
123
|
-
Serialize conversation:
|
|
124
|
-
type: serialize-thread
|
|
125
|
-
thread: main # Which thread (default: main)
|
|
126
|
-
format: markdown # markdown | json
|
|
127
|
-
output: CONVERSATION_TEXT # Variable to store result
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Display Modes
|
|
131
|
-
|
|
132
|
-
Every block has a `display` property:
|
|
133
|
-
|
|
134
|
-
| Mode | Default For | Behavior |
|
|
135
|
-
|------|-------------|----------|
|
|
136
|
-
| `hidden` | add-message | Not shown to user |
|
|
137
|
-
| `name` | set-resource | Shows block name |
|
|
138
|
-
| `description` | tool-call | Shows description |
|
|
139
|
-
| `stream` | next-message | Streams content |
|
|
140
|
-
|
|
141
|
-
## Complete Example
|
|
142
|
-
|
|
143
|
-
```yaml
|
|
144
|
-
handlers:
|
|
145
|
-
user-message:
|
|
146
|
-
# Add the user's message to conversation
|
|
147
|
-
Add user message:
|
|
148
|
-
type: add-message
|
|
149
|
-
role: user
|
|
150
|
-
prompt: user-message
|
|
151
|
-
input: [USER_MESSAGE]
|
|
152
|
-
display: hidden
|
|
153
|
-
|
|
154
|
-
# Generate response (LLM may call tools)
|
|
155
|
-
Respond to user:
|
|
156
|
-
type: next-message
|
|
157
|
-
# display: stream (default)
|
|
158
|
-
|
|
159
|
-
request-human:
|
|
160
|
-
# Step 1: Serialize conversation for summary
|
|
161
|
-
Serialize conversation:
|
|
162
|
-
type: serialize-thread
|
|
163
|
-
format: markdown
|
|
164
|
-
output: CONVERSATION_TEXT
|
|
165
|
-
|
|
166
|
-
# Step 2: Create separate thread for summarization
|
|
167
|
-
Start summary thread:
|
|
168
|
-
type: start-thread
|
|
169
|
-
thread: summary
|
|
170
|
-
model: anthropic/claude-sonnet-4-5
|
|
171
|
-
thinking: low
|
|
172
|
-
system: escalation-summary
|
|
173
|
-
input: [COMPANY_NAME]
|
|
174
|
-
|
|
175
|
-
# Step 3: Add request to summary thread
|
|
176
|
-
Add summarize request:
|
|
177
|
-
type: add-message
|
|
178
|
-
thread: summary
|
|
179
|
-
role: user
|
|
180
|
-
prompt: summarize-request
|
|
181
|
-
input:
|
|
182
|
-
- CONVERSATION: CONVERSATION_TEXT
|
|
183
|
-
|
|
184
|
-
# Step 4: Generate summary
|
|
185
|
-
Generate summary:
|
|
186
|
-
type: next-message
|
|
187
|
-
thread: summary
|
|
188
|
-
display: stream
|
|
189
|
-
description: Summarizing your conversation
|
|
190
|
-
independent: true
|
|
191
|
-
output: SUMMARY
|
|
192
|
-
|
|
193
|
-
# Step 5: Save to resource
|
|
194
|
-
Save summary:
|
|
195
|
-
type: set-resource
|
|
196
|
-
resource: CONVERSATION_SUMMARY
|
|
197
|
-
value: SUMMARY
|
|
198
|
-
|
|
199
|
-
# Step 6: Create support ticket
|
|
200
|
-
Create ticket:
|
|
201
|
-
type: tool-call
|
|
202
|
-
tool: create-support-ticket
|
|
203
|
-
input:
|
|
204
|
-
summary: SUMMARY
|
|
205
|
-
priority: medium
|
|
206
|
-
output: TICKET
|
|
207
|
-
|
|
208
|
-
# Step 7: Add directive for response
|
|
209
|
-
Add directive:
|
|
210
|
-
type: add-message
|
|
211
|
-
role: user
|
|
212
|
-
prompt: ticket-directive
|
|
213
|
-
input: [TICKET_DETAILS: TICKET]
|
|
214
|
-
visible: false
|
|
215
|
-
|
|
216
|
-
# Step 8: Respond to user
|
|
217
|
-
Respond:
|
|
218
|
-
type: next-message
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
## Block Input Mapping
|
|
222
|
-
|
|
223
|
-
Map variables to block inputs:
|
|
224
|
-
|
|
225
|
-
```yaml
|
|
226
|
-
# Simple list (variable name = prompt variable)
|
|
227
|
-
input: [USER_MESSAGE, COMPANY_NAME]
|
|
228
|
-
|
|
229
|
-
# Mapping (different names)
|
|
230
|
-
input:
|
|
231
|
-
- CONVERSATION: CONVERSATION_TEXT # CONVERSATION in prompt = CONVERSATION_TEXT
|
|
232
|
-
- TICKET_DETAILS: TICKET
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Independent Blocks
|
|
236
|
-
|
|
237
|
-
Use `independent: true` for content that shouldn't go to the main chat:
|
|
238
|
-
|
|
239
|
-
```yaml
|
|
240
|
-
Generate summary:
|
|
241
|
-
type: next-message
|
|
242
|
-
thread: summary
|
|
243
|
-
independent: true # Output stored in variable, not main chat
|
|
244
|
-
output: SUMMARY
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
This is useful for:
|
|
248
|
-
- Background processing
|
|
249
|
-
- Summarization in separate threads
|
|
250
|
-
- Generating content for tools
|
|
251
|
-
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Agent Config
|
|
3
|
-
description: Configuring the agent model and behavior.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Agent Config
|
|
7
|
-
|
|
8
|
-
The `agent` section configures the LLM model, system prompt, tools, and behavior.
|
|
9
|
-
|
|
10
|
-
## Basic Configuration
|
|
11
|
-
|
|
12
|
-
```yaml
|
|
13
|
-
agent:
|
|
14
|
-
model: anthropic/claude-sonnet-4-5
|
|
15
|
-
system: system # References prompts/system.md
|
|
16
|
-
tools: [get-user-account] # Available tools
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Configuration Options
|
|
20
|
-
|
|
21
|
-
| Field | Required | Description |
|
|
22
|
-
|-------|----------|-------------|
|
|
23
|
-
| `model` | Yes | Model identifier (provider/model-id) |
|
|
24
|
-
| `system` | Yes | System prompt filename (without .md) |
|
|
25
|
-
| `input` | No | Variables to interpolate in system prompt |
|
|
26
|
-
| `tools` | No | List of tools the LLM can call |
|
|
27
|
-
| `agentic` | No | Allow multiple tool call cycles |
|
|
28
|
-
| `maxSteps` | No | Maximum agentic steps (default: 10) |
|
|
29
|
-
| `temperature` | No | Model temperature (0-2) |
|
|
30
|
-
| `thinking` | No | Extended reasoning level |
|
|
31
|
-
| `anthropic` | No | Anthropic-specific options (tools, skills) |
|
|
32
|
-
|
|
33
|
-
## Models
|
|
34
|
-
|
|
35
|
-
Specify models in `provider/model-id` format:
|
|
36
|
-
|
|
37
|
-
```yaml
|
|
38
|
-
# Anthropic
|
|
39
|
-
agent:
|
|
40
|
-
model: anthropic/claude-sonnet-4-5 # Claude 4.5 Sonnet
|
|
41
|
-
model: anthropic/claude-opus-4 # Claude 4 Opus
|
|
42
|
-
|
|
43
|
-
# OpenAI
|
|
44
|
-
agent:
|
|
45
|
-
model: openai/gpt-4o # GPT-4o
|
|
46
|
-
model: openai/gpt-4o-mini # GPT-4o Mini
|
|
47
|
-
model: openai/o1 # O1
|
|
48
|
-
model: openai/o3-mini # O3 Mini
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## System Prompt
|
|
52
|
-
|
|
53
|
-
The system prompt sets the agent's persona and instructions:
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
agent:
|
|
57
|
-
system: system # Uses prompts/system.md
|
|
58
|
-
input:
|
|
59
|
-
- COMPANY_NAME
|
|
60
|
-
- PRODUCT_NAME
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Example `prompts/system.md`:
|
|
64
|
-
|
|
65
|
-
```markdown
|
|
66
|
-
You are a friendly support agent for {{COMPANY_NAME}}.
|
|
67
|
-
|
|
68
|
-
## Your Role
|
|
69
|
-
|
|
70
|
-
Help users with questions about {{PRODUCT_NAME}}.
|
|
71
|
-
|
|
72
|
-
## Guidelines
|
|
73
|
-
|
|
74
|
-
- Be helpful and professional
|
|
75
|
-
- If you can't help, offer to escalate
|
|
76
|
-
- Never share internal information
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Agentic Mode
|
|
80
|
-
|
|
81
|
-
Enable multi-step tool calling:
|
|
82
|
-
|
|
83
|
-
```yaml
|
|
84
|
-
agent:
|
|
85
|
-
model: anthropic/claude-sonnet-4-5
|
|
86
|
-
system: system
|
|
87
|
-
tools: [get-user-account, search-docs, create-ticket]
|
|
88
|
-
agentic: true # LLM can call multiple tools
|
|
89
|
-
maxSteps: 10 # Limit cycles to prevent runaway
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**How it works:**
|
|
93
|
-
1. LLM receives user message
|
|
94
|
-
2. LLM decides to call a tool
|
|
95
|
-
3. Tool executes, result returned to LLM
|
|
96
|
-
4. LLM decides if more tools needed
|
|
97
|
-
5. Repeat until LLM responds or maxSteps reached
|
|
98
|
-
|
|
99
|
-
## Extended Thinking
|
|
100
|
-
|
|
101
|
-
Enable extended reasoning for complex tasks:
|
|
102
|
-
|
|
103
|
-
```yaml
|
|
104
|
-
agent:
|
|
105
|
-
model: anthropic/claude-sonnet-4-5
|
|
106
|
-
thinking: medium # low | medium | high
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
| Level | Token Budget | Use Case |
|
|
110
|
-
|-------|-------------|----------|
|
|
111
|
-
| `low` | ~5,000 | Simple reasoning |
|
|
112
|
-
| `medium` | ~10,000 | Moderate complexity |
|
|
113
|
-
| `high` | ~20,000 | Complex analysis |
|
|
114
|
-
|
|
115
|
-
Thinking content streams to the UI and can be displayed to users.
|
|
116
|
-
|
|
117
|
-
## Temperature
|
|
118
|
-
|
|
119
|
-
Control response randomness:
|
|
120
|
-
|
|
121
|
-
```yaml
|
|
122
|
-
agent:
|
|
123
|
-
model: openai/gpt-4o
|
|
124
|
-
temperature: 0.7 # 0 = deterministic, 2 = creative
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**Guidelines:**
|
|
128
|
-
- `0 - 0.3`: Factual, consistent responses
|
|
129
|
-
- `0.4 - 0.7`: Balanced (good default)
|
|
130
|
-
- `0.8 - 1.2`: Creative, varied responses
|
|
131
|
-
- `> 1.2`: Very creative (may be inconsistent)
|
|
132
|
-
|
|
133
|
-
## Provider Options
|
|
134
|
-
|
|
135
|
-
Enable provider-specific features like Anthropic's built-in tools and skills:
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
agent:
|
|
139
|
-
model: anthropic/claude-sonnet-4-5
|
|
140
|
-
anthropic:
|
|
141
|
-
tools:
|
|
142
|
-
web-search:
|
|
143
|
-
display: description
|
|
144
|
-
description: Searching the web
|
|
145
|
-
skills:
|
|
146
|
-
pdf:
|
|
147
|
-
type: anthropic
|
|
148
|
-
description: Processing PDF
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Provider options are validated against the model—using `anthropic:` with a non-Anthropic model will fail validation.
|
|
152
|
-
|
|
153
|
-
See [Provider Options](/docs/protocol/provider-options) for full documentation.
|
|
154
|
-
|
|
155
|
-
## Thread-Specific Config
|
|
156
|
-
|
|
157
|
-
Override config for named threads:
|
|
158
|
-
|
|
159
|
-
```yaml
|
|
160
|
-
handlers:
|
|
161
|
-
request-human:
|
|
162
|
-
Start summary thread:
|
|
163
|
-
type: start-thread
|
|
164
|
-
thread: summary
|
|
165
|
-
model: anthropic/claude-sonnet-4-5 # Different model
|
|
166
|
-
thinking: low # Different thinking
|
|
167
|
-
maxSteps: 1 # Limit tool calls
|
|
168
|
-
system: escalation-summary # Different prompt
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## Full Example
|
|
172
|
-
|
|
173
|
-
```yaml
|
|
174
|
-
input:
|
|
175
|
-
COMPANY_NAME: { type: string }
|
|
176
|
-
PRODUCT_NAME: { type: string }
|
|
177
|
-
USER_ID: { type: string, optional: true }
|
|
178
|
-
|
|
179
|
-
resources:
|
|
180
|
-
CONVERSATION_SUMMARY:
|
|
181
|
-
type: string
|
|
182
|
-
default: ""
|
|
183
|
-
|
|
184
|
-
tools:
|
|
185
|
-
get-user-account:
|
|
186
|
-
description: Look up user account
|
|
187
|
-
parameters:
|
|
188
|
-
userId: { type: string }
|
|
189
|
-
|
|
190
|
-
search-docs:
|
|
191
|
-
description: Search help documentation
|
|
192
|
-
parameters:
|
|
193
|
-
query: { type: string }
|
|
194
|
-
|
|
195
|
-
create-support-ticket:
|
|
196
|
-
description: Create a support ticket
|
|
197
|
-
parameters:
|
|
198
|
-
summary: { type: string }
|
|
199
|
-
priority: { type: string } # low, medium, high
|
|
200
|
-
|
|
201
|
-
agent:
|
|
202
|
-
model: anthropic/claude-sonnet-4-5
|
|
203
|
-
system: system
|
|
204
|
-
input:
|
|
205
|
-
- COMPANY_NAME
|
|
206
|
-
- PRODUCT_NAME
|
|
207
|
-
tools:
|
|
208
|
-
- get-user-account
|
|
209
|
-
- search-docs
|
|
210
|
-
- create-support-ticket
|
|
211
|
-
agentic: true
|
|
212
|
-
maxSteps: 10
|
|
213
|
-
thinking: medium
|
|
214
|
-
# Anthropic-specific options
|
|
215
|
-
anthropic:
|
|
216
|
-
tools:
|
|
217
|
-
web-search:
|
|
218
|
-
display: description
|
|
219
|
-
description: Searching the web
|
|
220
|
-
skills:
|
|
221
|
-
pdf:
|
|
222
|
-
type: anthropic
|
|
223
|
-
description: Processing PDF
|
|
224
|
-
|
|
225
|
-
triggers:
|
|
226
|
-
user-message:
|
|
227
|
-
input:
|
|
228
|
-
USER_MESSAGE: { type: string }
|
|
229
|
-
|
|
230
|
-
handlers:
|
|
231
|
-
user-message:
|
|
232
|
-
Add message:
|
|
233
|
-
type: add-message
|
|
234
|
-
role: user
|
|
235
|
-
prompt: user-message
|
|
236
|
-
input: [USER_MESSAGE]
|
|
237
|
-
display: hidden
|
|
238
|
-
|
|
239
|
-
Respond:
|
|
240
|
-
type: next-message
|
|
241
|
-
```
|
|
242
|
-
|