@kamaras/venpm 0.1.1 → 0.2.0

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 (95) hide show
  1. package/dist/cli/completions.d.ts +3 -0
  2. package/dist/cli/completions.d.ts.map +1 -0
  3. package/dist/cli/completions.js +78 -0
  4. package/dist/cli/completions.js.map +1 -0
  5. package/dist/cli/config-cmd.d.ts.map +1 -1
  6. package/dist/cli/config-cmd.js +30 -22
  7. package/dist/cli/config-cmd.js.map +1 -1
  8. package/dist/cli/context.d.ts.map +1 -1
  9. package/dist/cli/context.js +26 -9
  10. package/dist/cli/context.js.map +1 -1
  11. package/dist/cli/create.d.ts.map +1 -1
  12. package/dist/cli/create.js +20 -22
  13. package/dist/cli/create.js.map +1 -1
  14. package/dist/cli/doctor.d.ts.map +1 -1
  15. package/dist/cli/doctor.js +37 -24
  16. package/dist/cli/doctor.js.map +1 -1
  17. package/dist/cli/first-run.d.ts +4 -0
  18. package/dist/cli/first-run.d.ts.map +1 -0
  19. package/dist/cli/first-run.js +51 -0
  20. package/dist/cli/first-run.js.map +1 -0
  21. package/dist/cli/help.d.ts +3 -0
  22. package/dist/cli/help.d.ts.map +1 -0
  23. package/dist/cli/help.js +42 -0
  24. package/dist/cli/help.js.map +1 -0
  25. package/dist/cli/info.d.ts.map +1 -1
  26. package/dist/cli/info.js +48 -53
  27. package/dist/cli/info.js.map +1 -1
  28. package/dist/cli/install.d.ts.map +1 -1
  29. package/dist/cli/install.js +52 -67
  30. package/dist/cli/install.js.map +1 -1
  31. package/dist/cli/list.d.ts.map +1 -1
  32. package/dist/cli/list.js +20 -20
  33. package/dist/cli/list.js.map +1 -1
  34. package/dist/cli/rebuild.d.ts.map +1 -1
  35. package/dist/cli/rebuild.js +19 -26
  36. package/dist/cli/rebuild.js.map +1 -1
  37. package/dist/cli/repo.d.ts.map +1 -1
  38. package/dist/cli/repo.js +22 -32
  39. package/dist/cli/repo.js.map +1 -1
  40. package/dist/cli/search.d.ts.map +1 -1
  41. package/dist/cli/search.js +19 -20
  42. package/dist/cli/search.js.map +1 -1
  43. package/dist/cli/uninstall.d.ts.map +1 -1
  44. package/dist/cli/uninstall.js +14 -16
  45. package/dist/cli/uninstall.js.map +1 -1
  46. package/dist/cli/update.d.ts.map +1 -1
  47. package/dist/cli/update.js +26 -33
  48. package/dist/cli/update.js.map +1 -1
  49. package/dist/cli/validate.d.ts.map +1 -1
  50. package/dist/cli/validate.js +14 -21
  51. package/dist/cli/validate.js.map +1 -1
  52. package/dist/core/ansi.d.ts +14 -0
  53. package/dist/core/ansi.d.ts.map +1 -0
  54. package/dist/core/ansi.js +36 -0
  55. package/dist/core/ansi.js.map +1 -0
  56. package/dist/core/errors.d.ts +36 -0
  57. package/dist/core/errors.d.ts.map +1 -0
  58. package/dist/core/errors.js +70 -0
  59. package/dist/core/errors.js.map +1 -0
  60. package/dist/core/fuzzy.d.ts +3 -0
  61. package/dist/core/fuzzy.d.ts.map +1 -0
  62. package/dist/core/fuzzy.js +30 -0
  63. package/dist/core/fuzzy.js.map +1 -0
  64. package/dist/core/json-renderer.d.ts +5 -0
  65. package/dist/core/json-renderer.d.ts.map +1 -0
  66. package/dist/core/json-renderer.js +48 -0
  67. package/dist/core/json-renderer.js.map +1 -0
  68. package/dist/core/json.d.ts +5 -3
  69. package/dist/core/json.d.ts.map +1 -1
  70. package/dist/core/json.js +8 -4
  71. package/dist/core/json.js.map +1 -1
  72. package/dist/core/progress.d.ts +11 -0
  73. package/dist/core/progress.d.ts.map +1 -0
  74. package/dist/core/progress.js +53 -0
  75. package/dist/core/progress.js.map +1 -0
  76. package/dist/core/prompt.d.ts.map +1 -1
  77. package/dist/core/prompt.js +62 -4
  78. package/dist/core/prompt.js.map +1 -1
  79. package/dist/core/renderer.d.ts +13 -0
  80. package/dist/core/renderer.d.ts.map +1 -0
  81. package/dist/core/renderer.js +157 -0
  82. package/dist/core/renderer.js.map +1 -0
  83. package/dist/core/stream-renderer.d.ts +5 -0
  84. package/dist/core/stream-renderer.d.ts.map +1 -0
  85. package/dist/core/stream-renderer.js +71 -0
  86. package/dist/core/stream-renderer.js.map +1 -0
  87. package/dist/core/types.d.ts +46 -8
  88. package/dist/core/types.d.ts.map +1 -1
  89. package/dist/index.js +17 -1
  90. package/dist/index.js.map +1 -1
  91. package/package.json +1 -1
  92. package/dist/core/log.d.ts +0 -8
  93. package/dist/core/log.d.ts.map +0 -1
  94. package/dist/core/log.js +0 -24
  95. package/dist/core/log.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { createColors, shouldColorize } from "./ansi.js";
1
2
  export function createPrompter(options) {
2
3
  if (options.yes) {
3
4
  return {
@@ -27,9 +28,10 @@ export function createPrompter(options) {
27
28
  async confirm(message, defaultValue = true) {
28
29
  const { createInterface } = await import("readline/promises");
29
30
  const rl = createInterface({ input: process.stdin, output: process.stdout });
31
+ const c = createColors(shouldColorize(process.stdout));
30
32
  const hint = defaultValue ? "[Y/n]" : "[y/N]";
31
33
  try {
32
- const answer = await rl.question(`${message} ${hint} `);
34
+ const answer = await rl.question(` ${c.amber("?")} ${message} ${c.dim(hint)} `);
33
35
  const trimmed = answer.trim().toLowerCase();
34
36
  if (trimmed === "")
35
37
  return defaultValue;
@@ -42,9 +44,10 @@ export function createPrompter(options) {
42
44
  async input(message, defaultValue) {
43
45
  const { createInterface } = await import("readline/promises");
44
46
  const rl = createInterface({ input: process.stdin, output: process.stdout });
47
+ const c = createColors(shouldColorize(process.stdout));
45
48
  const hint = defaultValue !== undefined ? ` (${defaultValue})` : "";
46
49
  try {
47
- const answer = await rl.question(`${message}${hint}: `);
50
+ const answer = await rl.question(` ${c.amber("?")} ${message}${c.dim(hint)}: `);
48
51
  const trimmed = answer.trim();
49
52
  return trimmed === "" ? (defaultValue ?? "") : trimmed;
50
53
  }
@@ -53,13 +56,68 @@ export function createPrompter(options) {
53
56
  }
54
57
  },
55
58
  async select(message, choices) {
59
+ const c = createColors(shouldColorize(process.stdout));
60
+ // Try raw mode for arrow-key navigation
61
+ if (process.stdin.isTTY && typeof process.stdin.setRawMode === "function") {
62
+ return new Promise((resolve) => {
63
+ let selected = 0;
64
+ function render() {
65
+ const lines = choices.map((choice, i) => {
66
+ const marker = i === selected ? c.amber("❯") : " ";
67
+ const label = i === selected ? choice.label : c.dim(choice.label);
68
+ return ` ${marker} ${label}`;
69
+ });
70
+ process.stdout.write(`\r\x1b[K ${c.amber("?")} ${message}\n`);
71
+ for (const line of lines) {
72
+ process.stdout.write(`\r\x1b[K${line}\n`);
73
+ }
74
+ // Move cursor back up
75
+ process.stdout.write(`\x1b[${lines.length + 1}A`);
76
+ }
77
+ render();
78
+ process.stdin.setRawMode(true);
79
+ process.stdin.resume();
80
+ function onData(data) {
81
+ const key = data.toString();
82
+ if (key === "\x1b[A" || key === "k") { // Up arrow or k
83
+ selected = (selected - 1 + choices.length) % choices.length;
84
+ render();
85
+ }
86
+ else if (key === "\x1b[B" || key === "j") { // Down arrow or j
87
+ selected = (selected + 1) % choices.length;
88
+ render();
89
+ }
90
+ else if (key === "\r" || key === "\n") { // Enter
91
+ process.stdin.setRawMode(false);
92
+ process.stdin.pause();
93
+ process.stdin.removeListener("data", onData);
94
+ // Clear the select UI and show chosen value
95
+ process.stdout.write(`\r\x1b[K ${c.amber("?")} ${message} ${c.bright(choices[selected].label)}\n`);
96
+ // Clear remaining lines
97
+ for (let i = 0; i < choices.length; i++) {
98
+ process.stdout.write(`\r\x1b[K\n`);
99
+ }
100
+ process.stdout.write(`\x1b[${choices.length}A`);
101
+ resolve(choices[selected].value);
102
+ }
103
+ else if (key === "\x03") { // Ctrl+C
104
+ process.stdin.setRawMode(false);
105
+ process.stdin.pause();
106
+ process.stdin.removeListener("data", onData);
107
+ process.exit(130);
108
+ }
109
+ }
110
+ process.stdin.on("data", onData);
111
+ });
112
+ }
113
+ // Fallback: numbered input with styling
56
114
  const { createInterface } = await import("readline/promises");
57
115
  const rl = createInterface({ input: process.stdin, output: process.stdout });
58
- const lines = choices.map((c, i) => ` ${i + 1}) ${c.label}`).join("\n");
116
+ const lines = choices.map((ch, i) => ` ${i + 1}) ${ch.label}`).join("\n");
59
117
  try {
60
118
  // eslint-disable-next-line no-constant-condition
61
119
  while (true) {
62
- const answer = await rl.question(`${message}\n${lines}\nChoice [1]: `);
120
+ const answer = await rl.question(` ${c.amber("?")} ${message}\n${lines}\nChoice [1]: `);
63
121
  const trimmed = answer.trim();
64
122
  if (trimmed === "")
65
123
  return choices[0].value;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Renderer } from "./types.js";
2
+ import type { Colors } from "./ansi.js";
3
+ type WriteFn = (data: string) => void;
4
+ export declare function createPlainRenderer(options: {
5
+ verbose: boolean;
6
+ quiet: boolean;
7
+ }, write?: WriteFn): Renderer;
8
+ export declare function createTtyRenderer(options: {
9
+ verbose: boolean;
10
+ quiet: boolean;
11
+ }, write?: WriteFn, colors?: Colors): Renderer;
12
+ export {};
13
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/core/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAmCtC,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAC7C,KAAK,GAAE,OAAwC,GAChD,QAAQ,CA0EV;AAID,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAC7C,KAAK,GAAE,OAAwC,EAC/C,MAAM,GAAE,MAA2B,GACpC,QAAQ,CAgFV"}
@@ -0,0 +1,157 @@
1
+ import { createColors } from "./ansi.js";
2
+ import { createPlainProgress, createTtyProgress } from "./progress.js";
3
+ // ─── Alignment helpers ────────────────────────────────────────────────────────
4
+ function padEnd(s, width) {
5
+ return s + " ".repeat(Math.max(0, width - s.length));
6
+ }
7
+ function columnWidths(headers, rows) {
8
+ return headers.map((h, i) => Math.max(h.length, ...rows.map((r) => (r[i] ?? "").length)));
9
+ }
10
+ // ─── Error formatting ─────────────────────────────────────────────────────────
11
+ function formatError(info, write, cross, codeColor, suggestionColor) {
12
+ write(` ${cross("✖")} ${info.message}\n`);
13
+ if (info.suggestion) {
14
+ write(` ⟩ ${suggestionColor(info.suggestion)}\n`);
15
+ }
16
+ const codePart = `[${info.code}]`;
17
+ // Right-pad to 48 chars so code appears at the far right
18
+ const padding = " ".repeat(Math.max(0, 48 - codePart.length));
19
+ write(`${padding}${codeColor(codePart)}\n`);
20
+ }
21
+ // ─── PlainRenderer ────────────────────────────────────────────────────────────
22
+ export function createPlainRenderer(options, write = (d) => process.stdout.write(d)) {
23
+ const { verbose, quiet } = options;
24
+ return {
25
+ text(message) {
26
+ if (quiet)
27
+ return;
28
+ write(` ${message}\n`);
29
+ },
30
+ heading(message) {
31
+ if (quiet)
32
+ return;
33
+ write(` ${message}\n`);
34
+ },
35
+ success(message) {
36
+ if (quiet)
37
+ return;
38
+ write(` ✔ ${message}\n`);
39
+ },
40
+ warn(message) {
41
+ write(` ⚠ ${message}\n`);
42
+ },
43
+ error(info) {
44
+ formatError(info, write, (s) => s, (s) => s, (s) => s);
45
+ },
46
+ verbose(message) {
47
+ if (!verbose)
48
+ return;
49
+ write(` ${message}\n`);
50
+ },
51
+ dim(message) {
52
+ if (quiet)
53
+ return;
54
+ write(` ${message}\n`);
55
+ },
56
+ table(headers, rows) {
57
+ const widths = columnWidths(headers, rows);
58
+ const headerLine = headers.map((h, i) => padEnd(h, widths[i])).join(" ");
59
+ write(` ${headerLine}\n`);
60
+ const sep = widths.map((w) => "-".repeat(w)).join(" ");
61
+ write(` ${sep}\n`);
62
+ for (const row of rows) {
63
+ const line = row.map((cell, i) => padEnd(cell, widths[i])).join(" ");
64
+ write(` ${line}\n`);
65
+ }
66
+ },
67
+ keyValue(pairs) {
68
+ const maxKey = Math.max(...pairs.map(([k]) => k.length));
69
+ for (const [key, value] of pairs) {
70
+ write(` ${padEnd(key, maxKey)}: ${value}\n`);
71
+ }
72
+ },
73
+ list(items) {
74
+ for (const item of items) {
75
+ write(` • ${item}\n`);
76
+ }
77
+ },
78
+ progress(id, message) {
79
+ return createPlainProgress(id, message, write);
80
+ },
81
+ write(data) {
82
+ write(data);
83
+ },
84
+ finish(_success, _data, _warnings) {
85
+ // no-op: plain renderer writes immediately
86
+ },
87
+ };
88
+ }
89
+ // ─── TtyRenderer ──────────────────────────────────────────────────────────────
90
+ export function createTtyRenderer(options, write = (d) => process.stdout.write(d), colors = createColors(true)) {
91
+ const { verbose, quiet } = options;
92
+ return {
93
+ text(message) {
94
+ if (quiet)
95
+ return;
96
+ write(` ${message}\n`);
97
+ },
98
+ heading(message) {
99
+ if (quiet)
100
+ return;
101
+ write(` ${colors.bold(colors.amber(message))}\n`);
102
+ },
103
+ success(message) {
104
+ if (quiet)
105
+ return;
106
+ write(` ${colors.emerald("✔")} ${message}\n`);
107
+ },
108
+ warn(message) {
109
+ write(` ${colors.yellow("⚠")} ${message}\n`);
110
+ },
111
+ error(info) {
112
+ formatError(info, write, (s) => colors.red(s), (s) => colors.dim(s), (s) => colors.amber(s));
113
+ },
114
+ verbose(message) {
115
+ if (!verbose)
116
+ return;
117
+ write(` ${colors.dim(message)}\n`);
118
+ },
119
+ dim(message) {
120
+ if (quiet)
121
+ return;
122
+ write(` ${colors.dim(message)}\n`);
123
+ },
124
+ table(headers, rows) {
125
+ const widths = columnWidths(headers, rows);
126
+ const headerLine = headers.map((h, i) => padEnd(h, widths[i])).join(" ");
127
+ write(` ${colors.dim(headerLine)}\n`);
128
+ const sep = widths.map((w) => "-".repeat(w)).join(" ");
129
+ write(` ${colors.dim(sep)}\n`);
130
+ for (const row of rows) {
131
+ const line = row.map((cell, i) => padEnd(cell, widths[i])).join(" ");
132
+ write(` ${line}\n`);
133
+ }
134
+ },
135
+ keyValue(pairs) {
136
+ const maxKey = Math.max(...pairs.map(([k]) => k.length));
137
+ for (const [key, value] of pairs) {
138
+ write(` ${colors.dim(padEnd(key, maxKey) + ":")} ${value}\n`);
139
+ }
140
+ },
141
+ list(items) {
142
+ for (const item of items) {
143
+ write(` • ${item}\n`);
144
+ }
145
+ },
146
+ progress(id, message) {
147
+ return createTtyProgress(id, message, write, colors);
148
+ },
149
+ write(data) {
150
+ write(data);
151
+ },
152
+ finish(_success, _data, _warnings) {
153
+ // no-op: tty renderer writes immediately
154
+ },
155
+ };
156
+ }
157
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/core/renderer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAuB,MAAM,eAAe,CAAC;AAI5F,iFAAiF;AAEjF,SAAS,MAAM,CAAC,CAAS,EAAE,KAAa;IACpC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,OAAiB,EAAE,IAAgB;IACrD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAC9D,CAAC;AACN,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAChB,IAAe,EACf,KAAc,EACd,KAA4B,EAC5B,SAAgC,EAChC,eAAsC;IAEtC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAClC,yDAAyD;IACzD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,KAAK,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,mBAAmB,CAC/B,OAA6C,EAC7C,QAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnC,OAAO;QACH,IAAI,CAAC,OAAe;YAChB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,OAAe;YAChB,KAAK,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,IAAe;YACjB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,GAAG,CAAC,OAAe;YACf,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,OAAiB,EAAE,IAAgB;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,KAAK,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,KAAyB;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAe;YAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,EAAU,EAAE,OAAe;YAChC,OAAO,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,IAAY;YACd,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,QAAiB,EAAE,KAAe,EAAE,SAAoB;YAC3D,2CAA2C;QAC/C,CAAC;KACJ,CAAC;AACN,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,iBAAiB,CAC7B,OAA6C,EAC7C,QAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,SAAiB,YAAY,CAAC,IAAI,CAAC;IAEnC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnC,OAAO;QACH,IAAI,CAAC,OAAe;YAChB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,OAAe;YAChB,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,IAAe;YACjB,WAAW,CACP,IAAI,EACJ,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACzB,CAAC;QACN,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,GAAG,CAAC,OAAe;YACf,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,OAAiB,EAAE,IAAgB;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,KAAyB;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAe;YAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,EAAU,EAAE,OAAe;YAChC,OAAO,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,IAAY;YACd,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,QAAiB,EAAE,KAAe,EAAE,SAAoB;YAC3D,yCAAyC;QAC7C,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Renderer } from "./types.js";
2
+ type WriteFn = (data: string) => void;
3
+ export declare function createStreamRenderer(write?: WriteFn): Renderer;
4
+ export {};
5
+ //# sourceMappingURL=stream-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-renderer.d.ts","sourceRoot":"","sources":["../../src/core/stream-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAMtC,wBAAgB,oBAAoB,CAChC,KAAK,GAAE,OAAwC,GAChD,QAAQ,CAgEV"}
@@ -0,0 +1,71 @@
1
+ function emit(write, event) {
2
+ write(JSON.stringify(event) + "\n");
3
+ }
4
+ export function createStreamRenderer(write = (s) => process.stdout.write(s)) {
5
+ const warnings = [];
6
+ let lastError;
7
+ return {
8
+ text(message) {
9
+ emit(write, { type: "log", message });
10
+ },
11
+ heading(message) {
12
+ emit(write, { type: "log", message });
13
+ },
14
+ success(message) {
15
+ emit(write, { type: "log", message });
16
+ },
17
+ warn(message) {
18
+ warnings.push(message);
19
+ emit(write, { type: "warning", message });
20
+ },
21
+ error(info) {
22
+ lastError = info;
23
+ },
24
+ verbose(message) {
25
+ emit(write, { type: "log", message });
26
+ },
27
+ dim(message) {
28
+ emit(write, { type: "log", message });
29
+ },
30
+ table() { },
31
+ keyValue() { },
32
+ list() { },
33
+ progress(id, message) {
34
+ emit(write, { type: "progress", id, message });
35
+ return {
36
+ update(msg) {
37
+ emit(write, { type: "progress", id, message: msg });
38
+ },
39
+ succeed(msg) {
40
+ emit(write, { type: "progress", id, status: "done", message: msg ?? message });
41
+ },
42
+ fail(msg) {
43
+ emit(write, { type: "progress", id, status: "fail", message: msg ?? message });
44
+ },
45
+ };
46
+ },
47
+ write(data) {
48
+ emit(write, { type: "log", message: data });
49
+ },
50
+ finish(success, data, extraWarnings) {
51
+ const allWarnings = [...warnings, ...(extraWarnings ?? [])];
52
+ if (success) {
53
+ const event = { type: "result", success: true, data };
54
+ if (allWarnings.length > 0)
55
+ event.warnings = allWarnings;
56
+ emit(write, event);
57
+ }
58
+ else {
59
+ const event = {
60
+ type: "error",
61
+ success: false,
62
+ error: lastError ?? { code: "UNKNOWN", message: "Unknown error" },
63
+ };
64
+ if (allWarnings.length > 0)
65
+ event.warnings = allWarnings;
66
+ emit(write, event);
67
+ }
68
+ },
69
+ };
70
+ }
71
+ //# sourceMappingURL=stream-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-renderer.js","sourceRoot":"","sources":["../../src/core/stream-renderer.ts"],"names":[],"mappings":"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"}
@@ -167,20 +167,13 @@ export interface Prompter {
167
167
  label: string;
168
168
  }[]): Promise<T>;
169
169
  }
170
- export interface Logger {
171
- info(message: string): void;
172
- warn(message: string): void;
173
- error(message: string): void;
174
- verbose(message: string): void;
175
- success(message: string): void;
176
- }
177
170
  export interface IOContext {
178
171
  fs: FileSystem;
179
172
  http: HttpClient;
180
173
  git: GitClient;
181
174
  shell: ShellRunner;
182
175
  prompter: Prompter;
183
- logger: Logger;
176
+ renderer: Renderer;
184
177
  }
185
178
  export interface GlobalOptions {
186
179
  config?: string;
@@ -188,6 +181,7 @@ export interface GlobalOptions {
188
181
  quiet?: boolean;
189
182
  yes?: boolean;
190
183
  json?: boolean;
184
+ jsonStream?: boolean;
191
185
  }
192
186
  export interface InstallOptions extends GlobalOptions {
193
187
  version?: string;
@@ -205,4 +199,48 @@ export interface CreateOptions extends GlobalOptions {
205
199
  export interface ValidateOptions extends GlobalOptions {
206
200
  strict?: boolean;
207
201
  }
202
+ export type { ErrorInfo } from "./errors.js";
203
+ export type { ProgressHandle } from "./progress.js";
204
+ export interface Renderer {
205
+ text(message: string): void;
206
+ heading(message: string): void;
207
+ success(message: string): void;
208
+ warn(message: string): void;
209
+ error(info: import("./errors.js").ErrorInfo): void;
210
+ verbose(message: string): void;
211
+ dim(message: string): void;
212
+ table(headers: string[], rows: string[][]): void;
213
+ keyValue(pairs: [string, string][]): void;
214
+ list(items: string[]): void;
215
+ progress(id: string, message: string): import("./progress.js").ProgressHandle;
216
+ write(data: string): void;
217
+ /** Called when the command is done — renderers that buffer (JsonRenderer) flush here. */
218
+ finish(success: boolean, data?: unknown, warnings?: string[]): void;
219
+ }
220
+ export type StreamEvent = {
221
+ type: "progress";
222
+ id: string;
223
+ message: string;
224
+ } | {
225
+ type: "progress";
226
+ id: string;
227
+ status: "done" | "fail";
228
+ message: string;
229
+ } | {
230
+ type: "warning";
231
+ message: string;
232
+ code?: string;
233
+ } | {
234
+ type: "log";
235
+ message: string;
236
+ } | {
237
+ type: "result";
238
+ success: true;
239
+ data: unknown;
240
+ warnings?: string[];
241
+ } | {
242
+ type: "error";
243
+ success: false;
244
+ error: import("./errors.js").ErrorInfo;
245
+ };
208
246
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,10 @@ import { registerCreateCommand } from "./cli/create.js";
13
13
  import { registerRebuildCommand } from "./cli/rebuild.js";
14
14
  import { registerDoctorCommand } from "./cli/doctor.js";
15
15
  import { registerValidateCommand } from "./cli/validate.js";
16
+ import { configureHelp } from "./cli/help.js";
17
+ import { registerCompletionsCommand } from "./cli/completions.js";
18
+ import { createRealIOContext } from "./cli/context.js";
19
+ import { needsFirstRun, runFirstTimeSetup } from "./cli/first-run.js";
16
20
  const _require = createRequire(import.meta.url);
17
21
  const { version } = _require("../package.json");
18
22
  const program = new Command();
@@ -23,7 +27,10 @@ program
23
27
  .option("-y, --yes", "Automatically answer yes to all prompts")
24
28
  .option("--verbose", "Enable verbose output")
25
29
  .option("--quiet", "Suppress non-essential output")
26
- .option("--json", "Output structured JSON instead of human-readable text");
30
+ .option("--json", "Output structured JSON instead of human-readable text")
31
+ .option("--json-stream", "Output events as NDJSON")
32
+ .option("--no-color", "Disable colored output");
33
+ configureHelp(program);
27
34
  registerInstallCommand(program);
28
35
  registerUninstallCommand(program);
29
36
  registerUpdateCommand(program);
@@ -36,5 +43,14 @@ registerCreateCommand(program);
36
43
  registerRebuildCommand(program);
37
44
  registerDoctorCommand(program);
38
45
  registerValidateCommand(program);
46
+ registerCompletionsCommand(program);
47
+ program.hook("preAction", async (thisCommand) => {
48
+ const commandName = thisCommand.args[0] ?? "";
49
+ if (needsFirstRun(commandName)) {
50
+ const globalOpts = program.opts();
51
+ const ctx = createRealIOContext(globalOpts);
52
+ await runFirstTimeSetup(ctx, version);
53
+ }
54
+ });
39
55
  program.parse();
40
56
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAC9D,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;KAClD,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC,CAAC;AAE/E,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamaras/venpm",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Vencord Plugin Manager — CLI and index spec for distributing userplugins",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,8 +0,0 @@
1
- import type { Logger } from "./types.js";
2
- type WriteFn = (message: string) => void;
3
- export declare function createLogger(options: {
4
- verbose: boolean;
5
- quiet: boolean;
6
- }, write?: WriteFn): Logger;
7
- export {};
8
- //# sourceMappingURL=log.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/core/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,wBAAgB,YAAY,CACxB,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAC7C,KAAK,GAAE,OAAqB,GAC7B,MAAM,CAwBR"}
package/dist/core/log.js DELETED
@@ -1,24 +0,0 @@
1
- export function createLogger(options, write = console.log) {
2
- const { verbose, quiet } = options;
3
- return {
4
- info(message) {
5
- if (!quiet)
6
- write(message);
7
- },
8
- warn(message) {
9
- write(`⚠ ${message}`);
10
- },
11
- error(message) {
12
- write(`✖ ${message}`);
13
- },
14
- verbose(message) {
15
- if (verbose)
16
- write(message);
17
- },
18
- success(message) {
19
- if (!quiet)
20
- write(`✔ ${message}`);
21
- },
22
- };
23
- }
24
- //# sourceMappingURL=log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/core/log.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CACxB,OAA6C,EAC7C,QAAiB,OAAO,CAAC,GAAG;IAE5B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnC,OAAO;QACH,IAAI,CAAC,OAAe;YAChB,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,OAAe;YAChB,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,OAAe;YACjB,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,OAAe;YACnB,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;AACN,CAAC"}