@robota-sdk/agent-cli 3.0.0-beta.83 → 3.0.0-beta.85
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 +90 -0
- package/README.md +229 -1180
- package/dist/node/bin.js +22 -22
- package/dist/node/bounded-output-Bgx2Cgkx-28em7iHq.js +2 -0
- package/dist/node/bounded-output-Bgx2Cgkx-28em7iHq.js.map +1 -0
- package/dist/node/bounded-output-Bgx2Cgkx-C4ucXwLR.js +2 -0
- package/dist/node/cli-core-DjVnz1-_.js +2891 -0
- package/dist/node/command-executor-d6DdfUTD-3KEnsTnN.js +2 -0
- package/dist/node/command-executor-d6DdfUTD-DhFSDHvb.js +2 -0
- package/dist/node/{command-executor-DV-H2oD6-OKy8pwYH.js.map → command-executor-d6DdfUTD-DhFSDHvb.js.map} +1 -1
- package/dist/node/headless.js +2 -2
- package/dist/node/{http-executor-cWzI2svn-TG_TMYKh.js → http-executor-ADn4locH-D-8crzF8.js} +2 -2
- package/dist/node/{http-executor-cWzI2svn-TG_TMYKh.js.map → http-executor-ADn4locH-D-8crzF8.js.map} +1 -1
- package/dist/node/{http-executor-cWzI2svn-Ype0naht.js → http-executor-ADn4locH-uz5KV6N-.js} +1 -1
- package/dist/node/index.d.ts +263 -100
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +388 -346
- package/dist/node/index.js.map +1 -1
- package/dist/node/node-B48couEE.js +14 -0
- package/dist/node/node-B48couEE.js.map +1 -0
- package/dist/node/node-CgLYctGm.js +67 -0
- package/dist/node/node-CgLYctGm.js.map +1 -0
- package/dist/node/{node-B8BhZ3NW.js → node-CpH9vRQt.js} +1 -1
- package/dist/node/node-DAOCaE6N.js +67 -0
- package/dist/node/node-DlLm_kxn.js +14 -0
- package/dist/node/{verdict-decoder-Dk_w2NG9-Bka7Cldj.js → verdict-decoder-Dz_rjoIZ-DA8BKB83.js} +2 -2
- package/dist/node/{verdict-decoder-Dk_w2NG9-Bka7Cldj.js.map → verdict-decoder-Dz_rjoIZ-DA8BKB83.js.map} +1 -1
- package/dist/node/{verdict-decoder-Dk_w2NG9-BKWMtxp8.js → verdict-decoder-Dz_rjoIZ-qM0jJVsB.js} +1 -1
- package/dist/web/assets/index-DSLs7oij.js +309 -0
- package/dist/web/assets/index-OqCBtMJ2.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +37 -36
- package/dist/node/bounded-output-DpjpS98g-DFgAppgl.js +0 -2
- package/dist/node/bounded-output-DpjpS98g-DFgAppgl.js.map +0 -1
- package/dist/node/bounded-output-DpjpS98g-DoRuRGhV.js +0 -2
- package/dist/node/cli-core-CfQhvbx3.js +0 -2850
- package/dist/node/command-executor-DV-H2oD6-BfKoGoFw.js +0 -2
- package/dist/node/command-executor-DV-H2oD6-OKy8pwYH.js +0 -2
- package/dist/node/node-CC5tfdMu.js +0 -67
- package/dist/node/node-CC5tfdMu.js.map +0 -1
- package/dist/node/node-CsbnL0Yf.js +0 -67
- package/dist/node/node-DtKU0MUr.js +0 -14
- package/dist/node/node-DtKU0MUr.js.map +0 -1
- package/dist/node/node-j7KM8r3b.js +0 -14
- package/dist/web/assets/index-DbAewVPM.js +0 -244
- package/dist/web/assets/index-DzQQd7ql.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,95 @@
|
|
|
1
1
|
# @robota-sdk/agent-cli
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.85
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- db35dcd: MCP approvals now outlive the process, and an approval takes effect at once. The `robota` CLI keeps
|
|
8
|
+
activation decisions in `~/.robota/mcp-approvals.json` (owner-only) unless the host passes its own
|
|
9
|
+
`mcpApprovalStore`, so an approved server connects at later starts until its definition changes.
|
|
10
|
+
`/mcp approve <server>` now also connects the server in the running session, the way `/mcp reload`
|
|
11
|
+
does, instead of waiting for a restart. A remote server without OAuth therefore connects once
|
|
12
|
+
approved; stdio servers still need a host-supplied authority.
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- 193a0bc: `${CLAUDE_SKILL_DIR}` in a skill expands to the absolute folder its `SKILL.md` is in; it used to expand to an empty string. A skill's `` !`command` `` gets `CLAUDE_SKILL_DIR` and `CLAUDE_SESSION_ID` in its environment, so the shell expands them there too (`TShellExecFn` takes an optional `env`). Skills from host folders and a trusted project carry the folder, and bundle-plugin skills and commands record theirs. `ICommand` gains `skillDirectory`, and `IContributionSource` an optional `locate()` that names the absolute path of a root-relative one.
|
|
17
|
+
- 3cfd5b9: Words after `--` are the prompt, never a subcommand or a flag. `robota -p -- init` used to run `robota init` (and `eval`, `user-local` or `mcp` likewise ran or refused as those commands), and a prompt spelling `--attach`, `--safe-mode` or `--restricted-workspace` acted as that flag; now each is sent to the model as text. A subcommand or flag given before `--` works as before.
|
|
18
|
+
- 4cee6fb: Report unsupported MCP transports at startup and reload instead of silently skipping them,
|
|
19
|
+
and distinguish plugin MCP declaration inspection from a runtime connection.
|
|
20
|
+
- 3ab2eca: - External presets accept every permission mode a session does, `auto` included; `auto` used to fail validation.
|
|
21
|
+
- `createDagFramework({ ports: { costMeta } })` wires cost-metadata management; without it cost operations still report that they are unsupported.
|
|
22
|
+
- `startCli()` runs the subagent worker when a subagent starts the embedder's entry script again, as the `robota` executable already did; an embedded CLI used to start a second CLI there.
|
|
23
|
+
- The provider `executor` option docs no longer import a `RemoteExecutor` that does not exist, and `IRemoteExecutorConfig` is marked deprecated: nothing implements a remote executor.
|
|
24
|
+
|
|
25
|
+
## 3.0.0-beta.84
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- e8d70ac: A first run finds a provider, instead of a dead end. `robota --serve` (and the daemon it starts) no
|
|
30
|
+
longer refuses when no provider is configured: it starts in setup mode, and the GUI's conversation area
|
|
31
|
+
shows a "Connect a model provider to start" panel with a "Set up provider" button in place of the
|
|
32
|
+
composer. Answering it configures and swaps in the first provider live, with no restart. A startup
|
|
33
|
+
failure now says why — `robota daemon start --json` and the desktop app's fatal screen report the
|
|
34
|
+
child's own reason instead of a generic "readiness channel closed", and the fatal screen gets a Try
|
|
35
|
+
again button. `trust status --json` and the desktop trust dialog list only sources whose state trust
|
|
36
|
+
would actually change, instead of naming one this platform could not determine; the dialog shows one
|
|
37
|
+
sentence and a collapsed Details section. `robota --serve --open` in an untrusted folder now asks at
|
|
38
|
+
the terminal (trust it, start Restricted, or quit) when someone is there to ask, instead of refusing
|
|
39
|
+
outright.
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- 7e87bb2: A front end with a person in front can ask about an untrusted folder instead of being refused.
|
|
44
|
+
`robota trust status --json` reports the folder's trust state, whether a person can be asked, and
|
|
45
|
+
what trust would load. `robota daemon start --restricted-workspace` starts the daemon Restricted in a
|
|
46
|
+
folder that is not trusted yet, the choice that person made. A daemon reports whether it runs
|
|
47
|
+
Restricted: a Restricted start never reuses one with the project's configuration, and a plain start
|
|
48
|
+
in a folder trusted since never reuses a Restricted one; both refuse and name `robota daemon stop`. `pnpm gui:dev` asks at its terminal: trust the folder, start
|
|
49
|
+
Restricted, or quit.
|
|
50
|
+
- 4f35721: Starting a session from `robota session view` in a folder that is not trusted asks what to do
|
|
51
|
+
instead of failing. The question names the folder and lists what trust would load. The choices are
|
|
52
|
+
`y` to trust the folder and start, `r` to start it Restricted, and `n` to cancel. A Restricted answer
|
|
53
|
+
holds even if the folder was trusted meanwhile. Before, the view showed only "Start failed".
|
|
54
|
+
|
|
55
|
+
- `agent-cli` (patch):
|
|
56
|
+
- A background session started Restricted runs with `--restricted-workspace`.
|
|
57
|
+
- A headless start that asked to run Restricted is no longer refused for want of trust, the same
|
|
58
|
+
as `--safe-mode`.
|
|
59
|
+
- `agent-ui-terminal` (minor): the session view takes `startTrustQuestion`, which returns the
|
|
60
|
+
folder and what trust would load (`ISupervisedStartTrustQuestion`). `onStart` receives the person's
|
|
61
|
+
choice (`TSupervisedStartTrustChoice`).
|
|
62
|
+
|
|
63
|
+
- 4ee9596: Starting a new TUI session in an untrusted repository asks whether to trust the folder. Before, the
|
|
64
|
+
TUI started Restricted without saying so, and the project's settings, hooks, skills and MCP servers
|
|
65
|
+
were silently missing. The question comes before anything from the project is loaded and lists what
|
|
66
|
+
trust would load. A yes records the grant and starts normally. A no starts Restricted and asks again
|
|
67
|
+
next time. If the grant cannot be recorded, it says so and starts Restricted.
|
|
68
|
+
|
|
69
|
+
It is not asked:
|
|
70
|
+
|
|
71
|
+
- when resuming or continuing a session, which stays in the store it was saved in;
|
|
72
|
+
- for setup commands (`init`, `--configure`, `--configure-provider`, `--set-current`);
|
|
73
|
+
- with `--safe-mode`, or after a `/cd` into a Restricted folder;
|
|
74
|
+
- without a terminal;
|
|
75
|
+
- in a directory outside Git.
|
|
76
|
+
|
|
77
|
+
- 12a5b15: CLI fixes from the docs-refresh findings (#3275):
|
|
78
|
+
|
|
79
|
+
- `robota trust revoke` exits 0 when the revoke succeeds.
|
|
80
|
+
- `robota <subcommand> --help` prints that subcommand's help instead of running it, refusing an unknown option, or starting the terminal UI; commands with fuller help of their own (`usage`, `session list|view|attach`) keep printing it, and `robota mcp serve --help` prints to stdout.
|
|
81
|
+
- `robota --help` lists every option the parser accepts (`--goal`, `--goal-max-iterations`, `--provider`, `--set-current`, `--type`, `--base-url`, `--api-key`, `--api-key-env`, `--settings-scope`, `--session-log`, `--serve`, `--restricted-workspace`, `--disable-update-check`), `--effort` lists `none` and `minimal`, and `--bare` is described as what it does: print mode without instruction files or plugins.
|
|
82
|
+
- `robota session start --background --restricted-workspace` starts a background session Restricted, as the headless trust refusal already suggested.
|
|
83
|
+
- `robota "prompt"` opens the terminal UI with the prompt typed in, not yet sent.
|
|
84
|
+
|
|
85
|
+
- 29486da: A lost connection no longer drops a typed message or takes the person out of their session. While the
|
|
86
|
+
transport is not `connected`, the composer keeps its draft and Send explains why it cannot submit
|
|
87
|
+
("Not connected"). A banner above the conversation — never a full-screen replacement — says "Connection
|
|
88
|
+
lost. Reconnecting…" while retries continue, and once they give up either offers a working Reconnect
|
|
89
|
+
(a host that can restart the runtime) or says how to reopen the page (a browser served by
|
|
90
|
+
`robota --serve --open`). A desktop Reconnect remembers the session the person was in and returns to it
|
|
91
|
+
once the restart's reload reconnects.
|
|
92
|
+
|
|
3
93
|
## 3.0.0-beta.83
|
|
4
94
|
|
|
5
95
|
### Minor Changes
|