@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.0-beta.99",
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.0-beta.99",
54
- "@robota-sdk/agent-tools": "3.0.0-beta.99"
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';