@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,111 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ /**
4
+ * One recursive watch per directory, shared by every watcher under it in
5
+ * this process.
6
+ *
7
+ * On macOS every `fs.watch` handle joins one FSEvents stream, and libuv
8
+ * rebuilds that stream on every close but the last, holding the event
9
+ * loop meanwhile. `kindgi dev` watched a pack with five handles (a
10
+ * recursive one per discovery root, one for the env files' folder), and
11
+ * closing them took 5 to 35 s; one handle closes in milliseconds. FSEvents
12
+ * watches a tree of any size at the same cost, so on macOS a pack's
13
+ * watchers share one handle on its directory, each filtering the events
14
+ * itself. Not on Linux by default: there a recursive watch adds an inotify
15
+ * watch per folder, `node_modules` included.
16
+ *
17
+ * `kindgi dev` subscribes once, at boot, for the whole session, so the
18
+ * handle opens and closes once.
19
+ */
20
+ import { realpathSync } from 'node:fs';
21
+ import { resolve, sep } from 'node:path';
22
+ /** Whether a pack's watchers share one watch unless told otherwise: on macOS (FSEvents). */
23
+ export const SHARE_WATCH_BY_DEFAULT = process.platform === 'darwin';
24
+ const registries = new WeakMap();
25
+ /** The shared watches made with `watch` (one registry per events source, so tests stay apart). */
26
+ export function directoryWatches(watch) {
27
+ let registry = registries.get(watch);
28
+ if (registry === undefined) {
29
+ registry = createDirectoryWatches(watch);
30
+ registries.set(watch, registry);
31
+ }
32
+ return registry;
33
+ }
34
+ function createDirectoryWatches(watch) {
35
+ const open = new Map();
36
+ /** Hand each event to every subscriber; one that throws never stops the others. */
37
+ const deliver = (shared, relPath) => {
38
+ for (const subscriber of [...shared.subscribers]) {
39
+ try {
40
+ subscriber.onEvent(relPath);
41
+ }
42
+ catch {
43
+ // The subscriber's own failure stays its own.
44
+ }
45
+ }
46
+ };
47
+ /** Every subscriber hears a failure once; the next subscribe opens a new watch. */
48
+ const fail = (key, shared, error) => {
49
+ if (open.get(key) === shared)
50
+ open.delete(key);
51
+ for (const subscriber of [...shared.subscribers]) {
52
+ try {
53
+ subscriber.onError(error);
54
+ }
55
+ catch {
56
+ // As in `deliver`.
57
+ }
58
+ }
59
+ };
60
+ async function consume(key, dir, shared) {
61
+ try {
62
+ for await (const evt of watch(dir, { recursive: true, signal: shared.controller.signal })) {
63
+ deliver(shared, slashed(evt.filename));
64
+ }
65
+ // A watch that ends without an error (its folder removed or renamed)
66
+ // has failed too: nothing would report again.
67
+ if (!shared.controller.signal.aborted) {
68
+ fail(key, shared, new Error(`the watch of ${dir} ended`));
69
+ }
70
+ }
71
+ catch (error) {
72
+ if (!shared.controller.signal.aborted)
73
+ fail(key, shared, error);
74
+ }
75
+ }
76
+ return {
77
+ subscribe(dir, onEvent, onError) {
78
+ const key = canonical(dir);
79
+ let shared = open.get(key);
80
+ if (shared === undefined) {
81
+ shared = { controller: new AbortController(), subscribers: new Set() };
82
+ open.set(key, shared);
83
+ void consume(key, dir, shared);
84
+ }
85
+ const subscriber = { onEvent, onError };
86
+ shared.subscribers.add(subscriber);
87
+ const joined = shared;
88
+ return () => {
89
+ if (!joined.subscribers.delete(subscriber) || joined.subscribers.size > 0)
90
+ return;
91
+ if (open.get(key) === joined)
92
+ open.delete(key);
93
+ joined.controller.abort();
94
+ };
95
+ },
96
+ };
97
+ }
98
+ /** One spelling per folder: its real path, or (a folder not there yet) its resolved one. */
99
+ function canonical(dir) {
100
+ try {
101
+ return realpathSync.native(dir);
102
+ }
103
+ catch {
104
+ return resolve(dir);
105
+ }
106
+ }
107
+ /** An event's file name, `/`-separated, or `undefined` when it names none. */
108
+ function slashed(name) {
109
+ return name === null || name === undefined ? undefined : name.split(sep).join('/');
110
+ }
111
+ //# sourceMappingURL=shared-watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-watch.js","sourceRoot":"","sources":["../../src/dev/shared-watch.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
3
  import { KindgiApiError } from '@kindgi/client';
4
- import { UNWIRED_REASONS } from './commands/unwired.js';
4
+ import { unwiredReason } from './commands/unwired.js';
5
5
  export function cliError(message, exitCode = 1) {
6
6
  return { kind: 'error', exitCode, stderr: `${message}\n` };
7
7
  }
@@ -18,7 +18,7 @@ export function formatThrown(thrown, options) {
18
18
  const label = options.commandLabel.startsWith('kindgi ')
19
19
  ? options.commandLabel
20
20
  : `kindgi ${options.commandLabel}`;
21
- const reason = UNWIRED_REASONS.get(label.slice('kindgi '.length));
21
+ const reason = unwiredReason(label.slice('kindgi '.length).split(' '));
22
22
  return cliError(reason !== undefined
23
23
  ? `Command '${label}' is not available: ${reason}`
24
24
  : `Command '${label}' is not yet wired — SDK method '${wire.method}' is not available in this preview release.`, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/help.js CHANGED
@@ -37,7 +37,7 @@ export function commandHelpText(command, path = [command.name]) {
37
37
  lines.push('Global flags (--json, --url, --token, …): kindgi --help');
38
38
  }
39
39
  else {
40
- lines.push(`Usage: kindgi ${command.name} <subcommand> [args] [flags]`);
40
+ lines.push(`Usage: kindgi ${path.join(' ')} <subcommand> [args] [flags]`);
41
41
  lines.push('');
42
42
  lines.push('Subcommands:');
43
43
  for (const sub of wiredCommands(command.subcommands, path)) {
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.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, string | boolean | undefined>>;
66
+ readonly options: Readonly<Record<string, OptionValue>>;
65
67
  }
66
68
  /**
67
69
  * Parse a token vector against a merged option spec (globals + the
@@ -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,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;CAC1E;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"}
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":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ description: >
13
13
  type: core
14
14
  library: "@kindgi/sdk"
15
15
  version: "0.4.2"
16
- sdk_version: "0.1.4-rc.1"
16
+ sdk_version: "0.1.4-rc.2"
17
17
  pack_languages: [node]
18
18
  sources:
19
19
  - packages/agents/src/types.ts
@@ -14,7 +14,7 @@ description: >
14
14
  type: core
15
15
  library: "@kindgi/sdk"
16
16
  version: "0.1.2"
17
- sdk_version: "0.1.4-rc.1"
17
+ sdk_version: "0.1.4-rc.2"
18
18
  pack_languages: [node]
19
19
  sources:
20
20
  - packages/flow/src/types.ts
@@ -16,7 +16,7 @@ description: >
16
16
  type: core
17
17
  library: "@kindgi/sdk"
18
18
  version: "0.3.6"
19
- sdk_version: "0.1.4-rc.1"
19
+ sdk_version: "0.1.4-rc.2"
20
20
  pack_languages: [node]
21
21
  sources:
22
22
  - packages/guardrails/src/types.ts
@@ -18,7 +18,7 @@ description: >
18
18
  type: core
19
19
  library: "@kindgi/sdk"
20
20
  version: "0.3.0"
21
- sdk_version: "0.1.4-rc.1"
21
+ sdk_version: "0.1.4-rc.2"
22
22
  pack_languages: [node, python]
23
23
  ---
24
24
 
@@ -23,7 +23,7 @@ description: >
23
23
  type: core
24
24
  library: "@kindgi/sdk"
25
25
  version: "0.9.3"
26
- sdk_version: "0.1.4-rc.1"
26
+ sdk_version: "0.1.4-rc.2"
27
27
  pack_languages: [node, python]
28
28
  sources:
29
29
  - packages/adapters/model-anthropic/src/provider.ts
@@ -13,7 +13,7 @@ description: >
13
13
  type: core
14
14
  library: "@kindgi/sdk"
15
15
  version: "0.4.4"
16
- sdk_version: "0.1.4-rc.1"
16
+ sdk_version: "0.1.4-rc.2"
17
17
  pack_languages: [node]
18
18
  sources:
19
19
  - packages/tools/src/types.ts
@@ -15,7 +15,7 @@ description: >
15
15
  type: core
16
16
  library: "@kindgi/sdk"
17
17
  version: "0.4.0"
18
- sdk_version: "0.1.4-rc.1"
18
+ sdk_version: "0.1.4-rc.2"
19
19
  pack_languages: [node, python]
20
20
  ---
21
21
 
@@ -14,8 +14,8 @@ description: >
14
14
  primitive.
15
15
  type: core
16
16
  library: "@kindgi/sdk"
17
- version: "0.3.7"
18
- sdk_version: "0.1.4-rc.1"
17
+ version: "0.3.8"
18
+ sdk_version: "0.1.4-rc.2"
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}`): `.items`, one record per model
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.
@@ -16,7 +16,7 @@ description: >
16
16
  type: core
17
17
  library: "kindgi (Python)"
18
18
  version: "0.1.0"
19
- sdk_version: "0.1.4-rc.1"
19
+ sdk_version: "0.1.4-rc.2"
20
20
  pack_languages: [python]
21
21
  sources:
22
22
  - sdks/python/src/kindgi/pack/define.py
@@ -17,7 +17,7 @@ description: >
17
17
  type: core
18
18
  library: "kindgi (Python)"
19
19
  version: "0.1.1"
20
- sdk_version: "0.1.4-rc.1"
20
+ sdk_version: "0.1.4-rc.2"
21
21
  pack_languages: [python]
22
22
  sources:
23
23
  - sdks/python/src/kindgi/pack/define.py
@@ -15,7 +15,7 @@ description: >
15
15
  type: core
16
16
  library: "kindgi (Python)"
17
17
  version: "0.1.1"
18
- sdk_version: "0.1.4-rc.1"
18
+ sdk_version: "0.1.4-rc.2"
19
19
  pack_languages: [python]
20
20
  sources:
21
21
  - sdks/python/src/kindgi/pack/define.py
@@ -15,7 +15,7 @@ description: >
15
15
  type: core
16
16
  library: "kindgi (Python)"
17
17
  version: "0.1.1"
18
- sdk_version: "0.1.4-rc.1"
18
+ sdk_version: "0.1.4-rc.2"
19
19
  pack_languages: [python]
20
20
  sources:
21
21
  - sdks/python/src/kindgi/pack/define.py
@@ -15,7 +15,7 @@ description: >
15
15
  type: core
16
16
  library: "kindgi (Python)"
17
17
  version: "0.1.5"
18
- sdk_version: "0.1.4-rc.1"
18
+ sdk_version: "0.1.4-rc.2"
19
19
  pack_languages: [python]
20
20
  sources:
21
21
  - sdks/python/README.md
@@ -1,15 +1,49 @@
1
1
  /**
2
- * SIGINT / SIGTERM → an AbortSignal long-lived commands (`kindgi dev`)
3
- * watch to shut down cleanly: close watchers, stop the api-server, tear
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. A second
9
- * signal forces the exit, the usual Ctrl+C-twice contract.
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: 'SIGINT' | 'SIGTERM', listener: () => void): unknown;
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
- export declare function createStopSignal(source: SignalSource, forceExit: (code: number) => void): AbortSignal;
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;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CAChE;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,WAAW,CAYb"}
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"}
@@ -1,16 +1,51 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- export function createStopSignal(source, forceExit) {
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
- const onSignal = () => {
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
@@ -1 +1 @@
1
- {"version":3,"file":"stop-signal.js","sourceRoot":"","sources":["../src/stop-signal.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAiBjC,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,SAAiC;IAEjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/cli",
3
- "version": "0.1.4-rc.1",
3
+ "version": "0.1.4-rc.2",
4
4
  "description": "Command-line interface for Kindgi™ — the sovereign AI OS. Create a pack, run it on your machine (`kindgi dev`), build, sign and deploy it, and work with a running Kindgi API from the terminal.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -37,16 +37,16 @@
37
37
  "provenance": true
38
38
  },
39
39
  "dependencies": {
40
- "@kindgi/client": "0.1.4-rc.1",
41
- "@kindgi/dotenv-file": "0.1.4-rc.1",
42
- "@kindgi/crypto": "0.1.4-rc.1",
43
- "@kindgi/env-schema": "0.1.4-rc.1",
44
- "@kindgi/flow": "0.1.4-rc.1",
45
- "@kindgi/handler-runtime": "0.1.4-rc.1",
46
- "@kindgi/secrets-dotenv": "0.1.4-rc.1",
47
- "@kindgi/platform": "0.1.4-rc.1",
48
- "@kindgi/sdk": "0.1.4-rc.1",
49
- "@kindgi/types": "0.1.4-rc.1",
40
+ "@kindgi/client": "0.1.4-rc.2",
41
+ "@kindgi/dotenv-file": "0.1.4-rc.2",
42
+ "@kindgi/crypto": "0.1.4-rc.2",
43
+ "@kindgi/env-schema": "0.1.4-rc.2",
44
+ "@kindgi/flow": "0.1.4-rc.2",
45
+ "@kindgi/handler-runtime": "0.1.4-rc.2",
46
+ "@kindgi/secrets-dotenv": "0.1.4-rc.2",
47
+ "@kindgi/platform": "0.1.4-rc.2",
48
+ "@kindgi/sdk": "0.1.4-rc.2",
49
+ "@kindgi/types": "0.1.4-rc.2",
50
50
  "esbuild": "^0.24.0",
51
51
  "semver": "^7.8.5",
52
52
  "smol-toml": "^1.9.0",