@agentuity/cli 2.0.12 → 2.0.13

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 (67) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +15 -8
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cmd/cloud/sandbox/snapshot/create.js +4 -4
  5. package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
  6. package/dist/cmd/coder/workspace/common.d.ts +29 -0
  7. package/dist/cmd/coder/workspace/common.d.ts.map +1 -0
  8. package/dist/cmd/coder/workspace/common.js +83 -0
  9. package/dist/cmd/coder/workspace/common.js.map +1 -0
  10. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  11. package/dist/cmd/coder/workspace/create.js +34 -37
  12. package/dist/cmd/coder/workspace/create.js.map +1 -1
  13. package/dist/cmd/coder/workspace/get.d.ts.map +1 -1
  14. package/dist/cmd/coder/workspace/get.js +2 -5
  15. package/dist/cmd/coder/workspace/get.js.map +1 -1
  16. package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
  17. package/dist/cmd/coder/workspace/index.js +10 -0
  18. package/dist/cmd/coder/workspace/index.js.map +1 -1
  19. package/dist/cmd/coder/workspace/list.d.ts.map +1 -1
  20. package/dist/cmd/coder/workspace/list.js +4 -0
  21. package/dist/cmd/coder/workspace/list.js.map +1 -1
  22. package/dist/cmd/coder/workspace/refresh.d.ts +2 -0
  23. package/dist/cmd/coder/workspace/refresh.d.ts.map +1 -0
  24. package/dist/cmd/coder/workspace/refresh.js +59 -0
  25. package/dist/cmd/coder/workspace/refresh.js.map +1 -0
  26. package/dist/cmd/coder/workspace/update.d.ts +2 -0
  27. package/dist/cmd/coder/workspace/update.d.ts.map +1 -0
  28. package/dist/cmd/coder/workspace/update.js +131 -0
  29. package/dist/cmd/coder/workspace/update.js.map +1 -0
  30. package/dist/cmd/coder/workspace/validate-dependencies.d.ts +2 -0
  31. package/dist/cmd/coder/workspace/validate-dependencies.d.ts.map +1 -0
  32. package/dist/cmd/coder/workspace/validate-dependencies.js +70 -0
  33. package/dist/cmd/coder/workspace/validate-dependencies.js.map +1 -0
  34. package/dist/cmd/project/random-name.d.ts +17 -0
  35. package/dist/cmd/project/random-name.d.ts.map +1 -0
  36. package/dist/cmd/project/random-name.js +144 -0
  37. package/dist/cmd/project/random-name.js.map +1 -0
  38. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  39. package/dist/cmd/project/template-flow.js +181 -153
  40. package/dist/cmd/project/template-flow.js.map +1 -1
  41. package/dist/composite-logger.d.ts.map +1 -1
  42. package/dist/composite-logger.js +19 -0
  43. package/dist/composite-logger.js.map +1 -1
  44. package/dist/config.d.ts +18 -16
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +46 -16
  47. package/dist/config.js.map +1 -1
  48. package/dist/tui/prompt.d.ts +29 -0
  49. package/dist/tui/prompt.d.ts.map +1 -1
  50. package/dist/tui/prompt.js +180 -8
  51. package/dist/tui/prompt.js.map +1 -1
  52. package/package.json +7 -7
  53. package/src/cli.ts +30 -8
  54. package/src/cmd/cloud/sandbox/snapshot/create.ts +6 -6
  55. package/src/cmd/coder/workspace/common.ts +103 -0
  56. package/src/cmd/coder/workspace/create.ts +39 -43
  57. package/src/cmd/coder/workspace/get.ts +2 -5
  58. package/src/cmd/coder/workspace/index.ts +10 -0
  59. package/src/cmd/coder/workspace/list.ts +4 -0
  60. package/src/cmd/coder/workspace/refresh.ts +63 -0
  61. package/src/cmd/coder/workspace/update.ts +154 -0
  62. package/src/cmd/coder/workspace/validate-dependencies.ts +75 -0
  63. package/src/cmd/project/random-name.ts +152 -0
  64. package/src/cmd/project/template-flow.ts +199 -161
  65. package/src/composite-logger.ts +20 -0
  66. package/src/config.ts +69 -19
  67. package/src/tui/prompt.ts +214 -8
@@ -39,23 +39,34 @@ export class PromptFlow {
39
39
  }
40
40
  /**
41
41
  * Text input prompt
42
+ *
43
+ * Two render paths:
44
+ * - With `placeholder`: custom raw-keypress renderer that paints the placeholder
45
+ * inline as dim ghost text at the cursor (autofill style). Vanishes on the first
46
+ * keystroke; Enter on an empty buffer accepts the placeholder.
47
+ * - Without `placeholder`: original readline-based renderer (untouched).
42
48
  */
43
49
  async text(options) {
44
- const { message, validate } = options;
45
- const initial = options.initial ?? '';
46
- const hasDefault = options.initial !== undefined;
50
+ const { message, validate, placeholder } = options;
51
+ // `placeholder` acts as a visible default: empty submit resolves to it.
52
+ // `initial` (legacy, invisible) still works but `placeholder` takes precedence.
53
+ const fallback = placeholder ?? options.initial ?? '';
54
+ const hasDefault = placeholder !== undefined || options.initial !== undefined;
47
55
  if (!this.isInteractive()) {
48
56
  if (hasDefault) {
49
- const validationResult = validate ? await validate(initial) : true;
57
+ const validationResult = validate ? await validate(fallback) : true;
50
58
  if (validationResult === true) {
51
- return initial;
59
+ return fallback;
52
60
  }
53
61
  // Validation failed - include the error message if it's a string
54
62
  const errorDetail = typeof validationResult === 'string' ? `: ${validationResult}` : '';
55
- throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode. Validation failed for default value "${initial}"${errorDetail}.`);
63
+ throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode. Validation failed for default value "${fallback}"${errorDetail}.`);
56
64
  }
57
65
  throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode.`);
58
66
  }
67
+ if (placeholder) {
68
+ return this.textWithGhost(options, placeholder);
69
+ }
59
70
  return new Promise((resolve, reject) => {
60
71
  const rl = readline.createInterface({
61
72
  input: process.stdin,
@@ -76,8 +87,8 @@ export class PromptFlow {
76
87
  showPrompt();
77
88
  rl.on('line', async (input) => {
78
89
  const trimmed = input.trim();
79
- // After a validation error, require explicit input - don't fall back to initial
80
- const value = trimmed.length > 0 ? trimmed : hadValidationError ? '' : initial;
90
+ // After a validation error, require explicit input - don't fall back to default.
91
+ const value = trimmed.length > 0 ? trimmed : hadValidationError ? '' : fallback;
81
92
  // Validate
82
93
  if (validate) {
83
94
  try {
@@ -145,6 +156,167 @@ export class PromptFlow {
145
156
  });
146
157
  });
147
158
  }
159
+ /**
160
+ * Text input with inline ghost-text placeholder (autofill style).
161
+ *
162
+ * Layout:
163
+ * ◆ <message>
164
+ * │ <hint> (optional)
165
+ * │ <typed>│<ghost> ghost is dim, vanishes on first keystroke
166
+ *
167
+ * Behavior:
168
+ * - Typing any char hides the ghost permanently for this prompt instance.
169
+ * - Backspacing back to empty does NOT bring the ghost back.
170
+ * - Enter on empty buffer → resolves to placeholder.
171
+ * - Enter with typed text → resolves to typed text.
172
+ * - Validation error: shows inline error, ghost stays gone, user must type.
173
+ * - Ctrl+C: cancels.
174
+ */
175
+ async textWithGhost(options, placeholder) {
176
+ const { message, validate, hint } = options;
177
+ return new Promise((resolve, reject) => {
178
+ let buffer = '';
179
+ // Tracks whether the ghost should still be visible. Once any printable key is
180
+ // pressed it goes false and stays false for the rest of this prompt.
181
+ let ghostVisible = true;
182
+ let hasError = false;
183
+ let errorMsg = '';
184
+ const inputPrefix = `${colors.secondary(symbols.bar)} `;
185
+ // Visible-character length of the input-line prefix ("│ " = 3 cells).
186
+ const PREFIX_VISIBLE = 3;
187
+ /**
188
+ * Repaint everything from the message line down. Cursor must be on the
189
+ * message line (column 0) when this is called for the first time, or we
190
+ * just moved up to it after a clear.
191
+ */
192
+ const paint = () => {
193
+ const symbol = hasError ? colors.error(symbols.error) : colors.active(symbols.active);
194
+ process.stdout.write(`${symbol} ${message}\n`);
195
+ if (hasError) {
196
+ process.stdout.write(`${colors.secondary(symbols.bar)} ${colors.error(errorMsg)}\n`);
197
+ }
198
+ else if (hint) {
199
+ process.stdout.write(`${colors.secondary(symbols.bar)} ${colors.muted(hint)}\n`);
200
+ }
201
+ // Input line.
202
+ process.stdout.write(inputPrefix);
203
+ process.stdout.write(buffer);
204
+ if (ghostVisible && buffer.length === 0) {
205
+ // Paint the ghost, then move the cursor back to the start of it so the
206
+ // caret sits where the user would start typing.
207
+ process.stdout.write(colors.muted(placeholder));
208
+ readline.moveCursor(process.stdout, -placeholder.length, 0);
209
+ }
210
+ };
211
+ /**
212
+ * Number of terminal lines currently occupied by our render, so we know
213
+ * how many to clear on the next repaint.
214
+ * Always: message (1) + hint-or-error (0/1) + input (1).
215
+ */
216
+ const renderedLines = () => {
217
+ let n = 1; // message
218
+ if (hasError || hint)
219
+ n += 1;
220
+ n += 1; // input
221
+ return n;
222
+ };
223
+ const repaint = () => {
224
+ // Move cursor to column 0, then up to the start of our render block, then clear.
225
+ readline.cursorTo(process.stdout, 0);
226
+ readline.moveCursor(process.stdout, 0, -(renderedLines() - 1));
227
+ readline.clearScreenDown(process.stdout);
228
+ paint();
229
+ };
230
+ // Resume stdin if it was paused by a prior prompt.
231
+ if (process.stdin.isTTY && process.stdin.isPaused()) {
232
+ process.stdin.resume();
233
+ }
234
+ readline.emitKeypressEvents(process.stdin);
235
+ if (process.stdin.isTTY) {
236
+ process.stdin.setRawMode(true);
237
+ }
238
+ // Initial paint.
239
+ paint();
240
+ const cleanup = () => {
241
+ process.stdin.removeListener('keypress', onKeypress);
242
+ if (process.stdin.isTTY) {
243
+ process.stdin.setRawMode(false);
244
+ process.stdin.pause();
245
+ }
246
+ };
247
+ const finalize = (value) => {
248
+ // Repaint as completed: replace whole render block with the completed lines.
249
+ readline.cursorTo(process.stdout, 0);
250
+ readline.moveCursor(process.stdout, 0, -(renderedLines() - 1));
251
+ readline.clearScreenDown(process.stdout);
252
+ if (value === '') {
253
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)}\n`);
254
+ }
255
+ else {
256
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(value)}\n${colors.secondary(symbols.bar)}\n`);
257
+ }
258
+ this.states.push({ type: 'completed', message, value });
259
+ cleanup();
260
+ resolve(value);
261
+ };
262
+ const onKeypress = async (str, key) => {
263
+ if (key.ctrl && key.name === 'c') {
264
+ cleanup();
265
+ console.log('\n');
266
+ this.cancel('Operation cancelled');
267
+ reject(new Error('User cancelled'));
268
+ return;
269
+ }
270
+ if (key.name === 'return') {
271
+ const trimmed = buffer.trim();
272
+ // Empty submit accepts the placeholder, but only if no error has occurred
273
+ // (after an error the user must type explicitly — same rule the readline
274
+ // path uses).
275
+ const value = trimmed.length > 0 ? trimmed : hasError ? '' : placeholder;
276
+ if (validate) {
277
+ try {
278
+ const result = await validate(value);
279
+ if (result !== true) {
280
+ errorMsg = typeof result === 'string' ? result : 'Invalid input';
281
+ hasError = true;
282
+ ghostVisible = false;
283
+ repaint();
284
+ return;
285
+ }
286
+ }
287
+ catch (err) {
288
+ errorMsg = err instanceof Error ? err.message : 'Validation failed';
289
+ hasError = true;
290
+ ghostVisible = false;
291
+ repaint();
292
+ return;
293
+ }
294
+ }
295
+ finalize(value);
296
+ return;
297
+ }
298
+ if (key.name === 'backspace') {
299
+ if (buffer.length > 0) {
300
+ buffer = buffer.slice(0, -1);
301
+ repaint();
302
+ }
303
+ return;
304
+ }
305
+ // Printable single character (ignore arrow keys, function keys, etc.).
306
+ if (str && str.length === 1 && !key.ctrl && str >= ' ' && str !== '\x7f') {
307
+ buffer += str;
308
+ ghostVisible = false;
309
+ repaint();
310
+ return;
311
+ }
312
+ // Everything else (arrows, tab, etc.) is ignored.
313
+ };
314
+ // Mark the prefix length as used so the unused-var rule doesn't trip when we
315
+ // extend this in future. (Keeping it documented for cursor-math sanity.)
316
+ void PREFIX_VISIBLE;
317
+ process.stdin.on('keypress', onKeypress);
318
+ });
319
+ }
148
320
  /**
149
321
  * Confirm (yes/no) prompt
150
322
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tui/prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA8ClC;;GAEG;AACH,MAAM,OAAO,UAAU;IACd,MAAM,GAAkB,EAAE,CAAC;IAE3B,aAAa;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEO,mBAAmB,CAAC,OAAe;QAC1C,OAAO,IAAI,KAAK,CACf,GAAG,OAAO,uEAAuE,CACjF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,QAAkB;QAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,kCAAkC;QAClC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC;gBAChB,CAAC;gBACD,iEAAiE;gBACjE,MAAM,WAAW,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxF,MAAM,IAAI,CAAC,mBAAmB,CAC7B,sBAAsB,OAAO,mEAAmE,OAAO,IAAI,WAAW,GAAG,CACzH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,OAAO,4BAA4B,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACnC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,uCAAuC;aACrF,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAE/B,MAAM,UAAU,GAAG,GAAG,EAAE;gBACvB,iCAAiC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CACnE,CAAC;gBACH,CAAC;gBACD,2CAA2C;gBAC3C,EAAE,CAAC,MAAM,EAAE,CAAC;YACb,CAAC,CAAC;YAEF,UAAU,EAAE,CAAC;YAEb,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,gFAAgF;gBAChF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE/E,WAAW;gBACX,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC;wBACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;4BACrB,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;4BAEvE,qDAAqD;4BACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;4BACtD,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAEzC,2BAA2B;4BAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAC3G,CAAC;4BACF,2CAA2C;4BAC3C,EAAE,CAAC,MAAM,EAAE,CAAC;4BACZ,QAAQ,GAAG,IAAI,CAAC;4BAChB,kBAAkB,GAAG,IAAI,CAAC;4BAC1B,OAAO;wBACR,CAAC;oBACF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,2BAA2B;wBAC3B,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;wBAE9E,2BAA2B;wBAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;wBACtD,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAEzC,yBAAyB;wBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAC3G,CAAC;wBAEF,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;4BACzB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wBACvB,CAAC;wBAED,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBACtD,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEzC,qEAAqE;gBACrE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACxF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAClJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,OAAO;oBACP,KAAK;iBACL,CAAC,CAAC;gBAEH,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEX,mDAAmD;gBACnD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACpB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACpC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAErC,gCAAgC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAED,cAAc;YACd,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAC5E,CAAC;YAEF,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAkB,EAAE,EAAE;gBACtD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,KAAK,GAAG,OAAO,CAAC;gBAEpB,yBAAyB;gBACzB,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAK,GAAG,IAAI,CAAC;gBACd,CAAC;qBAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,GAAG,KAAK,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,yBAAyB;oBACzB,KAAK,GAAG,OAAO,CAAC;gBACjB,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACpC,OAAO;gBACR,CAAC;qBAAM,CAAC;oBACP,oBAAoB;oBACpB,OAAO;gBACR,CAAC;gBAED,OAAO,EAAE,CAAC;gBAEV,0CAA0C;gBAC1C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACrC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAEtC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACzJ,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,OAAO;oBACP,KAAK;iBACL,CAAC,CAAC;gBAEH,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAChC,oBAAoB;oBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAa,OAAyB;QACjD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,IAAI,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,CAAC,CAAC;gBAAE,aAAa,GAAG,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,mBAAmB,CAC7B,sBAAsB,OAAO,4BAA4B,CACzD,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,CAAC,CAAC;gBAAE,aAAa,GAAG,CAAC,CAAC;YAE5C,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,MAAM,MAAM,GAAG,GAAG,EAAE;gBACnB,wBAAwB;gBACxB,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACzC,oEAAoE;oBACpE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBACpD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;gBAEvE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACjC,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC;oBAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;oBACxE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI;wBACxB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAChD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAClE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,WAAW,GAAG,IAAI,CAAC;YACpB,CAAC,CAAC;YAEF,gCAAgC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAED,MAAM,EAAE,CAAC;YAET,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;gBACvD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC3C,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACpD,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;oBAChE,MAAM,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;oBACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;wBAC5C,OAAO;oBACR,CAAC;oBAED,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3C,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACvC,CAAC;oBACD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAErC,uBAAuB;oBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAC3J,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,WAAW;wBACjB,OAAO;wBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACrB,CAAC,CAAC;oBAEH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAa,OAA8B;QAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACjF,CAAC;YAEF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,MAAM,MAAM,GAAG,GAAG,EAAE;gBACnB,wBAAwB;gBACxB,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACzC,oEAAoE;oBACpE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBACpD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACrC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,IAAI,CACvG,CAAC;gBAEF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACjC,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAC;oBACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI;wBACxB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAChD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAClE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,WAAW,GAAG,IAAI,CAAC;YACpB,CAAC,CAAC;YAEF,gCAAgC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAED,MAAM,EAAE,CAAC;YAET,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;gBACvD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC3C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACpD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC5D,MAAM,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/B,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC3B,CAAC;oBACD,MAAM,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,EAAE,CAAC;oBAEV,kEAAkE;oBAClE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,aAAa;yBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;yBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;oBACjC,MAAM,MAAM,GAAG,aAAa;yBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;yBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;oBAEjC,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3C,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACvC,CAAC;oBACD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAErC,uBAAuB;oBACvB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACzJ,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,WAAW;wBACjB,OAAO;wBACP,KAAK,EAAE,MAAM;qBACb,CAAC,CAAC;oBAEH,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAe;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,UAAU,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tui/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/cli",
3
- "version": "2.0.12",
3
+ "version": "2.0.13",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -41,11 +41,11 @@
41
41
  "prepublishOnly": "bun run clean && bun run build"
42
42
  },
43
43
  "dependencies": {
44
- "@agentuity/auth": "2.0.12",
45
- "@agentuity/coder-tui": "2.0.12",
46
- "@agentuity/core": "2.0.12",
47
- "@agentuity/frontend": "2.0.12",
48
- "@agentuity/server": "2.0.12",
44
+ "@agentuity/auth": "2.0.13",
45
+ "@agentuity/coder-tui": "2.0.13",
46
+ "@agentuity/core": "2.0.13",
47
+ "@agentuity/frontend": "2.0.13",
48
+ "@agentuity/server": "2.0.13",
49
49
  "@datasert/cronjs-parser": "^1.4.0",
50
50
  "@vitejs/plugin-react": "^5.1.2",
51
51
  "acorn-loose": "^8.5.2",
@@ -64,7 +64,7 @@
64
64
  "zod": "^4.3.5"
65
65
  },
66
66
  "devDependencies": {
67
- "@agentuity/test-utils": "2.0.12",
67
+ "@agentuity/test-utils": "2.0.13",
68
68
  "@types/adm-zip": "^0.5.7",
69
69
  "@types/archiver": "^7.0.0",
70
70
  "@types/bun": "latest",
package/src/cli.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { homedir } from 'node:os';
2
- import { resolve } from 'node:path';
3
1
  import { Command } from 'commander';
4
2
  import type {
5
3
  CommandDefinition,
@@ -28,7 +26,13 @@ import { fetchRegionsWithCache } from './regions';
28
26
  import enquirer from 'enquirer';
29
27
  import * as tui from './tui';
30
28
  import { parseArgsSchema, parseOptionsSchema, buildValidationInputAsync } from './schema-parser';
31
- import { defaultProfileName, loadProjectConfig, saveProjectId, saveRegion } from './config';
29
+ import {
30
+ defaultProfileName,
31
+ loadProjectConfig,
32
+ resolveProjectConfigPaths,
33
+ saveProjectId,
34
+ saveRegion,
35
+ } from './config';
32
36
  import { APIClient, getAPIBaseURL, getAppBaseURL, type APIClient as APIClientType } from './api';
33
37
  import { ErrorCode, ExitCode, createError, exitWithError, formatErrorJSON } from './errors';
34
38
  import { getCommand } from './command-prefix';
@@ -1385,6 +1389,7 @@ async function registerSubcommand(
1385
1389
  ) {
1386
1390
  options.projectId = (baseCtx.options as unknown as Record<string, unknown>).projectId;
1387
1391
  }
1392
+ const ctxOptions = { ...baseCtx.options, ...options } as GlobalOptions;
1388
1393
 
1389
1394
  if (subcommand.banner) {
1390
1395
  showBanner();
@@ -1463,11 +1468,7 @@ async function registerSubcommand(
1463
1468
  } else {
1464
1469
  // Priority 2: Try to load from agentuity.json in directory
1465
1470
  const dir = (options.dir as string | undefined) ?? process.cwd();
1466
- projectDir = dir;
1467
- if (projectDir.startsWith('~/')) {
1468
- projectDir = projectDir.replace('~/', homedir());
1469
- }
1470
- projectDir = resolve(projectDir);
1471
+ projectDir = (await resolveProjectConfigPaths(dir, baseCtx.config)).projectDir;
1471
1472
  try {
1472
1473
  project = await loadProjectConfig(dir, baseCtx.config);
1473
1474
  } catch (error) {
@@ -1478,6 +1479,21 @@ async function registerSubcommand(
1478
1479
  error.name === 'ProjectConfigNotFoundException';
1479
1480
 
1480
1481
  if (isConfigNotFound) {
1482
+ if ('explicit' in error && error.explicit === true) {
1483
+ const configPath =
1484
+ 'configPath' in error && typeof error.configPath === 'string'
1485
+ ? error.configPath
1486
+ : dir;
1487
+ exitWithError(
1488
+ createError(
1489
+ ErrorCode.PROJECT_NOT_FOUND,
1490
+ `Project config not found: ${configPath}`
1491
+ ),
1492
+ baseCtx.logger,
1493
+ baseCtx.options.errorFormat
1494
+ );
1495
+ }
1496
+
1481
1497
  // Priority 3: Try global preference (only when no agentuity.json found)
1482
1498
  const projectIdFromPreference = baseCtx.config?.preferences?.projectId as
1483
1499
  | string
@@ -1568,6 +1584,7 @@ async function registerSubcommand(
1568
1584
  );
1569
1585
  const ctx: Record<string, unknown> = {
1570
1586
  ...baseCtx,
1587
+ options: ctxOptions,
1571
1588
  config: {
1572
1589
  ...(baseCtx.config ?? {}),
1573
1590
  auth: {
@@ -1697,6 +1714,7 @@ async function registerSubcommand(
1697
1714
  } else {
1698
1715
  const ctx: Record<string, unknown> = {
1699
1716
  ...baseCtx,
1717
+ options: ctxOptions,
1700
1718
  config: baseCtx.config
1701
1719
  ? {
1702
1720
  ...baseCtx.config,
@@ -1864,6 +1882,7 @@ async function registerSubcommand(
1864
1882
  );
1865
1883
  const ctx: Record<string, unknown> = {
1866
1884
  ...baseCtx,
1885
+ options: ctxOptions,
1867
1886
  config: auth
1868
1887
  ? {
1869
1888
  ...(baseCtx.config ?? {}),
@@ -1996,6 +2015,7 @@ async function registerSubcommand(
1996
2015
  } else {
1997
2016
  const ctx: Record<string, unknown> = {
1998
2017
  ...baseCtx,
2018
+ options: ctxOptions,
1999
2019
  config: auth
2000
2020
  ? {
2001
2021
  ...(baseCtx.config ?? {}),
@@ -2134,6 +2154,7 @@ async function registerSubcommand(
2134
2154
  );
2135
2155
  const ctx: Record<string, unknown> = {
2136
2156
  ...baseCtx,
2157
+ options: ctxOptions,
2137
2158
  };
2138
2159
  if (project || projectDir) {
2139
2160
  if (project) {
@@ -2185,6 +2206,7 @@ async function registerSubcommand(
2185
2206
  } else {
2186
2207
  const ctx: Record<string, unknown> = {
2187
2208
  ...baseCtx,
2209
+ options: ctxOptions,
2188
2210
  };
2189
2211
  if (project || projectDir) {
2190
2212
  if (project) {
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { getCommand } from '../../../../command-prefix';
4
4
  import * as tui from '../../../../tui';
5
5
  import { createCommand } from '../../../../types';
6
- import { createSandboxClient, getSandboxRegion } from '../util';
6
+ import { createSandboxClient, resolveSandboxTarget } from '../util';
7
7
 
8
8
  const SNAPSHOT_NAME_REGEX = /^[a-zA-Z0-9_-]+$/;
9
9
  const SNAPSHOT_TAG_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
@@ -88,15 +88,15 @@ export const createSubcommand = createCommand({
88
88
  }
89
89
 
90
90
  const profileName = config?.name;
91
- const region = await getSandboxRegion(
91
+ const sandboxInfo = await resolveSandboxTarget(
92
92
  logger,
93
93
  auth,
94
- profileName,
94
+ null,
95
95
  args.sandboxId,
96
- orgId,
96
+ profileName,
97
97
  config
98
98
  );
99
- const client = createSandboxClient(logger, auth, region);
99
+ const client = createSandboxClient(logger, auth, sandboxInfo.region);
100
100
 
101
101
  const snapshot = await snapshotCreate(client, {
102
102
  sandboxId: args.sandboxId,
@@ -104,7 +104,7 @@ export const createSubcommand = createCommand({
104
104
  description: opts.description,
105
105
  tag: opts.tag,
106
106
  public: opts.public,
107
- orgId,
107
+ orgId: sandboxInfo.orgId ?? orgId,
108
108
  });
109
109
 
110
110
  if (!options.json) {
@@ -0,0 +1,103 @@
1
+ import {
2
+ type CoderCreateWorkspaceRequest,
3
+ type CoderUpdateWorkspaceRequest,
4
+ type CoderWorkspaceDetail,
5
+ } from '@agentuity/core/coder';
6
+ import { StructuredError } from '@agentuity/core';
7
+ import * as tui from '../../../tui';
8
+
9
+ export const EMPTY_WORKSPACE_ERROR =
10
+ 'A workspace needs at least one repo, dependency, setup script, saved skill, skill bucket, or agent';
11
+ export const SetupScriptValidationError = StructuredError('SetupScriptValidationError')<{
12
+ message: string;
13
+ path?: string;
14
+ }>();
15
+
16
+ export function parseCommaList(value?: string): string[] {
17
+ return value
18
+ ? value
19
+ .split(',')
20
+ .map((item) => item.trim())
21
+ .filter(Boolean)
22
+ : [];
23
+ }
24
+
25
+ export async function readSetupScript(input: {
26
+ setupScript?: string;
27
+ setupScriptFile?: string;
28
+ }): Promise<string | undefined> {
29
+ if (input.setupScript !== undefined && input.setupScriptFile) {
30
+ throw new SetupScriptValidationError({
31
+ message: 'Use either --setup-script or --setup-script-file, not both.',
32
+ });
33
+ }
34
+ if (input.setupScript !== undefined) return input.setupScript;
35
+ if (!input.setupScriptFile) return undefined;
36
+ try {
37
+ return await Bun.file(input.setupScriptFile).text();
38
+ } catch (error) {
39
+ throw new SetupScriptValidationError({
40
+ message: `Failed to read setup script file "${input.setupScriptFile}": ${
41
+ error instanceof Error ? error.message : String(error)
42
+ }`,
43
+ path: input.setupScriptFile,
44
+ cause: error,
45
+ });
46
+ }
47
+ }
48
+
49
+ export function hasWorkspaceSelections(input: CoderCreateWorkspaceRequest): boolean {
50
+ return (
51
+ (input.repos?.length ?? 0) > 0 ||
52
+ (input.dependencies?.length ?? 0) > 0 ||
53
+ Boolean(input.setupScript?.trim()) ||
54
+ (input.savedSkillIds?.length ?? 0) > 0 ||
55
+ (input.skillBucketIds?.length ?? 0) > 0 ||
56
+ (input.enabledAgents?.length ?? 0) > 0
57
+ );
58
+ }
59
+
60
+ export function hasWorkspaceUpdate(input: CoderUpdateWorkspaceRequest): boolean {
61
+ return Object.keys(input).length > 0;
62
+ }
63
+
64
+ export function formatWorkspaceValidationMessage(issues: Array<{ message: string }>): string {
65
+ const messages = [...new Set(issues.map((issue) => issue.message).filter(Boolean))];
66
+ if (messages.length === 0) {
67
+ return 'Invalid workspace configuration';
68
+ }
69
+ if (messages.includes(EMPTY_WORKSPACE_ERROR)) {
70
+ return `${EMPTY_WORKSPACE_ERROR}. Use --repo, --dependency, --setup-script, or --enabled-agents.`;
71
+ }
72
+ return messages.join('; ');
73
+ }
74
+
75
+ export function printWorkspaceSummary(workspace: CoderWorkspaceDetail): void {
76
+ const enabledAgents = Array.isArray(workspace.enabledAgents)
77
+ ? workspace.enabledAgents.filter((name): name is string => typeof name === 'string')
78
+ : [];
79
+ const dependencies = Array.isArray(workspace.dependencies) ? workspace.dependencies : [];
80
+
81
+ tui.output(` Name: ${tui.bold(workspace.name)}`);
82
+ if (workspace.description) {
83
+ tui.output(` Description: ${workspace.description}`);
84
+ }
85
+ tui.output(` Scope: ${workspace.scope}`);
86
+ tui.output(` Repos: ${workspace.repoCount}`);
87
+ tui.output(` Selections: ${workspace.selectionCount}`);
88
+ if (dependencies.length > 0) {
89
+ tui.output(` Dependencies:${dependencies.length === 1 ? ` ${dependencies[0]}` : ''}`);
90
+ for (const dependency of dependencies.length === 1 ? [] : dependencies) {
91
+ tui.output(` - ${dependency}`);
92
+ }
93
+ }
94
+ if (workspace.setupScript) {
95
+ tui.output(' Setup: configured');
96
+ }
97
+ if (workspace.snapshot?.status) {
98
+ tui.output(` Snapshot: ${workspace.snapshot.status}`);
99
+ }
100
+ if (enabledAgents.length > 0) {
101
+ tui.output(` Agents: ${enabledAgents.join(', ')}`);
102
+ }
103
+ }