@octavus/docs 0.0.8 → 0.0.9

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.
@@ -138,4 +138,5 @@ Variables are replaced with their values at runtime. If a variable is not provid
138
138
  - [Tools](/docs/protocol/tools) — External capabilities
139
139
  - [Handlers](/docs/protocol/handlers) — Execution blocks
140
140
  - [Agent Config](/docs/protocol/agent-config) — Model and settings
141
+ - [Provider Options](/docs/protocol/provider-options) — Provider-specific features
141
142
 
@@ -1,13 +1,22 @@
1
1
  ---
2
2
  title: Tools
3
- description: Defining external tools agents can use.
3
+ description: Defining external tools implemented in your backend.
4
4
  ---
5
5
 
6
6
  # Tools
7
7
 
8
- Tools extend what agents can do. They're defined in the protocol and implemented in your backend.
8
+ Tools extend what agents can do. Octavus supports two types:
9
9
 
10
- ## Tool Definition
10
+ 1. **External Tools** — Defined in the protocol, implemented in your backend
11
+ 2. **Provider Tools** — Built-in tools executed server-side by the provider (e.g., Anthropic's web search)
12
+
13
+ This page covers external tools. For provider tools, see [Provider Options](/docs/protocol/provider-options).
14
+
15
+ ## External Tools
16
+
17
+ External tools are defined in the `tools:` section and implemented in your backend.
18
+
19
+ ## Defining Tools
11
20
 
12
21
  ```yaml
13
22
  tools:
@@ -28,6 +28,7 @@ agent:
28
28
  | `maxSteps` | No | Maximum agentic steps (default: 10) |
29
29
  | `temperature` | No | Model temperature (0-2) |
30
30
  | `thinking` | No | Extended reasoning level |
31
+ | `anthropic` | No | Anthropic-specific options (tools, skills) |
31
32
 
32
33
  ## Models
33
34
 
@@ -129,6 +130,28 @@ agent:
129
130
  - `0.8 - 1.2`: Creative, varied responses
130
131
  - `> 1.2`: Very creative (may be inconsistent)
131
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
+
132
155
  ## Thread-Specific Config
133
156
 
134
157
  Override config for named threads:
@@ -163,12 +186,12 @@ tools:
163
186
  description: Look up user account
164
187
  parameters:
165
188
  userId: { type: string }
166
-
189
+
167
190
  search-docs:
168
191
  description: Search help documentation
169
192
  parameters:
170
193
  query: { type: string }
171
-
194
+
172
195
  create-support-ticket:
173
196
  description: Create a support ticket
174
197
  parameters:
@@ -188,6 +211,16 @@ agent:
188
211
  agentic: true
189
212
  maxSteps: 10
190
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
191
224
 
192
225
  triggers:
193
226
  user-message:
@@ -202,7 +235,7 @@ handlers:
202
235
  prompt: user-message
203
236
  input: [USER_MESSAGE]
204
237
  display: hidden
205
-
238
+
206
239
  Respond:
207
240
  type: next-message
208
241
  ```
@@ -0,0 +1,275 @@
1
+ ---
2
+ title: Provider Options
3
+ description: Configuring provider-specific tools and features.
4
+ ---
5
+
6
+ # Provider Options
7
+
8
+ Provider options let you enable provider-specific features like Anthropic's built-in tools and skills. These features run server-side on the provider's infrastructure.
9
+
10
+ ## Anthropic Options
11
+
12
+ Configure Anthropic-specific features when using `anthropic/*` models:
13
+
14
+ ```yaml
15
+ agent:
16
+ model: anthropic/claude-sonnet-4-5
17
+ system: system
18
+ anthropic:
19
+ # Provider tools (server-side)
20
+ tools:
21
+ web-search:
22
+ display: description
23
+ description: Searching the web
24
+ code-execution:
25
+ display: description
26
+ description: Running code
27
+
28
+ # Skills (knowledge packages)
29
+ skills:
30
+ pdf:
31
+ type: anthropic
32
+ display: description
33
+ description: Processing PDF document
34
+ ```
35
+
36
+ > **Note**: Provider options are validated against the model provider. Using `anthropic:` options with non-Anthropic models will result in a validation error.
37
+
38
+ ## Provider Tools
39
+
40
+ Provider tools are executed server-side by the provider (Anthropic). Unlike external tools that you implement, provider tools are built-in capabilities.
41
+
42
+ ### Available Tools
43
+
44
+ | Tool | Description |
45
+ |------|-------------|
46
+ | `web-search` | Search the web for current information |
47
+ | `code-execution` | Execute Python/Bash in a sandboxed container |
48
+
49
+ ### Tool Configuration
50
+
51
+ ```yaml
52
+ anthropic:
53
+ tools:
54
+ web-search:
55
+ display: description # How to show in UI
56
+ description: Searching... # Custom display text
57
+ ```
58
+
59
+ | Field | Required | Description |
60
+ |-------|----------|-------------|
61
+ | `display` | No | `hidden`, `name`, `description`, or `stream` (default: `description`) |
62
+ | `description` | No | Custom text shown to users during execution |
63
+
64
+ ### Web Search
65
+
66
+ Allows the agent to search the web for current information:
67
+
68
+ ```yaml
69
+ agent:
70
+ model: anthropic/claude-sonnet-4-5
71
+ anthropic:
72
+ tools:
73
+ web-search:
74
+ display: description
75
+ description: Looking up current information
76
+ ```
77
+
78
+ Use cases:
79
+ - Current events and news
80
+ - Real-time data (prices, weather)
81
+ - Fact verification
82
+ - Documentation lookups
83
+
84
+ ### Code Execution
85
+
86
+ Enables Python and Bash execution in a sandboxed container:
87
+
88
+ ```yaml
89
+ agent:
90
+ model: anthropic/claude-sonnet-4-5
91
+ anthropic:
92
+ tools:
93
+ code-execution:
94
+ display: description
95
+ description: Running analysis
96
+ ```
97
+
98
+ Use cases:
99
+ - Data analysis and calculations
100
+ - File processing
101
+ - Chart generation
102
+ - Script execution
103
+
104
+ > **Note**: Code execution is automatically enabled when skills are configured (skills require the container environment).
105
+
106
+ ## Skills
107
+
108
+ Skills are knowledge packages that give the agent specialized capabilities. They're loaded into the code execution container at `/skills/{skill-id}/`.
109
+
110
+ ### Skill Configuration
111
+
112
+ ```yaml
113
+ anthropic:
114
+ skills:
115
+ pdf:
116
+ type: anthropic # 'anthropic' or 'custom'
117
+ version: latest # Optional version
118
+ display: description
119
+ description: Processing PDF
120
+ ```
121
+
122
+ | Field | Required | Description |
123
+ |-------|----------|-------------|
124
+ | `type` | Yes | `anthropic` (built-in) or `custom` (uploaded) |
125
+ | `version` | No | Skill version (default: `latest`) |
126
+ | `display` | No | `hidden`, `name`, `description`, or `stream` (default: `description`) |
127
+ | `description` | No | Custom text shown to users |
128
+
129
+ ### Built-in Skills
130
+
131
+ Anthropic provides several built-in skills:
132
+
133
+ | Skill ID | Purpose |
134
+ |----------|---------|
135
+ | `pdf` | PDF manipulation, text extraction, form filling |
136
+ | `xlsx` | Excel spreadsheet operations and analysis |
137
+ | `docx` | Word document creation and editing |
138
+ | `pptx` | PowerPoint presentation creation |
139
+
140
+ ### Using Skills
141
+
142
+ ```yaml
143
+ agent:
144
+ model: anthropic/claude-sonnet-4-5
145
+ system: system
146
+ anthropic:
147
+ skills:
148
+ pdf:
149
+ type: anthropic
150
+ description: Processing your PDF
151
+ xlsx:
152
+ type: anthropic
153
+ description: Analyzing spreadsheet
154
+ ```
155
+
156
+ When skills are configured:
157
+ 1. Code execution is automatically enabled
158
+ 2. Skill files are loaded into the container
159
+ 3. The agent can read skill instructions and execute scripts
160
+
161
+ ### Custom Skills
162
+
163
+ You can create and upload custom skills to Anthropic:
164
+
165
+ ```yaml
166
+ anthropic:
167
+ skills:
168
+ my-custom-skill:
169
+ type: custom
170
+ version: latest
171
+ description: Running custom analysis
172
+ ```
173
+
174
+ Custom skills follow the [Agent Skills standard](https://agentskills.io) and contain:
175
+ - `SKILL.md` with instructions and metadata
176
+ - Optional `scripts/`, `references/`, and `assets/` directories
177
+
178
+ ## Display Modes
179
+
180
+ Both tools and skills support display modes:
181
+
182
+ | Mode | Behavior |
183
+ |------|----------|
184
+ | `hidden` | Not shown to users |
185
+ | `name` | Shows the tool/skill name |
186
+ | `description` | Shows the description (default) |
187
+ | `stream` | Streams progress if available |
188
+
189
+ ## Full Example
190
+
191
+ ```yaml
192
+ input:
193
+ COMPANY_NAME: { type: string }
194
+ USER_ID: { type: string, optional: true }
195
+
196
+ tools:
197
+ get-user-account:
198
+ description: Looking up your account
199
+ parameters:
200
+ userId: { type: string }
201
+
202
+ agent:
203
+ model: anthropic/claude-sonnet-4-5
204
+ system: system
205
+ input: [COMPANY_NAME, USER_ID]
206
+ tools: [get-user-account] # External tools
207
+ agentic: true
208
+ thinking: medium
209
+
210
+ # Anthropic-specific options
211
+ anthropic:
212
+ # Provider tools (server-side)
213
+ tools:
214
+ web-search:
215
+ display: description
216
+ description: Searching the web
217
+ code-execution:
218
+ display: description
219
+ description: Running code
220
+
221
+ # Skills (knowledge packages)
222
+ skills:
223
+ pdf:
224
+ type: anthropic
225
+ display: description
226
+ description: Processing PDF document
227
+ xlsx:
228
+ type: anthropic
229
+ display: description
230
+ description: Analyzing spreadsheet
231
+
232
+ triggers:
233
+ user-message:
234
+ input:
235
+ USER_MESSAGE: { type: string }
236
+
237
+ handlers:
238
+ user-message:
239
+ Add message:
240
+ type: add-message
241
+ role: user
242
+ prompt: user-message
243
+ input: [USER_MESSAGE]
244
+ display: hidden
245
+
246
+ Respond:
247
+ type: next-message
248
+ ```
249
+
250
+ ## Validation
251
+
252
+ The protocol validator enforces:
253
+
254
+ 1. **Model match**: Provider options must match the model provider
255
+ - `anthropic:` options require `anthropic/*` model
256
+ - Using mismatched options results in a validation error
257
+
258
+ 2. **Valid tool types**: Only recognized tools are accepted
259
+ - `web-search` and `code-execution` for Anthropic
260
+
261
+ 3. **Valid skill types**: Only `anthropic` or `custom` are accepted
262
+
263
+ ### Error Example
264
+
265
+ ```yaml
266
+ # This will fail validation
267
+ agent:
268
+ model: openai/gpt-4o # OpenAI model
269
+ anthropic: # Anthropic options - mismatch!
270
+ tools:
271
+ web-search: {}
272
+ ```
273
+
274
+ Error: `"anthropic" options require an anthropic model. Current model provider: "openai"`
275
+