@robota-sdk/agent-cli 3.0.0-beta.95 → 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.
Files changed (36) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/node/bin.js +8 -8
  3. package/dist/node/{cli-core-DJIgDK0t.js → cli-core-DU_nEQWX.js} +328 -328
  4. package/dist/node/desktop-host.js +1 -1
  5. package/dist/node/headless.js +1 -1
  6. package/dist/node/host.d.ts +1 -1
  7. package/dist/node/host.js +1 -1
  8. package/dist/node/index.d.ts +1 -2
  9. package/dist/node/index.d.ts.map +1 -1
  10. package/dist/node/index.js +2 -2
  11. package/dist/node/index.js.map +1 -1
  12. package/dist/node/{node-Dr_K99X7.js → node-BRvqhy29.js} +23 -23
  13. package/dist/node/{node-Dr_K99X7.js.map → node-BRvqhy29.js.map} +1 -1
  14. package/dist/node/node-BTKWbzr0.js +15 -0
  15. package/dist/node/node-BZfTvzcV.js +15 -0
  16. package/dist/node/node-BZfTvzcV.js.map +1 -0
  17. package/dist/node/{node-CV7kyP4U.js → node-Cyp5gJlO.js} +1 -1
  18. package/dist/node/{node-BOLpvRke.js → node-DhmX4waZ.js} +2 -2
  19. package/dist/node/{node-BOLpvRke.js.map → node-DhmX4waZ.js.map} +1 -1
  20. package/dist/node/{node-DsYjDBKf.js → node-zABT8WBL.js} +22 -22
  21. package/dist/node/product-host-BOEjCDu-.js +2954 -0
  22. package/dist/node/product-host-BOEjCDu-.js.map +1 -0
  23. package/dist/node/{product-host-BACfuTu4.d.ts → product-host-DYR8lHfh.d.ts} +16 -4
  24. package/dist/node/product-host-DYR8lHfh.d.ts.map +1 -0
  25. package/dist/web/app-sandbox.html +145 -0
  26. package/dist/web/assets/index-2GhVGsHN.js +314 -0
  27. package/dist/web/index.html +2 -2
  28. package/package.json +47 -39
  29. package/scripts/native-build.mjs +9 -0
  30. package/dist/node/node-BBey07fn.js +0 -15
  31. package/dist/node/node-BBey07fn.js.map +0 -1
  32. package/dist/node/node-Bxcf0vqP.js +0 -15
  33. package/dist/node/product-host-BACfuTu4.d.ts.map +0 -1
  34. package/dist/node/product-host-BwV-X6oS.js +0 -2954
  35. package/dist/node/product-host-BwV-X6oS.js.map +0 -1
  36. package/dist/web/assets/index-DB915Rm-.js +0 -314
package/CHANGELOG.md CHANGED
@@ -1,5 +1,74 @@
1
1
  # @robota-sdk/agent-cli
2
2
 
3
+ ## 3.0.0-beta.97
4
+ ### Minor Changes
5
+
6
+ - 0d43f37: **An editor can reopen an earlier conversation over ACP and offer the agent's slash commands.**
7
+
8
+ `@robota-sdk/agent-transport-acp` sends `available_commands_update` once the editor holds the session
9
+ id — the runtime's commands and the user-invocable skills, each with its argument hint — and again
10
+ after a prompt that changed the list (a plugin reload, a preset). A host can supply `loadSession`;
11
+ the agent then offers `session/load`, checks it exactly like `session/new` (the served directory, no
12
+ editor MCP servers or extra roots, workspace trust), refuses it while a prompt runs, and replays the
13
+ loaded conversation — what was typed, what the agent answered, and each finished tool call, a reused
14
+ call id getting a row of its own — before it answers. The port makes the stored session current in
15
+ the object the transport was attached to, so a host attaches a forwarder such as a session slot.
16
+ The published narrow `IAcpTransportSession` contract remains supported: command listing and history
17
+ display reads are optional capabilities. Loading is offered only with both the host port and the
18
+ history read, so a session cannot be replaced without replaying its conversation.
19
+
20
+ `robota acp` supplies the load: the editor may load a stored session of the folder it serves that
21
+ this version can read, and the agent replaces its session with it and shuts the old one down. A load
22
+ is refused while the current session has work in progress, and for a stored session with an active
23
+ goal, a live loop or a schedule that restore would re-arm to fire, which would otherwise run unseen
24
+ by the editor. With `--no-session-persistence` nothing is stored, so loading is not offered.
25
+
26
+ ### Patch Changes
27
+
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
+
46
+ ## 3.0.0-beta.96
47
+ ### Minor Changes
48
+
49
+ - 68dda38: MCP Apps: a tool's declared view can ride its result to a surface that can host it.
50
+
51
+ `agent-mcp` declares the `io.modelcontextprotocol/ui` extension only when the host opts in
52
+ (`IMCPOpenSessionOptions.apps`), on both protocol eras. A tool's `_meta.ui` reference (a `ui://`
53
+ resource and its audience) is kept in discovery and the catalog only when the server declared the
54
+ extension and resources too; a malformed declaration is reported by a fixed reason and the tool is
55
+ still offered without a view, and a tool the server hides from the model is rejected with a reason
56
+ rather than offered. `IMCPSession` gains `readResource` (a general `resources/read`, also on
57
+ `MCPConnectionSupervisor`) and `apps`; a custom `IMCPSession` implementation must add `readResource`.
58
+ After a successful call, `DiscoveredMCPTool` reads the declared resource and, when it is one
59
+ `text/html;profile=mcp-app` document within the size bound, attaches `IToolResult.view`; otherwise the
60
+ text result is unchanged and the omission is reported. The view never enters model context.
61
+
62
+ `agent-cli` opts in only for the plain `--serve` host that the desktop app and web GUI drive, not the
63
+ TUI, print runs, `mcp serve` or the ACP agent.
64
+
65
+ ### Patch Changes
66
+
67
+ - fbb287d: Show a finished MCP tool call's app in an opaque frame with a source-bound JSON-RPC bridge. App callbacks use the session's view authority and permission prompt. Session changes and frame disposal reject pending local requests.
68
+
69
+ Hosts can provide a sandbox URL through `SessionSurface`. The web GUI serves a separate sandbox document with content restrictions and `Connection-Allowlist` enforcement. App execution requires Chromium 158 or newer and native network isolation; other browsers and hosts without the response policy show an unavailable message and retain the text result. A surface without a sandbox URL never reads the app document.
70
+ - Keep E2B out of the base Node installation and defer SDK loading until stock hosted execution is selected. Install `e2b@2.51.0` alongside the CLI in the same project or global prefix to enable that capability. A missing SDK produces installation guidance before admission requests and never falls back to host execution. Public E2B exports and injected executors remain compatible; stock native binaries retain the embedded SDK, and consumer native builds require it as explicit build tooling.
71
+
3
72
  ## 3.0.0-beta.95
4
73
  ### Minor Changes
5
74