@botiverse/oar 0.47.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 +14 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- 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 +4 -10
- 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/observe/agent-status.d.ts +1 -0
- package/dist/observe/agent-status.d.ts.map +1 -1
- package/dist/observe/agent-status.js +1 -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.js +2 -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/runtimes/antigravity/index.d.ts +2 -0
- 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/claude/index.d.ts +2 -0
- 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 +9 -0
- 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 +2 -0
- 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 +11 -0
- 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 +2 -0
- 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/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 +2 -0
- 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/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 +3 -0
- 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 +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/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/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/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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/grok/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,qBAAqB,EAAE,yBAAyB;IAChD,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,cAAc;IAE1B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/grok/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,qBAAqB,EAAE,yBAAyB;IAChD,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,cAAc;IAE1B,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ScriptInstallMethod } from "../../shared/install.js";
|
|
2
|
+
/**
|
|
3
|
+
* xAI's installer, documented at https://docs.x.ai/build/overview. It
|
|
4
|
+
* downloads the stable release into `~/.grok/downloads` and links
|
|
5
|
+
* `$GROK_BIN_DIR/grok` (default `~/.grok/bin/grok`) to it: the `internal`
|
|
6
|
+
* install `grok update` updates (an npm copy would be a second one). It never
|
|
7
|
+
* prompts. Besides adding its folder to the shell profile, it links `grok`
|
|
8
|
+
* into `~/.local/bin` or `/usr/local/bin` when one is on PATH and writable.
|
|
9
|
+
*/
|
|
10
|
+
export declare const grokInstallMethod: ScriptInstallMethod;
|
|
11
|
+
export declare const grokInstallPlan: import("../../browser.js").InstallPlanner;
|
|
12
|
+
export declare const grokInstall: import("../../browser.js").Installer;
|
|
13
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGjH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAS/B,CAAC;AAEF,eAAO,MAAM,eAAe,2CAAuC,CAAC;AAEpE,eAAO,MAAM,WAAW,sCAAmD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { installDir, planInstaller, scriptInstallPlan } from "../../shared/install.js";
|
|
4
|
+
import { grokInstallation } from "./installation.js";
|
|
5
|
+
/**
|
|
6
|
+
* xAI's installer, documented at https://docs.x.ai/build/overview. It
|
|
7
|
+
* downloads the stable release into `~/.grok/downloads` and links
|
|
8
|
+
* `$GROK_BIN_DIR/grok` (default `~/.grok/bin/grok`) to it: the `internal`
|
|
9
|
+
* install `grok update` updates (an npm copy would be a second one). It never
|
|
10
|
+
* prompts. Besides adding its folder to the shell profile, it links `grok`
|
|
11
|
+
* into `~/.local/bin` or `/usr/local/bin` when one is on PATH and writable.
|
|
12
|
+
*/
|
|
13
|
+
export const grokInstallMethod = {
|
|
14
|
+
source: "https://docs.x.ai/build/overview",
|
|
15
|
+
line: "curl -fsSL https://x.ai/cli/install.sh | bash",
|
|
16
|
+
tools: ["curl", "bash"],
|
|
17
|
+
writes: () => {
|
|
18
|
+
const home = path.join(homedir(), ".grok");
|
|
19
|
+
return [installDir(process.env.GROK_BIN_DIR, path.join(home, "bin")), home];
|
|
20
|
+
},
|
|
21
|
+
windows: "xAI documents, in PowerShell: irm https://x.ai/cli/install.ps1 | iex",
|
|
22
|
+
};
|
|
23
|
+
export const grokInstallPlan = scriptInstallPlan(grokInstallMethod);
|
|
24
|
+
export const grokInstall = planInstaller(grokInstallation, grokInstallPlan);
|
|
25
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/runtimes/grok/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAA4B,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB;IACpD,MAAM,EAAE,kCAAkC;IAC1C,IAAI,EAAE,+CAA+C;IACrD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,sEAAsE;CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAY3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAiBtE;AAYD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAc1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAUzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAkBzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAY3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAiBtE;AAYD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAc1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAUzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAkBzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAiC5B,CAAC;AAEF,eAAO,MAAM,WAAW,mDAA6B,CAAC"}
|
|
@@ -164,6 +164,7 @@ export const grokAcpProfile = {
|
|
|
164
164
|
// model turn that re-issued the interrupted tool calls; both answers fold
|
|
165
165
|
// into the one oar turn (turns.ts).
|
|
166
166
|
steerParams: () => ({ _meta: { sendNow: true } }),
|
|
167
|
+
steerSupersedesPrompt: true,
|
|
167
168
|
promptContextUsage: grokContextUsage,
|
|
168
169
|
promptTokenUsage: grokPromptTokens,
|
|
169
170
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export declare const kimiRuntime: {
|
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
11
|
readonly installation: import("../../browser.js").InstallationProbe;
|
|
12
|
+
readonly installPlan: import("../../browser.js").InstallPlanner;
|
|
13
|
+
readonly install: import("../../browser.js").Installer;
|
|
12
14
|
readonly accountUsage: import("../../browser.js").AccountUsageReader;
|
|
13
15
|
readonly listModels: import("../../browser.js").ModelLister;
|
|
14
16
|
readonly checkUpdate: import("../../browser.js").UpdateChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { runtimeBrands } from "../../brands.js";
|
|
|
2
2
|
import { defineRuntime } from "../../contracts/runtime.js";
|
|
3
3
|
import { kimiAccountUsage } from "./account-usage.js";
|
|
4
4
|
import { kimiInstallation } from "./installation.js";
|
|
5
|
+
import { kimiInstall, kimiInstallPlan } from "./install.js";
|
|
5
6
|
import { kimiListModels } from "./list-models.js";
|
|
6
7
|
import { kimiCheckUpdate, kimiUpgrade } from "./update.js";
|
|
7
8
|
import { kimiRefusedSessionOptions, kimiSession } from "./session.js";
|
|
@@ -9,6 +10,8 @@ export const kimiRuntime = defineRuntime({
|
|
|
9
10
|
id: "kimi",
|
|
10
11
|
brand: runtimeBrands.kimi,
|
|
11
12
|
installation: kimiInstallation,
|
|
13
|
+
installPlan: kimiInstallPlan,
|
|
14
|
+
install: kimiInstall,
|
|
12
15
|
accountUsage: kimiAccountUsage,
|
|
13
16
|
listModels: kimiListModels,
|
|
14
17
|
checkUpdate: kimiCheckUpdate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,qBAAqB,EAAE,yBAAyB;CACjD,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,qBAAqB,EAAE,yBAAyB;CACjD,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ScriptInstallMethod } from "../../shared/install.js";
|
|
2
|
+
/**
|
|
3
|
+
* Moonshot's native installer, documented at
|
|
4
|
+
* https://github.com/MoonshotAI/kimi-code#install. It installs the release
|
|
5
|
+
* `code.kimi.com/kimi-code/latest` names as `$KIMI_INSTALL_DIR/bin/kimi`
|
|
6
|
+
* (default `~/.kimi-code/bin/kimi`), the native copy `kimi upgrade` stages
|
|
7
|
+
* updates for, and records region `mainland-cn` (the `code.kimi.com` source
|
|
8
|
+
* `checkUpdate` then reads; the region only seeds the first login). It never
|
|
9
|
+
* prompts; it adds its folder to the shell profile and renames an older
|
|
10
|
+
* Python `kimi-cli` shim it finds first on PATH to `kimi-legacy`, where this
|
|
11
|
+
* user can write.
|
|
12
|
+
*/
|
|
13
|
+
export declare const kimiInstallMethod: ScriptInstallMethod;
|
|
14
|
+
export declare const kimiInstallPlan: import("../../browser.js").InstallPlanner;
|
|
15
|
+
export declare const kimiInstall: import("../../browser.js").Installer;
|
|
16
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGjH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAS/B,CAAC;AAEF,eAAO,MAAM,eAAe,2CAAuC,CAAC;AAEpE,eAAO,MAAM,WAAW,sCAAmD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { installDir, planInstaller, scriptInstallPlan } from "../../shared/install.js";
|
|
4
|
+
import { kimiInstallation } from "./installation.js";
|
|
5
|
+
/**
|
|
6
|
+
* Moonshot's native installer, documented at
|
|
7
|
+
* https://github.com/MoonshotAI/kimi-code#install. It installs the release
|
|
8
|
+
* `code.kimi.com/kimi-code/latest` names as `$KIMI_INSTALL_DIR/bin/kimi`
|
|
9
|
+
* (default `~/.kimi-code/bin/kimi`), the native copy `kimi upgrade` stages
|
|
10
|
+
* updates for, and records region `mainland-cn` (the `code.kimi.com` source
|
|
11
|
+
* `checkUpdate` then reads; the region only seeds the first login). It never
|
|
12
|
+
* prompts; it adds its folder to the shell profile and renames an older
|
|
13
|
+
* Python `kimi-cli` shim it finds first on PATH to `kimi-legacy`, where this
|
|
14
|
+
* user can write.
|
|
15
|
+
*/
|
|
16
|
+
export const kimiInstallMethod = {
|
|
17
|
+
source: "https://github.com/MoonshotAI/kimi-code#install",
|
|
18
|
+
line: "curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash",
|
|
19
|
+
tools: ["curl", "bash"],
|
|
20
|
+
writes: () => {
|
|
21
|
+
const home = path.join(homedir(), ".kimi-code");
|
|
22
|
+
return [installDir(process.env.KIMI_INSTALL_DIR, home), installDir(process.env.KIMI_CODE_HOME, home)];
|
|
23
|
+
},
|
|
24
|
+
windows: "Moonshot documents, in PowerShell: irm https://code.kimi.com/kimi-code/install.ps1 | iex",
|
|
25
|
+
};
|
|
26
|
+
export const kimiInstallPlan = scriptInstallPlan(kimiInstallMethod);
|
|
27
|
+
export const kimiInstall = planInstaller(kimiInstallation, kimiInstallPlan);
|
|
28
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAA4B,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB;IACpD,MAAM,EAAE,iDAAiD;IACzD,IAAI,EAAE,8DAA8D;IACpE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,EAAE,0FAA0F;CACpG,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AcpSessionProfile } from "../../shared/acp/profile.js";
|
|
2
|
+
/** v2 forwards child updates on the root envelope; native metadata owns the identity. */
|
|
3
|
+
export declare const opencodeChildAttribution: NonNullable<AcpSessionProfile["attributeUpdate"]>;
|
|
4
|
+
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/attribution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAStF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { asRecord } from "../../shared/json.js";
|
|
2
|
+
/** v2 forwards child updates on the root envelope; native metadata owns the identity. */
|
|
3
|
+
export const opencodeChildAttribution = (notification) => {
|
|
4
|
+
const envelope = asRecord(notification);
|
|
5
|
+
const update = asRecord(envelope?.update);
|
|
6
|
+
// oxlint-disable-next-line eslint/no-underscore-dangle -- Native ACP extension field.
|
|
7
|
+
const child = asRecord(asRecord(update?._meta)?.["opencode/child-session"]) ?? asRecord(asRecord(envelope?._meta)?.["opencode/child-session"]);
|
|
8
|
+
if (update === null || typeof child?.id !== "string" || child.id === "" || typeof child.parentID !== "string" || child.parentID === "" || child.id === child.parentID) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return { sessionId: child.id, parent: child.parentID };
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,yFAAyF;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAsD,CAAC,YAAY,EAAE,EAAE;IAC1G,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,sFAAsF;IACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC/I,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtK,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -10,6 +10,9 @@ export declare const opencodeRuntime: {
|
|
|
10
10
|
};
|
|
11
11
|
readonly refusedSessionOptions: Readonly<Partial<Record<import("../../contracts/runtime.js").RefusableSessionOption, string>>>;
|
|
12
12
|
readonly installation: import("../../browser.js").InstallationProbe;
|
|
13
|
+
readonly installPlan: import("../../browser.js").InstallPlanner;
|
|
14
|
+
readonly install: import("../../browser.js").Installer;
|
|
15
|
+
readonly installLines: readonly import("../../browser.js").InstallLine[];
|
|
13
16
|
readonly session: import("../../browser.js").StartSession;
|
|
14
17
|
readonly listModels: import("../../browser.js").ModelLister;
|
|
15
18
|
} & import("../../browser.js").RuntimeInventories & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAU1B,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { runtimeBrands } from "../../brands.js";
|
|
2
2
|
import { defineRuntime } from "../../contracts/runtime.js";
|
|
3
3
|
import { opencodeInstallation } from "./installation.js";
|
|
4
|
+
import { opencodeInstall, opencodeInstallLines, opencodeInstallPlan } from "./install.js";
|
|
4
5
|
import { opencodeListModels } from "./list-models.js";
|
|
5
6
|
import { opencodeRefusedSessionOptions, opencodeSession } from "./session.js";
|
|
6
7
|
export const opencodeRuntime = defineRuntime({
|
|
@@ -8,6 +9,9 @@ export const opencodeRuntime = defineRuntime({
|
|
|
8
9
|
brand: runtimeBrands.opencode,
|
|
9
10
|
refusedSessionOptions: opencodeRefusedSessionOptions,
|
|
10
11
|
installation: opencodeInstallation,
|
|
12
|
+
installPlan: opencodeInstallPlan,
|
|
13
|
+
install: opencodeInstall,
|
|
14
|
+
installLines: opencodeInstallLines,
|
|
11
15
|
session: opencodeSession,
|
|
12
16
|
listModels: opencodeListModels,
|
|
13
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;IAC3C,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,aAAa,CAAC,QAAQ;IAC7B,qBAAqB,EAAE,6BAA6B;IACpD,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE,eAAe;IACxB,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;IAC3C,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,aAAa,CAAC,QAAQ;IAC7B,qBAAqB,EAAE,6BAA6B;IACpD,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,eAAe;IACxB,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE,eAAe;IACxB,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AvailableInstallation } from "../../contracts/installation.js";
|
|
2
|
+
import type { InstallLine } from "../../contracts/install.js";
|
|
3
|
+
import { type ScriptInstallMethod } from "../../shared/install.js";
|
|
4
|
+
/**
|
|
5
|
+
* OpenCode ships two major lines of the same `opencode` command in parallel:
|
|
6
|
+
* OpenCode 1 (npm `opencode-ai`, 1.x) and OpenCode 2 (npm `@opencode/cli`,
|
|
7
|
+
* 2.x, a rewrite with a new plugin and server API). They do not install side
|
|
8
|
+
* by side: both install scripts write `~/.opencode/bin/opencode`; the 2
|
|
9
|
+
* installer replaces a 1 binary (https://opencode.ai/v2/docs/migrate-v1),
|
|
10
|
+
* and the 1 script silently replaces a 2 binary with 1
|
|
11
|
+
* (https://github.com/anomalyco/opencode/issues/54084).
|
|
12
|
+
* So oar never chooses a line for the person, and an install never runs over
|
|
13
|
+
* a copy of either line: the probe finds it first (`already_installed`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const opencodeInstallLines: readonly InstallLine[];
|
|
16
|
+
/**
|
|
17
|
+
* Each line's install script as OpenCode documents it first, downloading
|
|
18
|
+
* that line's latest release to `~/.opencode/bin/opencode`, never prompting,
|
|
19
|
+
* and adding the folder to the shell profile when one exists (it creates
|
|
20
|
+
* none). Chosen because each line's own `opencode upgrade` takes that path as
|
|
21
|
+
* its `curl` method (v1: packages/opencode/src/installation/index.ts) and
|
|
22
|
+
* stays on the line: in the sandbox both answered "Using method: curl".
|
|
23
|
+
* OpenCode documents no script for Windows.
|
|
24
|
+
*/
|
|
25
|
+
export declare const opencodeInstallMethods: Readonly<Record<string, ScriptInstallMethod>>;
|
|
26
|
+
/** `opencode --version`: `1.18.35` on line 1, `opencode v2.0.26` on line 2. */
|
|
27
|
+
export declare function opencodeLineOf(installation: AvailableInstallation): string | undefined;
|
|
28
|
+
export declare const opencodeInstallPlan: import("../../contracts/install.js").InstallPlanner;
|
|
29
|
+
export declare const opencodeInstall: import("../../contracts/install.js").Installer;
|
|
30
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/install.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAmC,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAIpG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAGtD,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAehF,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,YAAY,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAItF;AAED,eAAO,MAAM,mBAAmB,qDAAqF,CAAC;AAEtH,eAAO,MAAM,eAAe,gDAA2E,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { linedInstallPlan, planInstaller } from "../../shared/install.js";
|
|
4
|
+
import { releaseVersion } from "../../shared/update.js";
|
|
5
|
+
import { opencodeInstallation } from "./installation.js";
|
|
6
|
+
/**
|
|
7
|
+
* OpenCode ships two major lines of the same `opencode` command in parallel:
|
|
8
|
+
* OpenCode 1 (npm `opencode-ai`, 1.x) and OpenCode 2 (npm `@opencode/cli`,
|
|
9
|
+
* 2.x, a rewrite with a new plugin and server API). They do not install side
|
|
10
|
+
* by side: both install scripts write `~/.opencode/bin/opencode`; the 2
|
|
11
|
+
* installer replaces a 1 binary (https://opencode.ai/v2/docs/migrate-v1),
|
|
12
|
+
* and the 1 script silently replaces a 2 binary with 1
|
|
13
|
+
* (https://github.com/anomalyco/opencode/issues/54084).
|
|
14
|
+
* So oar never chooses a line for the person, and an install never runs over
|
|
15
|
+
* a copy of either line: the probe finds it first (`already_installed`).
|
|
16
|
+
*/
|
|
17
|
+
export const opencodeInstallLines = [
|
|
18
|
+
{ line: "v1", description: "OpenCode 1: the opencode-ai 1.x releases" },
|
|
19
|
+
{ line: "v2", description: "OpenCode 2: the @opencode/cli 2.x releases, with a new plugin and server API" },
|
|
20
|
+
];
|
|
21
|
+
const writes = () => [path.join(homedir(), ".opencode", "bin")];
|
|
22
|
+
/**
|
|
23
|
+
* Each line's install script as OpenCode documents it first, downloading
|
|
24
|
+
* that line's latest release to `~/.opencode/bin/opencode`, never prompting,
|
|
25
|
+
* and adding the folder to the shell profile when one exists (it creates
|
|
26
|
+
* none). Chosen because each line's own `opencode upgrade` takes that path as
|
|
27
|
+
* its `curl` method (v1: packages/opencode/src/installation/index.ts) and
|
|
28
|
+
* stays on the line: in the sandbox both answered "Using method: curl".
|
|
29
|
+
* OpenCode documents no script for Windows.
|
|
30
|
+
*/
|
|
31
|
+
export const opencodeInstallMethods = {
|
|
32
|
+
v1: {
|
|
33
|
+
source: "https://opencode.ai/docs/#install",
|
|
34
|
+
line: "curl -fsSL https://opencode.ai/install | bash",
|
|
35
|
+
tools: ["curl", "bash"],
|
|
36
|
+
writes,
|
|
37
|
+
windows: "OpenCode recommends WSL, or npm install -g opencode-ai, Scoop or Chocolatey",
|
|
38
|
+
},
|
|
39
|
+
v2: {
|
|
40
|
+
source: "https://opencode.ai/v2/docs/",
|
|
41
|
+
line: "curl -fsSL https://opencode.ai/v2/install | bash",
|
|
42
|
+
tools: ["curl", "bash"],
|
|
43
|
+
writes,
|
|
44
|
+
windows: "OpenCode documents no script for OpenCode 2 there; its packages (npm install -g @opencode/cli) are on https://opencode.ai/v2/docs/",
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
/** `opencode --version`: `1.18.35` on line 1, `opencode v2.0.26` on line 2. */
|
|
48
|
+
export function opencodeLineOf(installation) {
|
|
49
|
+
const version = installation.via === "executable" && installation.version !== undefined ? releaseVersion(installation.version) : undefined;
|
|
50
|
+
const major = version?.split(".")[0];
|
|
51
|
+
return major === undefined ? undefined : opencodeInstallLines.find((entry) => entry.line === `v${major}`)?.line;
|
|
52
|
+
}
|
|
53
|
+
export const opencodeInstallPlan = linedInstallPlan({ lines: opencodeInstallLines, methods: opencodeInstallMethods });
|
|
54
|
+
export const opencodeInstall = planInstaller(opencodeInstallation, opencodeInstallPlan, opencodeLineOf);
|
|
55
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA4B,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C,EAAE;IACvE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,8EAA8E,EAAE;CAC5G,CAAC;AAEF,MAAM,MAAM,GAAG,GAAsB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkD;IACnF,EAAE,EAAE;QACF,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,+CAA+C;QACrD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,MAAM;QACN,OAAO,EAAE,6EAA6E;KACvF;IACD,EAAE,EAAE;QACF,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,kDAAkD;QACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,MAAM;QACN,OAAO,EAAE,oIAAoI;KAC9I;CACF,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,YAAmC;IAChE,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,KAAK,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3I,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;AAClH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAEtH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* PATH can miss. npm (`opencode-ai`), Homebrew and Scoop copies are on PATH.
|
|
4
4
|
*/
|
|
5
5
|
export declare function opencodeInstalledExecutableCandidates(platform?: NodeJS.Platform, home?: string): readonly string[];
|
|
6
|
-
/** `opencode --version`
|
|
6
|
+
/** `opencode --version` is retained verbatim: v1 prints 1.x; v2 prints "opencode v2.x". */
|
|
7
7
|
export declare const opencodeInstallation: import("../../browser.js").InstallationProbe;
|
|
8
8
|
//# sourceMappingURL=installation.d.ts.map
|
|
@@ -9,6 +9,6 @@ export function opencodeInstalledExecutableCandidates(platform = process.platfor
|
|
|
9
9
|
const paths = platform === "win32" ? path.win32 : path.posix;
|
|
10
10
|
return [paths.join(home, ".opencode", "bin", platform === "win32" ? "opencode.exe" : "opencode")];
|
|
11
11
|
}
|
|
12
|
-
/** `opencode --version`
|
|
12
|
+
/** `opencode --version` is retained verbatim: v1 prints 1.x; v2 prints "opencode v2.x". */
|
|
13
13
|
export const opencodeInstallation = executableInstallation("OAR_OPENCODE_BIN", "opencode", opencodeInstalledExecutableCandidates, undefined, { versionTimeoutMs: 15_000 });
|
|
14
14
|
//# sourceMappingURL=installation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAc9E;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA6BlE;AAED,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,EAAE,WAqBhC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { runExecutable } from "../../shared/executable/index.js";
|
|
2
2
|
import { processFailure, stderrTail } from "../../shared/executable/diagnostics.js";
|
|
3
3
|
import { asRecord, parseJson } from "../../shared/json.js";
|
|
4
|
+
import { opencodeMajor } from "./version.js";
|
|
4
5
|
function text(value) {
|
|
5
6
|
if (typeof value !== "string") {
|
|
6
7
|
return undefined;
|
|
@@ -53,12 +54,24 @@ export const opencodeListModels = async (installation, options = {}) => {
|
|
|
53
54
|
if (installation.via !== "executable") {
|
|
54
55
|
return { kind: "unsupported", reason: "opencode model listing requires the opencode executable" };
|
|
55
56
|
}
|
|
56
|
-
const
|
|
57
|
+
const major = await opencodeMajor(installation);
|
|
58
|
+
// v2's default command connects to a persistent daemon. Listing must not leave one behind.
|
|
59
|
+
const result = await runExecutable(installation.command, ["models", major === 2 ? "--standalone" : "--verbose"], { timeoutMs: options.timeoutMs ?? 30_000 });
|
|
57
60
|
if (!result.ok) {
|
|
58
61
|
throw processFailure("Failed to list opencode models", result.diagnostics ?? {
|
|
59
62
|
exitCode: result.exitCode, signal: null, stderr: stderrTail(result.stderr),
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
|
-
|
|
65
|
+
if (major === 1) {
|
|
66
|
+
return { kind: "ok", models: projectOpencodeModels(result.stdout) };
|
|
67
|
+
}
|
|
68
|
+
const ids = result.stdout.split(/\r?\n/u).map((line) => line.trim()).filter(Boolean);
|
|
69
|
+
if (ids.length === 0) {
|
|
70
|
+
return { kind: "unsupported", reason: "opencode 2.0.26 models --standalone exits before the cold catalog finishes loading; an empty response does not establish that no models exist (https://github.com/anomalyco/opencode/issues/53724)" };
|
|
71
|
+
}
|
|
72
|
+
if (ids.some((id) => !/^\S+\/\S+$/u.test(id))) {
|
|
73
|
+
throw new Error("opencode models --standalone returned an unrecognized model listing");
|
|
74
|
+
}
|
|
75
|
+
return { kind: "ok", models: ids.map((id) => ({ id })) };
|
|
63
76
|
};
|
|
64
77
|
//# sourceMappingURL=list-models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/list-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,7 @@ import { type AcpSessionProfile } from "../../shared/acp/session.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const opencodeRefusedSessionOptions: RefusedSessionOptions;
|
|
10
10
|
export declare const opencodeAcpProfile: AcpSessionProfile;
|
|
11
|
+
export declare const opencodeV2RefusedSessionOptions: RefusedSessionOptions;
|
|
12
|
+
export declare const opencodeV2AcpProfile: AcpSessionProfile;
|
|
11
13
|
export declare const opencodeSession: StartSession;
|
|
12
14
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIjF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBAG3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAwBhC,CAAC;AAIF,eAAO,MAAM,+BAA+B,EAAE,qBAI7C,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,iBAKlC,CAAC;AA+BF,eAAO,MAAM,eAAe,EAAE,YA+B7B,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { opencodeMajor } from "./version.js";
|
|
2
|
+
import { opencodeChildAttribution } from "./attribution.js";
|
|
1
3
|
import { refuseSessionOptions } from "../../shared/session-options.js";
|
|
2
4
|
import { acpSession } from "../../shared/acp/session.js";
|
|
3
5
|
import { checkMcpServerNames } from "../../shared/mcp-servers.js";
|
|
@@ -37,6 +39,19 @@ export const opencodeAcpProfile = {
|
|
|
37
39
|
resumeKeepsSessionCwd: true,
|
|
38
40
|
};
|
|
39
41
|
const directSession = acpSession(opencodeAcpProfile);
|
|
42
|
+
const { steerParams: _v1SteerParams, ...commonProfile } = opencodeAcpProfile;
|
|
43
|
+
export const opencodeV2RefusedSessionOptions = {
|
|
44
|
+
...opencodeRefusedSessionOptions,
|
|
45
|
+
appendSystemPrompt: "opencode v2 does not load the instructions configuration used for session-local appended prompts; ACP exposes no equivalent transient instruction channel",
|
|
46
|
+
systemPrompt: "opencode v2 uses agents.<id>.system, but ACP exposes no per-session replacement and OAR cannot yet safely resolve and override the selected agent across new sessions and resume",
|
|
47
|
+
};
|
|
48
|
+
export const opencodeV2AcpProfile = {
|
|
49
|
+
...commonProfile,
|
|
50
|
+
capabilities: { queue: { durable: false }, attribution: "nested" },
|
|
51
|
+
attributeUpdate: opencodeChildAttribution,
|
|
52
|
+
validateOptions: (options) => { refuseSessionOptions(opencodeV2RefusedSessionOptions, options); },
|
|
53
|
+
};
|
|
54
|
+
const directV2Session = acpSession(opencodeV2AcpProfile);
|
|
40
55
|
function withPromptCleanup(session, cleanup) {
|
|
41
56
|
let unsubscribe = undefined;
|
|
42
57
|
const observeCleanup = async () => {
|
|
@@ -70,17 +85,20 @@ function withPromptCleanup(session, cleanup) {
|
|
|
70
85
|
}
|
|
71
86
|
export const opencodeSession = async (installation, options) => {
|
|
72
87
|
refuseSessionOptions(opencodeRefusedSessionOptions, options);
|
|
88
|
+
// Invalid MCP entries fail before even the release-line helper can start.
|
|
89
|
+
checkMcpServerNames(options.mcpServers ?? []);
|
|
90
|
+
if (installation.via !== "executable") {
|
|
91
|
+
throw new Error("opencode requires an executable installation");
|
|
92
|
+
}
|
|
93
|
+
if (await opencodeMajor(installation, options) === 2) {
|
|
94
|
+
return directV2Session(installation, options);
|
|
95
|
+
}
|
|
73
96
|
if (options.systemPrompt === undefined && options.appendSystemPrompt === undefined) {
|
|
74
97
|
return directSession(installation, options);
|
|
75
98
|
}
|
|
76
99
|
// The prompts travel in OPENCODE_CONFIG_CONTENT, the session's MCP servers
|
|
77
|
-
// in the ACP open as on the direct path
|
|
78
|
-
// before the prompts are prepared.
|
|
79
|
-
checkMcpServerNames(options.mcpServers ?? []);
|
|
100
|
+
// in the ACP open as on the direct path, after validation above.
|
|
80
101
|
validateOpenCodePrompts(options);
|
|
81
|
-
if (installation.via !== "executable") {
|
|
82
|
-
throw new Error("opencode requires an executable installation");
|
|
83
|
-
}
|
|
84
102
|
const prepared = await prepareOpenCodePrompts(installation.command, options);
|
|
85
103
|
try {
|
|
86
104
|
const session = await acpSession({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ExecutableInstallation } from "../../contracts/installation.js";
|
|
2
|
+
import type { SessionOptions } from "../../contracts/session.js";
|
|
3
|
+
/** The two independently maintained native lines share one command name. */
|
|
4
|
+
export declare function opencodeMajor(installation: ExecutableInstallation, options?: Pick<SessionOptions, "cwd" | "env">): Promise<1 | 2>;
|
|
5
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/runtimes/opencode/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE,4EAA4E;AAC5E,wBAAsB,aAAa,CAAC,YAAY,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAevI"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { processFailure } from "../../shared/executable/diagnostics.js";
|
|
2
|
+
import { runExecutable } from "../../shared/executable/run.js";
|
|
3
|
+
import { sessionEnvironment } from "../../shared/environment.js";
|
|
4
|
+
/** The two independently maintained native lines share one command name. */
|
|
5
|
+
export async function opencodeMajor(installation, options) {
|
|
6
|
+
let version = installation.version;
|
|
7
|
+
if (version === undefined) {
|
|
8
|
+
const result = await runExecutable(installation.command, ["--version"], {
|
|
9
|
+
timeoutMs: 15_000,
|
|
10
|
+
...(options === undefined ? {} : { cwd: options.cwd, env: sessionEnvironment(options.env) }),
|
|
11
|
+
});
|
|
12
|
+
if (!result.ok) {
|
|
13
|
+
throw processFailure("Failed to identify the opencode release line", result.diagnostics ?? { exitCode: result.exitCode, signal: null, stderr: result.stderr });
|
|
14
|
+
}
|
|
15
|
+
version = result.stdout.trim();
|
|
16
|
+
}
|
|
17
|
+
const major = /^(?:opencode\s+)?v?([12])\.\d+\.\d+(?:\S*)$/u.exec(version.trim())?.[1];
|
|
18
|
+
if (major === "1" || major === "2") {
|
|
19
|
+
return major === "1" ? 1 : 2;
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`Unrecognized opencode release line: ${JSON.stringify(version)}`);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/runtimes/opencode/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoC,EAAE,OAA6C;IACrH,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;YACtE,SAAS,EAAE,MAAM;YACjB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;SAC7F,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,cAAc,CAAC,8CAA8C,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjK,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,KAAK,GAAG,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAAC,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACrE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,eAAe,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAIjC,CAAC;AAEF,iIAAiI;AACjI,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAEtE;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAQpF;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,eAAe,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAIjC,CAAC;AAEF,iIAAiI;AACjI,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAEtE;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAQpF;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAiKD,wFAAwF;AACxF,wBAAgB,WAAW,CACzB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,iBAAiB,EACxB,KAAK,GAAE,WAAgB,GACtB;IAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAMxF"}
|
|
@@ -155,6 +155,7 @@ function step(state, event, extra) {
|
|
|
155
155
|
case "message_start":
|
|
156
156
|
return { state, events: event.message.role === "user" ? [{ kind: "user_message", evidence: "conversation", input: typeof event.message.content === "string" ? event.message.content : event.message.content.filter((part) => part.type === "text").map((part) => part.text).join("") }] : [] };
|
|
157
157
|
case "agent_start":
|
|
158
|
+
return { state, events: [{ kind: "turn_active" }] };
|
|
158
159
|
case "agent_end":
|
|
159
160
|
case "turn_start":
|
|
160
161
|
case "bash_execution_update":
|