@kindgi/cli 0.1.0 → 0.1.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 (151) hide show
  1. package/README.md +79 -22
  2. package/dist/build/bundle.d.ts +5 -2
  3. package/dist/build/bundle.d.ts.map +1 -1
  4. package/dist/build/bundle.js +8 -4
  5. package/dist/build/bundle.js.map +1 -1
  6. package/dist/build/containerfile.d.ts.map +1 -1
  7. package/dist/build/containerfile.js +1 -0
  8. package/dist/build/containerfile.js.map +1 -1
  9. package/dist/build/defaults.d.ts +3 -3
  10. package/dist/build/defaults.d.ts.map +1 -1
  11. package/dist/build/defaults.js +20 -12
  12. package/dist/build/defaults.js.map +1 -1
  13. package/dist/build/host-install.d.ts +52 -0
  14. package/dist/build/host-install.d.ts.map +1 -1
  15. package/dist/build/host-install.js +68 -0
  16. package/dist/build/host-install.js.map +1 -1
  17. package/dist/build/python-image.d.ts +2 -0
  18. package/dist/build/python-image.d.ts.map +1 -1
  19. package/dist/build/python-image.js +12 -1
  20. package/dist/build/python-image.js.map +1 -1
  21. package/dist/build/runners.d.ts +6 -5
  22. package/dist/build/runners.d.ts.map +1 -1
  23. package/dist/commands/auth.d.ts +22 -0
  24. package/dist/commands/auth.d.ts.map +1 -1
  25. package/dist/commands/auth.js +197 -2
  26. package/dist/commands/auth.js.map +1 -1
  27. package/dist/commands/build.d.ts +7 -0
  28. package/dist/commands/build.d.ts.map +1 -1
  29. package/dist/commands/build.js +73 -42
  30. package/dist/commands/build.js.map +1 -1
  31. package/dist/commands/dev.d.ts +1 -2
  32. package/dist/commands/dev.d.ts.map +1 -1
  33. package/dist/commands/dev.js +136 -58
  34. package/dist/commands/dev.js.map +1 -1
  35. package/dist/commands/helpers.d.ts +14 -3
  36. package/dist/commands/helpers.d.ts.map +1 -1
  37. package/dist/commands/helpers.js +20 -3
  38. package/dist/commands/helpers.js.map +1 -1
  39. package/dist/commands/init.d.ts.map +1 -1
  40. package/dist/commands/init.js +2 -3
  41. package/dist/commands/init.js.map +1 -1
  42. package/dist/commands/key.d.ts.map +1 -1
  43. package/dist/commands/key.js +143 -11
  44. package/dist/commands/key.js.map +1 -1
  45. package/dist/commands/providers.d.ts.map +1 -1
  46. package/dist/commands/providers.js +11 -1
  47. package/dist/commands/providers.js.map +1 -1
  48. package/dist/commands/runs.d.ts.map +1 -1
  49. package/dist/commands/runs.js +17 -15
  50. package/dist/commands/runs.js.map +1 -1
  51. package/dist/commands/secrets.d.ts +1 -4
  52. package/dist/commands/secrets.d.ts.map +1 -1
  53. package/dist/commands/secrets.js +7 -55
  54. package/dist/commands/secrets.js.map +1 -1
  55. package/dist/commands/test.js +1 -1
  56. package/dist/commands/test.js.map +1 -1
  57. package/dist/commands/tools.d.ts.map +1 -1
  58. package/dist/commands/tools.js +11 -2
  59. package/dist/commands/tools.js.map +1 -1
  60. package/dist/commands/unwired.d.ts +5 -0
  61. package/dist/commands/unwired.d.ts.map +1 -1
  62. package/dist/commands/unwired.js +11 -0
  63. package/dist/commands/unwired.js.map +1 -1
  64. package/dist/context.d.ts +9 -0
  65. package/dist/context.d.ts.map +1 -1
  66. package/dist/context.js +1 -0
  67. package/dist/context.js.map +1 -1
  68. package/dist/dev/bundler.d.ts +2 -0
  69. package/dist/dev/bundler.d.ts.map +1 -1
  70. package/dist/dev/bundler.js +91 -10
  71. package/dist/dev/bundler.js.map +1 -1
  72. package/dist/dev/defaults.d.ts +8 -6
  73. package/dist/dev/defaults.d.ts.map +1 -1
  74. package/dist/dev/defaults.js +78 -60
  75. package/dist/dev/defaults.js.map +1 -1
  76. package/dist/dev/dev-only-imports.d.ts +15 -0
  77. package/dist/dev/dev-only-imports.d.ts.map +1 -0
  78. package/dist/dev/dev-only-imports.js +57 -0
  79. package/dist/dev/dev-only-imports.js.map +1 -0
  80. package/dist/dev/docker-compose.dev.yml +19 -7
  81. package/dist/dev/pack-service.d.ts +8 -0
  82. package/dist/dev/pack-service.d.ts.map +1 -1
  83. package/dist/dev/pack-service.js +1 -0
  84. package/dist/dev/pack-service.js.map +1 -1
  85. package/dist/dev/postgres-container.d.ts +77 -0
  86. package/dist/dev/postgres-container.d.ts.map +1 -0
  87. package/dist/dev/postgres-container.js +346 -0
  88. package/dist/dev/postgres-container.js.map +1 -0
  89. package/dist/dev/runners.d.ts +36 -11
  90. package/dist/dev/runners.d.ts.map +1 -1
  91. package/dist/dev/runtime-container.d.ts +11 -2
  92. package/dist/dev/runtime-container.d.ts.map +1 -1
  93. package/dist/dev/runtime-container.js +16 -7
  94. package/dist/dev/runtime-container.js.map +1 -1
  95. package/dist/dev/runtime-image.d.ts +15 -2
  96. package/dist/dev/runtime-image.d.ts.map +1 -1
  97. package/dist/dev/runtime-image.js +31 -2
  98. package/dist/dev/runtime-image.js.map +1 -1
  99. package/dist/dev/runtime-registry.d.ts +73 -0
  100. package/dist/dev/runtime-registry.d.ts.map +1 -0
  101. package/dist/dev/runtime-registry.js +111 -0
  102. package/dist/dev/runtime-registry.js.map +1 -0
  103. package/dist/errors.d.ts.map +1 -1
  104. package/dist/errors.js +5 -1
  105. package/dist/errors.js.map +1 -1
  106. package/dist/init/augment-scaffolder.d.ts +12 -0
  107. package/dist/init/augment-scaffolder.d.ts.map +1 -1
  108. package/dist/init/augment-scaffolder.js +93 -14
  109. package/dist/init/augment-scaffolder.js.map +1 -1
  110. package/dist/init/pnpm-workspace-patcher.d.ts +55 -0
  111. package/dist/init/pnpm-workspace-patcher.d.ts.map +1 -0
  112. package/dist/init/pnpm-workspace-patcher.js +248 -0
  113. package/dist/init/pnpm-workspace-patcher.js.map +1 -0
  114. package/dist/init/template-files.d.ts +2 -0
  115. package/dist/init/template-files.d.ts.map +1 -1
  116. package/dist/init/template-files.js +16 -1
  117. package/dist/init/template-files.js.map +1 -1
  118. package/dist/main.d.ts +7 -0
  119. package/dist/main.d.ts.map +1 -1
  120. package/dist/main.js +1 -0
  121. package/dist/main.js.map +1 -1
  122. package/dist/parse.d.ts +6 -0
  123. package/dist/parse.d.ts.map +1 -1
  124. package/dist/parse.js +1 -0
  125. package/dist/parse.js.map +1 -1
  126. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +3 -4
  127. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +12 -9
  128. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +21 -9
  129. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
  130. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +10 -9
  131. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +26 -5
  132. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
  133. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +58 -8
  134. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +1 -1
  135. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +12 -9
  136. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +10 -7
  137. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +8 -2
  138. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +37 -4
  139. package/dist/templates/minimal/package.json.tmpl +1 -1
  140. package/dist/templates/minimal/pnpm-workspace.yaml +6 -4
  141. package/dist/templates/sample/guardrails/response-not-empty/index.ts.tmpl +14 -6
  142. package/dist/templates/sample/package.json.tmpl +1 -1
  143. package/dist/templates/sample/pnpm-workspace.yaml +6 -4
  144. package/dist/terminal-input.d.ts +17 -0
  145. package/dist/terminal-input.d.ts.map +1 -0
  146. package/dist/terminal-input.js +88 -0
  147. package/dist/terminal-input.js.map +1 -0
  148. package/package.json +13 -12
  149. /package/dist/templates/minimal/{.gitignore → gitignore} +0 -0
  150. /package/dist/templates/python/{.gitignore → gitignore} +0 -0
  151. /package/dist/templates/sample/{.gitignore → gitignore} +0 -0
@@ -0,0 +1,88 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ /**
4
+ * Reading a secret from the person at the terminal (a hidden prompt) or
5
+ * from stdin: the value of `kindgi secrets set`, the registry token of
6
+ * `kindgi auth registry`. Nothing here echoes or logs what it reads.
7
+ */
8
+ import { EOL } from 'node:os';
9
+ import * as readline from 'node:readline';
10
+ /** The person cancelled a prompt (Ctrl+C, or Ctrl+D): no answer, not an empty one. */
11
+ export class PromptCancelled extends Error {
12
+ constructor() {
13
+ super('Cancelled.');
14
+ this.name = 'PromptCancelled';
15
+ }
16
+ }
17
+ /** Whether stdin is a terminal, so a hidden prompt can read from it. */
18
+ export function stdinIsTty() {
19
+ return Boolean(process.stdin.isTTY);
20
+ }
21
+ export function stripTrailingNewline(s) {
22
+ if (s.endsWith(EOL))
23
+ return s.slice(0, -EOL.length);
24
+ if (s.endsWith('\n'))
25
+ return s.slice(0, -1);
26
+ return s;
27
+ }
28
+ export async function readStdinToEnd() {
29
+ const chunks = [];
30
+ for await (const chunk of process.stdin) {
31
+ chunks.push(chunk);
32
+ }
33
+ return Buffer.concat(chunks).toString('utf8');
34
+ }
35
+ /** The hidden prompt on the real terminal: the prompt on stderr, keystrokes from stdin. */
36
+ export function realTtySeam() {
37
+ const rl = readline.createInterface({
38
+ input: process.stdin,
39
+ output: process.stderr,
40
+ terminal: true,
41
+ });
42
+ // Silence output while user types. `readline` doesn't expose a
43
+ // built-in "no-echo" mode; the standard trick is to override the
44
+ // internal `_writeToOutput` on the interface. This is portable
45
+ // enough across Node 22.x + prints only the prompt itself.
46
+ const rlAny = rl;
47
+ return {
48
+ promptHidden: (prompt) => new Promise((resolve, reject) => {
49
+ const originalWrite = rlAny._writeToOutput;
50
+ const done = () => {
51
+ rl.off('SIGINT', cancel);
52
+ rl.off('close', cancel);
53
+ if (originalWrite !== undefined) {
54
+ rlAny._writeToOutput = originalWrite;
55
+ }
56
+ else {
57
+ // biome-ignore lint/performance/noDelete: readline distinguishes missing property from undefined
58
+ delete rlAny._writeToOutput;
59
+ }
60
+ (rlAny.output ?? process.stderr).write('\n');
61
+ };
62
+ // Ctrl+C in a raw-mode prompt reaches readline, not the process:
63
+ // without these, readline closes, the answer never comes, and the
64
+ // process exits 0 as if nothing went wrong.
65
+ const cancel = () => {
66
+ done();
67
+ reject(new PromptCancelled());
68
+ };
69
+ rl.once('SIGINT', cancel);
70
+ rl.once('close', cancel);
71
+ rlAny._writeToOutput = function overrideWrite(str) {
72
+ // Write only the prompt itself (rl.question emits the
73
+ // prompt via the same channel); swallow keystrokes.
74
+ if (str === prompt) {
75
+ (rlAny.output ?? process.stderr).write(str);
76
+ }
77
+ };
78
+ rl.question(prompt, (answer) => {
79
+ done();
80
+ resolve(answer);
81
+ });
82
+ }),
83
+ close: () => {
84
+ rl.close();
85
+ },
86
+ };
87
+ }
88
+ //# sourceMappingURL=terminal-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-input.js","sourceRoot":"","sources":["../src/terminal-input.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.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": {
@@ -21,7 +21,8 @@
21
21
  "exports": {
22
22
  ".": {
23
23
  "types": "./dist/index.d.ts",
24
- "import": "./dist/index.js"
24
+ "import": "./dist/index.js",
25
+ "default": "./dist/index.js"
25
26
  }
26
27
  },
27
28
  "files": [
@@ -29,22 +30,22 @@
29
30
  "README.md"
30
31
  ],
31
32
  "engines": {
32
- "node": ">=22.0.0"
33
+ "node": ">=22.12.0"
33
34
  },
34
35
  "publishConfig": {
35
36
  "access": "public",
36
37
  "provenance": true
37
38
  },
38
39
  "dependencies": {
39
- "@kindgi/client": "0.1.0",
40
- "@kindgi/dotenv-file": "0.1.0",
41
- "@kindgi/crypto": "0.1.0",
42
- "@kindgi/env-schema": "0.1.0",
43
- "@kindgi/handler-runtime": "0.1.0",
44
- "@kindgi/secrets-dotenv": "0.1.0",
45
- "@kindgi/platform": "0.1.0",
46
- "@kindgi/sdk": "0.1.0",
47
- "@kindgi/types": "0.1.0",
40
+ "@kindgi/client": "0.1.2",
41
+ "@kindgi/dotenv-file": "0.1.2",
42
+ "@kindgi/crypto": "0.1.2",
43
+ "@kindgi/env-schema": "0.1.2",
44
+ "@kindgi/handler-runtime": "0.1.2",
45
+ "@kindgi/secrets-dotenv": "0.1.2",
46
+ "@kindgi/platform": "0.1.2",
47
+ "@kindgi/sdk": "0.1.2",
48
+ "@kindgi/types": "0.1.2",
48
49
  "esbuild": "^0.24.0",
49
50
  "semver": "^7.8.5",
50
51
  "smol-toml": "^1.9.0",
File without changes
File without changes