@robota-sdk/pack-coding 3.0.0-beta.82 → 3.0.0-beta.84

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +254 -0
  2. package/README.md +28 -15
  3. package/package.json +16 -10
package/CHANGELOG.md ADDED
@@ -0,0 +1,254 @@
1
+ # @robota-sdk/pack-coding
2
+
3
+ ## 3.0.0-beta.84
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [c7f213c]
8
+ - Updated dependencies [e8d70ac]
9
+ - Updated dependencies [9c6a8db]
10
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.84
11
+ - @robota-sdk/agent-framework@3.0.0-beta.84
12
+ - @robota-sdk/agent-command@3.0.0-beta.84
13
+ - @robota-sdk/agent-tools@3.0.0-beta.84
14
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.84
15
+
16
+ ## 3.0.0-beta.83
17
+
18
+ ### Patch Changes
19
+
20
+ - 57280bf: Every published package now declares `"engines": { "node": ">=22.12.0" }`. Before, 27 of the 38
21
+ packages declared no floor (`agent-core`, `agent-tools` and every provider among them),
22
+ `agent-session` and `agent-file-authority` declared `>=20.19.0`, and the other nine declared
23
+ `>=22.0.0`, so a consumer on Node 20 saw at most a warning from a transitive dependency.
24
+
25
+ Why 22.12: `agent-cli` and `agent-ui-terminal` need Node 22 through `ink` 7, and the CommonJS entries
26
+ of `agent-tools` and its dependents, `agent-transport`/`node` and its dependents, and
27
+ `agent-ui-terminal` `require()` ESM-only dependencies (`p-limit`, `jose`, `chalk`), which Node 22
28
+ supports unflagged only from 22.12. `engines` is advisory unless the consumer enables `engine-strict`.
29
+
30
+ No code changes: `tsdown` now reads `node22.12.0` as its build target from the field.
31
+
32
+ - 18c0d5c: Every published package now exports `./package.json`, so `require('<package>/package.json')` and
33
+ `import('<package>/package.json', { with: { type: 'json' } })` work instead of failing with
34
+ `ERR_PACKAGE_PATH_NOT_EXPORTED`, and each tarball now ships the package's `CHANGELOG.md`.
35
+ - Updated dependencies [3c81769]
36
+ - Updated dependencies [724fabb]
37
+ - Updated dependencies [997f2fb]
38
+ - Updated dependencies [bfe8ed5]
39
+ - Updated dependencies [e689c8e]
40
+ - Updated dependencies [4241fc5]
41
+ - Updated dependencies [28fa8a7]
42
+ - Updated dependencies [4f49d14]
43
+ - Updated dependencies [7b72344]
44
+ - Updated dependencies [6ae3f28]
45
+ - Updated dependencies [9721162]
46
+ - Updated dependencies [57f57f5]
47
+ - Updated dependencies [ba822c1]
48
+ - Updated dependencies [9721162]
49
+ - Updated dependencies [6e6b06b]
50
+ - Updated dependencies [7d77ce4]
51
+ - Updated dependencies [57280bf]
52
+ - Updated dependencies [18c0d5c]
53
+ - Updated dependencies [caaab20]
54
+ - Updated dependencies [f01868f]
55
+ - Updated dependencies [e8779c9]
56
+ - Updated dependencies [0368058]
57
+ - Updated dependencies [5a0ee96]
58
+ - @robota-sdk/agent-framework@3.0.0-beta.83
59
+ - @robota-sdk/agent-command@3.0.0-beta.83
60
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.83
61
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.83
62
+ - @robota-sdk/agent-tools@3.0.0-beta.83
63
+
64
+ ## 3.0.0-beta.82
65
+
66
+ ### Patch Changes
67
+
68
+ - Updated dependencies [e15e22b]
69
+ - Updated dependencies [c7f9203]
70
+ - Updated dependencies [004fe7f]
71
+ - @robota-sdk/agent-command@3.0.0-beta.82
72
+ - @robota-sdk/agent-framework@3.0.0-beta.82
73
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.82
74
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.82
75
+ - @robota-sdk/agent-tools@3.0.0-beta.82
76
+
77
+ ## 3.0.0-beta.81
78
+
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [3038eb7]
82
+ - Updated dependencies [02b7452]
83
+ - Updated dependencies [ec5e477]
84
+ - Updated dependencies [44fc732]
85
+ - Updated dependencies [007fd90]
86
+ - Updated dependencies [18b52cc]
87
+ - Updated dependencies [9843fe6]
88
+ - @robota-sdk/agent-tools@3.0.0-beta.81
89
+ - @robota-sdk/agent-framework@3.0.0-beta.81
90
+ - @robota-sdk/agent-command@3.0.0-beta.81
91
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.81
92
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.81
93
+
94
+ ## 3.0.0-beta.80
95
+
96
+ ### Major Changes
97
+
98
+ - 0116a29: ARCH-006 completion — robota's capability packs now OWN its tool surface, and `pack-coding` is built by a
99
+ context-bound factory.
100
+
101
+ - **`@robota-sdk/pack-coding` (BREAKING)** — the module-level `codingPack` constant is **removed** and
102
+ replaced by `createCodingPack({ cwd, sandboxClient })`, with `cwd` **required**. This is a safety change,
103
+ not a style one: `agent-tools` disarms its working-directory path guard when `cwd` is `undefined`, so a
104
+ pack whose file tools are built with no options contributes an **unsandboxed** `Read`/`Write`/`Edit`.
105
+ That was inert while `agent-framework` always supplied its own context-bound default tier, but ARCH-006
106
+ lets a product hand the whole tool surface to its packs (`defaultTools: []`) — and a context-free pack in
107
+ that position is a real hole. Keeping a zero-option export beside that seam would be a loaded gun, so it
108
+ is gone rather than deprecated. Each call returns fresh instances bound to the supplied context, so two
109
+ products in one process get independently-scoped file tools. Migration: replace `codingPack` with
110
+ `createCodingPack({ cwd: process.cwd() })`.
111
+ - **`@robota-sdk/agent-cli`** — `robota`'s packs are built from the shell's resolved `cwd`
112
+ (`createRobotaPacks({ cwd })`) before command setup, and the runtime seam passes
113
+ `ROBOTA_PACKS_OWN_TOOL_SURFACE` (an empty `defaultTools`) so the framework's `createDefaultTools()` tier
114
+ is REPLACED. Every tool robota runs now arrives from a capability pack: dropping a pack drops its tools,
115
+ exactly as it already dropped its command modules and subagents.
116
+ - **`@robota-sdk/agent-transport` / `@robota-sdk/agent-transport-tui`** — forward the optional
117
+ `additionalTools` and `defaultTools` through the headless and TUI channels, mirroring the existing
118
+ `agentDefinitions` pass-through, so print, serve and TUI carry an identical tool surface.
119
+
120
+ End-user `robota` behavior is unchanged, including the security property: the real binary still answers a
121
+ read outside the working directory with `Access denied: "…" is outside the working directory`.
122
+
123
+ ### Minor Changes
124
+
125
+ - 378c585: ARCH-005 Stage S1 — the external product-composition layer. Three new published packages plus a minimal
126
+ `agent-preset` addition:
127
+
128
+ - **`@robota-sdk/agent-capability-pack`** (new) — the additive capability-bundle contract
129
+ (`ICapabilityPack`) and the pure `mergeCapabilityPacks` merger (base ⊕ packs in profile order, with a
130
+ `{ merged, rejected }` conflict channel — never a silent override). The additive analog of
131
+ `agent-preset`; contract + pure fold, no IO.
132
+ - **`@robota-sdk/agent-product`** (new) — the product-assembly kernel. `assembleProduct(profile)` is a pure,
133
+ deterministic, IO-free fold over `IProductProfile` with zero product-specific branching: it resolves
134
+ presets via a per-call instance-scoped registry, merges additive packs, and DELEGATES runtime
135
+ construction to `agent-framework`'s `buildRuntimeSession` seam (never re-implemented). Its neutrality is
136
+ enforced by three mechanical guards (dependency-graph neutrality, purity/no-IO, no product-name
137
+ conditionals), coupling the amended project-structure L129 carve-out to the guards.
138
+ - **`@robota-sdk/pack-coding`** (new) — robota's coding capability as one `ICapabilityPack` (the built-in
139
+ coding tools, the `/shell` + `/editor` command modules, and the coding subagents) — the additive-axis
140
+ proof and robota's first pack.
141
+ - **`@robota-sdk/agent-preset`** — adds `createPresetRegistry`, a per-call instance-scoped resolver that
142
+ never mutates the module-level external-preset global (consumed by `assembleProduct`).
143
+
144
+ `agent-framework` and `agent-core` are unchanged. The CLI is not yet wired to `assembleProduct` (that is
145
+ Stage S2).
146
+
147
+ ### Patch Changes
148
+
149
+ - 7b85767: ARCH-035 — the default tool set becomes a composition leaf.
150
+
151
+ **New package: `@robota-sdk/agent-tool-defaults`.** It owns `createDefaultTools` and
152
+ `ICreateDefaultToolsOptions`, including the adapter gating that adds `CodebaseRetrieval` when a
153
+ `retrievalAdapter` is supplied and the Computer tools when a `computerDriver` is.
154
+
155
+ **Breaking for `@robota-sdk/agent-framework`:** `createDefaultTools` and `ICreateDefaultToolsOptions`
156
+ are no longer exported from it. Import them from `@robota-sdk/agent-tool-defaults`. The packages are
157
+ pre-release and this repo keeps no compatibility shims, so they are moved rather than deprecated.
158
+
159
+ **Also breaking:** the internal `createSession` assembly factory is now `async`. This does NOT affect
160
+ `IAgentRuntime.createSession`, which stays synchronous — it does not call that factory, and a
161
+ verification scenario now asserts that explicitly, because propagating async through it would break
162
+ every consumer that builds a session without supplying `defaultTools`.
163
+
164
+ **Zero-config behaviour is unchanged**, deliberately. `createQuery` and the headless runtime have no
165
+ `defaultTools` seam, so a session built without one still receives the built-in tool tier —
166
+ `agent-framework` reaches the new leaf through a dynamic `import()`. An earlier revision of this work
167
+ proposed deleting the tier outright and was rejected on measurement: two published surfaces cannot
168
+ express the alternative, and the failure mode was a silently toolless agent behind a green typecheck.
169
+
170
+ **Why the move matters.** `agent-subagent-runner` legitimately depends on `agent-framework`, so while
171
+ the aggregator sat on that barrel a neutral runner could compose the product's tool surface with only
172
+ a scan in the way. It has no manifest edge to the new leaf, so that import does not resolve there at
173
+ all — the guarantee is carried by the type system now, mirroring what `@robota-sdk/agent-provider-defaults`
174
+ already does on the provider axis.
175
+
176
+ `@robota-sdk/pack-coding` is a patch: it consumes the leaf instead of rebuilding the same list by
177
+ hand. Its contributed tool surface is unchanged — verified from the published tarballs.
178
+
179
+ - 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).
180
+ - Updated dependencies [9c19c50]
181
+ - Updated dependencies [5307f8a]
182
+ - Updated dependencies [b462ee7]
183
+ - Updated dependencies [08a9bd6]
184
+ - Updated dependencies [818f0c8]
185
+ - Updated dependencies [2345c0b]
186
+ - Updated dependencies [118fe0e]
187
+ - Updated dependencies [240777e]
188
+ - Updated dependencies [718bdf5]
189
+ - Updated dependencies [9368d00]
190
+ - Updated dependencies [d4189b9]
191
+ - Updated dependencies [4078a72]
192
+ - Updated dependencies [af2f2ad]
193
+ - Updated dependencies [267af5f]
194
+ - Updated dependencies [f336838]
195
+ - Updated dependencies [34e50f0]
196
+ - Updated dependencies [722e88a]
197
+ - Updated dependencies [a5cc36e]
198
+ - Updated dependencies [b70fa3d]
199
+ - Updated dependencies [2711ec6]
200
+ - Updated dependencies [4dd45cc]
201
+ - Updated dependencies [378c585]
202
+ - Updated dependencies [4c5148e]
203
+ - Updated dependencies [37af5dc]
204
+ - Updated dependencies [807d161]
205
+ - Updated dependencies [e82215f]
206
+ - Updated dependencies [52b7346]
207
+ - Updated dependencies [2ebff01]
208
+ - Updated dependencies [2ebff01]
209
+ - Updated dependencies [2d3b2c0]
210
+ - Updated dependencies [b078afa]
211
+ - Updated dependencies [2d3b2c0]
212
+ - Updated dependencies [baa6863]
213
+ - Updated dependencies [2d3b2c0]
214
+ - Updated dependencies [3a8876b]
215
+ - Updated dependencies [4772067]
216
+ - Updated dependencies [7b85767]
217
+ - Updated dependencies [0f98419]
218
+ - Updated dependencies [64ba748]
219
+ - Updated dependencies [d312755]
220
+ - Updated dependencies [61db70f]
221
+ - Updated dependencies [db80aba]
222
+ - Updated dependencies [1e3f91a]
223
+ - Updated dependencies [4f3c075]
224
+ - Updated dependencies [b6d14ce]
225
+ - Updated dependencies [bed26ea]
226
+ - Updated dependencies [fe48835]
227
+ - Updated dependencies [1e40b5b]
228
+ - Updated dependencies [4b76cfa]
229
+ - Updated dependencies [d9bd9ec]
230
+ - Updated dependencies [8865acf]
231
+ - Updated dependencies [90e7a10]
232
+ - Updated dependencies [fcb0da3]
233
+ - Updated dependencies [07b627f]
234
+ - Updated dependencies [d0de5b2]
235
+ - Updated dependencies [9665c6e]
236
+ - Updated dependencies [44393be]
237
+ - Updated dependencies [c7fa299]
238
+ - Updated dependencies [5134b3b]
239
+ - Updated dependencies [dd444c1]
240
+ - Updated dependencies [1f57e7f]
241
+ - Updated dependencies [833afe1]
242
+ - Updated dependencies [d6b9404]
243
+ - Updated dependencies [7863b16]
244
+ - Updated dependencies [fde558e]
245
+ - Updated dependencies [db5c439]
246
+ - Updated dependencies [4a01a87]
247
+ - Updated dependencies [cbee54e]
248
+ - Updated dependencies [9814afc]
249
+ - Updated dependencies [242a644]
250
+ - @robota-sdk/agent-framework@3.0.0-beta.80
251
+ - @robota-sdk/agent-command@3.0.0-beta.80
252
+ - @robota-sdk/agent-tools@3.0.0-beta.80
253
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.80
254
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.80
package/README.md CHANGED
@@ -1,7 +1,17 @@
1
1
  # @robota-sdk/pack-coding
2
2
 
3
- Robota's **coding capability** as a single [`ICapabilityPack`](../agent-capability-pack) — the
4
- additive-axis proof for ARCH-005 and robota's first capability pack.
3
+ Robota's coding capability as a single
4
+ [`ICapabilityPack`](../agent-capability-pack/README.md): the built-in coding tools, the coding command
5
+ modules, and the coding subagents in one unit that `assembleProduct` can add to any product. The
6
+ `robota` CLI uses it for its own coding assistant.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @robota-sdk/pack-coding
12
+ ```
13
+
14
+ ## Usage
5
15
 
6
16
  ```ts
7
17
  import { assembleProduct } from '@robota-sdk/agent-product';
@@ -11,33 +21,36 @@ import type { IAIProvider, IProviderDefinition } from '@robota-sdk/agent-core';
11
21
  declare const providerDefinitions: readonly IProviderDefinition[];
12
22
  declare const provider: IAIProvider;
13
23
 
24
+ const cwd = process.cwd();
14
25
  const product = assembleProduct({
15
26
  id: 'acme-assistant',
16
27
  providerDefinitions,
17
- provider,
18
- // robota's coding tools, /shell + /editor + /git commands, and coding subagents — the file tools are
28
+ // The coding tools, /shell + /editor + /git commands, and coding subagents. The file tools are
19
29
  // scoped to the cwd you build the pack with.
20
- packs: [createCodingPack({ cwd: process.cwd() })],
30
+ packs: [createCodingPack({ cwd })],
21
31
  });
22
- void product;
32
+
33
+ const session = product.buildRuntime({ session: { cwd, provider } });
34
+ void session;
23
35
  ```
24
36
 
25
37
  The pack bundles:
26
38
 
27
39
  - **tools** — `Shell`, `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `WebSearch`,
28
- `AskUserQuestion` (consumed from `@robota-sdk/agent-tool-defaults#createDefaultTools`).
29
- - **commandModules** — `/shell`, `/editor`, and `/git` (the coding command modules).
30
- - **subagents** — `general-purpose`, `Explore`, `Plan`.
40
+ `AskUserQuestion` (from `@robota-sdk/agent-tool-defaults`' `createDefaultTools`).
41
+ - **commandModules** — `/shell`, `/editor`, and `/git` (from `@robota-sdk/agent-command`).
42
+ - **subagents** — `general-purpose`, `Explore`, `Plan` (agent-framework's built-in agents).
31
43
 
32
- The pack calls the default-tool owner directly with its `cwd` and optional sandbox client. Its test checks
33
- that composition does not add, drop, or reorder those tools.
44
+ `createCodingPack` passes its `cwd` and optional `sandboxClient` straight to the default tool factory,
45
+ so the pack adds, drops, or reorders none of those tools. Its other options are `shellExecutable` (the
46
+ shell for the tools and `/shell`) and `editorTemporaryDirectoryPrefix` (for `/editor`).
34
47
 
35
48
  ## Why a factory, and why `cwd` is required
36
49
 
37
- There is deliberately **no context-free `codingPack` constant**. The tool layer now refuses a missing
38
- execution root; this factory also requires `cwd` so each pack's file tools are scoped to the session that
39
- constructs it. A product can hand its whole tool surface to packs with `defaultTools: []` (ARCH-006).
40
- See [`docs/SPEC.md`](./docs/SPEC.md).
50
+ There is deliberately **no context-free `codingPack` constant**. The tool layer refuses a missing
51
+ execution root, and this factory also requires `cwd` so each pack's file tools are scoped to the
52
+ session that constructs it. That matters most when a product hands its whole tool surface to packs by
53
+ passing `defaultTools: []` in the session options. See [`docs/SPEC.md`](./docs/SPEC.md).
41
54
 
42
55
  ## License
43
56
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robota-sdk/pack-coding",
3
- "version": "3.0.0-beta.82",
3
+ "version": "3.0.0-beta.84",
4
4
  "description": "Robota's coding capability pack — an ICapabilityPack bundling the built-in coding tools, coding command modules, and coding subagents",
5
5
  "type": "module",
6
6
  "main": "dist/node/index.js",
@@ -28,25 +28,31 @@
28
28
  "default": "./dist/node/index.cjs"
29
29
  }
30
30
  }
31
- }
31
+ },
32
+ "./package.json": "./package.json"
32
33
  },
33
34
  "repository": {
34
35
  "type": "git",
35
- "url": "https://github.com/woojubb/robota.git"
36
+ "url": "https://github.com/woojubb/robota.git",
37
+ "directory": "packages/pack-coding"
36
38
  },
37
- "homepage": "https://robota.io/",
39
+ "homepage": "https://docs.robota.io/en/packages/pack-coding/",
38
40
  "bugs": {
39
41
  "url": "https://github.com/woojubb/robota/issues"
40
42
  },
43
+ "engines": {
44
+ "node": ">=22.12.0"
45
+ },
41
46
  "files": [
42
- "dist"
47
+ "dist",
48
+ "CHANGELOG.md"
43
49
  ],
44
50
  "dependencies": {
45
- "@robota-sdk/agent-capability-pack": "3.0.0-beta.82",
46
- "@robota-sdk/agent-command": "3.0.0-beta.82",
47
- "@robota-sdk/agent-framework": "3.0.0-beta.82",
48
- "@robota-sdk/agent-tool-defaults": "3.0.0-beta.82",
49
- "@robota-sdk/agent-tools": "3.0.0-beta.82"
51
+ "@robota-sdk/agent-capability-pack": "3.0.0-beta.84",
52
+ "@robota-sdk/agent-command": "3.0.0-beta.84",
53
+ "@robota-sdk/agent-framework": "3.0.0-beta.84",
54
+ "@robota-sdk/agent-tool-defaults": "3.0.0-beta.84",
55
+ "@robota-sdk/agent-tools": "3.0.0-beta.84"
50
56
  },
51
57
  "devDependencies": {
52
58
  "rimraf": "^5.0.10",