@hs-x/cli 0.2.0 → 0.2.2

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 (63) hide show
  1. package/README.md +97 -986
  2. package/dist/account-store.d.ts.map +1 -1
  3. package/dist/account-store.js +9 -1
  4. package/dist/account-store.js.map +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +14 -8
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cloudflare-oauth.d.ts.map +1 -1
  9. package/dist/cloudflare-oauth.js +1 -1
  10. package/dist/cloudflare-oauth.js.map +1 -1
  11. package/dist/commands/account.d.ts.map +1 -1
  12. package/dist/commands/account.js +3 -0
  13. package/dist/commands/account.js.map +1 -1
  14. package/dist/commands/connect.d.ts.map +1 -1
  15. package/dist/commands/connect.js +49 -3
  16. package/dist/commands/connect.js.map +1 -1
  17. package/dist/commands/deploy.d.ts.map +1 -1
  18. package/dist/commands/deploy.js +205 -8
  19. package/dist/commands/deploy.js.map +1 -1
  20. package/dist/commands/dev.d.ts +7 -0
  21. package/dist/commands/dev.d.ts.map +1 -1
  22. package/dist/commands/dev.js +332 -2
  23. package/dist/commands/dev.js.map +1 -1
  24. package/dist/commands/help-command.d.ts +1 -1
  25. package/dist/commands/help-command.d.ts.map +1 -1
  26. package/dist/commands/help-command.js +48 -15
  27. package/dist/commands/help-command.js.map +1 -1
  28. package/dist/commands/init.d.ts +4 -2
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +46 -2
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/link.d.ts +16 -1
  33. package/dist/commands/link.d.ts.map +1 -1
  34. package/dist/commands/link.js +224 -11
  35. package/dist/commands/link.js.map +1 -1
  36. package/dist/commands/migrate.d.ts +16 -0
  37. package/dist/commands/migrate.d.ts.map +1 -1
  38. package/dist/commands/migrate.js +468 -4
  39. package/dist/commands/migrate.js.map +1 -1
  40. package/dist/constants.d.ts +1 -1
  41. package/dist/constants.js +1 -1
  42. package/dist/dev/invoke.d.ts +76 -0
  43. package/dist/dev/invoke.d.ts.map +1 -0
  44. package/dist/dev/invoke.js +227 -0
  45. package/dist/dev/invoke.js.map +1 -0
  46. package/dist/errors-registry.d.ts.map +1 -1
  47. package/dist/errors-registry.js +113 -0
  48. package/dist/errors-registry.js.map +1 -1
  49. package/dist/help.d.ts +10 -0
  50. package/dist/help.d.ts.map +1 -1
  51. package/dist/help.js +209 -3
  52. package/dist/help.js.map +1 -1
  53. package/dist/init/templates.d.ts.map +1 -1
  54. package/dist/init/templates.js +27 -8
  55. package/dist/init/templates.js.map +1 -1
  56. package/dist/reporter/style.d.ts +1 -0
  57. package/dist/reporter/style.d.ts.map +1 -1
  58. package/dist/reporter/style.js +4 -0
  59. package/dist/reporter/style.js.map +1 -1
  60. package/dist/tenant-state.d.ts.map +1 -1
  61. package/dist/tenant-state.js +63 -10
  62. package/dist/tenant-state.js.map +1 -1
  63. package/package.json +17 -7
@@ -148,6 +148,9 @@ export async function devCommand({ argv, root, json, }) {
148
148
  if (argv[1] === 'status') {
149
149
  return await devStatusCommand({ argv, json });
150
150
  }
151
+ if (argv[1] === 'invoke') {
152
+ return await devInvokeCommand({ argv, root, json });
153
+ }
151
154
  const port = Number(resolveFlag(argv, '--port') ?? '8787');
152
155
  const workers = await discoverWorkerManifests(root);
153
156
  await generateProjectArtifacts({ root, workers });
@@ -345,10 +348,82 @@ export async function devCommand({ argv, root, json, }) {
345
348
  response.end(JSON.stringify({ workers }, null, 2));
346
349
  return;
347
350
  }
351
+ // Invocation harness over HTTP (P2): same engine as `hs-x dev invoke`,
352
+ // for agents/CI/programs. Body: {input?, enrolledObject?, install?}.
353
+ const invokeMatch = /^\/_hsx\/invoke\/([^/?]+)$/.exec(path.split('?', 1)[0] ?? path);
354
+ if (invokeMatch && method === 'POST') {
355
+ const capabilityId = decodeURIComponent(invokeMatch[1] ?? '');
356
+ const chunks = [];
357
+ request.on('data', (chunk) => chunks.push(chunk));
358
+ request.on('end', () => {
359
+ void (async () => {
360
+ const respond = (status, body) => {
361
+ response.writeHead(status, { 'content-type': 'application/json' });
362
+ response.end(JSON.stringify(body, null, 2));
363
+ };
364
+ let parsed;
365
+ try {
366
+ const raw = Buffer.concat(chunks).toString('utf8');
367
+ const value = raw.length > 0 ? JSON.parse(raw) : {};
368
+ parsed = isRecord(value) ? value : {};
369
+ }
370
+ catch {
371
+ respond(400, { ok: false, error: 'invalid_json' });
372
+ return;
373
+ }
374
+ try {
375
+ const { invokeCapabilityLocally, DevInvokeError } = await import('../dev/invoke.js');
376
+ try {
377
+ const outcome = await invokeCapabilityLocally({
378
+ root,
379
+ capabilityId,
380
+ ...(parsed.input !== undefined ? { input: parsed.input } : {}),
381
+ ...(parsed.enrolledObject !== undefined
382
+ ? { enrolledObject: parsed.enrolledObject }
383
+ : {}),
384
+ ...(parsed.install !== undefined ? { install: parsed.install } : {}),
385
+ });
386
+ respond(outcome.status, {
387
+ ok: outcome.status >= 200 && outcome.status < 300,
388
+ capabilityId,
389
+ worker: outcome.workerName,
390
+ kind: outcome.capabilityKind,
391
+ response: outcome.body ?? null,
392
+ logs: outcome.logs,
393
+ });
394
+ }
395
+ catch (error) {
396
+ if (error instanceof DevInvokeError) {
397
+ respond(error.code === 'HSX_E_DEV_UNKNOWN_CAPABILITY' ? 404 : 500, {
398
+ ok: false,
399
+ error: error.code,
400
+ message: error.message,
401
+ ...(error.hint ? { hint: error.hint } : {}),
402
+ });
403
+ return;
404
+ }
405
+ respond(500, {
406
+ ok: false,
407
+ error: 'HSX_E_INTERNAL',
408
+ message: error instanceof Error ? error.message : String(error),
409
+ });
410
+ }
411
+ }
412
+ catch (error) {
413
+ respond(500, {
414
+ ok: false,
415
+ error: 'HSX_E_INTERNAL',
416
+ message: error instanceof Error ? error.message : String(error),
417
+ });
418
+ }
419
+ })();
420
+ });
421
+ return;
422
+ }
348
423
  response.writeHead(404, { 'content-type': 'application/json' });
349
424
  response.end(JSON.stringify({
350
425
  ok: false,
351
- error: 'The v0 dev server exposes /_hsx/health and /_hsx/manifest.',
426
+ error: 'The dev server exposes /_hsx/health, /_hsx/manifest, and POST /_hsx/invoke/<capability-id>.',
352
427
  }));
353
428
  });
354
429
  await new Promise((resolveListen) => server.listen(port, '127.0.0.1', resolveListen));
@@ -546,6 +621,156 @@ async function maybeStartHubSpotDevSession(input) {
546
621
  return undefined;
547
622
  }
548
623
  }
624
+ /**
625
+ * `hs-x dev invoke <capability-id>` — invoke one capability through the
626
+ * production runtime router with fixture defaults (P2 invocation harness).
627
+ * --input / --object / --install take JSON and override the fixtures.
628
+ */
629
+ async function devInvokeCommand({ argv, root, json, }) {
630
+ const reporter = createReporter({ command: 'dev invoke', argv, entry: !json });
631
+ let capabilityId = argv[2] && !argv[2].startsWith('-') ? argv[2] : undefined;
632
+ const replayLast = argv.includes('--last');
633
+ const fail = (code, message, hint) => {
634
+ if (json) {
635
+ process.stdout.write(`${JSON.stringify({
636
+ schema_version: 1,
637
+ command: 'dev invoke',
638
+ ok: false,
639
+ error: { code, message, ...(hint ? { hint } : {}) },
640
+ }, null, 2)}\n`);
641
+ }
642
+ else {
643
+ reporter.error(code, message, hint ? { hint } : undefined);
644
+ reporter.done(undefined, 1);
645
+ }
646
+ return { exitCode: 1 };
647
+ };
648
+ // --last replays the previously recorded dispatch (capability + payload).
649
+ let replayPayload;
650
+ if (replayLast) {
651
+ const { loadLastInvocation } = await import('../dev/invoke.js');
652
+ const recorded = await loadLastInvocation(root);
653
+ if (!recorded) {
654
+ return fail('HSX_E_DEV_NO_LAST_INVOCATION', 'No recorded invocation to replay.', 'Run `hs-x dev invoke <capability-id>` once first; --last replays it.');
655
+ }
656
+ capabilityId = capabilityId ?? recorded.capabilityId;
657
+ replayPayload = recorded.payload;
658
+ }
659
+ if (!capabilityId) {
660
+ return fail('HSX_E_INPUT_MISSING_VALUE', 'Pass the capability id to invoke.', 'Usage: hs-x dev invoke <capability-id> [--input <json>] [--object <json>] [--install <json>] [--last]');
661
+ }
662
+ const parseJsonFlag = (flag) => {
663
+ const raw = resolveFlag(argv, flag);
664
+ if (raw === undefined)
665
+ return { ok: true };
666
+ try {
667
+ return { ok: true, value: JSON.parse(raw) };
668
+ }
669
+ catch {
670
+ return { ok: false };
671
+ }
672
+ };
673
+ const input = parseJsonFlag('--input');
674
+ const enrolledObject = parseJsonFlag('--object');
675
+ const install = parseJsonFlag('--install');
676
+ for (const [flag, parsed] of [
677
+ ['--input', input],
678
+ ['--object', enrolledObject],
679
+ ['--install', install],
680
+ ]) {
681
+ if (!parsed.ok) {
682
+ return fail('HSX_E_INPUT_BAD_JSON', `${flag} is not valid JSON.`);
683
+ }
684
+ }
685
+ const remote = argv.includes('--remote') || argv.includes('--url');
686
+ if (remote) {
687
+ return devInvokeRemote({
688
+ argv,
689
+ root,
690
+ capabilityId,
691
+ json,
692
+ payloadOverrides: {
693
+ ...(replayPayload ?? {}),
694
+ ...(input.ok && input.value !== undefined ? { input: input.value } : {}),
695
+ ...(enrolledObject.ok && enrolledObject.value !== undefined
696
+ ? { enrolledObject: enrolledObject.value }
697
+ : {}),
698
+ ...(install.ok && install.value !== undefined ? { install: install.value } : {}),
699
+ },
700
+ fail,
701
+ });
702
+ }
703
+ const { invokeCapabilityLocally, DevInvokeError } = await import('../dev/invoke.js');
704
+ let outcome;
705
+ const startedAt = Date.now();
706
+ try {
707
+ outcome = await invokeCapabilityLocally({
708
+ root,
709
+ capabilityId,
710
+ // Replay payload seeds the dispatch; explicit flags still override.
711
+ ...(replayPayload?.input !== undefined ? { input: replayPayload.input } : {}),
712
+ ...(replayPayload?.enrolledObject !== undefined
713
+ ? { enrolledObject: replayPayload.enrolledObject }
714
+ : {}),
715
+ ...(replayPayload?.install !== undefined ? { install: replayPayload.install } : {}),
716
+ ...(input.ok && input.value !== undefined ? { input: input.value } : {}),
717
+ ...(enrolledObject.ok && enrolledObject.value !== undefined
718
+ ? { enrolledObject: enrolledObject.value }
719
+ : {}),
720
+ ...(install.ok && install.value !== undefined ? { install: install.value } : {}),
721
+ });
722
+ }
723
+ catch (error) {
724
+ if (error instanceof DevInvokeError) {
725
+ return fail(error.code, error.message, error.hint);
726
+ }
727
+ return fail('HSX_E_INTERNAL', `Invocation failed: ${error instanceof Error ? error.message : String(error)}`);
728
+ }
729
+ const durationMs = Date.now() - startedAt;
730
+ if (!json && outcome.logs.length > 0) {
731
+ const reporter0 = createReporter({ command: 'dev invoke', argv, entry: false });
732
+ for (const entry of outcome.logs) {
733
+ reporter0.info(`[${entry.level}] ${entry.message}${entry.fields ? ` ${JSON.stringify(entry.fields)}` : ''}`);
734
+ }
735
+ }
736
+ const responseBody = outcome.body;
737
+ const invocationOk = outcome.status >= 200 &&
738
+ outcome.status < 300 &&
739
+ (!isRecordValue(responseBody) || responseBody.ok !== false);
740
+ if (json) {
741
+ process.stdout.write(`${JSON.stringify({
742
+ schema_version: 1,
743
+ command: 'dev invoke',
744
+ ok: invocationOk,
745
+ data: {
746
+ capabilityId,
747
+ worker: outcome.workerName,
748
+ kind: outcome.capabilityKind,
749
+ status: outcome.status,
750
+ durationMs,
751
+ response: responseBody ?? null,
752
+ logs: outcome.logs,
753
+ },
754
+ }, null, 2)}\n`);
755
+ return { exitCode: invocationOk ? 0 : 1 };
756
+ }
757
+ reporter.header(capabilityId);
758
+ const step = reporter.step(`Invoked ${outcome.capabilityKind} via worker ${outcome.workerName}`);
759
+ if (invocationOk) {
760
+ step.ok(`${outcome.status} in ${durationMs}ms`);
761
+ }
762
+ else {
763
+ step.fail(`status ${outcome.status}`);
764
+ }
765
+ for (const line of JSON.stringify(responseBody ?? null, null, 2).split('\n')) {
766
+ reporter.info(` ${line}`);
767
+ }
768
+ reporter.done(invocationOk ? 'Invoked' : 'Failed', invocationOk ? 0 : 1);
769
+ return { exitCode: invocationOk ? 0 : 1 };
770
+ }
771
+ function isRecordValue(value) {
772
+ return typeof value === 'object' && value !== null;
773
+ }
549
774
  async function devStatusCommand({ argv, json, }) {
550
775
  const accountId = resolveFlag(argv, '--account-id') ?? process.env.HSX_ACCOUNT_ID;
551
776
  const controlPlaneUrl = resolveFlag(argv, '--control-plane-url') ?? process.env.HSX_CONTROL_PLANE_URL;
@@ -942,7 +1167,15 @@ function write(message) {
942
1167
  // the legacy body branches on via `argv[1]`.
943
1168
  // A positional (not an option) so `hs-x dev cleanup` / `dev status` parse — the
944
1169
  // legacy body branches on `argv[1]`.
945
- const devSubcommandArg = Args.text({ name: 'subcommand' }).pipe(Args.withDescription('Optional dev subcommand: cleanup | status'), Args.optional);
1170
+ const devSubcommandArg = Args.text({ name: 'subcommand' }).pipe(Args.withDescription('Optional dev subcommand: invoke | cleanup | status'), Args.optional);
1171
+ // Second positional: the capability id for `dev invoke <capability-id>`.
1172
+ const devTargetArg = Args.text({ name: 'target' }).pipe(Args.withDescription('Capability id for `dev invoke`'), Args.optional);
1173
+ const devInputOption = Options.text('input').pipe(Options.optional);
1174
+ const devObjectOption = Options.text('object').pipe(Options.optional);
1175
+ const devInstallOption = Options.text('install').pipe(Options.optional);
1176
+ const devLastOption = Options.boolean('last').pipe(Options.withDefault(false));
1177
+ const devRemoteOption = Options.boolean('remote').pipe(Options.withDefault(false));
1178
+ const devUrlOption = Options.text('url').pipe(Options.optional);
946
1179
  const portOption = Options.text('port').pipe(Options.optional);
947
1180
  const portalOption = Options.text('portal').pipe(Options.optional);
948
1181
  const targetOriginOption = Options.text('target-origin').pipe(Options.optional);
@@ -963,6 +1196,13 @@ export const devCmd = Command.make('dev', {
963
1196
  json: jsonOption,
964
1197
  cwd: cwdOption,
965
1198
  subcommand: devSubcommandArg,
1199
+ target: devTargetArg,
1200
+ input: devInputOption,
1201
+ object: devObjectOption,
1202
+ install: devInstallOption,
1203
+ last: devLastOption,
1204
+ remote: devRemoteOption,
1205
+ url: devUrlOption,
966
1206
  port: portOption,
967
1207
  portal: portalOption,
968
1208
  targetOrigin: targetOriginOption,
@@ -989,6 +1229,20 @@ export const devCmd = Command.make('dev', {
989
1229
  const argv = ['dev'];
990
1230
  if (Option.isSome(opts.subcommand))
991
1231
  argv.push(opts.subcommand.value);
1232
+ if (Option.isSome(opts.target))
1233
+ argv.push(opts.target.value);
1234
+ if (Option.isSome(opts.input))
1235
+ argv.push('--input', opts.input.value);
1236
+ if (Option.isSome(opts.object))
1237
+ argv.push('--object', opts.object.value);
1238
+ if (Option.isSome(opts.install))
1239
+ argv.push('--install', opts.install.value);
1240
+ if (opts.last)
1241
+ argv.push('--last');
1242
+ if (opts.remote)
1243
+ argv.push('--remote');
1244
+ if (Option.isSome(opts.url))
1245
+ argv.push('--url', opts.url.value);
992
1246
  if (opts.json)
993
1247
  argv.push('--json');
994
1248
  if (Option.isSome(opts.port))
@@ -1029,4 +1283,80 @@ export const devCmd = Command.make('dev', {
1029
1283
  argv.push('--yes');
1030
1284
  yield* runQuarantined(opts.json, () => devCommand({ argv, root, json: opts.json }));
1031
1285
  })));
1286
+ /**
1287
+ * `hs-x dev invoke --remote`: dispatch at the DEPLOYED Worker, where install
1288
+ * tokens live — handlers using ctx.hubspot run against the real portal. URL
1289
+ * resolution: --url > wrangler-config script name + the account's workers.dev
1290
+ * subdomain (Cloudflare API).
1291
+ */
1292
+ async function devInvokeRemote(args) {
1293
+ const { argv, root, capabilityId, json, payloadOverrides, fail } = args;
1294
+ const { manifestWorkerFor, resolveDeployedWorkerUrl, invokeCapabilityRemotely, DevInvokeError } = await import('../dev/invoke.js');
1295
+ const explicitUrl = resolveFlag(argv, '--url');
1296
+ const mapping = await manifestWorkerFor(root, capabilityId);
1297
+ if (!mapping && !explicitUrl) {
1298
+ return fail('HSX_E_DEV_UNKNOWN_CAPABILITY', `No capability \`${capabilityId}\` in .hs-x/manifest.json.`, 'Deploy the project once (`hs-x deploy`) so the manifest exists, or pass --url.');
1299
+ }
1300
+ let url = explicitUrl;
1301
+ if (!url) {
1302
+ const { resolveCloudflareCredentials } = await import('../cloudflare-kv.js');
1303
+ const credentials = resolveCloudflareCredentials(argv);
1304
+ const { loadCloudflarePointer } = await import('../cloudflare-pointer.js');
1305
+ const pointer = await loadCloudflarePointer(root).catch(() => undefined);
1306
+ if (!credentials.apiToken || !pointer?.cloudflareAccountId) {
1307
+ return fail('HSX_E_INPUT_MISSING_API_TOKEN', 'Remote invoke needs CLOUDFLARE_API_TOKEN + a deployed pointer, or pass --url.', 'Set CLOUDFLARE_API_TOKEN, or pass --url with the deployed Worker origin.');
1308
+ }
1309
+ try {
1310
+ url = await resolveDeployedWorkerUrl({
1311
+ root,
1312
+ workerName: mapping.workerName,
1313
+ cloudflareAccountId: pointer.cloudflareAccountId,
1314
+ apiToken: credentials.apiToken,
1315
+ });
1316
+ }
1317
+ catch (error) {
1318
+ if (error instanceof DevInvokeError)
1319
+ return fail(error.code, error.message, error.hint);
1320
+ throw error;
1321
+ }
1322
+ }
1323
+ const payload = {
1324
+ input: payloadOverrides.input ?? {},
1325
+ ...(payloadOverrides.enrolledObject !== undefined
1326
+ ? { enrolledObject: payloadOverrides.enrolledObject }
1327
+ : {}),
1328
+ ...(payloadOverrides.install !== undefined ? { install: payloadOverrides.install } : {}),
1329
+ };
1330
+ const startedAt = Date.now();
1331
+ const outcome = await invokeCapabilityRemotely({ url, capabilityId, payload });
1332
+ const durationMs = Date.now() - startedAt;
1333
+ const body = outcome.body;
1334
+ const ok = outcome.status >= 200 &&
1335
+ outcome.status < 300 &&
1336
+ (!isRecordValue(body) || body.ok !== false);
1337
+ const reporter = createReporter({ command: 'dev invoke', argv, entry: !json });
1338
+ if (json) {
1339
+ process.stdout.write(`${JSON.stringify({
1340
+ schema_version: 1,
1341
+ command: 'dev invoke',
1342
+ ok,
1343
+ data: {
1344
+ mode: 'remote',
1345
+ url,
1346
+ capabilityId,
1347
+ status: outcome.status,
1348
+ durationMs,
1349
+ response: body ?? null,
1350
+ },
1351
+ }, null, 2)}\n`);
1352
+ return { exitCode: ok ? 0 : 1 };
1353
+ }
1354
+ reporter.header(capabilityId);
1355
+ reporter.info(`Remote: ${url}`);
1356
+ reporter
1357
+ .step(`Invoked ${capabilityId} remotely`)[ok ? 'ok' : 'fail'](`status ${outcome.status} · ${durationMs}ms`);
1358
+ reporter.info(JSON.stringify(body ?? null, null, 2));
1359
+ reporter.done(ok ? 'Invoked' : 'Failed', ok ? 0 : 1);
1360
+ return { exitCode: ok ? 0 : 1 };
1361
+ }
1032
1362
  //# sourceMappingURL=dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare function unknownSubcommand(input: {
13
13
  }): CliResult;
14
14
  type HelpMode = 'full' | 'highlights';
15
15
  export declare function helpText(mode?: HelpMode): string;
16
- export declare function helpTextStyled(env: NodeJS.ProcessEnv, isTTY: boolean, mode?: HelpMode): string;
16
+ export declare function helpTextStyled(env: NodeJS.ProcessEnv, isTTY: boolean, mode?: HelpMode, width?: number): string;
17
17
  export declare function connectHelpText(): string;
18
18
  /**
19
19
  * Resolve the most specific curated help for a command path: the longest
@@ -1 +1 @@
1
- {"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../src/commands/help-command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwD9C,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,SAAS,CA4BZ;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,SAAS,CA4BZ;AAwGD,KAAK,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AAUtC,wBAAgB,QAAQ,CAAC,IAAI,GAAE,QAAiB,GAAG,MAAM,CAuBxD;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,QAAiB,GACtB,MAAM,CAmCR;AAED,wBAAgB,eAAe,IAAI,MAAM,CA8BxC;AAsCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAyEnE"}
1
+ {"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../src/commands/help-command.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwD9C,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,SAAS,CA4BZ;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,SAAS,CA4BZ;AAwGD,KAAK,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AAUtC,wBAAgB,QAAQ,CAAC,IAAI,GAAE,QAAiB,GAAG,MAAM,CAuBxD;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,QAAiB,EACvB,KAAK,SAAK,GACT,MAAM,CA6CR;AAED,wBAAgB,eAAe,IAAI,MAAM,CA8BxC;AAuCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAyEnE"}