@botiverse/oar 0.21.2 → 0.23.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 +21 -9
- package/assets/brands/NOTICE.md +3 -3
- package/assets/brands/opencode-on-dark.svg +1 -0
- package/assets/brands/opencode-on-light.svg +1 -0
- package/assets/brands/opencode.svg +1 -0
- package/dist/brands.d.ts +8 -0
- package/dist/brands.d.ts.map +1 -1
- package/dist/brands.js +8 -0
- package/dist/brands.js.map +1 -1
- package/dist/contracts/login.d.ts +91 -0
- package/dist/contracts/login.d.ts.map +1 -0
- package/dist/contracts/login.js +2 -0
- package/dist/contracts/login.js.map +1 -0
- package/dist/contracts/runtime.d.ts +5 -0
- package/dist/contracts/runtime.d.ts.map +1 -1
- package/dist/contracts/runtime.js.map +1 -1
- package/dist/contracts/session.d.ts +2 -2
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/observe/tool-activity.d.ts.map +1 -1
- package/dist/observe/tool-activity.js +6 -3
- package/dist/observe/tool-activity.js.map +1 -1
- package/dist/runtimes/claude/auth-status.d.ts +10 -0
- package/dist/runtimes/claude/auth-status.d.ts.map +1 -0
- package/dist/runtimes/claude/auth-status.js +47 -0
- package/dist/runtimes/claude/auth-status.js.map +1 -0
- package/dist/runtimes/claude/index.d.ts +4 -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/login.d.ts +6 -0
- package/dist/runtimes/claude/login.d.ts.map +1 -0
- package/dist/runtimes/claude/login.js +209 -0
- package/dist/runtimes/claude/login.js.map +1 -0
- package/dist/runtimes/codex/app-server-client.d.ts +4 -1
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +4 -4
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/index.d.ts +3 -0
- package/dist/runtimes/codex/index.d.ts.map +1 -1
- package/dist/runtimes/codex/index.js +3 -0
- package/dist/runtimes/codex/index.js.map +1 -1
- package/dist/runtimes/codex/login.d.ts +16 -0
- package/dist/runtimes/codex/login.d.ts.map +1 -0
- package/dist/runtimes/codex/login.js +241 -0
- package/dist/runtimes/codex/login.js.map +1 -0
- package/dist/runtimes/opencode/index.d.ts +19 -0
- package/dist/runtimes/opencode/index.d.ts.map +1 -0
- package/dist/runtimes/opencode/index.js +15 -0
- package/dist/runtimes/opencode/index.js.map +1 -0
- package/dist/runtimes/opencode/installation.d.ts +8 -0
- package/dist/runtimes/opencode/installation.d.ts.map +1 -0
- package/dist/runtimes/opencode/installation.js +14 -0
- package/dist/runtimes/opencode/installation.js.map +1 -0
- package/dist/runtimes/opencode/list-models.d.ts +15 -0
- package/dist/runtimes/opencode/list-models.d.ts.map +1 -0
- package/dist/runtimes/opencode/list-models.js +64 -0
- package/dist/runtimes/opencode/list-models.js.map +1 -0
- package/dist/runtimes/opencode/session.d.ts +11 -0
- package/dist/runtimes/opencode/session.d.ts.map +1 -0
- package/dist/runtimes/opencode/session.js +41 -0
- package/dist/runtimes/opencode/session.js.map +1 -0
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js +8 -1
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/executable/index.d.ts +2 -2
- 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.map +1 -1
- package/dist/shared/executable/isolated.js +2 -5
- package/dist/shared/executable/isolated.js.map +1 -1
- package/dist/shared/executable/process.d.ts +25 -8
- package/dist/shared/executable/process.d.ts.map +1 -1
- package/dist/shared/executable/process.js +25 -1
- package/dist/shared/executable/process.js.map +1 -1
- package/dist/shared/executable/run.d.ts +2 -0
- package/dist/shared/executable/run.d.ts.map +1 -1
- package/dist/shared/executable/run.js +1 -0
- package/dist/shared/executable/run.js.map +1 -1
- package/dist/shared/installation.d.ts +6 -0
- package/dist/shared/installation.d.ts.map +1 -1
- package/dist/shared/installation.js +7 -2
- package/dist/shared/installation.js.map +1 -1
- package/dist/shared/login.d.ts +80 -0
- package/dist/shared/login.d.ts.map +1 -0
- package/dist/shared/login.js +211 -0
- package/dist/shared/login.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @botiverse/oar
|
|
2
2
|
|
|
3
|
-
Provider-independent TypeScript contracts and built-in implementations for controlling and observing Antigravity, Claude, Codex, Cursor, Grok, Kimi, and Pi.
|
|
3
|
+
Provider-independent TypeScript contracts and built-in implementations for controlling and observing Antigravity, Claude, Codex, Cursor, Grok, Kimi, OpenCode, and Pi.
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
import { defaultRuntimes, promptAndWait } from "@botiverse/oar";
|
|
@@ -68,7 +68,7 @@ The package has six public entry points:
|
|
|
68
68
|
|
|
69
69
|
Brand SVG files are exported at `@botiverse/oar/assets/brands/<runtime-id>.svg`. Any other deep import (`@botiverse/oar/dist/...`, source paths) is internal and may break without notice.
|
|
70
70
|
|
|
71
|
-
Antigravity, Grok, and
|
|
71
|
+
Antigravity, Grok, Kimi, and OpenCode share an internal ACP v1 transport and session kernel, but only their concrete runtime identities are public. The registry deliberately does not expose a generic `acp` runtime. Pi and Cursor run in the host process through their SDKs. The pi SDK (`@earendil-works/pi-coding-agent`) is a dependency of this package. `@cursor/sdk` is an optional peer dependency, and cursor is not in `defaultRuntimes`: install the SDK (`npm install @cursor/sdk@1.0.35`) and hand it over, `createRuntimeRegistry([...defaultRuntimes.list(), createCursorRuntime({ sdk: () => import("@cursor/sdk") })])`. Written in your code, that import fails your compile if the package is missing. It is Cursor's own package under Cursor's terms, and it signs in with `CURSOR_API_KEY` or its own `Cursor.auth.login()`.
|
|
72
72
|
|
|
73
73
|
Community runtimes are contributed and maintained outside the core team (each maintainer is named on its runtime page). They ship in this package from a separate entry point, `@botiverse/oar/community`, and are not in `defaultRuntimes`: `createRuntimeRegistry([...defaultRuntimes.list(), createMorphRuntime()])` adds [Mister Morph](https://github.com/botiverse/oar/blob/main/docs/runtimes/morph.md), driven through its Console Runtime API. The `oar` CLI includes them.
|
|
74
74
|
|
|
@@ -89,8 +89,9 @@ rejects with an `UnsupportedOptionError` (`option` names the refused
|
|
|
89
89
|
back on it. `runtime.refusedSessionOptions` names the options a runtime
|
|
90
90
|
refuses at open (`systemPrompt`, `appendSystemPrompt`, `env`), each with the
|
|
91
91
|
reason, so a host can leave them out before opening: cursor refuses all
|
|
92
|
-
three, kimi and
|
|
93
|
-
`resume` in another directory than the session's own
|
|
92
|
+
three, kimi, antigravity and opencode the two prompt options. Kimi and
|
|
93
|
+
opencode also refuse a `resume` in another directory than the session's own
|
|
94
|
+
(`option: "cwd"`). See
|
|
94
95
|
[refused session options](https://github.com/botiverse/oar/blob/main/docs/spec/runtime-matrix.md#refused-session-options).
|
|
95
96
|
|
|
96
97
|
`runtime.listModels(installation, options?)` lists the models an installation
|
|
@@ -104,11 +105,22 @@ updater would install and where that answer came from;
|
|
|
104
105
|
`runtime.upgrade(installation)` runs that updater without a terminal and
|
|
105
106
|
judges the result by the version the same executable reports afterwards,
|
|
106
107
|
never by its exit code. oar never upgrades on its own. Claude, Codex, Grok
|
|
107
|
-
and Kimi have both; Antigravity has only the check;
|
|
108
|
-
neither, their SDK versions following oar's (Pi's
|
|
109
|
-
Cursor's an exact peer dependency).
|
|
108
|
+
and Kimi have both; Antigravity has only the check; OpenCode has neither
|
|
109
|
+
yet; Pi and Cursor have neither, their SDK versions following oar's (Pi's
|
|
110
|
+
SDK is a dependency, Cursor's an exact peer dependency).
|
|
110
111
|
See [runtime updates](https://github.com/botiverse/oar/blob/main/docs/spec/update.md).
|
|
111
112
|
|
|
113
|
+
`runtime.login(installation, interaction)` logs an installation in through
|
|
114
|
+
the runtime's own login, without a terminal: the sign-in URL or device code
|
|
115
|
+
arrives as a `ProviderLoginInteraction` event, and a code the person pastes
|
|
116
|
+
back is answered through its `manual_code` prompt and written to the
|
|
117
|
+
runtime's stdin only. It never logs the current account out first, and
|
|
118
|
+
`interaction.signal` cancels it. `runtime.authStatus(installation)` reads the
|
|
119
|
+
runtime's local status query. Claude and Codex have both; Antigravity has
|
|
120
|
+
neither, since its terms do not allow signing in through a third-party tool.
|
|
121
|
+
See
|
|
122
|
+
[runtime login](https://github.com/botiverse/oar/blob/main/docs/spec/login.md).
|
|
123
|
+
|
|
112
124
|
Images go with an input through `InputOptions.images` (`{ path }` entries:
|
|
113
125
|
absolute paths to png, jpeg, gif or webp files) on prompt, steer and queue,
|
|
114
126
|
as the runtime's own image content. `session.capabilities.images` says whether
|
|
@@ -133,8 +145,8 @@ absent, and an unsupported query never pretends to be an empty catalog.
|
|
|
133
145
|
|
|
134
146
|
Codex and Claude expose skills and MCP discovery (tools are MCP-only); Grok
|
|
135
147
|
exposes independent skills and MCP configuration discovery; Pi exposes skills
|
|
136
|
-
and registered tools with active membership. Antigravity, Cursor and
|
|
137
|
-
inventory queries are unsupported.
|
|
148
|
+
and registered tools with active membership. Antigravity, Cursor, Kimi and
|
|
149
|
+
OpenCode inventory queries are unsupported.
|
|
138
150
|
|
|
139
151
|
Custom runtimes should use `defineRuntime`, which fills missing inventory
|
|
140
152
|
methods with explicit unsupported results. A manually constructed `Runtime`
|
package/assets/brands/NOTICE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Runtime icons
|
|
2
2
|
|
|
3
|
-
Claude Code, Codex, Kimi, Grok, Cursor and Antigravity SVGs are from LobeHub lobe-icons, commit a94750e3f5f8fc33757b839d85030e742284e43a, packages/static-svg/icons.
|
|
3
|
+
Claude Code, Codex, Kimi, Grok, Cursor, OpenCode and Antigravity SVGs are from LobeHub lobe-icons, commit a94750e3f5f8fc33757b839d85030e742284e43a, packages/static-svg/icons.
|
|
4
4
|
Source: https://github.com/lobehub/lobe-icons/tree/a94750e3f5f8fc33757b839d85030e742284e43a/packages/static-svg/icons
|
|
5
|
-
Files: claudecode-color.svg, codex.svg, kimi-color.svg, grok.svg, cursor.svg, antigravity-color.svg.
|
|
5
|
+
Files: claudecode-color.svg, codex.svg, kimi-color.svg, grok.svg, cursor.svg, opencode.svg, antigravity-color.svg.
|
|
6
6
|
Brand names and marks belong to their respective owners.
|
|
7
7
|
|
|
8
8
|
Mister Morph: `app_logo_dark.svg` from the Mister Morph website (quailyquaily/mistermorph-website, `public/`), the project's own mark. `morph-on-dark.svg` swaps its two colors (#1F1F1F and white) for dark backgrounds.
|
|
@@ -14,7 +14,7 @@ Pi: https://pi.dev/logo-on-dark.svg (retrieved 2026-09-16), unmodified official
|
|
|
14
14
|
`light` and `dark` refer to the destination background. Claude Code and
|
|
15
15
|
Antigravity retain their single color assets and use the default fallback on
|
|
16
16
|
both backgrounds.
|
|
17
|
-
Codex, Grok and
|
|
17
|
+
Codex, Grok, Cursor and OpenCode variants replace the upstream `currentColor` with explicit black
|
|
18
18
|
or white so they work in external `<img>` elements. Kimi's light variant changes
|
|
19
19
|
its white foreground to black; its dark variant is unchanged. These are local
|
|
20
20
|
color adaptations of the MIT-licensed LobeHub paths, not separately sourced
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#fff" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#000" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>
|
package/dist/brands.d.ts
CHANGED
|
@@ -48,6 +48,14 @@ export declare const runtimeBrands: {
|
|
|
48
48
|
readonly dark: `data:image/svg+xml,${string}`;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
|
+
readonly opencode: {
|
|
52
|
+
readonly name: "OpenCode";
|
|
53
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
54
|
+
readonly icons: {
|
|
55
|
+
readonly light: `data:image/svg+xml,${string}`;
|
|
56
|
+
readonly dark: `data:image/svg+xml,${string}`;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
51
59
|
readonly antigravity: {
|
|
52
60
|
readonly name: "Antigravity";
|
|
53
61
|
readonly icon: `data:image/svg+xml,${string}`;
|
package/dist/brands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5F;AAED,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5F;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDiC,CAAC"}
|
package/dist/brands.js
CHANGED
|
@@ -47,6 +47,14 @@ export const runtimeBrands = {
|
|
|
47
47
|
dark: `data:image/svg+xml,${encodeURIComponent("<svg fill=\"#fff\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>Cursor</title><path d=\"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z\"></path></svg>")}`,
|
|
48
48
|
},
|
|
49
49
|
},
|
|
50
|
+
opencode: {
|
|
51
|
+
name: "OpenCode",
|
|
52
|
+
icon: `data:image/svg+xml,${encodeURIComponent("<svg fill=\"currentColor\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>opencode</title><path d=\"M16 6H8v12h8V6zm4 16H4V2h16v20z\"></path></svg>")}`,
|
|
53
|
+
icons: {
|
|
54
|
+
light: `data:image/svg+xml,${encodeURIComponent("<svg fill=\"#000\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>opencode</title><path d=\"M16 6H8v12h8V6zm4 16H4V2h16v20z\"></path></svg>")}`,
|
|
55
|
+
dark: `data:image/svg+xml,${encodeURIComponent("<svg fill=\"#fff\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>opencode</title><path d=\"M16 6H8v12h8V6zm4 16H4V2h16v20z\"></path></svg>")}`,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
50
58
|
antigravity: {
|
|
51
59
|
name: "Antigravity",
|
|
52
60
|
icon: `data:image/svg+xml,${encodeURIComponent("<svg height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>Antigravity</title><mask height=\"23\" id=\"lobe-icons-antigravity-0-_R_0_\" maskUnits=\"userSpaceOnUse\" width=\"24\" x=\"0\" y=\"1\"><path d=\"M21.751 22.607c1.34 1.005 3.35.335 1.508-1.508C17.73 15.74 18.904 1 12.037 1 5.17 1 6.342 15.74.815 21.1c-2.01 2.009.167 2.511 1.507 1.506 5.192-3.517 4.857-9.714 9.715-9.714 4.857 0 4.522 6.197 9.714 9.715z\" fill=\"#fff\"></path></mask><g mask=\"url(#lobe-icons-antigravity-0-_R_0_)\"><g filter=\"url(#lobe-icons-antigravity-1-_R_0_)\"><path d=\"M-1.018-3.992c-.408 3.591 2.686 6.89 6.91 7.37 4.225.48 7.98-2.043 8.387-5.633.408-3.59-2.686-6.89-6.91-7.37-4.225-.479-7.98 2.043-8.387 5.633z\" fill=\"#FFE432\"></path></g><g filter=\"url(#lobe-icons-antigravity-2-_R_0_)\"><path d=\"M15.269 7.747c1.058 4.557 5.691 7.374 10.348 6.293 4.657-1.082 7.575-5.653 6.516-10.21-1.058-4.556-5.691-7.374-10.348-6.292-4.657 1.082-7.575 5.653-6.516 10.21z\" fill=\"#FC413D\"></path></g><g filter=\"url(#lobe-icons-antigravity-3-_R_0_)\"><path d=\"M-12.443 10.804c1.338 4.703 7.36 7.11 13.453 5.378 6.092-1.733 9.947-6.95 8.61-11.652C8.282-.173 2.26-2.58-3.833-.848-9.925.884-13.78 6.1-12.443 10.804z\" fill=\"#00B95C\"></path></g><g filter=\"url(#lobe-icons-antigravity-4-_R_0_)\"><path d=\"M-12.443 10.804c1.338 4.703 7.36 7.11 13.453 5.378 6.092-1.733 9.947-6.95 8.61-11.652C8.282-.173 2.26-2.58-3.833-.848-9.925.884-13.78 6.1-12.443 10.804z\" fill=\"#00B95C\"></path></g><g filter=\"url(#lobe-icons-antigravity-5-_R_0_)\"><path d=\"M-7.608 14.703c3.352 3.424 9.126 3.208 12.896-.483 3.77-3.69 4.108-9.459.756-12.883C2.69-2.087-3.083-1.871-6.853 1.82c-3.77 3.69-4.108 9.458-.755 12.883z\" fill=\"#00B95C\"></path></g><g filter=\"url(#lobe-icons-antigravity-6-_R_0_)\"><path d=\"M9.932 27.617c1.04 4.482 5.384 7.303 9.7 6.3 4.316-1.002 6.971-5.448 5.93-9.93-1.04-4.483-5.384-7.304-9.7-6.301-4.316 1.002-6.971 5.448-5.93 9.93z\" fill=\"#3186FF\"></path></g><g filter=\"url(#lobe-icons-antigravity-7-_R_0_)\"><path d=\"M2.572-8.185C.392-3.329 2.778 2.472 7.9 4.771c5.122 2.3 11.042.227 13.222-4.63 2.18-4.855-.205-10.656-5.327-12.955-5.122-2.3-11.042-.227-13.222 4.63z\" fill=\"#FBBC04\"></path></g><g filter=\"url(#lobe-icons-antigravity-8-_R_0_)\"><path d=\"M-3.267 38.686c-5.277-2.072 3.742-19.117 5.984-24.83 2.243-5.712 8.34-8.664 13.616-6.592 5.278 2.071 11.533 13.482 9.29 19.195-2.242 5.713-23.613 14.298-28.89 12.227z\" fill=\"#3186FF\"></path></g><g filter=\"url(#lobe-icons-antigravity-9-_R_0_)\"><path d=\"M28.71 17.471c-1.413 1.649-5.1.808-8.236-1.878-3.135-2.687-4.531-6.201-3.118-7.85 1.412-1.649 5.1-.808 8.235 1.878s4.532 6.2 3.119 7.85z\" fill=\"#749BFF\"></path></g><g filter=\"url(#lobe-icons-antigravity-10-_R_0_)\"><path d=\"M18.163 9.077c5.81 3.93 12.502 4.19 14.946.577 2.443-3.612-.287-9.727-6.098-13.658-5.81-3.931-12.502-4.19-14.946-.577-2.443 3.612.287 9.727 6.098 13.658z\" fill=\"#FC413D\"></path></g><g filter=\"url(#lobe-icons-antigravity-11-_R_0_)\"><path d=\"M-.915 2.684c-1.44 3.473-.97 6.967 1.05 7.804 2.02.837 4.824-1.3 6.264-4.772 1.44-3.473.97-6.967-1.05-7.804-2.02-.837-4.824 1.3-6.264 4.772z\" fill=\"#FFEE48\"></path></g></g><defs><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"17.587\" id=\"lobe-icons-antigravity-1-_R_0_\" width=\"19.838\" x=\"-3.288\" y=\"-11.917\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"1.117\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"38.565\" id=\"lobe-icons-antigravity-2-_R_0_\" width=\"38.9\" x=\"4.251\" y=\"-13.493\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"5.4\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"36.517\" id=\"lobe-icons-antigravity-3-_R_0_\" width=\"40.955\" x=\"-21.889\" y=\"-10.592\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"4.591\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"36.517\" id=\"lobe-icons-antigravity-4-_R_0_\" width=\"40.955\" x=\"-21.889\" y=\"-10.592\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"4.591\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"36.595\" id=\"lobe-icons-antigravity-5-_R_0_\" width=\"36.632\" x=\"-19.099\" y=\"-10.278\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"4.591\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"34.087\" id=\"lobe-icons-antigravity-6-_R_0_\" width=\"33.533\" x=\".981\" y=\"8.758\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"4.363\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"35.276\" id=\"lobe-icons-antigravity-7-_R_0_\" width=\"35.978\" x=\"-6.143\" y=\"-21.659\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"3.954\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"46.523\" id=\"lobe-icons-antigravity-8-_R_0_\" width=\"45.114\" x=\"-11.96\" y=\"-.46\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"3.531\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"24.054\" id=\"lobe-icons-antigravity-9-_R_0_\" width=\"25.094\" x=\"10.485\" y=\".58\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"3.159\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"30.007\" id=\"lobe-icons-antigravity-10-_R_0_\" width=\"33.508\" x=\"5.833\" y=\"-12.467\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"2.669\"></feGaussianBlur></filter><filter color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"26.151\" id=\"lobe-icons-antigravity-11-_R_0_\" width=\"22.194\" x=\"-8.355\" y=\"-8.876\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur result=\"effect1_foregroundBlur_977_115\" stdDeviation=\"3.303\"></feGaussianBlur></filter></defs></svg>")}`,
|
package/dist/brands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAKA,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,KAAuB;IAC3E,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,4bAA4b,CAAC,EAAE;KAC/e;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,42CAA42C,CAAC,EAAE;QAC95C,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,o2CAAo2C,CAAC,EAAE;YACv5C,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,o2CAAo2C,CAAC,EAAE;SACv5C;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;QAC30B,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;YAC50B,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;SAC50B;KACF;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;QAC5Z,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;YAC7Z,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;SAC7Z;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,swBAAswB,CAAC,EAAE;QACxzB,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,8vBAA8vB,CAAC,EAAE;YACjzB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,8vBAA8vB,CAAC,EAAE;SACjzB;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,qjBAAqjB,CAAC,EAAE;QACvmB,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,6iBAA6iB,CAAC,EAAE;YAChmB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,6iBAA6iB,CAAC,EAAE;SAChmB;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,s2PAAs2P,CAAC,EAAE;KACz5P;CACwD,CAAC"}
|
|
1
|
+
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAKA,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,KAAuB;IAC3E,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,4bAA4b,CAAC,EAAE;KAC/e;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,42CAA42C,CAAC,EAAE;QAC95C,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,o2CAAo2C,CAAC,EAAE;YACv5C,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,o2CAAo2C,CAAC,EAAE;SACv5C;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;QAC30B,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;YAC50B,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE;SAC50B;KACF;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;QAC5Z,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;YAC7Z,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE;SAC7Z;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,swBAAswB,CAAC,EAAE;QACxzB,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,8vBAA8vB,CAAC,EAAE;YACjzB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,8vBAA8vB,CAAC,EAAE;SACjzB;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,qjBAAqjB,CAAC,EAAE;QACvmB,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,6iBAA6iB,CAAC,EAAE;YAChmB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,6iBAA6iB,CAAC,EAAE;SAChmB;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,6PAA6P,CAAC,EAAE;QAC/S,KAAK,EAAE;YACL,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,qPAAqP,CAAC,EAAE;YACxS,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,qPAAqP,CAAC,EAAE;SACxS;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,s2PAAs2P,CAAC,EAAE;KACz5P;CACwD,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { AvailableInstallation } from "./installation.js";
|
|
2
|
+
import type { ProviderLoginInteraction } from "./provider-auth.js";
|
|
3
|
+
/** What the runtime says about the account it is signed in to. Every field is the runtime's own word, absent when it gives none. */
|
|
4
|
+
export interface LoginAccount {
|
|
5
|
+
readonly email?: string;
|
|
6
|
+
/** The runtime's plan or subscription label (`max`, `pro`, ...). */
|
|
7
|
+
readonly plan?: string;
|
|
8
|
+
/** The runtime's name for how it is signed in (`claude.ai`, `chatgpt`, `apiKey`, ...). */
|
|
9
|
+
readonly method?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Why a login ended without a logged-in runtime. */
|
|
12
|
+
export type LoginFailureReason = "timed_out" | "rejected" | "not_logged_in" | "interaction_failed" | "process_failed";
|
|
13
|
+
/** Why oar cannot drive this runtime's login. */
|
|
14
|
+
export type LoginUnsupportedReason = "unsupported_installation" | "version_unsupported";
|
|
15
|
+
/**
|
|
16
|
+
* How a login ended. `failed.detail` and `unsupported.detail` are for people:
|
|
17
|
+
* one line in the runtime's own words where it gave one, with every pasted
|
|
18
|
+
* code and token shape redacted.
|
|
19
|
+
*/
|
|
20
|
+
export type LoginResult =
|
|
21
|
+
/** The runtime's own status query confirms the sign-in (or, when it cannot tell, the runtime reported success). */
|
|
22
|
+
{
|
|
23
|
+
readonly kind: "logged_in";
|
|
24
|
+
readonly account?: LoginAccount;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: "failed";
|
|
27
|
+
readonly reason: LoginFailureReason;
|
|
28
|
+
readonly detail?: string;
|
|
29
|
+
}
|
|
30
|
+
/** `interaction.signal` aborted before the runtime reported success; the login process and everything it started were stopped. */
|
|
31
|
+
| {
|
|
32
|
+
readonly kind: "cancelled";
|
|
33
|
+
} | {
|
|
34
|
+
readonly kind: "unsupported";
|
|
35
|
+
readonly reason: LoginUnsupportedReason;
|
|
36
|
+
readonly detail?: string;
|
|
37
|
+
};
|
|
38
|
+
export interface LoginOptions {
|
|
39
|
+
/** Bound for the whole flow, the person's time in the browser included; each runtime has its own default. */
|
|
40
|
+
readonly timeoutMs?: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Signs the installation in through the runtime's own login, without a
|
|
44
|
+
* terminal. Changes the machine's credentials: oar never calls it on its own.
|
|
45
|
+
*
|
|
46
|
+
* - Events go to `interaction.onEvent`: `auth_url` and `device_code` carry
|
|
47
|
+
* what a person opens or types, `info` the runtime's guidance. When the
|
|
48
|
+
* runtime needs a code pasted back, `interaction.prompt` is asked with
|
|
49
|
+
* `kind: "manual_code"`; the answer is written to the runtime's stdin only.
|
|
50
|
+
* - Never: a token or a pasted code in an event, a result, an error or a log.
|
|
51
|
+
* - Never logs the current account out first: a login that fails, times out
|
|
52
|
+
* or is cancelled leaves the previous login as it was.
|
|
53
|
+
* - Aborting `interaction.signal` stops the login process with everything it
|
|
54
|
+
* started and resolves `cancelled`. A prompt still open when the login
|
|
55
|
+
* settles is moot; the caller closes it.
|
|
56
|
+
* - Once the runtime reports success it has stored the new login: a deadline
|
|
57
|
+
* or abort after that never yields `timed_out` or `cancelled`. The status
|
|
58
|
+
* query decides; when it cannot answer (it failed, or the caller aborted)
|
|
59
|
+
* the result is `logged_in` without an account.
|
|
60
|
+
* - Logins are not serialized: whether two may run at once is the host's
|
|
61
|
+
* policy.
|
|
62
|
+
*/
|
|
63
|
+
export type RuntimeLogin = (installation: AvailableInstallation, interaction: ProviderLoginInteraction, options?: LoginOptions) => Promise<LoginResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Whether the runtime is logged in, from its own local status query.
|
|
66
|
+
* `source` names the command that answered.
|
|
67
|
+
*/
|
|
68
|
+
export type AuthStatus = {
|
|
69
|
+
readonly kind: "logged_in";
|
|
70
|
+
readonly account?: LoginAccount;
|
|
71
|
+
readonly source: string;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: "logged_out";
|
|
74
|
+
readonly source: string;
|
|
75
|
+
}
|
|
76
|
+
/** The status query failed or gave an answer oar cannot read; never a guess either way. */
|
|
77
|
+
| {
|
|
78
|
+
readonly kind: "unknown";
|
|
79
|
+
readonly detail?: string;
|
|
80
|
+
readonly source?: string;
|
|
81
|
+
};
|
|
82
|
+
export interface AuthStatusOptions {
|
|
83
|
+
readonly timeoutMs?: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Cheap and read only: runs the runtime's local status query, never a login
|
|
87
|
+
* flow, and returns no secret. Hosts call it to decide whether to offer a
|
|
88
|
+
* login.
|
|
89
|
+
*/
|
|
90
|
+
export type AuthStatusReader = (installation: AvailableInstallation, options?: AuthStatusOptions) => Promise<AuthStatus>;
|
|
91
|
+
//# sourceMappingURL=login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/contracts/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,oIAAoI;AACpI,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,UAAU,GACV,eAAe,GACf,oBAAoB,GACpB,gBAAgB,CAAC;AAErB,iDAAiD;AACjD,MAAM,MAAM,sBAAsB,GAC9B,0BAA0B,GAC1B,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,MAAM,WAAW;AACrB,mHAAmH;AACjH;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5F,kIAAkI;GAChI;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG,MAAM,WAAW,YAAY;IAC3B,6GAA6G;IAC7G,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,YAAY,EAAE,qBAAqB,EACnC,WAAW,EAAE,wBAAwB,EACrC,OAAO,CAAC,EAAE,YAAY,KACnB,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC1D,2FAA2F;GACzF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,iBAAiB,KACxB,OAAO,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/contracts/login.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuthStatusReader, RuntimeLogin } from "./login.js";
|
|
1
2
|
import type { RuntimeInventories } from "./inventory.js";
|
|
2
3
|
import type { UpdateChecker, Upgrader } from "./update.js";
|
|
3
4
|
import type { AccountUsageReader } from "./account-usage.js";
|
|
@@ -35,6 +36,10 @@ export interface Runtime extends RuntimeInventories {
|
|
|
35
36
|
readonly checkUpdate?: UpdateChecker;
|
|
36
37
|
/** Runs the runtime's own updater; changes the machine, so only on the host's explicit call. */
|
|
37
38
|
readonly upgrade?: Upgrader;
|
|
39
|
+
/** Signs the runtime in through its own login; changes the machine's credentials, so only on the host's explicit call. */
|
|
40
|
+
readonly login?: RuntimeLogin;
|
|
41
|
+
/** Read only: whether the runtime is signed in, from its local status query. */
|
|
42
|
+
readonly authStatus?: AuthStatusReader;
|
|
38
43
|
}
|
|
39
44
|
export declare function defineRuntime<const T extends Omit<Runtime, keyof RuntimeInventories | "brand"> & Partial<RuntimeInventories> & {
|
|
40
45
|
readonly brand?: RuntimeBrand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yDAAyD;AACzD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,oBAAoB,GAAG,KAAK,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9F,sDAAsD;AACtD,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,yDAAyD;AACzD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,oBAAoB,GAAG,KAAK,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9F,sDAAsD;AACtD,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B,0HAA0H;IAC1H,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAWD,wBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,kBAAkB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAExO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AA+CA,KAAK,UAAU,WAAW;IACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,+DAA+D;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAsI,OAAU;IAC3K,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACpJ,CAAC"}
|
|
@@ -67,7 +67,7 @@ export interface InputOptions {
|
|
|
67
67
|
* (docs/spec/runtime-matrix.md#refused-session-options).
|
|
68
68
|
*/
|
|
69
69
|
export interface SessionOptions {
|
|
70
|
-
/** Working directory the runtime operates in. With `resume`, a directory other than the session's own is refused where the runtime would run in its own instead (kimi: `UnsupportedOptionError` on `cwd`); cursor, pi and grok refuse it with their own error (docs/runtimes/resume-cwd.md). */
|
|
70
|
+
/** Working directory the runtime operates in. With `resume`, a directory other than the session's own is refused where the runtime would run in its own instead (kimi, opencode: `UnsupportedOptionError` on `cwd`); cursor, pi and grok refuse it with their own error (docs/runtimes/resume-cwd.md). */
|
|
71
71
|
readonly cwd: string;
|
|
72
72
|
/** Runtime-native model identifier; the runtime's default when omitted. */
|
|
73
73
|
readonly model?: string;
|
|
@@ -91,7 +91,7 @@ export interface SessionOptions {
|
|
|
91
91
|
* `Session.effort()` is the runtime's report, where it gives one.
|
|
92
92
|
*/
|
|
93
93
|
readonly effort?: string;
|
|
94
|
-
/** Resume the runtime-native session identified by a previous Session.id. In a `cwd` other than the session's own, see `cwd`: kimi
|
|
94
|
+
/** Resume the runtime-native session identified by a previous Session.id. In a `cwd` other than the session's own, see `cwd`: kimi and opencode refuse it with `UnsupportedOptionError` (docs/spec/runtime-matrix.md#refused-session-options). */
|
|
95
95
|
readonly resume?: string;
|
|
96
96
|
/** Extra environment overlaid on the host env for the processes THIS session spawns. Subprocess runtimes: the runtime process itself (tools inherit). In-process runtimes: only the agent's tool subprocesses; provider config needs the runtime's native channel there. CAVEAT for PATH-like entries: a runtime that runs tools through a login shell (codex: zsh/bash -lc) lets profile scripts reorder or rebuild PATH (probed: codex demotes injected entries on Linux and macOS path_helper/.zprofile can drop them). Injected CLIs should be invoked by ABSOLUTE path. Refused when non-empty by cursor, whose tools run in the host process with no environment of their own: `session()` rejects with `UnsupportedOptionError` (`Runtime.refusedSessionOptions`, docs/spec/runtime-matrix.md#refused-session-options). */
|
|
97
97
|
readonly env?: Readonly<Record<string, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/E,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type { ProviderAuthFacade, ProviderAuthStatus, ProviderLoginEvent, Provid
|
|
|
6
6
|
export type { CatalogModel, CatalogProvider, CatalogRefreshOptions, CatalogRefreshResult, ModelCatalogFacade, } from "./contracts/model-catalog.js";
|
|
7
7
|
export type { ListModelsOptions, ListModelsResult, ModelEntry, ModelLister, } from "./contracts/list-models.js";
|
|
8
8
|
export type { UpdateCheck, UpdateChecker, UpdateCheckOptions, UpdateCheckUnavailableReason, Upgrader, UpgradeOptions, UpgradeResult, } from "./contracts/update.js";
|
|
9
|
+
export type { AuthStatus, AuthStatusOptions, AuthStatusReader, LoginAccount, LoginFailureReason, LoginOptions, LoginResult, LoginUnsupportedReason, RuntimeLogin, } from "./contracts/login.js";
|
|
9
10
|
export type { RefusableSessionOption, RefusedSessionOptions, Runtime } from "./contracts/runtime.js";
|
|
10
11
|
export type { AdapterSession, AttributionTier, ContextUsage, ControlAction, ControlEventBody, ControlOutcome, ControlResult, Cursor, Event, EventBody, EventObserver, EventsOptions, FailureClass, Frame, FrameBody, DeliverOptions, DeliverResult, DeliverWhen, InputImage, InputOptions, InputOrigin, QueryResult, ReasoningContent, RecordEnvelope, RecordKind, RejectionCode, RequestBody, RequestDirection, RequestRecord, ResponseBody, ResponseRecord, RuntimeEventBody, UserMessage, Session, SessionCapabilities, SessionEdge, SessionGraph, SessionNode, RawEventObserver, SessionOptions, RawEvent, SessionUsage, StartSession, SteerOrQueueResult, TaskEventBody, TaskStatus, TaskType, TokenTotals, ToolOutputPart, TurnOutcome, Unsubscribe, UsageReport, } from "./contracts/session.js";
|
|
11
12
|
export { defineRuntime } from "./contracts/runtime.js";
|
|
@@ -43,6 +44,10 @@ export { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
|
43
44
|
export { kimiListModels, projectKimiModels } from "./runtimes/kimi/list-models.js";
|
|
44
45
|
export { kimiSession } from "./runtimes/kimi/session.js";
|
|
45
46
|
export { kimiInstallation } from "./runtimes/kimi/installation.js";
|
|
47
|
+
export { opencodeRuntime } from "./runtimes/opencode/index.js";
|
|
48
|
+
export { opencodeListModels, projectOpencodeModels } from "./runtimes/opencode/list-models.js";
|
|
49
|
+
export { opencodeSession } from "./runtimes/opencode/session.js";
|
|
50
|
+
export { opencodeInstallation } from "./runtimes/opencode/installation.js";
|
|
46
51
|
export { piRuntime } from "./runtimes/pi/index.js";
|
|
47
52
|
export { piListModels, projectPiModels } from "./runtimes/pi/list-models.js";
|
|
48
53
|
export { piSession } from "./runtimes/pi/session.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { claudeRuntime } from "./runtimes/claude/index.js";
|
|
|
4
4
|
import { codexRuntime } from "./runtimes/codex/index.js";
|
|
5
5
|
import { grokRuntime } from "./runtimes/grok/index.js";
|
|
6
6
|
import { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
7
|
+
import { opencodeRuntime } from "./runtimes/opencode/index.js";
|
|
7
8
|
import { piRuntime } from "./runtimes/pi/index.js";
|
|
8
9
|
export { defineRuntime } from "./contracts/runtime.js";
|
|
9
10
|
export { UnsupportedOptionError } from "./contracts/errors.js";
|
|
@@ -36,6 +37,10 @@ export { kimiRuntime } from "./runtimes/kimi/index.js";
|
|
|
36
37
|
export { kimiListModels, projectKimiModels } from "./runtimes/kimi/list-models.js";
|
|
37
38
|
export { kimiSession } from "./runtimes/kimi/session.js";
|
|
38
39
|
export { kimiInstallation } from "./runtimes/kimi/installation.js";
|
|
40
|
+
export { opencodeRuntime } from "./runtimes/opencode/index.js";
|
|
41
|
+
export { opencodeListModels, projectOpencodeModels } from "./runtimes/opencode/list-models.js";
|
|
42
|
+
export { opencodeSession } from "./runtimes/opencode/session.js";
|
|
43
|
+
export { opencodeInstallation } from "./runtimes/opencode/installation.js";
|
|
39
44
|
export { piRuntime } from "./runtimes/pi/index.js";
|
|
40
45
|
export { piListModels, projectPiModels } from "./runtimes/pi/list-models.js";
|
|
41
46
|
export { piSession } from "./runtimes/pi/session.js";
|
|
@@ -52,6 +57,7 @@ export const defaultRuntimes = new RuntimeRegistry([
|
|
|
52
57
|
codexRuntime,
|
|
53
58
|
grokRuntime,
|
|
54
59
|
kimiRuntime,
|
|
60
|
+
opencodeRuntime,
|
|
55
61
|
piRuntime,
|
|
56
62
|
]);
|
|
57
63
|
export { runtimeBrands, runtimeBrandIcon } from "./brands.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-activity.d.ts","sourceRoot":"","sources":["../../src/observe/tool-activity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,WAAW,GACX,WAAW,GACX,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8HAA8H;IAC9H,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"tool-activity.d.ts","sourceRoot":"","sources":["../../src/observe/tool-activity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,WAAW,GACX,WAAW,GACX,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8HAA8H;IAC9H,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA6ID,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAM5F;AAaD,kHAAkH;AAClH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAElG"}
|
|
@@ -31,9 +31,11 @@ const BY_RUNTIME = {
|
|
|
31
31
|
find: "search",
|
|
32
32
|
},
|
|
33
33
|
// The opening `tool_call` titles recorded in tests/replay/fixtures/<id>-acp-v1.vendor.json
|
|
34
|
-
// (grok 1.0.5, kimi 0.38.0); ACP's `kind` is no help (grok sends none,
|
|
34
|
+
// (grok 1.0.5, kimi 0.38.0, opencode 1.18.30); ACP's `kind` is no help (grok sends none,
|
|
35
|
+
// kimi and opencode a category).
|
|
35
36
|
grok: { run_terminal_command: "run_command" },
|
|
36
37
|
kimi: { Bash: "run_command" },
|
|
38
|
+
opencode: { bash: "run_command" },
|
|
37
39
|
// The `toolCall.type` of `@cursor/sdk` 1.0.35's tool updates.
|
|
38
40
|
cursor: {
|
|
39
41
|
shell: "run_command",
|
|
@@ -88,8 +90,9 @@ function waitFields(inputJson) {
|
|
|
88
90
|
* duration. A runtime with no recorded shape gets none. codex's
|
|
89
91
|
* `commandExecution` input is the bare command line, not JSON
|
|
90
92
|
* (codex/item-detail.ts). grok's opening `tool_call` carries `rawInput`
|
|
91
|
-
* `{command, description}`; kimi's carries none
|
|
92
|
-
* later update), so a kimi `Bash`
|
|
93
|
+
* `{command, description}`; kimi's carries none and opencode's only `cwd`
|
|
94
|
+
* (their arguments arrive on a later update), so a kimi `Bash` or opencode
|
|
95
|
+
* `bash` start has no command to read.
|
|
93
96
|
*/
|
|
94
97
|
const FIELDS = {
|
|
95
98
|
claude: { Bash: (input) => stringFields(input, true) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../src/observe/tool-activity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../src/observe/tool-activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AvailableInstallation } from "../../contracts/installation.js";
|
|
2
|
+
import type { AuthStatus, AuthStatusOptions } from "../../contracts/login.js";
|
|
3
|
+
export declare function claudeEnv(): NodeJS.ProcessEnv;
|
|
4
|
+
/** `claude auth status --json`: `{ loggedIn, authMethod, email?, subscriptionType?, ... }`, exit 0 logged in, 1 logged out. */
|
|
5
|
+
export declare function projectClaudeAuthStatus(stdout: string): AuthStatus;
|
|
6
|
+
/** `signal` (internal: the login's own) stops the query; the answer is then `unknown`. */
|
|
7
|
+
export declare function claudeAuthStatus(installation: AvailableInstallation, options?: AuthStatusOptions & {
|
|
8
|
+
readonly signal?: AbortSignal;
|
|
9
|
+
}): Promise<AuthStatus>;
|
|
10
|
+
//# sourceMappingURL=auth-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/auth-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,0BAA0B,CAAC;AAO5F,wBAAgB,SAAS,IAAI,MAAM,CAAC,UAAU,CAG7C;AAMD,+HAA+H;AAC/H,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAiBlE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,qBAAqB,EACnC,OAAO,GAAE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAClE,OAAO,CAAC,UAAU,CAAC,CAcrB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { runExecutable } from "../../shared/executable/index.js";
|
|
2
|
+
import { asRecord, parseJson } from "../../shared/json.js";
|
|
3
|
+
const STATUS_TIMEOUT_MS = 20_000;
|
|
4
|
+
const STATUS_SOURCE = "claude auth status --json";
|
|
5
|
+
export function claudeEnv() {
|
|
6
|
+
// As for sessions: a claude started from inside a claude session must not think it is nested.
|
|
7
|
+
return { ...process.env, CLAUDECODE: undefined };
|
|
8
|
+
}
|
|
9
|
+
function text(value) {
|
|
10
|
+
return typeof value === "string" && value.trim() !== "" ? value.trim() : undefined;
|
|
11
|
+
}
|
|
12
|
+
/** `claude auth status --json`: `{ loggedIn, authMethod, email?, subscriptionType?, ... }`, exit 0 logged in, 1 logged out. */
|
|
13
|
+
export function projectClaudeAuthStatus(stdout) {
|
|
14
|
+
const status = asRecord(parseJson(stdout));
|
|
15
|
+
if (status === null || typeof status.loggedIn !== "boolean") {
|
|
16
|
+
return { kind: "unknown", detail: "claude auth status gave no loggedIn field", source: STATUS_SOURCE };
|
|
17
|
+
}
|
|
18
|
+
if (!status.loggedIn) {
|
|
19
|
+
return { kind: "logged_out", source: STATUS_SOURCE };
|
|
20
|
+
}
|
|
21
|
+
const email = text(status.email);
|
|
22
|
+
const plan = text(status.subscriptionType);
|
|
23
|
+
const method = text(status.authMethod);
|
|
24
|
+
const account = {
|
|
25
|
+
...(email === undefined ? {} : { email }),
|
|
26
|
+
...(plan === undefined ? {} : { plan }),
|
|
27
|
+
...(method === undefined ? {} : { method }),
|
|
28
|
+
};
|
|
29
|
+
return { kind: "logged_in", ...(Object.keys(account).length === 0 ? {} : { account }), source: STATUS_SOURCE };
|
|
30
|
+
}
|
|
31
|
+
/** `signal` (internal: the login's own) stops the query; the answer is then `unknown`. */
|
|
32
|
+
export async function claudeAuthStatus(installation, options = {}) {
|
|
33
|
+
if (installation.via !== "executable") {
|
|
34
|
+
return { kind: "unknown", detail: "not a machine-installed executable" };
|
|
35
|
+
}
|
|
36
|
+
const result = await runExecutable(installation.command, ["auth", "status", "--json"], {
|
|
37
|
+
env: claudeEnv(),
|
|
38
|
+
timeoutMs: options.timeoutMs ?? STATUS_TIMEOUT_MS,
|
|
39
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
40
|
+
});
|
|
41
|
+
// Exit 0 logged in, 1 logged out; anything else (a timeout, a crash, an abort) is no answer.
|
|
42
|
+
if (!result.ok && result.exitCode !== 1) {
|
|
43
|
+
return { kind: "unknown", detail: `claude auth status ended without an answer (exit ${String(result.exitCode)})`, source: STATUS_SOURCE };
|
|
44
|
+
}
|
|
45
|
+
return projectClaudeAuthStatus(result.stdout);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=auth-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-status.js","sourceRoot":"","sources":["../../../src/runtimes/claude/auth-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { claudeAuthStatus } from "./auth-status.js";
|
|
2
|
+
import { claudeLogin } from "./login.js";
|
|
1
3
|
import { claudeUpgrade } from "./update.js";
|
|
2
4
|
export declare const claudeRuntime: {
|
|
3
5
|
readonly id: "claude";
|
|
@@ -13,6 +15,8 @@ export declare const claudeRuntime: {
|
|
|
13
15
|
readonly listModels: import("../../index.js").ModelLister;
|
|
14
16
|
readonly checkUpdate: import("../../index.js").UpdateChecker;
|
|
15
17
|
readonly upgrade: typeof claudeUpgrade;
|
|
18
|
+
readonly login: typeof claudeLogin;
|
|
19
|
+
readonly authStatus: typeof claudeAuthStatus;
|
|
16
20
|
readonly session: import("../../index.js").StartSession;
|
|
17
21
|
} & import("../../index.js").RuntimeInventories & {
|
|
18
22
|
readonly brand: import("../../brands.js").RuntimeBrand;
|