@kodycodes/cli 1.2.1 → 1.4.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 +41 -1
- package/dist/capability-proxy.d.ts +46 -0
- package/dist/capability-proxy.js +151 -0
- package/dist/capability-proxy.js.map +1 -0
- package/dist/cli.d.ts +28 -0
- package/dist/cli.js +98 -18
- package/dist/cli.js.map +1 -1
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.js +3 -0
- package/dist/defaults.js.map +1 -1
- package/dist/help.js +12 -3
- package/dist/help.js.map +1 -1
- package/dist/local-execute.d.ts +28 -0
- package/dist/local-execute.js +286 -0
- package/dist/local-execute.js.map +1 -0
- package/dist/local-runtime-source.d.ts +32 -0
- package/dist/local-runtime-source.js +199 -0
- package/dist/local-runtime-source.js.map +1 -0
- package/dist/network-error.d.ts +2 -0
- package/dist/network-error.js +11 -0
- package/dist/network-error.js.map +1 -0
- package/dist/workerd-binary.d.ts +31 -0
- package/dist/workerd-binary.js +98 -0
- package/dist/workerd-binary.js.map +1 -0
- package/package.json +1 -1
- package/skills/kody/SKILL.md +10 -0
package/README.md
CHANGED
|
@@ -64,10 +64,47 @@ Or run via `npx @kodycodes/cli` without a global install.
|
|
|
64
64
|
| `kody status` | Shows CLI login state without printing secrets. |
|
|
65
65
|
| `kody whoami` | Confirms the CLI MCP connection and lists tools. |
|
|
66
66
|
| `kody search [query]` | Calls Kody `search` from the CLI (prefer the host MCP tool). |
|
|
67
|
-
| `kody execute` | Calls Kody `execute` from the CLI (`--code`, `--file`, or stdin via `--file -`). |
|
|
67
|
+
| `kody execute` | Calls Kody `execute` from the CLI (`--invoke`, `--code`, `--file`, or stdin via `--file -`). Add `--local` to run the module on this machine. |
|
|
68
68
|
|
|
69
69
|
`--json` prints structured MCP results.
|
|
70
70
|
|
|
71
|
+
## Local execute
|
|
72
|
+
|
|
73
|
+
`kody execute --local` runs the same execute module (default export called
|
|
74
|
+
with `--params`) on this machine instead of in Kody's cloud sandbox. Local CPU
|
|
75
|
+
is free; every `kody:runtime` call (`kody.*`, `kody.mcp.*`, `workflows`,
|
|
76
|
+
`packages`) is proxied to Kody's CapabilityProxy and metered like a cloud hop.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
export KODY_API_TOKEN=… # scoped token minted through the Kody `api` tool
|
|
80
|
+
npx @kodycodes/cli execute --local --file ./task.js --params '{"to":"me@example.com"}'
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- **Auth:** a scoped API token from `--token` or `KODY_API_TOKEN` (prefer the
|
|
84
|
+
env var so the token stays out of shell history and `ps`). No `kody login`,
|
|
85
|
+
and the CLI never reads MCP OAuth tokens from other hosts. The token stays in
|
|
86
|
+
the CLI process; the sandbox only talks to a loopback bridge.
|
|
87
|
+
- **Runtime:** a pinned [workerd](https://github.com/cloudflare/workerd)
|
|
88
|
+
release, downloaded once from GitHub, sha256-verified, and cached under
|
|
89
|
+
`~/.cache/kody` (Linux, or `$XDG_CACHE_HOME/kody`) or
|
|
90
|
+
`~/Library/Caches/kody` (macOS). Override with `KODY_CACHE_DIR`, or point
|
|
91
|
+
`KODY_WORKERD_PATH` at your own binary. No Docker required. Linux and macOS
|
|
92
|
+
(x64/arm64) only for now.
|
|
93
|
+
- **API:** `https://api.kody.codes` by default (`--api-url` or `KODY_API_URL`
|
|
94
|
+
to override). The CLI calls `GET /v1/capability-proxy/session` before
|
|
95
|
+
starting workerd and `POST /v1/capability-proxy/call` with
|
|
96
|
+
`{ path, args, conversationId? }` for each runtime call.
|
|
97
|
+
- **Errors:** an expired/revoked token or an account without the
|
|
98
|
+
`local-execute` flag fails fast with a clear message before any code runs.
|
|
99
|
+
The token is only sent over https (plain http is allowed for localhost).
|
|
100
|
+
- **Lifetime:** no execution time limit locally; Ctrl-C (or SIGTERM) stops
|
|
101
|
+
workerd and removes the temporary module.
|
|
102
|
+
- **Not yet:** static `kody:@scope/package/export` imports and `--invoke`
|
|
103
|
+
(use cloud execute or `packages.invoke`). `packageStorage()`,
|
|
104
|
+
`packageSecrets`, `email`, and `events` stay unbound like ad hoc cloud
|
|
105
|
+
execute. Outbound `fetch` goes straight from this machine, including to
|
|
106
|
+
local-network hosts.
|
|
107
|
+
|
|
71
108
|
## Token storage
|
|
72
109
|
|
|
73
110
|
CLI credentials are stored in the OS secret store:
|
|
@@ -82,6 +119,9 @@ If the keychain is unavailable (common on headless Linux), the CLI writes a
|
|
|
82
119
|
|
|
83
120
|
Access tokens refresh automatically on expiry or HTTP 401.
|
|
84
121
|
|
|
122
|
+
`execute --local` does not use stored CLI credentials; it only reads
|
|
123
|
+
`--token` / `KODY_API_TOKEN`.
|
|
124
|
+
|
|
85
125
|
## Releases
|
|
86
126
|
|
|
87
127
|
This repo uses [semantic-release](https://github.com/semantic-release/semantic-release)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP contract for Kody's CapabilityProxy (Open API `/v1`). Local execute
|
|
3
|
+
* runs user code in workerd and forwards every `kody:runtime` call here with
|
|
4
|
+
* a scoped API token.
|
|
5
|
+
*
|
|
6
|
+
* - `GET /v1/capability-proxy/session` validates the token before workerd
|
|
7
|
+
* starts. 200 → `{ scopes?: string[], expiresAt?: string }`.
|
|
8
|
+
* - `POST /v1/capability-proxy/call` with `{ path, args, conversationId? }`
|
|
9
|
+
* where `path` is the runtime property path (`['kody', 'emailSend']`,
|
|
10
|
+
* `['kody', 'mcp', server, tool]`, `['workflows', 'create']`) and `args`
|
|
11
|
+
* is the positional argument list. 200 → `{ result }`.
|
|
12
|
+
*
|
|
13
|
+
* Errors use `{ error: { code, message } }` (a bare string is accepted too).
|
|
14
|
+
* 401 means the token is expired/revoked; 403 `feature_disabled` means the
|
|
15
|
+
* `local-execute` flag is off for the account.
|
|
16
|
+
*/
|
|
17
|
+
export declare const capabilityProxySessionPath = "v1/capability-proxy/session";
|
|
18
|
+
export declare const capabilityProxyCallPath = "v1/capability-proxy/call";
|
|
19
|
+
export type CapabilityProxySession = {
|
|
20
|
+
scopes: Array<string>;
|
|
21
|
+
expiresAt: string | null;
|
|
22
|
+
};
|
|
23
|
+
export type CapabilityProxyCall = {
|
|
24
|
+
path: Array<string>;
|
|
25
|
+
args: Array<unknown>;
|
|
26
|
+
conversationId?: string;
|
|
27
|
+
};
|
|
28
|
+
export type CapabilityProxyClientInput = {
|
|
29
|
+
apiUrl: string;
|
|
30
|
+
token: string;
|
|
31
|
+
fetchFn?: typeof fetch;
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
};
|
|
34
|
+
export declare class CapabilityProxyError extends Error {
|
|
35
|
+
readonly status: number | null;
|
|
36
|
+
readonly code: string | null;
|
|
37
|
+
constructor(message: string, options?: {
|
|
38
|
+
status?: number | null;
|
|
39
|
+
code?: string | null;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/** The bearer token must not cross the network in cleartext. */
|
|
43
|
+
export declare function assertTokenSafeApiUrl(apiUrl: string): void;
|
|
44
|
+
export declare function capabilityProxyUrl(apiUrl: string, path: string): URL;
|
|
45
|
+
export declare function openCapabilityProxySession(input: CapabilityProxyClientInput): Promise<CapabilityProxySession>;
|
|
46
|
+
export declare function callCapabilityProxy(input: CapabilityProxyClientInput & CapabilityProxyCall): Promise<unknown>;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { apiTokenEnvVar, cliName } from './defaults.js';
|
|
2
|
+
import { describeNetworkError } from './network-error.js';
|
|
3
|
+
import { readPackageVersion } from './package-info.js';
|
|
4
|
+
/**
|
|
5
|
+
* HTTP contract for Kody's CapabilityProxy (Open API `/v1`). Local execute
|
|
6
|
+
* runs user code in workerd and forwards every `kody:runtime` call here with
|
|
7
|
+
* a scoped API token.
|
|
8
|
+
*
|
|
9
|
+
* - `GET /v1/capability-proxy/session` validates the token before workerd
|
|
10
|
+
* starts. 200 → `{ scopes?: string[], expiresAt?: string }`.
|
|
11
|
+
* - `POST /v1/capability-proxy/call` with `{ path, args, conversationId? }`
|
|
12
|
+
* where `path` is the runtime property path (`['kody', 'emailSend']`,
|
|
13
|
+
* `['kody', 'mcp', server, tool]`, `['workflows', 'create']`) and `args`
|
|
14
|
+
* is the positional argument list. 200 → `{ result }`.
|
|
15
|
+
*
|
|
16
|
+
* Errors use `{ error: { code, message } }` (a bare string is accepted too).
|
|
17
|
+
* 401 means the token is expired/revoked; 403 `feature_disabled` means the
|
|
18
|
+
* `local-execute` flag is off for the account.
|
|
19
|
+
*/
|
|
20
|
+
export const capabilityProxySessionPath = 'v1/capability-proxy/session';
|
|
21
|
+
export const capabilityProxyCallPath = 'v1/capability-proxy/call';
|
|
22
|
+
export class CapabilityProxyError extends Error {
|
|
23
|
+
status;
|
|
24
|
+
code;
|
|
25
|
+
constructor(message, options = {}) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = 'CapabilityProxyError';
|
|
28
|
+
this.status = options.status ?? null;
|
|
29
|
+
this.code = options.code ?? null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const loopbackHosts = new Set(['localhost', '127.0.0.1', '[::1]']);
|
|
33
|
+
/** The bearer token must not cross the network in cleartext. */
|
|
34
|
+
export function assertTokenSafeApiUrl(apiUrl) {
|
|
35
|
+
let url;
|
|
36
|
+
try {
|
|
37
|
+
url = new URL(apiUrl);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
throw new Error(`Invalid Kody API URL: ${apiUrl}`);
|
|
41
|
+
}
|
|
42
|
+
if (url.protocol === 'https:')
|
|
43
|
+
return;
|
|
44
|
+
if (url.protocol === 'http:' && loopbackHosts.has(url.hostname))
|
|
45
|
+
return;
|
|
46
|
+
throw new Error(`Refusing to send the API token to ${url.origin}: use https (plain http is only allowed for localhost).`);
|
|
47
|
+
}
|
|
48
|
+
export function capabilityProxyUrl(apiUrl, path) {
|
|
49
|
+
const base = apiUrl.endsWith('/') ? apiUrl : `${apiUrl}/`;
|
|
50
|
+
return new URL(path, base);
|
|
51
|
+
}
|
|
52
|
+
export async function openCapabilityProxySession(input) {
|
|
53
|
+
const url = capabilityProxyUrl(input.apiUrl, capabilityProxySessionPath);
|
|
54
|
+
const response = await send(input, url, { method: 'GET' });
|
|
55
|
+
const body = await readJson(response);
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
throw describeFailure(response.status, body, url, 'session');
|
|
58
|
+
}
|
|
59
|
+
const record = isRecord(body) ? body : {};
|
|
60
|
+
return {
|
|
61
|
+
scopes: Array.isArray(record.scopes)
|
|
62
|
+
? record.scopes.filter((scope) => typeof scope === 'string')
|
|
63
|
+
: [],
|
|
64
|
+
expiresAt: typeof record.expiresAt === 'string' ? record.expiresAt : null,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export async function callCapabilityProxy(input) {
|
|
68
|
+
const url = capabilityProxyUrl(input.apiUrl, capabilityProxyCallPath);
|
|
69
|
+
const payload = { path: input.path, args: input.args };
|
|
70
|
+
if (input.conversationId !== undefined)
|
|
71
|
+
payload.conversationId = input.conversationId;
|
|
72
|
+
const response = await send(input, url, {
|
|
73
|
+
method: 'POST',
|
|
74
|
+
headers: { 'content-type': 'application/json' },
|
|
75
|
+
body: JSON.stringify(payload),
|
|
76
|
+
});
|
|
77
|
+
const body = await readJson(response);
|
|
78
|
+
if (!response.ok) {
|
|
79
|
+
throw describeFailure(response.status, body, url, 'call');
|
|
80
|
+
}
|
|
81
|
+
const failure = readErrorBody(body);
|
|
82
|
+
if (failure) {
|
|
83
|
+
throw new CapabilityProxyError(failure.message, { status: response.status, code: failure.code });
|
|
84
|
+
}
|
|
85
|
+
return isRecord(body) ? body.result : undefined;
|
|
86
|
+
}
|
|
87
|
+
async function send(input, url, init) {
|
|
88
|
+
const fetchFn = input.fetchFn ?? fetch;
|
|
89
|
+
try {
|
|
90
|
+
return await fetchFn(url, {
|
|
91
|
+
...init,
|
|
92
|
+
signal: input.signal,
|
|
93
|
+
headers: {
|
|
94
|
+
...init.headers,
|
|
95
|
+
accept: 'application/json',
|
|
96
|
+
authorization: `Bearer ${input.token}`,
|
|
97
|
+
'user-agent': `${cliName}/${readPackageVersion()}`,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const reason = describeNetworkError(error);
|
|
103
|
+
throw new CapabilityProxyError(`Could not reach the Kody API at ${url.origin} (${reason}). Check --api-url / KODY_API_URL and your network.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function readJson(response) {
|
|
107
|
+
const text = await response.text();
|
|
108
|
+
if (!text)
|
|
109
|
+
return null;
|
|
110
|
+
try {
|
|
111
|
+
return JSON.parse(text);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return text;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function readErrorBody(body) {
|
|
118
|
+
if (!isRecord(body) || body.error == null)
|
|
119
|
+
return null;
|
|
120
|
+
const { error } = body;
|
|
121
|
+
if (typeof error === 'string')
|
|
122
|
+
return { code: null, message: error };
|
|
123
|
+
if (isRecord(error)) {
|
|
124
|
+
const code = typeof error.code === 'string' ? error.code : null;
|
|
125
|
+
const message = typeof error.message === 'string' ? error.message : code ?? JSON.stringify(error);
|
|
126
|
+
return { code, message };
|
|
127
|
+
}
|
|
128
|
+
return { code: null, message: String(error) };
|
|
129
|
+
}
|
|
130
|
+
function describeFailure(status, body, url, stage) {
|
|
131
|
+
const failure = readErrorBody(body);
|
|
132
|
+
const code = failure?.code ?? null;
|
|
133
|
+
const detail = failure?.message ? ` Server said: ${failure.message}` : '';
|
|
134
|
+
if (status === 401) {
|
|
135
|
+
return new CapabilityProxyError(`Kody rejected the API token (expired, revoked, or malformed). Mint a fresh scoped token and pass it with --token or ${apiTokenEnvVar}.${detail}`, { status, code });
|
|
136
|
+
}
|
|
137
|
+
if (code === 'feature_disabled') {
|
|
138
|
+
return new CapabilityProxyError('Local execute is not enabled for this Kody account (feature flag `local-execute`). Run execute without --local, or ask the Kody team for access.', { status, code });
|
|
139
|
+
}
|
|
140
|
+
if (status === 403 && stage === 'session') {
|
|
141
|
+
return new CapabilityProxyError(`The API token is not allowed to use local execute${code ? ` (${code})` : ''}. Mint a token with the local execute scope.${detail}`, { status, code });
|
|
142
|
+
}
|
|
143
|
+
if (status === 404 && stage === 'session') {
|
|
144
|
+
return new CapabilityProxyError(`CapabilityProxy was not found at ${url.href}. Local execute may not be deployed on this Kody API yet; check --api-url / KODY_API_URL.`, { status, code });
|
|
145
|
+
}
|
|
146
|
+
return new CapabilityProxyError(failure?.message ?? `Kody API request failed with HTTP ${status} (${url.pathname}).`, { status, code });
|
|
147
|
+
}
|
|
148
|
+
function isRecord(value) {
|
|
149
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=capability-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-proxy.js","sourceRoot":"","sources":["../src/capability-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export type CommandName = 'login' | 'logout' | 'status' | 'whoami' | 'search' | 'execute' | 'install' | 'skill' | 'help' | 'version';
|
|
2
|
+
export declare function apiUrlFrom(values: {
|
|
3
|
+
apiUrl?: string;
|
|
4
|
+
}, env?: NodeJS.ProcessEnv): string;
|
|
5
|
+
/** `execute --local` authenticates only with a scoped API token, never stored CLI OAuth. */
|
|
6
|
+
export declare function resolveApiToken(values: {
|
|
7
|
+
token?: string;
|
|
8
|
+
}, env?: NodeJS.ProcessEnv): string;
|
|
2
9
|
declare function parseKnown(args: Array<string>): {
|
|
3
10
|
values: {
|
|
4
11
|
[longOption: string]: string | boolean | undefined;
|
|
@@ -12,8 +19,12 @@ declare function parseKnown(args: Array<string>): {
|
|
|
12
19
|
limit?: string | boolean | undefined;
|
|
13
20
|
code?: string | boolean | undefined;
|
|
14
21
|
file?: string | boolean | undefined;
|
|
22
|
+
invoke?: string | boolean | undefined;
|
|
15
23
|
params?: string | boolean | undefined;
|
|
16
24
|
'conversation-id'?: string | boolean | undefined;
|
|
25
|
+
local?: string | boolean | undefined;
|
|
26
|
+
token?: string | boolean | undefined;
|
|
27
|
+
'api-url'?: string | boolean | undefined;
|
|
17
28
|
project?: string | boolean | undefined;
|
|
18
29
|
'no-browser'?: string | boolean | undefined;
|
|
19
30
|
clients?: string | boolean | undefined;
|
|
@@ -30,4 +41,21 @@ export declare function runCli(argv?: Array<string>, io?: {
|
|
|
30
41
|
stdout?: (text: string) => void;
|
|
31
42
|
stderr?: (text: string) => void;
|
|
32
43
|
}): Promise<number>;
|
|
44
|
+
/** True when --invoke is set alongside any code source (--code, --file, or positional). */
|
|
45
|
+
export declare function executeSourcesConflict(input: {
|
|
46
|
+
invoke?: string;
|
|
47
|
+
hasCodeFlag: boolean;
|
|
48
|
+
hasFileFlag: boolean;
|
|
49
|
+
positionalModule: string;
|
|
50
|
+
}): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Build MCP `execute` tool args from CLI inputs.
|
|
53
|
+
* Pass either `invoke` or resolved `code` (from --code, --file, or a module string).
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildExecuteToolArgs(input: {
|
|
56
|
+
invoke?: string;
|
|
57
|
+
code?: string;
|
|
58
|
+
paramsJson?: string;
|
|
59
|
+
conversationId?: string;
|
|
60
|
+
}): Record<string, unknown>;
|
|
33
61
|
export {};
|
package/dist/cli.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
import { parseArgs } from 'node:util';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
|
-
import { defaultMcpUrl, modernMcpProtocolVersion } from './defaults.js';
|
|
3
|
+
import { apiTokenEnvVar, defaultApiUrl, defaultMcpUrl, modernMcpProtocolVersion, } from './defaults.js';
|
|
4
4
|
import { usage } from './help.js';
|
|
5
5
|
import { ensureFreshCredentials, login } from './auth.js';
|
|
6
6
|
import { deleteCredentials, loadCredentials } from './store.js';
|
|
7
7
|
import { callKodyTool, formatToolResult, listKodyTools } from './mcp.js';
|
|
8
8
|
import { runInstall } from './install.js';
|
|
9
|
+
import { runLocalExecute } from './local-execute.js';
|
|
9
10
|
import { installSkill } from './skill.js';
|
|
10
11
|
import { readPackageVersion } from './package-info.js';
|
|
11
12
|
import { redactError } from './redact.js';
|
|
12
13
|
function mcpUrlFrom(values) {
|
|
13
14
|
return values.mcpUrl || process.env.KODY_MCP_URL || defaultMcpUrl;
|
|
14
15
|
}
|
|
16
|
+
export function apiUrlFrom(values, env = process.env) {
|
|
17
|
+
return values.apiUrl || env.KODY_API_URL || defaultApiUrl;
|
|
18
|
+
}
|
|
19
|
+
/** `execute --local` authenticates only with a scoped API token, never stored CLI OAuth. */
|
|
20
|
+
export function resolveApiToken(values, env = process.env) {
|
|
21
|
+
const token = (values.token ?? env[apiTokenEnvVar] ?? '').trim();
|
|
22
|
+
if (!token) {
|
|
23
|
+
throw new Error(`execute --local needs a scoped Kody API token: pass --token or set ${apiTokenEnvVar}. Mint one with the Kody \`api\` tool (tokens) or the Kody API.`);
|
|
24
|
+
}
|
|
25
|
+
return token;
|
|
26
|
+
}
|
|
15
27
|
function parseKnown(args) {
|
|
16
28
|
return parseArgs({
|
|
17
29
|
args,
|
|
@@ -27,8 +39,12 @@ function parseKnown(args) {
|
|
|
27
39
|
limit: { type: 'string' },
|
|
28
40
|
code: { type: 'string' },
|
|
29
41
|
file: { type: 'string' },
|
|
42
|
+
invoke: { type: 'string' },
|
|
30
43
|
params: { type: 'string' },
|
|
31
44
|
'conversation-id': { type: 'string' },
|
|
45
|
+
local: { type: 'boolean' },
|
|
46
|
+
token: { type: 'string' },
|
|
47
|
+
'api-url': { type: 'string' },
|
|
32
48
|
project: { type: 'boolean' },
|
|
33
49
|
'no-browser': { type: 'boolean' },
|
|
34
50
|
clients: { type: 'string' },
|
|
@@ -72,14 +88,14 @@ export async function runCli(argv = process.argv.slice(2), io = {}) {
|
|
|
72
88
|
write(usage);
|
|
73
89
|
return 0;
|
|
74
90
|
}
|
|
75
|
-
return await dispatch(parsed, write);
|
|
91
|
+
return await dispatch(parsed, write, writeErr);
|
|
76
92
|
}
|
|
77
93
|
catch (error) {
|
|
78
94
|
writeErr(`${redactError(error).message}\n`);
|
|
79
95
|
return 1;
|
|
80
96
|
}
|
|
81
97
|
}
|
|
82
|
-
async function dispatch(parsed, write) {
|
|
98
|
+
async function dispatch(parsed, write, writeErr) {
|
|
83
99
|
const mcpUrl = mcpUrlFrom({
|
|
84
100
|
mcpUrl: typeof parsed.values['mcp-url'] === 'string' ? parsed.values['mcp-url'] : undefined,
|
|
85
101
|
});
|
|
@@ -164,24 +180,53 @@ async function dispatch(parsed, write) {
|
|
|
164
180
|
return result.isError ? 1 : 0;
|
|
165
181
|
}
|
|
166
182
|
case 'execute': {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (!code) {
|
|
175
|
-
throw new Error('Provide --code, --file, or a module string.');
|
|
183
|
+
const invoke = typeof parsed.values.invoke === 'string' ? parsed.values.invoke : undefined;
|
|
184
|
+
const hasCodeFlag = typeof parsed.values.code === 'string';
|
|
185
|
+
const hasFileFlag = typeof parsed.values.file === 'string';
|
|
186
|
+
const positionalModule = parsed.positionals.join('\n').trim();
|
|
187
|
+
const local = parsed.values.local === true;
|
|
188
|
+
if (!local && typeof parsed.values.token === 'string') {
|
|
189
|
+
throw new Error('--token is only used with execute --local; cloud execute uses `kody login`.');
|
|
176
190
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
args.params = JSON.parse(parsed.values.params);
|
|
191
|
+
if (local && invoke !== undefined) {
|
|
192
|
+
throw new Error('--invoke runs a saved package export in Kody; --local runs a module you provide (--code, --file, or a module string).');
|
|
180
193
|
}
|
|
181
|
-
if (
|
|
182
|
-
|
|
194
|
+
if (executeSourcesConflict({ invoke, hasCodeFlag, hasFileFlag, positionalModule })) {
|
|
195
|
+
throw new Error('--invoke cannot be combined with --code, --file, or a module string.');
|
|
183
196
|
}
|
|
184
|
-
const
|
|
197
|
+
const code = invoke !== undefined
|
|
198
|
+
? undefined
|
|
199
|
+
: hasCodeFlag
|
|
200
|
+
? parsed.values.code
|
|
201
|
+
: hasFileFlag
|
|
202
|
+
? parsed.values.file === '-'
|
|
203
|
+
? await readStdin()
|
|
204
|
+
: await readFile(parsed.values.file, 'utf8')
|
|
205
|
+
: positionalModule || undefined;
|
|
206
|
+
const args = buildExecuteToolArgs({
|
|
207
|
+
invoke,
|
|
208
|
+
code: typeof code === 'string' ? code : undefined,
|
|
209
|
+
paramsJson: typeof parsed.values.params === 'string' ? parsed.values.params : undefined,
|
|
210
|
+
conversationId: typeof parsed.values['conversation-id'] === 'string'
|
|
211
|
+
? parsed.values['conversation-id']
|
|
212
|
+
: undefined,
|
|
213
|
+
});
|
|
214
|
+
const result = local
|
|
215
|
+
? await runLocalExecute({
|
|
216
|
+
code: args.code,
|
|
217
|
+
params: args.params,
|
|
218
|
+
conversationId: args.conversationId,
|
|
219
|
+
token: resolveApiToken({
|
|
220
|
+
token: typeof parsed.values.token === 'string' ? parsed.values.token : undefined,
|
|
221
|
+
}),
|
|
222
|
+
apiUrl: apiUrlFrom({
|
|
223
|
+
apiUrl: typeof parsed.values['api-url'] === 'string'
|
|
224
|
+
? parsed.values['api-url']
|
|
225
|
+
: undefined,
|
|
226
|
+
}),
|
|
227
|
+
onStatus: (message) => writeErr(`${message}\n`),
|
|
228
|
+
})
|
|
229
|
+
: await callKodyTool({ name: 'execute', args, mcpUrl });
|
|
185
230
|
write(formatToolResult(result, json));
|
|
186
231
|
return result.isError ? 1 : 0;
|
|
187
232
|
}
|
|
@@ -217,4 +262,39 @@ async function readStdin() {
|
|
|
217
262
|
}
|
|
218
263
|
return Buffer.concat(chunks).toString('utf8');
|
|
219
264
|
}
|
|
265
|
+
/** True when --invoke is set alongside any code source (--code, --file, or positional). */
|
|
266
|
+
export function executeSourcesConflict(input) {
|
|
267
|
+
return (input.invoke !== undefined &&
|
|
268
|
+
(input.hasCodeFlag || input.hasFileFlag || input.positionalModule.length > 0));
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Build MCP `execute` tool args from CLI inputs.
|
|
272
|
+
* Pass either `invoke` or resolved `code` (from --code, --file, or a module string).
|
|
273
|
+
*/
|
|
274
|
+
export function buildExecuteToolArgs(input) {
|
|
275
|
+
const invoke = input.invoke;
|
|
276
|
+
const code = input.code;
|
|
277
|
+
if (invoke !== undefined && code !== undefined && code.length > 0) {
|
|
278
|
+
throw new Error('--invoke cannot be combined with --code, --file, or a module string.');
|
|
279
|
+
}
|
|
280
|
+
if (invoke !== undefined) {
|
|
281
|
+
if (!invoke) {
|
|
282
|
+
throw new Error('Provide a non-empty --invoke value.');
|
|
283
|
+
}
|
|
284
|
+
return attachExecuteCommonArgs({ invoke }, input);
|
|
285
|
+
}
|
|
286
|
+
if (code) {
|
|
287
|
+
return attachExecuteCommonArgs({ code }, input);
|
|
288
|
+
}
|
|
289
|
+
throw new Error('Provide --invoke, --code, --file, or a module string.');
|
|
290
|
+
}
|
|
291
|
+
function attachExecuteCommonArgs(args, input) {
|
|
292
|
+
if (input.paramsJson !== undefined) {
|
|
293
|
+
args.params = JSON.parse(input.paramsJson);
|
|
294
|
+
}
|
|
295
|
+
if (input.conversationId !== undefined) {
|
|
296
|
+
args.conversationId = input.conversationId;
|
|
297
|
+
}
|
|
298
|
+
return args;
|
|
299
|
+
}
|
|
220
300
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EACN,cAAc,EACd,aAAa,EACb,aAAa,EACb,wBAAwB,GACxB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAczC,SAAS,UAAU,CAAC,MAA2B;IAC9C,OAAO,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,aAAa,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,UAAU,CACzB,MAA2B,EAC3B,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,IAAI,aAAa,CAAA;AAC1D,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAC9B,MAA0B,EAC1B,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACd,sEAAsE,cAAc,iEAAiE,CACrJ,CAAA;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAAmB;IACtC,OAAO,SAAS,CAAC;QAChB,IAAI;QACJ,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACpC;KACD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAmB;IAKjD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IAChD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IACnD,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IACzD,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;QACnE;YACC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,SAAS,KAAK,EAAE,CAAC,CAAA;IAC1D,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC3B,OAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAC3C,KAA2E,EAAE;IAE7E,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,CAAA;YACZ,OAAO,CAAC,CAAA;QACT,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA;QAC3C,OAAO,CAAC,CAAA;IACT,CAAC;AACF,CAAC;AAED,KAAK,UAAU,QAAQ,CACtB,MAAyC,EACzC,KAA6B,EAC7B,QAAgC;IAEhC,MAAM,MAAM,GAAG,UAAU,CAAC;QACzB,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KAC3F,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAA;IAExC,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM;YACV,KAAK,CAAC,KAAK,CAAC,CAAA;YACZ,OAAO,CAAC,CAAA;QACT,KAAK,SAAS;YACb,KAAK,CAAC,GAAG,kBAAkB,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,CAAC,CAAA;QACT,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,KAAK,CAAC,gDAAgD,CAAC,CAAA;YACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;gBAC1B,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI;gBACjD,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC3B,KAAK,CAAC,yCAAyC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;gBAC7D,CAAC;aACD,CAAC,CAAA;YACF,KAAK,CAAC,gBAAgB,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAA;YACrD,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzD,KAAK,CACJ,qDAAqD,MAAM,CAAC,WAAW,iBAAiB,CACxF,CAAA;YACF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YACxC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAA;YACpE,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,KAAK,CAAC,kBAAkB,CAAC,CAAA;gBACzB,OAAO,CAAC,CAAA;YACT,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS;gBACpC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;gBAC/C,CAAC,CAAC,SAAS,CAAA;YACZ,KAAK,CACJ;gBACC,QAAQ,WAAW,CAAC,MAAM,EAAE;gBAC5B,gBAAgB;gBAChB,yBAAyB,OAAO,EAAE;gBAClC,kBAAkB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3D,UAAU,WAAW,CAAC,KAAK,IAAI,SAAS,EAAE;gBAC1C,EAAE;aACF,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ,CAAA;YACD,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YAC5D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YAC7C,IAAI,IAAI,EAAE,CAAC;gBACV,KAAK,CACJ,GAAG,IAAI,CAAC,SAAS,CAChB;oBACC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,QAAQ,EAAE,wBAAwB;oBAClC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI;oBAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC,EACD,IAAI,EACJ,CAAC,CACD,IAAI,CACL,CAAA;gBACD,OAAO,CAAC,CAAA;YACT,CAAC;YACD,KAAK,CACJ,gBAAgB,WAAW,CAAC,MAAM,KAAK,wBAAwB,aAAa,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,CACrI,CAAA;YACD,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,IAAI,GAA4B,EAAE,CAAA;YACxC,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAC7B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;YAChF,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;YAChF,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACnE,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YACrC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GACX,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YAC5E,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAA;YAC1D,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAA;YAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAA;YAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;YAC/F,CAAC;YACD,IAAI,KAAK,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACd,uHAAuH,CACvH,CAAA;YACF,CAAC;YACD,IAAI,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CACd,sEAAsE,CACtE,CAAA;YACF,CAAC;YACD,MAAM,IAAI,GACT,MAAM,KAAK,SAAS;gBACnB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW;oBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;oBACpB,CAAC,CAAC,WAAW;wBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG;4BAC3B,CAAC,CAAC,MAAM,SAAS,EAAE;4BACnB,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAc,EAAE,MAAM,CAAC;wBACvD,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAA;YACnC,MAAM,IAAI,GAAG,oBAAoB,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACjD,UAAU,EACT,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC5E,cAAc,EACb,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,QAAQ;oBACnD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBAClC,CAAC,CAAC,SAAS;aACb,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,KAAK;gBACnB,CAAC,CAAC,MAAM,eAAe,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAc;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,cAAc,EAAE,IAAI,CAAC,cAAoC;oBACzD,KAAK,EAAE,eAAe,CAAC;wBACtB,KAAK,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;qBAChF,CAAC;oBACF,MAAM,EAAE,UAAU,CAAC;wBAClB,MAAM,EACL,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;4BAC3C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;4BAC1B,CAAC,CAAC,SAAS;qBACb,CAAC;oBACF,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,CAAC;iBAC/C,CAAC;gBACH,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACxD,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YACrC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,UAAU,CAC9B;gBACC,MAAM;gBACN,OAAO,EACN,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC9E,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI;gBAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI;gBACvC,IAAI;aACJ,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CACjB,CAAA;YACD,OAAO,MAAM,CAAC,IAAI,CAAA;QACnB,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;YACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YACzD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAA;YAC/E,KAAK,CACJ,iCAAiC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC3G,CAAA;YACD,OAAO,CAAC,CAAA;QACT,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAU,MAAM,CAAC,OAAO,CAAA;YACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC5D,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,SAAS;IACvB,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC9C,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACA,OAAO,CACN,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAC7E,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAKpC;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,uBAAuB,CAC/B,IAA6B,EAC7B,KAAuD;IAEvD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC"}
|
package/dist/defaults.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare const defaultMcpUrl = "https://kody.codes/mcp";
|
|
2
|
+
/** Kody Open API origin; hosts CapabilityProxy for `execute --local`. */
|
|
3
|
+
export declare const defaultApiUrl = "https://api.kody.codes";
|
|
4
|
+
export declare const apiTokenEnvVar = "KODY_API_TOKEN";
|
|
2
5
|
/** Pin to Kody's stateless `/mcp` lane. */
|
|
3
6
|
export declare const modernMcpProtocolVersion = "2026-07-28";
|
|
4
7
|
export declare const defaultScopes: readonly ["profile", "email"];
|
package/dist/defaults.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export const defaultMcpUrl = 'https://kody.codes/mcp';
|
|
2
|
+
/** Kody Open API origin; hosts CapabilityProxy for `execute --local`. */
|
|
3
|
+
export const defaultApiUrl = 'https://api.kody.codes';
|
|
4
|
+
export const apiTokenEnvVar = 'KODY_API_TOKEN';
|
|
2
5
|
/** Pin to Kody's stateless `/mcp` lane. */
|
|
3
6
|
export const modernMcpProtocolVersion = '2026-07-28';
|
|
4
7
|
export const defaultScopes = ['profile', 'email'];
|
package/dist/defaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC"}
|
package/dist/help.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defaultMcpUrl, onboardingUrl } from './defaults.js';
|
|
1
|
+
import { apiTokenEnvVar, defaultApiUrl, defaultMcpUrl, onboardingUrl } from './defaults.js';
|
|
2
2
|
import { hostIds } from './host-catalog.js';
|
|
3
3
|
import { readPackageVersion } from './package-info.js';
|
|
4
4
|
export const usage = `Kody CLI ${readPackageVersion()}
|
|
@@ -11,7 +11,8 @@ Usage:
|
|
|
11
11
|
kody status [--mcp-url <url>]
|
|
12
12
|
kody whoami [--mcp-url <url>] [--json]
|
|
13
13
|
kody search [query] [--entity <ref>] [--domain <id>] [--limit <n>] [--json]
|
|
14
|
-
kody execute [--code <esm>
|
|
14
|
+
kody execute [--invoke <ref> | --code <esm> | --file <path>] [--params <json>] [--conversation-id <id>] [--json]
|
|
15
|
+
[--local [--token <token>] [--api-url <url>]]
|
|
15
16
|
kody install [--mcp-url <url>] [--clients <ids>] [--yes] [--project] [--json]
|
|
16
17
|
kody skill install [--project]
|
|
17
18
|
|
|
@@ -21,7 +22,15 @@ Usage:
|
|
|
21
22
|
|
|
22
23
|
--clients Comma-separated ids: ${hostIds.join(', ')}
|
|
23
24
|
|
|
25
|
+
--local Run the execute module on this machine (workerd, Linux/macOS).
|
|
26
|
+
kody:runtime calls go to Kody with a scoped API token from
|
|
27
|
+
${apiTokenEnvVar} (preferred) or --token; no kody login needed.
|
|
28
|
+
|
|
24
29
|
Environment:
|
|
25
|
-
KODY_MCP_URL
|
|
30
|
+
KODY_MCP_URL Override the default MCP URL (${defaultMcpUrl})
|
|
31
|
+
${apiTokenEnvVar} Scoped API token for execute --local
|
|
32
|
+
KODY_API_URL Override the Kody API URL for execute --local (${defaultApiUrl})
|
|
33
|
+
KODY_CACHE_DIR Where execute --local caches workerd (default: user cache dir)
|
|
34
|
+
KODY_WORKERD_PATH Use this workerd binary instead of the pinned download
|
|
26
35
|
`;
|
|
27
36
|
//# sourceMappingURL=help.js.map
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
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;;;;;;;;;;;;;;;;;QAiB7C,aAAa,CAAC,aAAa,CAAC;;oCAEA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;eAIvC,cAAc;;;sDAGyB,aAAa;IAC/D,cAAc;uEACqD,aAAa;;;CAGnF,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ToolCallResult } from './mcp.js';
|
|
2
|
+
export type LocalExecuteInput = {
|
|
3
|
+
code: string;
|
|
4
|
+
params?: unknown;
|
|
5
|
+
conversationId?: string;
|
|
6
|
+
token: string;
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
/** Used for CapabilityProxy requests (session + proxied calls). */
|
|
9
|
+
fetchFn?: typeof fetch;
|
|
10
|
+
/** Skip the pinned download and run this workerd binary. */
|
|
11
|
+
workerdPath?: string;
|
|
12
|
+
onStatus?: (message: string) => void;
|
|
13
|
+
};
|
|
14
|
+
type SandboxResponse = {
|
|
15
|
+
result?: unknown;
|
|
16
|
+
error?: string;
|
|
17
|
+
logs?: Array<string>;
|
|
18
|
+
};
|
|
19
|
+
export declare function assertNoStaticPackageImports(code: string): void;
|
|
20
|
+
export declare function runLocalExecute(input: LocalExecuteInput): Promise<ToolCallResult>;
|
|
21
|
+
/** Same envelope as cloud execute so `formatToolResult` and `--json` behave identically. */
|
|
22
|
+
export declare function buildLocalExecuteResult(input: {
|
|
23
|
+
sandbox: SandboxResponse;
|
|
24
|
+
startedAt: Date;
|
|
25
|
+
endedAt: Date;
|
|
26
|
+
conversationId?: string;
|
|
27
|
+
}): ToolCallResult;
|
|
28
|
+
export {};
|