@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.
Files changed (94) hide show
  1. package/README.md +24 -11
  2. package/dist/cli.js +5 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/agents.d.ts +11 -1
  5. package/dist/commands/agents.d.ts.map +1 -1
  6. package/dist/commands/agents.js +318 -38
  7. package/dist/commands/agents.js.map +1 -1
  8. package/dist/commands/conversations.d.ts.map +1 -1
  9. package/dist/commands/conversations.js +72 -17
  10. package/dist/commands/conversations.js.map +1 -1
  11. package/dist/commands/deploy.d.ts.map +1 -1
  12. package/dist/commands/deploy.js.map +1 -1
  13. package/dist/commands/dev.d.ts.map +1 -1
  14. package/dist/commands/dev.js +91 -25
  15. package/dist/commands/dev.js.map +1 -1
  16. package/dist/commands/eval-runs.d.ts.map +1 -1
  17. package/dist/commands/eval-runs.js +34 -30
  18. package/dist/commands/eval-runs.js.map +1 -1
  19. package/dist/commands/flows.d.ts.map +1 -1
  20. package/dist/commands/flows.js +84 -25
  21. package/dist/commands/flows.js.map +1 -1
  22. package/dist/commands/gate-policies.d.ts +3 -0
  23. package/dist/commands/gate-policies.d.ts.map +1 -0
  24. package/dist/commands/gate-policies.js +118 -0
  25. package/dist/commands/gate-policies.js.map +1 -0
  26. package/dist/commands/helpers.d.ts +8 -0
  27. package/dist/commands/helpers.d.ts.map +1 -1
  28. package/dist/commands/helpers.js +13 -0
  29. package/dist/commands/helpers.js.map +1 -1
  30. package/dist/commands/index.d.ts.map +1 -1
  31. package/dist/commands/index.js +2 -0
  32. package/dist/commands/index.js.map +1 -1
  33. package/dist/commands/judge-classes.d.ts.map +1 -1
  34. package/dist/commands/judge-classes.js +64 -7
  35. package/dist/commands/judge-classes.js.map +1 -1
  36. package/dist/commands/memory.d.ts.map +1 -1
  37. package/dist/commands/memory.js +70 -12
  38. package/dist/commands/memory.js.map +1 -1
  39. package/dist/commands/provenance.d.ts.map +1 -1
  40. package/dist/commands/provenance.js +66 -14
  41. package/dist/commands/provenance.js.map +1 -1
  42. package/dist/commands/runs.d.ts.map +1 -1
  43. package/dist/commands/runs.js +44 -3
  44. package/dist/commands/runs.js.map +1 -1
  45. package/dist/commands/tools.d.ts.map +1 -1
  46. package/dist/commands/tools.js +28 -38
  47. package/dist/commands/tools.js.map +1 -1
  48. package/dist/commands/unwired.d.ts +4 -2
  49. package/dist/commands/unwired.d.ts.map +1 -1
  50. package/dist/commands/unwired.js +38 -11
  51. package/dist/commands/unwired.js.map +1 -1
  52. package/dist/context.d.ts +3 -3
  53. package/dist/context.d.ts.map +1 -1
  54. package/dist/dev/defaults.d.ts +16 -7
  55. package/dist/dev/defaults.d.ts.map +1 -1
  56. package/dist/dev/defaults.js +125 -34
  57. package/dist/dev/defaults.js.map +1 -1
  58. package/dist/dev/python-builder.d.ts +10 -1
  59. package/dist/dev/python-builder.d.ts.map +1 -1
  60. package/dist/dev/python-builder.js +21 -6
  61. package/dist/dev/python-builder.js.map +1 -1
  62. package/dist/dev/runners.d.ts +2 -0
  63. package/dist/dev/runners.d.ts.map +1 -1
  64. package/dist/dev/runtime-image.d.ts +1 -1
  65. package/dist/dev/runtime-image.js +1 -1
  66. package/dist/dev/shared-watch.d.ts +25 -0
  67. package/dist/dev/shared-watch.d.ts.map +1 -0
  68. package/dist/dev/shared-watch.js +111 -0
  69. package/dist/dev/shared-watch.js.map +1 -0
  70. package/dist/errors.js +2 -2
  71. package/dist/errors.js.map +1 -1
  72. package/dist/help.js +1 -1
  73. package/dist/help.js.map +1 -1
  74. package/dist/parse.d.ts +3 -1
  75. package/dist/parse.d.ts.map +1 -1
  76. package/dist/parse.js.map +1 -1
  77. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +1 -1
  78. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
  79. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +1 -1
  80. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
  81. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +1 -1
  82. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +1 -1
  83. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
  84. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +3 -3
  85. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +1 -1
  86. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
  87. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +1 -1
  88. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +1 -1
  89. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +1 -1
  90. package/dist/stop-signal.d.ts +41 -7
  91. package/dist/stop-signal.d.ts.map +1 -1
  92. package/dist/stop-signal.js +39 -4
  93. package/dist/stop-signal.js.map +1 -1
  94. package/package.json +11 -11
@@ -0,0 +1,118 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ import { SCOPE_FLAGS, SCOPE_USAGE, scopeCell, scopeFrom } from './agents.js';
4
+ import { integerFlag, readJsonInput, requiredPositional, runSdk, stringFlag, } from './helpers.js';
5
+ /** `kindgi gate-policies`: what a promotion of an agent must show before a version goes live. */
6
+ const TABLE = {
7
+ rows: (page) => page.data,
8
+ columns: [
9
+ { header: 'ID', get: (p) => p.id },
10
+ { header: 'VERSION', get: (p) => p.version },
11
+ { header: 'AGENT', get: (p) => p.agentId },
12
+ { header: 'SCOPE', get: (p) => scopeCell(p.scope) },
13
+ { header: 'UNREGISTERED', get: (p) => p.unregisteredAt ?? '' },
14
+ ],
15
+ };
16
+ const list = {
17
+ kind: 'leaf',
18
+ name: 'list',
19
+ description: "List gate policies (each one's latest active version), for an agent or a scope.",
20
+ usage: `kindgi gate-policies list [--agent=<agent-id>] [${SCOPE_USAGE}] [--limit=<n>] [--cursor=<cursor>] [--table]`,
21
+ optionSpec: {
22
+ agent: { type: 'string', description: 'Only the policies gating this agent.' },
23
+ ...SCOPE_FLAGS,
24
+ limit: { type: 'string', description: 'Page size.' },
25
+ cursor: { type: 'string', description: 'The next page, from `nextCursor`.' },
26
+ },
27
+ run: (ctx) => runSdk(ctx, 'gate-policies list', async () => {
28
+ const agentId = stringFlag(ctx, 'agent');
29
+ const scope = scopeFrom(ctx, false);
30
+ const limit = integerFlag(ctx, 'limit');
31
+ const cursor = stringFlag(ctx, 'cursor');
32
+ return await ctx.client().gatePolicies.list({
33
+ ...(agentId !== undefined && { agentId }),
34
+ ...(scope !== undefined && { scope }),
35
+ ...(limit !== undefined && { limit }),
36
+ ...(cursor !== undefined && { cursor }),
37
+ });
38
+ }, TABLE),
39
+ };
40
+ const show = {
41
+ kind: 'leaf',
42
+ name: 'show',
43
+ description: "Show a gate policy's latest active version, or one version.",
44
+ usage: 'kindgi gate-policies show <policy-id> [<version>]',
45
+ run: (ctx) => runSdk(ctx, 'gate-policies show', async () => {
46
+ const id = requiredPositional(ctx, 0, 'policy-id');
47
+ const version = ctx.positionals[1];
48
+ return version === undefined
49
+ ? await ctx.client().gatePolicies.get(id)
50
+ : await ctx.client().gatePolicies.versions.get(id, version);
51
+ }),
52
+ };
53
+ const versions = {
54
+ kind: 'leaf',
55
+ name: 'versions',
56
+ description: "List a gate policy's versions, unregistered ones too.",
57
+ usage: 'kindgi gate-policies versions <policy-id> [--table]',
58
+ run: (ctx) => runSdk(ctx, 'gate-policies versions', async () => await ctx.client().gatePolicies.versions.list(requiredPositional(ctx, 0, 'policy-id')), TABLE),
59
+ };
60
+ const publish = {
61
+ kind: 'leaf',
62
+ name: 'publish',
63
+ description: 'Publish a gate policy, or a new version of one: what a promotion of the agent for the scope must show (the spec: comparison, evidence, metrics, replay, approvals). Needs admin on the tenant.',
64
+ usage: `kindgi gate-policies publish <policy-id> --policy-version=<semver> --agent=<agent-id> ${SCOPE_USAGE} --spec='<json>'|@<file> [--description=<text>]`,
65
+ optionSpec: {
66
+ 'policy-version': { type: 'string', description: 'The version to publish (semver).' },
67
+ agent: { type: 'string', description: 'The agent the policy gates.' },
68
+ ...SCOPE_FLAGS,
69
+ spec: { type: 'string', description: 'The checks, as JSON, inline or `@<file>`.' },
70
+ description: { type: 'string', description: 'What the policy is for.' },
71
+ },
72
+ run: (ctx) => runSdk(ctx, 'gate-policies publish', async () => {
73
+ const id = requiredPositional(ctx, 0, 'policy-id');
74
+ const version = required(ctx, 'policy-version');
75
+ const agentId = required(ctx, 'agent');
76
+ const spec = await readJsonInput(required(ctx, 'spec'));
77
+ const description = stringFlag(ctx, 'description');
78
+ return await ctx.client().gatePolicies.publish({
79
+ id,
80
+ version,
81
+ agentId,
82
+ scope: scopeFrom(ctx, true),
83
+ spec: spec,
84
+ ...(description !== undefined && { description }),
85
+ });
86
+ }),
87
+ };
88
+ const unregister = {
89
+ kind: 'leaf',
90
+ name: 'unregister',
91
+ description: "Unregister a gate policy version: the policy's latest remaining active version applies, or the scope above's policy.",
92
+ usage: 'kindgi gate-policies unregister <policy-id> <version>',
93
+ run: (ctx) => runSdk(ctx, 'gate-policies unregister', async () => ctx
94
+ .client()
95
+ .gatePolicies.versions.unregister(requiredPositional(ctx, 0, 'policy-id'), requiredPositional(ctx, 1, 'version'))),
96
+ };
97
+ const reinstate = {
98
+ kind: 'leaf',
99
+ name: 'reinstate',
100
+ description: 'Reinstate an unregistered gate policy version.',
101
+ usage: 'kindgi gate-policies reinstate <policy-id> <version>',
102
+ run: (ctx) => runSdk(ctx, 'gate-policies reinstate', async () => ctx
103
+ .client()
104
+ .gatePolicies.versions.reinstate(requiredPositional(ctx, 0, 'policy-id'), requiredPositional(ctx, 1, 'version'))),
105
+ };
106
+ function required(ctx, flag) {
107
+ const value = stringFlag(ctx, flag);
108
+ if (value === undefined)
109
+ throw new Error(`--${flag} is required`);
110
+ return value;
111
+ }
112
+ export const gatePoliciesCommand = {
113
+ kind: 'group',
114
+ name: 'gate-policies',
115
+ description: 'Gate policies: what a promotion of an agent must show before a version goes live for a scope (list / show / versions / publish / unregister / reinstate).',
116
+ subcommands: [list, show, versions, publish, unregister, reinstate],
117
+ };
118
+ //# sourceMappingURL=gate-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-policies.js","sourceRoot":"","sources":["../../src/commands/gate-policies.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,14 @@ export declare function readJsonInput(spec: string): Promise<unknown>;
38
38
  export declare function requiredPositional(ctx: CommandContext, index: number, label: string): string;
39
39
  /** Extract an optional string flag. */
40
40
  export declare function stringFlag(ctx: CommandContext, name: string): string | undefined;
41
+ /**
42
+ * A repeatable `--<name>=key:value` flag (default `--segment`): a segment
43
+ * path, in order (coarse to fine).
44
+ */
45
+ export declare function segmentsFlag(ctx: CommandContext, name?: string): readonly {
46
+ readonly key: string;
47
+ readonly value: string;
48
+ }[];
41
49
  /**
42
50
  * The project a command writes into: `--project=<id>`, or the tenant's
43
51
  * Default project when the flag is absent.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAA2B,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,IAAI,EAAE,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EACzC,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC,CAUxB;AAWD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,GACnB,aAAa,CAGf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAMtD;AAED,uFAAuF;AACvF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM5F;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGhF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAIpE;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQjF"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAA2B,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,IAAI,EAAE,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EACzC,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC,CAUxB;AAWD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,GACnB,aAAa,CAGf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAMtD;AAED,uFAAuF;AACvF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM5F;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGhF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,SAAY,GACf,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAQ7D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAIpE;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQjF"}
@@ -89,6 +89,19 @@ export function stringFlag(ctx, name) {
89
89
  const raw = ctx.options[name];
90
90
  return typeof raw === 'string' && raw !== '' ? raw : undefined;
91
91
  }
92
+ /**
93
+ * A repeatable `--<name>=key:value` flag (default `--segment`): a segment
94
+ * path, in order (coarse to fine).
95
+ */
96
+ export function segmentsFlag(ctx, name = 'segment') {
97
+ return listFlag(ctx, name).map((raw) => {
98
+ const at = raw.indexOf(':');
99
+ if (at <= 0 || at === raw.length - 1) {
100
+ throw new Error(`--${name} must be key:value, got "${raw}"`);
101
+ }
102
+ return { key: raw.slice(0, at), value: raw.slice(at + 1) };
103
+ });
104
+ }
92
105
  /**
93
106
  * The project a command writes into: `--project=<id>`, or the tenant's
94
107
  * Default project when the flag is absent.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,aAAa,EAAE,SAAS,OAAO,EAuC3C,CAAC;AAEF,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,aAAa,EAAE,SAAS,OAAO,EAwC3C,CAAC;AAEF,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO/C"}
@@ -16,6 +16,7 @@ import { evalRunsCommand } from './eval-runs.js';
16
16
  import { evalSuitesCommand } from './eval-suites.js';
17
17
  import { feedbackCommand } from './feedback.js';
18
18
  import { flowsCommand } from './flows.js';
19
+ import { gatePoliciesCommand } from './gate-policies.js';
19
20
  import { guardrailsCommand } from './guardrails.js';
20
21
  import { healthCommand } from './health.js';
21
22
  import { initCommand } from './init.js';
@@ -68,6 +69,7 @@ export const ROOT_COMMANDS = [
68
69
  evalRunsCommand,
69
70
  evalSuitesCommand,
70
71
  blocksCommand,
72
+ gatePoliciesCommand,
71
73
  tokensCommand,
72
74
  capabilitiesCommand,
73
75
  providersCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"judge-classes.d.ts","sourceRoot":"","sources":["../../src/commands/judge-classes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAwIvD,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC"}
1
+ {"version":3,"file":"judge-classes.d.ts","sourceRoot":"","sources":["../../src/commands/judge-classes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AA0MvD,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- import { integerFlag, requiredPositional, runSdk, stringFlag } from './helpers.js';
3
+ import { integerFlag, listFlag, requiredPositional, runSdk, stringFlag } from './helpers.js';
4
4
  const SCOPE_FLAGS = {
5
5
  tenant: { type: 'boolean', description: 'The whole tenant.' },
6
6
  project: {
@@ -30,6 +30,48 @@ function scopeFromFlags(ctx, required) {
30
30
  throw new Error('Give a scope: --tenant, --project=<id>, or --agent=<id> --project=<id>');
31
31
  return undefined;
32
32
  }
33
+ const REVIEWER_ROLES = ['standard', 'senior', 'admin'];
34
+ const PRINCIPAL_KINDS = ['user', 'service'];
35
+ const ASSERTABLE_FLAGS = {
36
+ 'min-reviewer-role': {
37
+ type: 'string',
38
+ description: `Only reviewers of this role or above may assert the class: ${REVIEWER_ROLES.join(', ')}.`,
39
+ },
40
+ 'principal-kind': {
41
+ type: 'string',
42
+ multiple: true,
43
+ description: 'Only people (`user`) or service tokens (`service`) may assert the class. Repeat the flag for both.',
44
+ },
45
+ 'principal-id': {
46
+ type: 'string',
47
+ multiple: true,
48
+ description: 'Only this user or token id may assert the class. Repeat the flag for several.',
49
+ },
50
+ };
51
+ const ASSERTABLE_USAGE = '[--min-reviewer-role=standard|senior|admin] [--principal-kind=user|service ...] [--principal-id=<id> ...]';
52
+ /** Who may assert a class, from the flags; `undefined` when none is given. */
53
+ function assertableByFromFlags(ctx) {
54
+ const role = stringFlag(ctx, 'min-reviewer-role');
55
+ if (role !== undefined && !REVIEWER_ROLES.includes(role)) {
56
+ throw new Error(`--min-reviewer-role must be one of ${REVIEWER_ROLES.join(', ')}, got "${role}"`);
57
+ }
58
+ const kinds = listFlag(ctx, 'principal-kind');
59
+ for (const kind of kinds) {
60
+ if (!PRINCIPAL_KINDS.includes(kind)) {
61
+ throw new Error(`--principal-kind must be user or service, got "${kind}"`);
62
+ }
63
+ }
64
+ const ids = listFlag(ctx, 'principal-id');
65
+ if (role === undefined && kinds.length === 0 && ids.length === 0)
66
+ return undefined;
67
+ return {
68
+ ...(role !== undefined && {
69
+ minReviewerRole: role,
70
+ }),
71
+ ...(kinds.length > 0 && { principalKinds: kinds }),
72
+ ...(ids.length > 0 && { principalIds: ids }),
73
+ };
74
+ }
33
75
  function weightFlag(ctx) {
34
76
  const raw = stringFlag(ctx, 'weight');
35
77
  if (raw === undefined)
@@ -66,8 +108,8 @@ const list = {
66
108
  const add = {
67
109
  kind: 'leaf',
68
110
  name: 'add',
69
- description: 'Add a judge class: a named kind of judge with a weight, for the tenant, a project, or an agent.',
70
- usage: 'kindgi judge-classes add --name=<name> --weight=<w> (--tenant | --project=<id> | --agent=<id> --project=<id>) [--description=<text>]',
111
+ description: 'Add a judge class: a named kind of judge with a weight, for the tenant, a project, or an agent. The restriction flags limit who may assert it; without them, anyone who may judge the run may.',
112
+ usage: `kindgi judge-classes add --name=<name> --weight=<w> (--tenant | --project=<id> | --agent=<id> --project=<id>) [--description=<text>] ${ASSERTABLE_USAGE}`,
71
113
  optionSpec: {
72
114
  name: { type: 'string', description: 'The class name, e.g. `expert`. Required.' },
73
115
  weight: {
@@ -76,6 +118,7 @@ const add = {
76
118
  },
77
119
  ...SCOPE_FLAGS,
78
120
  description: { type: 'string', description: 'What the class is for.' },
121
+ ...ASSERTABLE_FLAGS,
79
122
  },
80
123
  run: (ctx) => runSdk(ctx, 'judge-classes add', async () => {
81
124
  const name = stringFlag(ctx, 'name');
@@ -86,33 +129,47 @@ const add = {
86
129
  throw new Error('--weight=<w> is required');
87
130
  const scope = scopeFromFlags(ctx, true);
88
131
  const description = stringFlag(ctx, 'description');
132
+ const assertableBy = assertableByFromFlags(ctx);
89
133
  return await ctx.client().judgeClasses.create({
90
134
  scope,
91
135
  name,
92
136
  weight,
93
137
  ...(description !== undefined && { description }),
138
+ ...(assertableBy !== undefined && { assertableBy }),
94
139
  });
95
140
  }),
96
141
  };
97
142
  const set = {
98
143
  kind: 'leaf',
99
144
  name: 'set',
100
- description: "Change a judge class's weight or description.",
101
- usage: 'kindgi judge-classes set <judge-class-id> [--weight=<w>] [--description=<text>]',
145
+ description: "Change a judge class's weight, description, or who may assert it. The restriction flags replace the class's whole restriction; `--unrestricted` lifts it.",
146
+ usage: `kindgi judge-classes set <judge-class-id> [--weight=<w>] [--description=<text>] [${ASSERTABLE_USAGE} | --unrestricted]`,
102
147
  optionSpec: {
103
148
  weight: { type: 'string', description: 'The new weight, a number of 0 or more.' },
104
149
  description: { type: 'string', description: 'The new description.' },
150
+ ...ASSERTABLE_FLAGS,
151
+ unrestricted: {
152
+ type: 'boolean',
153
+ description: 'Lift the restriction: anyone who may judge the run may assert the class.',
154
+ },
105
155
  },
106
156
  run: (ctx) => runSdk(ctx, 'judge-classes set', async () => {
107
157
  const id = requiredPositional(ctx, 0, 'judge-class-id');
108
158
  const weight = weightFlag(ctx);
109
159
  const description = stringFlag(ctx, 'description');
110
- if (weight === undefined && description === undefined) {
111
- throw new Error('Give --weight and/or --description');
160
+ const restricted = assertableByFromFlags(ctx);
161
+ const unrestricted = ctx.options.unrestricted === true;
162
+ if (restricted !== undefined && unrestricted) {
163
+ throw new Error('--unrestricted cannot be combined with the restriction flags');
164
+ }
165
+ const assertableBy = unrestricted ? null : restricted;
166
+ if (weight === undefined && description === undefined && assertableBy === undefined) {
167
+ throw new Error('Give --weight, --description, a restriction flag, or --unrestricted');
112
168
  }
113
169
  return await ctx.client().judgeClasses.update(id, {
114
170
  ...(weight !== undefined && { weight }),
115
171
  ...(description !== undefined && { description }),
172
+ ...(assertableBy !== undefined && { assertableBy }),
116
173
  });
117
174
  }),
118
175
  };
@@ -1 +1 @@
1
- {"version":3,"file":"judge-classes.js","sourceRoot":"","sources":["../../src/commands/judge-classes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"judge-classes.js","sourceRoot":"","sources":["../../src/commands/judge-classes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAqFvD,eAAO,MAAM,aAAa,EAAE,OAK3B,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAqKvD,eAAO,MAAM,aAAa,EAAE,OAK3B,CAAC"}
@@ -1,42 +1,100 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- import { requiredPositional, runSdk, throwUnwired } from './helpers.js';
3
+ import { integerFlag, readJsonInput, requiredPositional, runSdk, stringFlag, throwUnwired, truncateCell, } from './helpers.js';
4
+ /** `memory facts list --table`. */
5
+ const FACTS_TABLE = {
6
+ rows: (page) => page.data,
7
+ columns: [
8
+ { header: 'ID', get: (f) => String(f.id) },
9
+ { header: 'TYPE', get: (f) => f.type },
10
+ { header: 'VERSION', get: (f) => String(f.version) },
11
+ { header: 'CREATED', get: (f) => String(f.createdAt) },
12
+ {
13
+ header: 'CONTENT',
14
+ get: (f) => (f.content !== undefined ? truncateCell(JSON.stringify(f.content), 60) : ''),
15
+ },
16
+ ],
17
+ };
18
+ /** A JSON object from inline JSON or `@<file>`, or an error naming the flag. */
19
+ async function jsonObjectFlag(text, flag) {
20
+ const value = await readJsonInput(text);
21
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
22
+ throw new Error(`--${flag} must be a JSON object`);
23
+ }
24
+ return value;
25
+ }
4
26
  const factsList = {
5
27
  kind: 'leaf',
6
28
  name: 'list',
7
- description: 'List memory facts.',
8
- usage: 'kindgi memory facts list [--limit=<n>] [--cursor=<c>]',
29
+ description: 'List memory facts, the latest version of each.',
30
+ usage: 'kindgi memory facts list [--type=<type>] [--scope=<json-or-@file>] [--limit=<n>] [--cursor=<c>]',
9
31
  optionSpec: {
32
+ type: { type: 'string', description: 'Only the facts of this type.' },
33
+ scope: {
34
+ type: 'string',
35
+ description: 'Only the facts in this scope, as inline JSON or `@<file>`: any of `userId`, `orgId`, `projectId`, `threadId`, `sessionId`; every key given must match.',
36
+ },
10
37
  limit: { type: 'string', description: 'The most facts to return (default 25, at most 100).' },
11
38
  cursor: {
12
39
  type: 'string',
13
40
  description: "Resume after this cursor, from the previous page's `nextCursor`.",
14
41
  },
15
42
  },
16
- run: (ctx) => runSdk(ctx, 'memory facts list', async () => throwUnwired('memory.facts.list')),
43
+ run: (ctx) => runSdk(ctx, 'memory facts list', async () => {
44
+ const type = stringFlag(ctx, 'type');
45
+ const scopeText = stringFlag(ctx, 'scope');
46
+ const scope = scopeText === undefined ? undefined : await jsonObjectFlag(scopeText, 'scope');
47
+ const limit = integerFlag(ctx, 'limit');
48
+ const cursor = stringFlag(ctx, 'cursor');
49
+ return await ctx.client().memory.facts.list({
50
+ ...(type !== undefined && { type }),
51
+ ...(scope !== undefined && { scope }),
52
+ ...(limit !== undefined && { limit }),
53
+ ...(cursor !== undefined && { cursor: cursor }),
54
+ });
55
+ }, FACTS_TABLE),
17
56
  };
18
57
  const factsGet = {
19
58
  kind: 'leaf',
20
59
  name: 'get',
21
- description: 'Fetch a memory fact by id.',
60
+ description: 'A memory fact by id, its latest version.',
22
61
  usage: 'kindgi memory facts get <fact-id>',
23
62
  run: (ctx) => runSdk(ctx, 'memory facts get', async () => {
24
- requiredPositional(ctx, 0, 'fact-id');
25
- throwUnwired('memory.facts.get');
63
+ const id = requiredPositional(ctx, 0, 'fact-id');
64
+ return await ctx.client().memory.facts.read(id);
26
65
  }),
27
66
  };
28
67
  const factsWrite = {
29
68
  kind: 'leaf',
30
69
  name: 'write',
31
- description: 'Write a memory fact.',
70
+ description: 'Write a memory fact. Prints it, with the id and version the server gave it.',
32
71
  usage: 'kindgi memory facts write --input=<json-or-@file>',
33
72
  optionSpec: {
34
73
  input: {
35
74
  type: 'string',
36
- description: 'The fact as inline JSON or `@<file>`: its `type`, `scope` and `content`, and optionally `retention`.',
75
+ description: 'The fact as inline JSON or `@<file>`: its `type` and `content`, and optionally `scope` (default: your tenant; narrow it with `userId`, `orgId`, `projectId`, `threadId`, `sessionId`) and `retention` (`keepDays`, `keepUntil`, `legalHold`). Required.',
37
76
  },
38
77
  },
39
- run: (ctx) => runSdk(ctx, 'memory facts write', async () => throwUnwired('memory.facts.write')),
78
+ run: (ctx) => runSdk(ctx, 'memory facts write', async () => {
79
+ const inputText = stringFlag(ctx, 'input');
80
+ if (inputText === undefined)
81
+ throw new Error('--input=<json-or-@file> is required');
82
+ const input = (await jsonObjectFlag(inputText, 'input'));
83
+ const scope = input.scope ?? {};
84
+ if (scope === null || typeof scope !== 'object' || Array.isArray(scope)) {
85
+ throw new Error('--input `scope` must be a JSON object');
86
+ }
87
+ const client = ctx.client();
88
+ // The API asks for the scope's tenant, which can only be the caller's.
89
+ const tenantId = scope.tenantId ?? (await client.identity.whoami()).tenantId;
90
+ // `type` and `content` are the server's to check.
91
+ return await client.memory.facts.write({
92
+ ...input,
93
+ type: input.type,
94
+ content: input.content,
95
+ scope: { ...scope, tenantId },
96
+ });
97
+ }),
40
98
  };
41
99
  const factsSupersede = {
42
100
  kind: 'leaf',
@@ -70,13 +128,13 @@ const factsRetrieve = {
70
128
  const factsGroup = {
71
129
  kind: 'group',
72
130
  name: 'facts',
73
- description: 'Memory facts.',
131
+ description: 'Memory facts: list, get, write.',
74
132
  subcommands: [factsList, factsGet, factsWrite, factsSupersede, factsRetrieve],
75
133
  };
76
134
  export const memoryCommand = {
77
135
  kind: 'group',
78
136
  name: 'memory',
79
- description: 'Manage the memory subsystem.',
137
+ description: 'Memory: the facts agents remember, by type and scope.',
80
138
  subcommands: [factsGroup],
81
139
  };
82
140
  //# sourceMappingURL=memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAmDvD,eAAO,MAAM,iBAAiB,EAAE,OAK/B,CAAC"}
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AA8GvD,eAAO,MAAM,iBAAiB,EAAE,OAK/B,CAAC"}