@botiverse/oar 0.46.0 → 0.48.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 +48 -5
- package/assets/brands/NOTICE.md +2 -0
- package/assets/brands/pi-durable-on-dark.svg +6 -0
- package/assets/brands/pi-durable-on-light.svg +6 -0
- package/assets/brands/pi-durable.svg +6 -0
- package/dist/brands.d.ts +8 -0
- package/dist/brands.d.ts.map +1 -1
- package/dist/brands.js +2 -1
- package/dist/brands.js.map +1 -1
- package/dist/browser.d.ts +12 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +10 -0
- package/dist/browser.js.map +1 -0
- package/dist/contracts/index.d.ts +15 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +4 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/install.d.ts +96 -0
- package/dist/contracts/install.d.ts.map +1 -0
- package/dist/contracts/install.js +2 -0
- package/dist/contracts/install.js.map +1 -0
- package/dist/contracts/records.d.ts +9 -11
- package/dist/contracts/records.d.ts.map +1 -1
- package/dist/contracts/runtime.d.ts +16 -0
- package/dist/contracts/runtime.d.ts.map +1 -1
- package/dist/contracts/runtime.js.map +1 -1
- package/dist/contracts/tool-output.d.ts +9 -0
- package/dist/contracts/tool-output.d.ts.map +1 -1
- package/dist/index.d.ts +1 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/observe/agent-status.d.ts +1 -0
- package/dist/observe/agent-status.d.ts.map +1 -1
- package/dist/observe/agent-status.js +3 -0
- package/dist/observe/agent-status.js.map +1 -1
- package/dist/observe/conversation.d.ts +2 -2
- package/dist/observe/conversation.d.ts.map +1 -1
- package/dist/observe/input-delivery.d.ts +1 -1
- package/dist/observe/input-delivery.d.ts.map +1 -1
- package/dist/observe/session-view-events.d.ts.map +1 -1
- package/dist/observe/session-view-events.js +7 -2
- package/dist/observe/session-view-events.js.map +1 -1
- package/dist/observe/session-view-tools.d.ts +6 -0
- package/dist/observe/session-view-tools.d.ts.map +1 -1
- package/dist/observe/session-view-tools.js +7 -1
- package/dist/observe/session-view-tools.js.map +1 -1
- package/dist/observe/session-view.d.ts +1 -1
- package/dist/observe/session-view.d.ts.map +1 -1
- package/dist/observe/tool-activity.d.ts.map +1 -1
- package/dist/observe/tool-activity.js +4 -1
- package/dist/observe/tool-activity.js.map +1 -1
- package/dist/pi-durable.d.ts +3 -0
- package/dist/pi-durable.d.ts.map +1 -0
- package/dist/pi-durable.js +3 -0
- package/dist/pi-durable.js.map +1 -0
- package/dist/runtimes/antigravity/index.d.ts +7 -5
- package/dist/runtimes/antigravity/index.d.ts.map +1 -1
- package/dist/runtimes/antigravity/index.js +3 -0
- package/dist/runtimes/antigravity/index.js.map +1 -1
- package/dist/runtimes/antigravity/install.d.ts +10 -0
- package/dist/runtimes/antigravity/install.d.ts.map +1 -0
- package/dist/runtimes/antigravity/install.js +16 -0
- package/dist/runtimes/antigravity/install.js.map +1 -0
- package/dist/runtimes/antigravity/installation.d.ts +1 -1
- package/dist/runtimes/antigravity/installation.d.ts.map +1 -1
- package/dist/runtimes/claude/index.d.ts +11 -9
- package/dist/runtimes/claude/index.d.ts.map +1 -1
- package/dist/runtimes/claude/index.js +4 -0
- package/dist/runtimes/claude/index.js.map +1 -1
- package/dist/runtimes/claude/install.d.ts +17 -0
- package/dist/runtimes/claude/install.d.ts.map +1 -0
- package/dist/runtimes/claude/install.js +29 -0
- package/dist/runtimes/claude/install.js.map +1 -0
- package/dist/runtimes/claude/installation.d.ts +10 -1
- package/dist/runtimes/claude/installation.d.ts.map +1 -1
- package/dist/runtimes/claude/installation.js +15 -1
- package/dist/runtimes/claude/installation.js.map +1 -1
- package/dist/runtimes/codex/index.d.ts +10 -8
- package/dist/runtimes/codex/index.d.ts.map +1 -1
- package/dist/runtimes/codex/index.js +4 -0
- package/dist/runtimes/codex/index.js.map +1 -1
- package/dist/runtimes/codex/install.d.ts +18 -0
- package/dist/runtimes/codex/install.d.ts.map +1 -0
- package/dist/runtimes/codex/install.js +30 -0
- package/dist/runtimes/codex/install.js.map +1 -0
- package/dist/runtimes/codex/installation.d.ts +12 -1
- package/dist/runtimes/codex/installation.d.ts.map +1 -1
- package/dist/runtimes/codex/installation.js +28 -13
- package/dist/runtimes/codex/installation.js.map +1 -1
- package/dist/runtimes/codex/projection.d.ts.map +1 -1
- package/dist/runtimes/codex/projection.js +3 -1
- package/dist/runtimes/codex/projection.js.map +1 -1
- package/dist/runtimes/grok/index.d.ts +9 -7
- package/dist/runtimes/grok/index.d.ts.map +1 -1
- package/dist/runtimes/grok/index.js +3 -0
- package/dist/runtimes/grok/index.js.map +1 -1
- package/dist/runtimes/grok/install.d.ts +13 -0
- package/dist/runtimes/grok/install.d.ts.map +1 -0
- package/dist/runtimes/grok/install.js +25 -0
- package/dist/runtimes/grok/install.js.map +1 -0
- package/dist/runtimes/grok/installation.d.ts +1 -1
- package/dist/runtimes/grok/installation.d.ts.map +1 -1
- package/dist/runtimes/grok/session.d.ts.map +1 -1
- package/dist/runtimes/grok/session.js +1 -0
- package/dist/runtimes/grok/session.js.map +1 -1
- package/dist/runtimes/kimi/index.d.ts +9 -7
- package/dist/runtimes/kimi/index.d.ts.map +1 -1
- package/dist/runtimes/kimi/index.js +3 -0
- package/dist/runtimes/kimi/index.js.map +1 -1
- package/dist/runtimes/kimi/install.d.ts +16 -0
- package/dist/runtimes/kimi/install.d.ts.map +1 -0
- package/dist/runtimes/kimi/install.js +28 -0
- package/dist/runtimes/kimi/install.js.map +1 -0
- package/dist/runtimes/kimi/installation.d.ts +1 -1
- package/dist/runtimes/kimi/installation.d.ts.map +1 -1
- package/dist/runtimes/kimi/session.d.ts +1 -1
- package/dist/runtimes/kimi/session.d.ts.map +1 -1
- package/dist/runtimes/opencode/attribution.d.ts +4 -0
- package/dist/runtimes/opencode/attribution.d.ts.map +1 -0
- package/dist/runtimes/opencode/attribution.js +13 -0
- package/dist/runtimes/opencode/attribution.js.map +1 -0
- package/dist/runtimes/opencode/index.d.ts +7 -4
- package/dist/runtimes/opencode/index.d.ts.map +1 -1
- package/dist/runtimes/opencode/index.js +4 -0
- package/dist/runtimes/opencode/index.js.map +1 -1
- package/dist/runtimes/opencode/install.d.ts +30 -0
- package/dist/runtimes/opencode/install.d.ts.map +1 -0
- package/dist/runtimes/opencode/install.js +55 -0
- package/dist/runtimes/opencode/install.js.map +1 -0
- package/dist/runtimes/opencode/installation.d.ts +2 -2
- package/dist/runtimes/opencode/installation.d.ts.map +1 -1
- package/dist/runtimes/opencode/installation.js +1 -1
- package/dist/runtimes/opencode/list-models.d.ts.map +1 -1
- package/dist/runtimes/opencode/list-models.js +15 -2
- package/dist/runtimes/opencode/list-models.js.map +1 -1
- package/dist/runtimes/opencode/session.d.ts +2 -0
- package/dist/runtimes/opencode/session.d.ts.map +1 -1
- package/dist/runtimes/opencode/session.js +24 -6
- package/dist/runtimes/opencode/session.js.map +1 -1
- package/dist/runtimes/opencode/version.d.ts +5 -0
- package/dist/runtimes/opencode/version.d.ts.map +1 -0
- package/dist/runtimes/opencode/version.js +23 -0
- package/dist/runtimes/opencode/version.js.map +1 -0
- package/dist/runtimes/pi/index.d.ts +6 -6
- package/dist/runtimes/pi/list-models.d.ts +3 -35
- package/dist/runtimes/pi/list-models.d.ts.map +1 -1
- package/dist/runtimes/pi/list-models.js +2 -22
- package/dist/runtimes/pi/list-models.js.map +1 -1
- package/dist/runtimes/pi/model-projection.d.ts +36 -0
- package/dist/runtimes/pi/model-projection.d.ts.map +1 -0
- package/dist/runtimes/pi/model-projection.js +23 -0
- package/dist/runtimes/pi/model-projection.js.map +1 -0
- package/dist/runtimes/pi/projection.d.ts.map +1 -1
- package/dist/runtimes/pi/projection.js +1 -0
- package/dist/runtimes/pi/projection.js.map +1 -1
- package/dist/runtimes/pi-durable/index.d.ts +12 -0
- package/dist/runtimes/pi-durable/index.d.ts.map +1 -0
- package/dist/runtimes/pi-durable/index.js +25 -0
- package/dist/runtimes/pi-durable/index.js.map +1 -0
- package/dist/runtimes/pi-durable/messages.d.ts +20 -0
- package/dist/runtimes/pi-durable/messages.d.ts.map +1 -0
- package/dist/runtimes/pi-durable/messages.js +57 -0
- package/dist/runtimes/pi-durable/messages.js.map +1 -0
- package/dist/runtimes/pi-durable/options.d.ts +7 -0
- package/dist/runtimes/pi-durable/options.d.ts.map +1 -0
- package/dist/runtimes/pi-durable/options.js +90 -0
- package/dist/runtimes/pi-durable/options.js.map +1 -0
- package/dist/runtimes/pi-durable/projection.d.ts +19 -0
- package/dist/runtimes/pi-durable/projection.d.ts.map +1 -0
- package/dist/runtimes/pi-durable/projection.js +140 -0
- package/dist/runtimes/pi-durable/projection.js.map +1 -0
- package/dist/runtimes/pi-durable/session.d.ts +5 -0
- package/dist/runtimes/pi-durable/session.d.ts.map +1 -0
- package/dist/runtimes/pi-durable/session.js +137 -0
- package/dist/runtimes/pi-durable/session.js.map +1 -0
- package/dist/shared/acp/profile.d.ts +9 -4
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/acp/records.d.ts +2 -1
- package/dist/shared/acp/records.d.ts.map +1 -1
- package/dist/shared/acp/records.js +6 -2
- package/dist/shared/acp/records.js.map +1 -1
- package/dist/shared/acp/session.js +2 -2
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/acp/turns.d.ts +6 -5
- package/dist/shared/acp/turns.d.ts.map +1 -1
- package/dist/shared/acp/turns.js +21 -10
- package/dist/shared/acp/turns.js.map +1 -1
- package/dist/shared/executable/index.d.ts +1 -1
- package/dist/shared/executable/index.d.ts.map +1 -1
- package/dist/shared/executable/index.js +1 -1
- package/dist/shared/executable/index.js.map +1 -1
- package/dist/shared/executable/isolated.d.ts +5 -0
- package/dist/shared/executable/isolated.d.ts.map +1 -1
- package/dist/shared/executable/isolated.js +8 -0
- package/dist/shared/executable/isolated.js.map +1 -1
- package/dist/shared/install.d.ts +70 -0
- package/dist/shared/install.d.ts.map +1 -0
- package/dist/shared/install.js +176 -0
- package/dist/shared/install.js.map +1 -0
- package/dist/shared/seal-session.d.ts.map +1 -1
- package/dist/shared/seal-session.js +1 -2
- package/dist/shared/seal-session.js.map +1 -1
- package/dist/shared/session-kernel.d.ts.map +1 -1
- package/dist/shared/session-kernel.js +2 -3
- package/dist/shared/session-kernel.js.map +1 -1
- package/dist/shared/update.d.ts +1 -1
- package/dist/shared/update.d.ts.map +1 -1
- package/dist/shared/update.js +4 -8
- package/dist/shared/update.js.map +1 -1
- package/package.json +22 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/executable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,WAAW,EAAuB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/executable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAuB,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAsB,MAAM,cAAc,CAAC;AAEzE,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
|
|
@@ -16,4 +16,9 @@ export interface IsolatedRunOptions {
|
|
|
16
16
|
* or left running after it.
|
|
17
17
|
*/
|
|
18
18
|
export declare function runIsolated(command: string, args: readonly string[], options: IsolatedRunOptions): Promise<IsolatedResult>;
|
|
19
|
+
/**
|
|
20
|
+
* A run's stdout then stderr, verbatim, with oar's note when the timeout
|
|
21
|
+
* stopped it. `what` names the command for that note ("updater", "installer").
|
|
22
|
+
*/
|
|
23
|
+
export declare function isolatedOutput(result: IsolatedResult, timeoutMs: number, what: string): string;
|
|
19
24
|
//# sourceMappingURL=isolated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/isolated.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAwBD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyChI"}
|
|
1
|
+
{"version":3,"file":"isolated.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/isolated.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAwBD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyChI;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9F"}
|
|
@@ -68,4 +68,12 @@ export async function runIsolated(command, args, options) {
|
|
|
68
68
|
clearTimeout(timer);
|
|
69
69
|
return { exitCode: stop.timedOut ? null : exitCode, timedOut: stop.timedOut, stdout, stderr };
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* A run's stdout then stderr, verbatim, with oar's note when the timeout
|
|
73
|
+
* stopped it. `what` names the command for that note ("updater", "installer").
|
|
74
|
+
*/
|
|
75
|
+
export function isolatedOutput(result, timeoutMs, what) {
|
|
76
|
+
const output = `${result.stdout}${result.stderr}`;
|
|
77
|
+
return result.timedOut ? `${output}\n[oar: stopped the ${what} after ${String(timeoutMs)} ms]\n` : output;
|
|
78
|
+
}
|
|
71
79
|
//# sourceMappingURL=isolated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated.js","sourceRoot":"","sources":["../../../src/shared/executable/isolated.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"isolated.js","sourceRoot":"","sources":["../../../src/shared/executable/isolated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { InstallLine, InstallPlan, InstallPlanner, InstallUnsupported, Installer } from "../contracts/install.js";
|
|
2
|
+
import type { AvailableInstallation, InstallationProbe } from "../contracts/installation.js";
|
|
3
|
+
/**
|
|
4
|
+
* A vendor's documented `curl … | sh` installer for macOS and Linux. Every
|
|
5
|
+
* built-in one installs per user, under the home directory, into the layout
|
|
6
|
+
* the runtime's own updater recognizes.
|
|
7
|
+
*/
|
|
8
|
+
export interface ScriptInstallMethod {
|
|
9
|
+
/** The vendor's page that documents the method: the plan's `source`. */
|
|
10
|
+
readonly source: string;
|
|
11
|
+
/** The command line as the vendor documents it (with its own non-interactive switch, if any), run by `sh -c`. */
|
|
12
|
+
readonly line: string;
|
|
13
|
+
/** The programs the line runs, which must be on PATH. */
|
|
14
|
+
readonly tools: readonly string[];
|
|
15
|
+
/** The directories the installer writes, honoring the installer's own location variables. */
|
|
16
|
+
readonly writes: () => readonly string[];
|
|
17
|
+
/** How the vendor installs on Windows, which oar does not run, as a sentence for the `platform` detail. */
|
|
18
|
+
readonly windows: string;
|
|
19
|
+
}
|
|
20
|
+
/** An installer's location variable when it is set and not empty, otherwise its default. */
|
|
21
|
+
export declare function installDir(variable: string | undefined, fallback: string): string;
|
|
22
|
+
/** What a plan reads about this machine. */
|
|
23
|
+
export interface InstallHost {
|
|
24
|
+
readonly platform: NodeJS.Platform;
|
|
25
|
+
readonly arch: string;
|
|
26
|
+
/** The tool's path on PATH, or null. */
|
|
27
|
+
readonly locate: (tool: string) => string | null;
|
|
28
|
+
/** The existing directory at or above `dir` that this user cannot write, or null when the installer could create `dir`. */
|
|
29
|
+
readonly unwritable: (dir: string) => string | null;
|
|
30
|
+
}
|
|
31
|
+
/** The nearest existing directory at or above `dir`, when this user cannot write it; null when `dir` can be created or written. */
|
|
32
|
+
export declare function unwritableAncestor(dir: string): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* The plan for a script installer on `host`: `platform` off macOS and Linux
|
|
35
|
+
* (the vendors' Windows installers are PowerShell scripts oar has not
|
|
36
|
+
* verified, so their command is only named), `missing_tool` when the line's
|
|
37
|
+
* programs are not on PATH, `requires_privileges` when a directory it writes
|
|
38
|
+
* is not this user's to write (an install location variable pointing at
|
|
39
|
+
* `/usr/local`, say), which the installer would otherwise discover midway.
|
|
40
|
+
*/
|
|
41
|
+
export declare function scriptInstallPlanOn(method: ScriptInstallMethod, host: InstallHost): InstallPlan;
|
|
42
|
+
/** A runtime with one release line: a `line` is refused, never ignored. */
|
|
43
|
+
export declare function scriptInstallPlan(method: ScriptInstallMethod, host?: InstallHost): InstallPlanner;
|
|
44
|
+
/** A runtime's parallel release lines, each with its own script installer. */
|
|
45
|
+
export interface LinedInstallMethods {
|
|
46
|
+
readonly lines: readonly InstallLine[];
|
|
47
|
+
readonly methods: Readonly<Record<string, ScriptInstallMethod>>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The plan for the line `options.line` names: `line_required` without one
|
|
51
|
+
* (oar does not choose a line for the person), `unknown_line` for a line the
|
|
52
|
+
* runtime does not ship.
|
|
53
|
+
*/
|
|
54
|
+
export declare function linedInstallPlan(lined: LinedInstallMethods, host?: InstallHost): InstallPlanner;
|
|
55
|
+
/** A runtime whose vendor offers nothing oar can run: its plan and its install give this answer. */
|
|
56
|
+
export declare function unsupportedInstallPlan(unsupported: InstallUnsupported): InstallPlanner;
|
|
57
|
+
/** The release line an installation belongs to, read from its version; undefined when it does not tell. */
|
|
58
|
+
export type InstallLineOf = (installation: AvailableInstallation) => string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* An installer from the runtime's installation probe and its plan. The
|
|
61
|
+
* probe decides both ends: an installation it already finds means nothing
|
|
62
|
+
* runs (`already_installed`, whichever line was asked for, so a copy of one
|
|
63
|
+
* line is never replaced by another), and after the plan's steps ran, only
|
|
64
|
+
* an available installation it finds is `installed`, whatever the installer
|
|
65
|
+
* exited with: what the probe finds is what a session would run, and a copy
|
|
66
|
+
* the installer put where the probe does not look is a probe to fix.
|
|
67
|
+
* `lineOf` names the line of what the probe found, for a runtime with lines.
|
|
68
|
+
*/
|
|
69
|
+
export declare function planInstaller(probe: InstallationProbe, plan: InstallPlanner, lineOf?: InstallLineOf): Installer;
|
|
70
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/shared/install.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EAEX,WAAW,EACX,cAAc,EAGd,kBAAkB,EAClB,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAwB,MAAM,8BAA8B,CAAC;AAMnH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iHAAiH;IACjH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACzC,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,2HAA2H;IAC3H,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD;AAcD,mIAAmI;AACnI,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7D;AAYD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,CA+B/F;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,GAAE,WAAyB,GAAG,cAAc,CAQ9G;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,GAAE,WAAyB,GAAG,cAAc,CAa5G;AAED,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,GAAG,cAAc,CAKtF;AAoCD,2GAA2G;AAC3G,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,qBAAqB,KAAK,MAAM,GAAG,SAAS,CAAC;AAOxF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAiB/G"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { accessSync, constants, existsSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { isolatedOutput, resolveExecutable, runIsolated } from "./executable/index.js";
|
|
4
|
+
import { updaterEnv } from "./update.js";
|
|
5
|
+
const INSTALL_TIMEOUT_MS = 600_000;
|
|
6
|
+
/** An installer's location variable when it is set and not empty, otherwise its default. */
|
|
7
|
+
export function installDir(variable, fallback) {
|
|
8
|
+
return variable === undefined || variable === "" ? fallback : variable;
|
|
9
|
+
}
|
|
10
|
+
function nearestExisting(dir) {
|
|
11
|
+
let current = path.resolve(dir);
|
|
12
|
+
while (!existsSync(current)) {
|
|
13
|
+
const parent = path.dirname(current);
|
|
14
|
+
if (parent === current) {
|
|
15
|
+
return current;
|
|
16
|
+
}
|
|
17
|
+
current = parent;
|
|
18
|
+
}
|
|
19
|
+
return current;
|
|
20
|
+
}
|
|
21
|
+
/** The nearest existing directory at or above `dir`, when this user cannot write it; null when `dir` can be created or written. */
|
|
22
|
+
export function unwritableAncestor(dir) {
|
|
23
|
+
const existing = nearestExisting(dir);
|
|
24
|
+
try {
|
|
25
|
+
accessSync(existing, constants.W_OK);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return existing;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const thisMachine = {
|
|
33
|
+
platform: process.platform,
|
|
34
|
+
arch: process.arch,
|
|
35
|
+
locate: (tool) => resolveExecutable(tool),
|
|
36
|
+
unwritable: unwritableAncestor,
|
|
37
|
+
};
|
|
38
|
+
const SCRIPT_PLATFORMS = new Set(["darwin", "linux"]);
|
|
39
|
+
const SCRIPT_ARCHES = new Set(["x64", "arm64"]);
|
|
40
|
+
/**
|
|
41
|
+
* The plan for a script installer on `host`: `platform` off macOS and Linux
|
|
42
|
+
* (the vendors' Windows installers are PowerShell scripts oar has not
|
|
43
|
+
* verified, so their command is only named), `missing_tool` when the line's
|
|
44
|
+
* programs are not on PATH, `requires_privileges` when a directory it writes
|
|
45
|
+
* is not this user's to write (an install location variable pointing at
|
|
46
|
+
* `/usr/local`, say), which the installer would otherwise discover midway.
|
|
47
|
+
*/
|
|
48
|
+
export function scriptInstallPlanOn(method, host) {
|
|
49
|
+
if (!SCRIPT_PLATFORMS.has(host.platform)) {
|
|
50
|
+
return {
|
|
51
|
+
kind: "unsupported",
|
|
52
|
+
reason: "platform",
|
|
53
|
+
detail: host.platform === "win32"
|
|
54
|
+
? `oar runs this installer on macOS and Linux only. On Windows, ${method.windows}`
|
|
55
|
+
: `the installer supports macOS and Linux, not ${host.platform}`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (!SCRIPT_ARCHES.has(host.arch)) {
|
|
59
|
+
return { kind: "unsupported", reason: "platform", detail: `the installer has no build for ${host.arch}` };
|
|
60
|
+
}
|
|
61
|
+
for (const tool of ["sh", ...method.tools]) {
|
|
62
|
+
if (host.locate(tool) === null) {
|
|
63
|
+
return { kind: "unsupported", reason: "missing_tool", detail: tool };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
for (const dir of method.writes()) {
|
|
67
|
+
const blocked = host.unwritable(dir);
|
|
68
|
+
if (blocked !== null) {
|
|
69
|
+
return { kind: "unsupported", reason: "requires_privileges", detail: `the installer writes ${dir}, and ${blocked} is not writable by this user` };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
kind: "plan",
|
|
74
|
+
steps: [{ command: ["sh", "-c", method.line], display: method.line }],
|
|
75
|
+
source: method.source,
|
|
76
|
+
network: true,
|
|
77
|
+
privileges: false,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** A runtime with one release line: a `line` is refused, never ignored. */
|
|
81
|
+
export function scriptInstallPlan(method, host = thisMachine) {
|
|
82
|
+
return async (options = {}) => {
|
|
83
|
+
await Promise.resolve();
|
|
84
|
+
if (options.line !== undefined) {
|
|
85
|
+
return { kind: "unsupported", reason: "unknown_line", detail: `this runtime ships one release line; leave line ${JSON.stringify(options.line)} out` };
|
|
86
|
+
}
|
|
87
|
+
return scriptInstallPlanOn(method, host);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The plan for the line `options.line` names: `line_required` without one
|
|
92
|
+
* (oar does not choose a line for the person), `unknown_line` for a line the
|
|
93
|
+
* runtime does not ship.
|
|
94
|
+
*/
|
|
95
|
+
export function linedInstallPlan(lined, host = thisMachine) {
|
|
96
|
+
const names = lined.lines.map((entry) => entry.line).join(", ");
|
|
97
|
+
return async (options = {}) => {
|
|
98
|
+
await Promise.resolve();
|
|
99
|
+
if (options.line === undefined) {
|
|
100
|
+
return { kind: "unsupported", reason: "line_required", detail: `choose a release line: ${names}` };
|
|
101
|
+
}
|
|
102
|
+
const method = Object.hasOwn(lined.methods, options.line) ? lined.methods[options.line] : undefined;
|
|
103
|
+
if (method === undefined) {
|
|
104
|
+
return { kind: "unsupported", reason: "unknown_line", detail: `${JSON.stringify(options.line)} is not one of ${names}` };
|
|
105
|
+
}
|
|
106
|
+
return scriptInstallPlanOn(method, host);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/** A runtime whose vendor offers nothing oar can run: its plan and its install give this answer. */
|
|
110
|
+
export function unsupportedInstallPlan(unsupported) {
|
|
111
|
+
return async () => {
|
|
112
|
+
await Promise.resolve();
|
|
113
|
+
return unsupported;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/** Run the steps in order, without stdin or a terminal, stopping at the first that fails; one deadline bounds them all. */
|
|
117
|
+
async function runSteps(steps, timeoutMs) {
|
|
118
|
+
const deadline = Date.now() + timeoutMs;
|
|
119
|
+
let output = "";
|
|
120
|
+
let exitCode = 0;
|
|
121
|
+
for (const step of steps) {
|
|
122
|
+
const [command, ...args] = step.command;
|
|
123
|
+
if (command === undefined) {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const run = await runIsolated(command, args, { env: updaterEnv(), timeoutMs: Math.max(deadline - Date.now(), 1) });
|
|
127
|
+
output += isolatedOutput(run, timeoutMs, "installer");
|
|
128
|
+
exitCode = run.exitCode;
|
|
129
|
+
if (run.timedOut || exitCode !== 0) {
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return { exitCode, output };
|
|
134
|
+
}
|
|
135
|
+
async function probeAfter(probe) {
|
|
136
|
+
try {
|
|
137
|
+
return { snapshot: await probe(), note: "" };
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
141
|
+
return { note: `\n[oar: the installation probe after the installer failed: ${message}]\n` };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function withLine(installation, lineOf) {
|
|
145
|
+
const line = lineOf?.(installation);
|
|
146
|
+
return line === undefined ? { installation } : { installation, line };
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* An installer from the runtime's installation probe and its plan. The
|
|
150
|
+
* probe decides both ends: an installation it already finds means nothing
|
|
151
|
+
* runs (`already_installed`, whichever line was asked for, so a copy of one
|
|
152
|
+
* line is never replaced by another), and after the plan's steps ran, only
|
|
153
|
+
* an available installation it finds is `installed`, whatever the installer
|
|
154
|
+
* exited with: what the probe finds is what a session would run, and a copy
|
|
155
|
+
* the installer put where the probe does not look is a probe to fix.
|
|
156
|
+
* `lineOf` names the line of what the probe found, for a runtime with lines.
|
|
157
|
+
*/
|
|
158
|
+
export function planInstaller(probe, plan, lineOf) {
|
|
159
|
+
return async (options = {}) => {
|
|
160
|
+
const before = await probe();
|
|
161
|
+
if (before.kind === "available") {
|
|
162
|
+
return { kind: "already_installed", ...withLine(before, lineOf) };
|
|
163
|
+
}
|
|
164
|
+
const planned = await plan(options);
|
|
165
|
+
if (planned.kind === "unsupported") {
|
|
166
|
+
return planned;
|
|
167
|
+
}
|
|
168
|
+
const run = await runSteps(planned.steps, options.timeoutMs ?? INSTALL_TIMEOUT_MS);
|
|
169
|
+
const after = await probeAfter(probe);
|
|
170
|
+
if (after.snapshot?.kind === "available") {
|
|
171
|
+
return { kind: "installed", ...withLine(after.snapshot, lineOf), output: run.output };
|
|
172
|
+
}
|
|
173
|
+
return { kind: "failed", exitCode: run.exitCode, output: `${run.output}${after.note}` };
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/shared/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal-session.d.ts","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seal-session.d.ts","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,cAAc,EACd,OAAO,EAER,MAAM,yBAAyB,CAAC;AAcjC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAUtE;AAED;;;;;;;;GAQG;AAEH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CA2DnE"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { statusOf } from "../observe/agent-status.js";
|
|
3
2
|
import { coalesceText, eventsReader } from "../observe/events.js";
|
|
4
3
|
import { contextUsageOf, effortOf, modelOf, serviceTierOf, usageOf } from "../observe/usage.js";
|
|
5
4
|
import { deliverInto } from "./deliver.js";
|
|
6
5
|
const identify = (options = {}) => {
|
|
7
|
-
const inputId = options.inputId ?? randomUUID();
|
|
6
|
+
const inputId = options.inputId ?? globalThis.crypto.randomUUID();
|
|
8
7
|
if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(inputId)) {
|
|
9
8
|
throw new Error("inputId must be a UUID");
|
|
10
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,gHAAgH;AAChH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7C,gHAAgH;IAChH,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACjH,iDAAiD;IACjD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC9E;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5I;;;;;;OAMG;IACH,WAAW,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3H,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACpE,OAAO,IAAI,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,IAAI,YAAY,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,wIAAwI;IACxI,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAqBD,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAuC,GAAG,aAAa,CAgGrG"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { emptyInputRefusal } from "./control-input.js";
|
|
2
|
-
import { randomUUID } from "node:crypto";
|
|
3
2
|
async function settle(decide, issued) {
|
|
4
3
|
try {
|
|
5
4
|
return await decide(issued);
|
|
@@ -16,7 +15,7 @@ function deliver(observer, record) {
|
|
|
16
15
|
// Observers are a side-tap; their failures must not touch the run.
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
|
-
export function createSessionKernel(sessionId = randomUUID()) {
|
|
18
|
+
export function createSessionKernel(sessionId = globalThis.crypto.randomUUID()) {
|
|
20
19
|
const observers = new Set();
|
|
21
20
|
const log = [];
|
|
22
21
|
const nodes = new Map([[sessionId, { id: sessionId }]]);
|
|
@@ -52,7 +51,7 @@ export function createSessionKernel(sessionId = randomUUID()) {
|
|
|
52
51
|
}
|
|
53
52
|
return disposing ? { kind: "rejected", code: "disposed", reason: "session disposed" } : null;
|
|
54
53
|
};
|
|
55
|
-
const request = (direction, body, at) => append((envelope) => ({ ...envelope, kind: "request", id: at?.id ?? randomUUID(), direction, body }), at);
|
|
54
|
+
const request = (direction, body, at) => append((envelope) => ({ ...envelope, kind: "request", id: at?.id ?? globalThis.crypto.randomUUID(), direction, body }), at);
|
|
56
55
|
const respond = (requestId, body, at) => append((envelope) => ({ ...envelope, kind: "response", requestId, body }), at);
|
|
57
56
|
return {
|
|
58
57
|
sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-kernel.js","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-kernel.js","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/update.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { AvailableInstallation, ExecutableInstallation } from "../contracts
|
|
|
2
2
|
import type { UpdateCheck, UpdateChecker, UpgradeOptions, UpgradeResult } from "../contracts/update.js";
|
|
3
3
|
import { type IsolatedResult } from "./executable/index.js";
|
|
4
4
|
export declare const CHECK_TIMEOUT_MS = 20000;
|
|
5
|
-
/** The release version inside a `--version` line or release pointer: a semver. */
|
|
5
|
+
/** The release version inside a `--version` line or release pointer: a semver, after a `v` or not (`opencode v2.0.26`). */
|
|
6
6
|
export declare function releaseVersion(text: string): string | undefined;
|
|
7
7
|
/** Numeric `major.minor.patch` order; prerelease tags are ignored. */
|
|
8
8
|
export declare function versionAtLeast(version: string, floor: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/shared/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/shared/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGhH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAKvC,2HAA2H;AAC3H,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAOD,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAStE;AAID;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAElF;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAElE,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,qBAAqB,GAAG,gBAAgB,CAetF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAahH;AAED,iFAAiF;AACjF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC,CAW7G;AAED,4FAA4F;AAC5F,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAGtE;AAWD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAsBxB"}
|
package/dist/shared/update.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { realpathSync } from "node:fs";
|
|
2
|
-
import { readExecutableVersion, runIsolated } from "./executable/index.js";
|
|
2
|
+
import { isolatedOutput, readExecutableVersion, runIsolated } from "./executable/index.js";
|
|
3
3
|
import { parseJson } from "./json.js";
|
|
4
4
|
export const CHECK_TIMEOUT_MS = 20_000;
|
|
5
5
|
const UPGRADE_TIMEOUT_MS = 600_000;
|
|
6
6
|
/** The slowest installation probe (kimi) allows 30 s for `--version`; a kimi start after an upgrade also swaps the staged binary in. */
|
|
7
7
|
const VERSION_TIMEOUT_MS = 30_000;
|
|
8
|
-
/** The release version inside a `--version` line or release pointer: a semver. */
|
|
8
|
+
/** The release version inside a `--version` line or release pointer: a semver, after a `v` or not (`opencode v2.0.26`). */
|
|
9
9
|
export function releaseVersion(text) {
|
|
10
|
-
return /\
|
|
10
|
+
return /\bv?(\d+\.\d+\.\d+(?:-[\w.]+)?)\b/u.exec(text)?.[1];
|
|
11
11
|
}
|
|
12
12
|
function numericParts(value) {
|
|
13
13
|
const release = value.split("-")[0] ?? "";
|
|
@@ -105,10 +105,6 @@ async function versionNow(command) {
|
|
|
105
105
|
return undefined;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
function runOutput(run, timeoutMs) {
|
|
109
|
-
const output = `${run.stdout}${run.stderr}`;
|
|
110
|
-
return run.timedOut ? `${output}\n[oar: stopped the updater after ${String(timeoutMs)} ms]\n` : output;
|
|
111
|
-
}
|
|
112
108
|
/**
|
|
113
109
|
* Read the executable's version, check, then run the runtime's own updater
|
|
114
110
|
* on the same executable and judge the outcome by the version it reports
|
|
@@ -131,7 +127,7 @@ export async function upgradeExecutable(installation, updater, options = {}) {
|
|
|
131
127
|
const before = now ?? (check.kind === "ok" ? check.installed : undefined);
|
|
132
128
|
const timeoutMs = options.timeoutMs ?? UPGRADE_TIMEOUT_MS;
|
|
133
129
|
const run = await runIsolated(installation.command, updater.args, { env: updaterEnv(), timeoutMs });
|
|
134
|
-
const output =
|
|
130
|
+
const output = isolatedOutput(run, timeoutMs, "updater");
|
|
135
131
|
const after = await versionNow(installation.command);
|
|
136
132
|
if (before !== undefined && after !== undefined && after !== before) {
|
|
137
133
|
return { kind: "upgraded", from: before, to: after, output };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/shared/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/shared/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,15 @@
|
|
|
38
38
|
"types": "./dist/community/index.d.ts",
|
|
39
39
|
"import": "./dist/community/index.js"
|
|
40
40
|
},
|
|
41
|
-
"./assets/brands/*": "./assets/brands/*"
|
|
41
|
+
"./assets/brands/*": "./assets/brands/*",
|
|
42
|
+
"./browser": {
|
|
43
|
+
"types": "./dist/browser.d.ts",
|
|
44
|
+
"import": "./dist/browser.js"
|
|
45
|
+
},
|
|
46
|
+
"./pi-durable": {
|
|
47
|
+
"types": "./dist/pi-durable.d.ts",
|
|
48
|
+
"import": "./dist/pi-durable.js"
|
|
49
|
+
}
|
|
42
50
|
},
|
|
43
51
|
"files": [
|
|
44
52
|
"dist",
|
|
@@ -66,17 +74,27 @@
|
|
|
66
74
|
"which": "^2.0.2"
|
|
67
75
|
},
|
|
68
76
|
"peerDependencies": {
|
|
69
|
-
"@cursor/sdk": "1.0.37"
|
|
77
|
+
"@cursor/sdk": "1.0.37",
|
|
78
|
+
"@earendil-works/pi-durable": "~1.1.0",
|
|
79
|
+
"@earendil-works/chord": "~1.1.0"
|
|
70
80
|
},
|
|
71
81
|
"peerDependenciesMeta": {
|
|
72
82
|
"@cursor/sdk": {
|
|
73
83
|
"optional": true
|
|
84
|
+
},
|
|
85
|
+
"@earendil-works/pi-durable": {
|
|
86
|
+
"optional": true
|
|
87
|
+
},
|
|
88
|
+
"@earendil-works/chord": {
|
|
89
|
+
"optional": true
|
|
74
90
|
}
|
|
75
91
|
},
|
|
76
92
|
"devDependencies": {
|
|
77
93
|
"@cursor/sdk": "1.0.37",
|
|
78
94
|
"@types/cross-spawn": "^6.0.6",
|
|
79
|
-
"@types/which": "^2.0.2"
|
|
95
|
+
"@types/which": "^2.0.2",
|
|
96
|
+
"@earendil-works/pi-durable": "1.1.0",
|
|
97
|
+
"@earendil-works/chord": "1.1.0"
|
|
80
98
|
},
|
|
81
99
|
"scripts": {
|
|
82
100
|
"build": "tsc -p tsconfig.build.json",
|