@robota-sdk/pack-coding 3.0.0-beta.96 → 3.0.0-beta.97

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,38 @@
1
1
  # @robota-sdk/pack-coding
2
2
 
3
+ ## 3.0.0-beta.97
4
+ ### Minor Changes
5
+
6
+ - e5a4254: **An editor that offers its file system carries the file tools' reads and writes.**
7
+
8
+ `Read`, `Write` and `Edit` take an optional `editorFiles` port (`IEditorFileAccess`), asked at each
9
+ call. On the host, after the tool's containment check (the permission gate has already decided),
10
+ `Read` returns the editor's text, unsaved changes included, and `Write` hands the content to the
11
+ editor; `Edit` reads where `Read` reads and writes where `Write` writes. The editor's text keeps
12
+ `Read`'s byte budget, binary refusal, formatting and cancellation, and an editor failure becomes the
13
+ tool's error result. `Glob` and `Grep` still search the disk and end their result with a note saying
14
+ so while an editor is attached. A sandbox with its own filesystem still carries every file tool, and
15
+ commands never use the editor. `createDefaultTools` and `createCodingPack` pass `editorFiles` through
16
+ to those tools only.
17
+
18
+ The ACP agent transport records the editor's `clientCapabilities.fs` and, once `session/new` binds the
19
+ session, hands the host an access through the new `onEditorFileAccess` option that sends
20
+ `fs/read_text_file` and `fs/write_text_file` for that session, for what the editor offered; stopping
21
+ the transport withdraws it. `robota acp` connects the two, so Read, Write and Edit go through the
22
+ editor in an editor that offers `fs`; `terminal/*` is not used.
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [e5a4254]
27
+ - Updated dependencies [43df9c0]
28
+ - Updated dependencies
29
+ - Updated dependencies [7911a7d]
30
+ - @robota-sdk/agent-tools@3.0.0-beta.97
31
+ - @robota-sdk/agent-tool-defaults@3.0.0-beta.97
32
+ - @robota-sdk/agent-command@3.0.0-beta.97
33
+ - @robota-sdk/agent-framework@3.0.0-beta.97
34
+ - @robota-sdk/agent-capability-pack@3.0.0-beta.97
35
+
3
36
  ## 3.0.0-beta.96
4
37
  ### Patch Changes
5
38
 
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@robota-sdk/agent-command"),t=require("@robota-sdk/agent-framework"),n=require("@robota-sdk/agent-tool-defaults");function r(r){return{id:`coding`,title:`Coding`,description:`Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.`,tools:(0,n.createDefaultTools)({cwd:r.cwd,httpUserAgent:r.httpUserAgent,...r.shellExecutable===void 0?{}:{shellExecutable:r.shellExecutable},...r.sandboxClient?{sandboxClient:r.sandboxClient}:{}}),commandModules:[(0,e.createShellCommandModule)(r.shellExecutable),(0,e.createEditorCommandModule)(r.editorTemporaryDirectoryPrefix),(0,e.createGitCommandModule)()],subagents:t.BUILT_IN_AGENTS}}exports.createCodingPack=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@robota-sdk/agent-command"),t=require("@robota-sdk/agent-framework"),n=require("@robota-sdk/agent-tool-defaults");function r(r){return{id:`coding`,title:`Coding`,description:`Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.`,tools:(0,n.createDefaultTools)({cwd:r.cwd,httpUserAgent:r.httpUserAgent,...r.shellExecutable===void 0?{}:{shellExecutable:r.shellExecutable},...r.sandboxClient?{sandboxClient:r.sandboxClient}:{},...r.editorFiles?{editorFiles:r.editorFiles}:{}}),commandModules:[(0,e.createShellCommandModule)(r.shellExecutable),(0,e.createEditorCommandModule)(r.editorTemporaryDirectoryPrefix),(0,e.createGitCommandModule)()],subagents:t.BUILT_IN_AGENTS}}exports.createCodingPack=r;
@@ -1,5 +1,5 @@
1
1
  import { ICapabilityPack } from "@robota-sdk/agent-capability-pack";
2
- import { ISandboxClient } from "@robota-sdk/agent-tools";
2
+ import { IEditorFileAccess, ISandboxClient } from "@robota-sdk/agent-tools";
3
3
  //#region src/coding-pack.d.ts
4
4
  /**
5
5
  * The session context agent's coding tools are bound to.
@@ -34,6 +34,11 @@ interface ICodingPackOptions {
34
34
  * are withheld). With a `shared` filesystem, file tools stay on the host under the path guard.
35
35
  */
36
36
  sandboxClient?: ISandboxClient;
37
+ /**
38
+ * An editor that has the workspace open, asked at each call: the host file tools read and write
39
+ * through what it offers. Absent, or answering `undefined`, means the disk.
40
+ */
41
+ editorFiles?: () => IEditorFileAccess | undefined;
37
42
  }
38
43
  /**
39
44
  * Build agent's coding capability as a single {@link ICapabilityPack}, bound to one session context.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/coding-pack.ts"],"mappings":";;;;;;;;;;;;;;;;;;UA0BiB;;EAEf;;EAEA;;EAEA;;;;;EAKA;;;;;;EAMA,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BF,iBAAiB,SAAS,qBAAqB"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/coding-pack.ts"],"mappings":";;;;;;;;;;;;;;;;;;UA0BiB;;EAEf;;EAEA;;EAEA;;;;;EAKA;;;;;;EAMA,gBAAgB;;;;;EAKhB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BN,iBAAiB,SAAS,qBAAqB"}
@@ -1,5 +1,5 @@
1
1
  import { ICapabilityPack } from "@robota-sdk/agent-capability-pack";
2
- import { ISandboxClient } from "@robota-sdk/agent-tools";
2
+ import { IEditorFileAccess, ISandboxClient } from "@robota-sdk/agent-tools";
3
3
  //#region src/coding-pack.d.ts
4
4
  /**
5
5
  * The session context agent's coding tools are bound to.
@@ -34,6 +34,11 @@ interface ICodingPackOptions {
34
34
  * are withheld). With a `shared` filesystem, file tools stay on the host under the path guard.
35
35
  */
36
36
  sandboxClient?: ISandboxClient;
37
+ /**
38
+ * An editor that has the workspace open, asked at each call: the host file tools read and write
39
+ * through what it offers. Absent, or answering `undefined`, means the disk.
40
+ */
41
+ editorFiles?: () => IEditorFileAccess | undefined;
37
42
  }
38
43
  /**
39
44
  * Build agent's coding capability as a single {@link ICapabilityPack}, bound to one session context.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/coding-pack.ts"],"mappings":";;;;;;;;;;;;;;;;;;UA0BiB;;EAEf;;EAEA;;EAEA;;;;;EAKA;;;;;;EAMA,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BF,iBAAiB,SAAS,qBAAqB"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/coding-pack.ts"],"mappings":";;;;;;;;;;;;;;;;;;UA0BiB;;EAEf;;EAEA;;EAEA;;;;;EAKA;;;;;;EAMA,gBAAgB;;;;;EAKhB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BN,iBAAiB,SAAS,qBAAqB"}
@@ -1,2 +1,2 @@
1
- import{createEditorCommandModule as e,createGitCommandModule as t,createShellCommandModule as n}from"@robota-sdk/agent-command";import{BUILT_IN_AGENTS as r}from"@robota-sdk/agent-framework";import{createDefaultTools as i}from"@robota-sdk/agent-tool-defaults";function a(a){return{id:`coding`,title:`Coding`,description:`Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.`,tools:i({cwd:a.cwd,httpUserAgent:a.httpUserAgent,...a.shellExecutable===void 0?{}:{shellExecutable:a.shellExecutable},...a.sandboxClient?{sandboxClient:a.sandboxClient}:{}}),commandModules:[n(a.shellExecutable),e(a.editorTemporaryDirectoryPrefix),t()],subagents:r}}export{a as createCodingPack};
1
+ import{createEditorCommandModule as e,createGitCommandModule as t,createShellCommandModule as n}from"@robota-sdk/agent-command";import{BUILT_IN_AGENTS as r}from"@robota-sdk/agent-framework";import{createDefaultTools as i}from"@robota-sdk/agent-tool-defaults";function a(a){return{id:`coding`,title:`Coding`,description:`Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.`,tools:i({cwd:a.cwd,httpUserAgent:a.httpUserAgent,...a.shellExecutable===void 0?{}:{shellExecutable:a.shellExecutable},...a.sandboxClient?{sandboxClient:a.sandboxClient}:{},...a.editorFiles?{editorFiles:a.editorFiles}:{}}),commandModules:[n(a.shellExecutable),e(a.editorTemporaryDirectoryPrefix),t()],subagents:r}}export{a as createCodingPack};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/coding-pack.ts"],"sourcesContent":["import {\n createEditorCommandModule,\n createGitCommandModule,\n createShellCommandModule,\n} from '@robota-sdk/agent-command';\nimport { BUILT_IN_AGENTS } from '@robota-sdk/agent-framework';\nimport { createDefaultTools } from '@robota-sdk/agent-tool-defaults';\n\nimport type { ICapabilityPack } from '@robota-sdk/agent-capability-pack';\nimport type { ISandboxClient } from '@robota-sdk/agent-tools';\n\n/**\n * The session context agent's coding tools are bound to.\n *\n * `cwd` is **required, not optional** — and that is the whole point of this factory. `agent-tools`'\n * `checkPathWithinCwd` USED TO BE a no-op when `cwd` was `undefined`, so file tools constructed with no\n * options carried a DISARMED working-directory guard: their `Read` returned `/etc/hostname`. Before\n * ARCH-006 that was inert, because the framework's own context-bound default tier always won a name\n * collision. Once a product could hand the entire tool surface to its packs (`defaultTools: []`), a\n * context-free pack became an unsandboxed `Read`/`Write`/`Edit`.\n *\n * ARCH-010 has since fixed the layer below: the guard refuses when no root is configured, and the tool\n * factories require `cwd` themselves. This requirement is therefore no longer load-bearing on its own —\n * it is the precedent the audit's fix followed, and it stays because the scoping decision should be\n * impossible to forget at every layer, not only the lowest one.\n */\nexport interface ICodingPackOptions {\n /** Product-host shell choice for tools and the interactive /shell command. */\n shellExecutable?: string;\n /** HTTP identity selected by the product host. */\n httpUserAgent?: string;\n /** Product-owned prefix for the interactive editor's temporary directory. */\n editorTemporaryDirectoryPrefix?: string;\n /**\n * Working-directory root the host file tools (`Read`/`Write`/`Edit`) are restricted to. Required: see\n * the interface note above. Pass the same value the session is assembled with.\n */\n cwd: string;\n /**\n * Optional provider sandbox client. Shell commands always run through it; file tools do only when its\n * filesystem is `separate` (then the sandbox is the isolation boundary and the host-only search tools\n * are withheld). With a `shared` filesystem, file tools stay on the host under the path guard.\n */\n sandboxClient?: ISandboxClient;\n}\n\n/**\n * Build agent's coding capability as a single {@link ICapabilityPack}, bound to one session context.\n *\n * This is the additive-axis proof for ARCH-005 and agent's first capability pack: a pack can bundle\n * agent's real coding capability (tools + command modules + subagents) and be composed additively by\n * `assembleProduct` on top of any product's base — and, since ARCH-006, can OWN the product's tool surface\n * outright when the profile suppresses the framework tier with `defaultTools: []`.\n *\n * - **tools** — `createDefaultTools()` from `@robota-sdk/agent-tool-defaults`, CONSUMED rather than\n * mirrored (ARCH-035). That set is shell/bash/read/write/edit/glob/grep/webFetch/webSearch/\n * askUserQuestion; the adapter-gated tools (`CodebaseRetrieval`, `Computer`) appear only when their\n * adapter or driver is supplied, and this pack supplies neither. Until ARCH-035 the list was rebuilt\n * here from the `@robota-sdk/agent-tools` factories and held to the defaults by a NAME-equality test\n * — a pin that let ARCH-021's first TC-05 pass while being unable to fail, because comparing names\n * cannot distinguish a pack-composed surface from an imported-default one when the two are pinned.\n * The relationship is structural now, so there is no drift left to pin.\n * - **commandModules** — the coding command modules: `/shell`, `/editor` and `/git` (the capability-level\n * command modules, distinct from product-shell/settings/provider command infrastructure).\n * - **subagents** — agent's built-in coding subagents (`general-purpose`, `Explore`, `Plan`).\n *\n * This pack contributes only when a product profile lists it (opt-in); every contributed command/tool runs\n * only through the permission-gated runtime at call time.\n *\n * **Per-call instances, deliberately.** Each call builds fresh tool and command-module objects bound to the\n * supplied context, so two products assembled in one process get independently-scoped file tools. There is\n * no module-level singleton: a shared constant could only ever be context-free, which is exactly the hazard\n * this factory exists to remove.\n */\nexport function createCodingPack(options: ICodingPackOptions): ICapabilityPack {\n const toolOptions = {\n cwd: options.cwd,\n httpUserAgent: options.httpUserAgent,\n ...(options.shellExecutable !== undefined ? { shellExecutable: options.shellExecutable } : {}),\n ...(options.sandboxClient ? { sandboxClient: options.sandboxClient } : {}),\n };\n\n return {\n id: 'coding',\n title: 'Coding',\n description:\n \"Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.\",\n // ARCH-035: the always-present default set, consumed from its owner rather than rebuilt here.\n //\n // This list used to be hand-maintained, identical to `createDefaultTools()`'s always-present\n // tier, and the two were held together by a test asserting their NAMES matched. That pin is what\n // let ARCH-021's first TC-05 pass without being able to fail: comparing tool names cannot tell a\n // pack-composed surface from an imported-default one when the pack is pinned to the defaults.\n // Consuming the set makes the relationship structural, so there is nothing left to drift.\n //\n // The adapter-gated tools stay out, as before: `createDefaultTools` adds `CodebaseRetrieval` only\n // when given a `retrievalAdapter` and the Computer tools only when given a `computerDriver`, and\n // this pack supplies neither. SEC-007 still holds — `cwd` is REQUIRED here, so the file-tool\n // guard cannot be disarmed by omission, and the leaf threads it into every tool it builds.\n tools: createDefaultTools(toolOptions),\n commandModules: [\n createShellCommandModule(options.shellExecutable),\n createEditorCommandModule(options.editorTemporaryDirectoryPrefix),\n createGitCommandModule(),\n ],\n subagents: BUILT_IN_AGENTS,\n };\n}\n"],"mappings":"mQA0EA,SAAgB,EAAiB,EAA8C,CAQ7E,MAAO,CACL,GAAI,SACJ,MAAO,SACP,YACE,4GAaF,MAAO,EAAmB,CAvB1B,IAAK,EAAQ,IACb,cAAe,EAAQ,cACvB,GAAI,EAAQ,kBAAoB,IAAA,GAA2D,CAAC,EAAhD,CAAE,gBAAiB,EAAQ,eAAgB,EACvF,GAAI,EAAQ,cAAgB,CAAE,cAAe,EAAQ,aAAc,EAAI,CAAC,CAoBpC,CAAC,EACrC,eAAgB,CACd,EAAyB,EAAQ,eAAe,EAChD,EAA0B,EAAQ,8BAA8B,EAChE,EAAuB,CACzB,EACA,UAAW,CACb,CACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/coding-pack.ts"],"sourcesContent":["import {\n createEditorCommandModule,\n createGitCommandModule,\n createShellCommandModule,\n} from '@robota-sdk/agent-command';\nimport { BUILT_IN_AGENTS } from '@robota-sdk/agent-framework';\nimport { createDefaultTools } from '@robota-sdk/agent-tool-defaults';\n\nimport type { ICapabilityPack } from '@robota-sdk/agent-capability-pack';\nimport type { IEditorFileAccess, ISandboxClient } from '@robota-sdk/agent-tools';\n\n/**\n * The session context agent's coding tools are bound to.\n *\n * `cwd` is **required, not optional** — and that is the whole point of this factory. `agent-tools`'\n * `checkPathWithinCwd` USED TO BE a no-op when `cwd` was `undefined`, so file tools constructed with no\n * options carried a DISARMED working-directory guard: their `Read` returned `/etc/hostname`. Before\n * ARCH-006 that was inert, because the framework's own context-bound default tier always won a name\n * collision. Once a product could hand the entire tool surface to its packs (`defaultTools: []`), a\n * context-free pack became an unsandboxed `Read`/`Write`/`Edit`.\n *\n * ARCH-010 has since fixed the layer below: the guard refuses when no root is configured, and the tool\n * factories require `cwd` themselves. This requirement is therefore no longer load-bearing on its own —\n * it is the precedent the audit's fix followed, and it stays because the scoping decision should be\n * impossible to forget at every layer, not only the lowest one.\n */\nexport interface ICodingPackOptions {\n /** Product-host shell choice for tools and the interactive /shell command. */\n shellExecutable?: string;\n /** HTTP identity selected by the product host. */\n httpUserAgent?: string;\n /** Product-owned prefix for the interactive editor's temporary directory. */\n editorTemporaryDirectoryPrefix?: string;\n /**\n * Working-directory root the host file tools (`Read`/`Write`/`Edit`) are restricted to. Required: see\n * the interface note above. Pass the same value the session is assembled with.\n */\n cwd: string;\n /**\n * Optional provider sandbox client. Shell commands always run through it; file tools do only when its\n * filesystem is `separate` (then the sandbox is the isolation boundary and the host-only search tools\n * are withheld). With a `shared` filesystem, file tools stay on the host under the path guard.\n */\n sandboxClient?: ISandboxClient;\n /**\n * An editor that has the workspace open, asked at each call: the host file tools read and write\n * through what it offers. Absent, or answering `undefined`, means the disk.\n */\n editorFiles?: () => IEditorFileAccess | undefined;\n}\n\n/**\n * Build agent's coding capability as a single {@link ICapabilityPack}, bound to one session context.\n *\n * This is the additive-axis proof for ARCH-005 and agent's first capability pack: a pack can bundle\n * agent's real coding capability (tools + command modules + subagents) and be composed additively by\n * `assembleProduct` on top of any product's base — and, since ARCH-006, can OWN the product's tool surface\n * outright when the profile suppresses the framework tier with `defaultTools: []`.\n *\n * - **tools** — `createDefaultTools()` from `@robota-sdk/agent-tool-defaults`, CONSUMED rather than\n * mirrored (ARCH-035). That set is shell/bash/read/write/edit/glob/grep/webFetch/webSearch/\n * askUserQuestion; the adapter-gated tools (`CodebaseRetrieval`, `Computer`) appear only when their\n * adapter or driver is supplied, and this pack supplies neither. Until ARCH-035 the list was rebuilt\n * here from the `@robota-sdk/agent-tools` factories and held to the defaults by a NAME-equality test\n * — a pin that let ARCH-021's first TC-05 pass while being unable to fail, because comparing names\n * cannot distinguish a pack-composed surface from an imported-default one when the two are pinned.\n * The relationship is structural now, so there is no drift left to pin.\n * - **commandModules** — the coding command modules: `/shell`, `/editor` and `/git` (the capability-level\n * command modules, distinct from product-shell/settings/provider command infrastructure).\n * - **subagents** — agent's built-in coding subagents (`general-purpose`, `Explore`, `Plan`).\n *\n * This pack contributes only when a product profile lists it (opt-in); every contributed command/tool runs\n * only through the permission-gated runtime at call time.\n *\n * **Per-call instances, deliberately.** Each call builds fresh tool and command-module objects bound to the\n * supplied context, so two products assembled in one process get independently-scoped file tools. There is\n * no module-level singleton: a shared constant could only ever be context-free, which is exactly the hazard\n * this factory exists to remove.\n */\nexport function createCodingPack(options: ICodingPackOptions): ICapabilityPack {\n const toolOptions = {\n cwd: options.cwd,\n httpUserAgent: options.httpUserAgent,\n ...(options.shellExecutable !== undefined ? { shellExecutable: options.shellExecutable } : {}),\n ...(options.sandboxClient ? { sandboxClient: options.sandboxClient } : {}),\n ...(options.editorFiles ? { editorFiles: options.editorFiles } : {}),\n };\n\n return {\n id: 'coding',\n title: 'Coding',\n description:\n \"Built-in coding capability: file/shell tools, /shell + /editor + /git commands, and the coding subagents.\",\n // ARCH-035: the always-present default set, consumed from its owner rather than rebuilt here.\n //\n // This list used to be hand-maintained, identical to `createDefaultTools()`'s always-present\n // tier, and the two were held together by a test asserting their NAMES matched. That pin is what\n // let ARCH-021's first TC-05 pass without being able to fail: comparing tool names cannot tell a\n // pack-composed surface from an imported-default one when the pack is pinned to the defaults.\n // Consuming the set makes the relationship structural, so there is nothing left to drift.\n //\n // The adapter-gated tools stay out, as before: `createDefaultTools` adds `CodebaseRetrieval` only\n // when given a `retrievalAdapter` and the Computer tools only when given a `computerDriver`, and\n // this pack supplies neither. SEC-007 still holds — `cwd` is REQUIRED here, so the file-tool\n // guard cannot be disarmed by omission, and the leaf threads it into every tool it builds.\n tools: createDefaultTools(toolOptions),\n commandModules: [\n createShellCommandModule(options.shellExecutable),\n createEditorCommandModule(options.editorTemporaryDirectoryPrefix),\n createGitCommandModule(),\n ],\n subagents: BUILT_IN_AGENTS,\n };\n}\n"],"mappings":"mQA+EA,SAAgB,EAAiB,EAA8C,CAS7E,MAAO,CACL,GAAI,SACJ,MAAO,SACP,YACE,4GAaF,MAAO,EAAmB,CAxB1B,IAAK,EAAQ,IACb,cAAe,EAAQ,cACvB,GAAI,EAAQ,kBAAoB,IAAA,GAA2D,CAAC,EAAhD,CAAE,gBAAiB,EAAQ,eAAgB,EACvF,GAAI,EAAQ,cAAgB,CAAE,cAAe,EAAQ,aAAc,EAAI,CAAC,EACxE,GAAI,EAAQ,YAAc,CAAE,YAAa,EAAQ,WAAY,EAAI,CAAC,CAoB9B,CAAC,EACrC,eAAgB,CACd,EAAyB,EAAQ,eAAe,EAChD,EAA0B,EAAQ,8BAA8B,EAChE,EAAuB,CACzB,EACA,UAAW,CACb,CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robota-sdk/pack-coding",
3
- "version": "3.0.0-beta.96",
3
+ "version": "3.0.0-beta.97",
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",
@@ -39,11 +39,11 @@
39
39
  "CHANGELOG.md"
40
40
  ],
41
41
  "dependencies": {
42
- "@robota-sdk/agent-capability-pack": "3.0.0-beta.96",
43
- "@robota-sdk/agent-command": "3.0.0-beta.96",
44
- "@robota-sdk/agent-framework": "3.0.0-beta.96",
45
- "@robota-sdk/agent-tool-defaults": "3.0.0-beta.96",
46
- "@robota-sdk/agent-tools": "3.0.0-beta.96"
42
+ "@robota-sdk/agent-capability-pack": "3.0.0-beta.97",
43
+ "@robota-sdk/agent-tool-defaults": "3.0.0-beta.97",
44
+ "@robota-sdk/agent-framework": "3.0.0-beta.97",
45
+ "@robota-sdk/agent-tools": "3.0.0-beta.97",
46
+ "@robota-sdk/agent-command": "3.0.0-beta.97"
47
47
  },
48
48
  "devDependencies": {
49
49
  "rimraf": "^5.0.10",