@kodycodes/cli 1.13.2 → 1.14.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 +16 -6
- package/dist/credential-client-runtime-source.d.ts +8 -0
- package/dist/credential-client-runtime-source.js +9 -0
- package/dist/credential-client-runtime-source.js.map +1 -0
- package/dist/help.js +5 -4
- package/dist/help.js.map +1 -1
- package/dist/local-bundle.d.ts +7 -0
- package/dist/local-bundle.js +60 -0
- package/dist/local-bundle.js.map +1 -0
- package/dist/local-execute.d.ts +2 -1
- package/dist/local-execute.js +4 -2
- package/dist/local-execute.js.map +1 -1
- package/dist/local-runtime-source.d.ts +5 -4
- package/dist/local-runtime-source.js +19 -4
- package/dist/local-runtime-source.js.map +1 -1
- package/package.json +3 -1
- package/skills/kody/SKILL.md +21 -19
- package/dist/local-typescript.d.ts +0 -7
- package/dist/local-typescript.js +0 -59
- package/dist/local-typescript.js.map +0 -1
package/README.md
CHANGED
|
@@ -186,12 +186,13 @@ npx @kodycodes/cli execute --local --file ./task.js --params '{"to":"me@example.
|
|
|
186
186
|
`kody_at_…` token in that case.
|
|
187
187
|
- **Node.js:** 22 or newer (`package.json` `engines` is `>=22`). Older Node
|
|
188
188
|
fails immediately with that requirement, before workerd is downloaded or
|
|
189
|
-
started.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
189
|
+
started.
|
|
190
|
+
- **Bundling:** `--file` entries are bundled with esbuild before workerd
|
|
191
|
+
loads `main.js` (relative local imports and bare npm packages from
|
|
192
|
+
`node_modules`; `kody:*` stays external for package-graph / runtime). That
|
|
193
|
+
matches hosted execute and publish. Unresolvable imports fail with a clear
|
|
194
|
+
bundle error before any network call. `--code` and stdin (`--file -`) are
|
|
195
|
+
left as written (no filesystem graph to follow).
|
|
195
196
|
- **Runtime:** a pinned [workerd](https://github.com/cloudflare/workerd)
|
|
196
197
|
release, downloaded once from GitHub, sha256-verified, and cached under
|
|
197
198
|
`~/.cache/kody` (Linux, or `$XDG_CACHE_HOME/kody`) or
|
|
@@ -254,6 +255,15 @@ Access tokens refresh automatically on expiry or HTTP 401.
|
|
|
254
255
|
uses stored CLI credentials from `kody login`. Token-only cloud execute still
|
|
255
256
|
only reads `--token` / `KODY_API_TOKEN`.
|
|
256
257
|
|
|
258
|
+
## Benchmark
|
|
259
|
+
|
|
260
|
+
`npm run build && npm run bench` times the built CLI (startup, `status`, and
|
|
261
|
+
`execute --local` against a loopback stand-in for api.kody.codes) over 20 runs
|
|
262
|
+
and prints p50/p95. The `bench` workflow runs it on every pull request and
|
|
263
|
+
weekly, failing when a scenario's p50 exceeds the budget in
|
|
264
|
+
`scripts/bench-budgets.json` (milliseconds over the bare Node startup of the
|
|
265
|
+
same run).
|
|
266
|
+
|
|
257
267
|
## Releases
|
|
258
268
|
|
|
259
269
|
This repo uses [semantic-release](https://github.com/semantic-release/semantic-release)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sandbox source for credential()/credentials() on the local kody:runtime host.
|
|
3
|
+
* Kept in sync with kentcdodds/kody `createCredentialClientRuntimeSource`
|
|
4
|
+
* (packages/worker/src/mcp/execute-modules/credential-client-source.ts).
|
|
5
|
+
* Client fetches carry only `x-kody-credential-client`; origin's fetch gateway
|
|
6
|
+
* places the credential. Secret values never enter local workerd.
|
|
7
|
+
*/
|
|
8
|
+
export declare const credentialClientRuntimeSource = "function __kodyCreateCredentialRuntime(__kodyCredentialCall) {\n const handleHeader = \"x-kody-credential-client\";\n const codePattern = /^\\[([a-z_]+)\\] /;\n const redirectStatuses = new Set([301, 302, 303, 307, 308]);\n const maxRedirects = 20;\n const toError = (body) => {\n const error = new Error(String(body?.message ?? 'The credential could not be used.'));\n error.name = 'CredentialError';\n error.code = typeof body?.code === 'string' ? body.code : 'credential_error';\n error.retryWith = Array.isArray(body?.retryWith) ? body.retryWith : [];\n if (Array.isArray(body?.options)) error.options = body.options;\n if (Array.isArray(body?.possibleMatches)) error.possibleMatches = body.possibleMatches;\n return error;\n };\n const fromThrown = (error) => {\n const message = String(error?.message ?? error ?? '');\n const match = codePattern.exec(message);\n if (!match) return error;\n return toError({ code: match[1], message: message.slice(match[0].length) });\n };\n const invoke = async (name, args) => {\n let result;\n try {\n result = await __kodyCredentialCall(name, args);\n } catch (error) {\n throw fromThrown(error);\n }\n if (result && result.ok === false) throw toError(result.error);\n return result?.value;\n };\n const hostAllowed = (hosts, host) => {\n const target = String(host ?? '').toLowerCase();\n return hosts.some((entry) => {\n const normalized = String(entry).trim().toLowerCase();\n if (!normalized.startsWith('*.')) return normalized === target;\n const suffix = normalized.slice(1);\n if (!target.endsWith(suffix)) return false;\n const label = target.slice(0, -suffix.length);\n return label.length > 0 && !label.includes('.');\n });\n };\n const firstExactHost = (hosts) =>\n hosts.find((host) => !String(host).startsWith('*.')) ?? null;\n const resolveUrl = (input, hosts) => {\n const raw = input instanceof Request ? input.url : String(input);\n if (/^[a-z][a-z0-9+.-]*:/i.test(raw)) return raw;\n const host = firstExactHost(hosts);\n if (!host) {\n throw toError({\n code: 'invalid_request',\n message: 'This credential has no exact host to resolve a relative URL against; pass an absolute https:// URL on one of its hosts.',\n });\n }\n return new URL(raw, 'https://' + host).toString();\n };\n const send = async (request, handle) => {\n const headers = new Headers(request.headers);\n if (handle) headers.set(handleHeader, handle);\n else headers.delete(handleHeader);\n try {\n return await globalThis.fetch(new Request(request, { headers, redirect: 'manual' }));\n } catch (error) {\n throw fromThrown(error);\n }\n };\n const createFetch = (opened) => async (input, init) => {\n const redirectMode =\n init?.redirect ?? (input instanceof Request ? input.redirect : 'follow');\n const url = resolveUrl(input, opened.hosts);\n let request =\n input instanceof Request\n ? new Request(url, new Request(input, init))\n : new Request(url, init);\n let carriesCredential = true;\n for (let hop = 0; ; hop += 1) {\n const replay = request.body ? request.clone() : request;\n let response = await send(request, carriesCredential ? opened.handle : null);\n if (opened.kind === 'oauth' && carriesCredential && response.status === 401) {\n const refreshed = await invoke(\"credentialClientRefresh\", { handle: opened.handle });\n if (refreshed?.refreshed) {\n await response.body?.cancel();\n const retry = replay.body ? replay.clone() : replay;\n response = await send(retry, opened.handle);\n }\n }\n if (!redirectStatuses.has(response.status) || redirectMode === 'manual') {\n return response;\n }\n if (redirectMode === 'error') {\n await response.body?.cancel();\n throw new TypeError('The response redirected and redirect is \"error\".');\n }\n // A url credential owns its whole URL, so its redirects come back as\n // they are: following one would need the secret URL as the base.\n if (opened.kind === 'url') return response;\n const location = response.headers.get('location');\n if (!location) return response;\n if (hop >= maxRedirects) {\n await response.body?.cancel();\n throw new TypeError('Too many redirects.');\n }\n await response.body?.cancel();\n const next = new URL(location, response.url || request.url);\n const rewritesToGet =\n response.status === 303 ||\n ((response.status === 301 || response.status === 302) && request.method === 'POST');\n // The credential follows only to its own hosts over https.\n carriesCredential =\n next.protocol === 'https:' &&\n hostAllowed(opened.hosts, next.hostname);\n const headers = new Headers(replay.headers);\n if (!carriesCredential) headers.delete('authorization');\n if (rewritesToGet) {\n headers.delete('content-type');\n headers.delete('content-length');\n }\n request = new Request(next, {\n method: rewritesToGet ? 'GET' : replay.method,\n headers,\n body: rewritesToGet ? null : replay.body,\n ...(rewritesToGet || !replay.body ? {} : { duplex: 'half' }),\n });\n }\n };\n const toClient = (opened) => {\n const client = { name: opened.name, scope: opened.scope, kind: opened.kind, hosts: [...opened.hosts] };\n if (opened.kind === 'mcp') {\n client.callTool = async (tool, args) =>\n await invoke(\"credentialClientCallTool\", { handle: opened.handle, tool, args: args ?? {} });\n } else if (opened.kind === 'signing') {\n client.sign = async (operation) => {\n const { host, ...rest } = operation ?? {};\n const result = await invoke(\"credentialClientSign\", {\n handle: opened.handle,\n host: host ?? firstExactHost(opened.hosts),\n operation: rest,\n });\n return result?.signature;\n };\n } else {\n client.fetch = createFetch(opened);\n }\n return Object.freeze(client);\n };\n const open = async (args) => toClient(await invoke(\"credentialClientOpen\", args));\n const credential = async (key) => await open({ key });\n credential.named = async (name, options) =>\n await open({ name, scope: options?.scope ?? null });\n const credentials = async (key) => [await credential(key)];\n return { credential: Object.freeze(credential), credentials };\n}";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sandbox source for credential()/credentials() on the local kody:runtime host.
|
|
3
|
+
* Kept in sync with kentcdodds/kody `createCredentialClientRuntimeSource`
|
|
4
|
+
* (packages/worker/src/mcp/execute-modules/credential-client-source.ts).
|
|
5
|
+
* Client fetches carry only `x-kody-credential-client`; origin's fetch gateway
|
|
6
|
+
* places the credential. Secret values never enter local workerd.
|
|
7
|
+
*/
|
|
8
|
+
export const credentialClientRuntimeSource = "function __kodyCreateCredentialRuntime(__kodyCredentialCall) {\n const handleHeader = \"x-kody-credential-client\";\n const codePattern = /^\\[([a-z_]+)\\] /;\n const redirectStatuses = new Set([301, 302, 303, 307, 308]);\n const maxRedirects = 20;\n const toError = (body) => {\n const error = new Error(String(body?.message ?? 'The credential could not be used.'));\n error.name = 'CredentialError';\n error.code = typeof body?.code === 'string' ? body.code : 'credential_error';\n error.retryWith = Array.isArray(body?.retryWith) ? body.retryWith : [];\n if (Array.isArray(body?.options)) error.options = body.options;\n if (Array.isArray(body?.possibleMatches)) error.possibleMatches = body.possibleMatches;\n return error;\n };\n const fromThrown = (error) => {\n const message = String(error?.message ?? error ?? '');\n const match = codePattern.exec(message);\n if (!match) return error;\n return toError({ code: match[1], message: message.slice(match[0].length) });\n };\n const invoke = async (name, args) => {\n let result;\n try {\n result = await __kodyCredentialCall(name, args);\n } catch (error) {\n throw fromThrown(error);\n }\n if (result && result.ok === false) throw toError(result.error);\n return result?.value;\n };\n const hostAllowed = (hosts, host) => {\n const target = String(host ?? '').toLowerCase();\n return hosts.some((entry) => {\n const normalized = String(entry).trim().toLowerCase();\n if (!normalized.startsWith('*.')) return normalized === target;\n const suffix = normalized.slice(1);\n if (!target.endsWith(suffix)) return false;\n const label = target.slice(0, -suffix.length);\n return label.length > 0 && !label.includes('.');\n });\n };\n const firstExactHost = (hosts) =>\n hosts.find((host) => !String(host).startsWith('*.')) ?? null;\n const resolveUrl = (input, hosts) => {\n const raw = input instanceof Request ? input.url : String(input);\n if (/^[a-z][a-z0-9+.-]*:/i.test(raw)) return raw;\n const host = firstExactHost(hosts);\n if (!host) {\n throw toError({\n code: 'invalid_request',\n message: 'This credential has no exact host to resolve a relative URL against; pass an absolute https:// URL on one of its hosts.',\n });\n }\n return new URL(raw, 'https://' + host).toString();\n };\n const send = async (request, handle) => {\n const headers = new Headers(request.headers);\n if (handle) headers.set(handleHeader, handle);\n else headers.delete(handleHeader);\n try {\n return await globalThis.fetch(new Request(request, { headers, redirect: 'manual' }));\n } catch (error) {\n throw fromThrown(error);\n }\n };\n const createFetch = (opened) => async (input, init) => {\n const redirectMode =\n init?.redirect ?? (input instanceof Request ? input.redirect : 'follow');\n const url = resolveUrl(input, opened.hosts);\n let request =\n input instanceof Request\n ? new Request(url, new Request(input, init))\n : new Request(url, init);\n let carriesCredential = true;\n for (let hop = 0; ; hop += 1) {\n const replay = request.body ? request.clone() : request;\n let response = await send(request, carriesCredential ? opened.handle : null);\n if (opened.kind === 'oauth' && carriesCredential && response.status === 401) {\n const refreshed = await invoke(\"credentialClientRefresh\", { handle: opened.handle });\n if (refreshed?.refreshed) {\n await response.body?.cancel();\n const retry = replay.body ? replay.clone() : replay;\n response = await send(retry, opened.handle);\n }\n }\n if (!redirectStatuses.has(response.status) || redirectMode === 'manual') {\n return response;\n }\n if (redirectMode === 'error') {\n await response.body?.cancel();\n throw new TypeError('The response redirected and redirect is \"error\".');\n }\n // A url credential owns its whole URL, so its redirects come back as\n // they are: following one would need the secret URL as the base.\n if (opened.kind === 'url') return response;\n const location = response.headers.get('location');\n if (!location) return response;\n if (hop >= maxRedirects) {\n await response.body?.cancel();\n throw new TypeError('Too many redirects.');\n }\n await response.body?.cancel();\n const next = new URL(location, response.url || request.url);\n const rewritesToGet =\n response.status === 303 ||\n ((response.status === 301 || response.status === 302) && request.method === 'POST');\n // The credential follows only to its own hosts over https.\n carriesCredential =\n next.protocol === 'https:' &&\n hostAllowed(opened.hosts, next.hostname);\n const headers = new Headers(replay.headers);\n if (!carriesCredential) headers.delete('authorization');\n if (rewritesToGet) {\n headers.delete('content-type');\n headers.delete('content-length');\n }\n request = new Request(next, {\n method: rewritesToGet ? 'GET' : replay.method,\n headers,\n body: rewritesToGet ? null : replay.body,\n ...(rewritesToGet || !replay.body ? {} : { duplex: 'half' }),\n });\n }\n };\n const toClient = (opened) => {\n const client = { name: opened.name, scope: opened.scope, kind: opened.kind, hosts: [...opened.hosts] };\n if (opened.kind === 'mcp') {\n client.callTool = async (tool, args) =>\n await invoke(\"credentialClientCallTool\", { handle: opened.handle, tool, args: args ?? {} });\n } else if (opened.kind === 'signing') {\n client.sign = async (operation) => {\n const { host, ...rest } = operation ?? {};\n const result = await invoke(\"credentialClientSign\", {\n handle: opened.handle,\n host: host ?? firstExactHost(opened.hosts),\n operation: rest,\n });\n return result?.signature;\n };\n } else {\n client.fetch = createFetch(opened);\n }\n return Object.freeze(client);\n };\n const open = async (args) => toClient(await invoke(\"credentialClientOpen\", args));\n const credential = async (key) => await open({ key });\n credential.named = async (name, options) =>\n await open({ name, scope: options?.scope ?? null });\n const credentials = async (key) => [await credential(key)];\n return { credential: Object.freeze(credential), credentials };\n}";
|
|
9
|
+
//# sourceMappingURL=credential-client-runtime-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-client-runtime-source.js","sourceRoot":"","sources":["../src/credential-client-runtime-source.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,+8MAA+8M,CAAA"}
|
package/dist/help.js
CHANGED
|
@@ -83,10 +83,11 @@ Usage:
|
|
|
83
83
|
exchange).
|
|
84
84
|
|
|
85
85
|
--local Run the execute module on this machine (workerd, Linux/macOS).
|
|
86
|
-
Requires Node.js 22 or newer. \`--file\`
|
|
87
|
-
|
|
88
|
-
loads them
|
|
89
|
-
|
|
86
|
+
Requires Node.js 22 or newer. \`--file\` entries are bundled
|
|
87
|
+
(relative imports and npm packages; \`kody:*\` stays external)
|
|
88
|
+
before workerd loads them — same shape as hosted execute /
|
|
89
|
+
publish. Unresolvable imports fail with a clear bundle error.
|
|
90
|
+
Auth: \`--token\` /
|
|
90
91
|
${apiTokenEnvVar}, else stored \`auth bootstrap\` token, else
|
|
91
92
|
paired \`kody login\` credentials. Static kody:@… imports are fetched via POST
|
|
92
93
|
/v1/local-execute/package-graph and embedded in local workerd
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;QAoB7C,aAAa,CAAC,aAAa,CAAC;;;;;;;oCAOA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;wCAQW,cAAc;;;eAGvC,aAAa;;;;cAId,cAAc;;;;;eAKb,cAAc
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;QAoB7C,aAAa,CAAC,aAAa,CAAC;;;;;;;oCAOA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;wCAQW,cAAc;;;eAGvC,aAAa;;;;cAId,cAAc;;;;;eAKb,cAAc;;;;;;;;;;;;;;;eAed,cAAc;;;;;;;;;;;;;sDAayB,aAAa;IAC/D,cAAc;mDACiC,aAAa;;;CAG/D,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundle a `--file` entry for local workerd the same way hosted execute /
|
|
3
|
+
* publish resolves code: follow relative imports and npm packages, keep
|
|
4
|
+
* `kody:*` external for package-graph + runtime binding, and leave `node:*`
|
|
5
|
+
* external for workerd `nodejs_compat` (same as unbundled `--code`).
|
|
6
|
+
*/
|
|
7
|
+
export declare function bundleLocalUserModule(modulePath: string): Promise<string>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as esbuild from 'esbuild';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Bundle a `--file` entry for local workerd the same way hosted execute /
|
|
5
|
+
* publish resolves code: follow relative imports and npm packages, keep
|
|
6
|
+
* `kody:*` external for package-graph + runtime binding, and leave `node:*`
|
|
7
|
+
* external for workerd `nodejs_compat` (same as unbundled `--code`).
|
|
8
|
+
*/
|
|
9
|
+
export async function bundleLocalUserModule(modulePath) {
|
|
10
|
+
const entry = resolve(modulePath);
|
|
11
|
+
let result;
|
|
12
|
+
try {
|
|
13
|
+
result = await esbuild.build({
|
|
14
|
+
absWorkingDir: process.cwd(),
|
|
15
|
+
entryPoints: [entry],
|
|
16
|
+
bundle: true,
|
|
17
|
+
write: false,
|
|
18
|
+
format: 'esm',
|
|
19
|
+
platform: 'neutral',
|
|
20
|
+
target: 'esnext',
|
|
21
|
+
logLevel: 'silent',
|
|
22
|
+
packages: 'bundle',
|
|
23
|
+
external: ['kody:*', 'node:*'],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
throw new Error(formatBundleError(modulePath, error));
|
|
28
|
+
}
|
|
29
|
+
const output = result.outputFiles?.[0];
|
|
30
|
+
if (output === undefined) {
|
|
31
|
+
throw new Error(`Could not bundle ${modulePath} for local execute: esbuild produced no output.`);
|
|
32
|
+
}
|
|
33
|
+
if (result.errors.length > 0) {
|
|
34
|
+
throw new Error(formatBundleError(modulePath, { errors: result.errors }));
|
|
35
|
+
}
|
|
36
|
+
return output.text;
|
|
37
|
+
}
|
|
38
|
+
function formatBundleError(modulePath, error) {
|
|
39
|
+
const details = bundleErrorDetails(error);
|
|
40
|
+
const header = `Could not bundle ${modulePath} for local execute.`;
|
|
41
|
+
return details.length > 0 ? `${header}\n${details}` : header;
|
|
42
|
+
}
|
|
43
|
+
function bundleErrorDetails(error) {
|
|
44
|
+
if (isEsbuildFailure(error)) {
|
|
45
|
+
return error.errors
|
|
46
|
+
.map((item) => item.text.trim())
|
|
47
|
+
.filter((text) => text.length > 0)
|
|
48
|
+
.join('\n');
|
|
49
|
+
}
|
|
50
|
+
if (error instanceof Error)
|
|
51
|
+
return error.message;
|
|
52
|
+
return String(error);
|
|
53
|
+
}
|
|
54
|
+
function isEsbuildFailure(error) {
|
|
55
|
+
return (typeof error === 'object' &&
|
|
56
|
+
error !== null &&
|
|
57
|
+
'errors' in error &&
|
|
58
|
+
Array.isArray(error.errors));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=local-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-bundle.js","sourceRoot":"","sources":["../src/local-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,MAA2B,CAAA;IAC/B,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YAC5B,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;YAC5B,WAAW,EAAE,CAAC,KAAK,CAAC;YACpB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC9B,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,oBAAoB,UAAU,iDAAiD,CAC/E,CAAA;IACF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,KAAc;IAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,oBAAoB,UAAU,qBAAqB,CAAA;IAClE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,MAAM;aACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IACD,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IAChD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,KAAK,CAAC,OAAO,CAAE,KAA6B,CAAC,MAAM,CAAC,CACpD,CAAA;AACF,CAAC"}
|
package/dist/local-execute.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export type LocalExecuteInput = {
|
|
|
4
4
|
code: string;
|
|
5
5
|
/**
|
|
6
6
|
* `--file` path when that file supplied `code`.
|
|
7
|
-
*
|
|
7
|
+
* Bundled (relative + npm imports; `kody:*` external) before `main.js` is
|
|
8
|
+
* written — same resolution shape as hosted execute / publish.
|
|
8
9
|
*/
|
|
9
10
|
modulePath?: string;
|
|
10
11
|
params?: unknown;
|
package/dist/local-execute.js
CHANGED
|
@@ -11,7 +11,7 @@ import { assertLocalExecuteNodeEngine } from './node-engine.js';
|
|
|
11
11
|
import { apiTokenEnvVar } from './defaults.js';
|
|
12
12
|
import { fetchLocalPackageGraph, hasSavedPackageImports, localExecuteGatewayFetchShimModuleName, } from './local-package-graph.js';
|
|
13
13
|
import { createLocalEntrySource, createLocalRuntimeModuleSource, createWorkerdConfig, runSecretEnvVar, runSecretHeader, } from './local-runtime-source.js';
|
|
14
|
-
import {
|
|
14
|
+
import { bundleLocalUserModule } from './local-bundle.js';
|
|
15
15
|
import { redact } from './redact.js';
|
|
16
16
|
import { ensureWorkerdBinary } from './workerd-binary.js';
|
|
17
17
|
export { hasSavedPackageImports, listSavedPackageImports, localPackageGraphPlatformIssueUrl, } from './local-package-graph.js';
|
|
@@ -22,7 +22,9 @@ export const localExecutePackageGraphResolveStatus = 'Fetching local-execute pac
|
|
|
22
22
|
export async function runLocalExecute(input) {
|
|
23
23
|
assertLocalExecuteNodeEngine();
|
|
24
24
|
assertTokenSafeApiUrl(input.apiUrl);
|
|
25
|
-
const code =
|
|
25
|
+
const code = input.modulePath !== undefined
|
|
26
|
+
? await bundleLocalUserModule(input.modulePath)
|
|
27
|
+
: input.code;
|
|
26
28
|
const client = { apiUrl: input.apiUrl, token: input.token, fetchFn: input.fetchFn };
|
|
27
29
|
await openCapabilityProxySession(client);
|
|
28
30
|
// Always fetch package-graph: origin returns the gateway-fetch shim even
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-execute.js","sourceRoot":"","sources":["../src/local-execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-execute.js","sourceRoot":"","sources":["../src/local-execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Stamped `kody:@…` packages also receive a package-graph CapabilityProxy shim
|
|
8
8
|
* from origin. This host module still binds createAuthenticatedFetch /
|
|
9
|
-
* secretHeaders / oauthClientCredentials
|
|
10
|
-
* installs the shared runtime ALS before evaluating user
|
|
11
|
-
* bundles that inline optional runtime exports
|
|
12
|
-
* store at module evaluation — matching cloud
|
|
9
|
+
* secretHeaders / oauthClientCredentials / credential / credentials for ad hoc
|
|
10
|
+
* imports, and the entry installs the shared runtime ALS before evaluating user
|
|
11
|
+
* code so published bundles that inline optional runtime exports
|
|
12
|
+
* (Dropbox-style) see a populated store at module evaluation — matching cloud
|
|
13
|
+
* `__kodyRunInRuntime`.
|
|
13
14
|
*/
|
|
14
15
|
export declare const localExecuteCompatibilityDate = "2026-04-16";
|
|
15
16
|
export declare const localExecuteCompatibilityFlags: readonly ["nodejs_compat"];
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Stamped `kody:@…` packages also receive a package-graph CapabilityProxy shim
|
|
8
8
|
* from origin. This host module still binds createAuthenticatedFetch /
|
|
9
|
-
* secretHeaders / oauthClientCredentials
|
|
10
|
-
* installs the shared runtime ALS before evaluating user
|
|
11
|
-
* bundles that inline optional runtime exports
|
|
12
|
-
* store at module evaluation — matching cloud
|
|
9
|
+
* secretHeaders / oauthClientCredentials / credential / credentials for ad hoc
|
|
10
|
+
* imports, and the entry installs the shared runtime ALS before evaluating user
|
|
11
|
+
* code so published bundles that inline optional runtime exports
|
|
12
|
+
* (Dropbox-style) see a populated store at module evaluation — matching cloud
|
|
13
|
+
* `__kodyRunInRuntime`.
|
|
13
14
|
*/
|
|
15
|
+
import { credentialClientRuntimeSource } from './credential-client-runtime-source.js';
|
|
14
16
|
export const localExecuteCompatibilityDate = '2026-04-16';
|
|
15
17
|
export const localExecuteCompatibilityFlags = ['nodejs_compat'];
|
|
16
18
|
export const localWorkerModuleNames = {
|
|
@@ -210,6 +212,17 @@ export async function oauthClientCredentials(input) {
|
|
|
210
212
|
return await __kodyCall(['kody', 'oauthClientCredentials'], [input ?? {}]);
|
|
211
213
|
}
|
|
212
214
|
|
|
215
|
+
// Scoped credential clients (ADR 0068): open/sign/callTool/refresh through
|
|
216
|
+
// CapabilityProxy \`kody.credentialClient*\`. Fetches carry only an opaque
|
|
217
|
+
// handle; origin's gateway places the credential. Secret values never enter
|
|
218
|
+
// local workerd — same security as hosted and the package-graph shim.
|
|
219
|
+
${credentialClientRuntimeSource}
|
|
220
|
+
const __kodyCredentialRuntime = __kodyCreateCredentialRuntime((name, args) =>
|
|
221
|
+
__kodyCall(['kody', name], [args ?? {}]),
|
|
222
|
+
);
|
|
223
|
+
export const credential = __kodyCredentialRuntime.credential;
|
|
224
|
+
export const credentials = __kodyCredentialRuntime.credentials;
|
|
225
|
+
|
|
213
226
|
const __kodyRuntimeStorageSymbol = Symbol.for(${JSON.stringify(kodyRuntimeStorageSymbolDescription)});
|
|
214
227
|
const __globalAny = globalThis;
|
|
215
228
|
const __kodyRuntimeStorage =
|
|
@@ -222,6 +235,8 @@ const __kodyRuntimeDefault = Object.freeze({
|
|
|
222
235
|
createAuthenticatedFetch,
|
|
223
236
|
secretHeaders,
|
|
224
237
|
oauthClientCredentials,
|
|
238
|
+
credential,
|
|
239
|
+
credentials,
|
|
225
240
|
packageContext,
|
|
226
241
|
packageSecrets,
|
|
227
242
|
email,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-runtime-source.js","sourceRoot":"","sources":["../src/local-runtime-source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"local-runtime-source.js","sourceRoot":"","sources":["../src/local-runtime-source.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodycodes/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Official Kody MCP client CLI: login, secure token storage, search, and execute.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "tsc -p tsconfig.build.json",
|
|
23
|
+
"bench": "node scripts/bench.mjs",
|
|
23
24
|
"typecheck": "tsc --noEmit",
|
|
24
25
|
"test": "tsx --test test/*.test.ts",
|
|
25
26
|
"validate": "npm run typecheck && npm run test && npm run build"
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
"@modelcontextprotocol/client": "2.0.0",
|
|
52
53
|
"@napi-rs/keyring": "^2.1.0",
|
|
53
54
|
"add-mcp": "^2.4.0",
|
|
55
|
+
"esbuild": "^0.25.12",
|
|
54
56
|
"ps-list": "^9.0.0",
|
|
55
57
|
"undici": "^7.30.0"
|
|
56
58
|
},
|
package/skills/kody/SKILL.md
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: kody
|
|
3
3
|
description: >
|
|
4
|
-
Install Kody as a remote MCP server, then use `search` and
|
|
5
|
-
|
|
6
|
-
durable agent tasks, or wants
|
|
4
|
+
Install Kody as a remote MCP server, then use `search` / MCP tools and
|
|
5
|
+
prefer `kody execute --local` when the CLI and Node are available. Use
|
|
6
|
+
when the user mentions Kody, kody.codes, durable agent tasks, or wants
|
|
7
|
+
to search/execute via Kody.
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# Kody
|
|
10
11
|
|
|
11
|
-
Kody is a remote MCP personal assistant.
|
|
12
|
-
|
|
13
|
-
using the CLI as the everyday interface once the server is connected.
|
|
12
|
+
Kody is a remote MCP personal assistant. Install it as an MCP server in this
|
|
13
|
+
agent for `search`, `api`, and discovery. Prefer local CLI execute when Node ≥22 and `@kodycodes/cli` are available. Use MCP / hosted paths when the CLI or Node cannot run.
|
|
14
14
|
|
|
15
|
-
`@kodycodes/cli`
|
|
16
|
-
|
|
15
|
+
`@kodycodes/cli` installs host MCP config and runs local execute against real
|
|
16
|
+
secrets while keeping `kody:runtime` hops on CapabilityProxy.
|
|
17
17
|
|
|
18
18
|
## Install the MCP server (recommended)
|
|
19
19
|
|
|
@@ -25,13 +25,17 @@ That command lists **running local** agents and writes each host's remote
|
|
|
25
25
|
MCP entry for `https://kody.codes/mcp`. Host OAuth stays in that client —
|
|
26
26
|
do not run `kody login` for the host connection.
|
|
27
27
|
|
|
28
|
-
After install,
|
|
28
|
+
After install, use the Kody MCP tools in this agent for discovery and Open API:
|
|
29
29
|
|
|
30
30
|
- `search` — discover capabilities, packages, and entity detail
|
|
31
|
-
- `
|
|
31
|
+
- `api` — call one Open API operation directly (no sandbox)
|
|
32
|
+
- Prefer `search` before composing work
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
For one-off modules, smoke tests, and composition: when Node ≥22 and the CLI
|
|
35
|
+
are available, prefer `npx @kodycodes/cli execute --local` (see
|
|
36
|
+
[Local CLI execute](https://kody.codes/docs/local-execute)). If `--local`
|
|
37
|
+
cannot run, use Open API / MCP `api`, or fix the environment — do **not** use
|
|
38
|
+
hosted MCP `execute` for agent work when a local or Open API path exists.
|
|
35
39
|
|
|
36
40
|
For web-based clients (ChatGPT, Claude.ai, Grok), point the user at
|
|
37
41
|
https://kody.codes/onboarding.
|
|
@@ -42,10 +46,7 @@ To copy this skill into Claude Code / Cursor / Agents:
|
|
|
42
46
|
npx @kodycodes/cli skill install
|
|
43
47
|
```
|
|
44
48
|
|
|
45
|
-
## CLI
|
|
46
|
-
|
|
47
|
-
Use the CLI only for bootstrap, scripting, or when this agent cannot reach
|
|
48
|
-
Kody over MCP.
|
|
49
|
+
## CLI
|
|
49
50
|
|
|
50
51
|
```bash
|
|
51
52
|
npm install -g @kodycodes/cli
|
|
@@ -53,7 +54,7 @@ kody login
|
|
|
53
54
|
kody login --org acme
|
|
54
55
|
kody search "what can you do"
|
|
55
56
|
kody search --domain email
|
|
56
|
-
kody execute --code "import { kody } from 'kody:runtime'\nexport default async function main() { return await kody.search({ query: 'what can you do' }) }"
|
|
57
|
+
kody execute --local --code "import { kody } from 'kody:runtime'\nexport default async function main() { return await kody.search({ query: 'what can you do' }) }"
|
|
57
58
|
kody status
|
|
58
59
|
kody whoami
|
|
59
60
|
kody logout
|
|
@@ -80,8 +81,9 @@ package modules via `POST /v1/local-execute/package-graph` and embeds them in
|
|
|
80
81
|
local workerd (CapabilityProxy only for per-call `kody:runtime` hops — not a
|
|
81
82
|
whole-module cloud defer). If that package-graph API is missing, `--local`
|
|
82
83
|
fails clearly rather than silently billing a remote execute. `--file`
|
|
83
|
-
|
|
84
|
-
loads them
|
|
84
|
+
entries are bundled (relative imports and npm packages; `kody:*` external)
|
|
85
|
+
before workerd loads them, matching hosted execute / publish.
|
|
86
|
+
`--code` and stdin are not rewritten.
|
|
85
87
|
|
|
86
88
|
For `execute --local` auth: `--token` / `KODY_API_TOKEN` wins when set;
|
|
87
89
|
otherwise a stored token from `kody auth bootstrap --code` (after MCP
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function isTypeScriptModulePath(modulePath: string): boolean;
|
|
2
|
-
/**
|
|
3
|
-
* Source written to workerd `main.js`.
|
|
4
|
-
* `.ts`, `.mts`, and `.cts` files are type-stripped. Other paths, including
|
|
5
|
-
* `--code` and `.js`, are returned unchanged.
|
|
6
|
-
*/
|
|
7
|
-
export declare function localUserModuleSource(code: string, modulePath?: string): string;
|
package/dist/local-typescript.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import * as nodeModule from 'node:module';
|
|
2
|
-
import { basename, extname } from 'node:path';
|
|
3
|
-
/** Extensions whose type syntax workerd cannot parse. */
|
|
4
|
-
const typescriptModuleExtensions = new Set(['.ts', '.mts', '.cts']);
|
|
5
|
-
let stripTypesWarningMuted = false;
|
|
6
|
-
/**
|
|
7
|
-
* Node 22.13+ prints an ExperimentalWarning the first time
|
|
8
|
-
* `module.stripTypeScriptTypes` runs. Drop that one warning so local execute
|
|
9
|
-
* stderr stays limited to real failures.
|
|
10
|
-
*/
|
|
11
|
-
function muteStripTypeScriptTypesExperimentalWarning() {
|
|
12
|
-
if (stripTypesWarningMuted)
|
|
13
|
-
return;
|
|
14
|
-
stripTypesWarningMuted = true;
|
|
15
|
-
const emitWarning = process.emitWarning;
|
|
16
|
-
const filtered = (warning, ...rest) => {
|
|
17
|
-
const message = typeof warning === 'string' ? warning : warning.message;
|
|
18
|
-
const typeName = typeof warning === 'string' ? rest[0] : warning.name;
|
|
19
|
-
if (typeName === 'ExperimentalWarning' && message.includes('stripTypeScriptTypes'))
|
|
20
|
-
return;
|
|
21
|
-
return Reflect.apply(emitWarning, process, [warning, ...rest]);
|
|
22
|
-
};
|
|
23
|
-
process.emitWarning = filtered;
|
|
24
|
-
}
|
|
25
|
-
function stripTypeScriptTypes() {
|
|
26
|
-
const strip = nodeModule.stripTypeScriptTypes;
|
|
27
|
-
return typeof strip === 'function' ? strip : undefined;
|
|
28
|
-
}
|
|
29
|
-
export function isTypeScriptModulePath(modulePath) {
|
|
30
|
-
return typescriptModuleExtensions.has(extname(modulePath).toLowerCase());
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Source written to workerd `main.js`.
|
|
34
|
-
* `.ts`, `.mts`, and `.cts` files are type-stripped. Other paths, including
|
|
35
|
-
* `--code` and `.js`, are returned unchanged.
|
|
36
|
-
*/
|
|
37
|
-
export function localUserModuleSource(code, modulePath) {
|
|
38
|
-
if (modulePath === undefined || !isTypeScriptModulePath(modulePath))
|
|
39
|
-
return code;
|
|
40
|
-
const strip = stripTypeScriptTypes();
|
|
41
|
-
if (strip === undefined) {
|
|
42
|
-
throw new Error(`Could not strip TypeScript from ${modulePath} before local execute wrote main.js.\nThis Node.js (v${process.versions.node}) does not provide module.stripTypeScriptTypes (included in Node.js 22.13 and newer). Upgrade Node.js and retry.`);
|
|
43
|
-
}
|
|
44
|
-
muteStripTypeScriptTypesExperimentalWarning();
|
|
45
|
-
try {
|
|
46
|
-
return strip(code, { mode: 'strip', sourceUrl: sourceUrlFor(modulePath) });
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
50
|
-
throw new Error(`Could not strip TypeScript from ${modulePath} before local execute wrote main.js.\n${detail}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function sourceUrlFor(modulePath) {
|
|
54
|
-
const name = basename(modulePath);
|
|
55
|
-
if (name.length === 0 || /[\r\n]/.test(name))
|
|
56
|
-
return undefined;
|
|
57
|
-
return name;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=local-typescript.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-typescript.js","sourceRoot":"","sources":["../src/local-typescript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE7C,yDAAyD;AACzD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAOnE,IAAI,sBAAsB,GAAG,KAAK,CAAA;AAElC;;;;GAIG;AACH,SAAS,2CAA2C;IACnD,IAAI,sBAAsB;QAAE,OAAM;IAClC,sBAAsB,GAAG,IAAI,CAAA;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACvC,MAAM,QAAQ,GAAG,CAAC,OAAuB,EAAE,GAAG,IAAoB,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QACvE,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;QACrE,IAAI,QAAQ,KAAK,qBAAqB,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAAE,OAAM;QAC1F,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAA;IACD,OAAO,CAAC,WAAW,GAAG,QAAsC,CAAA;AAC7D,CAAC;AAED,SAAS,oBAAoB;IAC5B,MAAM,KAAK,GAAI,UAA8D,CAAC,oBAAoB,CAAA;IAClG,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACxD,OAAO,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,UAAmB;IACtE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAChF,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,mCAAmC,UAAU,wDAAwD,OAAO,CAAC,QAAQ,CAAC,IAAI,kHAAkH,CAC5O,CAAA;IACF,CAAC;IACD,2CAA2C,EAAE,CAAA;IAC7C,IAAI,CAAC;QACJ,OAAO,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrE,MAAM,IAAI,KAAK,CACd,mCAAmC,UAAU,yCAAyC,MAAM,EAAE,CAC9F,CAAA;IACF,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC9D,OAAO,IAAI,CAAA;AACZ,CAAC"}
|