@botiverse/oar-cli 0.66.1 → 0.68.0

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/README.md CHANGED
@@ -15,10 +15,11 @@ oar run claude "What does this repo do?"
15
15
 
16
16
  ## Commands
17
17
 
18
- The registered runtimes are OAR's `defaultRuntimes` plus cursor, which the
19
- CLI adds itself on the `@cursor/sdk` 1.0.37 it depends on
20
- (`src/runtimes.ts`). Commands that take an optional `[runtime]` cover every
21
- registered runtime when it is omitted (or `all`). A runtime whose probe or
18
+ The registered runtimes are OAR's `defaultRuntimes`, cursor, which the CLI
19
+ adds itself on the `@cursor/sdk` 1.0.38 it depends on, and the community
20
+ runtimes (Mister Morph) from `@botiverse/oar/community` (`src/runtimes.ts`).
21
+ Commands that take an optional `[runtime]` cover every registered runtime
22
+ when it is omitted (or `all`). A runtime whose probe or
22
23
  read fails (a timeout, a network error) reports its `error` in place of a
23
24
  result, the others still report, and the exit code is 1.
24
25
 
@@ -29,8 +30,10 @@ result, the others still report, and the exit code is 1.
29
30
  - `oar usage [runtime]`: account usage for each available installation.
30
31
  - `oar models [runtime]`: models each available installation can run right
31
32
  now (login state, plan, and configured providers included). The first
32
- column after the runtime is the `id` to pass to `oar run --model`, and
33
- `(default)` marks the model a session runs when none is set. `--cwd <dir>`
33
+ column after the runtime is the `id` to pass to `oar run --model`,
34
+ `(default)` marks the model a session runs when none is set, `*` the
35
+ default effort level and service tier, and `(disabled: reason)` a model the
36
+ runtime lists but will not run as is. `--cwd <dir>`
34
37
  lists for the directory a session would run in (project configuration
35
38
  there can change the list; it starts the runtime there, so only use a
36
39
  directory you trust); `--json` prints the `ListModelsResult` per runtime,
@@ -40,14 +43,16 @@ result, the others still report, and the exit code is 1.
40
43
  - `oar upgrade [runtime]`: upgrade each available installation with the
41
44
  runtime's own updater, one at a time; `--check` only reports the version
42
45
  the updater would install, `--json` prints the reports, `--timeout <ms>`
43
- bounds each runtime. The exit code is 1 when an upgrade failed or left the
44
- version unchanged, or when a runtime could not be probed. See [runtime updates](https://github.com/botiverse/oar/blob/main/docs/spec/update.md).
46
+ bounds each runtime's check and its updater run. The exit code is 1 when
47
+ an upgrade failed or left the version unchanged, or when a runtime could
48
+ not be probed. See [runtime updates](https://github.com/botiverse/oar/blob/main/docs/spec/update.md).
45
49
  - `oar login <runtime>`: log a runtime in through its own login. It prints
46
50
  the sign-in URL or device code and reads a pasted code from stdin, without
47
51
  echoing it, when the runtime asks for one; Ctrl-C cancels. `--status` only
48
52
  reports whether each runtime (or the named one) is logged in, `--json`
49
- prints events, prompts and the result as JSON, `--timeout <ms>` bounds the
50
- login. The exit code is 0 when logged in, 130 when cancelled, 1 otherwise. See [runtime login](https://github.com/botiverse/oar/blob/main/docs/spec/login.md).
53
+ prints events, prompts and the result (or the status reports) as JSON,
54
+ `--timeout <ms>` bounds the login (or each status query). The exit code is
55
+ 0 when logged in, 130 when cancelled, 1 otherwise. See [runtime login](https://github.com/botiverse/oar/blob/main/docs/spec/login.md).
51
56
  - `oar logout <runtime>`: log a runtime out through its own logout. It
52
57
  prints `logged out` when the runtime's status then reads logged out (or,
53
58
  when the status cannot tell, the runtime reported success); an API key in the environment that the status still reads is
@@ -56,11 +61,13 @@ result, the others still report, and the exit code is 1.
56
61
  - `oar mcp`: serve subagents over MCP on stdio, so an agent (claude, codex,
57
62
  any MCP client) can delegate tasks to other runtimes: `run` waits for a
58
63
  subagent's turn, `spawn` / `send` / `wait` work in parallel, and
59
- `runtimes`, `list`, `interrupt` and `close` complete the tool set. Flags
60
- `--runtimes`, `--max-running`, `--max-depth`, `--cwd`, `--log-dir`.
61
- `run`, `wait` and `list` return structured objects with output schemas,
62
- plus the same JSON as text. `wait` returns `{ reports }` when any selected
63
- report is available; `list` returns `{ agents, unread }`.
64
+ `runtimes`, `list`, `interrupt` and `close` complete the tool set. Flags:
65
+ `--runtimes <ids>` (comma-separated; all by default), `--max-running <n>`
66
+ (default 4), `--max-depth <n>` (default 1: subagents do not spawn),
67
+ `--cwd <dir>` (for subagents that name none), `--log-dir <dir>` (each
68
+ subagent's records as an oar-voyage log). `run`, `wait` and `list` return
69
+ structured objects with output schemas, plus the same JSON as text
70
+ ([shapes](https://github.com/botiverse/oar/blob/main/docs/spec/subagents.md#oar-mcp)).
64
71
  Subagents run with full permissions. A codex agent starts MCP servers with
65
72
  a reduced environment, so give its `oar` entry
66
73
  `env_vars = ["OAR_SUBAGENT_DEPTH"]` for the nesting limit to hold. See
@@ -71,16 +78,17 @@ result, the others still report, and the exit code is 1.
71
78
  ## `oar run`: the run-and-verify entrypoint
72
79
 
73
80
  By default `run` prints one opening line naming the session (the id
74
- `--resume` takes; `[resumed <id> …]` on a resumed run) and the model and
75
- effort the runtime reported while opening, when it did (the `model()` /
76
- `effort()` folds, never the flags echoed). Then it prints readable progress
77
- from the session's `events()`: assistant text verbatim (coalesced into blocks
81
+ `--resume` takes; `[resumed <id> …]` on a resumed run) and the model, service
82
+ tier and effort the runtime reported while opening, when it did (the
83
+ `model()` / `serviceTier()` / `effort()` folds, never the flags echoed).
84
+ Then it prints readable progress from the session's `events()`: assistant text verbatim (coalesced into blocks
78
85
  via `coalesceText`), and other facts as bracketed meta lines
79
86
  (`[compacting: threshold]`, `[compacted]` or `[compaction failed] reason`,
80
87
  `[retry 2/3] reason`, `[waiting for app: type]`, `[task shell started]`).
81
- Turn starts, usage, model and effort reports, native user message echoes,
82
- task updates, withdrawn inputs, tool progress deltas and oar's own answers
83
- to app requests print nothing:
88
+ Turn starts, usage, model, service tier and effort reports, native user
89
+ message echoes, queued, withdrawn and dropped inputs, task updates, tool
90
+ input and progress deltas and oar's own answers to app requests print
91
+ nothing (the full mapping is `src/progress.ts`):
84
92
 
85
93
  ```
86
94
  [session 01a0e982-… · model gpt-6-luna · effort low]
@@ -94,8 +102,8 @@ The repo is a pnpm workspace...
94
102
  The exit code is 0 only when the turn completed. The first Ctrl-C interrupts
95
103
  the turn and exits 130; a second one disposes the session at once. The
96
104
  process ends at most a second after the session is disposed, even when a
97
- runtime left a handle behind (`@cursor/sdk` 1.0.35 keeps a 24 hour timer
98
- for each shell call it moves to the background; `src/exit.ts`).
105
+ runtime left a handle behind (`@cursor/sdk` 1.0.35 to 1.0.37 kept a 24 hour
106
+ timer for each shell call they moved to the background; `src/exit.ts`).
99
107
 
100
108
  Flags:
101
109
 
package/dist/exit.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * End the process once a finished command has had `graceMs` to flush its
3
3
  * output, even when a runtime left a handle behind in it. @cursor/sdk 1.0.35
4
- * arms a 24 hour timer for each shell call it moves to the background and
5
- * never clears it, so after such a turn the process would outlive its run by
6
- * a day. The timer is unref'd: a process with nothing left exits on its own
7
- * first, with its own exit code.
4
+ * to 1.0.37 arm a 24 hour timer for each shell call they move to the
5
+ * background and never clear it, so after such a turn the process would
6
+ * outlive its run by a day; 1.0.38 clears it, and the exit stays as a
7
+ * backstop. The timer is unref'd: a process with nothing left exits on its
8
+ * own first, with its own exit code.
8
9
  */
9
10
  export declare function exitWhenFinished(graceMs?: number): void;
10
11
  //# sourceMappingURL=exit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAO,GAAG,IAAI,CAIrD"}
1
+ {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAO,GAAG,IAAI,CAIrD"}
package/dist/exit.js CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * End the process once a finished command has had `graceMs` to flush its
3
3
  * output, even when a runtime left a handle behind in it. @cursor/sdk 1.0.35
4
- * arms a 24 hour timer for each shell call it moves to the background and
5
- * never clears it, so after such a turn the process would outlive its run by
6
- * a day. The timer is unref'd: a process with nothing left exits on its own
7
- * first, with its own exit code.
4
+ * to 1.0.37 arm a 24 hour timer for each shell call they move to the
5
+ * background and never clear it, so after such a turn the process would
6
+ * outlive its run by a day; 1.0.38 clears it, and the exit stays as a
7
+ * backstop. The timer is unref'd: a process with nothing left exits on its
8
+ * own first, with its own exit code.
8
9
  */
9
10
  export function exitWhenFinished(graceMs = 1000) {
10
11
  setTimeout(() => {
package/dist/exit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"exit.js","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAG,IAAI;IAC7C,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"exit.js","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAG,IAAI;IAC7C,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/oar-cli",
3
- "version": "0.66.1",
3
+ "version": "0.68.0",
4
4
  "description": "Command-line interface for controlling and observing agent runtimes with OAR",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,9 +11,9 @@
11
11
  "README.md"
12
12
  ],
13
13
  "dependencies": {
14
- "@cursor/sdk": "1.0.37",
14
+ "@cursor/sdk": "1.0.38",
15
15
  "commander": "^12.1.0",
16
- "@botiverse/oar": "0.66.1"
16
+ "@botiverse/oar": "0.68.0"
17
17
  },
18
18
  "publishConfig": {
19
19
  "access": "public"