pupt 2.2.1 → 2.3.1

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 (108) hide show
  1. package/dist/cli.js +94 -58
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/add.d.ts +4 -1
  4. package/dist/commands/add.d.ts.map +1 -1
  5. package/dist/commands/add.js +60 -11
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/cache.d.ts +9 -0
  8. package/dist/commands/cache.d.ts.map +1 -0
  9. package/dist/commands/cache.js +31 -0
  10. package/dist/commands/cache.js.map +1 -0
  11. package/dist/commands/config.d.ts +1 -2
  12. package/dist/commands/config.d.ts.map +1 -1
  13. package/dist/commands/config.js +30 -57
  14. package/dist/commands/config.js.map +1 -1
  15. package/dist/commands/edit.d.ts.map +1 -1
  16. package/dist/commands/edit.js +5 -2
  17. package/dist/commands/edit.js.map +1 -1
  18. package/dist/commands/init-refactored.d.ts.map +1 -1
  19. package/dist/commands/init-refactored.js +0 -3
  20. package/dist/commands/init-refactored.js.map +1 -1
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +59 -68
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/commands/install.d.ts +9 -9
  25. package/dist/commands/install.d.ts.map +1 -1
  26. package/dist/commands/install.js +76 -178
  27. package/dist/commands/install.js.map +1 -1
  28. package/dist/commands/review.d.ts.map +1 -1
  29. package/dist/commands/review.js +3 -1
  30. package/dist/commands/review.js.map +1 -1
  31. package/dist/commands/run.d.ts +2 -0
  32. package/dist/commands/run.d.ts.map +1 -1
  33. package/dist/commands/run.js +13 -9
  34. package/dist/commands/run.js.map +1 -1
  35. package/dist/commands/uninstall.d.ts +2 -0
  36. package/dist/commands/uninstall.d.ts.map +1 -0
  37. package/dist/commands/uninstall.js +45 -0
  38. package/dist/commands/uninstall.js.map +1 -0
  39. package/dist/commands/update.d.ts +2 -0
  40. package/dist/commands/update.d.ts.map +1 -0
  41. package/dist/commands/update.js +113 -0
  42. package/dist/commands/update.js.map +1 -0
  43. package/dist/config/config-manager.d.ts +3 -10
  44. package/dist/config/config-manager.d.ts.map +1 -1
  45. package/dist/config/config-manager.js +23 -140
  46. package/dist/config/config-manager.js.map +1 -1
  47. package/dist/config/global-paths.d.ts +5 -0
  48. package/dist/config/global-paths.d.ts.map +1 -0
  49. package/dist/config/global-paths.js +16 -0
  50. package/dist/config/global-paths.js.map +1 -0
  51. package/dist/config/migration.d.ts.map +1 -1
  52. package/dist/config/migration.js +69 -1
  53. package/dist/config/migration.js.map +1 -1
  54. package/dist/schemas/config-schema.d.ts +863 -196
  55. package/dist/schemas/config-schema.d.ts.map +1 -1
  56. package/dist/schemas/config-schema.js +51 -27
  57. package/dist/schemas/config-schema.js.map +1 -1
  58. package/dist/services/input-collector.d.ts.map +1 -1
  59. package/dist/services/input-collector.js +7 -1
  60. package/dist/services/input-collector.js.map +1 -1
  61. package/dist/services/module-cache.d.ts +42 -0
  62. package/dist/services/module-cache.d.ts.map +1 -0
  63. package/dist/services/module-cache.js +205 -0
  64. package/dist/services/module-cache.js.map +1 -0
  65. package/dist/services/module-entry-builder.d.ts +20 -0
  66. package/dist/services/module-entry-builder.d.ts.map +1 -0
  67. package/dist/services/module-entry-builder.js +67 -0
  68. package/dist/services/module-entry-builder.js.map +1 -0
  69. package/dist/services/output-capture-service.d.ts.map +1 -1
  70. package/dist/services/output-capture-service.js +2 -1
  71. package/dist/services/output-capture-service.js.map +1 -1
  72. package/dist/services/package-manager.d.ts +18 -0
  73. package/dist/services/package-manager.d.ts.map +1 -0
  74. package/dist/services/package-manager.js +141 -0
  75. package/dist/services/package-manager.js.map +1 -0
  76. package/dist/services/prompt-resolver.d.ts +2 -2
  77. package/dist/services/prompt-resolver.d.ts.map +1 -1
  78. package/dist/services/prompt-resolver.js +9 -10
  79. package/dist/services/prompt-resolver.js.map +1 -1
  80. package/dist/services/pupt-prompt-source.d.ts +16 -0
  81. package/dist/services/pupt-prompt-source.d.ts.map +1 -0
  82. package/dist/services/pupt-prompt-source.js +73 -0
  83. package/dist/services/pupt-prompt-source.js.map +1 -0
  84. package/dist/services/pupt-service.d.ts +11 -25
  85. package/dist/services/pupt-service.d.ts.map +1 -1
  86. package/dist/services/pupt-service.js +31 -179
  87. package/dist/services/pupt-service.js.map +1 -1
  88. package/dist/services/review-data-builder.d.ts +4 -1
  89. package/dist/services/review-data-builder.d.ts.map +1 -1
  90. package/dist/services/review-data-builder.js +4 -2
  91. package/dist/services/review-data-builder.js.map +1 -1
  92. package/dist/types/config.d.ts +35 -19
  93. package/dist/types/config.d.ts.map +1 -1
  94. package/dist/types/config.js +3 -4
  95. package/dist/types/config.js.map +1 -1
  96. package/dist/utils/prompt-dir-resolver.d.ts +5 -0
  97. package/dist/utils/prompt-dir-resolver.d.ts.map +1 -0
  98. package/dist/utils/prompt-dir-resolver.js +24 -0
  99. package/dist/utils/prompt-dir-resolver.js.map +1 -0
  100. package/package.json +3 -2
  101. package/dist/utils/path-utils.d.ts +0 -42
  102. package/dist/utils/path-utils.d.ts.map +0 -1
  103. package/dist/utils/path-utils.js +0 -139
  104. package/dist/utils/path-utils.js.map +0 -1
  105. package/dist/utils/prompt-format.d.ts +0 -27
  106. package/dist/utils/prompt-format.d.ts.map +0 -1
  107. package/dist/utils/prompt-format.js +0 -28
  108. package/dist/utils/prompt-format.js.map +0 -1
package/dist/cli.js CHANGED
@@ -3,7 +3,6 @@ import { program } from 'commander';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { dirname, join } from 'node:path';
6
- import * as path from 'node:path';
7
6
  import chalk from 'chalk';
8
7
  import { ConfigManager } from './config/config-manager.js';
9
8
  import { HistoryManager } from './history/history-manager.js';
@@ -15,16 +14,24 @@ import { editCommand } from './commands/edit.js';
15
14
  import { runCommand } from './commands/run.js';
16
15
  import { annotateCommand } from './commands/annotate.js';
17
16
  import { installCommand } from './commands/install.js';
17
+ import { updateCommand } from './commands/update.js';
18
+ import { uninstallCommand } from './commands/uninstall.js';
18
19
  import { helpCommand } from './commands/help.js';
19
20
  import { reviewCommand } from './commands/review.js';
20
21
  import { configCommand } from './commands/config.js';
22
+ import { cacheCommand } from './commands/cache.js';
21
23
  import { logger } from './utils/logger.js';
22
24
  import { errors, displayError } from './utils/errors.js';
25
+ import { buildModuleEntries } from './services/module-entry-builder.js';
26
+ // Commander.js helper for repeatable options (e.g. -d path1 -d path2)
27
+ function collect(val, acc) {
28
+ return [...acc, val];
29
+ }
23
30
  const __filename = fileURLToPath(import.meta.url);
24
31
  const __dirname = dirname(__filename);
25
32
  const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
26
33
  // List of valid commands for suggestions
27
- const VALID_COMMANDS = ['init', 'config', 'history', 'add', 'edit', 'run', 'annotate', 'install', 'review', 'help'];
34
+ const VALID_COMMANDS = ['init', 'config', 'cache', 'history', 'add', 'edit', 'run', 'annotate', 'install', 'update', 'uninstall', 'review', 'help'];
28
35
  // Calculate Levenshtein distance between two strings
29
36
  function levenshteinDistance(a, b) {
30
37
  const matrix = [];
@@ -78,48 +85,14 @@ process.on('SIGTERM', () => {
78
85
  ensureTerminalCleanup();
79
86
  process.exit(143); // Standard exit code for SIGTERM
80
87
  });
81
- async function checkAndMigrateOldConfig() {
82
- // Skip the check in test environment or non-TTY (non-interactive) mode
83
- if (process.env.NODE_ENV === 'test' || !process.stdin.isTTY) {
84
- return;
85
- }
86
- // Check for old config files in current directory
87
- const oldFiles = await ConfigManager.checkForOldConfigFiles();
88
- if (oldFiles.length > 0) {
89
- logger.warn(chalk.yellow('\n⚠️ Warning: Found old config file(s):'));
90
- oldFiles.forEach(file => {
91
- logger.warn(chalk.yellow(` - ${path.basename(file)}`));
92
- });
93
- logger.warn(chalk.yellow('\nThe config file naming has changed from .ptrc to .pt-config'));
94
- logger.warn(chalk.yellow('Would you like to rename your config file(s)? (y/n): '));
95
- // Get user input
96
- const { confirm } = await import('@inquirer/prompts');
97
- const shouldRename = await confirm({
98
- message: 'Rename config file(s) to new format?',
99
- default: true
100
- });
101
- if (shouldRename) {
102
- for (const oldFile of oldFiles) {
103
- try {
104
- const newPath = await ConfigManager.renameOldConfigFile(oldFile);
105
- logger.log(chalk.green(`✓ Renamed ${path.basename(oldFile)} to ${path.basename(newPath)}`));
106
- }
107
- catch (error) {
108
- logger.error(chalk.red(`✗ Failed to rename ${path.basename(oldFile)}: ${error instanceof Error ? error.message : String(error)}`));
109
- }
110
- }
111
- }
112
- }
113
- }
114
- // Check for old config files before running commands
115
- await checkAndMigrateOldConfig();
116
88
  program
117
89
  .name('pt')
118
90
  .description('CLI tool for managing AI prompts')
119
91
  .version(packageJson.version)
120
92
  .argument('[command]', 'command to run')
93
+ .option('-d, --prompt-dir <path>', 'Additional prompt directory (repeatable)', collect, [])
121
94
  .allowUnknownOption(true)
122
- .action(async (command) => {
95
+ .action(async (command, options) => {
123
96
  // If a command-like argument is provided, it's likely a typo
124
97
  if (command && VALID_COMMANDS.length > 0) {
125
98
  // Check if it looks like a command (not a flag)
@@ -135,10 +108,14 @@ program
135
108
  const config = configResult.config;
136
109
  // Capture timestamp at start of prompt processing
137
110
  const startTimestamp = new Date();
111
+ // Build module entries from config + CLI overrides
112
+ const modules = await buildModuleEntries({
113
+ config,
114
+ cliPromptDirs: options.promptDir,
115
+ });
138
116
  // Discover, select, collect inputs, and render
139
117
  const resolved = await resolvePrompt({
140
- promptDirs: config.promptDirs,
141
- libraries: config.libraries,
118
+ modules,
142
119
  startTimestamp,
143
120
  environment: config.environment,
144
121
  });
@@ -170,7 +147,8 @@ program
170
147
  await runCommand([], {
171
148
  prompt: result,
172
149
  templateInfo: resolved.templateInfo,
173
- isAutoRun: true
150
+ isAutoRun: true,
151
+ promptDirOverrides: options.promptDir,
174
152
  });
175
153
  }
176
154
  }
@@ -199,25 +177,17 @@ program
199
177
  // Config command
200
178
  program
201
179
  .command('config')
202
- .description('Show or modify configuration')
180
+ .description('Show current configuration')
203
181
  .option('-s, --show', 'Show current configuration with resolved paths')
204
- .option('--fix-paths', 'Convert absolute paths to portable format (${projectRoot}/...)')
205
182
  .addHelpText('after', `
206
183
  Examples:
207
184
  pt config # Show current configuration
208
185
  pt config --show # Same as above
209
- pt config --fix-paths # Convert absolute paths to portable format
210
-
211
- The --fix-paths option converts:
212
- - Absolute paths under project root → \${projectRoot}/...
213
- - Absolute paths under home → ~/...
214
- - Relative paths (node_modules/...) → kept as-is
215
186
  `)
216
187
  .action(async (options) => {
217
188
  try {
218
189
  await configCommand({
219
190
  show: options.show,
220
- fixPaths: options.fixPaths
221
191
  });
222
192
  }
223
193
  catch (error) {
@@ -256,9 +226,10 @@ program
256
226
  program
257
227
  .command('add')
258
228
  .description('Create a new prompt interactively')
259
- .action(async () => {
229
+ .option('-g, --global', 'Save to global prompt directory instead of local .prompts/')
230
+ .action(async (options) => {
260
231
  try {
261
- await addCommand();
232
+ await addCommand({ global: options.global });
262
233
  }
263
234
  catch (error) {
264
235
  displayError(error);
@@ -285,7 +256,9 @@ program
285
256
  .usage('[tool] [args...] [-- tool-specific-args]')
286
257
  .option('-h, --history <number>', 'Use prompt from history by number')
287
258
  .option('-p, --prompt <name>', 'Use specified prompt by title or filename')
259
+ .option('-d, --prompt-dir <path>', 'Additional prompt directory (repeatable)', collect, [])
288
260
  .option('--no-interactive', 'Use default values for all prompt inputs')
261
+ .option('--no-cache', 'Bypass module cache for URL/GitHub imports')
289
262
  .helpOption('--help', 'Display help for run command')
290
263
  .addHelpText('after', `
291
264
  Examples:
@@ -307,7 +280,9 @@ Examples:
307
280
  await runCommand(allArgs, {
308
281
  historyIndex: options.history ? parseInt(options.history) : undefined,
309
282
  promptName: options.prompt,
310
- noInteractive: options.interactive === false
283
+ promptDirOverrides: options.promptDir,
284
+ noInteractive: options.interactive === false,
285
+ noCache: options.cache === false,
311
286
  });
312
287
  }
313
288
  catch (error) {
@@ -332,15 +307,76 @@ program
332
307
  program
333
308
  .command('install <source>')
334
309
  .description('Install prompts from a git repository or npm package')
310
+ .option('-n, --name <name>', 'Custom name for the installed library')
311
+ .addHelpText('after', `
312
+ Examples:
313
+ pt install https://github.com/user/prompts # Install from GitHub
314
+ pt install git@github.com:user/prompts.git # Install via SSH
315
+ pt install https://github.com/user/repo -n mylib # Install with custom name
316
+ pt install @org/prompts # Install from npm
317
+ `)
318
+ .action(async (source, options) => {
319
+ try {
320
+ await installCommand(source, { name: options.name });
321
+ }
322
+ catch (error) {
323
+ displayError(error);
324
+ process.exit(1);
325
+ }
326
+ });
327
+ // Update command
328
+ program
329
+ .command('update [name]')
330
+ .description('Update installed prompt libraries')
331
+ .addHelpText('after', `
332
+ Examples:
333
+ pt update # Update all installed libraries
334
+ pt update my-prompts # Update a specific library
335
+ `)
336
+ .action(async (name) => {
337
+ try {
338
+ await updateCommand(name);
339
+ }
340
+ catch (error) {
341
+ displayError(error);
342
+ process.exit(1);
343
+ }
344
+ });
345
+ // Uninstall command
346
+ program
347
+ .command('uninstall <name>')
348
+ .description('Remove an installed prompt library')
335
349
  .addHelpText('after', `
336
350
  Examples:
337
- pt install https://github.com/user/prompts # Install from GitHub
338
- pt install git@github.com:user/prompts.git # Install via SSH
339
- pt install @org/prompts # Install from npm (coming soon)
351
+ pt uninstall my-prompts # Remove a library
340
352
  `)
341
- .action(async (source) => {
353
+ .action(async (name) => {
342
354
  try {
343
- await installCommand(source);
355
+ await uninstallCommand(name);
356
+ }
357
+ catch (error) {
358
+ displayError(error);
359
+ process.exit(1);
360
+ }
361
+ });
362
+ // Cache command
363
+ program
364
+ .command('cache')
365
+ .description('Manage the module cache for URL/GitHub imports')
366
+ .option('-c, --clear', 'Clear all cached modules')
367
+ .option('-u, --url <url>', 'Target a specific URL (use with --clear)')
368
+ .addHelpText('after', `
369
+ Examples:
370
+ pt cache # Show cache statistics
371
+ pt cache --clear # Clear all cached modules
372
+ pt cache --clear --url <url> # Clear cache for a specific URL
373
+ `)
374
+ .action(async (options) => {
375
+ try {
376
+ await cacheCommand({
377
+ clear: options.clear,
378
+ url: options.url,
379
+ });
344
380
  }
345
381
  catch (error) {
346
382
  displayError(error);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,yCAAyC;AACzC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEpH,qDAAqD;AACrD,SAAS,mBAAmB,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAM,YAAY;gBACtC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAM,WAAW;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,sDAAsD;AACtD,SAAS,mBAAmB,CAAC,KAAa,EAAE,cAAsB,CAAC;IACjE,OAAO,cAAc;SAClB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5F,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,WAAW,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,sCAAsC;AACtC,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;AACrD,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;AACtD,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,wBAAwB;IACrC,uEAAuE;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,CAAC;IAE9D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEnF,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACjC,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrI,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,wBAAwB,EAAE,CAAC;AAEjC,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvC,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,6DAA6D;IAC7D,IAAI,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,gDAAgD;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrD,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAElC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc;YACd,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE7B,iBAAiB;QACjB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE3F,oFAAoF;QACpF,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YACnF,MAAM,cAAc,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,YAAY;gBAChD,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,eAAe;gBACtD,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;gBAC1C,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAClC,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,EAAE,CAAC;YAChB,qCAAqC;YACrC,MAAM,UAAU,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,iBAAiB;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,YAAY,EAAE,gDAAgD,CAAC;KACtE,MAAM,CAAC,aAAa,EAAE,gEAAgE,CAAC;KACvF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;CAUvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,aAAa,CAAC;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,oCAAoC,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,sDAAsD,CAAC;KAClF,MAAM,CAAC,WAAW,EAAE,+DAA+D,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,cAAc,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACxD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,wCAAwC,CAAC;KACrD,KAAK,CAAC,0CAA0C,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;KACrE,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KAC1E,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;KACtE,UAAU,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KACpD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;CAYvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,UAAU,CAAC,OAAO,EAAE;YACxB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,aAAa,EAAE,OAAO,CAAC,WAAW,KAAK,KAAK;SAC7C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,2BAA2B,CAAC;KACpC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,sDAAsD,CAAC;KACnE,WAAW,CAAC,OAAO,EAAE;;;;;CAKvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACvB,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,UAAU,CAAC;KAC5E,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,WAAW,CAAC,OAAO,EAAE;;;;;;;CAOvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;IACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC5D,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,sEAAsE;AACtE,SAAS,OAAO,CAAC,GAAW,EAAE,GAAa;IACzC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,yCAAyC;AACzC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEpJ,qDAAqD;AACrD,SAAS,mBAAmB,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAM,YAAY;gBACtC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAM,WAAW;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,sDAAsD;AACtD,SAAS,mBAAmB,CAAC,KAAa,EAAE,cAAsB,CAAC;IACjE,OAAO,cAAc;SAClB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5F,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,WAAW,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,sCAAsC;AACtC,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;AACrD,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;AACtD,CAAC,CAAC,CAAC;AAEH,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,CAAC;KAC1F,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,6DAA6D;IAC7D,IAAI,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,gDAAgD;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrD,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAElC,mDAAmD;QACnD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACvC,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;YACnC,OAAO;YACP,cAAc;YACd,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE7B,iBAAiB;QACjB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE3F,oFAAoF;QACpF,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YACnF,MAAM,cAAc,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,YAAY;gBAChD,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,eAAe;gBACtD,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;gBAC1C,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAClC,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,EAAE,CAAC;YAChB,qCAAqC;YACrC,MAAM,UAAU,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,SAAS,EAAE,IAAI;gBACf,kBAAkB,EAAE,OAAO,CAAC,SAAS;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,iBAAiB;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,YAAY,EAAE,gDAAgD,CAAC;KACtE,WAAW,CAAC,OAAO,EAAE;;;;CAIvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,aAAa,CAAC;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,oCAAoC,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,sDAAsD,CAAC;KAClF,MAAM,CAAC,WAAW,EAAE,+DAA+D,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,cAAc,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACxD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,cAAc,EAAE,4DAA4D,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,wCAAwC,CAAC;KACrD,KAAK,CAAC,0CAA0C,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;KACrE,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KAC1E,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,CAAC;KAC1F,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;KACtE,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;KAClE,UAAU,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KACpD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;CAYvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,UAAU,CAAC,OAAO,EAAE;YACxB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,kBAAkB,EAAE,OAAO,CAAC,SAAS;YACrC,aAAa,EAAE,OAAO,CAAC,WAAW,KAAK,KAAK;YAC5C,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,OAAO;KACJ,OAAO,CAAC,2BAA2B,CAAC;KACpC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;KACpE,WAAW,CAAC,OAAO,EAAE;;;;;;CAMvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mCAAmC,CAAC;KAChD,WAAW,CAAC,OAAO,EAAE;;;;CAIvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,oCAAoC,CAAC;KACjD,WAAW,CAAC,OAAO,EAAE;;;CAGvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,CAAC;KACrE,WAAW,CAAC,OAAO,EAAE;;;;;CAKvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,YAAY,CAAC;YACjB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,UAAU,CAAC;KAC5E,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,WAAW,CAAC,OAAO,EAAE;;;;;;;CAOvB,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;IACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC5D,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,2 +1,5 @@
1
- export declare function addCommand(): Promise<void>;
1
+ export interface AddCommandOptions {
2
+ global?: boolean;
3
+ }
4
+ export declare function addCommand(options?: AddCommandOptions): Promise<void>;
2
5
  //# sourceMappingURL=add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AASA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA+EhD"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H/E"}
@@ -6,12 +6,69 @@ import chalk from 'chalk';
6
6
  import { editorLauncher } from '../utils/editor.js';
7
7
  import { errors } from '../utils/errors.js';
8
8
  import { logger } from '../utils/logger.js';
9
- export async function addCommand() {
9
+ import { findLocalPromptsDir } from '../utils/prompt-dir-resolver.js';
10
+ import { findProjectRoot } from '../utils/project-root.js';
11
+ export async function addCommand(options = {}) {
10
12
  // Load configuration
11
13
  const config = await ConfigManager.load();
12
- if (!config.promptDirs || config.promptDirs.length === 0) {
13
- throw errors.noPromptsFound([]);
14
+ // Determine target directory based on --global flag and local .prompts/
15
+ let targetDir;
16
+ if (options.global) {
17
+ // --global: use global config promptDirs
18
+ if (!config.promptDirs || config.promptDirs.length === 0) {
19
+ throw errors.noPromptsFound([]);
20
+ }
21
+ targetDir = config.promptDirs[0];
22
+ if (config.promptDirs.length > 1) {
23
+ targetDir = await select({
24
+ message: 'Save to global directory:',
25
+ choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
26
+ });
27
+ }
14
28
  }
29
+ else {
30
+ // Default: prefer local .prompts/ if it exists or can be created
31
+ const localDir = await findLocalPromptsDir();
32
+ if (localDir) {
33
+ targetDir = localDir;
34
+ }
35
+ else {
36
+ // Check if we're in a project root where we could create .prompts/
37
+ const projectRoot = findProjectRoot(process.cwd());
38
+ if (projectRoot) {
39
+ const potentialLocal = path.join(projectRoot, '.prompts');
40
+ // Fall back to global if available, but offer local as option
41
+ if (config.promptDirs && config.promptDirs.length > 0) {
42
+ const allDirs = [potentialLocal, ...config.promptDirs];
43
+ targetDir = await select({
44
+ message: 'Save to directory:',
45
+ choices: allDirs.map(dir => ({
46
+ value: dir,
47
+ name: dir === potentialLocal ? `${dir} (local project)` : dir
48
+ }))
49
+ });
50
+ }
51
+ else {
52
+ targetDir = potentialLocal;
53
+ }
54
+ }
55
+ else if (config.promptDirs && config.promptDirs.length > 0) {
56
+ // No project root; use global config dirs
57
+ targetDir = config.promptDirs[0];
58
+ if (config.promptDirs.length > 1) {
59
+ targetDir = await select({
60
+ message: 'Save to directory:',
61
+ choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
62
+ });
63
+ }
64
+ }
65
+ else {
66
+ throw errors.noPromptsFound([]);
67
+ }
68
+ }
69
+ }
70
+ // Ensure target directory exists
71
+ await fs.ensureDir(targetDir);
15
72
  // Get prompt title
16
73
  const title = await input({
17
74
  message: 'Prompt title:',
@@ -31,14 +88,6 @@ export async function addCommand() {
31
88
  .split(',')
32
89
  .map(l => l.trim())
33
90
  .filter(l => l.length > 0);
34
- // Select directory if multiple
35
- let targetDir = config.promptDirs[0];
36
- if (config.promptDirs.length > 1) {
37
- targetDir = await select({
38
- message: 'Save to directory:',
39
- choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
40
- });
41
- }
42
91
  const ext = '.prompt';
43
92
  // Generate filename
44
93
  const filename = await generateFilename(title, targetDir, ext);
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface CacheCommandOptions {
2
+ clear?: boolean;
3
+ url?: string;
4
+ }
5
+ /**
6
+ * Cache command - manage the module cache for URL/GitHub imports.
7
+ */
8
+ export declare function cacheCommand(options: CacheCommandOptions): Promise<void>;
9
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB9E"}
@@ -0,0 +1,31 @@
1
+ import chalk from 'chalk';
2
+ import { ModuleCache } from '../services/module-cache.js';
3
+ import { getCacheDir } from '../config/global-paths.js';
4
+ import { logger } from '../utils/logger.js';
5
+ /**
6
+ * Cache command - manage the module cache for URL/GitHub imports.
7
+ */
8
+ export async function cacheCommand(options) {
9
+ const cacheDir = getCacheDir();
10
+ const cache = new ModuleCache(cacheDir);
11
+ if (options.clear) {
12
+ if (options.url) {
13
+ await cache.clear(options.url);
14
+ logger.log(chalk.green(`Cleared cache for: ${options.url}`));
15
+ }
16
+ else {
17
+ await cache.clear();
18
+ logger.log(chalk.green('Cleared all cached modules'));
19
+ }
20
+ return;
21
+ }
22
+ // Default: show cache statistics
23
+ const stats = await cache.getStats();
24
+ logger.log(chalk.bold('\nModule Cache'));
25
+ logger.log(chalk.dim('\u2500'.repeat(40)));
26
+ logger.log(`Cache directory: ${chalk.gray(cacheDir)}`);
27
+ logger.log(`Cached entries: ${stats.entryCount}`);
28
+ logger.log(`Total size: ${stats.totalSizeMB.toFixed(2)} MB`);
29
+ logger.log('');
30
+ }
31
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC"}
@@ -1,9 +1,8 @@
1
1
  export interface ConfigCommandOptions {
2
2
  show?: boolean;
3
- fixPaths?: boolean;
4
3
  }
5
4
  /**
6
- * Config command - show or fix configuration
5
+ * Config command - show configuration
7
6
  */
8
7
  export declare function configCommand(options: ConfigCommandOptions): Promise<void>;
9
8
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4HD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAShF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAyFD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
- import path from 'node:path';
3
2
  import fs from 'fs-extra';
4
3
  import { ConfigManager } from '../config/config-manager.js';
5
4
  import { logger } from '../utils/logger.js';
5
+ import { getConfigDir, getDataDir, getCacheDir } from '../config/global-paths.js';
6
6
  /**
7
7
  * Display the current configuration with resolved paths
8
8
  */
@@ -10,42 +10,56 @@ async function showConfig() {
10
10
  const result = await ConfigManager.loadWithPath();
11
11
  const config = result.config;
12
12
  logger.log(chalk.bold('\nCurrent Configuration'));
13
- logger.log(chalk.dim(''.repeat(50)));
13
+ logger.log(chalk.dim('\u2500'.repeat(50)));
14
14
  if (result.filepath) {
15
15
  logger.log(chalk.gray(`Config file: ${result.filepath}`));
16
16
  }
17
17
  else {
18
18
  logger.log(chalk.yellow('No config file found (using defaults)'));
19
19
  }
20
+ // Show global paths
21
+ logger.log(chalk.gray(`Config dir: ${getConfigDir()}`));
22
+ logger.log(chalk.gray(`Data dir: ${getDataDir()}`));
23
+ logger.log(chalk.gray(`Cache dir: ${getCacheDir()}`));
24
+ if (config.version) {
25
+ logger.log(chalk.gray(`Version: ${config.version}`));
26
+ }
20
27
  logger.log('');
21
28
  // Display prompt directories
22
29
  logger.log(chalk.bold('Prompt Directories:'));
23
30
  if (config.promptDirs && config.promptDirs.length > 0) {
24
31
  for (const dir of config.promptDirs) {
25
32
  const exists = await fs.pathExists(dir);
26
- const status = exists ? chalk.green('') : chalk.red('');
33
+ const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
27
34
  logger.log(` ${status} ${dir}`);
28
35
  }
29
36
  }
30
37
  else {
31
38
  logger.log(chalk.gray(' (none)'));
32
39
  }
40
+ // Display installed libraries
41
+ if (config.libraries && config.libraries.length > 0) {
42
+ logger.log(`\n${chalk.bold('Installed Libraries:')}`);
43
+ for (const lib of config.libraries) {
44
+ const version = lib.version ? ` (${lib.version})` : '';
45
+ logger.log(` ${chalk.cyan(lib.name)} [${lib.type}]${version}`);
46
+ for (const dir of lib.promptDirs) {
47
+ logger.log(chalk.gray(` prompts: ${dir}`));
48
+ }
49
+ }
50
+ }
33
51
  // Display history directory
34
52
  if (config.historyDir) {
35
53
  const exists = await fs.pathExists(config.historyDir);
36
- const status = exists ? chalk.green('') : chalk.red('');
54
+ const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
37
55
  logger.log(`\n${chalk.bold('History Directory:')} ${status} ${config.historyDir}`);
38
56
  }
39
57
  // Display annotation directory
40
58
  if (config.annotationDir) {
41
59
  const exists = await fs.pathExists(config.annotationDir);
42
- const status = exists ? chalk.green('') : chalk.red('');
60
+ const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
43
61
  logger.log(`${chalk.bold('Annotation Directory:')} ${status} ${config.annotationDir}`);
44
62
  }
45
- // Display git prompt directory
46
- if (config.gitPromptDir) {
47
- logger.log(`${chalk.bold('Git Prompt Directory:')} ${config.gitPromptDir}`);
48
- }
49
63
  // Display default command
50
64
  if (config.defaultCmd) {
51
65
  logger.log(`\n${chalk.bold('Default Command:')} ${config.defaultCmd}`);
@@ -55,61 +69,20 @@ async function showConfig() {
55
69
  }
56
70
  // Display autoRun status
57
71
  logger.log(`\n${chalk.bold('Auto Run:')} ${config.autoRun ? chalk.green('enabled') : chalk.gray('disabled')}`);
58
- logger.log('');
59
- }
60
- /**
61
- * Fix paths in the configuration file to use portable format
62
- */
63
- async function fixPaths() {
64
- const result = await ConfigManager.loadWithPath();
65
- if (!result.filepath) {
66
- logger.error(chalk.red('No config file found. Run "pt init" first.'));
67
- process.exit(1);
68
- }
69
- const configDir = path.dirname(result.filepath);
70
- // Contract paths to portable format
71
- const portableConfig = ConfigManager.contractPaths(result.config, configDir);
72
- // Read the original file to preserve any fields we don't know about
73
- const originalContent = await fs.readJson(result.filepath);
74
- // Merge portable paths into original content
75
- const updatedConfig = {
76
- ...originalContent,
77
- promptDirs: portableConfig.promptDirs,
78
- ...(portableConfig.historyDir && { historyDir: portableConfig.historyDir }),
79
- ...(portableConfig.annotationDir && { annotationDir: portableConfig.annotationDir }),
80
- ...(portableConfig.gitPromptDir && { gitPromptDir: portableConfig.gitPromptDir }),
81
- };
82
- // Write back to file
83
- await fs.writeJson(result.filepath, updatedConfig, { spaces: 2 });
84
- logger.log(chalk.green('✓ Config paths updated to portable format'));
85
- logger.log(chalk.gray(` Updated: ${result.filepath}`));
86
- // Show what was changed
87
- logger.log(chalk.bold('\nUpdated paths:'));
88
- if (updatedConfig.promptDirs) {
89
- logger.log(chalk.bold(' promptDirs:'));
90
- for (const dir of updatedConfig.promptDirs) {
91
- logger.log(` - ${dir}`);
72
+ // Display output capture
73
+ if (config.outputCapture) {
74
+ logger.log(`${chalk.bold('Output Capture:')} ${config.outputCapture.enabled ? chalk.green('enabled') : chalk.gray('disabled')}`);
75
+ if (config.outputCapture.directory) {
76
+ logger.log(`${chalk.bold('Output Directory:')} ${config.outputCapture.directory}`);
92
77
  }
93
78
  }
94
- if (updatedConfig.historyDir) {
95
- logger.log(` ${chalk.bold('historyDir:')} ${updatedConfig.historyDir}`);
96
- }
97
- if (updatedConfig.annotationDir) {
98
- logger.log(` ${chalk.bold('annotationDir:')} ${updatedConfig.annotationDir}`);
99
- }
100
- if (updatedConfig.gitPromptDir) {
101
- logger.log(` ${chalk.bold('gitPromptDir:')} ${updatedConfig.gitPromptDir}`);
102
- }
103
79
  logger.log('');
104
80
  }
105
81
  /**
106
- * Config command - show or fix configuration
82
+ * Config command - show configuration
107
83
  */
108
84
  export async function configCommand(options) {
109
- if (options.fixPaths) {
110
- await fixPaths();
111
- }
112
- else if (options.show) {
85
+ if (options.show) {
113
86
  await showConfig();
114
87
  }
115
88
  else {