cngkit 1.1.15 → 1.1.17

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 (56) hide show
  1. package/README.md +28 -22
  2. package/dist/{chunk-55BKHXBM.js → chunk-5ZNV3FDG.js} +3 -3
  3. package/dist/{chunk-IG7DJU7W.js → chunk-BL3XMLIH.js} +39 -38
  4. package/dist/chunk-BL3XMLIH.js.map +1 -0
  5. package/dist/{chunk-JX33GP2L.js → chunk-GT2MTS6E.js} +2 -2
  6. package/dist/{chunk-CSP6OWQH.js → chunk-HRFI2IEP.js} +15 -15
  7. package/dist/chunk-HRFI2IEP.js.map +1 -0
  8. package/dist/{chunk-TNYB67MX.js → chunk-K36DKQWH.js} +21 -13
  9. package/dist/chunk-K36DKQWH.js.map +1 -0
  10. package/dist/{chunk-MLKBG5YJ.js → chunk-VCWNKNUE.js} +2 -9
  11. package/dist/chunk-VCWNKNUE.js.map +1 -0
  12. package/dist/{chunk-Q3F7DVFP.js → chunk-WYJTGGMN.js} +86 -37
  13. package/dist/chunk-WYJTGGMN.js.map +1 -0
  14. package/dist/{chunk-QZEB4VMX.js → chunk-XQGLUQFM.js} +5 -1
  15. package/dist/chunk-XQGLUQFM.js.map +1 -0
  16. package/dist/cli.js +89 -28
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/coderoom/index.js +4 -4
  19. package/dist/commands/coderoom/join.js +5 -6
  20. package/dist/commands/coderoom/join.js.map +1 -1
  21. package/dist/commands/coderoom/share.js +5 -6
  22. package/dist/commands/coderoom/share.js.map +1 -1
  23. package/dist/commands/index.js +3 -3
  24. package/dist/commands/knowledges/audiences.js +7 -8
  25. package/dist/commands/knowledges/audiences.js.map +1 -1
  26. package/dist/commands/knowledges/files.js +7 -8
  27. package/dist/commands/knowledges/files.js.map +1 -1
  28. package/dist/commands/knowledges/glob.js +7 -8
  29. package/dist/commands/knowledges/glob.js.map +1 -1
  30. package/dist/commands/knowledges/grep.js +7 -8
  31. package/dist/commands/knowledges/grep.js.map +1 -1
  32. package/dist/commands/knowledges/index.js +4 -4
  33. package/dist/commands/knowledges/list.js +7 -8
  34. package/dist/commands/knowledges/list.js.map +1 -1
  35. package/dist/commands/knowledges/read.js +7 -8
  36. package/dist/commands/knowledges/read.js.map +1 -1
  37. package/dist/commands/knowledges/search.js +8 -9
  38. package/dist/commands/knowledges/search.js.map +1 -1
  39. package/dist/commands/knowledges/status.js +7 -8
  40. package/dist/commands/knowledges/status.js.map +1 -1
  41. package/dist/commands/login.js +5 -6
  42. package/dist/commands/login.js.map +1 -1
  43. package/dist/commands/scrub.js +3 -3
  44. package/dist/commands/transcripts.js +9 -8
  45. package/dist/commands/transcripts.js.map +1 -1
  46. package/package.json +2 -4
  47. package/dist/chunk-CSP6OWQH.js.map +0 -1
  48. package/dist/chunk-IG7DJU7W.js.map +0 -1
  49. package/dist/chunk-MLKBG5YJ.js.map +0 -1
  50. package/dist/chunk-Q3F7DVFP.js.map +0 -1
  51. package/dist/chunk-QZEB4VMX.js.map +0 -1
  52. package/dist/chunk-TNYB67MX.js.map +0 -1
  53. package/dist/chunk-U6XERHCZ.js +0 -22
  54. package/dist/chunk-U6XERHCZ.js.map +0 -1
  55. /package/dist/{chunk-55BKHXBM.js.map → chunk-5ZNV3FDG.js.map} +0 -0
  56. /package/dist/{chunk-JX33GP2L.js.map → chunk-GT2MTS6E.js.map} +0 -0
package/README.md CHANGED
@@ -41,7 +41,7 @@ cngkit coderoom share
41
41
  cngkit coderoom join <room-code>
42
42
  cngkit scrub [path]
43
43
  cngkit transcripts list --limit 12
44
- cngkit knowledges search "cloudflare backend" --limit 3
44
+ cngkit knowledges search Cloudflare --limit 3
45
45
  cngkit knowledges read /libraries/lib-cloudflare/SUBSKILL.md --limit 80
46
46
  ```
47
47
 
@@ -94,7 +94,7 @@ cngkit knowledges status
94
94
  Find relevant knowledge:
95
95
 
96
96
  ```bash
97
- cngkit knowledges search "cloudflare backend" --limit 3
97
+ cngkit knowledges search Cloudflare --limit 3
98
98
  ```
99
99
 
100
100
  Read a catalog file:
@@ -119,7 +119,7 @@ Return JSON for another tool:
119
119
 
120
120
  ```bash
121
121
  cngkit knowledges status --json
122
- cngkit knowledges search "vector search" --limit 5 --json
122
+ cngkit --format json knowledges search "vector search" --limit 5
123
123
  ```
124
124
 
125
125
  Catalog path shortcuts are supported. For example:
@@ -199,29 +199,34 @@ Transcript commands are local-only. They do not upload transcript content to Cur
199
199
  By default, they print user and assistant text and skip internal prompt, hook, and tool noise.
200
200
  Use `--include-internal` when debugging transcript plumbing.
201
201
 
202
- ## Backend Selection
202
+ ## Backend
203
203
 
204
- By default, `cngkit` talks to:
204
+ `cngkit` always talks to:
205
205
 
206
206
  ```text
207
207
  https://curly.ng
208
208
  ```
209
209
 
210
- Override the backend for one command:
210
+ ## Output Format
211
211
 
212
- ```bash
213
- cngkit --api-base-url https://curly.ng knowledges status
214
- ```
215
-
216
- Or with an environment variable:
212
+ Human-facing output renders as structured terminal text by default, including help
213
+ screens and Markdown catalog reads. Use explicit formats when a script needs data or
214
+ source text:
217
215
 
218
216
  ```bash
219
- CNGKIT_API_BASE_URL=https://curly.ng cngkit knowledges status
217
+ cngkit --format text --help
218
+ cngkit --format json knowledges status
219
+ cngkit --format markdown knowledges read /libraries/lib-cloudflare/SUBSKILL.md
220
+ cngkit --no-color knowledges status
220
221
  ```
221
222
 
223
+ `--json` remains available on read-only data commands as a short alias for JSON output.
224
+ `--format markdown` is intentionally source-oriented; default terminal output should not
225
+ show raw Markdown syntax.
226
+
222
227
  ## Help
223
228
 
224
- Help is baked into the CLI as Markdown:
229
+ Help is baked into the CLI and rendered for terminal reading:
225
230
 
226
231
  ```bash
227
232
  cngkit --help
@@ -232,10 +237,11 @@ cngkit knowledges read --help
232
237
  cngkit transcripts --help
233
238
  ```
234
239
 
235
- Help uses terminal Markdown rendering in interactive terminals. Status, warnings, and errors
236
- use Ink color when the terminal supports it, but `--json`, file reads, glob results, grep
237
- results, and piped output stay clean. Set `CNGKIT_COLOR=never` to disable CLI color, or
238
- `CNGKIT_COLOR=always` to force it in a wrapper that does not report itself as a TTY.
240
+ Help uses terminal Markdown rendering in interactive terminals and pipes. Status, warnings,
241
+ and errors use Ink color when the terminal supports it, while `--format json`, glob results,
242
+ grep results, and other parse-oriented output stay clean. Use `--no-color` or
243
+ `CNGKIT_COLOR=never` to disable CLI color, or `CNGKIT_COLOR=always` to force it in a wrapper
244
+ that does not report itself as a TTY.
239
245
 
240
246
  ## Terminal UI Stack
241
247
 
@@ -243,7 +249,7 @@ results, and piped output stay clean. Set `CNGKIT_COLOR=never` to disable CLI co
243
249
 
244
250
  - **Pastel** owns command and subcommand routing through files under `src/commands/`.
245
251
  - **Ink** owns terminal rendering through built-in components such as `<Text>`.
246
- - **marked-terminal** owns terminal Markdown rendering for help screens.
252
+ - **@inkkit/ink-markdown** owns terminal Markdown rendering for help screens and Markdown catalog reads.
247
253
  - **Chalk** owns the cngkit color theme passed into the Markdown renderer.
248
254
  - **Zod** owns option and argument schemas for each route.
249
255
 
@@ -263,8 +269,8 @@ src/commands/
263
269
 
264
270
  The CLI does not hand-roll ANSI escape codes. Status styles go through Ink's built-in
265
271
  `<Text color="..." bold dimColor>` support, and help screens render through
266
- `marked-terminal` with a shared Chalk-backed theme. Commands that return content for agents
267
- or shell pipelines write raw lines instead.
272
+ `@inkkit/ink-markdown` with a shared Chalk-backed theme. Commands that return parse-oriented
273
+ content for agents or shell pipelines write clean lines instead.
268
274
 
269
275
  ## For Contributors
270
276
 
@@ -283,8 +289,8 @@ The route files under `src/commands/` should stay thin. Put behavior in
283
289
  For output, use the shared `CommandOutput` methods:
284
290
 
285
291
  - `success`, `warning`, `info`, `muted`, and `error` for human-facing terminal status.
286
- - `markdown` for help screens and terminal-only Markdown display.
287
- - `raw` for JSON, file content, file paths, grep results, and anything another tool may parse.
292
+ - `markdown` for help screens and Markdown content that should render by default.
293
+ - `raw` for JSON, explicit source output, file paths, grep results, and anything another tool may parse.
288
294
 
289
295
  Useful local checks:
290
296
 
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  readBackendHealth
3
- } from "./chunk-CSP6OWQH.js";
3
+ } from "./chunk-HRFI2IEP.js";
4
4
  import {
5
5
  createPeerId,
6
6
  createRoomCode,
7
7
  resolveApiBaseUrl
8
- } from "./chunk-U6XERHCZ.js";
8
+ } from "./chunk-WYJTGGMN.js";
9
9
 
10
10
  // src/features/coderoom/run-coderoom-command.ts
11
11
  import process2 from "process";
@@ -412,4 +412,4 @@ export {
412
412
  runShareCommand,
413
413
  runJoinCommand
414
414
  };
415
- //# sourceMappingURL=chunk-55BKHXBM.js.map
415
+ //# sourceMappingURL=chunk-5ZNV3FDG.js.map
@@ -13,7 +13,7 @@ var coderoomCommandList = [
13
13
  var knowledgesCommandList = [
14
14
  "- `status` - print remote catalog state.",
15
15
  "- `audiences` - list valid audience filters.",
16
- "- `search <query>` - semantic search over Cloudflare Vectorize-backed records.",
16
+ "- `search <query>` - search over Postgres-backed knowledges records.",
17
17
  "- `list [query]` - list known subskills.",
18
18
  "- `files [query]` - list uploaded catalog files.",
19
19
  "- `read <file-path>` - Claude-style file read.",
@@ -32,7 +32,7 @@ Curly.ng operator CLI for shared code rooms, safe local cleanup, local agent tra
32
32
 
33
33
  \`\`\`bash
34
34
  npx --yes cngkit@latest --help
35
- npx --yes cngkit@latest knowledges search "cloudflare backend" --limit 3
35
+ npx --yes cngkit@latest knowledges search Cloudflare --limit 3
36
36
  \`\`\`
37
37
 
38
38
  ## Installed Usage
@@ -41,6 +41,13 @@ npx --yes cngkit@latest knowledges search "cloudflare backend" --limit 3
41
41
  cngkit <command> [options]
42
42
  \`\`\`
43
43
 
44
+ ## Global Options
45
+
46
+ \`\`\`bash
47
+ cngkit --format text|json|markdown ...
48
+ cngkit --no-color ...
49
+ \`\`\`
50
+
44
51
  ## Commands
45
52
 
46
53
  ${commandList}
@@ -59,22 +66,15 @@ cngkit knowledges <subcommand> --help
59
66
 
60
67
  ## AI And Scripts
61
68
 
62
- - Help is Markdown in pipes and colorized Markdown in interactive terminals.
63
- - Text output is line-oriented; commands do not rely on color-only state.
64
- - Use \`--json\` on read-only knowledges commands for typed backend payloads.
65
- - Use \`CNGKIT_COLOR=never\` for logs, screenshots, and strict plain text.
69
+ - Help renders as structured terminal text by default, even in pipes.
70
+ - Use \`--format json\` or \`--json\` on read-only data commands for typed payloads.
71
+ - Use \`--format markdown\` only when raw Markdown source is intentional.
72
+ - Use \`--no-color\` or \`CNGKIT_COLOR=never\` for logs, screenshots, and strict plain text.
66
73
  - Use \`npm_config_progress=false npx --yes cngkit@latest ...\` for clean one-shot npx captures.
67
74
 
68
75
  ## Backend
69
76
 
70
- Default API: \`https://curly.ng\`
71
-
72
- Override with:
73
-
74
- \`\`\`bash
75
- cngkit --api-base-url <url> ...
76
- CNGKIT_API_BASE_URL=<url> cngkit ...
77
- \`\`\`
77
+ API: \`https://curly.ng\`
78
78
  `
79
79
  },
80
80
  {
@@ -110,9 +110,9 @@ This is local-only operator tooling. It does not call Curly.ng and it does not u
110
110
  ## Usage
111
111
 
112
112
  \`\`\`bash
113
- cngkit transcripts list [--source all|codex|claude] [--limit <n>] [--json]
114
- cngkit transcripts read <path-or-session-id> [--source all|codex|claude] [--limit <n>] [--include-internal] [--json]
115
- cngkit transcripts grep <query> [--source all|codex|claude] [--limit <n>] [--file-limit <n>] [--include-internal] [--json]
113
+ cngkit transcripts list [--source all|codex|claude] [--limit <n>] [--json|--format json]
114
+ cngkit transcripts read <path-or-session-id> [--source all|codex|claude] [--limit <n>] [--include-internal] [--json|--format json]
115
+ cngkit transcripts grep <query> [--source all|codex|claude] [--limit <n>] [--file-limit <n>] [--include-internal] [--json|--format json]
116
116
  \`\`\`
117
117
 
118
118
  ## Sources
@@ -285,7 +285,7 @@ cngkit knowledges glob --help
285
285
  ## Common Examples
286
286
 
287
287
  \`\`\`bash
288
- npx --yes cngkit@latest knowledges search "cloudflare backend" --limit 3
288
+ npx --yes cngkit@latest knowledges search Cloudflare --limit 3
289
289
  npx --yes cngkit@latest knowledges read /libraries/lib-cloudflare/SUBSKILL.md --limit 80
290
290
  npx --yes cngkit@latest knowledges grep Cloudflare --path /libraries/lib-cloudflare --output-mode files_with_matches
291
291
  npx --yes cngkit@latest knowledges glob "**/*.md" --path /libraries/lib-cloudflare
@@ -293,11 +293,11 @@ npx --yes cngkit@latest knowledges glob "**/*.md" --path /libraries/lib-cloudfla
293
293
 
294
294
  ## AI-Friendly Output
295
295
 
296
- - Default output is line-oriented and intended to be directly usable by agents.
297
- - \`read\` prints file content with no wrapper before any truncation note.
296
+ - Default output is structured text intended to be directly usable by people and agents.
297
+ - \`read\` renders Markdown files by default and prints exact source with \`--format markdown\`.
298
298
  - \`grep --output-mode content\` prints \`path:line\` blocks.
299
299
  - \`grep --output-mode files_with_matches\` and \`glob\` print one path per line.
300
- - \`--json\` prints the typed backend data payload for machine consumption.
300
+ - \`--format json\` and \`--json\` print typed backend payloads for machine consumption.
301
301
  `
302
302
  },
303
303
  {
@@ -310,13 +310,13 @@ Print remote Harness catalog state.
310
310
  ## Usage
311
311
 
312
312
  \`\`\`bash
313
- cngkit knowledges status [--json]
313
+ cngkit knowledges status [--json|--format json]
314
314
  \`\`\`
315
315
 
316
316
  ## Output
317
317
 
318
- - Text mode prints catalog name, file count, blob count, Vectorize binding, and latest run when present.
319
- - \`--json\` prints the backend data payload.
318
+ - Text mode prints catalog name, file count, blob count, database binding, and latest run when present.
319
+ - \`--format json\` and \`--json\` print the backend data payload.
320
320
  `
321
321
  },
322
322
  {
@@ -329,7 +329,7 @@ List valid audience filters for catalog browsing.
329
329
  ## Usage
330
330
 
331
331
  \`\`\`bash
332
- cngkit knowledges audiences [--json]
332
+ cngkit knowledges audiences [--json|--format json]
333
333
  \`\`\`
334
334
 
335
335
  ## Use When
@@ -347,7 +347,7 @@ Search the hosted Harness index for relevant skills and subskills.
347
347
  ## Usage
348
348
 
349
349
  \`\`\`bash
350
- cngkit knowledges search <query> [--limit <n>] [--json]
350
+ cngkit knowledges search <query> [--limit <n>] [--json|--format json]
351
351
  \`\`\`
352
352
 
353
353
  ## Defaults
@@ -357,7 +357,7 @@ cngkit knowledges search <query> [--limit <n>] [--json]
357
357
  ## Example
358
358
 
359
359
  \`\`\`bash
360
- npx --yes cngkit@latest knowledges search "cloudflare backend" --limit 3
360
+ npx --yes cngkit@latest knowledges search Cloudflare --limit 3
361
361
  \`\`\`
362
362
  `
363
363
  },
@@ -371,7 +371,7 @@ List hosted Harness subskills, optionally filtered by query.
371
371
  ## Usage
372
372
 
373
373
  \`\`\`bash
374
- cngkit knowledges list [query] [--limit <n>] [--json]
374
+ cngkit knowledges list [query] [--limit <n>] [--json|--format json]
375
375
  \`\`\`
376
376
 
377
377
  ## Defaults
@@ -395,7 +395,7 @@ List uploaded Harness catalog files, optionally filtered by query or audience.
395
395
  ## Usage
396
396
 
397
397
  \`\`\`bash
398
- cngkit knowledges files [query] [--audience <id>] [--limit <n>] [--json]
398
+ cngkit knowledges files [query] [--audience <id>] [--limit <n>] [--json|--format json]
399
399
  \`\`\`
400
400
 
401
401
  ## Defaults
@@ -421,7 +421,7 @@ Read a hosted Harness catalog file by path.
421
421
  ## Usage
422
422
 
423
423
  \`\`\`bash
424
- cngkit knowledges read <file-path> [--offset <n>] [--limit <n>] [--json]
424
+ cngkit knowledges read <file-path> [--offset <n>] [--limit <n>] [--json|--format json|--format markdown]
425
425
  \`\`\`
426
426
 
427
427
  ## Inputs
@@ -432,9 +432,10 @@ cngkit knowledges read <file-path> [--offset <n>] [--limit <n>] [--json]
432
432
 
433
433
  ## Output
434
434
 
435
- - Text mode prints only the returned file content first.
435
+ - Text mode renders Markdown files for terminal reading.
436
+ - \`--format markdown\` prints the exact returned file content.
436
437
  - If truncated, a final bracketed truncation note is printed after the content.
437
- - \`--json\` prints \`{ file_path, content, total_lines, offset, limit, truncated }\`.
438
+ - \`--format json\` and \`--json\` print \`{ file_path, content, total_lines, offset, limit, truncated }\`.
438
439
 
439
440
  ## Example
440
441
 
@@ -453,7 +454,7 @@ Search inside hosted Harness catalog files with a JavaScript regular expression.
453
454
  ## Usage
454
455
 
455
456
  \`\`\`bash
456
- cngkit knowledges grep <pattern> [--path <path>] [--include <glob>] [--output-mode <mode>] [--context <n>] [--case-insensitive] [--json]
457
+ cngkit knowledges grep <pattern> [--path <path>] [--include <glob>] [--output-mode <mode>] [--context <n>] [--case-insensitive] [--json|--format json]
457
458
  \`\`\`
458
459
 
459
460
  ## Inputs
@@ -471,13 +472,13 @@ cngkit knowledges grep <pattern> [--path <path>] [--include <glob>] [--output-mo
471
472
  - \`content\`: prints blocks as \`file_path:line_number\`, optional context lines, then \`> matching line\`.
472
473
  - \`files_with_matches\`: prints one matching file path per line.
473
474
  - \`count\`: prints \`file_path: match_count\` lines.
474
- - \`--json\` prints the typed backend response union.
475
+ - \`--format json\` and \`--json\` print the typed backend response union.
475
476
 
476
477
  ## Examples
477
478
 
478
479
  \`\`\`bash
479
480
  npx --yes cngkit@latest knowledges grep Cloudflare --path /libraries/lib-cloudflare --output-mode files_with_matches
480
- npx --yes cngkit@latest knowledges grep "Vectorize|D1" --path /libraries/lib-cloudflare --context 2
481
+ npx --yes cngkit@latest knowledges grep "Postgres|Hyperdrive" --path /libraries/lib-cloudflare --context 2
481
482
  \`\`\`
482
483
  `
483
484
  },
@@ -491,7 +492,7 @@ Find hosted Harness catalog files by glob pattern.
491
492
  ## Usage
492
493
 
493
494
  \`\`\`bash
494
- cngkit knowledges glob [pattern] [--path <path>] [--json]
495
+ cngkit knowledges glob [pattern] [--path <path>] [--json|--format json]
495
496
  \`\`\`
496
497
 
497
498
  ## Inputs
@@ -512,7 +513,7 @@ cngkit knowledges glob [pattern] [--path <path>] [--json]
512
513
 
513
514
  - Text mode prints one file path per line.
514
515
  - If truncated, a final bracketed truncation note is printed.
515
- - \`--json\` prints \`{ files, total_files, truncated }\`.
516
+ - \`--format json\` and \`--json\` print \`{ files, total_files, truncated }\`.
516
517
 
517
518
  ## Example
518
519
 
@@ -569,4 +570,4 @@ export {
569
570
  formatCngkitHelp,
570
571
  formatKnowledgesHelp
571
572
  };
572
- //# sourceMappingURL=chunk-IG7DJU7W.js.map
573
+ //# sourceMappingURL=chunk-BL3XMLIH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/help-specs.ts"],"sourcesContent":["type HelpTopic = {\n title: string;\n aliases: string[];\n body: string;\n};\n\nconst commandList = [\n \"- `cngkit login` - open Curly.ng login, or print the URL in headless shells.\",\n \"- `cngkit coderoom ...` - share or join a live developer room for a working tree.\",\n \"- `cngkit scrub [path]` - scan for secrets; rewrite only when `--yes` is passed.\",\n \"- `cngkit transcripts ...` - list, read, and grep local Claude/Codex transcripts.\",\n \"- `cngkit knowledges ...` - search and read the hosted Harness knowledge catalog.\",\n].join(\"\\n\");\n\nconst coderoomCommandList = [\n \"- `share [room-code]` - start a live room from the current directory.\",\n \"- `join <room-code>` - join another developer's live room from the current directory.\",\n].join(\"\\n\");\n\nconst knowledgesCommandList = [\n \"- `status` - print remote catalog state.\",\n \"- `audiences` - list valid audience filters.\",\n \"- `search <query>` - search over Postgres-backed knowledges records.\",\n \"- `list [query]` - list known subskills.\",\n \"- `files [query]` - list uploaded catalog files.\",\n \"- `read <file-path>` - Claude-style file read.\",\n \"- `grep <pattern>` - Claude-style content search.\",\n \"- `glob [pattern]` - Claude-style file discovery.\",\n].join(\"\\n\");\n\nconst helpTopics: HelpTopic[] = [\n {\n title: \"cngkit\",\n aliases: [\"\", \"overview\", \"help\"],\n body: `# cngkit\n\nCurly.ng operator CLI for shared code rooms, safe local cleanup, local agent transcripts, and hosted Harness knowledges.\n\n## Run Now\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest --help\nnpx --yes cngkit@latest knowledges search Cloudflare --limit 3\n\\`\\`\\`\n\n## Installed Usage\n\n\\`\\`\\`bash\ncngkit <command> [options]\n\\`\\`\\`\n\n## Global Options\n\n\\`\\`\\`bash\ncngkit --format text|json|markdown ...\ncngkit --no-color ...\n\\`\\`\\`\n\n## Commands\n\n${commandList}\n\n## Help Map\n\n\\`\\`\\`bash\ncngkit help <topic>\ncngkit <command> --help\ncngkit coderoom --help\ncngkit coderoom <subcommand> --help\ncngkit transcripts --help\ncngkit knowledges --help\ncngkit knowledges <subcommand> --help\n\\`\\`\\`\n\n## AI And Scripts\n\n- Help renders as structured terminal text by default, even in pipes.\n- Use \\`--format json\\` or \\`--json\\` on read-only data commands for typed payloads.\n- Use \\`--format markdown\\` only when raw Markdown source is intentional.\n- Use \\`--no-color\\` or \\`CNGKIT_COLOR=never\\` for logs, screenshots, and strict plain text.\n- Use \\`npm_config_progress=false npx --yes cngkit@latest ...\\` for clean one-shot npx captures.\n\n## Backend\n\nAPI: \\`https://curly.ng\\`\n`,\n },\n {\n title: \"login\",\n aliases: [\"login\"],\n body: `# cngkit login\n\nOpen Curly.ng login in a browser. In headless shells, print the URL so an agent can show it to the operator.\n\n## Usage\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest login\ncngkit login\n\\`\\`\\`\n\n## Output\n\n- First line names the login URL being opened.\n- If no browser opener exists, the CLI prints a direct URL.\n- No credentials are printed or persisted by this command.\n`,\n },\n {\n title: \"transcripts\",\n aliases: [\"transcripts\", \"transcript\"],\n body: `# cngkit transcripts\n\nRead local Claude and Codex transcript JSONL files.\n\nThis is local-only operator tooling. It does not call Curly.ng and it does not upload transcript content.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit transcripts list [--source all|codex|claude] [--limit <n>] [--json|--format json]\ncngkit transcripts read <path-or-session-id> [--source all|codex|claude] [--limit <n>] [--include-internal] [--json|--format json]\ncngkit transcripts grep <query> [--source all|codex|claude] [--limit <n>] [--file-limit <n>] [--include-internal] [--json|--format json]\n\\`\\`\\`\n\n## Sources\n\n- \\`~/.codex/sessions\\`\n- \\`~/.codex/archived_sessions\\`\n- \\`~/.claude/projects\\`\n- \\`~/.claude/history.jsonl\\`\n\n## Defaults\n\n- \\`list\\`: newest 12 transcript files.\n- \\`read\\`: newest 80 user/assistant entries from the selected file.\n- \\`grep\\`: first 80 matching user/assistant entries from the newest 60 files.\n- \\`--source\\`: \\`all\\`.\n\n## Output\n\n- Text mode prints source, role, timestamp when available, and extracted message text.\n- Internal developer/system payloads and hook/tool noise are skipped unless \\`--include-internal\\` is passed.\n- Direct file paths, home-relative paths, and partial session ids are accepted by \\`read\\`.\n`,\n },\n {\n title: \"coderoom\",\n aliases: [\"coderoom\", \"code-room\", \"repo-sync\"],\n body: `# cngkit coderoom\n\nCreate or join a temporary live room for sharing a working tree over the Curly backend.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit coderoom <subcommand> [options]\n\\`\\`\\`\n\n## Subcommands\n\n${coderoomCommandList}\n\n## Common Flow\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest coderoom share\nnpx --yes cngkit@latest coderoom join <room-code>\n\\`\\`\\`\n\n## Behavior\n\n- Connects to \\`/api/cng/sync/:roomCode\\` on the configured Curly backend.\n- Uses WebSocket transport backed by the \\`CngSyncRoom\\` Durable Object.\n- Sends an initial snapshot, then file and delete events.\n- Last received change wins.\n- Current rooms are live relays, not durable cloud storage.\n`,\n },\n {\n title: \"coderoom share\",\n aliases: [\"coderoom-share\"],\n body: `# cngkit coderoom share\n\nStart a live repository sync room from the current directory.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit coderoom share [room-code]\n\\`\\`\\`\n\n## Behavior\n\n- Connects to \\`/api/cng/sync/:roomCode\\` on the configured Curly backend.\n- Uses WebSocket transport backed by the \\`CngSyncRoom\\` Durable Object.\n- Sends an initial snapshot, then file and delete events.\n- Last received change wins.\n\n## Filesystem Contract\n\n- Preserves \\`.git/\\`.\n- Preserves files ignored by the repo's \\`.gitignore\\`.\n- Sends regular files as base64 payloads in the sync protocol.\n\n## Output\n\n- Prints room code, repo root, peer id, backend health, and concise sync events.\n- Keeps running until the socket closes or the process receives a termination signal.\n`,\n },\n {\n title: \"coderoom join\",\n aliases: [\"coderoom-join\"],\n body: `# cngkit coderoom join\n\nJoin an existing live repository sync room from the current directory.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit coderoom join <room-code>\n\\`\\`\\`\n\n## Behavior\n\nSame transport and filesystem contract as \\`cngkit coderoom share\\`. The supplied room code selects the Durable Object room.\n\n## Output\n\n- Prints backend health, room code, repo root, peer id, and concise sync events.\n- Missing room code exits with a usage error.\n`,\n },\n {\n title: \"scrub\",\n aliases: [\"scrub\"],\n body: `# cngkit scrub\n\nScan a file or directory for secrets with TruffleHog. Report-only is the default.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit scrub [path]\ncngkit scrub [path] --yes\n\\`\\`\\`\n\n## Safety\n\n- Default mode does not rewrite files.\n- Inline masking rewrites files and requires \\`--yes\\`.\n- Raw and redacted secret values are never printed.\n\n## Requirements\n\n- \\`trufflehog\\` must be available on \\`PATH\\`.\n\n## Mask Format\n\n\\`\\`\\`text\n[CNGKIT_SECRET:<detector>:<verified|unverified>]\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges\",\n aliases: [\"knowledges\", \"knowledge\"],\n body: `# cngkit knowledges\n\nSearch and read the hosted Harness knowledges catalog from the Curly backend.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges <subcommand> [options]\n\\`\\`\\`\n\n## Subcommands\n\n${knowledgesCommandList}\n\n## Progressive Help\n\n\\`\\`\\`bash\ncngkit help knowledges <subcommand>\ncngkit knowledges <subcommand> --help\ncngkit knowledges read --help\ncngkit knowledges grep --help\ncngkit knowledges glob --help\n\\`\\`\\`\n\n## Common Examples\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest knowledges search Cloudflare --limit 3\nnpx --yes cngkit@latest knowledges read /libraries/lib-cloudflare/SUBSKILL.md --limit 80\nnpx --yes cngkit@latest knowledges grep Cloudflare --path /libraries/lib-cloudflare --output-mode files_with_matches\nnpx --yes cngkit@latest knowledges glob \"**/*.md\" --path /libraries/lib-cloudflare\n\\`\\`\\`\n\n## AI-Friendly Output\n\n- Default output is structured text intended to be directly usable by people and agents.\n- \\`read\\` renders Markdown files by default and prints exact source with \\`--format markdown\\`.\n- \\`grep --output-mode content\\` prints \\`path:line\\` blocks.\n- \\`grep --output-mode files_with_matches\\` and \\`glob\\` print one path per line.\n- \\`--format json\\` and \\`--json\\` print typed backend payloads for machine consumption.\n`,\n },\n {\n title: \"knowledges status\",\n aliases: [\"knowledges-status\", \"status\"],\n body: `# cngkit knowledges status\n\nPrint remote Harness catalog state.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges status [--json|--format json]\n\\`\\`\\`\n\n## Output\n\n- Text mode prints catalog name, file count, blob count, database binding, and latest run when present.\n- \\`--format json\\` and \\`--json\\` print the backend data payload.\n`,\n },\n {\n title: \"knowledges audiences\",\n aliases: [\"knowledges-audiences\", \"audiences\"],\n body: `# cngkit knowledges audiences\n\nList valid audience filters for catalog browsing.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges audiences [--json|--format json]\n\\`\\`\\`\n\n## Use When\n\nRun this before \\`cngkit knowledges files --audience <id>\\`.\n`,\n },\n {\n title: \"knowledges search\",\n aliases: [\"knowledges-search\", \"search\"],\n body: `# cngkit knowledges search\n\nSearch the hosted Harness index for relevant skills and subskills.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges search <query> [--limit <n>] [--json|--format json]\n\\`\\`\\`\n\n## Defaults\n\n- \\`--limit\\`: \\`5\\`\n\n## Example\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest knowledges search Cloudflare --limit 3\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges list\",\n aliases: [\"knowledges-list\", \"list\"],\n body: `# cngkit knowledges list\n\nList hosted Harness subskills, optionally filtered by query.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges list [query] [--limit <n>] [--json|--format json]\n\\`\\`\\`\n\n## Defaults\n\n- \\`--limit\\`: \\`25\\`\n\n## Example\n\n\\`\\`\\`bash\ncngkit knowledges list cloudflare --limit 10\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges files\",\n aliases: [\"knowledges-files\", \"files\"],\n body: `# cngkit knowledges files\n\nList uploaded Harness catalog files, optionally filtered by query or audience.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges files [query] [--audience <id>] [--limit <n>] [--json|--format json]\n\\`\\`\\`\n\n## Defaults\n\n- \\`--limit\\`: \\`25\\`\n- \\`--audience\\`: omitted\n\n## Example\n\n\\`\\`\\`bash\ncngkit knowledges files cloudflare --limit 10\ncngkit knowledges files \"vector search\" --audience builders\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges read\",\n aliases: [\"knowledges-read\", \"read\"],\n body: `# cngkit knowledges read\n\nRead a hosted Harness catalog file by path.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges read <file-path> [--offset <n>] [--limit <n>] [--json|--format json|--format markdown]\n\\`\\`\\`\n\n## Inputs\n\n- \\`file-path\\`: normalized catalog path. Shorthand paths such as \\`/libraries/lib-cloudflare/SUBSKILL.md\\` are expanded to \\`skills/knowledges/subskills/libraries/lib-cloudflare/SUBSKILL.md\\`.\n- \\`--offset\\`: zero-based starting line. Default: \\`0\\`.\n- \\`--limit\\`: maximum lines. Default in CLI: \\`200\\`. Backend max: \\`2000\\`.\n\n## Output\n\n- Text mode renders Markdown files for terminal reading.\n- \\`--format markdown\\` prints the exact returned file content.\n- If truncated, a final bracketed truncation note is printed after the content.\n- \\`--format json\\` and \\`--json\\` print \\`{ file_path, content, total_lines, offset, limit, truncated }\\`.\n\n## Example\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest knowledges read /libraries/lib-cloudflare/SUBSKILL.md --limit 80\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges grep\",\n aliases: [\"knowledges-grep\", \"grep\"],\n body: `# cngkit knowledges grep\n\nSearch inside hosted Harness catalog files with a JavaScript regular expression.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges grep <pattern> [--path <path>] [--include <glob>] [--output-mode <mode>] [--context <n>] [--case-insensitive] [--json|--format json]\n\\`\\`\\`\n\n## Inputs\n\n- \\`pattern\\`: JavaScript regular expression source.\n- \\`--path\\`: catalog path prefix. Default: \\`skills\\`.\n- \\`--include\\`: filename include filter. Default: \\`*\\`.\n- Modes: content, files_with_matches, or count.\n- \\`--output-mode\\`: \\`content\\`, \\`files_with_matches\\`, or \\`count\\`. Default: \\`content\\`.\n- \\`--context\\`: context lines around content matches. Default: \\`0\\`. Backend max: \\`20\\`.\n- \\`--case-insensitive\\`: maps to backend \\`case_insensitive=true\\`.\n\n## Output\n\n- \\`content\\`: prints blocks as \\`file_path:line_number\\`, optional context lines, then \\`> matching line\\`.\n- \\`files_with_matches\\`: prints one matching file path per line.\n- \\`count\\`: prints \\`file_path: match_count\\` lines.\n- \\`--format json\\` and \\`--json\\` print the typed backend response union.\n\n## Examples\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest knowledges grep Cloudflare --path /libraries/lib-cloudflare --output-mode files_with_matches\nnpx --yes cngkit@latest knowledges grep \"Postgres|Hyperdrive\" --path /libraries/lib-cloudflare --context 2\n\\`\\`\\`\n`,\n },\n {\n title: \"knowledges glob\",\n aliases: [\"knowledges-glob\", \"glob\"],\n body: `# cngkit knowledges glob\n\nFind hosted Harness catalog files by glob pattern.\n\n## Usage\n\n\\`\\`\\`bash\ncngkit knowledges glob [pattern] [--path <path>] [--json|--format json]\n\\`\\`\\`\n\n## Inputs\n\n- \\`pattern\\`: supported glob pattern. CLI default: \\`**/*.md\\`.\n- \\`--path\\`: catalog path prefix. Default: \\`skills\\`.\n\n## Supported Patterns\n\n- \\`**/*.md\\`\n- \\`**/*.SUBSKILL.md\\`\n- \\`**/SKILL.md\\`\n- \\`*.md\\`\n- \\`*.SUBSKILL.md\\`\n- \\`SKILL.md\\`\n\n## Output\n\n- Text mode prints one file path per line.\n- If truncated, a final bracketed truncation note is printed.\n- \\`--format json\\` and \\`--json\\` print \\`{ files, total_files, truncated }\\`.\n\n## Example\n\n\\`\\`\\`bash\nnpx --yes cngkit@latest knowledges glob \"**/*.md\" --path /libraries/lib-cloudflare\n\\`\\`\\`\n`,\n },\n];\n\nconst helpTopicNames = helpTopics\n .filter((topic) => topic.title !== \"cngkit\")\n .map((topic) => topic.title)\n .sort();\n\nconst helpTopicByAlias = new Map<string, HelpTopic>();\n\nfor (const topic of helpTopics) {\n for (const alias of topic.aliases) {\n helpTopicByAlias.set(alias, topic);\n }\n}\n\nexport function formatCngkitHelp(topicName?: string): string {\n const normalizedTopicName = normalizeHelpTopicName(topicName);\n const topic = helpTopicByAlias.get(normalizedTopicName);\n\n if (topic) {\n return topic.body.trim();\n }\n\n if (normalizedTopicName === \"\") {\n return helpTopicByAlias.get(\"\")?.body.trim() ?? \"\";\n }\n\n return formatUnknownHelpTopic(normalizedTopicName);\n}\n\nexport function formatKnowledgesHelp(topicName?: string): string {\n const normalizedTopicName = normalizeHelpTopicName(topicName);\n const topicKey = normalizedTopicName ? `knowledges-${normalizedTopicName}` : \"knowledges\";\n return formatCngkitHelp(topicKey);\n}\n\nfunction normalizeHelpTopicName(value: string | undefined): string {\n return value?.trim().toLowerCase().replace(/\\s+/g, \"-\") ?? \"\";\n}\n\nfunction formatUnknownHelpTopic(topicName: string): string {\n return `# cngkit help\n\nNo help topic named \\`${topicName}\\`.\n\n## Available Topics\n\n${helpTopicNames.map((name) => `- \\`${name}\\``).join(\"\\n\")}\n\n## Usage\n\n\\`\\`\\`bash\ncngkit help <topic>\ncngkit <command> --help\n\\`\\`\\``;\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCommandOutput,
3
3
  formatError
4
- } from "./chunk-Q3F7DVFP.js";
4
+ } from "./chunk-WYJTGGMN.js";
5
5
 
6
6
  // src/cli/command-runner.tsx
7
7
  import { useEffect } from "react";
@@ -23,4 +23,4 @@ function CommandRunner({ run }) {
23
23
  export {
24
24
  CommandRunner
25
25
  };
26
- //# sourceMappingURL=chunk-JX33GP2L.js.map
26
+ //# sourceMappingURL=chunk-GT2MTS6E.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveApiBaseUrl
3
- } from "./chunk-U6XERHCZ.js";
3
+ } from "./chunk-WYJTGGMN.js";
4
4
  import {
5
5
  __export
6
6
  } from "./chunk-PZ5AY32C.js";
@@ -279,25 +279,25 @@ var HarnessCatalogSummary;
279
279
  };
280
280
  })(HarnessCatalogSummary || (HarnessCatalogSummary = {}));
281
281
 
282
+ // ../../packages/client/src/generated/api/types/HarnessDatabaseBinding.ts
283
+ var HarnessDatabaseBinding;
284
+ ((HarnessDatabaseBinding2) => {
285
+ HarnessDatabaseBinding2.Engine = {
286
+ Postgres: "postgres"
287
+ };
288
+ HarnessDatabaseBinding2.Binding = {
289
+ Hyperdrive: "HYPERDRIVE"
290
+ };
291
+ })(HarnessDatabaseBinding || (HarnessDatabaseBinding = {}));
292
+
282
293
  // ../../packages/client/src/generated/api/types/HarnessSemanticSearchResponse.ts
283
294
  var HarnessSemanticSearchResponse;
284
295
  ((HarnessSemanticSearchResponse2) => {
285
296
  HarnessSemanticSearchResponse2.Model = {
286
- CfBaaiBgeBaseEnV15: "@cf/baai/bge-base-en-v1.5"
297
+ PostgresTextSearch: "postgres-text-search"
287
298
  };
288
299
  })(HarnessSemanticSearchResponse || (HarnessSemanticSearchResponse = {}));
289
300
 
290
- // ../../packages/client/src/generated/api/types/HarnessVectorizeBinding.ts
291
- var HarnessVectorizeBinding;
292
- ((HarnessVectorizeBinding2) => {
293
- HarnessVectorizeBinding2.Index = {
294
- CurlyNgAgents: "curly-ng-agents"
295
- };
296
- HarnessVectorizeBinding2.Binding = {
297
- Vectorize: "VECTORIZE"
298
- };
299
- })(HarnessVectorizeBinding || (HarnessVectorizeBinding = {}));
300
-
301
301
  // ../../packages/client/src/generated/core/headers.ts
302
302
  function mergeHeaders(...headersArray) {
303
303
  const result = {};
@@ -2389,7 +2389,7 @@ var HarnessInternalKnowledgesClient = class {
2389
2389
  );
2390
2390
  }
2391
2391
  /**
2392
- * @param {CngApi.HarnessUploadSubskillAssetsVectorizeRequest} request
2392
+ * @param {CngApi.HarnessUploadSubskillAssetsIndexRequest} request
2393
2393
  * @param {HarnessInternalKnowledgesClient.RequestOptions} requestOptions - Request-specific configuration.
2394
2394
  *
2395
2395
  * @throws {@link CngApi.UnauthorizedError}
@@ -3231,4 +3231,4 @@ export {
3231
3231
  createCngApiClient,
3232
3232
  readBackendHealth
3233
3233
  };
3234
- //# sourceMappingURL=chunk-CSP6OWQH.js.map
3234
+ //# sourceMappingURL=chunk-HRFI2IEP.js.map