cngkit 1.1.19 → 1.1.21

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 (58) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +9 -9
  3. package/dist/chunk-52PGDSFU.js +42 -0
  4. package/dist/chunk-52PGDSFU.js.map +1 -0
  5. package/dist/{chunk-L6ZVQRSY.js → chunk-5WTRGYAO.js} +141 -52
  6. package/dist/chunk-5WTRGYAO.js.map +1 -0
  7. package/dist/{chunk-GBONV6XP.js → chunk-CVF2ODLP.js} +3 -3
  8. package/dist/{chunk-7SO75QXJ.js → chunk-DIJEVOVN.js} +109 -89
  9. package/dist/chunk-DIJEVOVN.js.map +1 -0
  10. package/dist/{chunk-3A6GRNEV.js → chunk-SKK2XLRZ.js} +21 -21
  11. package/dist/chunk-SKK2XLRZ.js.map +1 -0
  12. package/dist/{chunk-DBA3BZXP.js → chunk-SMTQ3W3F.js} +50 -10
  13. package/dist/chunk-SMTQ3W3F.js.map +1 -0
  14. package/dist/{chunk-TYDIBWZV.js → chunk-YJXAH7D5.js} +2 -2
  15. package/dist/cli.js +63 -24
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/coderoom/index.js +3 -3
  18. package/dist/commands/coderoom/join.js +4 -4
  19. package/dist/commands/coderoom/share.js +4 -4
  20. package/dist/commands/hookify/index.js +3 -3
  21. package/dist/commands/hookify/ingest.js +3 -3
  22. package/dist/commands/hooks/index.js +3 -3
  23. package/dist/commands/hooks/install.js +3 -3
  24. package/dist/commands/hooks/uninstall.js +3 -3
  25. package/dist/commands/index.js +3 -3
  26. package/dist/commands/knowledges/audiences.js +5 -5
  27. package/dist/commands/knowledges/cat.js +5 -5
  28. package/dist/commands/knowledges/files.js +5 -5
  29. package/dist/commands/knowledges/find.js +5 -5
  30. package/dist/commands/knowledges/glob.js +5 -5
  31. package/dist/commands/knowledges/grep.js +5 -5
  32. package/dist/commands/knowledges/head.js +5 -5
  33. package/dist/commands/knowledges/index.js +3 -3
  34. package/dist/commands/knowledges/list.js +5 -5
  35. package/dist/commands/knowledges/ls.js +5 -5
  36. package/dist/commands/knowledges/read.js +5 -5
  37. package/dist/commands/knowledges/realpath.js +6 -6
  38. package/dist/commands/knowledges/realpath.js.map +1 -1
  39. package/dist/commands/knowledges/search.js +5 -5
  40. package/dist/commands/knowledges/stat.js +5 -5
  41. package/dist/commands/knowledges/status.js +5 -5
  42. package/dist/commands/knowledges/tail.js +5 -5
  43. package/dist/commands/knowledges/tree.js +5 -5
  44. package/dist/commands/login.js +3 -3
  45. package/dist/commands/login.js.map +1 -1
  46. package/dist/commands/scrub.js +37 -14
  47. package/dist/commands/scrub.js.map +1 -1
  48. package/dist/commands/transcripts.js +41 -21
  49. package/dist/commands/transcripts.js.map +1 -1
  50. package/package.json +2 -3
  51. package/dist/chunk-3A6GRNEV.js.map +0 -1
  52. package/dist/chunk-7SO75QXJ.js.map +0 -1
  53. package/dist/chunk-DBA3BZXP.js.map +0 -1
  54. package/dist/chunk-L6ZVQRSY.js.map +0 -1
  55. package/dist/chunk-X4E7NAN4.js +0 -26
  56. package/dist/chunk-X4E7NAN4.js.map +0 -1
  57. /package/dist/{chunk-GBONV6XP.js.map → chunk-CVF2ODLP.js.map} +0 -0
  58. /package/dist/{chunk-TYDIBWZV.js.map → chunk-YJXAH7D5.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -2,30 +2,51 @@
2
2
  import {
3
3
  renderCngkitHelp,
4
4
  renderKnowledgesHelp
5
- } from "./chunk-3A6GRNEV.js";
5
+ } from "./chunk-SKK2XLRZ.js";
6
6
  import {
7
- consoleOutput,
8
7
  formatError,
9
8
  packageVersion,
10
9
  parseOutputFormat
11
- } from "./chunk-7SO75QXJ.js";
10
+ } from "./chunk-DIJEVOVN.js";
12
11
  import "./chunk-PZ5AY32C.js";
13
12
 
14
13
  // src/cli.ts
15
- import process from "process";
14
+ import process2 from "process";
15
+ import { createElement as createElement2 } from "react";
16
+ import { Text } from "ink";
16
17
  import Pastel from "pastel";
17
18
 
19
+ // src/cli/render-once.ts
20
+ import process from "process";
21
+ import { createElement, useEffect } from "react";
22
+ import { render, useApp } from "ink";
23
+ async function renderOnce(element, options) {
24
+ const instance = render(createElement(ExitAfterFirstRender, { element }), {
25
+ stdin: process.stdin,
26
+ stdout: options?.stdout ?? process.stdout,
27
+ stderr: process.stderr
28
+ });
29
+ await instance.waitUntilExit();
30
+ }
31
+ function ExitAfterFirstRender({ element }) {
32
+ const { exit } = useApp();
33
+ useEffect(() => {
34
+ queueMicrotask(() => exit());
35
+ }, [exit]);
36
+ return element;
37
+ }
38
+
18
39
  // src/cli/help.ts
19
- function printHelpIfRequested(argv, output = consoleOutput) {
40
+ async function printHelpIfRequested(argv, output) {
20
41
  const commandName = argv[2];
21
42
  if (commandName === void 0 || commandName === "--help" || commandName === "-h") {
22
- output.component(renderCngkitHelp());
43
+ await printHelpComponent(renderCngkitHelp(), output);
23
44
  return true;
24
45
  }
25
46
  if (commandName === "help") {
26
47
  const [topicName, subtopicName] = argv.slice(3);
27
48
  const topic = (topicName === "knowledges" || topicName === "coderoom" || topicName === "hookify" || topicName === "hooks") && subtopicName ? `${topicName}-${subtopicName}` : topicName;
28
- output.component(renderCngkitHelp(topic));
49
+ await printHelpComponent(renderCngkitHelp(topic), output);
29
50
  return true;
30
51
  }
31
52
  const commandArgs = argv.slice(3);
@@ -37,51 +58,69 @@ function printHelpIfRequested(argv, output = consoleOutput) {
37
58
  const topic = commandArgs.find(
38
59
  (argument, index) => index !== helpIndex && !argument.startsWith("-")
39
60
  );
40
- output.component(renderKnowledgesHelp(topic));
61
+ await printHelpComponent(renderKnowledgesHelp(topic), output);
41
62
  return true;
42
63
  }
43
64
  if (commandName === "coderoom") {
44
65
  const topic = commandArgs.find(
45
66
  (argument, index) => index !== helpIndex && !argument.startsWith("-")
46
67
  );
47
- output.component(renderCngkitHelp(topic ? `coderoom-${topic}` : "coderoom"));
68
+ await printHelpComponent(renderCngkitHelp(topic ? `coderoom-${topic}` : "coderoom"), output);
48
69
  return true;
49
70
  }
50
71
  if (commandName === "hookify") {
51
72
  const topic = commandArgs.find(
52
73
  (argument, index) => index !== helpIndex && !argument.startsWith("-")
53
74
  );
54
- output.component(renderCngkitHelp(topic ? `hookify-${topic}` : "hookify"));
75
+ await printHelpComponent(renderCngkitHelp(topic ? `hookify-${topic}` : "hookify"), output);
55
76
  return true;
56
77
  }
57
78
  if (commandName === "hooks") {
58
79
  const topic = commandArgs.find(
59
80
  (argument, index) => index !== helpIndex && !argument.startsWith("-")
60
81
  );
61
- output.component(renderCngkitHelp(topic ? `hooks-${topic}` : "hooks"));
82
+ await printHelpComponent(renderCngkitHelp(topic ? `hooks-${topic}` : "hooks"), output);
62
83
  return true;
63
84
  }
64
- output.component(renderCngkitHelp(commandName));
85
+ await printHelpComponent(renderCngkitHelp(commandName), output);
65
86
  return true;
66
87
  }
88
+ async function printHelpComponent(element, output) {
89
+ if (output) {
90
+ output.component(element);
91
+ return;
92
+ }
93
+ await renderOnce(element);
94
+ }
67
95
 
68
96
  // src/cli.ts
69
97
  try {
70
- const normalizedArgv = normalizeGlobalOptions(process.argv);
71
- if (printHelpIfRequested(normalizedArgv)) {
72
- process.exit(0);
98
+ const normalizedArgv = normalizeGlobalOptions(process2.argv);
99
+ if (await printHelpIfRequested(normalizedArgv)) {
100
+ process2.exit(0);
73
101
  }
74
102
  guardKnownCommand(normalizedArgv);
75
103
  const app = new Pastel({
76
104
  importMeta: import.meta,
77
105
  name: "cngkit",
78
106
  version: packageVersion,
79
- description: "Opinionated Curly.ng CLI kit for Coderoom collaboration and website tooling."
107
+ description: "Opinionated CNG CLI kit for Coderoom collaboration and operator workflows."
80
108
  });
81
109
  await app.run(normalizedArgv);
82
110
  } catch (error) {
83
- console.error(formatError(error));
84
- process.exitCode = 1;
111
+ await renderOnce(
112
+ createElement2(
113
+ Text,
114
+ {
115
+ bold: true,
116
+ color: "red",
117
+ wrap: "wrap"
118
+ },
119
+ formatError(error)
120
+ ),
121
+ { stdout: process2.stderr }
122
+ );
123
+ process2.exitCode = 1;
85
124
  }
86
125
  function normalizeGlobalOptions(argv) {
87
126
  const normalizedArgv = [...argv];
@@ -92,33 +131,33 @@ function normalizeGlobalOptions(argv) {
92
131
  if (!value || value.startsWith("-")) {
93
132
  throw new Error("Missing value for --format");
94
133
  }
95
- process.env.CNGKIT_FORMAT = parseOutputFormat(value);
134
+ process2.env.CNGKIT_FORMAT = parseOutputFormat(value);
96
135
  normalizedArgv.splice(index, 2);
97
136
  index -= 1;
98
137
  continue;
99
138
  }
100
139
  if (argument.startsWith("--format=")) {
101
- process.env.CNGKIT_FORMAT = parseOutputFormat(argument.slice("--format=".length));
140
+ process2.env.CNGKIT_FORMAT = parseOutputFormat(argument.slice("--format=".length));
102
141
  normalizedArgv.splice(index, 1);
103
142
  index -= 1;
104
143
  continue;
105
144
  }
106
145
  if (argument === "--no-color" || argument === "--no-colors") {
107
- process.env.CNGKIT_COLOR = "never";
108
- process.env.CNGKIT_NO_COLOR = "1";
146
+ process2.env.CNGKIT_COLOR = "never";
147
+ process2.env.CNGKIT_NO_COLOR = "1";
109
148
  normalizedArgv.splice(index, 1);
110
149
  index -= 1;
111
150
  continue;
112
151
  }
113
152
  if (argument === "--color") {
114
- process.env.CNGKIT_COLOR = "always";
153
+ process2.env.CNGKIT_COLOR = "always";
115
154
  normalizedArgv.splice(index, 1);
116
155
  index -= 1;
117
156
  continue;
118
157
  }
119
158
  if (argument.startsWith("--color=")) {
120
159
  const colorMode = argument.slice("--color=".length);
121
- process.env.CNGKIT_COLOR = colorMode === "false" || colorMode === "never" ? "never" : "always";
160
+ process2.env.CNGKIT_COLOR = colorMode === "false" || colorMode === "never" ? "never" : "always";
122
161
  normalizedArgv.splice(index, 1);
123
162
  index -= 1;
124
163
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts","../src/cli/help.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport process from \"node:process\";\n\nimport Pastel from \"pastel\";\n\nimport { printHelpIfRequested } from \"./cli/help.js\";\nimport { packageVersion, parseOutputFormat } from \"./shared/config.js\";\nimport { formatError } from \"./shared/output.js\";\n\ntry {\n const normalizedArgv = normalizeGlobalOptions(process.argv);\n\n if (printHelpIfRequested(normalizedArgv)) {\n process.exit(0);\n }\n\n guardKnownCommand(normalizedArgv);\n\n const app = new Pastel({\n importMeta: import.meta,\n name: \"cngkit\",\n version: packageVersion,\n description: \"Opinionated Curly.ng CLI kit for Coderoom collaboration and website tooling.\",\n });\n\n await app.run(normalizedArgv);\n} catch (error) {\n console.error(formatError(error));\n process.exitCode = 1;\n}\n\nfunction normalizeGlobalOptions(argv: string[]): string[] {\n const normalizedArgv = [...argv];\n\n for (let index = 2; index < normalizedArgv.length; index += 1) {\n const argument = normalizedArgv[index];\n\n if (argument === \"--format\") {\n const value = normalizedArgv[index + 1];\n if (!value || value.startsWith(\"-\")) {\n throw new Error(\"Missing value for --format\");\n }\n\n process.env.CNGKIT_FORMAT = parseOutputFormat(value);\n normalizedArgv.splice(index, 2);\n index -= 1;\n continue;\n }\n\n if (argument.startsWith(\"--format=\")) {\n process.env.CNGKIT_FORMAT = parseOutputFormat(argument.slice(\"--format=\".length));\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument === \"--no-color\" || argument === \"--no-colors\") {\n process.env.CNGKIT_COLOR = \"never\";\n process.env.CNGKIT_NO_COLOR = \"1\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument === \"--color\") {\n process.env.CNGKIT_COLOR = \"always\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument.startsWith(\"--color=\")) {\n const colorMode = argument.slice(\"--color=\".length);\n process.env.CNGKIT_COLOR =\n colorMode === \"false\" || colorMode === \"never\" ? \"never\" : \"always\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n }\n }\n\n normalizeKnowledgesFindOptions(normalizedArgv);\n return normalizedArgv;\n}\n\nfunction normalizeKnowledgesFindOptions(argv: string[]): void {\n if (argv[2] !== \"knowledges\" || argv[3] !== \"find\") {\n return;\n }\n\n for (let index = 4; index < argv.length; index += 1) {\n if (argv[index] === \"-name\") {\n argv[index] = \"--name\";\n continue;\n }\n\n if (argv[index] === \"-type\") {\n argv[index] = \"--type\";\n continue;\n }\n\n if (argv[index] === \"-maxdepth\") {\n argv[index] = \"--max-depth\";\n }\n }\n}\n\nfunction guardKnownCommand(argv: string[]): void {\n const commandName = argv[2];\n if (commandName === undefined || commandName.startsWith(\"-\")) {\n return;\n }\n\n const knownCommands = new Set([\n \"help\",\n \"login\",\n \"coderoom\",\n \"scrub\",\n \"transcripts\",\n \"knowledges\",\n \"hooks\",\n \"hookify\",\n ]);\n if (!knownCommands.has(commandName)) {\n throw new Error(`Unknown command \"${commandName}\". Run cngkit --help for available commands.`);\n }\n\n guardKnownSubcommand(commandName, argv.slice(3));\n}\n\nfunction guardKnownSubcommand(commandName: string, commandArgs: string[]): void {\n const subcommand = commandArgs.find((argument) => !argument.startsWith(\"-\"));\n if (!subcommand) {\n return;\n }\n\n if (commandName === \"coderoom\") {\n const knownCoderoomSubcommands = new Set([\"share\", \"join\"]);\n if (!knownCoderoomSubcommands.has(subcommand)) {\n throw new Error(`Unknown coderoom command \"${subcommand}\". Use one of: share, join.`);\n }\n }\n\n if (commandName === \"knowledges\") {\n const knownKnowledgesSubcommands = new Set([\n \"status\",\n \"audiences\",\n \"search\",\n \"list\",\n \"files\",\n \"read\",\n \"cat\",\n \"head\",\n \"tail\",\n \"grep\",\n \"glob\",\n \"ls\",\n \"tree\",\n \"find\",\n \"stat\",\n \"realpath\",\n \"help\",\n ]);\n if (!knownKnowledgesSubcommands.has(subcommand)) {\n throw new Error(\n `Unknown knowledges command \"${subcommand}\". Use one of: status, audiences, search, list, files, read, cat, head, tail, grep, glob, ls, tree, find, stat, realpath.`\n );\n }\n }\n\n if (commandName === \"hookify\") {\n const knownHookifySubcommands = new Set([\"ingest\"]);\n if (!knownHookifySubcommands.has(subcommand)) {\n throw new Error(`Unknown hookify command \"${subcommand}\". Use one of: ingest.`);\n }\n }\n\n if (commandName === \"hooks\") {\n const knownHooksSubcommands = new Set([\"install\", \"uninstall\"]);\n if (!knownHooksSubcommands.has(subcommand)) {\n throw new Error(`Unknown hooks command \"${subcommand}\". Use one of: install, uninstall.`);\n }\n }\n}\n","import { renderCngkitHelp, renderKnowledgesHelp } from \"./help-specs.js\";\nimport { consoleOutput, type CommandOutput } from \"../shared/output.js\";\n\nexport function printHelpIfRequested(\n argv: string[],\n output: CommandOutput = consoleOutput\n): boolean {\n const commandName = argv[2];\n\n if (commandName === undefined || commandName === \"--help\" || commandName === \"-h\") {\n output.component(renderCngkitHelp());\n return true;\n }\n\n if (commandName === \"help\") {\n const [topicName, subtopicName] = argv.slice(3);\n const topic =\n (topicName === \"knowledges\" ||\n topicName === \"coderoom\" ||\n topicName === \"hookify\" ||\n topicName === \"hooks\") &&\n subtopicName\n ? `${topicName}-${subtopicName}`\n : topicName;\n output.component(renderCngkitHelp(topic));\n return true;\n }\n\n const commandArgs = argv.slice(3);\n const helpIndex = commandArgs.findIndex((argument) => argument === \"--help\" || argument === \"-h\");\n\n if (helpIndex < 0) {\n return false;\n }\n\n if (commandName === \"knowledges\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n output.component(renderKnowledgesHelp(topic));\n return true;\n }\n\n if (commandName === \"coderoom\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n output.component(renderCngkitHelp(topic ? `coderoom-${topic}` : \"coderoom\"));\n return true;\n }\n\n if (commandName === \"hookify\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n output.component(renderCngkitHelp(topic ? `hookify-${topic}` : \"hookify\"));\n return true;\n }\n\n if (commandName === \"hooks\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n output.component(renderCngkitHelp(topic ? `hooks-${topic}` : \"hooks\"));\n return true;\n }\n\n output.component(renderCngkitHelp(commandName));\n return true;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/cli.ts","../src/cli/render-once.ts","../src/cli/help.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport process from \"node:process\";\nimport { createElement } from \"react\";\nimport { Text } from \"ink\";\n\nimport Pastel from \"pastel\";\n\nimport { printHelpIfRequested } from \"./cli/help.js\";\nimport { renderOnce } from \"./cli/render-once.js\";\nimport { packageVersion, parseOutputFormat } from \"./shared/config.js\";\nimport { formatError } from \"./shared/output.js\";\n\ntry {\n const normalizedArgv = normalizeGlobalOptions(process.argv);\n\n if (await printHelpIfRequested(normalizedArgv)) {\n process.exit(0);\n }\n\n guardKnownCommand(normalizedArgv);\n\n const app = new Pastel({\n importMeta: import.meta,\n name: \"cngkit\",\n version: packageVersion,\n description: \"Opinionated CNG CLI kit for Coderoom collaboration and operator workflows.\",\n });\n\n await app.run(normalizedArgv);\n} catch (error) {\n await renderOnce(\n createElement(\n Text,\n {\n bold: true,\n color: \"red\",\n wrap: \"wrap\",\n },\n formatError(error)\n ),\n { stdout: process.stderr }\n );\n process.exitCode = 1;\n}\n\nfunction normalizeGlobalOptions(argv: string[]): string[] {\n const normalizedArgv = [...argv];\n\n for (let index = 2; index < normalizedArgv.length; index += 1) {\n const argument = normalizedArgv[index];\n\n if (argument === \"--format\") {\n const value = normalizedArgv[index + 1];\n if (!value || value.startsWith(\"-\")) {\n throw new Error(\"Missing value for --format\");\n }\n\n process.env.CNGKIT_FORMAT = parseOutputFormat(value);\n normalizedArgv.splice(index, 2);\n index -= 1;\n continue;\n }\n\n if (argument.startsWith(\"--format=\")) {\n process.env.CNGKIT_FORMAT = parseOutputFormat(argument.slice(\"--format=\".length));\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument === \"--no-color\" || argument === \"--no-colors\") {\n process.env.CNGKIT_COLOR = \"never\";\n process.env.CNGKIT_NO_COLOR = \"1\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument === \"--color\") {\n process.env.CNGKIT_COLOR = \"always\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n continue;\n }\n\n if (argument.startsWith(\"--color=\")) {\n const colorMode = argument.slice(\"--color=\".length);\n process.env.CNGKIT_COLOR =\n colorMode === \"false\" || colorMode === \"never\" ? \"never\" : \"always\";\n normalizedArgv.splice(index, 1);\n index -= 1;\n }\n }\n\n normalizeKnowledgesFindOptions(normalizedArgv);\n return normalizedArgv;\n}\n\nfunction normalizeKnowledgesFindOptions(argv: string[]): void {\n if (argv[2] !== \"knowledges\" || argv[3] !== \"find\") {\n return;\n }\n\n for (let index = 4; index < argv.length; index += 1) {\n if (argv[index] === \"-name\") {\n argv[index] = \"--name\";\n continue;\n }\n\n if (argv[index] === \"-type\") {\n argv[index] = \"--type\";\n continue;\n }\n\n if (argv[index] === \"-maxdepth\") {\n argv[index] = \"--max-depth\";\n }\n }\n}\n\nfunction guardKnownCommand(argv: string[]): void {\n const commandName = argv[2];\n if (commandName === undefined || commandName.startsWith(\"-\")) {\n return;\n }\n\n const knownCommands = new Set([\n \"help\",\n \"login\",\n \"coderoom\",\n \"scrub\",\n \"transcripts\",\n \"knowledges\",\n \"hooks\",\n \"hookify\",\n ]);\n if (!knownCommands.has(commandName)) {\n throw new Error(`Unknown command \"${commandName}\". Run cngkit --help for available commands.`);\n }\n\n guardKnownSubcommand(commandName, argv.slice(3));\n}\n\nfunction guardKnownSubcommand(commandName: string, commandArgs: string[]): void {\n const subcommand = commandArgs.find((argument) => !argument.startsWith(\"-\"));\n if (!subcommand) {\n return;\n }\n\n if (commandName === \"coderoom\") {\n const knownCoderoomSubcommands = new Set([\"share\", \"join\"]);\n if (!knownCoderoomSubcommands.has(subcommand)) {\n throw new Error(`Unknown coderoom command \"${subcommand}\". Use one of: share, join.`);\n }\n }\n\n if (commandName === \"knowledges\") {\n const knownKnowledgesSubcommands = new Set([\n \"status\",\n \"audiences\",\n \"search\",\n \"list\",\n \"files\",\n \"read\",\n \"cat\",\n \"head\",\n \"tail\",\n \"grep\",\n \"glob\",\n \"ls\",\n \"tree\",\n \"find\",\n \"stat\",\n \"realpath\",\n \"help\",\n ]);\n if (!knownKnowledgesSubcommands.has(subcommand)) {\n throw new Error(\n `Unknown knowledges command \"${subcommand}\". Use one of: status, audiences, search, list, files, read, cat, head, tail, grep, glob, ls, tree, find, stat, realpath.`\n );\n }\n }\n\n if (commandName === \"hookify\") {\n const knownHookifySubcommands = new Set([\"ingest\"]);\n if (!knownHookifySubcommands.has(subcommand)) {\n throw new Error(`Unknown hookify command \"${subcommand}\". Use one of: ingest.`);\n }\n }\n\n if (commandName === \"hooks\") {\n const knownHooksSubcommands = new Set([\"install\", \"uninstall\"]);\n if (!knownHooksSubcommands.has(subcommand)) {\n throw new Error(`Unknown hooks command \"${subcommand}\". Use one of: install, uninstall.`);\n }\n }\n}\n","import process from \"node:process\";\nimport { createElement, useEffect, type ReactElement } from \"react\";\nimport { render, useApp } from \"ink\";\n\ntype OutputStream = NodeJS.WriteStream;\n\nexport async function renderOnce(\n element: ReactElement,\n options?: {\n readonly stdout?: OutputStream;\n }\n): Promise<void> {\n const instance = render(createElement(ExitAfterFirstRender, { element }), {\n stdin: process.stdin,\n stdout: options?.stdout ?? process.stdout,\n stderr: process.stderr,\n });\n await instance.waitUntilExit();\n}\n\nfunction ExitAfterFirstRender({ element }: { readonly element: ReactElement }) {\n const { exit } = useApp();\n\n useEffect(() => {\n queueMicrotask(() => exit());\n }, [exit]);\n\n return element;\n}\n","import type { ReactElement } from \"react\";\n\nimport { renderCngkitHelp, renderKnowledgesHelp } from \"./help-specs.js\";\nimport { renderOnce } from \"./render-once.js\";\nimport type { CommandOutput } from \"../shared/output.js\";\n\nexport async function printHelpIfRequested(\n argv: string[],\n output?: CommandOutput\n): Promise<boolean> {\n const commandName = argv[2];\n\n if (commandName === undefined || commandName === \"--help\" || commandName === \"-h\") {\n await printHelpComponent(renderCngkitHelp(), output);\n return true;\n }\n\n if (commandName === \"help\") {\n const [topicName, subtopicName] = argv.slice(3);\n const topic =\n (topicName === \"knowledges\" ||\n topicName === \"coderoom\" ||\n topicName === \"hookify\" ||\n topicName === \"hooks\") &&\n subtopicName\n ? `${topicName}-${subtopicName}`\n : topicName;\n await printHelpComponent(renderCngkitHelp(topic), output);\n return true;\n }\n\n const commandArgs = argv.slice(3);\n const helpIndex = commandArgs.findIndex((argument) => argument === \"--help\" || argument === \"-h\");\n\n if (helpIndex < 0) {\n return false;\n }\n\n if (commandName === \"knowledges\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n await printHelpComponent(renderKnowledgesHelp(topic), output);\n return true;\n }\n\n if (commandName === \"coderoom\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n await printHelpComponent(renderCngkitHelp(topic ? `coderoom-${topic}` : \"coderoom\"), output);\n return true;\n }\n\n if (commandName === \"hookify\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n await printHelpComponent(renderCngkitHelp(topic ? `hookify-${topic}` : \"hookify\"), output);\n return true;\n }\n\n if (commandName === \"hooks\") {\n const topic = commandArgs.find(\n (argument, index) => index !== helpIndex && !argument.startsWith(\"-\")\n );\n await printHelpComponent(renderCngkitHelp(topic ? `hooks-${topic}` : \"hooks\"), output);\n return true;\n }\n\n await printHelpComponent(renderCngkitHelp(commandName), output);\n return true;\n}\n\nasync function printHelpComponent(element: ReactElement, output: CommandOutput | undefined): Promise<void> {\n if (output) {\n output.component(element);\n return;\n }\n\n await renderOnce(element);\n}\n"],"mappings":"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","names":["process","createElement","process","createElement"]}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderCngkitHelp
3
- } from "../../chunk-3A6GRNEV.js";
3
+ } from "../../chunk-SKK2XLRZ.js";
4
4
  import {
5
5
  GlobalOptionsSchema
6
6
  } from "../../chunk-NGEWD4BW.js";
7
7
  import {
8
8
  CommandRunner
9
- } from "../../chunk-X4E7NAN4.js";
10
- import "../../chunk-7SO75QXJ.js";
9
+ } from "../../chunk-52PGDSFU.js";
10
+ import "../../chunk-DIJEVOVN.js";
11
11
  import "../../chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/commands/coderoom/index.tsx
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  runJoinCommand
3
- } from "../../chunk-GBONV6XP.js";
4
- import "../../chunk-TYDIBWZV.js";
3
+ } from "../../chunk-CVF2ODLP.js";
4
+ import "../../chunk-YJXAH7D5.js";
5
5
  import {
6
6
  GlobalOptionsSchema,
7
7
  RequiredRoomCodeArgsSchema
8
8
  } from "../../chunk-NGEWD4BW.js";
9
9
  import {
10
10
  CommandRunner
11
- } from "../../chunk-X4E7NAN4.js";
12
- import "../../chunk-7SO75QXJ.js";
11
+ } from "../../chunk-52PGDSFU.js";
12
+ import "../../chunk-DIJEVOVN.js";
13
13
  import "../../chunk-PZ5AY32C.js";
14
14
 
15
15
  // src/commands/coderoom/join.tsx
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  runShareCommand
3
- } from "../../chunk-GBONV6XP.js";
4
- import "../../chunk-TYDIBWZV.js";
3
+ } from "../../chunk-CVF2ODLP.js";
4
+ import "../../chunk-YJXAH7D5.js";
5
5
  import {
6
6
  GlobalOptionsSchema,
7
7
  OptionalRoomCodeArgsSchema
8
8
  } from "../../chunk-NGEWD4BW.js";
9
9
  import {
10
10
  CommandRunner
11
- } from "../../chunk-X4E7NAN4.js";
12
- import "../../chunk-7SO75QXJ.js";
11
+ } from "../../chunk-52PGDSFU.js";
12
+ import "../../chunk-DIJEVOVN.js";
13
13
  import "../../chunk-PZ5AY32C.js";
14
14
 
15
15
  // src/commands/coderoom/share.tsx
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderCngkitHelp
3
- } from "../../chunk-3A6GRNEV.js";
3
+ } from "../../chunk-SKK2XLRZ.js";
4
4
  import {
5
5
  GlobalOptionsSchema
6
6
  } from "../../chunk-NGEWD4BW.js";
7
7
  import {
8
8
  CommandRunner
9
- } from "../../chunk-X4E7NAN4.js";
10
- import "../../chunk-7SO75QXJ.js";
9
+ } from "../../chunk-52PGDSFU.js";
10
+ import "../../chunk-DIJEVOVN.js";
11
11
  import "../../chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/commands/hookify/index.tsx
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCngApiClient
3
- } from "../../chunk-TYDIBWZV.js";
3
+ } from "../../chunk-YJXAH7D5.js";
4
4
  import {
5
5
  GlobalOptionsSchema
6
6
  } from "../../chunk-NGEWD4BW.js";
7
7
  import {
8
8
  CommandRunner
9
- } from "../../chunk-X4E7NAN4.js";
10
- import "../../chunk-7SO75QXJ.js";
9
+ } from "../../chunk-52PGDSFU.js";
10
+ import "../../chunk-DIJEVOVN.js";
11
11
  import "../../chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/commands/hookify/ingest.tsx
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderCngkitHelp
3
- } from "../../chunk-3A6GRNEV.js";
3
+ } from "../../chunk-SKK2XLRZ.js";
4
4
  import {
5
5
  GlobalOptionsSchema
6
6
  } from "../../chunk-NGEWD4BW.js";
7
7
  import {
8
8
  CommandRunner
9
- } from "../../chunk-X4E7NAN4.js";
10
- import "../../chunk-7SO75QXJ.js";
9
+ } from "../../chunk-52PGDSFU.js";
10
+ import "../../chunk-DIJEVOVN.js";
11
11
  import "../../chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/commands/hooks/index.tsx
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  hookToolIds,
3
3
  runHooksInstallCommand
4
- } from "../../chunk-DBA3BZXP.js";
4
+ } from "../../chunk-SMTQ3W3F.js";
5
5
  import {
6
6
  GlobalOptionsSchema
7
7
  } from "../../chunk-NGEWD4BW.js";
8
8
  import {
9
9
  CommandRunner
10
- } from "../../chunk-X4E7NAN4.js";
11
- import "../../chunk-7SO75QXJ.js";
10
+ } from "../../chunk-52PGDSFU.js";
11
+ import "../../chunk-DIJEVOVN.js";
12
12
  import "../../chunk-PZ5AY32C.js";
13
13
 
14
14
  // src/commands/hooks/install.tsx
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  hookToolIds,
3
3
  runHooksUninstallCommand
4
- } from "../../chunk-DBA3BZXP.js";
4
+ } from "../../chunk-SMTQ3W3F.js";
5
5
  import {
6
6
  GlobalOptionsSchema
7
7
  } from "../../chunk-NGEWD4BW.js";
8
8
  import {
9
9
  CommandRunner
10
- } from "../../chunk-X4E7NAN4.js";
11
- import "../../chunk-7SO75QXJ.js";
10
+ } from "../../chunk-52PGDSFU.js";
11
+ import "../../chunk-DIJEVOVN.js";
12
12
  import "../../chunk-PZ5AY32C.js";
13
13
 
14
14
  // src/commands/hooks/uninstall.tsx
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  renderCngkitHelp
3
- } from "../chunk-3A6GRNEV.js";
3
+ } from "../chunk-SKK2XLRZ.js";
4
4
  import {
5
5
  CommandRunner
6
- } from "../chunk-X4E7NAN4.js";
7
- import "../chunk-7SO75QXJ.js";
6
+ } from "../chunk-52PGDSFU.js";
7
+ import "../chunk-DIJEVOVN.js";
8
8
  import "../chunk-PZ5AY32C.js";
9
9
 
10
10
  // src/commands/index.tsx
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  runKnowAudiencesCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  JsonOutputOptionsSchema
9
9
  } from "../../chunk-NGEWD4BW.js";
10
10
  import {
11
11
  CommandRunner
12
- } from "../../chunk-X4E7NAN4.js";
13
- import "../../chunk-7SO75QXJ.js";
12
+ } from "../../chunk-52PGDSFU.js";
13
+ import "../../chunk-DIJEVOVN.js";
14
14
  import "../../chunk-PZ5AY32C.js";
15
15
 
16
16
  // src/commands/knowledges/audiences.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowCatCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  JsonOutputOptionsSchema,
9
9
  RequiredFilePathArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/cat.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowFilesCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  JsonOutputOptionsSchema,
9
9
  OptionalQueryArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/files.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowFindCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  JsonOutputOptionsSchema,
9
9
  OptionalPathArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/find.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowGlobCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  LimitOptionsSchema,
9
9
  OptionalGlobPatternArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/glob.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowGrepCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  LimitOptionsSchema,
9
9
  RequiredPatternArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/grep.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowHeadCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  JsonOutputOptionsSchema,
9
9
  RequiredFilePathArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/head.tsx
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderKnowledgesHelp
3
- } from "../../chunk-3A6GRNEV.js";
3
+ } from "../../chunk-SKK2XLRZ.js";
4
4
  import {
5
5
  GlobalOptionsSchema
6
6
  } from "../../chunk-NGEWD4BW.js";
7
7
  import {
8
8
  CommandRunner
9
- } from "../../chunk-X4E7NAN4.js";
10
- import "../../chunk-7SO75QXJ.js";
9
+ } from "../../chunk-52PGDSFU.js";
10
+ import "../../chunk-DIJEVOVN.js";
11
11
  import "../../chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/commands/knowledges/index.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowListCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  LimitOptionsSchema,
9
9
  OptionalQueryArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/list.tsx
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  runKnowLsCommand
3
- } from "../../chunk-L6ZVQRSY.js";
3
+ } from "../../chunk-5WTRGYAO.js";
4
4
  import "../../chunk-XQGLUQFM.js";
5
- import "../../chunk-3A6GRNEV.js";
6
- import "../../chunk-TYDIBWZV.js";
5
+ import "../../chunk-SKK2XLRZ.js";
6
+ import "../../chunk-YJXAH7D5.js";
7
7
  import {
8
8
  LimitOptionsSchema,
9
9
  OptionalPathArgsSchema
10
10
  } from "../../chunk-NGEWD4BW.js";
11
11
  import {
12
12
  CommandRunner
13
- } from "../../chunk-X4E7NAN4.js";
14
- import "../../chunk-7SO75QXJ.js";
13
+ } from "../../chunk-52PGDSFU.js";
14
+ import "../../chunk-DIJEVOVN.js";
15
15
  import "../../chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/commands/knowledges/ls.tsx