@robota-sdk/agent-tool-defaults 3.0.0-beta.97 → 3.0.1

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