@robota-sdk/agent-cli 3.0.0-beta.100 → 3.0.0-beta.101

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 (31) hide show
  1. package/CHANGELOG.md +18 -8
  2. package/dist/node/bin.js +3 -3
  3. package/dist/node/cli-core-CIzUq54B.js +2920 -0
  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 -1
  9. package/dist/node/index.js +1 -1
  10. package/dist/node/index.js.map +1 -1
  11. package/dist/node/{node-CdgadDFa.js → node-AQEjsK5o.js} +2 -2
  12. package/dist/node/{node-CdgadDFa.js.map → node-AQEjsK5o.js.map} +1 -1
  13. package/dist/node/node-B5wKOmx1.js +165 -0
  14. package/dist/node/node-B5wKOmx1.js.map +1 -0
  15. package/dist/node/{node-aM3G__lp.js → node-BQfSVkbA.js} +1 -1
  16. package/dist/node/node-BRrU0Q8C.js +165 -0
  17. package/dist/node/{node-BTKWbzr0.js → node-CvUY6TbD.js} +2 -2
  18. package/dist/node/{node-BZfTvzcV.js → node-DQ4XoykT.js} +3 -3
  19. package/dist/node/node-DQ4XoykT.js.map +1 -0
  20. package/dist/node/product-host-Btm4B-p5.js +2954 -0
  21. package/dist/node/product-host-Btm4B-p5.js.map +1 -0
  22. package/dist/node/{product-host-DYR8lHfh.d.ts → product-host-Cle0fPIc.d.ts} +3 -3
  23. package/dist/node/{product-host-DYR8lHfh.d.ts.map → product-host-Cle0fPIc.d.ts.map} +1 -1
  24. package/package.json +38 -38
  25. package/dist/node/cli-core-QK7sBRp8.js +0 -2920
  26. package/dist/node/node-BRvqhy29.js +0 -165
  27. package/dist/node/node-BRvqhy29.js.map +0 -1
  28. package/dist/node/node-BZfTvzcV.js.map +0 -1
  29. package/dist/node/node-zABT8WBL.js +0 -165
  30. package/dist/node/product-host-CwqVX6Xg.js +0 -2954
  31. package/dist/node/product-host-CwqVX6Xg.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @robota-sdk/agent-cli
2
2
 
3
+ ## 3.0.0-beta.101
4
+ ### Patch Changes
5
+
6
+ - 5783499: Harden file, HTTP, relay, hosted-runtime, editor, and native path boundaries against resource exhaustion, short writes, path races, and integer narrowing.
7
+
8
+ Editor integrations now carry `Read`, `Write`, and `Edit` only when their `IEditorFileAccess` adapter declares `pathAuthority: 'stable-root'`; pathname-only adapters continue to receive disk-search notices, while file operations use the tools' stable disk authority. Existing adapters that can prove stable rooted access should add the marker to retain editor-buffer reads and writes.
9
+
10
+ `HttpDagRuntimeProvider` accepts a `token` option and applies it to every orchestration and event-stream request so it interoperates with the authenticated native DAG runtime server.
11
+ - 62663ae: Harden local file writes, permission denials, monitor access, and one-time external event admission.
12
+
3
13
  ## 3.0.0-beta.100
4
14
 
5
15
  ## 3.0.0-beta.99
@@ -53,7 +63,7 @@
53
63
  ### Minor Changes
54
64
 
55
65
  - 68dda38: MCP Apps: a tool's declared view can ride its result to a surface that can host it.
56
-
66
+
57
67
  `agent-mcp` declares the `io.modelcontextprotocol/ui` extension only when the host opts in
58
68
  (`IMCPOpenSessionOptions.apps`), on both protocol eras. A tool's `_meta.ui` reference (a `ui://`
59
69
  resource and its audience) is kept in discovery and the catalog only when the server declared the
@@ -64,14 +74,14 @@
64
74
  After a successful call, `DiscoveredMCPTool` reads the declared resource and, when it is one
65
75
  `text/html;profile=mcp-app` document within the size bound, attaches `IToolResult.view`; otherwise the
66
76
  text result is unchanged and the omission is reported. The view never enters model context.
67
-
77
+
68
78
  `agent-cli` opts in only for the plain `--serve` host that the desktop app and web GUI drive, not the
69
79
  TUI, print runs, `mcp serve` or the ACP agent.
70
80
 
71
81
  ### Patch Changes
72
82
 
73
83
  - 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.
74
-
84
+
75
85
  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.
76
86
  - 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.
77
87
 
@@ -268,7 +278,7 @@
268
278
  `gen_ai/dup` to emit both attribute sets while dashboards move. The default, `agent`, exports exactly
269
279
  the spans it did before. An unknown value, or the setting while neither traces nor metrics are exported,
270
280
  refuses startup. Console traces under a GenAI mode print the same projected spans.
271
-
281
+
272
282
  The live prompt trace now carries each tool body's name (the session's tool-body observation includes it
273
283
  and the framework's live projection passes a label-safe name through); it reaches spans only under a
274
284
  GenAI mode and is never written to session history.
@@ -286,7 +296,7 @@
286
296
  so a provider split of token totals survives the dropped counters. `PRODUCT_TELEMETRY_SEMCONV` now applies to
287
297
  traces and metrics, and is refused only when neither is exported over otlp or console. Console metrics
288
298
  print the same projection.
289
-
299
+
290
300
  `@robota-sdk/agent-telemetry-otel` adds `projectLivePromptMetricSamples`, which maps a live prompt trace
291
301
  batch onto those GenAI metrics as plain, SDK-free samples with the recommended bucket boundaries, so
292
302
  every host names and measures the same facts the same way. Its inference samples keep the label-safe
@@ -324,7 +334,7 @@
324
334
  ### Minor Changes
325
335
 
326
336
  - 7116367: Credentials the runtime holds for itself no longer reach the commands it runs.
327
-
337
+
328
338
  - `agent-cli` — once a workspace's settings are admitted, every variable a provider profile or
329
339
  definition names as its credential (`$ENV:` references, and defaults such as `OPENAI_API_KEY`)
330
340
  leaves the process environment, so tools, hooks, background shells, a skill's `!` commands and
@@ -354,7 +364,7 @@
354
364
  ### Patch Changes
355
365
 
356
366
  - 5bb675a: Provider commands check a profile's `$ENV:` or default credential against the host's environment snapshot, so `/provider switch`, `/provider test`, `/provider add`, `/provider edit` and a cross-profile `/model` keep working while the runtime withholds its own credentials from `process.env`.
357
-
367
+
358
368
  - `IProviderCommandModuleOptions` takes an optional `env`, and `createDefaultCommandModules` takes `providerEnvironment`. The CLI passes its startup snapshot.
359
369
  - The git that isolated subagents run, and so the repository's hooks, now get the command environment instead of the full snapshot.
360
370
 
@@ -362,7 +372,7 @@
362
372
  ### Minor Changes
363
373
 
364
374
  - 3427887: `--serve --http-port` can serve the agent HTTP API as an OAuth resource server: with `--http-public-url`, `--oauth-issuer`, `--oauth-scopes` and `--oauth-allowed-subjects` (plus optional `--http-host` and `--trusted-proxy`) it may bind a non-loopback address and admits access tokens through the same shared resource-server gate as `mcp serve`. Without them it stays loopback with the `PRODUCT_HTTP_TOKEN` bearer.
365
-
375
+
366
376
  The refusal answer shared by both resource-server carriers (503 for unavailable issuer keys, uncounted; counted challenge otherwise) is now `refuseAccessToken` in `@robota-sdk/agent-transport/node`.
367
377
 
368
378
  ### Patch Changes