@botiverse/oar 0.3.1 → 0.5.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 +42 -0
- package/assets/brands/NOTICE.md +32 -0
- package/assets/brands/claude.svg +1 -0
- package/assets/brands/codex.svg +1 -0
- package/assets/brands/grok.svg +1 -0
- package/assets/brands/kimi.svg +1 -0
- package/assets/brands/pi.svg +6 -0
- package/dist/brands.d.ts +24 -0
- package/dist/brands.d.ts.map +1 -0
- package/dist/brands.js +8 -0
- package/dist/brands.js.map +1 -0
- package/dist/contracts/brand.d.ts +6 -0
- package/dist/contracts/brand.d.ts.map +1 -0
- package/dist/contracts/brand.js +2 -0
- package/dist/contracts/brand.js.map +1 -0
- package/dist/contracts/inventory.d.ts +65 -0
- package/dist/contracts/inventory.d.ts.map +1 -0
- package/dist/contracts/inventory.js +2 -0
- package/dist/contracts/inventory.js.map +1 -0
- package/dist/contracts/runtime.d.ts +9 -2
- package/dist/contracts/runtime.d.ts.map +1 -1
- package/dist/contracts/runtime.js +9 -1
- package/dist/contracts/runtime.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtimes/claude/index.d.ts +9 -0
- package/dist/runtimes/claude/index.d.ts.map +1 -1
- package/dist/runtimes/claude/index.js +6 -0
- package/dist/runtimes/claude/index.js.map +1 -1
- package/dist/runtimes/claude/inventory.d.ts +9 -0
- package/dist/runtimes/claude/inventory.d.ts.map +1 -0
- package/dist/runtimes/claude/inventory.js +120 -0
- package/dist/runtimes/claude/inventory.js.map +1 -0
- package/dist/runtimes/codex/app-server-client.d.ts +1 -1
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +2 -2
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/index.d.ts +9 -0
- package/dist/runtimes/codex/index.d.ts.map +1 -1
- package/dist/runtimes/codex/index.js +6 -0
- package/dist/runtimes/codex/index.js.map +1 -1
- package/dist/runtimes/codex/inventory.d.ts +11 -0
- package/dist/runtimes/codex/inventory.d.ts.map +1 -0
- package/dist/runtimes/codex/inventory.js +88 -0
- package/dist/runtimes/codex/inventory.js.map +1 -0
- package/dist/runtimes/grok/index.d.ts +8 -0
- package/dist/runtimes/grok/index.d.ts.map +1 -1
- package/dist/runtimes/grok/index.js +5 -0
- package/dist/runtimes/grok/index.js.map +1 -1
- package/dist/runtimes/grok/inventory.d.ts +7 -0
- package/dist/runtimes/grok/inventory.d.ts.map +1 -0
- package/dist/runtimes/grok/inventory.js +47 -0
- package/dist/runtimes/grok/inventory.js.map +1 -0
- package/dist/runtimes/kimi/index.d.ts +6 -0
- package/dist/runtimes/kimi/index.d.ts.map +1 -1
- package/dist/runtimes/kimi/index.js +2 -0
- package/dist/runtimes/kimi/index.js.map +1 -1
- package/dist/runtimes/pi/index.d.ts +8 -0
- package/dist/runtimes/pi/index.d.ts.map +1 -1
- package/dist/runtimes/pi/index.js +5 -0
- package/dist/runtimes/pi/index.js.map +1 -1
- package/dist/runtimes/pi/inventory.d.ts +4 -0
- package/dist/runtimes/pi/inventory.d.ts.map +1 -0
- package/dist/runtimes/pi/inventory.js +51 -0
- package/dist/runtimes/pi/inventory.js.map +1 -0
- package/dist/shared/inventory.d.ts +22 -0
- package/dist/shared/inventory.d.ts.map +1 -0
- package/dist/shared/inventory.js +59 -0
- package/dist/shared/inventory.js.map +1 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -80,3 +80,45 @@ HTTP quota endpoint. A native `rate_limits_available: false` becomes
|
|
|
80
80
|
`quota_unavailable`; it does not prove invalid credentials. Older CLIs that
|
|
81
81
|
reject the control request return `endpoint_unavailable`. Query-process session
|
|
82
82
|
totals are not returned as account usage.
|
|
83
|
+
|
|
84
|
+
## Native inventories
|
|
85
|
+
|
|
86
|
+
Every runtime exposes `skills(installation, options?)`,
|
|
87
|
+
`mcpServers(installation, options?)`, and `tools(installation, options?)`.
|
|
88
|
+
Options are `{ cwd?: string, timeoutMs?: number }`; cwd defaults to
|
|
89
|
+
`process.cwd()`. Queries independently discover native information and do not
|
|
90
|
+
inspect an existing Session or submit a model prompt.
|
|
91
|
+
|
|
92
|
+
Results distinguish `ok`, `unsupported`, and `unavailable`. Successful results
|
|
93
|
+
contain `items`, `scope.cwd`, `observedAt`, `view`, and `partial`. A
|
|
94
|
+
`mcp-only` view excludes built-in tools. Unknown schema or state fields stay
|
|
95
|
+
absent, and an unsupported query never pretends to be an empty catalog.
|
|
96
|
+
|
|
97
|
+
Codex and Claude expose skills and MCP discovery (tools are MCP-only); Grok
|
|
98
|
+
exposes independent skills/MCP configuration discovery; Pi exposes skills and
|
|
99
|
+
registered tools with active membership. Kimi inventory is unsupported on the
|
|
100
|
+
selected transport. Native startup can load extensions and connect configured
|
|
101
|
+
MCP servers.
|
|
102
|
+
|
|
103
|
+
Custom runtimes should use `defineRuntime`, which fills unavailable inventory
|
|
104
|
+
methods with explicit unsupported results. A manually constructed `Runtime`
|
|
105
|
+
must implement the three methods.
|
|
106
|
+
|
|
107
|
+
### Runtime branding
|
|
108
|
+
|
|
109
|
+
`runtime.brand` contains `{ name, icon }`. Built-in icons are self-contained SVG
|
|
110
|
+
data URIs, usable as an `<img src>` offline and serializable across IPC. No
|
|
111
|
+
installation, login, or runtime process is needed to read branding.
|
|
112
|
+
|
|
113
|
+
For browser-only consumers (without loading native SDKs):
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
import { runtimeBrands } from "@botiverse/oar/brands";
|
|
117
|
+
const { name, icon } = runtimeBrands.claude;
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
SVG files are also exported at `@botiverse/oar/assets/brands/<runtime-id>.svg`.
|
|
121
|
+
Their attribution and licenses ship in `assets/brands/NOTICE.md`. Pi uses the official `pi.dev/logo-on-dark.svg` asset, intended for dark backgrounds.
|
|
122
|
+
Custom runtimes created with `defineRuntime` may supply `brand`; otherwise it
|
|
123
|
+
defaults to `{ name: runtime.id, icon: null }`. Runtime branding identifies the
|
|
124
|
+
provider and is independent of an application's project avatars.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Runtime icons
|
|
2
|
+
|
|
3
|
+
Claude Code, Codex, Kimi and Grok SVGs are from LobeHub lobe-icons, commit a94750e3f5f8fc33757b839d85030e742284e43a, packages/static-svg/icons.
|
|
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.
|
|
6
|
+
Brand names and marks belong to their respective owners.
|
|
7
|
+
|
|
8
|
+
Pi: https://pi.dev/logo-on-dark.svg (retrieved 2026-09-16), unmodified official site asset for identification on dark backgrounds. Pi branding belongs to its respective owner; the LobeHub MIT license below does not cover this asset.
|
|
9
|
+
|
|
10
|
+
## LobeHub license
|
|
11
|
+
|
|
12
|
+
MIT License
|
|
13
|
+
|
|
14
|
+
Copyright (c) 2023 LobeHub
|
|
15
|
+
|
|
16
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
17
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
18
|
+
in the Software without restriction, including without limitation the rights
|
|
19
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
20
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
21
|
+
furnished to do so, subject to the following conditions:
|
|
22
|
+
|
|
23
|
+
The above copyright notice and this permission notice shall be included in all
|
|
24
|
+
copies or substantial portions of the Software.
|
|
25
|
+
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Claude Code</title><path clip-rule="evenodd" d="M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z" fill="#D97757" fill-rule="evenodd"></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>Codex</title><path clip-rule="evenodd" d="M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"></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>Grok</title><path d="M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Kimi</title><path d="M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z" fill="#1783FF"></path><path d="M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z" fill="#fff"></path></svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800">
|
|
3
|
+
<path fill="#F09082" d="M165.29 165.29H517.36V400H400V282.65H165.29Z"/>
|
|
4
|
+
<path fill="#4D9ABF" d="M165.29 282.65H282.65V400H400V517.36H282.65V634.72H165.29Z"/>
|
|
5
|
+
<path fill="#F1BE58" d="M517.36 400H634.72V634.72H517.36Z"/>
|
|
6
|
+
</svg>
|
package/dist/brands.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type { RuntimeBrand } from "./contracts/brand.js";
|
|
2
|
+
export declare const runtimeBrands: {
|
|
3
|
+
readonly claude: {
|
|
4
|
+
readonly name: "Claude Code";
|
|
5
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
6
|
+
};
|
|
7
|
+
readonly codex: {
|
|
8
|
+
readonly name: "Codex";
|
|
9
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
10
|
+
};
|
|
11
|
+
readonly kimi: {
|
|
12
|
+
readonly name: "Kimi Code";
|
|
13
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
14
|
+
};
|
|
15
|
+
readonly pi: {
|
|
16
|
+
readonly name: "Pi";
|
|
17
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
18
|
+
};
|
|
19
|
+
readonly grok: {
|
|
20
|
+
readonly name: "Grok Build";
|
|
21
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=brands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;CAMiC,CAAC"}
|
package/dist/brands.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const runtimeBrands = {
|
|
2
|
+
claude: { name: "Claude Code", 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>Claude Code</title><path clip-rule=\"evenodd\" d=\"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z\" fill=\"#D97757\" fill-rule=\"evenodd\"></path></svg>")}` },
|
|
3
|
+
codex: { name: "Codex", 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>Codex</title><path clip-rule=\"evenodd\" d=\"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z\"></path></svg>")}` },
|
|
4
|
+
kimi: { name: "Kimi Code", 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>Kimi</title><path d=\"M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z\" fill=\"#1783FF\"></path><path d=\"M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z\" fill=\"#fff\"></path></svg>")}` },
|
|
5
|
+
pi: { name: "Pi", icon: `data:image/svg+xml,${encodeURIComponent("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 800\">\n <path fill=\"#F09082\" d=\"M165.29 165.29H517.36V400H400V282.65H165.29Z\"/>\n <path fill=\"#4D9ABF\" d=\"M165.29 282.65H282.65V400H400V517.36H282.65V634.72H165.29Z\"/>\n <path fill=\"#F1BE58\" d=\"M517.36 400H634.72V634.72H517.36Z\"/>\n</svg>\n")}` },
|
|
6
|
+
grok: { name: "Grok Build", 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>Grok</title><path d=\"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815\"></path></svg>")}` },
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=brands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../src/brands.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,4bAA4b,CAAC,EAAE,EAAE;IAC/gB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,42CAA42C,CAAC,EAAE,EAAE;IACx7C,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,yxBAAyxB,CAAC,EAAE,EAAE;IACx2B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,0WAA0W,CAAC,EAAE,EAAE;IAChb,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,swBAAswB,CAAC,EAAE,EAAE;CAC7xB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/contracts/brand.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/contracts/brand.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { AvailableInstallation } from "./installation.js";
|
|
2
|
+
/** Independent native discovery in a working directory. */
|
|
3
|
+
export interface InventoryScope {
|
|
4
|
+
readonly kind: "workspace";
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
}
|
|
7
|
+
export interface InventoryOptions {
|
|
8
|
+
/** Defaults to process.cwd(); hosts should pass their project directory explicitly. */
|
|
9
|
+
readonly cwd?: string;
|
|
10
|
+
readonly timeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SkillEntry {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly description?: string;
|
|
15
|
+
readonly path?: string;
|
|
16
|
+
readonly source?: string;
|
|
17
|
+
readonly enabled?: boolean;
|
|
18
|
+
readonly disableModelInvocation?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface McpServerEntry {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly name: string;
|
|
23
|
+
/** Native state, not normalized into a guessed connected boolean. */
|
|
24
|
+
readonly status?: string;
|
|
25
|
+
readonly authStatus?: string;
|
|
26
|
+
readonly enabled?: boolean;
|
|
27
|
+
readonly source?: string;
|
|
28
|
+
readonly toolCount?: number;
|
|
29
|
+
readonly error?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ToolEntry {
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly description?: string;
|
|
34
|
+
readonly mcpServerId?: string;
|
|
35
|
+
readonly source?: string;
|
|
36
|
+
readonly enabled?: boolean;
|
|
37
|
+
readonly active?: boolean;
|
|
38
|
+
readonly loaded?: boolean;
|
|
39
|
+
readonly inputSchema?: Readonly<Record<string, unknown>>;
|
|
40
|
+
}
|
|
41
|
+
export type InventoryResult<T> = {
|
|
42
|
+
readonly kind: "ok";
|
|
43
|
+
readonly scope: InventoryScope;
|
|
44
|
+
readonly observedAt: string;
|
|
45
|
+
/** Which native view was read; mcp-only must never be displayed as all tools. */
|
|
46
|
+
readonly view: "discovered" | "context" | "registered" | "mcp-only";
|
|
47
|
+
readonly items: readonly T[];
|
|
48
|
+
/** Native discovery errors / startup gaps, without credentials or raw configs. */
|
|
49
|
+
readonly partial: boolean;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: "unsupported";
|
|
52
|
+
readonly code: "native_query_unavailable" | "transport_unavailable" | "scope_unavailable" | "installation_unsupported";
|
|
53
|
+
readonly reason: string;
|
|
54
|
+
} | {
|
|
55
|
+
readonly kind: "unavailable";
|
|
56
|
+
readonly code: "timeout" | "query_failed";
|
|
57
|
+
readonly reason: string;
|
|
58
|
+
};
|
|
59
|
+
export type InventoryReader<T> = (installation: AvailableInstallation, options?: InventoryOptions) => Promise<InventoryResult<T>>;
|
|
60
|
+
export interface RuntimeInventories {
|
|
61
|
+
readonly skills: InventoryReader<SkillEntry>;
|
|
62
|
+
readonly mcpServers: InventoryReader<McpServerEntry>;
|
|
63
|
+
readonly tools: InventoryReader<ToolEntry>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../src/contracts/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AACD,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,0BAA0B,CAAC;IACvH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAClI,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/contracts/inventory.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
+
import type { RuntimeInventories } from "./inventory.js";
|
|
1
2
|
import type { AccountUsageReader } from "./account-usage.js";
|
|
2
3
|
import type { InstallationProbe } from "./installation.js";
|
|
3
4
|
import type { ModelLister } from "./list-models.js";
|
|
5
|
+
import type { RuntimeBrand } from "./brand.js";
|
|
4
6
|
import type { StartSession } from "./session.js";
|
|
5
7
|
/** One provider-independent runtime adoption unit. */
|
|
6
|
-
export interface Runtime {
|
|
8
|
+
export interface Runtime extends RuntimeInventories {
|
|
7
9
|
readonly id: string;
|
|
10
|
+
readonly brand: RuntimeBrand;
|
|
8
11
|
readonly session: StartSession;
|
|
9
12
|
readonly installation?: InstallationProbe;
|
|
10
13
|
readonly accountUsage?: AccountUsageReader;
|
|
11
14
|
readonly listModels?: ModelLister;
|
|
12
15
|
}
|
|
13
|
-
export declare function defineRuntime<const T extends Runtime>
|
|
16
|
+
export declare function defineRuntime<const T extends Omit<Runtime, keyof RuntimeInventories | "brand"> & Partial<RuntimeInventories> & {
|
|
17
|
+
readonly brand?: RuntimeBrand;
|
|
18
|
+
}>(runtime: T): T & RuntimeInventories & {
|
|
19
|
+
readonly brand: RuntimeBrand;
|
|
20
|
+
};
|
|
14
21
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAAA,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,cAAc,CAAC;AAEjD,sDAAsD;AACtD,MAAM,WAAW,
|
|
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,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,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,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;CACnC;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,4 +1,12 @@
|
|
|
1
|
+
async function unsupported() {
|
|
2
|
+
await Promise.resolve();
|
|
3
|
+
return {
|
|
4
|
+
kind: "unsupported",
|
|
5
|
+
code: "transport_unavailable",
|
|
6
|
+
reason: "The selected runtime interface does not expose this inventory",
|
|
7
|
+
};
|
|
8
|
+
}
|
|
1
9
|
export function defineRuntime(runtime) {
|
|
2
|
-
return runtime;
|
|
10
|
+
return { skills: unsupported, mcpServers: unsupported, tools: unsupported, ...runtime, brand: runtime.brand ?? { name: runtime.id, icon: null } };
|
|
3
11
|
}
|
|
4
12
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -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":"AAiBA,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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RuntimeRegistry } from "./registry.js";
|
|
2
|
+
export type { InventoryScope, InventoryOptions, SkillEntry, McpServerEntry, ToolEntry, InventoryResult, InventoryReader, RuntimeInventories } from "./contracts/inventory.js";
|
|
2
3
|
export type { AccountUsageUnsupportedReason, AccountUsageReauthReason, AccountUsageReader, AccountUsageReadOptions, AccountUsageSnapshot, AccountUsageWindow, UtcInstant, } from "./contracts/account-usage.js";
|
|
3
4
|
export type { AvailableInstallation, BundledInstallation, ExecutableInstallation, InstallationProbe, InstallationSnapshot, } from "./contracts/installation.js";
|
|
4
5
|
export type { ProviderAuthFacade, ProviderAuthStatus, ProviderLoginEvent, ProviderLoginInteraction, ProviderLoginMethod, ProviderLoginPrompt, } from "./contracts/provider-auth.js";
|
|
@@ -48,4 +49,6 @@ export { piListModels, projectPiModels } from "./runtimes/pi/list-models.js";
|
|
|
48
49
|
export { piSession } from "./runtimes/pi/session.js";
|
|
49
50
|
export { piInstallation } from "./runtimes/pi/installation.js";
|
|
50
51
|
export declare const runtimes: RuntimeRegistry;
|
|
52
|
+
export { runtimeBrands } from "./brands.js";
|
|
53
|
+
export type { RuntimeBrand } from "./brands.js";
|
|
51
54
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
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,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,9 +1,18 @@
|
|
|
1
1
|
export declare const claudeRuntime: {
|
|
2
2
|
readonly id: "claude";
|
|
3
|
+
readonly brand: {
|
|
4
|
+
readonly name: "Claude Code";
|
|
5
|
+
readonly icon: `data:image/svg+xml,${string}`;
|
|
6
|
+
};
|
|
7
|
+
readonly skills: import("../../index.js").InventoryReader<import("../../index.js").SkillEntry>;
|
|
8
|
+
readonly mcpServers: import("../../index.js").InventoryReader<import("../../index.js").McpServerEntry>;
|
|
9
|
+
readonly tools: import("../../index.js").InventoryReader<import("../../index.js").ToolEntry>;
|
|
3
10
|
readonly installation: import("../../index.js").InstallationProbe;
|
|
4
11
|
readonly accountUsage: import("../../index.js").AccountUsageReader;
|
|
5
12
|
readonly listModels: import("../../index.js").ModelLister;
|
|
6
13
|
readonly session: import("../../index.js").StartSession;
|
|
14
|
+
} & import("../../index.js").RuntimeInventories & {
|
|
15
|
+
readonly brand: import("../../brands.js").RuntimeBrand;
|
|
7
16
|
};
|
|
8
17
|
export { claudeAccountUsage } from "./account-usage.js";
|
|
9
18
|
export { claudeListModels, projectClaudeModels } from "./list-models.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAWxB,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { runtimeBrands } from "../../brands.js";
|
|
2
|
+
import { claudeSkills, claudeMcpServers, claudeTools } from "./inventory.js";
|
|
1
3
|
import { defineRuntime } from "../../contracts/runtime.js";
|
|
2
4
|
import { claudeAccountUsage } from "./account-usage.js";
|
|
3
5
|
import { claudeInstallation } from "./installation.js";
|
|
@@ -5,6 +7,10 @@ import { claudeListModels } from "./list-models.js";
|
|
|
5
7
|
import { claudeSession } from "./session.js";
|
|
6
8
|
export const claudeRuntime = defineRuntime({
|
|
7
9
|
id: "claude",
|
|
10
|
+
brand: runtimeBrands.claude,
|
|
11
|
+
skills: claudeSkills,
|
|
12
|
+
mcpServers: claudeMcpServers,
|
|
13
|
+
tools: claudeTools,
|
|
8
14
|
installation: claudeInstallation,
|
|
9
15
|
accountUsage: claudeAccountUsage,
|
|
10
16
|
listModels: claudeListModels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,EAAE,EAAE,QAAQ;IACZ,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,aAAa,CAAC,MAAM;IAC3B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,KAAK,EAAE,WAAW;IAElB,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InventoryReader, McpServerEntry, SkillEntry, ToolEntry } from "../../contracts/inventory.js";
|
|
2
|
+
import { type JsonRecord } from "../../shared/json.js";
|
|
3
|
+
export declare function projectClaudeSkills(payload: JsonRecord): SkillEntry[];
|
|
4
|
+
export declare function projectClaudeServers(servers: readonly JsonRecord[]): McpServerEntry[];
|
|
5
|
+
export declare function projectClaudeTools(servers: readonly JsonRecord[]): ToolEntry[];
|
|
6
|
+
export declare const claudeSkills: InventoryReader<SkillEntry>;
|
|
7
|
+
export declare const claudeMcpServers: InventoryReader<McpServerEntry>;
|
|
8
|
+
export declare const claudeTools: InventoryReader<ToolEntry>;
|
|
9
|
+
//# sourceMappingURL=inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/inventory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAmC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE5I,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,EAAE,CAIrE;AACD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,cAAc,EAAE,CAOrF;AACD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,EAAE,CAK9E;AA+ED,eAAO,MAAM,YAAY,6BAGvB,CAAC;AACH,eAAO,MAAM,gBAAgB,iCAG3B,CAAC;AACH,eAAO,MAAM,WAAW,4BAGtB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/* oxlint-disable oxc/no-map-spread -- Project immutable native entries into credential-free records. */
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
4
|
+
import { spawnLineProcess } from "../../shared/executable/index.js";
|
|
5
|
+
import { asRecord, parseJson } from "../../shared/json.js";
|
|
6
|
+
import { inventoryOk, inventoryRead, named, nativeRows, textField, unsupportedInventory, workspaceScope } from "../../shared/inventory.js";
|
|
7
|
+
export function projectClaudeSkills(payload) {
|
|
8
|
+
return nativeRows(asRecord(payload.skills)?.skillFrontmatter).map((skill) => ({
|
|
9
|
+
name: named(skill), ...textField("source", skill.source),
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
export function projectClaudeServers(servers) {
|
|
13
|
+
return servers.map((server) => ({
|
|
14
|
+
id: named(server), name: named(server),
|
|
15
|
+
...textField("status", server.status), ...textField("source", server.scope),
|
|
16
|
+
...(Array.isArray(server.tools) ? { toolCount: server.tools.length } : {}),
|
|
17
|
+
...((server.error === null || server.error === undefined) ? {} : { error: "Native MCP connection failed" }),
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
export function projectClaudeTools(servers) {
|
|
21
|
+
return servers.flatMap((server) => server.tools === undefined ? [] : nativeRows(server.tools).map((tool) => ({
|
|
22
|
+
name: named(tool), mcpServerId: named(server), source: "mcp",
|
|
23
|
+
...textField("description", tool.description),
|
|
24
|
+
})));
|
|
25
|
+
}
|
|
26
|
+
class UnsupportedControlError extends Error {
|
|
27
|
+
name = "UnsupportedControlError";
|
|
28
|
+
}
|
|
29
|
+
function reader(read) {
|
|
30
|
+
return async (installation, options = {}) => {
|
|
31
|
+
if (installation.via !== "executable") {
|
|
32
|
+
return unsupportedInventory("installation_unsupported", "Claude inventory requires an executable");
|
|
33
|
+
}
|
|
34
|
+
const scope = workspaceScope(options);
|
|
35
|
+
const child = spawnLineProcess(installation.command, [
|
|
36
|
+
"-p", "--input-format", "stream-json", "--output-format", "stream-json", "--verbose", "--no-session-persistence",
|
|
37
|
+
], { cwd: scope.cwd, env: { ...process.env, CLAUDECODE: undefined } });
|
|
38
|
+
let pending = null;
|
|
39
|
+
let closed = false;
|
|
40
|
+
child.onLine((line) => {
|
|
41
|
+
const message = asRecord(parseJson(line));
|
|
42
|
+
const response = asRecord(message?.response);
|
|
43
|
+
if (message?.type === "control_response" && response !== null && response.request_id === pending?.id && pending !== null) {
|
|
44
|
+
const waiter = pending;
|
|
45
|
+
pending = null;
|
|
46
|
+
if (response.subtype === "success") {
|
|
47
|
+
waiter.resolve(asRecord(response.response) ?? {});
|
|
48
|
+
}
|
|
49
|
+
else if (typeof response.error === "string" && /unsupported|not supported|unknown control/iu.test(response.error)) {
|
|
50
|
+
waiter.reject(new UnsupportedControlError());
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
waiter.reject(new Error("Native control query failed"));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
child.onExit(() => {
|
|
58
|
+
closed = true;
|
|
59
|
+
pending?.reject(new Error("Native process exited"));
|
|
60
|
+
pending = null;
|
|
61
|
+
});
|
|
62
|
+
const request = async (method, params) => {
|
|
63
|
+
if (closed) {
|
|
64
|
+
throw new Error("Native process exited");
|
|
65
|
+
}
|
|
66
|
+
const id = randomUUID();
|
|
67
|
+
const { promise, resolve, reject } = Promise.withResolvers();
|
|
68
|
+
pending = { id, resolve, reject };
|
|
69
|
+
child.write(`${JSON.stringify({ type: "control_request", request_id: id, request: { subtype: method, ...params } })}\n`);
|
|
70
|
+
const result = await promise;
|
|
71
|
+
return result;
|
|
72
|
+
};
|
|
73
|
+
try {
|
|
74
|
+
return await inventoryRead(async () => {
|
|
75
|
+
try {
|
|
76
|
+
await child.spawned;
|
|
77
|
+
await request("initialize", {});
|
|
78
|
+
return await read(request, scope);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (error instanceof UnsupportedControlError) {
|
|
82
|
+
return unsupportedInventory("native_query_unavailable", "This Claude build does not expose the inventory query");
|
|
83
|
+
}
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}, options.timeoutMs);
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
child.kill();
|
|
90
|
+
await child.exited;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
async function readServers(request) {
|
|
95
|
+
let payload = await request("mcp_status", {});
|
|
96
|
+
let servers = nativeRows(payload.mcpServers);
|
|
97
|
+
// Bounded startup wait; pending is returned as partial rather than hidden.
|
|
98
|
+
for (let attempt = 0; attempt < 10 && servers.some((server) => server.status === "pending"); attempt += 1) {
|
|
99
|
+
await delay(200);
|
|
100
|
+
payload = await request("mcp_status", {});
|
|
101
|
+
servers = nativeRows(payload.mcpServers);
|
|
102
|
+
}
|
|
103
|
+
return servers;
|
|
104
|
+
}
|
|
105
|
+
function partial(servers) {
|
|
106
|
+
return servers.some((server) => server.status === "pending" || server.status === "failed");
|
|
107
|
+
}
|
|
108
|
+
export const claudeSkills = reader(async (request, scope) => {
|
|
109
|
+
const payload = await request("get_context_usage", { detail: "summary" });
|
|
110
|
+
return inventoryOk(scope, "context", projectClaudeSkills(payload));
|
|
111
|
+
});
|
|
112
|
+
export const claudeMcpServers = reader(async (request, scope) => {
|
|
113
|
+
const servers = await readServers(request);
|
|
114
|
+
return inventoryOk(scope, "discovered", projectClaudeServers(servers), partial(servers));
|
|
115
|
+
});
|
|
116
|
+
export const claudeTools = reader(async (request, scope) => {
|
|
117
|
+
const servers = await readServers(request);
|
|
118
|
+
return inventoryOk(scope, "mcp-only", projectClaudeTools(servers), partial(servers));
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/runtimes/claude/inventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,5 +48,5 @@ export interface AppServerClient {
|
|
|
48
48
|
onExit(handler: (code: number | null) => void): void;
|
|
49
49
|
kill(): void;
|
|
50
50
|
}
|
|
51
|
-
export declare function startAppServerClient(command: string, env?: Readonly<Record<string, string>>, configOverrides?: Readonly<Record<string, string
|
|
51
|
+
export declare function startAppServerClient(command: string, env?: Readonly<Record<string, string>>, configOverrides?: Readonly<Record<string, string>>, cwd?: string): AppServerClient;
|
|
52
52
|
//# sourceMappingURL=app-server-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-server-client.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/app-server-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;GAIG;AACH,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5G,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACjD;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC;CACd;AAQD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,eAAe,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,
|
|
1
|
+
{"version":3,"file":"app-server-client.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/app-server-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;GAIG;AACH,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5G,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACjD;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC;CACd;AAQD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,eAAe,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EACtD,GAAG,CAAC,EAAE,MAAM,GACX,eAAe,CAkHjB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { spawnLineProcess } from "../../shared/executable/index.js";
|
|
2
2
|
import { asRecord, parseJson } from "../../shared/json.js";
|
|
3
|
-
export function startAppServerClient(command, env, configOverrides = {}) {
|
|
3
|
+
export function startAppServerClient(command, env, configOverrides = {}, cwd) {
|
|
4
4
|
// -c KEY=VALUE injects config at launch. This is the ONLY seam that reaches
|
|
5
5
|
// codex's exec tool: thread/start.sandboxMode does not (pinned on a real
|
|
6
6
|
// login: thread param honored for its own turns but exec follows config).
|
|
7
7
|
const overrideArgs = Object.entries(configOverrides).flatMap(([key, value]) => ["-c", `${key}=${value}`]);
|
|
8
|
-
const child = spawnLineProcess(command, ["app-server", ...overrideArgs, "--listen", "stdio://"], env === undefined ? {} : { env: { ...process.env, ...env } });
|
|
8
|
+
const child = spawnLineProcess(command, ["app-server", ...overrideArgs, "--listen", "stdio://"], { ...(cwd === undefined ? {} : { cwd }), ...(env === undefined ? {} : { env: { ...process.env, ...env } }) });
|
|
9
9
|
const pending = new Map();
|
|
10
10
|
// Inbound frames and marks share one queue until `handle` registers the
|
|
11
11
|
// handlers, so their relative order is the wire's whatever kind they are.
|