@botiverse/oar-cli 0.0.6 → 0.0.8
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 +7 -1
- package/dist/index.js +29 -2
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +13 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +56 -0
- package/dist/models.js.map +1 -0
- package/package.json +2 -2
- package/dist/voyage.d.ts +0 -22
- package/dist/voyage.d.ts.map +0 -1
- package/dist/voyage.js +0 -51
- package/dist/voyage.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ Command-line interface for `@botiverse/oar`. It installs the `oar` executable wi
|
|
|
6
6
|
npx @botiverse/oar-cli list
|
|
7
7
|
oar installation codex
|
|
8
8
|
oar usage claude
|
|
9
|
+
oar models claude
|
|
9
10
|
oar run claude "What does this repo do?"
|
|
10
11
|
```
|
|
11
12
|
|
|
@@ -15,6 +16,10 @@ oar run claude "What does this repo do?"
|
|
|
15
16
|
- `oar installation [runtime]` — probe local installation and version, no
|
|
16
17
|
account or usage I/O.
|
|
17
18
|
- `oar usage [runtime]` — account usage for each available installation.
|
|
19
|
+
- `oar models [runtime]` — models each available installation can run right
|
|
20
|
+
now (login state, plan, and configured providers included); `--json` prints
|
|
21
|
+
the `ListModelsResult` per runtime, `--timeout <ms>` bounds each query.
|
|
22
|
+
The first column after the runtime is the `id` to pass to `oar run --model`.
|
|
18
23
|
- `oar run <runtime> <prompt>` — run one turn in a fresh session and show
|
|
19
24
|
its progress; the exit code is 0 only when the turn completed.
|
|
20
25
|
|
|
@@ -57,7 +62,8 @@ behavior — pass `--record` so the claim points at a log anyone can read:
|
|
|
57
62
|
## The `oar-voyage/1` format
|
|
58
63
|
|
|
59
64
|
`--record` writes one JSON object per line, discriminated by `kind`. The
|
|
60
|
-
format is defined and owned
|
|
65
|
+
format is defined and owned by `@botiverse/oar`, which exports the line
|
|
66
|
+
builders and `openVoyage` recorder; other tools (such as the coxswain
|
|
61
67
|
cockpit) may write or read the same format as consumers.
|
|
62
68
|
|
|
63
69
|
- Line 1 is always the header:
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { Command } from "commander";
|
|
4
|
-
import { aggregateDeltas, runtimes, } from "@botiverse/oar";
|
|
4
|
+
import { aggregateDeltas, openVoyage, runtimes, } from "@botiverse/oar";
|
|
5
|
+
import { readModels, renderModels } from "./models.js";
|
|
5
6
|
import { createProgressRenderer } from "./progress.js";
|
|
6
|
-
import { openVoyage } from "./voyage.js";
|
|
7
7
|
// Read the version from this package's own manifest so `--version` can never
|
|
8
8
|
// drift from package.json. `../package.json` resolves to the package root in
|
|
9
9
|
// both src (packages/cli) and the published tarball (package/dist -> package).
|
|
@@ -30,6 +30,7 @@ program
|
|
|
30
30
|
session: true,
|
|
31
31
|
installation: runtime.installation !== undefined,
|
|
32
32
|
accountUsage: runtime.accountUsage !== undefined,
|
|
33
|
+
listModels: runtime.listModels !== undefined,
|
|
33
34
|
}));
|
|
34
35
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
35
36
|
});
|
|
@@ -61,6 +62,32 @@ program
|
|
|
61
62
|
}));
|
|
62
63
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
63
64
|
});
|
|
65
|
+
program
|
|
66
|
+
.command("models [runtime]")
|
|
67
|
+
.description("List models each available installation can run right now")
|
|
68
|
+
.option("--json", "print the ListModelsResult per runtime as JSON")
|
|
69
|
+
.option("--timeout <ms>", "per-runtime listing timeout in milliseconds")
|
|
70
|
+
.action(async (id, flags) => {
|
|
71
|
+
const timeoutMs = flags.timeout === undefined ? undefined : Number(flags.timeout);
|
|
72
|
+
if (timeoutMs !== undefined && !(Number.isInteger(timeoutMs) && timeoutMs > 0)) {
|
|
73
|
+
process.stderr.write("--timeout must be a positive integer number of milliseconds\n");
|
|
74
|
+
process.exitCode = 1;
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const reports = await Promise.all(selected(id).map(async (runtime) => {
|
|
78
|
+
const report = await readModels(runtime, timeoutMs === undefined ? undefined : { timeoutMs });
|
|
79
|
+
return report;
|
|
80
|
+
}));
|
|
81
|
+
if (flags.json === true) {
|
|
82
|
+
process.stdout.write(`${JSON.stringify(reports, null, 2)}\n`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
for (const report of reports) {
|
|
86
|
+
for (const line of renderModels(report)) {
|
|
87
|
+
process.stdout.write(`${line}\n`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
64
91
|
const jsonObserver = (event) => {
|
|
65
92
|
process.stdout.write(`${JSON.stringify(event)}\n`);
|
|
66
93
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,eAAe,EACf,QAAQ,GAGT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InstallationSnapshot, ListModelsResult, Runtime } from "@botiverse/oar";
|
|
2
|
+
export interface ModelsReport {
|
|
3
|
+
readonly runtimeId: string;
|
|
4
|
+
/** Present only when the runtime is installed but not `available`. */
|
|
5
|
+
readonly installation?: InstallationSnapshot;
|
|
6
|
+
/** `null` when installation state made listing impossible. */
|
|
7
|
+
readonly models: ListModelsResult | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function readModels(runtime: Runtime, options?: {
|
|
10
|
+
readonly timeoutMs?: number;
|
|
11
|
+
}): Promise<ModelsReport>;
|
|
12
|
+
export declare function renderModels(report: ModelsReport): string[];
|
|
13
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,EACR,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,YAAY,CAAC,CAoBvB;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAgC3D"}
|
package/dist/models.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export async function readModels(runtime, options) {
|
|
2
|
+
if (runtime.listModels === undefined || runtime.installation === undefined) {
|
|
3
|
+
return {
|
|
4
|
+
runtimeId: runtime.id,
|
|
5
|
+
models: {
|
|
6
|
+
kind: "unsupported",
|
|
7
|
+
reason: runtime.listModels === undefined
|
|
8
|
+
? `${runtime.id} exposes no listModels capability`
|
|
9
|
+
: `${runtime.id} exposes no installation probe`,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const installation = await runtime.installation();
|
|
14
|
+
if (installation.kind !== "available") {
|
|
15
|
+
return { runtimeId: runtime.id, installation, models: null };
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
runtimeId: runtime.id,
|
|
19
|
+
models: await runtime.listModels(installation, options),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
// Human table for one report: one line per model, or one line stating why
|
|
23
|
+
// there is no list. `id` is the selector to pass to `oar run --model`.
|
|
24
|
+
export function renderModels(report) {
|
|
25
|
+
const { runtimeId, models } = report;
|
|
26
|
+
if (models === null) {
|
|
27
|
+
return [`${runtimeId}: not available (${report.installation?.kind ?? "unknown"})`];
|
|
28
|
+
}
|
|
29
|
+
if (models.kind === "unauthenticated") {
|
|
30
|
+
return [`${runtimeId}: not logged in${models.detail === undefined ? "" : ` (${models.detail})`}`];
|
|
31
|
+
}
|
|
32
|
+
if (models.kind === "unsupported") {
|
|
33
|
+
return [`${runtimeId}: unsupported (${models.reason})`];
|
|
34
|
+
}
|
|
35
|
+
if (models.models.length === 0) {
|
|
36
|
+
return [`${runtimeId}: no models`];
|
|
37
|
+
}
|
|
38
|
+
return models.models.map((model) => {
|
|
39
|
+
const parts = [`${runtimeId}\t${model.id}`];
|
|
40
|
+
if (model.resolvedId !== undefined && model.resolvedId !== model.id) {
|
|
41
|
+
parts.push(`-> ${model.resolvedId}`);
|
|
42
|
+
}
|
|
43
|
+
if (model.displayName !== undefined && model.displayName !== model.id) {
|
|
44
|
+
parts.push(`"${model.displayName}"`);
|
|
45
|
+
}
|
|
46
|
+
if (model.effortLevels !== undefined && model.effortLevels.length > 0) {
|
|
47
|
+
const marked = model.effortLevels.map((level) => level === model.defaultEffort ? `${level}*` : level);
|
|
48
|
+
parts.push(`[${marked.join(",")}]`);
|
|
49
|
+
}
|
|
50
|
+
if (model.disabled !== undefined) {
|
|
51
|
+
parts.push(`(disabled: ${model.disabled.reason})`);
|
|
52
|
+
}
|
|
53
|
+
return parts.join(" ");
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Command-line interface for observing agent runtimes with OAR",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"commander": "^12.1.0",
|
|
15
|
-
"@botiverse/oar": "0.0.
|
|
15
|
+
"@botiverse/oar": "0.0.8"
|
|
16
16
|
},
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public"
|
package/dist/voyage.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { SessionEvent } from "@botiverse/oar";
|
|
2
|
-
export declare const VOYAGE_FORMAT = "oar-voyage/1";
|
|
3
|
-
export type SubmissionVia = "prompt" | "steer" | "queue";
|
|
4
|
-
export interface VoyageHeader {
|
|
5
|
-
readonly runtime: string;
|
|
6
|
-
readonly model?: string;
|
|
7
|
-
readonly cwd: string;
|
|
8
|
-
readonly sessionId: string;
|
|
9
|
-
readonly startedAt: number;
|
|
10
|
-
readonly recorder: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function headerLine(header: VoyageHeader): string;
|
|
13
|
-
export declare function submissionLine(at: number, via: SubmissionVia, text: string): string;
|
|
14
|
-
export declare function eventLine(event: SessionEvent): string;
|
|
15
|
-
export declare function endLine(at: number, reason: string): string;
|
|
16
|
-
export interface VoyageRecorder {
|
|
17
|
-
submission(via: SubmissionVia, text: string): void;
|
|
18
|
-
event(event: SessionEvent): void;
|
|
19
|
-
end(reason: string): void;
|
|
20
|
-
}
|
|
21
|
-
export declare function openVoyage(path: string, header: VoyageHeader): VoyageRecorder;
|
|
22
|
-
//# sourceMappingURL=voyage.d.ts.map
|
package/dist/voyage.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../src/voyage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAWvD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAErD;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,cAAc,CAkB7E"}
|
package/dist/voyage.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { closeSync, openSync, writeSync } from "node:fs";
|
|
2
|
-
// The oar-voyage/1 JSONL format: one JSON object per line, discriminated by
|
|
3
|
-
// `kind`. Line 1 is `header`; `submission` marks each human input; `event`
|
|
4
|
-
// wraps one raw SessionEvent verbatim (no filtering or re-timestamping);
|
|
5
|
-
// `end` is the last line — a log without it is a truncated capture. All
|
|
6
|
-
// timestamps are Unix epoch milliseconds on the same clock as `receivedAt`.
|
|
7
|
-
// The format is defined and owned by oar; other tools may consume it.
|
|
8
|
-
export const VOYAGE_FORMAT = "oar-voyage/1";
|
|
9
|
-
export function headerLine(header) {
|
|
10
|
-
return JSON.stringify({
|
|
11
|
-
kind: "header",
|
|
12
|
-
format: VOYAGE_FORMAT,
|
|
13
|
-
runtime: header.runtime,
|
|
14
|
-
...(header.model === undefined ? {} : { model: header.model }),
|
|
15
|
-
cwd: header.cwd,
|
|
16
|
-
sessionId: header.sessionId,
|
|
17
|
-
startedAt: header.startedAt,
|
|
18
|
-
recorder: header.recorder,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export function submissionLine(at, via, text) {
|
|
22
|
-
return JSON.stringify({ kind: "submission", at, via, text });
|
|
23
|
-
}
|
|
24
|
-
export function eventLine(event) {
|
|
25
|
-
return JSON.stringify({ kind: "event", event });
|
|
26
|
-
}
|
|
27
|
-
export function endLine(at, reason) {
|
|
28
|
-
return JSON.stringify({ kind: "end", at, reason });
|
|
29
|
-
}
|
|
30
|
-
// Lines go through synchronous fd writes so their order — and everything
|
|
31
|
-
// written so far — survives a crashing process; `end` closes the file.
|
|
32
|
-
export function openVoyage(path, header) {
|
|
33
|
-
const fd = openSync(path, "w");
|
|
34
|
-
const write = (line) => {
|
|
35
|
-
writeSync(fd, `${line}\n`);
|
|
36
|
-
};
|
|
37
|
-
write(headerLine(header));
|
|
38
|
-
return {
|
|
39
|
-
submission(via, text) {
|
|
40
|
-
write(submissionLine(Date.now(), via, text));
|
|
41
|
-
},
|
|
42
|
-
event(event) {
|
|
43
|
-
write(eventLine(event));
|
|
44
|
-
},
|
|
45
|
-
end(reason) {
|
|
46
|
-
write(endLine(Date.now(), reason));
|
|
47
|
-
closeSync(fd);
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=voyage.js.map
|
package/dist/voyage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voyage.js","sourceRoot":"","sources":["../src/voyage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzD,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,4EAA4E;AAC5E,sEAAsE;AAEtE,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAa5C,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,GAAkB,EAAE,IAAY;IACzE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAmB;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,MAAc;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC;AAQD,yEAAyE;AACzE,uEAAuE;AACvE,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAoB;IAC3D,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1B,OAAO;QACL,UAAU,CAAC,GAAG,EAAE,IAAI;YAClB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG,CAAC,MAAM;YACR,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACnC,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
|