@robota-sdk/agent-tool-defaults 3.0.0-beta.99 → 3.0.2
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,243 @@
|
|
|
1
1
|
# @robota-sdk/agent-tool-defaults
|
|
2
2
|
|
|
3
|
+
## 3.0.2
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- @robota-sdk/agent-core@3.0.2
|
|
7
|
+
- @robota-sdk/agent-tools@3.0.2
|
|
8
|
+
|
|
9
|
+
## 3.0.1
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- @robota-sdk/agent-core@3.0.1
|
|
13
|
+
- @robota-sdk/agent-tools@3.0.1
|
|
14
|
+
|
|
15
|
+
## 3.0.0
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- 267af5f: The execution containment seam states where tools run.
|
|
19
|
+
|
|
20
|
+
- **`ISandboxClient.filesystem`** (`'shared' | 'separate'`, absent means `separate`).
|
|
21
|
+
- With a **separate** filesystem (E2B, in-memory), every file tool goes through the sandbox, and
|
|
22
|
+
`Glob`/`Grep`, which can only read the host, are withheld. Previously a remote sandbox still
|
|
23
|
+
offered host-reading search tools beside sandbox-writing edit tools.
|
|
24
|
+
- With a **shared** filesystem (OS-level confinement over the host's files), file tools stay on
|
|
25
|
+
the host under the path guard, and only commands go through the sandbox.
|
|
26
|
+
- **`describeExecutionContainment` / `routesFilesThroughSandbox`** name the containment (`host`,
|
|
27
|
+
`sandbox-shared`, `sandbox-separate`) instead of inferring it from an absent value.
|
|
28
|
+
- **`robota doctor` reports `execution.containment`.** the agent runtime composes no sandbox today, so the
|
|
29
|
+
doctor says shell commands run unconfined on the host and the permission rules are the only
|
|
30
|
+
boundary. The CLI composition and the doctor read the same value.
|
|
31
|
+
- **The `Agent` and `BackgroundProcess` tools no longer fall back to `process.cwd()`** when they
|
|
32
|
+
were built without an execution root. They report an assembly error instead, as the file tools
|
|
33
|
+
already did (ARCH-010).
|
|
34
|
+
- e5a4254: **An editor that offers its file system carries the file tools' reads and writes.**
|
|
35
|
+
|
|
36
|
+
`Read`, `Write` and `Edit` take an optional `editorFiles` port (`IEditorFileAccess`), asked at each
|
|
37
|
+
call. On the host, after the tool's containment check (the permission gate has already decided),
|
|
38
|
+
`Read` returns the editor's text, unsaved changes included, and `Write` hands the content to the
|
|
39
|
+
editor; `Edit` reads where `Read` reads and writes where `Write` writes. The editor's text keeps
|
|
40
|
+
`Read`'s byte budget, binary refusal, formatting and cancellation, and an editor failure becomes the
|
|
41
|
+
tool's error result. `Glob` and `Grep` still search the disk and end their result with a note saying
|
|
42
|
+
so while an editor is attached. A sandbox with its own filesystem still carries every file tool, and
|
|
43
|
+
commands never use the editor. `createDefaultTools` and `createCodingPack` pass `editorFiles` through
|
|
44
|
+
to those tools only.
|
|
45
|
+
|
|
46
|
+
The ACP agent transport records the editor's `clientCapabilities.fs` and, once `session/new` binds the
|
|
47
|
+
session, hands the host an access through the new `onEditorFileAccess` option that sends
|
|
48
|
+
`fs/read_text_file` and `fs/write_text_file` for that session, for what the editor offered; stopping
|
|
49
|
+
the transport withdraws it. `robota acp` connects the two, so Read, Write and Edit go through the
|
|
50
|
+
editor in an editor that offers `fs`; `terminal/*` is not used.
|
|
51
|
+
- 7b85767: ARCH-035 — the default tool set becomes a composition leaf.
|
|
52
|
+
|
|
53
|
+
**New package: `@robota-sdk/agent-tool-defaults`.** It owns `createDefaultTools` and
|
|
54
|
+
`ICreateDefaultToolsOptions`, including the adapter gating that adds `CodebaseRetrieval` when a
|
|
55
|
+
`retrievalAdapter` is supplied and the Computer tools when a `computerDriver` is.
|
|
56
|
+
|
|
57
|
+
**Breaking for `@robota-sdk/agent-framework`:** `createDefaultTools` and `ICreateDefaultToolsOptions`
|
|
58
|
+
are no longer exported from it. Import them from `@robota-sdk/agent-tool-defaults`. The packages are
|
|
59
|
+
pre-release and this repo keeps no compatibility shims, so they are moved rather than deprecated.
|
|
60
|
+
|
|
61
|
+
**Also breaking:** the internal `createSession` assembly factory is now `async`. This does NOT affect
|
|
62
|
+
`IAgentRuntime.createSession`, which stays synchronous — it does not call that factory, and a
|
|
63
|
+
verification scenario now asserts that explicitly, because propagating async through it would break
|
|
64
|
+
every consumer that builds a session without supplying `defaultTools`.
|
|
65
|
+
|
|
66
|
+
**Zero-config behaviour is unchanged**, deliberately. `createQuery` and the headless runtime have no
|
|
67
|
+
`defaultTools` seam, so a session built without one still receives the built-in tool tier —
|
|
68
|
+
`agent-framework` reaches the new leaf through a dynamic `import()`. An earlier revision of this work
|
|
69
|
+
proposed deleting the tier outright and was rejected on measurement: two published surfaces cannot
|
|
70
|
+
express the alternative, and the failure mode was a silently toolless agent behind a green typecheck.
|
|
71
|
+
|
|
72
|
+
**Why the move matters.** `agent-subagent-runner` legitimately depends on `agent-framework`, so while
|
|
73
|
+
the aggregator sat on that barrel a neutral runner could compose the product's tool surface with only
|
|
74
|
+
a scan in the way. It has no manifest edge to the new leaf, so that import does not resolve there at
|
|
75
|
+
all — the guarantee is carried by the type system now, mirroring what `@robota-sdk/agent-provider-defaults`
|
|
76
|
+
already does on the provider axis.
|
|
77
|
+
|
|
78
|
+
`@robota-sdk/pack-coding` is a patch: it consumes the leaf instead of rebuilding the same list by
|
|
79
|
+
hand. Its contributed tool surface is unchanged — verified from the published tarballs.
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- 57280bf: Every published package now declares `"engines": { "node": ">=22.12.0" }`. Before, 27 of the 38
|
|
84
|
+
packages declared no floor (`agent-core`, `agent-tools` and every provider among them),
|
|
85
|
+
`agent-session` and `agent-file-authority` declared `>=20.19.0`, and the other nine declared
|
|
86
|
+
`>=22.0.0`, so a consumer on Node 20 saw at most a warning from a transitive dependency.
|
|
87
|
+
|
|
88
|
+
Why 22.12: `agent-cli` and `agent-ui-terminal` need Node 22 through `ink` 7, and the CommonJS entries
|
|
89
|
+
of `agent-tools` and its dependents, `agent-transport`/`node` and its dependents, and
|
|
90
|
+
`agent-ui-terminal` `require()` ESM-only dependencies (`p-limit`, `jose`, `chalk`), which Node 22
|
|
91
|
+
supports unflagged only from 22.12. `engines` is advisory unless the consumer enables `engine-strict`.
|
|
92
|
+
|
|
93
|
+
No code changes: `tsdown` now reads `node22.12.0` as its build target from the field.
|
|
94
|
+
- 18c0d5c: Every published package now exports `./package.json`, so `require('<package>/package.json')` and
|
|
95
|
+
`import('<package>/package.json', { with: { type: 'json' } })` work instead of failing with
|
|
96
|
+
`ERR_PACKAGE_PATH_NOT_EXPORTED`, and each tarball now ships the package's `CHANGELOG.md`.
|
|
97
|
+
- c7f213c: `createDefaultTools` returned the same `WebFetch`/`WebSearch` tool instances on every call — the
|
|
98
|
+
two module-level singletons `@robota-sdk/agent-tools` exports — unlike every other tool in the set,
|
|
99
|
+
which was already built fresh per call. Two sessions built from separate `createDefaultTools({cwd})`
|
|
100
|
+
calls that were open at the same time shared those two tools without meaning to, which a resource
|
|
101
|
+
guard keyed by object identity (as `@robota-sdk/agent-roundtable-robota`'s does) rejected as reused
|
|
102
|
+
even though nothing about either tool needs to be shared across sessions. `WebFetch`/`WebSearch` are
|
|
103
|
+
now built per call, the same way `Glob`/`Grep` already were.
|
|
104
|
+
- 2c612ba: Release the migrated Robota product with its public SDK namespace, robota command, compatible SDK exports, internal product configuration, and verified CLI startup and delivery corrections.
|
|
105
|
+
- 4f3c075: Assemble complete, verified package generations before switching build output; preserve the previous generation on build failure and pack only verified regular-file images. Include copied CLI web assets in affected-build ordering and artifact transfer. Preserve the CLI version in managed build paths. Public runtime contracts remain compatible (patch).
|
|
106
|
+
- Updated dependencies [7b6234c]
|
|
107
|
+
- Updated dependencies [4eea54b]
|
|
108
|
+
- Updated dependencies [2345c0b]
|
|
109
|
+
- Updated dependencies [118fe0e]
|
|
110
|
+
- Updated dependencies [240777e]
|
|
111
|
+
- Updated dependencies [718bdf5]
|
|
112
|
+
- Updated dependencies [1698be4]
|
|
113
|
+
- Updated dependencies [d4189b9]
|
|
114
|
+
- Updated dependencies [9edae52]
|
|
115
|
+
- Updated dependencies [4078a72]
|
|
116
|
+
- Updated dependencies [4c73a0b]
|
|
117
|
+
- Updated dependencies [267af5f]
|
|
118
|
+
- Updated dependencies [196a900]
|
|
119
|
+
- Updated dependencies [f336838]
|
|
120
|
+
- Updated dependencies [34e50f0]
|
|
121
|
+
- Updated dependencies [722e88a]
|
|
122
|
+
- Updated dependencies [d23c848]
|
|
123
|
+
- Updated dependencies [3038eb7]
|
|
124
|
+
- Updated dependencies [02b7452]
|
|
125
|
+
- Updated dependencies [e689c8e]
|
|
126
|
+
- Updated dependencies [ec5e477]
|
|
127
|
+
- Updated dependencies [c7f9203]
|
|
128
|
+
- Updated dependencies [be0e53c]
|
|
129
|
+
- Updated dependencies [8bd5fac]
|
|
130
|
+
- Updated dependencies [57280bf]
|
|
131
|
+
- Updated dependencies [5033dd9]
|
|
132
|
+
- Updated dependencies [18c0d5c]
|
|
133
|
+
- Updated dependencies [dbd888d]
|
|
134
|
+
- Updated dependencies [1887e54]
|
|
135
|
+
- Updated dependencies [0368058]
|
|
136
|
+
- Updated dependencies [9f46375]
|
|
137
|
+
- Updated dependencies [41cca13]
|
|
138
|
+
- Updated dependencies [ada3841]
|
|
139
|
+
- Updated dependencies [5093a30]
|
|
140
|
+
- Updated dependencies [94b2c87]
|
|
141
|
+
- Updated dependencies [3ab2eca]
|
|
142
|
+
- Updated dependencies [2c612ba]
|
|
143
|
+
- Updated dependencies [66af868]
|
|
144
|
+
- Updated dependencies [d994f60]
|
|
145
|
+
- Updated dependencies [7116367]
|
|
146
|
+
- Updated dependencies [8fdd44c]
|
|
147
|
+
- Updated dependencies [e5a4254]
|
|
148
|
+
- Updated dependencies [04a6de4]
|
|
149
|
+
- Updated dependencies [0ba247b]
|
|
150
|
+
- Updated dependencies [6f41c53]
|
|
151
|
+
- Updated dependencies [807d161]
|
|
152
|
+
- Updated dependencies [fec722f]
|
|
153
|
+
- Updated dependencies [2d3b2c0]
|
|
154
|
+
- Updated dependencies [4772067]
|
|
155
|
+
- Updated dependencies [9fbab1b]
|
|
156
|
+
- Updated dependencies [a009f5b]
|
|
157
|
+
- Updated dependencies [c207a31]
|
|
158
|
+
- Updated dependencies [9b4f63b]
|
|
159
|
+
- Updated dependencies [61db70f]
|
|
160
|
+
- Updated dependencies [43df9c0]
|
|
161
|
+
- Updated dependencies [db80aba]
|
|
162
|
+
- Updated dependencies [4f3c075]
|
|
163
|
+
- Updated dependencies [475e085]
|
|
164
|
+
- Updated dependencies [e477440]
|
|
165
|
+
- Updated dependencies [9dcb5da]
|
|
166
|
+
- Updated dependencies [a95ca85]
|
|
167
|
+
- Updated dependencies [b6d14ce]
|
|
168
|
+
- Updated dependencies [0382a51]
|
|
169
|
+
- Updated dependencies [93d061d]
|
|
170
|
+
- Updated dependencies [39554a1]
|
|
171
|
+
- Updated dependencies [d28430a]
|
|
172
|
+
- Updated dependencies [bad976f]
|
|
173
|
+
- Updated dependencies [7d9cc66]
|
|
174
|
+
- Updated dependencies [7d9cc66]
|
|
175
|
+
- Updated dependencies [7d9cc66]
|
|
176
|
+
- Updated dependencies [df02568]
|
|
177
|
+
- Updated dependencies [07b627f]
|
|
178
|
+
- Updated dependencies [d0de5b2]
|
|
179
|
+
- Updated dependencies [9c6a8db]
|
|
180
|
+
- Updated dependencies [dfb9b15]
|
|
181
|
+
- Updated dependencies [9c6a8db]
|
|
182
|
+
- Updated dependencies [7d9cc66]
|
|
183
|
+
- Updated dependencies [7d9cc66]
|
|
184
|
+
- Updated dependencies [833afe1]
|
|
185
|
+
- Updated dependencies [d6b9404]
|
|
186
|
+
- Updated dependencies [5783499]
|
|
187
|
+
- Updated dependencies [62663ae]
|
|
188
|
+
- Updated dependencies [23a30cd]
|
|
189
|
+
- Updated dependencies [7d9cc66]
|
|
190
|
+
- Updated dependencies [9814afc]
|
|
191
|
+
- Updated dependencies [7d9cc66]
|
|
192
|
+
- Updated dependencies [02053ec]
|
|
193
|
+
- @robota-sdk/agent-core@3.0.0
|
|
194
|
+
- @robota-sdk/agent-tools@3.0.0
|
|
195
|
+
|
|
196
|
+
## 3.0.0-beta.106
|
|
197
|
+
### Patch Changes
|
|
198
|
+
|
|
199
|
+
- @robota-sdk/agent-core@3.0.0-beta.106
|
|
200
|
+
- @robota-sdk/agent-tools@3.0.0-beta.106
|
|
201
|
+
|
|
202
|
+
## 3.0.0-beta.105
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- @robota-sdk/agent-core@3.0.0-beta.105
|
|
206
|
+
- @robota-sdk/agent-tools@3.0.0-beta.105
|
|
207
|
+
|
|
208
|
+
## 3.0.0-beta.104
|
|
209
|
+
### Patch Changes
|
|
210
|
+
|
|
211
|
+
- @robota-sdk/agent-core@3.0.0-beta.104
|
|
212
|
+
- @robota-sdk/agent-tools@3.0.0-beta.104
|
|
213
|
+
|
|
214
|
+
## 3.0.0-beta.103
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- Updated dependencies [6f41c53]
|
|
218
|
+
- @robota-sdk/agent-core@3.0.0-beta.103
|
|
219
|
+
- @robota-sdk/agent-tools@3.0.0-beta.103
|
|
220
|
+
|
|
221
|
+
## 3.0.0-beta.102
|
|
222
|
+
### Patch Changes
|
|
223
|
+
|
|
224
|
+
- @robota-sdk/agent-core@3.0.0-beta.102
|
|
225
|
+
- @robota-sdk/agent-tools@3.0.0-beta.102
|
|
226
|
+
|
|
227
|
+
## 3.0.0-beta.101
|
|
228
|
+
### Patch Changes
|
|
229
|
+
|
|
230
|
+
- Updated dependencies [5783499]
|
|
231
|
+
- Updated dependencies [62663ae]
|
|
232
|
+
- @robota-sdk/agent-tools@3.0.0-beta.101
|
|
233
|
+
- @robota-sdk/agent-core@3.0.0-beta.101
|
|
234
|
+
|
|
235
|
+
## 3.0.0-beta.100
|
|
236
|
+
### Patch Changes
|
|
237
|
+
|
|
238
|
+
- @robota-sdk/agent-core@3.0.0-beta.100
|
|
239
|
+
- @robota-sdk/agent-tools@3.0.0-beta.100
|
|
240
|
+
|
|
3
241
|
## 3.0.0-beta.99
|
|
4
242
|
### Patch Changes
|
|
5
243
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robota-sdk/agent-tool-defaults",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "The SDK's built-in default tool set (createDefaultTools) as a composition leaf over agent-tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
},
|
|
51
51
|
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@robota-sdk/agent-core": "3.0.
|
|
54
|
-
"@robota-sdk/agent-tools": "3.0.
|
|
53
|
+
"@robota-sdk/agent-core": "3.0.2",
|
|
54
|
+
"@robota-sdk/agent-tools": "3.0.2"
|
|
55
55
|
},
|
|
56
56
|
"volta": {
|
|
57
57
|
"extends": "../../package.json"
|
|
@@ -217,6 +217,7 @@ describe('an editor reaches the host file tools only', () => {
|
|
|
217
217
|
const asked: string[] = [];
|
|
218
218
|
const requests: string[] = [];
|
|
219
219
|
const access = {
|
|
220
|
+
pathAuthority: 'stable-root' as const,
|
|
220
221
|
readTextFile: async (path: string) => {
|
|
221
222
|
requests.push(`read ${path}`);
|
|
222
223
|
return 'EDITOR TEXT\n';
|