@holdpoint/cli 0.1.0-alpha.18 → 0.1.0-alpha.19

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.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ initCommand
4
+ } from "./chunk-COPLLMYJ.js";
5
+ export {
6
+ initCommand
7
+ };
8
+ //# sourceMappingURL=init-FNQ5GQBD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/lib/prompt.ts
4
+ import readline from "readline/promises";
5
+ import { stdin, stdout } from "process";
6
+ async function promptYesNo(question, defaultYes = true) {
7
+ if (!stdout.isTTY || !stdin.isTTY) {
8
+ return defaultYes;
9
+ }
10
+ const rl = readline.createInterface({ input: stdin, output: stdout });
11
+ try {
12
+ const suffix = defaultYes ? " [Y/n] " : " [y/N] ";
13
+ const answer = (await rl.question(question + suffix)).trim().toLowerCase();
14
+ if (answer === "") return defaultYes;
15
+ return answer === "y" || answer === "yes";
16
+ } finally {
17
+ rl.close();
18
+ }
19
+ }
20
+ export {
21
+ promptYesNo
22
+ };
23
+ //# sourceMappingURL=prompt-EQ5IFADN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/prompt.ts"],"sourcesContent":["import readline from \"node:readline/promises\";\nimport { stdin, stdout } from \"node:process\";\n\n/**\n * Ask a yes/no question on the terminal and resolve to true/false.\n *\n * Defaults to true on empty input (`Y/n` style). Returns `defaultYes` and\n * skips the prompt entirely when stdout isn't a TTY (CI, piped invocation,\n * agent hook) so we never block on input nobody can provide. Callers that\n * need different non-TTY behaviour should check `stdout.isTTY` first.\n */\nexport async function promptYesNo(question: string, defaultYes = true): Promise<boolean> {\n if (!stdout.isTTY || !stdin.isTTY) {\n return defaultYes;\n }\n const rl = readline.createInterface({ input: stdin, output: stdout });\n try {\n const suffix = defaultYes ? \" [Y/n] \" : \" [y/N] \";\n const answer = (await rl.question(question + suffix)).trim().toLowerCase();\n if (answer === \"\") return defaultYes;\n return answer === \"y\" || answer === \"yes\";\n } finally {\n rl.close();\n }\n}\n"],"mappings":";;;AAAA,OAAO,cAAc;AACrB,SAAS,OAAO,cAAc;AAU9B,eAAsB,YAAY,UAAkB,aAAa,MAAwB;AACvF,MAAI,CAAC,OAAO,SAAS,CAAC,MAAM,OAAO;AACjC,WAAO;AAAA,EACT;AACA,QAAM,KAAK,SAAS,gBAAgB,EAAE,OAAO,OAAO,QAAQ,OAAO,CAAC;AACpE,MAAI;AACF,UAAM,SAAS,aAAa,YAAY;AACxC,UAAM,UAAU,MAAM,GAAG,SAAS,WAAW,MAAM,GAAG,KAAK,EAAE,YAAY;AACzE,QAAI,WAAW,GAAI,QAAO;AAC1B,WAAO,WAAW,OAAO,WAAW;AAAA,EACtC,UAAE;AACA,OAAG,MAAM;AAAA,EACX;AACF;","names":[]}
@@ -50,6 +50,10 @@ conditions:
50
50
  operator: file_contains
51
51
  path: package.json
52
52
  contains: '"test"'
53
+ - id: has-typecheck-script
54
+ operator: file_contains
55
+ path: package.json
56
+ contains: '"typecheck"'
53
57
 
54
58
  patterns:
55
59
  changelog-files: "(^|/)CHANGELOG\\.md$"
@@ -62,7 +66,7 @@ checks:
62
66
  cmd: "pnpm lint --max-warnings 0"
63
67
  - id: node-typecheck
64
68
  label: "TypeScript type check"
65
- conditionId: is-node
69
+ conditionId: has-typecheck-script
66
70
  cmd: "pnpm typecheck"
67
71
  - id: node-test
68
72
  label: "Unit tests (Node)"
@@ -221,9 +225,15 @@ checks:
221
225
  - id: no-todos
222
226
  label: "No TODO/FIXME left in changed code"
223
227
  cmd: >-
224
- ! grep -rEn "TODO|FIXME|HACK|XXX" --include="*.ts" --include="*.tsx"
225
- --include="*.js" --include="*.jsx" --include="*.py" --include="*.go"
226
- --include="*.rs" .
228
+ ! grep -rEn "TODO|FIXME|HACK|XXX"
229
+ --include="*.ts" --include="*.tsx"
230
+ --include="*.js" --include="*.jsx"
231
+ --include="*.py" --include="*.go" --include="*.rs"
232
+ --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
233
+ --exclude-dir=.next --exclude-dir=.turbo --exclude-dir=build
234
+ --exclude-dir=.venv --exclude-dir=venv --exclude-dir=__pycache__
235
+ --exclude-dir=target --exclude-dir=vendor
236
+ .
227
237
 
228
238
  # ── Holdpoint-internal ─────────────────────────────────────────────
229
239
  - id: holdpoint-suggest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holdpoint/cli",
3
- "version": "0.1.0-alpha.18",
3
+ "version": "0.1.0-alpha.19",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -48,11 +48,11 @@
48
48
  "chalk": "^5.3.0",
49
49
  "commander": "^14.0.3",
50
50
  "ora": "^9.4.0",
51
- "@holdpoint/live-daemon": "0.1.0-alpha.4",
52
- "@holdpoint/live-protocol": "0.1.0-alpha.4",
53
- "@holdpoint/engine-claude": "0.1.0-alpha.13",
54
51
  "@holdpoint/sdk": "0.1.0-alpha.4",
52
+ "@holdpoint/engine-claude": "0.1.0-alpha.13",
55
53
  "@holdpoint/engine-codex": "0.1.0-alpha.14",
54
+ "@holdpoint/live-protocol": "0.1.0-alpha.4",
55
+ "@holdpoint/live-daemon": "0.1.0-alpha.5",
56
56
  "@holdpoint/engine-copilot": "0.1.0-alpha.14",
57
57
  "@holdpoint/engine-cursor": "0.1.0-alpha.12",
58
58
  "@holdpoint/types": "0.1.0-alpha.9",