@kindgi/cli 0.1.4-rc.1 → 0.1.4-rc.3
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 +29 -13
- package/dist/build/defaults.d.ts.map +1 -1
- package/dist/build/defaults.js +2 -1
- package/dist/build/defaults.js.map +1 -1
- package/dist/cli.js +5 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts +11 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +318 -38
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +10 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/conversations.d.ts.map +1 -1
- package/dist/commands/conversations.js +72 -17
- package/dist/commands/conversations.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +98 -27
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +54 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +471 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/eval-runs.d.ts.map +1 -1
- package/dist/commands/eval-runs.js +34 -30
- package/dist/commands/eval-runs.js.map +1 -1
- package/dist/commands/flows.d.ts.map +1 -1
- package/dist/commands/flows.js +84 -25
- package/dist/commands/flows.js.map +1 -1
- package/dist/commands/gate-policies.d.ts +3 -0
- package/dist/commands/gate-policies.d.ts.map +1 -0
- package/dist/commands/gate-policies.js +118 -0
- package/dist/commands/gate-policies.js.map +1 -0
- package/dist/commands/helpers.d.ts +8 -0
- package/dist/commands/helpers.d.ts.map +1 -1
- package/dist/commands/helpers.js +13 -0
- package/dist/commands/helpers.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/judge-classes.d.ts.map +1 -1
- package/dist/commands/judge-classes.js +64 -7
- package/dist/commands/judge-classes.js.map +1 -1
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +70 -12
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/provenance.d.ts.map +1 -1
- package/dist/commands/provenance.js +66 -14
- package/dist/commands/provenance.js.map +1 -1
- package/dist/commands/providers.d.ts.map +1 -1
- package/dist/commands/providers.js +1 -1
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/run-waits.d.ts +106 -0
- package/dist/commands/run-waits.d.ts.map +1 -0
- package/dist/commands/run-waits.js +233 -0
- package/dist/commands/run-waits.js.map +1 -0
- package/dist/commands/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +80 -18
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/tools.d.ts.map +1 -1
- package/dist/commands/tools.js +28 -38
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/unwired.d.ts +4 -2
- package/dist/commands/unwired.d.ts.map +1 -1
- package/dist/commands/unwired.js +36 -14
- package/dist/commands/unwired.js.map +1 -1
- package/dist/context.d.ts +13 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -0
- package/dist/context.js.map +1 -1
- package/dist/dev/bundler.d.ts.map +1 -1
- package/dist/dev/bundler.js +3 -2
- package/dist/dev/bundler.js.map +1 -1
- package/dist/dev/defaults.d.ts +16 -7
- package/dist/dev/defaults.d.ts.map +1 -1
- package/dist/dev/defaults.js +125 -34
- package/dist/dev/defaults.js.map +1 -1
- package/dist/dev/python-builder.d.ts +10 -1
- package/dist/dev/python-builder.d.ts.map +1 -1
- package/dist/dev/python-builder.js +21 -6
- package/dist/dev/python-builder.js.map +1 -1
- package/dist/dev/runners.d.ts +2 -0
- package/dist/dev/runners.d.ts.map +1 -1
- package/dist/dev/runtime-container.d.ts.map +1 -1
- package/dist/dev/runtime-container.js +7 -4
- package/dist/dev/runtime-container.js.map +1 -1
- package/dist/dev/runtime-image.d.ts +1 -1
- package/dist/dev/runtime-image.js +1 -1
- package/dist/dev/runtime-registry.d.ts +23 -1
- package/dist/dev/runtime-registry.d.ts.map +1 -1
- package/dist/dev/runtime-registry.js +38 -4
- package/dist/dev/runtime-registry.js.map +1 -1
- package/dist/dev/shared-watch.d.ts +25 -0
- package/dist/dev/shared-watch.d.ts.map +1 -0
- package/dist/dev/shared-watch.js +111 -0
- package/dist/dev/shared-watch.js.map +1 -0
- package/dist/errors.js +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/esbuild-loader.d.ts +3 -0
- package/dist/esbuild-loader.d.ts.map +1 -0
- package/dist/esbuild-loader.js +21 -0
- package/dist/esbuild-loader.js.map +1 -0
- package/dist/help.js +1 -1
- package/dist/help.js.map +1 -1
- package/dist/init/augment-scaffolder.d.ts.map +1 -1
- package/dist/init/augment-scaffolder.js +40 -8
- package/dist/init/augment-scaffolder.js.map +1 -1
- package/dist/init/dependency-specs.d.ts +6 -0
- package/dist/init/dependency-specs.d.ts.map +1 -1
- package/dist/init/dependency-specs.js +8 -0
- package/dist/init/dependency-specs.js.map +1 -1
- package/dist/init/package-json-patcher.d.ts +24 -0
- package/dist/init/package-json-patcher.d.ts.map +1 -1
- package/dist/init/package-json-patcher.js +58 -19
- package/dist/init/package-json-patcher.js.map +1 -1
- package/dist/init/pyproject-patcher.d.ts +6 -0
- package/dist/init/pyproject-patcher.d.ts.map +1 -1
- package/dist/init/pyproject-patcher.js +15 -0
- package/dist/init/pyproject-patcher.js.map +1 -1
- package/dist/init/python-augment.d.ts +5 -1
- package/dist/init/python-augment.d.ts.map +1 -1
- package/dist/init/python-augment.js +28 -6
- package/dist/init/python-augment.js.map +1 -1
- package/dist/init/template-files.d.ts +2 -0
- package/dist/init/template-files.d.ts.map +1 -1
- package/dist/init/template-files.js +2 -1
- package/dist/init/template-files.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +18 -2
- package/dist/main.js.map +1 -1
- package/dist/package-manager.d.ts +34 -3
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +83 -4
- package/dist/package-manager.js.map +1 -1
- package/dist/parse.d.ts +3 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js.map +1 -1
- package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-getting-started/SKILL.md +3 -3
- package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +1 -1
- package/dist/stop-signal.d.ts +41 -7
- package/dist/stop-signal.d.ts.map +1 -1
- package/dist/stop-signal.js +39 -4
- package/dist/stop-signal.js.map +1 -1
- package/dist/templates/minimal/package.json.tmpl +3 -0
- package/dist/templates/minimal/pnpm-workspace.yaml +2 -1
- package/dist/templates/python/pyproject.toml.tmpl +1 -1
- package/dist/templates/sample/package.json.tmpl +3 -0
- package/dist/templates/sample/pnpm-workspace.yaml +2 -1
- package/package.json +11 -11
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,31 @@ export type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
|
|
|
4
4
|
* How a pack runs its bins: through its package manager, or — a Python
|
|
5
5
|
* pack, which has no npm project to install the CLI into — from `PATH`.
|
|
6
6
|
*/
|
|
7
|
-
export type BinRunner = PackageManager | 'path';
|
|
7
|
+
export type BinRunner = PackageManager | 'path' | 'uv' | 'poetry' | 'venv';
|
|
8
|
+
/**
|
|
9
|
+
* How this CLI was installed: from npm (`@kindgi/cli`), or from PyPI
|
|
10
|
+
* (`kindgi-cli`, with Node from a wheel), whose launcher sets
|
|
11
|
+
* `KINDGI_CLI_INSTALL=pypi`. A Python pack then runs the CLI from its own
|
|
12
|
+
* Python environment (`uv run kindgi`), not through npx.
|
|
13
|
+
*/
|
|
14
|
+
export declare function cliInstall(env?: Readonly<Record<string, string | undefined>>): 'npm' | 'pypi';
|
|
15
|
+
/**
|
|
16
|
+
* A Python pack's runner. From the npm CLI: `path` (npx, within this CLI's
|
|
17
|
+
* minor). From the PyPI CLI, the pack's own environment: `poetry run` for a
|
|
18
|
+
* Poetry project (a `poetry.lock` at or above `dir`), else `uv run`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function pythonBinRunner(dir: string, env?: Readonly<Record<string, string | undefined>>, io?: DetectIo): Promise<BinRunner>;
|
|
8
21
|
export interface DetectIo {
|
|
9
22
|
readonly readFile: (path: string) => Promise<string | null>;
|
|
10
23
|
readonly exists: (path: string) => Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Whether `pm` runs on this machine (`<pm> --version`). Absent: assume
|
|
26
|
+
* it does. npm is never asked: it comes with Node.
|
|
27
|
+
*/
|
|
28
|
+
readonly runs?: (pm: PackageManager) => Promise<boolean>;
|
|
11
29
|
}
|
|
30
|
+
/** The real file reads and the real `<pm> --version` probe. */
|
|
31
|
+
export declare const defaultDetectIo: DetectIo;
|
|
12
32
|
/**
|
|
13
33
|
* Walk up from `dir`; at each level the `packageManager` field of
|
|
14
34
|
* `package.json` wins, then a lockfile / workspace marker. A pack inside
|
|
@@ -30,8 +50,19 @@ export declare function isPackageVersion(text: string): boolean;
|
|
|
30
50
|
* the read gives up after 15 s. Rejects with the reason.
|
|
31
51
|
*/
|
|
32
52
|
export declare function readPnpmVersion(dir: string): Promise<string>;
|
|
33
|
-
/**
|
|
34
|
-
|
|
53
|
+
/**
|
|
54
|
+
* The manager that runs this project's commands on this machine: the one
|
|
55
|
+
* its folders declare (`detectPackageManager`) when it's installed here,
|
|
56
|
+
* else npm, which comes with Node and runs whatever any manager put in
|
|
57
|
+
* `node_modules/.bin`. `declared` names a declared manager this machine
|
|
58
|
+
* doesn't have, so a printed command never names it.
|
|
59
|
+
*/
|
|
60
|
+
export declare function usablePackageManager(dir: string, io?: DetectIo): Promise<{
|
|
61
|
+
readonly pm: PackageManager;
|
|
62
|
+
readonly declared?: PackageManager;
|
|
63
|
+
}>;
|
|
64
|
+
/** The pack's `BinRunner`: `pythonBinRunner`'s for a Python pack, else the manager that runs here. */
|
|
65
|
+
export declare function detectBinRunner(dir: string, language: PackLanguage, io?: DetectIo, env?: Readonly<Record<string, string | undefined>>): Promise<BinRunner>;
|
|
35
66
|
/**
|
|
36
67
|
* How to run a project-local bin — resolves `node_modules/.bin` and
|
|
37
68
|
* refuses to download when the bin is missing. `path` runs the bin on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/package-manager.js
CHANGED
|
@@ -11,6 +11,35 @@ import { spawn } from 'node:child_process';
|
|
|
11
11
|
import { readFile, stat } from 'node:fs/promises';
|
|
12
12
|
import { dirname, join } from 'node:path';
|
|
13
13
|
import { CLI_VERSION } from './version-info.js';
|
|
14
|
+
/**
|
|
15
|
+
* How this CLI was installed: from npm (`@kindgi/cli`), or from PyPI
|
|
16
|
+
* (`kindgi-cli`, with Node from a wheel), whose launcher sets
|
|
17
|
+
* `KINDGI_CLI_INSTALL=pypi`. A Python pack then runs the CLI from its own
|
|
18
|
+
* Python environment (`uv run kindgi`), not through npx.
|
|
19
|
+
*/
|
|
20
|
+
export function cliInstall(env = process.env) {
|
|
21
|
+
return env.KINDGI_CLI_INSTALL === 'pypi' ? 'pypi' : 'npm';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A Python pack's runner. From the npm CLI: `path` (npx, within this CLI's
|
|
25
|
+
* minor). From the PyPI CLI, the pack's own environment: `poetry run` for a
|
|
26
|
+
* Poetry project (a `poetry.lock` at or above `dir`), else `uv run`.
|
|
27
|
+
*/
|
|
28
|
+
export async function pythonBinRunner(dir, env = process.env, io = defaultIo) {
|
|
29
|
+
if (cliInstall(env) !== 'pypi')
|
|
30
|
+
return 'path';
|
|
31
|
+
let current = dir;
|
|
32
|
+
for (;;) {
|
|
33
|
+
if (await io.exists(join(current, 'poetry.lock')))
|
|
34
|
+
return 'poetry';
|
|
35
|
+
if (await io.exists(join(current, 'uv.lock')))
|
|
36
|
+
return 'uv';
|
|
37
|
+
const parent = dirname(current);
|
|
38
|
+
if (parent === current)
|
|
39
|
+
return 'uv';
|
|
40
|
+
current = parent;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
14
43
|
/** Lockfile / workspace marker → manager, checked in this order per directory. */
|
|
15
44
|
const MARKERS = [
|
|
16
45
|
['pnpm-lock.yaml', 'pnpm'],
|
|
@@ -21,7 +50,32 @@ const MARKERS = [
|
|
|
21
50
|
['package-lock.json', 'npm'],
|
|
22
51
|
['npm-shrinkwrap.json', 'npm'],
|
|
23
52
|
];
|
|
24
|
-
|
|
53
|
+
/** `<pm> --version`, once per manager per process: corepack never prompts; gives up after 15 s. */
|
|
54
|
+
const probed = new Map();
|
|
55
|
+
function managerRuns(pm) {
|
|
56
|
+
let known = probed.get(pm);
|
|
57
|
+
if (known === undefined) {
|
|
58
|
+
known = new Promise((done) => {
|
|
59
|
+
const child = spawn(pm, ['--version'], {
|
|
60
|
+
env: { ...process.env, COREPACK_ENABLE_DOWNLOAD_PROMPT: '0' },
|
|
61
|
+
stdio: 'ignore',
|
|
62
|
+
});
|
|
63
|
+
const timer = setTimeout(() => child.kill(), 15_000);
|
|
64
|
+
child.on('error', () => {
|
|
65
|
+
clearTimeout(timer);
|
|
66
|
+
done(false);
|
|
67
|
+
});
|
|
68
|
+
child.on('close', (code) => {
|
|
69
|
+
clearTimeout(timer);
|
|
70
|
+
done(code === 0);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
probed.set(pm, known);
|
|
74
|
+
}
|
|
75
|
+
return known;
|
|
76
|
+
}
|
|
77
|
+
/** The real file reads and the real `<pm> --version` probe. */
|
|
78
|
+
export const defaultDetectIo = {
|
|
25
79
|
readFile: async (path) => {
|
|
26
80
|
try {
|
|
27
81
|
return await readFile(path, 'utf8');
|
|
@@ -39,7 +93,9 @@ const defaultIo = {
|
|
|
39
93
|
return false;
|
|
40
94
|
}
|
|
41
95
|
},
|
|
96
|
+
runs: managerRuns,
|
|
42
97
|
};
|
|
98
|
+
const defaultIo = defaultDetectIo;
|
|
43
99
|
/**
|
|
44
100
|
* Walk up from `dir`; at each level the `packageManager` field of
|
|
45
101
|
* `package.json` wins, then a lockfile / workspace marker. A pack inside
|
|
@@ -129,9 +185,24 @@ function parsePackageManagerField(raw) {
|
|
|
129
185
|
return undefined;
|
|
130
186
|
}
|
|
131
187
|
}
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
|
|
188
|
+
/**
|
|
189
|
+
* The manager that runs this project's commands on this machine: the one
|
|
190
|
+
* its folders declare (`detectPackageManager`) when it's installed here,
|
|
191
|
+
* else npm, which comes with Node and runs whatever any manager put in
|
|
192
|
+
* `node_modules/.bin`. `declared` names a declared manager this machine
|
|
193
|
+
* doesn't have, so a printed command never names it.
|
|
194
|
+
*/
|
|
195
|
+
export async function usablePackageManager(dir, io = defaultIo) {
|
|
196
|
+
const pm = await detectPackageManager(dir, io);
|
|
197
|
+
if (pm === 'npm' || io.runs === undefined || (await io.runs(pm)))
|
|
198
|
+
return { pm };
|
|
199
|
+
return { pm: 'npm', declared: pm };
|
|
200
|
+
}
|
|
201
|
+
/** The pack's `BinRunner`: `pythonBinRunner`'s for a Python pack, else the manager that runs here. */
|
|
202
|
+
export async function detectBinRunner(dir, language, io = defaultIo, env = process.env) {
|
|
203
|
+
if (language === 'python')
|
|
204
|
+
return await pythonBinRunner(dir, env, io);
|
|
205
|
+
return (await usablePackageManager(dir, io)).pm;
|
|
135
206
|
}
|
|
136
207
|
/**
|
|
137
208
|
* How to run a project-local bin — resolves `node_modules/.bin` and
|
|
@@ -161,6 +232,14 @@ export function binCommand(runner, bin, args = []) {
|
|
|
161
232
|
return { command: 'yarn', args: [bin, ...args] };
|
|
162
233
|
case 'bun':
|
|
163
234
|
return { command: 'bun', args: ['run', bin, ...args] };
|
|
235
|
+
case 'uv':
|
|
236
|
+
// The PyPI CLI (`kindgi-cli`) in the pack's uv environment.
|
|
237
|
+
return { command: 'uv', args: ['run', bin, ...args] };
|
|
238
|
+
case 'poetry':
|
|
239
|
+
return { command: 'poetry', args: ['run', bin, ...args] };
|
|
240
|
+
case 'venv':
|
|
241
|
+
// The PyPI CLI's script in the app's own (activated) environment.
|
|
242
|
+
return { command: bin, args: [...args] };
|
|
164
243
|
case 'path':
|
|
165
244
|
// No npm project to install the CLI into (a Python pack): the published
|
|
166
245
|
// CLI through npx, within this CLI's minor (as Python packs pin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,kFAAkF;AAClF,MAAM,OAAO,GAAmD;IAC9D,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC/B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,WAAW,EAAE,KAAK,CAAC;IACpB,CAAC,mBAAmB,EAAE,KAAK,CAAC;IAC5B,CAAC,qBAAqB,EAAE,KAAK,CAAC;CAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/parse.d.ts
CHANGED
|
@@ -58,10 +58,12 @@ export interface GlobalFlags {
|
|
|
58
58
|
*/
|
|
59
59
|
readonly formatRequested: boolean;
|
|
60
60
|
}
|
|
61
|
+
/** A parsed flag: a string, a boolean, or every value of a repeatable (`multiple`) string flag. */
|
|
62
|
+
export type OptionValue = string | boolean | readonly string[] | undefined;
|
|
61
63
|
export interface CommandParse {
|
|
62
64
|
readonly globals: GlobalFlags;
|
|
63
65
|
readonly positionals: readonly string[];
|
|
64
|
-
readonly options: Readonly<Record<string,
|
|
66
|
+
readonly options: Readonly<Record<string, OptionValue>>;
|
|
65
67
|
}
|
|
66
68
|
/**
|
|
67
69
|
* Parse a token vector against a merged option spec (globals + the
|
package/dist/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED,mGAAmG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CACzD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,eAAe,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM,GAC9D,YAAY,CA0Dd;AAED,KAAK,eAAe,GAChB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE;QACH,IAAI,EAAE,QAAiB;QACvB,WAAW,EAAE,wEAAwE;KACtF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,QAAiB;QACvB,WAAW,EAAE,mEAAmE;KACjF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAkB;QACxB,KAAK,EAAE,GAAY;QACnB,WAAW,EAAE,wCAAwC;KACtD;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,KAAK,EAAE,GAAY,EAAE,WAAW,EAAE,YAAY,EAAE;IAClF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAC9E,IAAI,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,2CAA2C,EAAE;IAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,yCAAyC,EAAE;IAC3F,GAAG,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAChF,KAAK,EAAE;QACL,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,wDAAwD;KACtE;CACO,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ description: >
|
|
|
14
14
|
primitive.
|
|
15
15
|
type: core
|
|
16
16
|
library: "@kindgi/sdk"
|
|
17
|
-
version: "0.3.
|
|
18
|
-
sdk_version: "0.1.4-rc.
|
|
17
|
+
version: "0.3.8"
|
|
18
|
+
sdk_version: "0.1.4-rc.3"
|
|
19
19
|
pack_languages: [node]
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -193,7 +193,7 @@ const run = await kindgi.runs.start({
|
|
|
193
193
|
step's `step.completed` entry in the flow's journal names its turn's run
|
|
194
194
|
(`payload.output.runId`).
|
|
195
195
|
- **What it cost:** `kindgi.cost.usage.query({ rootRunId: runId })`
|
|
196
|
-
(`GET /v1/cost/records?rootRunId={runId}`): `.
|
|
196
|
+
(`GET /v1/cost/records?rootRunId={runId}`): `.data`, one record per model
|
|
197
197
|
call, with its `model`, `usage` (`promptTokens`, `completionTokens`) and
|
|
198
198
|
`costUsd` (a number, US dollars), a flow's agent steps included. For one
|
|
199
199
|
customer's spend, see below.
|
package/dist/stop-signal.d.ts
CHANGED
|
@@ -1,15 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SIGINT / SIGTERM → an AbortSignal long-lived commands
|
|
3
|
-
* watch to shut down cleanly: close watchers, stop the
|
|
4
|
-
* down the bundled containers.
|
|
2
|
+
* SIGINT / SIGTERM / SIGHUP → an AbortSignal long-lived commands
|
|
3
|
+
* (`kindgi dev`) watch to shut down cleanly: close watchers, stop the
|
|
4
|
+
* api-server, tear down the bundled containers. SIGHUP is the terminal
|
|
5
|
+
* closing: without a listener it ended `kindgi dev` at once, leaving its
|
|
6
|
+
* runtime container running.
|
|
5
7
|
*
|
|
6
8
|
* The listener stays registered (`on`, never `once`), so a dependency
|
|
7
9
|
* that re-raises a signal when it finds itself the only listener left
|
|
8
|
-
* (`signal-exit` v3 does) can't cut the graceful shutdown short.
|
|
9
|
-
*
|
|
10
|
+
* (`signal-exit` v3 does) can't cut the graceful shutdown short.
|
|
11
|
+
*
|
|
12
|
+
* A second Ctrl+C forces the exit, the usual Ctrl+C-twice contract, but
|
|
13
|
+
* not one that comes with the first. One Ctrl+C can arrive more than once:
|
|
14
|
+
* the terminal signals the whole foreground process group, and a wrapper
|
|
15
|
+
* in it signals its child too (`npx` and `pnpm run` forward SIGINT;
|
|
16
|
+
* `pnpm exec` sends SIGTERM and exits at once). A signal is the same
|
|
17
|
+
* Ctrl+C when it's handled within `REPEAT_SIGNAL_WINDOW_MS` of the first,
|
|
18
|
+
* or before the event loop has turned twice since: a stop step can hold
|
|
19
|
+
* the loop (closing a recursive file watcher takes over a second on
|
|
20
|
+
* macOS), so a signal that came at once can be handled late. A SIGTERM
|
|
21
|
+
* or SIGHUP never forces the exit; it asks for the stop already under
|
|
22
|
+
* way. Forcing it left the runtime container running.
|
|
10
23
|
*/
|
|
24
|
+
type StopSignalName = 'SIGINT' | 'SIGTERM' | 'SIGHUP';
|
|
11
25
|
export interface SignalSource {
|
|
12
|
-
on(event:
|
|
26
|
+
on(event: StopSignalName, listener: () => void): unknown;
|
|
27
|
+
}
|
|
28
|
+
/** Where the stop signal reads the time and the event loop's turns (tests fake it). */
|
|
29
|
+
export interface StopSignalClock {
|
|
30
|
+
now(): number;
|
|
31
|
+
/** Run `fn` on the event loop's next turn. */
|
|
32
|
+
nextTurn(fn: () => void): void;
|
|
33
|
+
}
|
|
34
|
+
/** How long after the first signal another is still the same Ctrl+C. */
|
|
35
|
+
export declare const REPEAT_SIGNAL_WINDOW_MS = 500;
|
|
36
|
+
export declare function createStopSignal(source: SignalSource, forceExit: (code: number) => void, clock?: StopSignalClock): AbortSignal;
|
|
37
|
+
/** Where the command's output goes (`process.stdout`, `process.stderr`). */
|
|
38
|
+
export interface OutputStream {
|
|
39
|
+
on(event: 'error', listener: (error: Error) => void): unknown;
|
|
13
40
|
}
|
|
14
|
-
|
|
41
|
+
/**
|
|
42
|
+
* After a hangup (SIGHUP: the terminal closed), writing to the terminal
|
|
43
|
+
* fails (EIO). Unheard, that error would end the process mid-stop, the
|
|
44
|
+
* runtime container left behind, so from then on the outputs' errors are
|
|
45
|
+
* ignored: nobody is left to read them.
|
|
46
|
+
*/
|
|
47
|
+
export declare function ignoreOutputAfterHangup(source: SignalSource, outputs: readonly OutputStream[]): void;
|
|
48
|
+
export {};
|
|
15
49
|
//# sourceMappingURL=stop-signal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-signal.d.ts","sourceRoot":"","sources":["../src/stop-signal.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"stop-signal.d.ts","sourceRoot":"","sources":["../src/stop-signal.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,KAAK,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CAC1D;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,GAAG,IAAI,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAChC;AAED,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAS3C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,KAAK,GAAE,eAA6B,GACnC,WAAW,CAuBb;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;CAC/D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,IAAI,CAON"}
|
package/dist/stop-signal.js
CHANGED
|
@@ -1,16 +1,51 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
-
|
|
3
|
+
/** How long after the first signal another is still the same Ctrl+C. */
|
|
4
|
+
export const REPEAT_SIGNAL_WINDOW_MS = 500;
|
|
5
|
+
const systemClock = {
|
|
6
|
+
now: () => Date.now(),
|
|
7
|
+
nextTurn: (fn) => {
|
|
8
|
+
setImmediate(fn);
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
export function createStopSignal(source, forceExit, clock = systemClock) {
|
|
4
12
|
const controller = new AbortController();
|
|
5
|
-
|
|
13
|
+
let firstAt = 0;
|
|
14
|
+
let settled = false;
|
|
15
|
+
const onSignal = (signal) => {
|
|
6
16
|
if (!controller.signal.aborted) {
|
|
17
|
+
firstAt = clock.now();
|
|
18
|
+
clock.nextTurn(() => clock.nextTurn(() => {
|
|
19
|
+
settled = true;
|
|
20
|
+
}));
|
|
7
21
|
controller.abort();
|
|
8
22
|
return;
|
|
9
23
|
}
|
|
24
|
+
if (signal !== 'SIGINT')
|
|
25
|
+
return;
|
|
26
|
+
if (!settled || clock.now() - firstAt < REPEAT_SIGNAL_WINDOW_MS)
|
|
27
|
+
return;
|
|
10
28
|
forceExit(130);
|
|
11
29
|
};
|
|
12
|
-
source.on('SIGINT', onSignal);
|
|
13
|
-
source.on('SIGTERM', onSignal);
|
|
30
|
+
source.on('SIGINT', () => onSignal('SIGINT'));
|
|
31
|
+
source.on('SIGTERM', () => onSignal('SIGTERM'));
|
|
32
|
+
source.on('SIGHUP', () => onSignal('SIGHUP'));
|
|
14
33
|
return controller.signal;
|
|
15
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* After a hangup (SIGHUP: the terminal closed), writing to the terminal
|
|
37
|
+
* fails (EIO). Unheard, that error would end the process mid-stop, the
|
|
38
|
+
* runtime container left behind, so from then on the outputs' errors are
|
|
39
|
+
* ignored: nobody is left to read them.
|
|
40
|
+
*/
|
|
41
|
+
export function ignoreOutputAfterHangup(source, outputs) {
|
|
42
|
+
let hungUp = false;
|
|
43
|
+
source.on('SIGHUP', () => {
|
|
44
|
+
if (hungUp)
|
|
45
|
+
return;
|
|
46
|
+
hungUp = true;
|
|
47
|
+
for (const output of outputs)
|
|
48
|
+
output.on('error', () => undefined);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
16
51
|
//# sourceMappingURL=stop-signal.js.map
|
package/dist/stop-signal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-signal.js","sourceRoot":"","sources":["../src/stop-signal.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"stop-signal.js","sourceRoot":"","sources":["../src/stop-signal.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAuCjC,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,MAAM,WAAW,GAAoB;IACnC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;QACf,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,SAAiC,EACjC,QAAyB,WAAW;IAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAQ,EAAE;QAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAClB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC,CACH,CAAC;YACF,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO;QAChC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,uBAAuB;YAAE,OAAO;QACxE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAoB,EACpB,OAAgC;IAEhC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACvB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# its install script (true) or skips it (false); pnpm 11+ stops an install
|
|
4
4
|
# until each one has a decision. esbuild (the CLI's bundler, and vitest's
|
|
5
5
|
# transform) works without its script: its native binary comes from its
|
|
6
|
-
# `@esbuild/<platform>` package, so the script stays off.
|
|
6
|
+
# `@esbuild/<platform>` package, so the script stays off. npm 11+ records
|
|
7
|
+
# the same decision in `package.json`'s `allowScripts`.
|
|
7
8
|
allowBuilds:
|
|
8
9
|
esbuild: false
|
|
@@ -6,7 +6,7 @@ requires-python = ">=3.11"
|
|
|
6
6
|
dependencies = [{{KINDGI_REQUIREMENT}}]
|
|
7
7
|
|
|
8
8
|
[dependency-groups]
|
|
9
|
-
dev = [
|
|
9
|
+
dev = [{{DEV_DEPENDENCIES}}]
|
|
10
10
|
|
|
11
11
|
# The uv versions this pack works with: `kindgi build` installs it with the
|
|
12
12
|
# uv in Kindgi's image, which reads the uv.lock they write.
|