@kindgi/cli 0.1.4-rc.1 → 0.1.4-rc.2
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 +24 -11
- 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/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 +91 -25
- package/dist/commands/dev.js.map +1 -1
- 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 +2 -0
- package/dist/commands/index.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/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/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +44 -3
- 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 +38 -11
- package/dist/commands/unwired.js.map +1 -1
- package/dist/context.d.ts +3 -3
- package/dist/context.d.ts.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-image.d.ts +1 -1
- package/dist/dev/runtime-image.js +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/help.js +1 -1
- package/dist/help.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/package.json +11 -11
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
-
import { requiredPositional, runSdk,
|
|
3
|
+
import { integerFlag, requiredPositional, runSdk, stringFlag } from './helpers.js';
|
|
4
|
+
/** `provenance list --table`. */
|
|
5
|
+
const PROVENANCE_TABLE = {
|
|
6
|
+
rows: (page) => page.data,
|
|
7
|
+
columns: [
|
|
8
|
+
{ header: 'RUN', get: (p) => String(p.runId) },
|
|
9
|
+
{ header: 'CREATED', get: (p) => String(p.createdAt) },
|
|
10
|
+
{
|
|
11
|
+
header: 'FLOW',
|
|
12
|
+
get: (p) => (p.flowRef !== undefined ? `${String(p.flowRef.id)}@${p.flowRef.version}` : ''),
|
|
13
|
+
},
|
|
14
|
+
{ header: 'SIGNED', get: (p) => (p.signed ? 'yes' : 'no') },
|
|
15
|
+
],
|
|
16
|
+
};
|
|
4
17
|
const list = {
|
|
5
18
|
kind: 'leaf',
|
|
6
19
|
name: 'list',
|
|
7
|
-
description: 'List provenance records.',
|
|
8
|
-
usage: 'kindgi provenance list [--limit=<n>] [--cursor=<c>]',
|
|
20
|
+
description: 'List provenance records, one per run: what ran, in what order, with what.',
|
|
21
|
+
usage: 'kindgi provenance list [--run=<run-id>] [--agent=<agent-id>] [--created-after=<iso>] [--project=<project-id> | --org=<org-id>] [--limit=<n>] [--cursor=<c>]',
|
|
9
22
|
optionSpec: {
|
|
23
|
+
run: { type: 'string', description: "Only this run's record." },
|
|
24
|
+
agent: { type: 'string', description: "Only the records of this agent's runs." },
|
|
25
|
+
'created-after': {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Only the records created after this time (ISO 8601).',
|
|
28
|
+
},
|
|
29
|
+
project: { type: 'string', description: "Only this project's records." },
|
|
30
|
+
org: { type: 'string', description: "Only the records of this org's projects." },
|
|
10
31
|
limit: {
|
|
11
32
|
type: 'string',
|
|
12
33
|
description: 'The most provenance records to return (default 25, at most 100).',
|
|
@@ -16,38 +37,69 @@ const list = {
|
|
|
16
37
|
description: "Resume after this cursor, from the previous page's `nextCursor`.",
|
|
17
38
|
},
|
|
18
39
|
},
|
|
19
|
-
run: (ctx) => runSdk(ctx, 'provenance list', async () =>
|
|
40
|
+
run: (ctx) => runSdk(ctx, 'provenance list', async () => {
|
|
41
|
+
const project = stringFlag(ctx, 'project');
|
|
42
|
+
const org = stringFlag(ctx, 'org');
|
|
43
|
+
if (project !== undefined && org !== undefined) {
|
|
44
|
+
throw new Error('--project and --org are mutually exclusive');
|
|
45
|
+
}
|
|
46
|
+
const runId = stringFlag(ctx, 'run');
|
|
47
|
+
const agentId = stringFlag(ctx, 'agent');
|
|
48
|
+
const createdAfter = stringFlag(ctx, 'created-after');
|
|
49
|
+
const limit = integerFlag(ctx, 'limit');
|
|
50
|
+
const cursor = stringFlag(ctx, 'cursor');
|
|
51
|
+
return await ctx.client().provenance.query({
|
|
52
|
+
...(project !== undefined && { scope: { kind: 'project', projectId: project } }),
|
|
53
|
+
...(org !== undefined && { scope: { kind: 'org', orgId: org } }),
|
|
54
|
+
...(runId !== undefined && { runId: runId }),
|
|
55
|
+
...(agentId !== undefined && { agentId: agentId }),
|
|
56
|
+
...(createdAfter !== undefined && { createdAfter: createdAfter }),
|
|
57
|
+
...(limit !== undefined && { limit }),
|
|
58
|
+
...(cursor !== undefined && { cursor: cursor }),
|
|
59
|
+
});
|
|
60
|
+
}, PROVENANCE_TABLE),
|
|
20
61
|
};
|
|
21
62
|
const get = {
|
|
22
63
|
kind: 'leaf',
|
|
23
64
|
name: 'get',
|
|
24
|
-
description: '
|
|
65
|
+
description: "A run's provenance record: its graph of what ran, in what order, with what.",
|
|
25
66
|
usage: 'kindgi provenance get <run-id>',
|
|
26
67
|
run: (ctx) => runSdk(ctx, 'provenance get', async () => {
|
|
27
|
-
requiredPositional(ctx, 0, 'run-id');
|
|
28
|
-
|
|
68
|
+
const runId = requiredPositional(ctx, 0, 'run-id');
|
|
69
|
+
return await ctx.client().provenance.get(runId);
|
|
29
70
|
}),
|
|
30
71
|
};
|
|
31
72
|
const exportCmd = {
|
|
32
73
|
kind: 'leaf',
|
|
33
74
|
name: 'export',
|
|
34
|
-
description:
|
|
35
|
-
usage: 'kindgi provenance export <run-id>
|
|
75
|
+
description: "Export a run's provenance as a bundle signed with one of the deployment's signing keys.",
|
|
76
|
+
usage: 'kindgi provenance export <run-id> --signing-key=<key-id> [--include-messages]',
|
|
36
77
|
optionSpec: {
|
|
37
|
-
|
|
78
|
+
'signing-key': {
|
|
38
79
|
type: 'string',
|
|
39
|
-
description: "
|
|
80
|
+
description: "The deployment's signing key to sign with, by id. Required.",
|
|
81
|
+
},
|
|
82
|
+
'include-messages': {
|
|
83
|
+
type: 'boolean',
|
|
84
|
+
description: "Add the run's conversation messages to the bundle.",
|
|
40
85
|
},
|
|
41
86
|
},
|
|
42
87
|
run: (ctx) => runSdk(ctx, 'provenance export', async () => {
|
|
43
|
-
requiredPositional(ctx, 0, 'run-id');
|
|
44
|
-
|
|
88
|
+
const runId = requiredPositional(ctx, 0, 'run-id');
|
|
89
|
+
const signingKeyId = stringFlag(ctx, 'signing-key');
|
|
90
|
+
if (signingKeyId === undefined)
|
|
91
|
+
throw new Error('--signing-key=<key-id> is required');
|
|
92
|
+
return await ctx.client().provenance.export({
|
|
93
|
+
runId: runId,
|
|
94
|
+
signingKeyId,
|
|
95
|
+
...(ctx.options['include-messages'] === true && { includeMessages: true }),
|
|
96
|
+
});
|
|
45
97
|
}),
|
|
46
98
|
};
|
|
47
99
|
export const provenanceCommand = {
|
|
48
100
|
kind: 'group',
|
|
49
101
|
name: 'provenance',
|
|
50
|
-
description: '
|
|
102
|
+
description: "Provenance records: each run's graph of what ran (list / get / export, signed).",
|
|
51
103
|
subcommands: [list, get, exportCmd],
|
|
52
104
|
};
|
|
53
105
|
//# sourceMappingURL=provenance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC,OAAO,EAAkB,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGnG,iCAAiC;AACjC,MAAM,gBAAgB,GAA4E;IAChG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;IACzB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;QAC9C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QACtD;YACE,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F;QACD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;KAC5D;CACF,CAAC;AAEF,MAAM,IAAI,GAAgB;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,2EAA2E;IACxF,KAAK,EACH,6JAA6J;IAC/J,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;QAC/D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;QAChF,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;SACpE;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;QACxE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QAChF,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kEAAkE;SAChF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kEAAkE;SAChF;KACF;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CACX,MAAM,CACJ,GAAG,EACH,iBAAiB,EACjB,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACzC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;YAChF,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,OAAgB,EAAE,CAAC;YAC3D,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,YAAqB,EAAE,CAAC;YAC1E,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC,EACD,gBAAgB,CACjB;CACJ,CAAC;AAEF,MAAM,GAAG,GAAgB;IACvB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,6EAA6E;IAC1F,KAAK,EAAE,gCAAgC;IACvC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAc,CAAC,CAAC;IAC3D,CAAC,CAAC;CACL,CAAC;AAEF,MAAM,SAAS,GAAgB;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,yFAAyF;IAC3F,KAAK,EAAE,+EAA+E;IACtF,UAAU,EAAE;QACV,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6DAA6D;SAC3E;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,oDAAoD;SAClE;KACF;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,YAAY,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACtF,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1C,KAAK,EAAE,KAAc;YACrB,YAAY;YACZ,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC,CAAC;CACL,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,iFAAiF;IAC9F,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;CACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAqUvD,eAAO,MAAM,WAAW,EAAE,OAKzB,CAAC"}
|
package/dist/commands/runs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
3
|
import { renderJson } from '../output.js';
|
|
4
4
|
import { followRun, runsGetHint } from '../runs/follow.js';
|
|
5
|
-
import { readJsonInput, requiredPositional, runSdk, runSdkRendered, stringFlag, throwUnwired, } from './helpers.js';
|
|
5
|
+
import { readJsonInput, requiredPositional, runSdk, runSdkRendered, segmentsFlag, stringFlag, throwUnwired, } from './helpers.js';
|
|
6
6
|
/** `runs list --table`. */
|
|
7
7
|
const RUNS_TABLE = {
|
|
8
8
|
rows: (page) => page.data,
|
|
@@ -18,8 +18,12 @@ const list = {
|
|
|
18
18
|
kind: 'leaf',
|
|
19
19
|
name: 'list',
|
|
20
20
|
description: 'List runs (paginated).',
|
|
21
|
-
usage: 'kindgi runs list [--replays=exclude|include|only] [--eval-run=<id>] [--limit=<n>] [--cursor=<c>]',
|
|
21
|
+
usage: 'kindgi runs list [--agent=<agent-id>] [--replays=exclude|include|only] [--eval-run=<id>] [--limit=<n>] [--cursor=<c>]',
|
|
22
22
|
optionSpec: {
|
|
23
|
+
agent: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: "Only this agent's turns, at any version: its own runs and the turns its steps start inside flows. Turns from before Kindgi 0.1.3 don't name their agent and aren't listed.",
|
|
26
|
+
},
|
|
23
27
|
replays: {
|
|
24
28
|
type: 'string',
|
|
25
29
|
description: 'Replay runs (an eval run re-running a past run): `exclude` (the default) leaves them out, `include` lists them too, `only` lists just them.',
|
|
@@ -44,6 +48,7 @@ const list = {
|
|
|
44
48
|
throw new Error(`--replays must be one of ${REPLAYS.join(', ')}, got "${replays}"`);
|
|
45
49
|
}
|
|
46
50
|
const evalRunId = stringFlag(ctx, 'eval-run');
|
|
51
|
+
const agentId = stringFlag(ctx, 'agent');
|
|
47
52
|
const limitStr = stringFlag(ctx, 'limit');
|
|
48
53
|
const limit = limitStr !== undefined ? Number.parseInt(limitStr, 10) : undefined;
|
|
49
54
|
if (limit !== undefined && Number.isNaN(limit)) {
|
|
@@ -54,6 +59,7 @@ const list = {
|
|
|
54
59
|
...(limit !== undefined && { limit }),
|
|
55
60
|
...(replays !== undefined && { replays: replays }),
|
|
56
61
|
...(evalRunId !== undefined && { evalRunId }),
|
|
62
|
+
...(agentId !== undefined && { agentId }),
|
|
57
63
|
});
|
|
58
64
|
}, RUNS_TABLE),
|
|
59
65
|
};
|
|
@@ -132,20 +138,37 @@ const start = {
|
|
|
132
138
|
kind: 'leaf',
|
|
133
139
|
name: 'start',
|
|
134
140
|
description: 'Start a run for an agent or flow. Waits until it finishes or waits on an approval; if the wait is stopped (Ctrl+C), the run goes on and its id is printed. With --no-wait it prints as soon as the run exists (follow it with `runs get` / `runs stream`). --dry-run runs only read-only tools.',
|
|
135
|
-
usage: 'kindgi runs start (--agent=<agent-id> | --flow=<flow-id>) --input=<json-or-@file> [--no-wait] [--dry-run] [--idempotency-key=<key>]',
|
|
141
|
+
usage: 'kindgi runs start (--agent=<agent-id> [--agent-version=<v>] | --flow=<flow-id> [--flow-version=<v>]) --input=<json-or-@file> [--project=<project-id>] [--segment=<key:value>]… [--no-wait] [--dry-run] [--idempotency-key=<key>]',
|
|
136
142
|
optionSpec: {
|
|
137
143
|
agent: {
|
|
138
144
|
type: 'string',
|
|
139
145
|
description: 'The agent to run, by id (`<pack>.<agent>`). Give `--agent` or `--flow`.',
|
|
140
146
|
},
|
|
147
|
+
'agent-version': {
|
|
148
|
+
type: 'string',
|
|
149
|
+
description: "The agent's version to run (default: its latest). A turn in a conversation needs the version the conversation was opened with.",
|
|
150
|
+
},
|
|
141
151
|
flow: {
|
|
142
152
|
type: 'string',
|
|
143
153
|
description: 'The flow to run, by id. Give `--flow` or `--agent`, not both.',
|
|
144
154
|
},
|
|
155
|
+
'flow-version': {
|
|
156
|
+
type: 'string',
|
|
157
|
+
description: "The flow's version to run (default: its latest).",
|
|
158
|
+
},
|
|
145
159
|
input: {
|
|
146
160
|
type: 'string',
|
|
147
161
|
description: "The run's input as JSON, or `@<file>` to read it from a file. Required.",
|
|
148
162
|
},
|
|
163
|
+
project: {
|
|
164
|
+
type: 'string',
|
|
165
|
+
description: "The project to run in (`kindgi projects list`). Default: the tenant's Default project.",
|
|
166
|
+
},
|
|
167
|
+
segment: {
|
|
168
|
+
type: 'string',
|
|
169
|
+
multiple: true,
|
|
170
|
+
description: "One step of the run's segment path, `key:value` (e.g. `company:acme`); repeat it in order, coarse to fine. It picks the agent's live version.",
|
|
171
|
+
},
|
|
149
172
|
'idempotency-key': {
|
|
150
173
|
type: 'string',
|
|
151
174
|
description: 'A retry with the same key returns the run the first call started.',
|
|
@@ -169,6 +192,15 @@ const start = {
|
|
|
169
192
|
if (agent !== undefined && flow !== undefined) {
|
|
170
193
|
throw new Error('--agent and --flow are mutually exclusive');
|
|
171
194
|
}
|
|
195
|
+
const projectId = stringFlag(ctx, 'project');
|
|
196
|
+
const agentVersion = stringFlag(ctx, 'agent-version');
|
|
197
|
+
const flowVersion = stringFlag(ctx, 'flow-version');
|
|
198
|
+
if (agentVersion !== undefined && agent === undefined) {
|
|
199
|
+
throw new Error('--agent-version goes with --agent=<agent-id>');
|
|
200
|
+
}
|
|
201
|
+
if (flowVersion !== undefined && flow === undefined) {
|
|
202
|
+
throw new Error('--flow-version goes with --flow=<flow-id>');
|
|
203
|
+
}
|
|
172
204
|
if (inputSpec === undefined) {
|
|
173
205
|
throw new Error('--input=<json-or-@file> is required');
|
|
174
206
|
}
|
|
@@ -180,15 +212,24 @@ const start = {
|
|
|
180
212
|
wait: false,
|
|
181
213
|
...(ctx.options['dry-run'] === true && { dryRun: true }),
|
|
182
214
|
};
|
|
215
|
+
const segments = segmentsFlag(ctx);
|
|
216
|
+
const where = {
|
|
217
|
+
...(projectId !== undefined && { projectId }),
|
|
218
|
+
...(segments.length > 0 && { segments }),
|
|
219
|
+
};
|
|
183
220
|
const started = await (agent !== undefined
|
|
184
221
|
? ctx.client().runs.start({
|
|
185
222
|
agent: agent,
|
|
223
|
+
...(agentVersion !== undefined && { agentVersion }),
|
|
224
|
+
...where,
|
|
186
225
|
input,
|
|
187
226
|
options,
|
|
188
227
|
...(idem !== undefined ? { idempotencyKey: idem } : {}),
|
|
189
228
|
})
|
|
190
229
|
: ctx.client().runs.start({
|
|
191
230
|
flow: flow,
|
|
231
|
+
...(flowVersion !== undefined && { flowVersion }),
|
|
232
|
+
...where,
|
|
192
233
|
input,
|
|
193
234
|
options,
|
|
194
235
|
...(idem !== undefined ? { idempotencyKey: idem } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAMjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAEL,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,2BAA2B;AAC3B,MAAM,UAAU,GAA4B;IAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;IACzB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAC9C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC9C,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC5C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;KAC3D;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAExD,MAAM,IAAI,GAAgB;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,wBAAwB;IACrC,KAAK,EACH,
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAsKvD,eAAO,MAAM,YAAY,EAAE,OAK1B,CAAC"}
|
package/dist/commands/tools.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
-
import { requiredPositional, runSdk, stringFlag,
|
|
3
|
+
import { projectIdFlag, readJsonInput, requiredPositional, runSdk, stringFlag, truncateCell, } from './helpers.js';
|
|
4
4
|
/** `tools list --table`. */
|
|
5
5
|
const TOOLS_TABLE = {
|
|
6
|
-
rows: (page) => page.
|
|
6
|
+
rows: (page) => page.data,
|
|
7
7
|
columns: [
|
|
8
8
|
{ header: 'ID', get: (tool) => String(tool.id) },
|
|
9
9
|
{ header: 'VERSION', get: (tool) => tool.version ?? '' },
|
|
@@ -54,33 +54,36 @@ const get = {
|
|
|
54
54
|
const publish = {
|
|
55
55
|
kind: 'leaf',
|
|
56
56
|
name: 'publish',
|
|
57
|
-
description: '
|
|
58
|
-
usage: 'kindgi tools publish --manifest=<json-or-@file>',
|
|
57
|
+
description: 'Register a tool manifest at its version: the tool minus its handler, which the runtime must already have.',
|
|
58
|
+
usage: 'kindgi tools publish --manifest=<json-or-@file> [--project=<project-id>]',
|
|
59
59
|
optionSpec: {
|
|
60
60
|
manifest: {
|
|
61
61
|
type: 'string',
|
|
62
62
|
description: 'The tool manifest as JSON, or `@<file>` to read it from a file. Required.',
|
|
63
63
|
},
|
|
64
|
+
project: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
description: "The project to register the tool in, by id (default: the tenant's Default project).",
|
|
67
|
+
},
|
|
64
68
|
},
|
|
65
|
-
run: (ctx) => runSdk(ctx, 'tools publish', async () =>
|
|
69
|
+
run: (ctx) => runSdk(ctx, 'tools publish', async () => {
|
|
70
|
+
const manifestText = stringFlag(ctx, 'manifest');
|
|
71
|
+
if (manifestText === undefined)
|
|
72
|
+
throw new Error('--manifest=<json-or-@file> is required');
|
|
73
|
+
const manifest = (await readJsonInput(manifestText));
|
|
74
|
+
const projectId = await projectIdFlag(ctx);
|
|
75
|
+
return await ctx.client().tools.register(manifest, { projectId });
|
|
76
|
+
}),
|
|
66
77
|
};
|
|
67
78
|
const unregister = {
|
|
68
79
|
kind: 'leaf',
|
|
69
80
|
name: 'unregister',
|
|
70
|
-
description: 'Unregister a specific tool version.',
|
|
71
|
-
usage: 'kindgi tools unregister <tool-id>
|
|
72
|
-
optionSpec: {
|
|
73
|
-
version: {
|
|
74
|
-
type: 'string',
|
|
75
|
-
description: 'The version to unregister (semver); `kindgi tools reinstate` brings it back. Required.',
|
|
76
|
-
},
|
|
77
|
-
},
|
|
81
|
+
description: 'Unregister a specific tool version (semver); `kindgi tools reinstate` brings it back.',
|
|
82
|
+
usage: 'kindgi tools unregister <tool-id> <version>',
|
|
78
83
|
run: (ctx) => runSdk(ctx, 'tools unregister', async () => {
|
|
79
84
|
const toolId = requiredPositional(ctx, 0, 'tool-id');
|
|
80
|
-
const version =
|
|
81
|
-
|
|
82
|
-
throw new Error('--version=<semver> is required');
|
|
83
|
-
return await ctx.client().tools.unregisterVersion(toolId, version);
|
|
85
|
+
const version = requiredPositional(ctx, 1, 'version');
|
|
86
|
+
return await ctx.client().tools.versions.unregister(toolId, version);
|
|
84
87
|
}),
|
|
85
88
|
};
|
|
86
89
|
const versions = {
|
|
@@ -111,7 +114,7 @@ const versions = {
|
|
|
111
114
|
throw new Error(`--limit must be an integer, got "${limitStr}"`);
|
|
112
115
|
}
|
|
113
116
|
const includeTombstoned = ctx.options['include-tombstoned'] === true;
|
|
114
|
-
return await ctx.client().tools.
|
|
117
|
+
return await ctx.client().tools.versions.list(toolId, {
|
|
115
118
|
...(cursor !== undefined && { cursor: cursor }),
|
|
116
119
|
...(limit !== undefined && { limit }),
|
|
117
120
|
...(includeTombstoned && { includeTombstoned: true }),
|
|
@@ -122,35 +125,22 @@ const getVersion = {
|
|
|
122
125
|
kind: 'leaf',
|
|
123
126
|
name: 'get-version',
|
|
124
127
|
description: 'Fetch a specific tool version by exact semver.',
|
|
125
|
-
usage: 'kindgi tools get-version <tool-id>
|
|
126
|
-
optionSpec: {
|
|
127
|
-
version: { type: 'string', description: 'The exact version to fetch (semver). Required.' },
|
|
128
|
-
},
|
|
128
|
+
usage: 'kindgi tools get-version <tool-id> <version>',
|
|
129
129
|
run: (ctx) => runSdk(ctx, 'tools get-version', async () => {
|
|
130
130
|
const toolId = requiredPositional(ctx, 0, 'tool-id');
|
|
131
|
-
const version =
|
|
132
|
-
|
|
133
|
-
throw new Error('--version=<semver> is required');
|
|
134
|
-
return await ctx.client().tools.getVersion(toolId, version);
|
|
131
|
+
const version = requiredPositional(ctx, 1, 'version');
|
|
132
|
+
return await ctx.client().tools.versions.get(toolId, version);
|
|
135
133
|
}),
|
|
136
134
|
};
|
|
137
135
|
const reinstate = {
|
|
138
136
|
kind: 'leaf',
|
|
139
137
|
name: 'reinstate',
|
|
140
|
-
description: '
|
|
141
|
-
usage: 'kindgi tools reinstate <tool-id>
|
|
142
|
-
optionSpec: {
|
|
143
|
-
version: {
|
|
144
|
-
type: 'string',
|
|
145
|
-
description: 'The unregistered version to bring back (semver). Required.',
|
|
146
|
-
},
|
|
147
|
-
},
|
|
138
|
+
description: 'Bring back an unregistered tool version (semver).',
|
|
139
|
+
usage: 'kindgi tools reinstate <tool-id> <version>',
|
|
148
140
|
run: (ctx) => runSdk(ctx, 'tools reinstate', async () => {
|
|
149
141
|
const toolId = requiredPositional(ctx, 0, 'tool-id');
|
|
150
|
-
const version =
|
|
151
|
-
|
|
152
|
-
throw new Error('--version=<semver> is required');
|
|
153
|
-
return await ctx.client().tools.reinstateVersion(toolId, version);
|
|
142
|
+
const version = requiredPositional(ctx, 1, 'version');
|
|
143
|
+
return await ctx.client().tools.versions.reinstate(toolId, version);
|
|
154
144
|
}),
|
|
155
145
|
};
|
|
156
146
|
export const toolsCommand = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAKjC,OAAO,EAEL,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,12 @@ import type { Command } from './types.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const UNWIRED_COMMANDS: ReadonlySet<string>;
|
|
13
13
|
/**
|
|
14
|
-
* Why a
|
|
15
|
-
*
|
|
14
|
+
* Why a command (or a whole group: a command's nearest listed path counts)
|
|
15
|
+
* is unwired, when there's more to say than "not yet wired".
|
|
16
16
|
*/
|
|
17
17
|
export declare const UNWIRED_REASONS: ReadonlyMap<string, string>;
|
|
18
|
+
/** The reason a command at `path` (its words) is unwired, from its nearest listed path. */
|
|
19
|
+
export declare function unwiredReason(path: readonly string[]): string | undefined;
|
|
18
20
|
/** Whether the command at `path` (its words, from the root) is wired. */
|
|
19
21
|
export declare function isWired(path: readonly string[]): boolean;
|
|
20
22
|
/** The commands under `parent` (its words) that are wired, in order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unwired.d.ts","sourceRoot":"","sources":["../../src/commands/unwired.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"unwired.d.ts","sourceRoot":"","sources":["../../src/commands/unwired.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAS/C,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CA4BtD,CAAC;AAEH,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAMzE;AAED,yEAAyE;AACzE,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAKxD;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,GAAE,SAAS,MAAM,EAAO,GAC7B,SAAS,OAAO,EAAE,CAEpB"}
|
package/dist/commands/unwired.js
CHANGED
|
@@ -13,30 +13,57 @@
|
|
|
13
13
|
export const UNWIRED_COMMANDS = new Set([
|
|
14
14
|
'artifacts',
|
|
15
15
|
'capabilities',
|
|
16
|
-
'conversations',
|
|
17
|
-
'flows',
|
|
18
|
-
'memory',
|
|
19
16
|
'observations',
|
|
20
17
|
'proposals',
|
|
21
|
-
'provenance',
|
|
22
18
|
'tokens',
|
|
23
|
-
'agents list',
|
|
24
|
-
'agents get',
|
|
25
|
-
'agents unregister',
|
|
26
|
-
'agents versions',
|
|
27
|
-
'tools publish',
|
|
28
19
|
'runs resume',
|
|
20
|
+
'memory facts supersede',
|
|
21
|
+
'memory facts retrieve',
|
|
29
22
|
]);
|
|
23
|
+
/** Why `kindgi tokens` is unwired: the runtime wires no `tokenAdmin`, so `/v1/tokens` isn't mounted (T243). */
|
|
24
|
+
const TOKENS_NOT_SERVED = "the Kindgi runtime doesn't serve `/v1/tokens` yet, so it has no API keys to mint or revoke; it authenticates with the token it starts with (`KINDGI_API_TOKEN`, or the one `kindgi dev` prints).";
|
|
30
25
|
/**
|
|
31
|
-
* Why a
|
|
32
|
-
*
|
|
26
|
+
* Why a command (or a whole group: a command's nearest listed path counts)
|
|
27
|
+
* is unwired, when there's more to say than "not yet wired".
|
|
33
28
|
*/
|
|
34
29
|
export const UNWIRED_REASONS = new Map([
|
|
35
30
|
[
|
|
36
31
|
'runs resume',
|
|
37
32
|
'resuming a run at a waitpoint is not available in this release: every waitpoint belongs to an approval or to the runtime. A run waiting for an approval continues when a reviewer decides it: `kindgi approvals complete <approval-id> --decision=approve`.',
|
|
38
33
|
],
|
|
34
|
+
['tokens create', TOKENS_NOT_SERVED],
|
|
35
|
+
['tokens revoke', TOKENS_NOT_SERVED],
|
|
36
|
+
[
|
|
37
|
+
'memory facts supersede',
|
|
38
|
+
"the Kindgi runtime doesn't supersede memory facts yet: it would answer that no such fact exists, even for one that does.",
|
|
39
|
+
],
|
|
40
|
+
[
|
|
41
|
+
'memory facts retrieve',
|
|
42
|
+
"the Kindgi runtime doesn't search memory yet (keyword or semantic): a retrieval would find nothing. To list facts by type or scope: `kindgi memory facts list --type=<type> --scope=<json>`.",
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
'observations',
|
|
46
|
+
"the Kindgi runtime doesn't record supervisor observations yet, so there's nothing to list; how a run went is in `kindgi runs get <run-id>` and `kindgi runs journal <run-id>`.",
|
|
47
|
+
],
|
|
48
|
+
['proposals', "the Kindgi runtime doesn't draft or apply supervisor fix proposals yet."],
|
|
49
|
+
[
|
|
50
|
+
'artifacts',
|
|
51
|
+
"the Kindgi runtime doesn't serve `/v1/artifacts` yet: it has no blob storage wired, so there are no artifacts to list, upload, download or delete.",
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
'capabilities',
|
|
55
|
+
"the Kindgi runtime doesn't serve `/v1/capabilities` yet: it has no capability catalog wired. Which providers have a model with a feature: `kindgi providers list --feature=<feature>`.",
|
|
56
|
+
],
|
|
39
57
|
]);
|
|
58
|
+
/** The reason a command at `path` (its words) is unwired, from its nearest listed path. */
|
|
59
|
+
export function unwiredReason(path) {
|
|
60
|
+
for (let i = path.length; i >= 1; i -= 1) {
|
|
61
|
+
const reason = UNWIRED_REASONS.get(path.slice(0, i).join(' '));
|
|
62
|
+
if (reason !== undefined)
|
|
63
|
+
return reason;
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
40
67
|
/** Whether the command at `path` (its words, from the root) is wired. */
|
|
41
68
|
export function isWired(path) {
|
|
42
69
|
for (let i = 1; i <= path.length; i += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unwired.js","sourceRoot":"","sources":["../../src/commands/unwired.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,WAAW;IACX,cAAc;IACd,
|
|
1
|
+
{"version":3,"file":"unwired.js","sourceRoot":"","sources":["../../src/commands/unwired.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,WAAW;IACX,cAAc;IACd,cAAc;IACd,WAAW;IACX,QAAQ;IACR,aAAa;IACb,wBAAwB;IACxB,uBAAuB;CACxB,CAAC,CAAC;AAEH,+GAA+G;AAC/G,MAAM,iBAAiB,GACrB,kMAAkM,CAAC;AAErM;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgC,IAAI,GAAG,CAAC;IAClE;QACE,aAAa;QACb,6PAA6P;KAC9P;IACD,CAAC,eAAe,EAAE,iBAAiB,CAAC;IACpC,CAAC,eAAe,EAAE,iBAAiB,CAAC;IACpC;QACE,wBAAwB;QACxB,0HAA0H;KAC3H;IACD;QACE,uBAAuB;QACvB,8LAA8L;KAC/L;IACD;QACE,cAAc;QACd,gLAAgL;KACjL;IACD,CAAC,WAAW,EAAE,yEAAyE,CAAC;IACxF;QACE,WAAW;QACX,oJAAoJ;KACrJ;IACD;QACE,cAAc;QACd,wLAAwL;KACzL;CACF,CAAC,CAAC;AAEH,2FAA2F;AAC3F,MAAM,UAAU,aAAa,CAAC,IAAuB;IACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAC,IAAuB;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAC3B,QAA4B,EAC5B,SAA4B,EAAE;IAE9B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { DeployRunners } from './deploy/runners.js';
|
|
|
8
8
|
import type { DevRunners } from './dev/runners.js';
|
|
9
9
|
import type { EnvRunners } from './env/runners.js';
|
|
10
10
|
import type { KeyRunners } from './key/runners.js';
|
|
11
|
-
import type { GlobalFlags } from './parse.js';
|
|
11
|
+
import type { GlobalFlags, OptionValue } from './parse.js';
|
|
12
12
|
import type { TestRunners } from './test/runners.js';
|
|
13
13
|
/**
|
|
14
14
|
* Loader hook the `kindgi build` command consumes when reading
|
|
@@ -26,7 +26,7 @@ export type BuildConfigLoader = (packDir: string) => Promise<unknown>;
|
|
|
26
26
|
export interface CommandContext {
|
|
27
27
|
readonly globals: GlobalFlags;
|
|
28
28
|
readonly positionals: readonly string[];
|
|
29
|
-
readonly options: Readonly<Record<string,
|
|
29
|
+
readonly options: Readonly<Record<string, OptionValue>>;
|
|
30
30
|
readonly config: ResolvedConfig;
|
|
31
31
|
/** Create an SDK client using the resolved config. Throws if apiUrl / token are missing. */
|
|
32
32
|
readonly client: () => KindgiClient;
|
|
@@ -145,7 +145,7 @@ export interface InitSeam {
|
|
|
145
145
|
export interface BuildContextInputs {
|
|
146
146
|
readonly globals: GlobalFlags;
|
|
147
147
|
readonly positionals: readonly string[];
|
|
148
|
-
readonly options: Readonly<Record<string,
|
|
148
|
+
readonly options: Readonly<Record<string, OptionValue>>;
|
|
149
149
|
readonly config: ResolvedConfig;
|
|
150
150
|
readonly fetchImpl?: typeof fetch;
|
|
151
151
|
readonly clientFactory?: (apiUrl: string, token: string) => KindgiClient;
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|