workos 0.11.1 → 0.11.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.
@@ -1,4 +1,6 @@
1
+ export declare function runSeedInit(): void;
1
2
  export declare function runSeed(options: {
2
3
  file?: string;
3
4
  clean?: boolean;
5
+ init?: boolean;
4
6
  }, apiKey: string, baseUrl?: string): Promise<void>;
@@ -17,7 +17,66 @@ function loadState() {
17
17
  function saveState(state) {
18
18
  writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));
19
19
  }
20
+ const DEFAULT_SEED_FILE = 'workos-seed.yml';
21
+ const SEED_TEMPLATE = `# WorkOS seed file — provision resources with \`workos seed --file=${DEFAULT_SEED_FILE}\`
22
+ # Resources are created in dependency order: permissions → roles → organizations → config.
23
+ # Existing resources are skipped (idempotent). Run \`workos seed --clean\` to tear down.
24
+
25
+ permissions:
26
+ - name: Read Posts
27
+ slug: posts:read
28
+ - name: Write Posts
29
+ slug: posts:write
30
+ description: Create and edit posts
31
+
32
+ roles:
33
+ - name: Admin
34
+ slug: admin
35
+ description: Full access
36
+ permissions:
37
+ - posts:read
38
+ - posts:write
39
+ - name: Viewer
40
+ slug: viewer
41
+ permissions:
42
+ - posts:read
43
+
44
+ organizations:
45
+ - name: Acme Corp
46
+ domains:
47
+ - acme.com
48
+
49
+ config:
50
+ redirect_uris:
51
+ - http://localhost:3000/auth/callback
52
+ cors_origins:
53
+ - http://localhost:3000
54
+ homepage_url: http://localhost:3000
55
+ `;
56
+ export function runSeedInit() {
57
+ if (existsSync(DEFAULT_SEED_FILE)) {
58
+ if (isJsonMode()) {
59
+ outputJson({ status: 'exists', message: `${DEFAULT_SEED_FILE} already exists`, file: DEFAULT_SEED_FILE });
60
+ }
61
+ else {
62
+ console.log(chalk.yellow(`${DEFAULT_SEED_FILE} already exists — not overwriting.`));
63
+ }
64
+ return;
65
+ }
66
+ writeFileSync(DEFAULT_SEED_FILE, SEED_TEMPLATE);
67
+ if (isJsonMode()) {
68
+ outputJson({ status: 'ok', message: `Created ${DEFAULT_SEED_FILE}`, file: DEFAULT_SEED_FILE });
69
+ }
70
+ else {
71
+ console.log(chalk.green(`Created ${DEFAULT_SEED_FILE}`));
72
+ console.log(chalk.dim('Edit the file, then run: workos seed --file=workos-seed.yml'));
73
+ }
74
+ }
20
75
  export async function runSeed(options, apiKey, baseUrl) {
76
+ if (options.init) {
77
+ runSeedInit();
78
+ return;
79
+ }
21
80
  if (options.clean) {
22
81
  await runSeedClean(apiKey, baseUrl);
23
82
  return;
@@ -25,7 +84,7 @@ export async function runSeed(options, apiKey, baseUrl) {
25
84
  if (!options.file) {
26
85
  return exitWithError({
27
86
  code: 'missing_args',
28
- message: 'Provide a seed file: workos seed --file=workos-seed.yml',
87
+ message: 'Provide a seed file: workos seed --file=workos-seed.yml\nRun workos seed --init to create an example seed file.',
29
88
  });
30
89
  }
31
90
  if (!existsSync(options.file)) {
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/commands/seed.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFileSync, writeFileSync, existsSync, unlinkSync } from 'node:fs';\nimport chalk from 'chalk';\nimport { parse as parseYaml } from 'yaml';\nimport type { DomainData } from '@workos-inc/node';\nimport { createWorkOSClient, type WorkOSCLIClient } from '../lib/workos-client.js';\nimport { outputJson, outputSuccess, isJsonMode, exitWithError } from '../utils/output.js';\n\nconst STATE_FILE = '.workos-seed-state.json';\n\ninterface SeedConfig {\n organizations?: Array<{ name: string; domains?: string[] }>;\n permissions?: Array<{ name: string; slug: string; description?: string }>;\n roles?: Array<{ name: string; slug: string; description?: string; permissions?: string[] }>;\n config?: {\n redirect_uris?: string[];\n cors_origins?: string[];\n homepage_url?: string;\n };\n}\n\ninterface SeedState {\n permissions: Array<{ slug: string }>;\n roles: Array<{ slug: string }>;\n organizations: Array<{ id: string; name: string }>;\n createdAt: string;\n}\n\nfunction loadState(): SeedState | null {\n if (!existsSync(STATE_FILE)) return null;\n try {\n return JSON.parse(readFileSync(STATE_FILE, 'utf-8'));\n } catch {\n return null;\n }\n}\n\nfunction saveState(state: SeedState): void {\n writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));\n}\n\nexport async function runSeed(\n options: { file?: string; clean?: boolean },\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n if (options.clean) {\n await runSeedClean(apiKey, baseUrl);\n return;\n }\n\n if (!options.file) {\n return exitWithError({\n code: 'missing_args',\n message: 'Provide a seed file: workos seed --file=workos-seed.yml',\n });\n }\n\n if (!existsSync(options.file)) {\n return exitWithError({\n code: 'file_not_found',\n message: `Seed file not found: ${options.file}. Create workos-seed.yml or run \\`workos seed\\` without --file for interactive mode.`,\n });\n }\n\n const raw = readFileSync(options.file, 'utf-8');\n let seedConfig: SeedConfig;\n try {\n seedConfig = parseYaml(raw) as SeedConfig;\n } catch (error) {\n exitWithError({\n code: 'invalid_yaml',\n message: `Failed to parse seed file: ${error instanceof Error ? error.message : 'Invalid YAML'}`,\n });\n }\n\n const client = createWorkOSClient(apiKey, baseUrl);\n const state: SeedState = { permissions: [], roles: [], organizations: [], createdAt: new Date().toISOString() };\n\n try {\n // 1. Create permissions\n if (seedConfig.permissions) {\n for (const perm of seedConfig.permissions) {\n try {\n await client.sdk.authorization.createPermission({\n slug: perm.slug,\n name: perm.name,\n ...(perm.description && { description: perm.description }),\n });\n state.permissions.push({ slug: perm.slug });\n if (!isJsonMode()) console.log(chalk.green(` Created permission: ${perm.slug}`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Permission exists: ${perm.slug} (skipped)`));\n } else {\n throw error;\n }\n }\n }\n }\n\n // 2. Create roles + assign permissions\n if (seedConfig.roles) {\n for (const role of seedConfig.roles) {\n try {\n await client.sdk.authorization.createEnvironmentRole({\n slug: role.slug,\n name: role.name,\n ...(role.description && { description: role.description }),\n });\n state.roles.push({ slug: role.slug });\n if (!isJsonMode()) console.log(chalk.green(` Created role: ${role.slug}`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Role exists: ${role.slug} (skipped)`));\n } else {\n throw error;\n }\n }\n\n if (role.permissions?.length) {\n try {\n await client.sdk.authorization.setEnvironmentRolePermissions(role.slug, {\n permissions: role.permissions,\n });\n if (!isJsonMode())\n console.log(chalk.green(` Set permissions on ${role.slug}: ${role.permissions.join(', ')}`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Failed to set permissions on ${role.slug}`));\n }\n }\n }\n }\n\n // 3. Create organizations\n if (seedConfig.organizations) {\n for (const org of seedConfig.organizations) {\n try {\n const created = await client.sdk.organizations.createOrganization({\n name: org.name,\n ...(org.domains?.length && {\n domainData: org.domains.map((d) => ({ domain: d, state: 'verified' as DomainData['state'] })),\n }),\n });\n state.organizations.push({ id: created.id, name: created.name });\n if (!isJsonMode()) console.log(chalk.green(` Created org: ${created.name} (${created.id})`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Org may exist: ${org.name} (skipped)`));\n } else {\n throw error;\n }\n }\n }\n }\n\n // 4. Configure redirect URIs, CORS, homepage\n if (seedConfig.config) {\n await applyConfig(client, seedConfig.config);\n }\n\n saveState(state);\n\n if (isJsonMode()) {\n outputJson({ status: 'ok', message: 'Seed complete', state });\n } else {\n console.log(chalk.green('\\nSeed complete.'));\n console.log(chalk.dim(`State saved to ${STATE_FILE}`));\n }\n } catch (error) {\n // Partial failure — save what was created so --clean can tear down\n saveState(state);\n exitWithError({\n code: 'seed_failed',\n message: `Seed failed: ${error instanceof Error ? error.message : 'Unknown error'}. Partial state saved to ${STATE_FILE}. Run \\`workos seed --clean\\` to tear down.`,\n details: state,\n });\n }\n}\n\nasync function runSeedClean(apiKey: string, baseUrl?: string): Promise<void> {\n const state = loadState();\n if (!state) {\n return exitWithError({\n code: 'no_state',\n message: `No seed state found (${STATE_FILE}). Nothing to clean.`,\n });\n }\n\n const client = createWorkOSClient(apiKey, baseUrl);\n\n // Delete in reverse order: orgs → roles → permissions\n for (const org of state.organizations.reverse()) {\n try {\n await client.sdk.organizations.deleteOrganization(org.id);\n if (!isJsonMode()) console.log(chalk.green(` Deleted org: ${org.name} (${org.id})`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Could not delete org ${org.id}`));\n }\n }\n\n for (const role of state.roles.reverse()) {\n try {\n // Env roles can't be deleted via SDK — skip silently\n if (!isJsonMode()) console.log(chalk.dim(` Env role ${role.slug}: skipped (env roles cannot be deleted)`));\n } catch {\n // ignore\n }\n }\n\n for (const perm of state.permissions.reverse()) {\n try {\n await client.sdk.authorization.deletePermission(perm.slug);\n if (!isJsonMode()) console.log(chalk.green(` Deleted permission: ${perm.slug}`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Could not delete permission ${perm.slug}`));\n }\n }\n\n unlinkSync(STATE_FILE);\n outputSuccess('Seed cleanup complete', { stateFile: STATE_FILE });\n}\n\nasync function applyConfig(client: WorkOSCLIClient, config: NonNullable<SeedConfig['config']>): Promise<void> {\n if (config.redirect_uris) {\n for (const uri of config.redirect_uris) {\n const result = await client.redirectUris.add(uri);\n if (!isJsonMode()) {\n console.log(\n result.alreadyExists\n ? chalk.dim(` Redirect URI exists: ${uri}`)\n : chalk.green(` Added redirect URI: ${uri}`),\n );\n }\n }\n }\n\n if (config.cors_origins) {\n for (const origin of config.cors_origins) {\n const result = await client.corsOrigins.add(origin);\n if (!isJsonMode()) {\n console.log(\n result.alreadyExists\n ? chalk.dim(` CORS origin exists: ${origin}`)\n : chalk.green(` Added CORS origin: ${origin}`),\n );\n }\n }\n }\n\n if (config.homepage_url) {\n await client.homepageUrl.set(config.homepage_url);\n if (!isJsonMode()) console.log(chalk.green(` Set homepage URL: ${config.homepage_url}`));\n }\n}\n\nfunction isAlreadyExists(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n const msg = error.message.toLowerCase();\n return msg.includes('already exists') || msg.includes('conflict') || msg.includes('duplicate');\n}\n"]}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/commands/seed.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFileSync, writeFileSync, existsSync, unlinkSync } from 'node:fs';\nimport chalk from 'chalk';\nimport { parse as parseYaml } from 'yaml';\nimport type { DomainData } from '@workos-inc/node';\nimport { createWorkOSClient, type WorkOSCLIClient } from '../lib/workos-client.js';\nimport { outputJson, outputSuccess, isJsonMode, exitWithError } from '../utils/output.js';\n\nconst STATE_FILE = '.workos-seed-state.json';\n\ninterface SeedConfig {\n organizations?: Array<{ name: string; domains?: string[] }>;\n permissions?: Array<{ name: string; slug: string; description?: string }>;\n roles?: Array<{ name: string; slug: string; description?: string; permissions?: string[] }>;\n config?: {\n redirect_uris?: string[];\n cors_origins?: string[];\n homepage_url?: string;\n };\n}\n\ninterface SeedState {\n permissions: Array<{ slug: string }>;\n roles: Array<{ slug: string }>;\n organizations: Array<{ id: string; name: string }>;\n createdAt: string;\n}\n\nfunction loadState(): SeedState | null {\n if (!existsSync(STATE_FILE)) return null;\n try {\n return JSON.parse(readFileSync(STATE_FILE, 'utf-8'));\n } catch {\n return null;\n }\n}\n\nfunction saveState(state: SeedState): void {\n writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));\n}\n\nconst DEFAULT_SEED_FILE = 'workos-seed.yml';\n\nconst SEED_TEMPLATE = `# WorkOS seed file — provision resources with \\`workos seed --file=${DEFAULT_SEED_FILE}\\`\n# Resources are created in dependency order: permissions → roles → organizations → config.\n# Existing resources are skipped (idempotent). Run \\`workos seed --clean\\` to tear down.\n\npermissions:\n - name: Read Posts\n slug: posts:read\n - name: Write Posts\n slug: posts:write\n description: Create and edit posts\n\nroles:\n - name: Admin\n slug: admin\n description: Full access\n permissions:\n - posts:read\n - posts:write\n - name: Viewer\n slug: viewer\n permissions:\n - posts:read\n\norganizations:\n - name: Acme Corp\n domains:\n - acme.com\n\nconfig:\n redirect_uris:\n - http://localhost:3000/auth/callback\n cors_origins:\n - http://localhost:3000\n homepage_url: http://localhost:3000\n`;\n\nexport function runSeedInit(): void {\n if (existsSync(DEFAULT_SEED_FILE)) {\n if (isJsonMode()) {\n outputJson({ status: 'exists', message: `${DEFAULT_SEED_FILE} already exists`, file: DEFAULT_SEED_FILE });\n } else {\n console.log(chalk.yellow(`${DEFAULT_SEED_FILE} already exists — not overwriting.`));\n }\n return;\n }\n\n writeFileSync(DEFAULT_SEED_FILE, SEED_TEMPLATE);\n\n if (isJsonMode()) {\n outputJson({ status: 'ok', message: `Created ${DEFAULT_SEED_FILE}`, file: DEFAULT_SEED_FILE });\n } else {\n console.log(chalk.green(`Created ${DEFAULT_SEED_FILE}`));\n console.log(chalk.dim('Edit the file, then run: workos seed --file=workos-seed.yml'));\n }\n}\n\nexport async function runSeed(\n options: { file?: string; clean?: boolean; init?: boolean },\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n if (options.init) {\n runSeedInit();\n return;\n }\n\n if (options.clean) {\n await runSeedClean(apiKey, baseUrl);\n return;\n }\n\n if (!options.file) {\n return exitWithError({\n code: 'missing_args',\n message:\n 'Provide a seed file: workos seed --file=workos-seed.yml\\nRun workos seed --init to create an example seed file.',\n });\n }\n\n if (!existsSync(options.file)) {\n return exitWithError({\n code: 'file_not_found',\n message: `Seed file not found: ${options.file}. Create workos-seed.yml or run \\`workos seed\\` without --file for interactive mode.`,\n });\n }\n\n const raw = readFileSync(options.file, 'utf-8');\n let seedConfig: SeedConfig;\n try {\n seedConfig = parseYaml(raw) as SeedConfig;\n } catch (error) {\n exitWithError({\n code: 'invalid_yaml',\n message: `Failed to parse seed file: ${error instanceof Error ? error.message : 'Invalid YAML'}`,\n });\n }\n\n const client = createWorkOSClient(apiKey, baseUrl);\n const state: SeedState = { permissions: [], roles: [], organizations: [], createdAt: new Date().toISOString() };\n\n try {\n // 1. Create permissions\n if (seedConfig.permissions) {\n for (const perm of seedConfig.permissions) {\n try {\n await client.sdk.authorization.createPermission({\n slug: perm.slug,\n name: perm.name,\n ...(perm.description && { description: perm.description }),\n });\n state.permissions.push({ slug: perm.slug });\n if (!isJsonMode()) console.log(chalk.green(` Created permission: ${perm.slug}`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Permission exists: ${perm.slug} (skipped)`));\n } else {\n throw error;\n }\n }\n }\n }\n\n // 2. Create roles + assign permissions\n if (seedConfig.roles) {\n for (const role of seedConfig.roles) {\n try {\n await client.sdk.authorization.createEnvironmentRole({\n slug: role.slug,\n name: role.name,\n ...(role.description && { description: role.description }),\n });\n state.roles.push({ slug: role.slug });\n if (!isJsonMode()) console.log(chalk.green(` Created role: ${role.slug}`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Role exists: ${role.slug} (skipped)`));\n } else {\n throw error;\n }\n }\n\n if (role.permissions?.length) {\n try {\n await client.sdk.authorization.setEnvironmentRolePermissions(role.slug, {\n permissions: role.permissions,\n });\n if (!isJsonMode())\n console.log(chalk.green(` Set permissions on ${role.slug}: ${role.permissions.join(', ')}`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Failed to set permissions on ${role.slug}`));\n }\n }\n }\n }\n\n // 3. Create organizations\n if (seedConfig.organizations) {\n for (const org of seedConfig.organizations) {\n try {\n const created = await client.sdk.organizations.createOrganization({\n name: org.name,\n ...(org.domains?.length && {\n domainData: org.domains.map((d) => ({ domain: d, state: 'verified' as DomainData['state'] })),\n }),\n });\n state.organizations.push({ id: created.id, name: created.name });\n if (!isJsonMode()) console.log(chalk.green(` Created org: ${created.name} (${created.id})`));\n } catch (error: unknown) {\n if (isAlreadyExists(error)) {\n if (!isJsonMode()) console.log(chalk.dim(` Org may exist: ${org.name} (skipped)`));\n } else {\n throw error;\n }\n }\n }\n }\n\n // 4. Configure redirect URIs, CORS, homepage\n if (seedConfig.config) {\n await applyConfig(client, seedConfig.config);\n }\n\n saveState(state);\n\n if (isJsonMode()) {\n outputJson({ status: 'ok', message: 'Seed complete', state });\n } else {\n console.log(chalk.green('\\nSeed complete.'));\n console.log(chalk.dim(`State saved to ${STATE_FILE}`));\n }\n } catch (error) {\n // Partial failure — save what was created so --clean can tear down\n saveState(state);\n exitWithError({\n code: 'seed_failed',\n message: `Seed failed: ${error instanceof Error ? error.message : 'Unknown error'}. Partial state saved to ${STATE_FILE}. Run \\`workos seed --clean\\` to tear down.`,\n details: state,\n });\n }\n}\n\nasync function runSeedClean(apiKey: string, baseUrl?: string): Promise<void> {\n const state = loadState();\n if (!state) {\n return exitWithError({\n code: 'no_state',\n message: `No seed state found (${STATE_FILE}). Nothing to clean.`,\n });\n }\n\n const client = createWorkOSClient(apiKey, baseUrl);\n\n // Delete in reverse order: orgs → roles → permissions\n for (const org of state.organizations.reverse()) {\n try {\n await client.sdk.organizations.deleteOrganization(org.id);\n if (!isJsonMode()) console.log(chalk.green(` Deleted org: ${org.name} (${org.id})`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Could not delete org ${org.id}`));\n }\n }\n\n for (const role of state.roles.reverse()) {\n try {\n // Env roles can't be deleted via SDK — skip silently\n if (!isJsonMode()) console.log(chalk.dim(` Env role ${role.slug}: skipped (env roles cannot be deleted)`));\n } catch {\n // ignore\n }\n }\n\n for (const perm of state.permissions.reverse()) {\n try {\n await client.sdk.authorization.deletePermission(perm.slug);\n if (!isJsonMode()) console.log(chalk.green(` Deleted permission: ${perm.slug}`));\n } catch {\n if (!isJsonMode()) console.log(chalk.yellow(` Warning: Could not delete permission ${perm.slug}`));\n }\n }\n\n unlinkSync(STATE_FILE);\n outputSuccess('Seed cleanup complete', { stateFile: STATE_FILE });\n}\n\nasync function applyConfig(client: WorkOSCLIClient, config: NonNullable<SeedConfig['config']>): Promise<void> {\n if (config.redirect_uris) {\n for (const uri of config.redirect_uris) {\n const result = await client.redirectUris.add(uri);\n if (!isJsonMode()) {\n console.log(\n result.alreadyExists\n ? chalk.dim(` Redirect URI exists: ${uri}`)\n : chalk.green(` Added redirect URI: ${uri}`),\n );\n }\n }\n }\n\n if (config.cors_origins) {\n for (const origin of config.cors_origins) {\n const result = await client.corsOrigins.add(origin);\n if (!isJsonMode()) {\n console.log(\n result.alreadyExists\n ? chalk.dim(` CORS origin exists: ${origin}`)\n : chalk.green(` Added CORS origin: ${origin}`),\n );\n }\n }\n }\n\n if (config.homepage_url) {\n await client.homepageUrl.set(config.homepage_url);\n if (!isJsonMode()) console.log(chalk.green(` Set homepage URL: ${config.homepage_url}`));\n }\n}\n\nfunction isAlreadyExists(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n const msg = error.message.toLowerCase();\n return msg.includes('already exists') || msg.includes('conflict') || msg.includes('duplicate');\n}\n"]}
@@ -1022,6 +1022,14 @@ const commands = [
1022
1022
  default: false,
1023
1023
  hidden: false,
1024
1024
  },
1025
+ {
1026
+ name: 'init',
1027
+ type: 'boolean',
1028
+ description: 'Create an example workos-seed.yml file',
1029
+ required: false,
1030
+ default: false,
1031
+ hidden: false,
1032
+ },
1025
1033
  ],
1026
1034
  },
1027
1035
  {
@@ -1 +1 @@
1
- {"version":3,"file":"help-json.js","sourceRoot":"","sources":["../../src/utils/help-json.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqChD,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,MAAM,kBAAkB,GAAiB;IACvC,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,+DAA+D;IAC5E,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,SAAS,GAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,+EAA+E;IAC5F,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,cAAc,GAAmB;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACrH;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,KAAK;KACd;CACF,CAAC;AAEF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,QAAQ,GAAoB;IAChC;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4EAA4E;QACzF,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iDAAiD;gBAC9D,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,mCAAmC;wBAChD,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,mDAAmD;gBAChE,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,kCAAkC;wBAC/C,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2CAA2C;gBACxD,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,+BAA+B;gBAC5C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,0BAA0B;gBACvC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qCAAqC;gBAClD,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,6EAA6E;QAC1F,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,wEAAwE;gBACrF,WAAW,EAAE;oBACX;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oDAAoD;wBACjE,QAAQ,EAAE,KAAK;qBAChB;oBACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC5G;gBACD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;wBACpD,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBAC7G;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;gBAClD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC3G;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;gBAC/E,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;aAC9G;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,iEAAiE;gBAC9E,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uBAAuB;wBACpC,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;gBACvE,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAClF;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACtF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC3F,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACtG;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,+BAA+B;gBAC5C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACzG;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,yDAAyD;gBACtE,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;wBAC7C,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACzG;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,wBAAwB;gBACrC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACnG;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,iDAAiD;gBAC9D,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;wBAC5C,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iCAAiC;wBAC9C,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0EAA0E;gBACvF,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAClG,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/F;wBACE,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2BAA2B;wBACxC,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjG;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sCAAsC;wBACnD,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;gBACxC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACnG;SACF;KACF;IACD,uCAAuC;IACvC;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE;YACP,kBAAkB;YAClB,SAAS;YACT;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;SACF;QACD,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;YACxD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC1F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzF,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBACzG;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACzF,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzF,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBACxG;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;gBACzD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC1F;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,mDAAmD;gBAChE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACzF,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kCAAkC;wBAC/C,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1E,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC3F;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,uDAAuD;gBACpE,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1E,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC3F;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE;YAC/E;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAChG;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/F;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;wBACrC,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC/F,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzF,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBACxG;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAChG;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAClG,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACvF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBAC3F;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC3F,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aAC1G;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjG,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC1F;wBACE,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;wBACjC,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0BAA0B;gBACvC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACzF,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;aAC7B;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAChG;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC1G,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC3F,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0BAA0B;wBACvC,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzG,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC3F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC1F,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0BAA0B;wBACvC,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,sBAAsB;gBACnC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAClG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC1F,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjG,GAAG,cAAc;iBAClB;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,aAAa;gBAC1B,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wCAAwC;wBACrD,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACzG;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;wBACrC,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC1G,GAAG,cAAc;iBAClB;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,2BAA2B;gBACxC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAChG,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBACzG;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC7G,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;iBAC1G;aACF;YACD,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACzE;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,oCAAoC;gBACjD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC9F;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC7F,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;iBACzG;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACjG;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE;YACjF;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAClG;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAClG;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wBAAwB;gBACrC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAClG;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAClF,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC/E;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,qCAAqC;gBAClD,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAClF,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC/E;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE;YAC9C;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACnG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;iBAC9G;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;gBAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACzF;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,oBAAoB;wBACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;qBAC5F;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,mBAAmB;wBAChC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;qBAC9F;iBACF;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,sBAAsB;wBACnC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;qBAC5F;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,+BAA+B;gBAC5C,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qDAAqD;wBAClE,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yBAAyB;wBACtC,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;oBACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBACpG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE;YACjF;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC3F,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC7F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBAChG;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACvF,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC1F,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;iBAC3G;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;SACF;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,GAAG,cAAc;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;oBACxF;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6BAA6B;wBAC1C,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;qBACd;iBACF;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC/F;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACzF;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;QACxC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC7F,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aAC1G;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxF;SACF;KACF;IACD,4BAA4B;IAC5B;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE;YACP,kBAAkB;YAClB,SAAS;YACT,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;YACvG;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjG,OAAO,EAAE;YACP,kBAAkB;YAClB,SAAS;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;YAChG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;SAC7G;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3F,OAAO,EAAE;YACP,kBAAkB;YAClB,SAAS;YACT,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;YAC9F,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;YAC1F;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrG,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;KACzC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnG,OAAO,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;KACzC;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sFAAsF;QACnG,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qDAAqD;gBAClE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD,kBAAkB;YAClB;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mEAAmE;gBAChF,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8DAA8D;gBAC3E,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;gBACzE,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,4DAA4D;gBACzE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2DAA2D;gBACxE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2DAA2D;gBACxE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;aACd;SACF;KACF;CACF,CAAC;AAEF,MAAM,aAAa,GAAmB;IACpC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+DAA+D;QAC5E,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IACvG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;CACrH,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAmB;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC1D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,UAAU,EAAE;QACrB,WAAW,EAAE,4DAA4D;QACzE,QAAQ;QACR,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Agent-discoverable help: machine-readable command tree for --help --json.\n *\n * Static command registry mirroring bin.ts yargs definitions.\n * yargs v18 doesn't expose public APIs for command introspection,\n * so we maintain a parallel typed registry.\n */\n\nimport { getVersion } from '../lib/settings.js';\n\nexport interface OptionSchema {\n name: string;\n type: 'string' | 'boolean' | 'number' | 'array';\n description: string;\n required: boolean;\n default?: unknown;\n alias?: string;\n choices?: string[];\n hidden: boolean;\n}\n\nexport interface PositionalSchema {\n name: string;\n type: string;\n description: string;\n required: boolean;\n}\n\nexport interface CommandSchema {\n name: string;\n description: string;\n commands?: CommandSchema[];\n options?: OptionSchema[];\n positionals?: PositionalSchema[];\n examples?: string[];\n}\n\nexport interface HelpOutput {\n name: string;\n version: string;\n description: string;\n commands: CommandSchema[];\n options: OptionSchema[];\n}\n\n// ---------------------------------------------------------------------------\n// Shared option fragments (mirrors bin.ts shared option objects)\n// ---------------------------------------------------------------------------\n\nconst insecureStorageOpt: OptionSchema = {\n name: 'insecure-storage',\n type: 'boolean',\n description: 'Store credentials in plaintext file instead of system keyring',\n required: false,\n default: false,\n hidden: false,\n};\n\nconst apiKeyOpt: OptionSchema = {\n name: 'api-key',\n type: 'string',\n description: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n required: false,\n hidden: false,\n};\n\nconst paginationOpts: OptionSchema[] = [\n { name: 'limit', type: 'number', description: 'Maximum number of results to return', required: false, hidden: false },\n {\n name: 'before',\n type: 'string',\n description: 'Pagination cursor for results before a specific item',\n required: false,\n hidden: false,\n },\n {\n name: 'after',\n type: 'string',\n description: 'Pagination cursor for results after a specific item',\n required: false,\n hidden: false,\n },\n {\n name: 'order',\n type: 'string',\n description: 'Sort order (asc or desc)',\n required: false,\n choices: ['asc', 'desc'],\n hidden: false,\n },\n];\n\n// ---------------------------------------------------------------------------\n// Command registry\n// ---------------------------------------------------------------------------\n\nconst commands: CommandSchema[] = [\n {\n name: 'auth login',\n description: 'Authenticate with WorkOS via browser-based OAuth',\n options: [insecureStorageOpt],\n },\n {\n name: 'auth logout',\n description: 'Remove stored WorkOS credentials and tokens',\n options: [insecureStorageOpt],\n },\n {\n name: 'auth status',\n description: 'Show current authentication status',\n options: [insecureStorageOpt],\n },\n {\n name: 'skills',\n description: 'Manage WorkOS skills for coding agents (Claude Code, Codex, Cursor, Goose)',\n commands: [\n {\n name: 'install',\n description: 'Install bundled AuthKit skills to coding agents',\n options: [\n {\n name: 'skill',\n type: 'array',\n description: 'Install specific skill(s) by name',\n required: false,\n alias: 's',\n hidden: false,\n },\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n {\n name: 'uninstall',\n description: 'Remove installed WorkOS skills from coding agents',\n options: [\n {\n name: 'skill',\n type: 'array',\n description: 'Remove specific skill(s) by name',\n required: false,\n alias: 's',\n hidden: false,\n },\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n {\n name: 'list',\n description: 'List available and installed skills',\n options: [\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'doctor',\n description: 'Diagnose WorkOS AuthKit integration issues in the current project',\n options: [\n {\n name: 'verbose',\n type: 'boolean',\n description: 'Include additional diagnostic information',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'skip-api',\n type: 'boolean',\n description: 'Skip API calls (offline mode)',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'skip-ai',\n type: 'boolean',\n description: 'Skip AI-powered analysis',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'install-dir',\n type: 'string',\n description: 'Project directory to analyze (defaults to cwd)',\n required: false,\n hidden: false,\n },\n {\n name: 'json',\n type: 'boolean',\n description: 'Output diagnostic report as JSON',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'copy',\n type: 'boolean',\n description: 'Copy diagnostic report to clipboard',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'env',\n description: 'Manage environment configurations (API keys, endpoints, active environment)',\n options: [insecureStorageOpt],\n commands: [\n {\n name: 'add',\n description: 'Add a new environment configuration with API key and optional settings',\n positionals: [\n {\n name: 'name',\n type: 'string',\n description: 'Environment name (lowercase, hyphens, underscores)',\n required: false,\n },\n { name: 'apiKey', type: 'string', description: 'WorkOS API key (sk_live_* or sk_test_*)', required: false },\n ],\n options: [\n {\n name: 'client-id',\n type: 'string',\n description: 'WorkOS client ID for this environment',\n required: false,\n hidden: false,\n },\n { name: 'endpoint', type: 'string', description: 'Custom API endpoint URL', required: false, hidden: false },\n ],\n },\n {\n name: 'remove',\n description: 'Remove an environment configuration',\n positionals: [{ name: 'name', type: 'string', description: 'Environment name to remove', required: true }],\n },\n {\n name: 'switch',\n description: 'Switch the active environment (determines which API key is used)',\n positionals: [{ name: 'name', type: 'string', description: 'Environment name to activate', required: false }],\n },\n {\n name: 'list',\n description: 'List all configured environments and show which is active',\n },\n {\n name: 'claim',\n description: 'Claim an unclaimed WorkOS environment (link it to your account)',\n options: [\n {\n name: 'json',\n type: 'boolean',\n description: 'Output in JSON format',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'organization',\n description: 'Manage WorkOS organizations (create, update, get, list, delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'create',\n description: 'Create a new organization with optional verified domains',\n positionals: [\n { name: 'name', type: 'string', description: 'Organization name', required: true },\n {\n name: 'domains',\n type: 'string',\n description: 'Domains in format domain:state (state defaults to verified)',\n required: false,\n },\n ],\n },\n {\n name: 'update',\n description: 'Update an existing organization name or domain',\n positionals: [\n { name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true },\n { name: 'name', type: 'string', description: 'New organization name', required: true },\n { name: 'domain', type: 'string', description: 'Domain to add or update', required: false },\n { name: 'state', type: 'string', description: 'Domain state (verified or pending)', required: false },\n ],\n },\n {\n name: 'get',\n description: 'Get an organization by its ID',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true }],\n },\n {\n name: 'list',\n description: 'List organizations with optional filters and pagination',\n options: [\n {\n name: 'domain',\n type: 'string',\n description: 'Filter organizations by domain',\n required: false,\n hidden: false,\n },\n ...paginationOpts,\n ],\n },\n {\n name: 'delete',\n description: 'Delete an organization by its ID',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true }],\n },\n ],\n },\n {\n name: 'user',\n description: 'Manage WorkOS user management users (get, list, update, delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'get',\n description: 'Get a user by their ID',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n },\n {\n name: 'list',\n description: 'List users with optional filters and pagination',\n options: [\n {\n name: 'email',\n type: 'string',\n description: 'Filter users by email address',\n required: false,\n hidden: false,\n },\n {\n name: 'organization',\n type: 'string',\n description: 'Filter users by organization ID',\n required: false,\n hidden: false,\n },\n ...paginationOpts,\n ],\n },\n {\n name: 'update',\n description: 'Update user properties (name, email verification, password, external ID)',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n options: [\n { name: 'first-name', type: 'string', description: 'First name', required: false, hidden: false },\n { name: 'last-name', type: 'string', description: 'Last name', required: false, hidden: false },\n {\n name: 'email-verified',\n type: 'boolean',\n description: 'Email verification status',\n required: false,\n hidden: false,\n },\n { name: 'password', type: 'string', description: 'New password', required: false, hidden: false },\n {\n name: 'external-id',\n type: 'string',\n description: 'External ID for cross-system mapping',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a user by their ID',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n },\n ],\n },\n // --- Resource Management Commands ---\n {\n name: 'role',\n description: 'Manage WorkOS roles (environment and organization-scoped)',\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n {\n name: 'org',\n type: 'string',\n description: 'Organization ID (for org-scoped roles)',\n required: false,\n hidden: false,\n },\n ],\n commands: [\n { name: 'list', description: 'List roles', options: [] },\n {\n name: 'get',\n description: 'Get a role by slug',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n },\n {\n name: 'create',\n description: 'Create a role',\n options: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Role name', required: true, hidden: false },\n { name: 'description', type: 'string', description: 'Role description', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a role',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n options: [\n { name: 'name', type: 'string', description: 'New name', required: false, hidden: false },\n { name: 'description', type: 'string', description: 'New description', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete an org-scoped role (requires --org)',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n },\n {\n name: 'set-permissions',\n description: 'Set all permissions on a role (replaces existing)',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n options: [\n {\n name: 'permissions',\n type: 'string',\n description: 'Comma-separated permission slugs',\n required: true,\n hidden: false,\n },\n ],\n },\n {\n name: 'add-permission',\n description: 'Add a permission to a role',\n positionals: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true },\n { name: 'permissionSlug', type: 'string', description: 'Permission slug', required: true },\n ],\n },\n {\n name: 'remove-permission',\n description: 'Remove a permission from an org role (requires --org)',\n positionals: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true },\n { name: 'permissionSlug', type: 'string', description: 'Permission slug', required: true },\n ],\n },\n ],\n },\n {\n name: 'permission',\n description: 'Manage WorkOS permissions',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List permissions', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n },\n {\n name: 'create',\n description: 'Create a permission',\n options: [\n { name: 'slug', type: 'string', description: 'Permission slug', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Permission name', required: true, hidden: false },\n {\n name: 'description',\n type: 'string',\n description: 'Permission description',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'update',\n description: 'Update a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n options: [\n { name: 'name', type: 'string', description: 'New name', required: false, hidden: false },\n { name: 'description', type: 'string', description: 'New description', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n },\n ],\n },\n {\n name: 'membership',\n description: 'Manage organization memberships',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List memberships',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'user', type: 'string', description: 'Filter by user ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'create',\n description: 'Create a membership',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'user', type: 'string', description: 'User ID', required: true, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n options: [{ name: 'role', type: 'string', description: 'New role slug', required: false, hidden: false }],\n },\n {\n name: 'delete',\n description: 'Delete a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'deactivate',\n description: 'Deactivate a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'reactivate',\n description: 'Reactivate a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n ],\n },\n {\n name: 'invitation',\n description: 'Manage user invitations',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List invitations',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'email', type: 'string', description: 'Filter by email', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n {\n name: 'send',\n description: 'Send an invitation',\n options: [\n { name: 'email', type: 'string', description: 'Email address', required: true, hidden: false },\n { name: 'org', type: 'string', description: 'Organization ID', required: false, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n {\n name: 'expires-in-days',\n type: 'number',\n description: 'Expiration in days',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'revoke',\n description: 'Revoke an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n {\n name: 'resend',\n description: 'Resend an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n ],\n },\n {\n name: 'session',\n description: 'Manage user sessions',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List sessions for a user',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID', required: true }],\n options: [...paginationOpts],\n },\n {\n name: 'revoke',\n description: 'Revoke a session',\n positionals: [{ name: 'sessionId', type: 'string', description: 'Session ID', required: true }],\n },\n ],\n },\n {\n name: 'connection',\n description: 'Manage SSO connections (read/delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List connections',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'type', type: 'string', description: 'Filter by connection type', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a connection',\n positionals: [{ name: 'id', type: 'string', description: 'Connection ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a connection',\n positionals: [{ name: 'id', type: 'string', description: 'Connection ID', required: true }],\n options: [\n {\n name: 'force',\n type: 'boolean',\n description: 'Skip confirmation prompt',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'directory',\n description: 'Manage directory sync (read/delete, list users/groups)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List directories',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a directory',\n positionals: [{ name: 'id', type: 'string', description: 'Directory ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a directory',\n positionals: [{ name: 'id', type: 'string', description: 'Directory ID', required: true }],\n options: [\n {\n name: 'force',\n type: 'boolean',\n description: 'Skip confirmation prompt',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'list-users',\n description: 'List directory users',\n options: [\n { name: 'directory', type: 'string', description: 'Directory ID', required: false, hidden: false },\n { name: 'group', type: 'string', description: 'Group ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'list-groups',\n description: 'List directory groups',\n options: [\n { name: 'directory', type: 'string', description: 'Directory ID', required: true, hidden: false },\n ...paginationOpts,\n ],\n },\n ],\n },\n {\n name: 'event',\n description: 'Query WorkOS events',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List events',\n options: [\n {\n name: 'events',\n type: 'string',\n description: 'Comma-separated event types (required)',\n required: true,\n hidden: false,\n },\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n {\n name: 'range-start',\n type: 'string',\n description: 'Range start (ISO date)',\n required: false,\n hidden: false,\n },\n { name: 'range-end', type: 'string', description: 'Range end (ISO date)', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n ],\n },\n {\n name: 'audit-log',\n description: 'Manage audit logs',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'create-event',\n description: 'Create an audit log event',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID', required: true }],\n options: [\n { name: 'action', type: 'string', description: 'Action name', required: false, hidden: false },\n { name: 'actor-type', type: 'string', description: 'Actor type', required: false, hidden: false },\n { name: 'actor-id', type: 'string', description: 'Actor ID', required: false, hidden: false },\n { name: 'file', type: 'string', description: 'Path to event JSON file', required: false, hidden: false },\n ],\n },\n {\n name: 'export',\n description: 'Export audit logs',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'range-start', type: 'string', description: 'Range start (ISO date)', required: true, hidden: false },\n { name: 'range-end', type: 'string', description: 'Range end (ISO date)', required: true, hidden: false },\n ],\n },\n { name: 'list-actions', description: 'List available audit log actions' },\n {\n name: 'get-schema',\n description: 'Get schema for an audit log action',\n positionals: [{ name: 'action', type: 'string', description: 'Action name', required: true }],\n },\n {\n name: 'create-schema',\n description: 'Create an audit log schema',\n positionals: [{ name: 'action', type: 'string', description: 'Action name', required: true }],\n options: [\n { name: 'file', type: 'string', description: 'Path to schema JSON file', required: true, hidden: false },\n ],\n },\n {\n name: 'get-retention',\n description: 'Get audit log retention period',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID', required: true }],\n },\n ],\n },\n {\n name: 'feature-flag',\n description: 'Manage feature flags',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List feature flags', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'enable',\n description: 'Enable a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'disable',\n description: 'Disable a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'add-target',\n description: 'Add a target to a feature flag',\n positionals: [\n { name: 'slug', type: 'string', description: 'Feature flag slug', required: true },\n { name: 'targetId', type: 'string', description: 'Target ID', required: true },\n ],\n },\n {\n name: 'remove-target',\n description: 'Remove a target from a feature flag',\n positionals: [\n { name: 'slug', type: 'string', description: 'Feature flag slug', required: true },\n { name: 'targetId', type: 'string', description: 'Target ID', required: true },\n ],\n },\n ],\n },\n {\n name: 'webhook',\n description: 'Manage webhooks',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List webhooks' },\n {\n name: 'create',\n description: 'Create a webhook',\n options: [\n { name: 'url', type: 'string', description: 'Webhook endpoint URL', required: true, hidden: false },\n { name: 'events', type: 'string', description: 'Comma-separated event types', required: true, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a webhook',\n positionals: [{ name: 'id', type: 'string', description: 'Webhook ID', required: true }],\n },\n ],\n },\n {\n name: 'config',\n description: 'Manage WorkOS configuration (redirect URIs, CORS, homepage)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'redirect',\n description: 'Manage redirect URIs',\n commands: [\n {\n name: 'add',\n description: 'Add a redirect URI',\n positionals: [{ name: 'uri', type: 'string', description: 'Redirect URI', required: true }],\n },\n ],\n },\n {\n name: 'cors',\n description: 'Manage CORS origins',\n commands: [\n {\n name: 'add',\n description: 'Add a CORS origin',\n positionals: [{ name: 'origin', type: 'string', description: 'CORS origin', required: true }],\n },\n ],\n },\n {\n name: 'homepage-url',\n description: 'Manage homepage URL',\n commands: [\n {\n name: 'set',\n description: 'Set the homepage URL',\n positionals: [{ name: 'url', type: 'string', description: 'Homepage URL', required: true }],\n },\n ],\n },\n ],\n },\n {\n name: 'portal',\n description: 'Manage Admin Portal',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'generate-link',\n description: 'Generate an Admin Portal link',\n options: [\n {\n name: 'intent',\n type: 'string',\n description: 'Portal intent (sso, dsync, audit_logs, log_streams)',\n required: true,\n hidden: false,\n },\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n {\n name: 'return-url',\n type: 'string',\n description: 'Return URL after portal',\n required: false,\n hidden: false,\n },\n { name: 'success-url', type: 'string', description: 'Success URL', required: false, hidden: false },\n ],\n },\n ],\n },\n {\n name: 'vault',\n description: 'Manage WorkOS Vault secrets',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List vault objects', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'get-by-name',\n description: 'Get a vault object by name',\n positionals: [{ name: 'name', type: 'string', description: 'Object name', required: true }],\n },\n {\n name: 'create',\n description: 'Create a vault object',\n options: [\n { name: 'name', type: 'string', description: 'Object name', required: true, hidden: false },\n { name: 'value', type: 'string', description: 'Secret value', required: true, hidden: false },\n { name: 'org', type: 'string', description: 'Organization ID', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n options: [\n { name: 'value', type: 'string', description: 'New value', required: true, hidden: false },\n { name: 'version-check', type: 'string', description: 'Version check ID', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'describe',\n description: 'Describe a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'list-versions',\n description: 'List vault object versions',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n ],\n },\n {\n name: 'api-key',\n description: 'Manage API keys',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List API keys',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'create',\n description: 'Create an API key',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Key name', required: true, hidden: false },\n {\n name: 'permissions',\n type: 'string',\n description: 'Comma-separated permissions',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'validate',\n description: 'Validate an API key',\n positionals: [{ name: 'value', type: 'string', description: 'API key value', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete an API key',\n positionals: [{ name: 'id', type: 'string', description: 'API key ID', required: true }],\n },\n ],\n },\n {\n name: 'org-domain',\n description: 'Manage organization domains',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'get',\n description: 'Get a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n {\n name: 'create',\n description: 'Create a domain',\n positionals: [{ name: 'domain', type: 'string', description: 'Domain name', required: true }],\n options: [{ name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false }],\n },\n {\n name: 'verify',\n description: 'Verify a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n ],\n },\n // --- Workflow Commands ---\n {\n name: 'seed',\n description: 'Seed WorkOS environment from a YAML config file',\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'file', type: 'string', description: 'Path to seed YAML file', required: false, hidden: false },\n {\n name: 'clean',\n type: 'boolean',\n description: 'Tear down seeded resources',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'setup-org',\n description: 'One-shot organization onboarding',\n positionals: [{ name: 'name', type: 'string', description: 'Organization name', required: true }],\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'domain', type: 'string', description: 'Domain to add', required: false, hidden: false },\n { name: 'roles', type: 'string', description: 'Comma-separated role slugs', required: false, hidden: false },\n ],\n },\n {\n name: 'onboard-user',\n description: 'Onboard a user (send invitation, assign role)',\n positionals: [{ name: 'email', type: 'string', description: 'User email', required: true }],\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n {\n name: 'wait',\n type: 'boolean',\n description: 'Wait for invitation acceptance',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'debug-sso',\n description: 'Diagnose SSO connection issues',\n positionals: [{ name: 'connectionId', type: 'string', description: 'Connection ID', required: true }],\n options: [insecureStorageOpt, apiKeyOpt],\n },\n {\n name: 'debug-sync',\n description: 'Diagnose directory sync issues',\n positionals: [{ name: 'directoryId', type: 'string', description: 'Directory ID', required: true }],\n options: [insecureStorageOpt, apiKeyOpt],\n },\n {\n name: 'install',\n description: 'Install WorkOS AuthKit into your project (interactive framework detection and setup)',\n options: [\n {\n name: 'direct',\n type: 'boolean',\n description: 'Use your own Anthropic API key (bypass llm-gateway)',\n required: false,\n default: false,\n alias: 'D',\n hidden: false,\n },\n {\n name: 'debug',\n type: 'boolean',\n description: 'Enable verbose logging',\n required: false,\n default: false,\n hidden: false,\n },\n insecureStorageOpt,\n {\n name: 'homepage-url',\n type: 'string',\n description: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n required: false,\n hidden: false,\n },\n {\n name: 'redirect-uri',\n type: 'string',\n description: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n required: false,\n hidden: false,\n },\n {\n name: 'validate',\n type: 'boolean',\n description: 'Run post-installation validation (use --no-validate to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'install-dir',\n type: 'string',\n description: 'Directory to install WorkOS AuthKit in (defaults to cwd)',\n required: false,\n hidden: false,\n },\n {\n name: 'integration',\n type: 'string',\n description: 'Framework integration to set up (auto-detected if omitted)',\n required: false,\n hidden: false,\n },\n {\n name: 'force-install',\n type: 'boolean',\n description: 'Force install packages even if peer dependency checks fail',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'dashboard',\n type: 'boolean',\n description: 'Run with visual dashboard mode',\n required: false,\n default: false,\n alias: 'd',\n hidden: false,\n },\n {\n name: 'branch',\n type: 'boolean',\n description: 'Create a new branch for changes (use --no-branch to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'commit',\n type: 'boolean',\n description: 'Auto-commit after installation (use --no-commit to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'create-pr',\n type: 'boolean',\n description: 'Auto-create pull request after installation',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'git-check',\n type: 'boolean',\n description: 'Check for dirty working tree (use --no-git-check to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n ],\n },\n];\n\nconst globalOptions: OptionSchema[] = [\n {\n name: 'json',\n type: 'boolean',\n description: 'Output results as JSON (auto-enabled in non-TTY environments)',\n required: false,\n default: false,\n hidden: false,\n },\n { name: 'help', type: 'boolean', description: 'Show help', required: false, alias: 'h', hidden: false },\n { name: 'version', type: 'boolean', description: 'Show version number', required: false, alias: 'v', hidden: false },\n];\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**\n * Build a machine-readable command tree for --help --json output.\n *\n * @param subcommand - Optional command name to return a subtree for (e.g. \"env\").\n * Returns full tree if omitted or if command not found.\n */\nexport function buildCommandTree(subcommand?: string): HelpOutput | CommandSchema {\n if (subcommand) {\n const match = commands.find((c) => c.name === subcommand);\n if (match) return match;\n }\n\n return {\n name: 'workos',\n version: getVersion(),\n description: 'WorkOS CLI for AuthKit integration and resource management',\n commands,\n options: globalOptions,\n };\n}\n"]}
1
+ {"version":3,"file":"help-json.js","sourceRoot":"","sources":["../../src/utils/help-json.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent-discoverable help: machine-readable command tree for --help --json.\n *\n * Static command registry mirroring bin.ts yargs definitions.\n * yargs v18 doesn't expose public APIs for command introspection,\n * so we maintain a parallel typed registry.\n */\n\nimport { getVersion } from '../lib/settings.js';\n\nexport interface OptionSchema {\n name: string;\n type: 'string' | 'boolean' | 'number' | 'array';\n description: string;\n required: boolean;\n default?: unknown;\n alias?: string;\n choices?: string[];\n hidden: boolean;\n}\n\nexport interface PositionalSchema {\n name: string;\n type: string;\n description: string;\n required: boolean;\n}\n\nexport interface CommandSchema {\n name: string;\n description: string;\n commands?: CommandSchema[];\n options?: OptionSchema[];\n positionals?: PositionalSchema[];\n examples?: string[];\n}\n\nexport interface HelpOutput {\n name: string;\n version: string;\n description: string;\n commands: CommandSchema[];\n options: OptionSchema[];\n}\n\n// ---------------------------------------------------------------------------\n// Shared option fragments (mirrors bin.ts shared option objects)\n// ---------------------------------------------------------------------------\n\nconst insecureStorageOpt: OptionSchema = {\n name: 'insecure-storage',\n type: 'boolean',\n description: 'Store credentials in plaintext file instead of system keyring',\n required: false,\n default: false,\n hidden: false,\n};\n\nconst apiKeyOpt: OptionSchema = {\n name: 'api-key',\n type: 'string',\n description: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n required: false,\n hidden: false,\n};\n\nconst paginationOpts: OptionSchema[] = [\n { name: 'limit', type: 'number', description: 'Maximum number of results to return', required: false, hidden: false },\n {\n name: 'before',\n type: 'string',\n description: 'Pagination cursor for results before a specific item',\n required: false,\n hidden: false,\n },\n {\n name: 'after',\n type: 'string',\n description: 'Pagination cursor for results after a specific item',\n required: false,\n hidden: false,\n },\n {\n name: 'order',\n type: 'string',\n description: 'Sort order (asc or desc)',\n required: false,\n choices: ['asc', 'desc'],\n hidden: false,\n },\n];\n\n// ---------------------------------------------------------------------------\n// Command registry\n// ---------------------------------------------------------------------------\n\nconst commands: CommandSchema[] = [\n {\n name: 'auth login',\n description: 'Authenticate with WorkOS via browser-based OAuth',\n options: [insecureStorageOpt],\n },\n {\n name: 'auth logout',\n description: 'Remove stored WorkOS credentials and tokens',\n options: [insecureStorageOpt],\n },\n {\n name: 'auth status',\n description: 'Show current authentication status',\n options: [insecureStorageOpt],\n },\n {\n name: 'skills',\n description: 'Manage WorkOS skills for coding agents (Claude Code, Codex, Cursor, Goose)',\n commands: [\n {\n name: 'install',\n description: 'Install bundled AuthKit skills to coding agents',\n options: [\n {\n name: 'skill',\n type: 'array',\n description: 'Install specific skill(s) by name',\n required: false,\n alias: 's',\n hidden: false,\n },\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n {\n name: 'uninstall',\n description: 'Remove installed WorkOS skills from coding agents',\n options: [\n {\n name: 'skill',\n type: 'array',\n description: 'Remove specific skill(s) by name',\n required: false,\n alias: 's',\n hidden: false,\n },\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n {\n name: 'list',\n description: 'List available and installed skills',\n options: [\n {\n name: 'agent',\n type: 'array',\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n required: false,\n alias: 'a',\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'doctor',\n description: 'Diagnose WorkOS AuthKit integration issues in the current project',\n options: [\n {\n name: 'verbose',\n type: 'boolean',\n description: 'Include additional diagnostic information',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'skip-api',\n type: 'boolean',\n description: 'Skip API calls (offline mode)',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'skip-ai',\n type: 'boolean',\n description: 'Skip AI-powered analysis',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'install-dir',\n type: 'string',\n description: 'Project directory to analyze (defaults to cwd)',\n required: false,\n hidden: false,\n },\n {\n name: 'json',\n type: 'boolean',\n description: 'Output diagnostic report as JSON',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'copy',\n type: 'boolean',\n description: 'Copy diagnostic report to clipboard',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'env',\n description: 'Manage environment configurations (API keys, endpoints, active environment)',\n options: [insecureStorageOpt],\n commands: [\n {\n name: 'add',\n description: 'Add a new environment configuration with API key and optional settings',\n positionals: [\n {\n name: 'name',\n type: 'string',\n description: 'Environment name (lowercase, hyphens, underscores)',\n required: false,\n },\n { name: 'apiKey', type: 'string', description: 'WorkOS API key (sk_live_* or sk_test_*)', required: false },\n ],\n options: [\n {\n name: 'client-id',\n type: 'string',\n description: 'WorkOS client ID for this environment',\n required: false,\n hidden: false,\n },\n { name: 'endpoint', type: 'string', description: 'Custom API endpoint URL', required: false, hidden: false },\n ],\n },\n {\n name: 'remove',\n description: 'Remove an environment configuration',\n positionals: [{ name: 'name', type: 'string', description: 'Environment name to remove', required: true }],\n },\n {\n name: 'switch',\n description: 'Switch the active environment (determines which API key is used)',\n positionals: [{ name: 'name', type: 'string', description: 'Environment name to activate', required: false }],\n },\n {\n name: 'list',\n description: 'List all configured environments and show which is active',\n },\n {\n name: 'claim',\n description: 'Claim an unclaimed WorkOS environment (link it to your account)',\n options: [\n {\n name: 'json',\n type: 'boolean',\n description: 'Output in JSON format',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'organization',\n description: 'Manage WorkOS organizations (create, update, get, list, delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'create',\n description: 'Create a new organization with optional verified domains',\n positionals: [\n { name: 'name', type: 'string', description: 'Organization name', required: true },\n {\n name: 'domains',\n type: 'string',\n description: 'Domains in format domain:state (state defaults to verified)',\n required: false,\n },\n ],\n },\n {\n name: 'update',\n description: 'Update an existing organization name or domain',\n positionals: [\n { name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true },\n { name: 'name', type: 'string', description: 'New organization name', required: true },\n { name: 'domain', type: 'string', description: 'Domain to add or update', required: false },\n { name: 'state', type: 'string', description: 'Domain state (verified or pending)', required: false },\n ],\n },\n {\n name: 'get',\n description: 'Get an organization by its ID',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true }],\n },\n {\n name: 'list',\n description: 'List organizations with optional filters and pagination',\n options: [\n {\n name: 'domain',\n type: 'string',\n description: 'Filter organizations by domain',\n required: false,\n hidden: false,\n },\n ...paginationOpts,\n ],\n },\n {\n name: 'delete',\n description: 'Delete an organization by its ID',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID (org_*)', required: true }],\n },\n ],\n },\n {\n name: 'user',\n description: 'Manage WorkOS user management users (get, list, update, delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'get',\n description: 'Get a user by their ID',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n },\n {\n name: 'list',\n description: 'List users with optional filters and pagination',\n options: [\n {\n name: 'email',\n type: 'string',\n description: 'Filter users by email address',\n required: false,\n hidden: false,\n },\n {\n name: 'organization',\n type: 'string',\n description: 'Filter users by organization ID',\n required: false,\n hidden: false,\n },\n ...paginationOpts,\n ],\n },\n {\n name: 'update',\n description: 'Update user properties (name, email verification, password, external ID)',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n options: [\n { name: 'first-name', type: 'string', description: 'First name', required: false, hidden: false },\n { name: 'last-name', type: 'string', description: 'Last name', required: false, hidden: false },\n {\n name: 'email-verified',\n type: 'boolean',\n description: 'Email verification status',\n required: false,\n hidden: false,\n },\n { name: 'password', type: 'string', description: 'New password', required: false, hidden: false },\n {\n name: 'external-id',\n type: 'string',\n description: 'External ID for cross-system mapping',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a user by their ID',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID (user_*)', required: true }],\n },\n ],\n },\n // --- Resource Management Commands ---\n {\n name: 'role',\n description: 'Manage WorkOS roles (environment and organization-scoped)',\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n {\n name: 'org',\n type: 'string',\n description: 'Organization ID (for org-scoped roles)',\n required: false,\n hidden: false,\n },\n ],\n commands: [\n { name: 'list', description: 'List roles', options: [] },\n {\n name: 'get',\n description: 'Get a role by slug',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n },\n {\n name: 'create',\n description: 'Create a role',\n options: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Role name', required: true, hidden: false },\n { name: 'description', type: 'string', description: 'Role description', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a role',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n options: [\n { name: 'name', type: 'string', description: 'New name', required: false, hidden: false },\n { name: 'description', type: 'string', description: 'New description', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete an org-scoped role (requires --org)',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n },\n {\n name: 'set-permissions',\n description: 'Set all permissions on a role (replaces existing)',\n positionals: [{ name: 'slug', type: 'string', description: 'Role slug', required: true }],\n options: [\n {\n name: 'permissions',\n type: 'string',\n description: 'Comma-separated permission slugs',\n required: true,\n hidden: false,\n },\n ],\n },\n {\n name: 'add-permission',\n description: 'Add a permission to a role',\n positionals: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true },\n { name: 'permissionSlug', type: 'string', description: 'Permission slug', required: true },\n ],\n },\n {\n name: 'remove-permission',\n description: 'Remove a permission from an org role (requires --org)',\n positionals: [\n { name: 'slug', type: 'string', description: 'Role slug', required: true },\n { name: 'permissionSlug', type: 'string', description: 'Permission slug', required: true },\n ],\n },\n ],\n },\n {\n name: 'permission',\n description: 'Manage WorkOS permissions',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List permissions', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n },\n {\n name: 'create',\n description: 'Create a permission',\n options: [\n { name: 'slug', type: 'string', description: 'Permission slug', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Permission name', required: true, hidden: false },\n {\n name: 'description',\n type: 'string',\n description: 'Permission description',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'update',\n description: 'Update a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n options: [\n { name: 'name', type: 'string', description: 'New name', required: false, hidden: false },\n { name: 'description', type: 'string', description: 'New description', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a permission',\n positionals: [{ name: 'slug', type: 'string', description: 'Permission slug', required: true }],\n },\n ],\n },\n {\n name: 'membership',\n description: 'Manage organization memberships',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List memberships',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'user', type: 'string', description: 'Filter by user ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'create',\n description: 'Create a membership',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'user', type: 'string', description: 'User ID', required: true, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n options: [{ name: 'role', type: 'string', description: 'New role slug', required: false, hidden: false }],\n },\n {\n name: 'delete',\n description: 'Delete a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'deactivate',\n description: 'Deactivate a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n {\n name: 'reactivate',\n description: 'Reactivate a membership',\n positionals: [{ name: 'id', type: 'string', description: 'Membership ID', required: true }],\n },\n ],\n },\n {\n name: 'invitation',\n description: 'Manage user invitations',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List invitations',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'email', type: 'string', description: 'Filter by email', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n {\n name: 'send',\n description: 'Send an invitation',\n options: [\n { name: 'email', type: 'string', description: 'Email address', required: true, hidden: false },\n { name: 'org', type: 'string', description: 'Organization ID', required: false, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n {\n name: 'expires-in-days',\n type: 'number',\n description: 'Expiration in days',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'revoke',\n description: 'Revoke an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n {\n name: 'resend',\n description: 'Resend an invitation',\n positionals: [{ name: 'id', type: 'string', description: 'Invitation ID', required: true }],\n },\n ],\n },\n {\n name: 'session',\n description: 'Manage user sessions',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List sessions for a user',\n positionals: [{ name: 'userId', type: 'string', description: 'User ID', required: true }],\n options: [...paginationOpts],\n },\n {\n name: 'revoke',\n description: 'Revoke a session',\n positionals: [{ name: 'sessionId', type: 'string', description: 'Session ID', required: true }],\n },\n ],\n },\n {\n name: 'connection',\n description: 'Manage SSO connections (read/delete)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List connections',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n { name: 'type', type: 'string', description: 'Filter by connection type', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a connection',\n positionals: [{ name: 'id', type: 'string', description: 'Connection ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a connection',\n positionals: [{ name: 'id', type: 'string', description: 'Connection ID', required: true }],\n options: [\n {\n name: 'force',\n type: 'boolean',\n description: 'Skip confirmation prompt',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n ],\n },\n {\n name: 'directory',\n description: 'Manage directory sync (read/delete, list users/groups)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List directories',\n options: [\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'get',\n description: 'Get a directory',\n positionals: [{ name: 'id', type: 'string', description: 'Directory ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a directory',\n positionals: [{ name: 'id', type: 'string', description: 'Directory ID', required: true }],\n options: [\n {\n name: 'force',\n type: 'boolean',\n description: 'Skip confirmation prompt',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'list-users',\n description: 'List directory users',\n options: [\n { name: 'directory', type: 'string', description: 'Directory ID', required: false, hidden: false },\n { name: 'group', type: 'string', description: 'Group ID', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'list-groups',\n description: 'List directory groups',\n options: [\n { name: 'directory', type: 'string', description: 'Directory ID', required: true, hidden: false },\n ...paginationOpts,\n ],\n },\n ],\n },\n {\n name: 'event',\n description: 'Query WorkOS events',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List events',\n options: [\n {\n name: 'events',\n type: 'string',\n description: 'Comma-separated event types (required)',\n required: true,\n hidden: false,\n },\n { name: 'org', type: 'string', description: 'Filter by organization ID', required: false, hidden: false },\n {\n name: 'range-start',\n type: 'string',\n description: 'Range start (ISO date)',\n required: false,\n hidden: false,\n },\n { name: 'range-end', type: 'string', description: 'Range end (ISO date)', required: false, hidden: false },\n ...paginationOpts,\n ],\n },\n ],\n },\n {\n name: 'audit-log',\n description: 'Manage audit logs',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'create-event',\n description: 'Create an audit log event',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID', required: true }],\n options: [\n { name: 'action', type: 'string', description: 'Action name', required: false, hidden: false },\n { name: 'actor-type', type: 'string', description: 'Actor type', required: false, hidden: false },\n { name: 'actor-id', type: 'string', description: 'Actor ID', required: false, hidden: false },\n { name: 'file', type: 'string', description: 'Path to event JSON file', required: false, hidden: false },\n ],\n },\n {\n name: 'export',\n description: 'Export audit logs',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'range-start', type: 'string', description: 'Range start (ISO date)', required: true, hidden: false },\n { name: 'range-end', type: 'string', description: 'Range end (ISO date)', required: true, hidden: false },\n ],\n },\n { name: 'list-actions', description: 'List available audit log actions' },\n {\n name: 'get-schema',\n description: 'Get schema for an audit log action',\n positionals: [{ name: 'action', type: 'string', description: 'Action name', required: true }],\n },\n {\n name: 'create-schema',\n description: 'Create an audit log schema',\n positionals: [{ name: 'action', type: 'string', description: 'Action name', required: true }],\n options: [\n { name: 'file', type: 'string', description: 'Path to schema JSON file', required: true, hidden: false },\n ],\n },\n {\n name: 'get-retention',\n description: 'Get audit log retention period',\n positionals: [{ name: 'orgId', type: 'string', description: 'Organization ID', required: true }],\n },\n ],\n },\n {\n name: 'feature-flag',\n description: 'Manage feature flags',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List feature flags', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'enable',\n description: 'Enable a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'disable',\n description: 'Disable a feature flag',\n positionals: [{ name: 'slug', type: 'string', description: 'Feature flag slug', required: true }],\n },\n {\n name: 'add-target',\n description: 'Add a target to a feature flag',\n positionals: [\n { name: 'slug', type: 'string', description: 'Feature flag slug', required: true },\n { name: 'targetId', type: 'string', description: 'Target ID', required: true },\n ],\n },\n {\n name: 'remove-target',\n description: 'Remove a target from a feature flag',\n positionals: [\n { name: 'slug', type: 'string', description: 'Feature flag slug', required: true },\n { name: 'targetId', type: 'string', description: 'Target ID', required: true },\n ],\n },\n ],\n },\n {\n name: 'webhook',\n description: 'Manage webhooks',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List webhooks' },\n {\n name: 'create',\n description: 'Create a webhook',\n options: [\n { name: 'url', type: 'string', description: 'Webhook endpoint URL', required: true, hidden: false },\n { name: 'events', type: 'string', description: 'Comma-separated event types', required: true, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a webhook',\n positionals: [{ name: 'id', type: 'string', description: 'Webhook ID', required: true }],\n },\n ],\n },\n {\n name: 'config',\n description: 'Manage WorkOS configuration (redirect URIs, CORS, homepage)',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'redirect',\n description: 'Manage redirect URIs',\n commands: [\n {\n name: 'add',\n description: 'Add a redirect URI',\n positionals: [{ name: 'uri', type: 'string', description: 'Redirect URI', required: true }],\n },\n ],\n },\n {\n name: 'cors',\n description: 'Manage CORS origins',\n commands: [\n {\n name: 'add',\n description: 'Add a CORS origin',\n positionals: [{ name: 'origin', type: 'string', description: 'CORS origin', required: true }],\n },\n ],\n },\n {\n name: 'homepage-url',\n description: 'Manage homepage URL',\n commands: [\n {\n name: 'set',\n description: 'Set the homepage URL',\n positionals: [{ name: 'url', type: 'string', description: 'Homepage URL', required: true }],\n },\n ],\n },\n ],\n },\n {\n name: 'portal',\n description: 'Manage Admin Portal',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'generate-link',\n description: 'Generate an Admin Portal link',\n options: [\n {\n name: 'intent',\n type: 'string',\n description: 'Portal intent (sso, dsync, audit_logs, log_streams)',\n required: true,\n hidden: false,\n },\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n {\n name: 'return-url',\n type: 'string',\n description: 'Return URL after portal',\n required: false,\n hidden: false,\n },\n { name: 'success-url', type: 'string', description: 'Success URL', required: false, hidden: false },\n ],\n },\n ],\n },\n {\n name: 'vault',\n description: 'Manage WorkOS Vault secrets',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n { name: 'list', description: 'List vault objects', options: [...paginationOpts] },\n {\n name: 'get',\n description: 'Get a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'get-by-name',\n description: 'Get a vault object by name',\n positionals: [{ name: 'name', type: 'string', description: 'Object name', required: true }],\n },\n {\n name: 'create',\n description: 'Create a vault object',\n options: [\n { name: 'name', type: 'string', description: 'Object name', required: true, hidden: false },\n { name: 'value', type: 'string', description: 'Secret value', required: true, hidden: false },\n { name: 'org', type: 'string', description: 'Organization ID', required: false, hidden: false },\n ],\n },\n {\n name: 'update',\n description: 'Update a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n options: [\n { name: 'value', type: 'string', description: 'New value', required: true, hidden: false },\n { name: 'version-check', type: 'string', description: 'Version check ID', required: false, hidden: false },\n ],\n },\n {\n name: 'delete',\n description: 'Delete a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'describe',\n description: 'Describe a vault object',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n {\n name: 'list-versions',\n description: 'List vault object versions',\n positionals: [{ name: 'id', type: 'string', description: 'Object ID', required: true }],\n },\n ],\n },\n {\n name: 'api-key',\n description: 'Manage API keys',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'list',\n description: 'List API keys',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n ...paginationOpts,\n ],\n },\n {\n name: 'create',\n description: 'Create an API key',\n options: [\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'name', type: 'string', description: 'Key name', required: true, hidden: false },\n {\n name: 'permissions',\n type: 'string',\n description: 'Comma-separated permissions',\n required: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'validate',\n description: 'Validate an API key',\n positionals: [{ name: 'value', type: 'string', description: 'API key value', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete an API key',\n positionals: [{ name: 'id', type: 'string', description: 'API key ID', required: true }],\n },\n ],\n },\n {\n name: 'org-domain',\n description: 'Manage organization domains',\n options: [insecureStorageOpt, apiKeyOpt],\n commands: [\n {\n name: 'get',\n description: 'Get a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n {\n name: 'create',\n description: 'Create a domain',\n positionals: [{ name: 'domain', type: 'string', description: 'Domain name', required: true }],\n options: [{ name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false }],\n },\n {\n name: 'verify',\n description: 'Verify a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n {\n name: 'delete',\n description: 'Delete a domain',\n positionals: [{ name: 'id', type: 'string', description: 'Domain ID', required: true }],\n },\n ],\n },\n // --- Workflow Commands ---\n {\n name: 'seed',\n description: 'Seed WorkOS environment from a YAML config file',\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'file', type: 'string', description: 'Path to seed YAML file', required: false, hidden: false },\n {\n name: 'clean',\n type: 'boolean',\n description: 'Tear down seeded resources',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'init',\n type: 'boolean',\n description: 'Create an example workos-seed.yml file',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'setup-org',\n description: 'One-shot organization onboarding',\n positionals: [{ name: 'name', type: 'string', description: 'Organization name', required: true }],\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'domain', type: 'string', description: 'Domain to add', required: false, hidden: false },\n { name: 'roles', type: 'string', description: 'Comma-separated role slugs', required: false, hidden: false },\n ],\n },\n {\n name: 'onboard-user',\n description: 'Onboard a user (send invitation, assign role)',\n positionals: [{ name: 'email', type: 'string', description: 'User email', required: true }],\n options: [\n insecureStorageOpt,\n apiKeyOpt,\n { name: 'org', type: 'string', description: 'Organization ID', required: true, hidden: false },\n { name: 'role', type: 'string', description: 'Role slug', required: false, hidden: false },\n {\n name: 'wait',\n type: 'boolean',\n description: 'Wait for invitation acceptance',\n required: false,\n default: false,\n hidden: false,\n },\n ],\n },\n {\n name: 'debug-sso',\n description: 'Diagnose SSO connection issues',\n positionals: [{ name: 'connectionId', type: 'string', description: 'Connection ID', required: true }],\n options: [insecureStorageOpt, apiKeyOpt],\n },\n {\n name: 'debug-sync',\n description: 'Diagnose directory sync issues',\n positionals: [{ name: 'directoryId', type: 'string', description: 'Directory ID', required: true }],\n options: [insecureStorageOpt, apiKeyOpt],\n },\n {\n name: 'install',\n description: 'Install WorkOS AuthKit into your project (interactive framework detection and setup)',\n options: [\n {\n name: 'direct',\n type: 'boolean',\n description: 'Use your own Anthropic API key (bypass llm-gateway)',\n required: false,\n default: false,\n alias: 'D',\n hidden: false,\n },\n {\n name: 'debug',\n type: 'boolean',\n description: 'Enable verbose logging',\n required: false,\n default: false,\n hidden: false,\n },\n insecureStorageOpt,\n {\n name: 'homepage-url',\n type: 'string',\n description: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n required: false,\n hidden: false,\n },\n {\n name: 'redirect-uri',\n type: 'string',\n description: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n required: false,\n hidden: false,\n },\n {\n name: 'validate',\n type: 'boolean',\n description: 'Run post-installation validation (use --no-validate to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'install-dir',\n type: 'string',\n description: 'Directory to install WorkOS AuthKit in (defaults to cwd)',\n required: false,\n hidden: false,\n },\n {\n name: 'integration',\n type: 'string',\n description: 'Framework integration to set up (auto-detected if omitted)',\n required: false,\n hidden: false,\n },\n {\n name: 'force-install',\n type: 'boolean',\n description: 'Force install packages even if peer dependency checks fail',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'dashboard',\n type: 'boolean',\n description: 'Run with visual dashboard mode',\n required: false,\n default: false,\n alias: 'd',\n hidden: false,\n },\n {\n name: 'branch',\n type: 'boolean',\n description: 'Create a new branch for changes (use --no-branch to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'commit',\n type: 'boolean',\n description: 'Auto-commit after installation (use --no-commit to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n {\n name: 'create-pr',\n type: 'boolean',\n description: 'Auto-create pull request after installation',\n required: false,\n default: false,\n hidden: false,\n },\n {\n name: 'git-check',\n type: 'boolean',\n description: 'Check for dirty working tree (use --no-git-check to skip)',\n required: false,\n default: true,\n hidden: false,\n },\n ],\n },\n];\n\nconst globalOptions: OptionSchema[] = [\n {\n name: 'json',\n type: 'boolean',\n description: 'Output results as JSON (auto-enabled in non-TTY environments)',\n required: false,\n default: false,\n hidden: false,\n },\n { name: 'help', type: 'boolean', description: 'Show help', required: false, alias: 'h', hidden: false },\n { name: 'version', type: 'boolean', description: 'Show version number', required: false, alias: 'v', hidden: false },\n];\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**\n * Build a machine-readable command tree for --help --json output.\n *\n * @param subcommand - Optional command name to return a subtree for (e.g. \"env\").\n * Returns full tree if omitted or if command not found.\n */\nexport function buildCommandTree(subcommand?: string): HelpOutput | CommandSchema {\n if (subcommand) {\n const match = commands.find((c) => c.name === subcommand);\n if (match) return match;\n }\n\n return {\n name: 'workos',\n version: getVersion(),\n description: 'WorkOS CLI for AuthKit integration and resource management',\n commands,\n options: globalOptions,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workos",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
4
4
  "type": "module",
5
5
  "description": "The Official Workos CLI",
6
6
  "repository": {