workos 0.11.2 → 0.12.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +163 -6
  2. package/dist/bin.js +20 -1
  3. package/dist/bin.js.map +1 -1
  4. package/dist/check-coverage.ts +237 -0
  5. package/dist/commands/dev.d.ts +23 -0
  6. package/dist/commands/dev.js +139 -0
  7. package/dist/commands/dev.js.map +1 -0
  8. package/dist/commands/emulate.d.ts +6 -0
  9. package/dist/commands/emulate.js +64 -0
  10. package/dist/commands/emulate.js.map +1 -0
  11. package/dist/emulate/core/id.d.ts +33 -0
  12. package/dist/emulate/core/id.js +58 -0
  13. package/dist/emulate/core/id.js.map +1 -0
  14. package/dist/emulate/core/index.d.ts +8 -0
  15. package/dist/emulate/core/index.js +8 -0
  16. package/dist/emulate/core/index.js.map +1 -0
  17. package/dist/emulate/core/jwt.d.ts +28 -0
  18. package/dist/emulate/core/jwt.js +78 -0
  19. package/dist/emulate/core/jwt.js.map +1 -0
  20. package/dist/emulate/core/middleware/auth.d.ts +18 -0
  21. package/dist/emulate/core/middleware/auth.js +28 -0
  22. package/dist/emulate/core/middleware/auth.js.map +1 -0
  23. package/dist/emulate/core/middleware/error-handler.d.ts +22 -0
  24. package/dist/emulate/core/middleware/error-handler.js +72 -0
  25. package/dist/emulate/core/middleware/error-handler.js.map +1 -0
  26. package/dist/emulate/core/pagination.d.ts +21 -0
  27. package/dist/emulate/core/pagination.js +35 -0
  28. package/dist/emulate/core/pagination.js.map +1 -0
  29. package/dist/emulate/core/plugin.d.ts +15 -0
  30. package/dist/emulate/core/plugin.js +2 -0
  31. package/dist/emulate/core/plugin.js.map +1 -0
  32. package/dist/emulate/core/server.d.ts +17 -0
  33. package/dist/emulate/core/server.js +116 -0
  34. package/dist/emulate/core/server.js.map +1 -0
  35. package/dist/emulate/core/store.d.ts +42 -0
  36. package/dist/emulate/core/store.js +148 -0
  37. package/dist/emulate/core/store.js.map +1 -0
  38. package/dist/emulate/index.d.ts +25 -0
  39. package/dist/emulate/index.js +47 -0
  40. package/dist/emulate/index.js.map +1 -0
  41. package/dist/emulate/workos/entities.d.ts +360 -0
  42. package/dist/emulate/workos/entities.js +2 -0
  43. package/dist/emulate/workos/entities.js.map +1 -0
  44. package/dist/emulate/workos/event-bus.d.ts +12 -0
  45. package/dist/emulate/workos/event-bus.js +45 -0
  46. package/dist/emulate/workos/event-bus.js.map +1 -0
  47. package/dist/emulate/workos/helpers.d.ts +63 -0
  48. package/dist/emulate/workos/helpers.js +518 -0
  49. package/dist/emulate/workos/helpers.js.map +1 -0
  50. package/dist/emulate/workos/index.d.ts +91 -0
  51. package/dist/emulate/workos/index.js +319 -0
  52. package/dist/emulate/workos/index.js.map +1 -0
  53. package/dist/emulate/workos/routes/api-keys.d.ts +2 -0
  54. package/dist/emulate/workos/routes/api-keys.js +35 -0
  55. package/dist/emulate/workos/routes/api-keys.js.map +1 -0
  56. package/dist/emulate/workos/routes/audit-logs.d.ts +2 -0
  57. package/dist/emulate/workos/routes/audit-logs.js +107 -0
  58. package/dist/emulate/workos/routes/audit-logs.js.map +1 -0
  59. package/dist/emulate/workos/routes/auth-challenges.d.ts +2 -0
  60. package/dist/emulate/workos/routes/auth-challenges.js +51 -0
  61. package/dist/emulate/workos/routes/auth-challenges.js.map +1 -0
  62. package/dist/emulate/workos/routes/auth-factors.d.ts +2 -0
  63. package/dist/emulate/workos/routes/auth-factors.js +51 -0
  64. package/dist/emulate/workos/routes/auth-factors.js.map +1 -0
  65. package/dist/emulate/workos/routes/auth.d.ts +2 -0
  66. package/dist/emulate/workos/routes/auth.js +349 -0
  67. package/dist/emulate/workos/routes/auth.js.map +1 -0
  68. package/dist/emulate/workos/routes/authorization-checks.d.ts +10 -0
  69. package/dist/emulate/workos/routes/authorization-checks.js +135 -0
  70. package/dist/emulate/workos/routes/authorization-checks.js.map +1 -0
  71. package/dist/emulate/workos/routes/authorization-org-roles.d.ts +2 -0
  72. package/dist/emulate/workos/routes/authorization-org-roles.js +206 -0
  73. package/dist/emulate/workos/routes/authorization-org-roles.js.map +1 -0
  74. package/dist/emulate/workos/routes/authorization-permissions.d.ts +2 -0
  75. package/dist/emulate/workos/routes/authorization-permissions.js +78 -0
  76. package/dist/emulate/workos/routes/authorization-permissions.js.map +1 -0
  77. package/dist/emulate/workos/routes/authorization-resources.d.ts +2 -0
  78. package/dist/emulate/workos/routes/authorization-resources.js +128 -0
  79. package/dist/emulate/workos/routes/authorization-resources.js.map +1 -0
  80. package/dist/emulate/workos/routes/authorization-roles.d.ts +2 -0
  81. package/dist/emulate/workos/routes/authorization-roles.js +136 -0
  82. package/dist/emulate/workos/routes/authorization-roles.js.map +1 -0
  83. package/dist/emulate/workos/routes/config.d.ts +2 -0
  84. package/dist/emulate/workos/routes/config.js +56 -0
  85. package/dist/emulate/workos/routes/config.js.map +1 -0
  86. package/dist/emulate/workos/routes/connect.d.ts +2 -0
  87. package/dist/emulate/workos/routes/connect.js +69 -0
  88. package/dist/emulate/workos/routes/connect.js.map +1 -0
  89. package/dist/emulate/workos/routes/connections.d.ts +2 -0
  90. package/dist/emulate/workos/routes/connections.js +77 -0
  91. package/dist/emulate/workos/routes/connections.js.map +1 -0
  92. package/dist/emulate/workos/routes/data-integrations.d.ts +2 -0
  93. package/dist/emulate/workos/routes/data-integrations.js +55 -0
  94. package/dist/emulate/workos/routes/data-integrations.js.map +1 -0
  95. package/dist/emulate/workos/routes/directories.d.ts +2 -0
  96. package/dist/emulate/workos/routes/directories.js +106 -0
  97. package/dist/emulate/workos/routes/directories.js.map +1 -0
  98. package/dist/emulate/workos/routes/email-verification.d.ts +2 -0
  99. package/dist/emulate/workos/routes/email-verification.js +49 -0
  100. package/dist/emulate/workos/routes/email-verification.js.map +1 -0
  101. package/dist/emulate/workos/routes/events.d.ts +2 -0
  102. package/dist/emulate/workos/routes/events.js +21 -0
  103. package/dist/emulate/workos/routes/events.js.map +1 -0
  104. package/dist/emulate/workos/routes/feature-flags.d.ts +2 -0
  105. package/dist/emulate/workos/routes/feature-flags.js +131 -0
  106. package/dist/emulate/workos/routes/feature-flags.js.map +1 -0
  107. package/dist/emulate/workos/routes/invitations.d.ts +2 -0
  108. package/dist/emulate/workos/routes/invitations.js +125 -0
  109. package/dist/emulate/workos/routes/invitations.js.map +1 -0
  110. package/dist/emulate/workos/routes/legacy-mfa.d.ts +2 -0
  111. package/dist/emulate/workos/routes/legacy-mfa.js +75 -0
  112. package/dist/emulate/workos/routes/legacy-mfa.js.map +1 -0
  113. package/dist/emulate/workos/routes/magic-auth.d.ts +2 -0
  114. package/dist/emulate/workos/routes/magic-auth.js +32 -0
  115. package/dist/emulate/workos/routes/magic-auth.js.map +1 -0
  116. package/dist/emulate/workos/routes/memberships.d.ts +2 -0
  117. package/dist/emulate/workos/routes/memberships.js +118 -0
  118. package/dist/emulate/workos/routes/memberships.js.map +1 -0
  119. package/dist/emulate/workos/routes/organization-domains.d.ts +2 -0
  120. package/dist/emulate/workos/routes/organization-domains.js +58 -0
  121. package/dist/emulate/workos/routes/organization-domains.js.map +1 -0
  122. package/dist/emulate/workos/routes/organizations.d.ts +2 -0
  123. package/dist/emulate/workos/routes/organizations.js +133 -0
  124. package/dist/emulate/workos/routes/organizations.js.map +1 -0
  125. package/dist/emulate/workos/routes/password-reset.d.ts +2 -0
  126. package/dist/emulate/workos/routes/password-reset.js +61 -0
  127. package/dist/emulate/workos/routes/password-reset.js.map +1 -0
  128. package/dist/emulate/workos/routes/pipes.d.ts +2 -0
  129. package/dist/emulate/workos/routes/pipes.js +86 -0
  130. package/dist/emulate/workos/routes/pipes.js.map +1 -0
  131. package/dist/emulate/workos/routes/portal.d.ts +2 -0
  132. package/dist/emulate/workos/routes/portal.js +18 -0
  133. package/dist/emulate/workos/routes/portal.js.map +1 -0
  134. package/dist/emulate/workos/routes/radar.d.ts +2 -0
  135. package/dist/emulate/workos/routes/radar.js +45 -0
  136. package/dist/emulate/workos/routes/radar.js.map +1 -0
  137. package/dist/emulate/workos/routes/sessions.d.ts +2 -0
  138. package/dist/emulate/workos/routes/sessions.js +51 -0
  139. package/dist/emulate/workos/routes/sessions.js.map +1 -0
  140. package/dist/emulate/workos/routes/sso.d.ts +2 -0
  141. package/dist/emulate/workos/routes/sso.js +160 -0
  142. package/dist/emulate/workos/routes/sso.js.map +1 -0
  143. package/dist/emulate/workos/routes/user-features.d.ts +2 -0
  144. package/dist/emulate/workos/routes/user-features.js +50 -0
  145. package/dist/emulate/workos/routes/user-features.js.map +1 -0
  146. package/dist/emulate/workos/routes/users.d.ts +2 -0
  147. package/dist/emulate/workos/routes/users.js +133 -0
  148. package/dist/emulate/workos/routes/users.js.map +1 -0
  149. package/dist/emulate/workos/routes/webhook-endpoints.d.ts +2 -0
  150. package/dist/emulate/workos/routes/webhook-endpoints.js +70 -0
  151. package/dist/emulate/workos/routes/webhook-endpoints.js.map +1 -0
  152. package/dist/emulate/workos/routes/widgets.d.ts +2 -0
  153. package/dist/emulate/workos/routes/widgets.js +27 -0
  154. package/dist/emulate/workos/routes/widgets.js.map +1 -0
  155. package/dist/emulate/workos/store.d.ts +48 -0
  156. package/dist/emulate/workos/store.js +93 -0
  157. package/dist/emulate/workos/store.js.map +1 -0
  158. package/dist/emulate/workos/webhook-signer.d.ts +1 -0
  159. package/dist/emulate/workos/webhook-signer.js +8 -0
  160. package/dist/emulate/workos/webhook-signer.js.map +1 -0
  161. package/dist/gen-routes-lib.spec.ts +659 -0
  162. package/dist/gen-routes-lib.ts +647 -0
  163. package/dist/gen-routes.ts +96 -0
  164. package/dist/lib/dev-command.d.ts +26 -0
  165. package/dist/lib/dev-command.js +122 -0
  166. package/dist/lib/dev-command.js.map +1 -0
  167. package/dist/utils/help-json.js +23 -0
  168. package/dist/utils/help-json.js.map +1 -1
  169. package/package.json +20 -7
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\n// Load .env.local for local development when --local flag is used\nif (process.argv.includes('--local') || process.env.INSTALLER_DEV) {\n const { config } = await import('dotenv');\n // bin.ts compiles to dist/bin.js, so go up one level to find .env.local\n config({ path: new URL('../.env.local', import.meta.url).pathname });\n}\n\nimport { satisfies } from 'semver';\nimport { red } from './utils/logging.js';\nimport { getConfig, getVersion } from './lib/settings.js';\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { ensureAuthenticated } from './lib/ensure-auth.js';\nimport { checkForUpdates } from './lib/version-check.js';\n\nconst NODE_VERSION_RANGE = getConfig().nodeVersion;\n\n// Have to run this above the other imports because they are importing clack that\n// has the problematic imports.\nif (!satisfies(process.version, NODE_VERSION_RANGE)) {\n red(\n `WorkOS AuthKit installer requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,\n );\n process.exit(1);\n}\n\nimport { isNonInteractiveEnvironment } from './utils/environment.js';\nimport { resolveOutputMode, setOutputMode, isJsonMode, outputJson, exitWithError } from './utils/output.js';\nimport clack from './utils/clack.js';\nimport { registerSubcommand } from './utils/register-subcommand.js';\n\n// Resolve output mode early from raw argv (before yargs parses)\nconst rawArgs = hideBin(process.argv);\nconst hasJsonFlag = rawArgs.includes('--json');\nsetOutputMode(resolveOutputMode(hasJsonFlag));\n\n// Intercept --help --json before yargs parses (yargs exits on --help)\nif (hasJsonFlag && (rawArgs.includes('--help') || rawArgs.includes('-h'))) {\n const { buildCommandTree } = await import('./utils/help-json.js');\n const commandAliases: Record<string, string> = { org: 'organization' };\n const rawCommand = rawArgs.find((a) => !a.startsWith('-'));\n const command = rawCommand ? (commandAliases[rawCommand] ?? rawCommand) : undefined;\n outputJson(buildCommandTree(command));\n process.exit(0);\n}\n\n/** Apply insecure storage flag if set */\nasync function applyInsecureStorage(insecureStorage?: boolean): Promise<void> {\n if (insecureStorage) {\n const { setInsecureStorage } = await import('./lib/credentials.js');\n const { setInsecureConfigStorage } = await import('./lib/config-store.js');\n setInsecureStorage(true);\n setInsecureConfigStorage(true);\n }\n}\n\n/** Show non-blocking warning if active env is unclaimed (once per session). */\nasync function maybeWarnUnclaimed(): Promise<void> {\n const { warnIfUnclaimed } = await import('./lib/unclaimed-warning.js');\n await warnIfUnclaimed();\n}\n\nimport { resolveInstallCredentials } from './lib/resolve-install-credentials.js';\n\n/** Shared insecure-storage option for commands that access credentials */\nconst insecureStorageOption = {\n 'insecure-storage': {\n default: false,\n describe: 'Store credentials in plaintext file instead of system keyring',\n type: 'boolean' as const,\n },\n} as const;\n\nconst installerOptions = {\n direct: {\n alias: 'D',\n default: false,\n describe: 'Use your own Anthropic API key (bypass llm-gateway)',\n type: 'boolean' as const,\n },\n debug: {\n default: false,\n describe: 'Enable verbose logging',\n type: 'boolean' as const,\n },\n ...insecureStorageOption,\n // Hidden dev/automation flags (use env vars)\n local: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n ci: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'skip-auth': {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (required in non-interactive mode)',\n },\n 'client-id': {\n type: 'string' as const,\n describe: 'WorkOS client ID (required in non-interactive mode)',\n },\n inspect: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n // User-facing flags\n 'homepage-url': {\n describe: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n type: 'string' as const,\n },\n 'redirect-uri': {\n describe: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n type: 'string' as const,\n },\n validate: {\n default: true,\n describe: 'Run post-installation validation (use --no-validate to skip)',\n type: 'boolean' as const,\n },\n 'install-dir': {\n describe: 'Directory to install WorkOS AuthKit in',\n type: 'string' as const,\n },\n integration: {\n describe: 'Integration to set up',\n type: 'string' as const,\n },\n 'force-install': {\n default: false,\n describe: 'Force install packages even if peer dependency checks fail',\n type: 'boolean' as const,\n },\n dashboard: {\n alias: 'd',\n default: false,\n describe: 'Run with visual dashboard mode',\n type: 'boolean' as const,\n },\n branch: {\n default: true,\n describe: 'Create a new branch for changes (use --no-branch to skip)',\n type: 'boolean' as const,\n },\n commit: {\n default: true,\n describe: 'Auto-commit after installation (use --no-commit to skip)',\n type: 'boolean' as const,\n },\n 'create-pr': {\n default: false,\n describe: 'Auto-create pull request after installation',\n type: 'boolean' as const,\n },\n 'git-check': {\n default: true,\n describe: 'Check for dirty working tree (use --no-git-check to skip)',\n type: 'boolean' as const,\n },\n};\n\n// Check for updates (blocks up to 500ms, skip in JSON mode to keep stdout clean)\nif (!isJsonMode()) await checkForUpdates();\n\nyargs(rawArgs)\n .env('WORKOS_INSTALLER')\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output results as JSON (auto-enabled in non-TTY)',\n global: true,\n })\n .middleware(async (argv) => {\n // Warn about unclaimed environments before management commands.\n // Excluded: auth/claim/install/dashboard handle their own credential flows;\n // skills/doctor/env/debug are utility commands where the warning is unnecessary.\n const command = String(argv._?.[0] ?? '');\n if (['auth', 'skills', 'doctor', 'env', 'claim', 'install', 'debug', 'dashboard', ''].includes(command)) return;\n await applyInsecureStorage(argv.insecureStorage as boolean | undefined);\n await maybeWarnUnclaimed();\n })\n .command('auth', 'Manage authentication (login, logout, status)', (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'login',\n 'Authenticate with WorkOS via browser-based OAuth',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogin } = await import('./commands/login.js');\n await runLogin();\n process.exit(0);\n },\n );\n registerSubcommand(\n yargs,\n 'logout',\n 'Remove stored WorkOS credentials and tokens',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogout } = await import('./commands/logout.js');\n await runLogout();\n },\n );\n registerSubcommand(\n yargs,\n 'status',\n 'Show current authentication status',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runAuthStatus } = await import('./commands/auth-status.js');\n await runAuthStatus();\n },\n );\n return yargs.demandCommand(1, 'Please specify an auth subcommand').strict();\n })\n .command('skills', 'Manage WorkOS skills for coding agents (Claude Code, Codex, Cursor, Goose)', (yargs) => {\n registerSubcommand(\n yargs,\n 'install',\n 'Install bundled AuthKit skills to coding agents',\n (y) =>\n y\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Install specific skill(s) by name',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runInstallSkill } = await import('./commands/install-skill.js');\n await runInstallSkill({\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'uninstall',\n 'Remove installed WorkOS skills from coding agents',\n (y) =>\n y\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Remove specific skill(s) by name',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runUninstallSkill } = await import('./commands/uninstall-skill.js');\n await runUninstallSkill({\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List available and installed skills',\n (y) =>\n y.option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runListSkills } = await import('./commands/list-skills.js');\n await runListSkills({\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n return yargs.demandCommand(1, 'Please specify a skills subcommand').strict();\n })\n .command(\n 'doctor',\n 'Diagnose WorkOS AuthKit integration issues in the current project',\n (yargs) =>\n yargs.options({\n verbose: {\n type: 'boolean',\n default: false,\n description: 'Include additional diagnostic information',\n },\n 'skip-api': {\n type: 'boolean',\n default: false,\n description: 'Skip API calls (offline mode)',\n },\n 'skip-ai': {\n type: 'boolean',\n default: false,\n description: 'Skip AI-powered analysis',\n },\n 'install-dir': {\n type: 'string',\n default: process.cwd(),\n description: 'Project directory to analyze',\n },\n json: {\n type: 'boolean',\n default: false,\n description: 'Output report as JSON',\n },\n copy: {\n type: 'boolean',\n default: false,\n description: 'Copy report to clipboard',\n },\n }),\n async (argv) => {\n const { handleDoctor } = await import('./commands/doctor.js');\n await handleDoctor(argv);\n },\n )\n // NOTE: When adding commands here, also update src/utils/help-json.ts\n .command('env', 'Manage environment configurations (API keys, endpoints, active environment)', (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'add [name] [apiKey]',\n 'Add an environment configuration',\n (y) =>\n y\n .positional('name', { type: 'string', describe: 'Environment name' })\n .positional('apiKey', { type: 'string', describe: 'WorkOS API key' })\n .option('client-id', { type: 'string', describe: 'WorkOS client ID' })\n .option('endpoint', { type: 'string', describe: 'Custom API endpoint' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvAdd } = await import('./commands/env.js');\n await runEnvAdd({\n name: argv.name,\n apiKey: argv.apiKey,\n clientId: argv.clientId,\n endpoint: argv.endpoint,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'remove <name>',\n 'Remove an environment configuration',\n (y) => y.positional('name', { type: 'string', demandOption: true, describe: 'Environment name' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvRemove } = await import('./commands/env.js');\n await runEnvRemove(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'switch [name]',\n 'Switch active environment',\n (y) => y.positional('name', { type: 'string', describe: 'Environment name' }),\n async (argv) => {\n if (!argv.name && isNonInteractiveEnvironment()) {\n exitWithError({\n code: 'missing_args',\n message: 'Environment name required. Usage: workos env switch <name>',\n });\n }\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvSwitch } = await import('./commands/env.js');\n await runEnvSwitch(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List configured environments',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvList } = await import('./commands/env.js');\n await runEnvList();\n },\n );\n registerSubcommand(\n yargs,\n 'claim',\n 'Claim an unclaimed environment (link it to your account)',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runClaim } = await import('./commands/claim.js');\n await runClaim();\n },\n );\n return yargs.demandCommand(1, 'Please specify an env subcommand').strict();\n })\n .command(['organization', 'org'], 'Manage WorkOS organizations (create, update, get, list, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'create <name> [domains..]',\n 'Create a new organization with optional verified domains',\n (y) =>\n y\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domains', {\n type: 'string',\n array: true,\n describe: 'Domains in format domain:state (state defaults to verified)',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgCreate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgCreate(argv.name, (argv.domains as string[]) || [], apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'update <orgId> <name> [domain] [state]',\n 'Update an organization',\n (y) =>\n y\n .positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' })\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domain', { type: 'string', describe: 'Domain' })\n .positional('state', { type: 'string', describe: 'Domain state (verified or pending)' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgUpdate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgUpdate(argv.orgId, argv.name, apiKey, argv.domain, argv.state, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <orgId>',\n 'Get an organization by ID',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgGet } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgGet(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List organizations',\n (y) =>\n y.options({\n domain: { type: 'string', describe: 'Filter by domain' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgList } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgList(\n { domain: argv.domain, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n apiKey,\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <orgId>',\n 'Delete an organization',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDelete } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgDelete(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an organization subcommand').strict();\n })\n .command('user', 'Manage WorkOS users (get, list, update, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'get <userId>',\n 'Get a user by ID',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserGet } = await import('./commands/user.js');\n await runUserGet(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List users',\n (y) =>\n y.options({\n email: { type: 'string', describe: 'Filter by email' },\n organization: { type: 'string', describe: 'Filter by organization ID' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserList } = await import('./commands/user.js');\n await runUserList(\n {\n email: argv.email,\n organization: argv.organization,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <userId>',\n 'Update a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }).options({\n 'first-name': { type: 'string', describe: 'First name' },\n 'last-name': { type: 'string', describe: 'Last name' },\n 'email-verified': { type: 'boolean', describe: 'Email verification status' },\n password: { type: 'string', describe: 'New password' },\n 'external-id': { type: 'string', describe: 'External ID' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserUpdate } = await import('./commands/user.js');\n await runUserUpdate(\n argv.userId,\n resolveApiKey({ apiKey: argv.apiKey }),\n {\n firstName: argv.firstName,\n lastName: argv.lastName,\n emailVerified: argv.emailVerified,\n password: argv.password,\n externalId: argv.externalId,\n },\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <userId>',\n 'Delete a user',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserDelete } = await import('./commands/user.js');\n await runUserDelete(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a user subcommand').strict();\n })\n // --- Resource Management Commands ---\n .command('role', 'Manage WorkOS roles (environment and organization-scoped)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string' as const, describe: 'Organization ID (for org-scoped roles)' },\n });\n registerSubcommand(\n yargs,\n 'list',\n 'List roles',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleList } = await import('./commands/role.js');\n await runRoleList(argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a role by slug',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleGet } = await import('./commands/role.js');\n await runRoleGet(argv.slug, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a role',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true, describe: 'Role slug' },\n name: { type: 'string', demandOption: true, describe: 'Role name' },\n description: { type: 'string', describe: 'Role description' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleCreate } = await import('./commands/role.js');\n await runRoleCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleUpdate } = await import('./commands/role.js');\n await runRoleUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete an org-scoped role (requires --org)',\n (y) => y.positional('slug', { type: 'string', demandOption: true }).demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleDelete } = await import('./commands/role.js');\n await runRoleDelete(argv.slug, argv.org!, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'set-permissions <slug>',\n 'Set all permissions on a role (replaces existing)',\n (y) =>\n y.positional('slug', { type: 'string', demandOption: true }).option('permissions', {\n type: 'string',\n demandOption: true,\n describe: 'Comma-separated permission slugs',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleSetPermissions } = await import('./commands/role.js');\n await runRoleSetPermissions(\n argv.slug,\n argv.permissions.split(','),\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'add-permission <slug> <permissionSlug>',\n 'Add a permission to a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleAddPermission } = await import('./commands/role.js');\n await runRoleAddPermission(\n argv.slug,\n argv.permissionSlug,\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-permission <slug> <permissionSlug>',\n 'Remove a permission from an org role (requires --org)',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true })\n .demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleRemovePermission } = await import('./commands/role.js');\n await runRoleRemovePermission(\n argv.slug,\n argv.permissionSlug,\n argv.org!,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a role subcommand').strict();\n })\n .command('permission', 'Manage WorkOS permissions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List permissions',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionList } = await import('./commands/permission.js');\n await runPermissionList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionGet } = await import('./commands/permission.js');\n await runPermissionGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a permission',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n description: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionCreate } = await import('./commands/permission.js');\n await runPermissionCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a permission',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionUpdate } = await import('./commands/permission.js');\n await runPermissionUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionDelete } = await import('./commands/permission.js');\n await runPermissionDelete(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a permission subcommand').strict();\n })\n .command('membership', 'Manage organization memberships', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List memberships',\n (y) =>\n y.options({\n org: { type: 'string' },\n user: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipList } = await import('./commands/membership.js');\n await runMembershipList(\n {\n org: argv.org,\n user: argv.user,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipGet } = await import('./commands/membership.js');\n await runMembershipGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a membership',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n user: { type: 'string', demandOption: true },\n role: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipCreate } = await import('./commands/membership.js');\n await runMembershipCreate(\n { org: argv.org, user: argv.user, role: argv.role },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }).option('role', { type: 'string' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipUpdate } = await import('./commands/membership.js');\n await runMembershipUpdate(argv.id, argv.role, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDelete } = await import('./commands/membership.js');\n await runMembershipDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'deactivate <id>',\n 'Deactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDeactivate } = await import('./commands/membership.js');\n await runMembershipDeactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'reactivate <id>',\n 'Reactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipReactivate } = await import('./commands/membership.js');\n await runMembershipReactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a membership subcommand').strict();\n })\n .command('invitation', 'Manage user invitations', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List invitations',\n (y) =>\n y.options({\n org: { type: 'string' },\n email: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationList } = await import('./commands/invitation.js');\n await runInvitationList(\n {\n org: argv.org,\n email: argv.email,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationGet } = await import('./commands/invitation.js');\n await runInvitationGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'send',\n 'Send an invitation',\n (y) =>\n y.options({\n email: { type: 'string', demandOption: true },\n org: { type: 'string' },\n role: { type: 'string' },\n 'expires-in-days': { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationSend } = await import('./commands/invitation.js');\n await runInvitationSend(\n { email: argv.email, org: argv.org, role: argv.role, expiresInDays: argv.expiresInDays },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <id>',\n 'Revoke an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationRevoke } = await import('./commands/invitation.js');\n await runInvitationRevoke(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'resend <id>',\n 'Resend an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationResend } = await import('./commands/invitation.js');\n await runInvitationResend(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an invitation subcommand').strict();\n })\n .command('session', 'Manage user sessions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list <userId>',\n 'List sessions for a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true }).options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionList } = await import('./commands/session.js');\n await runSessionList(\n argv.userId,\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <sessionId>',\n 'Revoke a session',\n (y) => y.positional('sessionId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionRevoke } = await import('./commands/session.js');\n await runSessionRevoke(argv.sessionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a session subcommand').strict();\n })\n .command('connection', 'Manage SSO connections (read/delete)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List connections',\n (y) =>\n y.options({\n org: { type: 'string', describe: 'Filter by org ID' },\n type: { type: 'string', describe: 'Filter by connection type' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionList } = await import('./commands/connection.js');\n await runConnectionList(\n {\n organizationId: argv.org,\n connectionType: argv.type,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a connection',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionGet } = await import('./commands/connection.js');\n await runConnectionGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a connection',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionDelete } = await import('./commands/connection.js');\n await runConnectionDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a connection subcommand').strict();\n })\n .command('directory', 'Manage directory sync (read/delete, list users/groups)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List directories',\n (y) =>\n y.options({\n org: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryList } = await import('./commands/directory.js');\n await runDirectoryList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a directory',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryGet } = await import('./commands/directory.js');\n await runDirectoryGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a directory',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryDelete } = await import('./commands/directory.js');\n await runDirectoryDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-users',\n 'List directory users',\n (y) =>\n y.options({\n directory: { type: 'string' },\n group: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListUsers } = await import('./commands/directory.js');\n await runDirectoryListUsers(\n { directory: argv.directory, group: argv.group, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-groups',\n 'List directory groups',\n (y) =>\n y.options({\n directory: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListGroups } = await import('./commands/directory.js');\n await runDirectoryListGroups(\n { directory: argv.directory, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a directory subcommand').strict();\n })\n .command('event', 'Query WorkOS events', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List events',\n (y) =>\n y.options({\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n after: { type: 'string' },\n org: { type: 'string' },\n 'range-start': { type: 'string' },\n 'range-end': { type: 'string' },\n limit: { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runEventList } = await import('./commands/event.js');\n await runEventList(\n {\n events: argv.events.split(','),\n after: argv.after,\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n limit: argv.limit,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify an event subcommand').strict();\n })\n .command('audit-log', 'Manage audit logs', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'create-event <orgId>',\n 'Create an audit log event',\n (y) =>\n y.positional('orgId', { type: 'string', demandOption: true }).options({\n action: { type: 'string' },\n 'actor-type': { type: 'string' },\n 'actor-id': { type: 'string' },\n 'actor-name': { type: 'string' },\n targets: { type: 'string' },\n context: { type: 'string' },\n metadata: { type: 'string' },\n 'occurred-at': { type: 'string' },\n file: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateEvent } = await import('./commands/audit-log.js');\n await runAuditLogCreateEvent(\n argv.orgId,\n {\n action: argv.action,\n actorType: argv.actorType,\n actorId: argv.actorId,\n actorName: argv.actorName,\n targets: argv.targets,\n context: argv.context,\n metadata: argv.metadata,\n occurredAt: argv.occurredAt,\n file: argv.file,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'export',\n 'Export audit logs',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n 'range-start': { type: 'string', demandOption: true },\n 'range-end': { type: 'string', demandOption: true },\n actions: { type: 'string' },\n 'actor-names': { type: 'string' },\n 'actor-ids': { type: 'string' },\n targets: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogExport } = await import('./commands/audit-log.js');\n await runAuditLogExport(\n {\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n actions: argv.actions?.split(','),\n actorNames: argv.actorNames?.split(','),\n actorIds: argv.actorIds?.split(','),\n targets: argv.targets?.split(','),\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-actions',\n 'List available audit log actions',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogListActions } = await import('./commands/audit-log.js');\n await runAuditLogListActions(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-schema <action>',\n 'Get schema for an audit log action',\n (y) => y.positional('action', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetSchema } = await import('./commands/audit-log.js');\n await runAuditLogGetSchema(argv.action, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create-schema <action>',\n 'Create an audit log schema',\n (y) =>\n y\n .positional('action', { type: 'string', demandOption: true })\n .option('file', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateSchema } = await import('./commands/audit-log.js');\n await runAuditLogCreateSchema(\n argv.action,\n argv.file,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get-retention <orgId>',\n 'Get audit log retention period',\n (y) => y.positional('orgId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetRetention } = await import('./commands/audit-log.js');\n await runAuditLogGetRetention(argv.orgId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an audit-log subcommand').strict();\n })\n .command('feature-flag', 'Manage feature flags', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List feature flags',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagList } = await import('./commands/feature-flag.js');\n await runFeatureFlagList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagGet } = await import('./commands/feature-flag.js');\n await runFeatureFlagGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'enable <slug>',\n 'Enable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagEnable } = await import('./commands/feature-flag.js');\n await runFeatureFlagEnable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'disable <slug>',\n 'Disable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagDisable } = await import('./commands/feature-flag.js');\n await runFeatureFlagDisable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'add-target <slug> <targetId>',\n 'Add a target to a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagAddTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagAddTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-target <slug> <targetId>',\n 'Remove a target from a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagRemoveTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagRemoveTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a feature-flag subcommand').strict();\n })\n .command('webhook', 'Manage webhooks', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List webhooks',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookList } = await import('./commands/webhook.js');\n await runWebhookList(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a webhook',\n (y) =>\n y.options({\n url: { type: 'string', demandOption: true },\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookCreate } = await import('./commands/webhook.js');\n await runWebhookCreate(\n argv.url,\n argv.events.split(','),\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a webhook',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookDelete } = await import('./commands/webhook.js');\n await runWebhookDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a webhook subcommand').strict();\n })\n .command('config', 'Manage WorkOS configuration (redirect URIs, CORS, homepage)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n yargs.command('redirect', 'Manage redirect URIs', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <uri>',\n 'Add a redirect URI',\n (y) => y.positional('uri', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigRedirectAdd } = await import('./commands/config.js');\n await runConfigRedirectAdd(argv.uri, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('cors', 'Manage CORS origins', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <origin>',\n 'Add a CORS origin',\n (y) => y.positional('origin', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigCorsAdd } = await import('./commands/config.js');\n await runConfigCorsAdd(argv.origin, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('homepage-url', 'Manage homepage URL', (yargs) => {\n registerSubcommand(\n yargs,\n 'set <url>',\n 'Set the homepage URL',\n (y) => y.positional('url', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigHomepageUrlSet } = await import('./commands/config.js');\n await runConfigHomepageUrlSet(argv.url, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n return yargs.demandCommand(1, 'Please specify a config subcommand').strict();\n })\n .command('portal', 'Manage Admin Portal', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'generate-link',\n 'Generate an Admin Portal link',\n (y) =>\n y.options({\n intent: {\n type: 'string',\n demandOption: true,\n describe: 'Portal intent (sso, dsync, audit_logs, log_streams)',\n },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n 'return-url': { type: 'string' },\n 'success-url': { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPortalGenerateLink } = await import('./commands/portal.js');\n await runPortalGenerateLink(\n { intent: argv.intent, organization: argv.org, returnUrl: argv.returnUrl, successUrl: argv.successUrl },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a portal subcommand').strict();\n })\n .command('vault', 'Manage WorkOS Vault secrets', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List vault objects',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultList } = await import('./commands/vault.js');\n await runVaultList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGet } = await import('./commands/vault.js');\n await runVaultGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-by-name <name>',\n 'Get a vault object by name',\n (y) => y.positional('name', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGetByName } = await import('./commands/vault.js');\n await runVaultGetByName(argv.name, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a vault object',\n (y) =>\n y.options({\n name: { type: 'string', demandOption: true },\n value: { type: 'string', demandOption: true },\n org: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultCreate } = await import('./commands/vault.js');\n await runVaultCreate(\n { name: argv.name, value: argv.value, org: argv.org },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a vault object',\n (y) =>\n y\n .positional('id', { type: 'string', demandOption: true })\n .options({ value: { type: 'string', demandOption: true }, 'version-check': { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultUpdate } = await import('./commands/vault.js');\n await runVaultUpdate(\n { id: argv.id, value: argv.value, versionCheck: argv.versionCheck },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDelete } = await import('./commands/vault.js');\n await runVaultDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'describe <id>',\n 'Describe a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDescribe } = await import('./commands/vault.js');\n await runVaultDescribe(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list-versions <id>',\n 'List vault object versions',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultListVersions } = await import('./commands/vault.js');\n await runVaultListVersions(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a vault subcommand').strict();\n })\n .command('api-key', 'Manage API keys', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List API keys',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyList } = await import('./commands/api-key-mgmt.js');\n await runApiKeyList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create an API key',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n permissions: { type: 'string', describe: 'Comma-separated permissions' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyCreate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyCreate(\n { organizationId: argv.org, name: argv.name, permissions: argv.permissions?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'validate <value>',\n 'Validate an API key',\n (y) => y.positional('value', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyValidate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyValidate(argv.value, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete an API key',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyDelete } = await import('./commands/api-key-mgmt.js');\n await runApiKeyDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an api-key subcommand').strict();\n })\n .command('org-domain', 'Manage organization domains', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainGet } = await import('./commands/org-domain.js');\n await runOrgDomainGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create <domain>',\n 'Create a domain',\n (y) =>\n y\n .positional('domain', { type: 'string', demandOption: true })\n .option('org', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainCreate } = await import('./commands/org-domain.js');\n await runOrgDomainCreate(argv.domain, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'verify <id>',\n 'Verify a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainVerify } = await import('./commands/org-domain.js');\n await runOrgDomainVerify(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainDelete } = await import('./commands/org-domain.js');\n await runOrgDomainDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an org-domain subcommand').strict();\n })\n // --- Workflow Commands ---\n .command(\n 'seed',\n 'Seed WorkOS environment from a YAML config file',\n (yargs) =>\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n file: { type: 'string', describe: 'Path to seed YAML file' },\n clean: { type: 'boolean', default: false, describe: 'Tear down seeded resources' },\n init: { type: 'boolean', default: false, describe: 'Create an example workos-seed.yml file' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSeed } = await import('./commands/seed.js');\n await runSeed(\n { file: argv.file, clean: argv.clean, init: argv.init },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'setup-org <name>',\n 'One-shot organization onboarding (create org, domain, roles, portal link)',\n (yargs) =>\n yargs.positional('name', { type: 'string', demandOption: true, describe: 'Organization name' }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n domain: { type: 'string', describe: 'Domain to add and verify' },\n roles: { type: 'string', describe: 'Comma-separated role slugs to create' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSetupOrg } = await import('./commands/setup-org.js');\n await runSetupOrg(\n { name: argv.name, domain: argv.domain, roles: argv.roles?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'onboard-user <email>',\n 'Onboard a user (send invitation, assign role)',\n (yargs) =>\n yargs.positional('email', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n role: { type: 'string', describe: 'Role slug to assign' },\n wait: { type: 'boolean', default: false, describe: 'Wait for invitation acceptance' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOnboardUser } = await import('./commands/onboard-user.js');\n await runOnboardUser(\n { email: argv.email, org: argv.org, role: argv.role, wait: argv.wait },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'debug-sso <connectionId>',\n 'Diagnose SSO connection issues',\n (yargs) =>\n yargs.positional('connectionId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSso } = await import('./commands/debug-sso.js');\n await runDebugSso(argv.connectionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .command(\n 'debug-sync <directoryId>',\n 'Diagnose directory sync issues',\n (yargs) =>\n yargs.positional('directoryId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSync } = await import('./commands/debug-sync.js');\n await runDebugSync(argv.directoryId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n // Alias — canonical command is `workos env claim`\n .command(\n 'claim',\n 'Claim an unclaimed WorkOS environment (link it to your account)',\n (yargs) =>\n yargs.options({\n ...insecureStorageOption,\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runClaim } = await import('./commands/claim.js');\n await runClaim();\n },\n )\n .command(\n 'install',\n 'Install WorkOS AuthKit into your project (interactive framework detection and setup)',\n (yargs) => yargs.options(installerOptions),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(argv.apiKey, argv.installDir, argv.skipAuth, ensureAuthenticated);\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall(argv);\n },\n )\n .command('debug', false, (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'state',\n 'Dump raw CLI state (credentials, config, storage)',\n (y) =>\n y.option('show-secrets', {\n type: 'boolean',\n default: false,\n describe: 'Show unredacted tokens and API keys',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugState } = await import('./commands/debug.js');\n await runDebugState({ showSecrets: argv.showSecrets as boolean });\n },\n );\n registerSubcommand(\n yargs,\n 'reset',\n 'Clear auth state (keyring + files)',\n (y) =>\n y\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Skip confirmation prompt',\n })\n .option('credentials-only', {\n type: 'boolean',\n default: false,\n describe: 'Only clear credentials',\n })\n .option('config-only', {\n type: 'boolean',\n default: false,\n describe: 'Only clear config',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugReset } = await import('./commands/debug.js');\n await runDebugReset({\n force: argv.force as boolean,\n credentialsOnly: argv.credentialsOnly as boolean,\n configOnly: argv.configOnly as boolean,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'simulate',\n 'Simulate CLI states for testing',\n (y) =>\n y\n .option('expired-token', {\n type: 'boolean',\n default: false,\n describe: 'Set token expiresAt to the past',\n })\n .option('no-keyring', {\n type: 'boolean',\n default: false,\n describe: 'Force file-only storage mode',\n })\n .option('unclaimed', {\n type: 'boolean',\n default: false,\n describe: 'Write synthetic unclaimed environment',\n })\n .option('no-auth', {\n type: 'boolean',\n default: false,\n describe: 'Clear credentials, keep config',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugSimulate } = await import('./commands/debug.js');\n await runDebugSimulate({\n expiredToken: argv.expiredToken as boolean,\n noKeyring: argv.noKeyring as boolean,\n unclaimed: argv.unclaimed as boolean,\n noAuth: argv.noAuth as boolean,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'env',\n 'Show WORKOS_* environment variables and their effects',\n (y) => y,\n async () => {\n const { runDebugEnv } = await import('./commands/debug.js');\n await runDebugEnv();\n },\n );\n registerSubcommand(\n yargs,\n 'token',\n 'Decode and inspect the current access token',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugToken } = await import('./commands/debug.js');\n await runDebugToken();\n },\n );\n return yargs.demandCommand(1, 'Run \"workos debug <command>\" for debug tools.').strict();\n })\n .command(\n 'dashboard',\n false, // hidden from help\n (yargs) => yargs.options(installerOptions),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(argv.apiKey, argv.installDir, argv.skipAuth, ensureAuthenticated);\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: true });\n },\n )\n .command(\n ['$0'],\n 'WorkOS AuthKit CLI',\n (yargs) => yargs.options(insecureStorageOption),\n async (argv) => {\n // Non-TTY: show help\n if (isNonInteractiveEnvironment()) {\n yargs(rawArgs).showHelp();\n return;\n }\n\n // TTY: ask if user wants to run installer\n const shouldInstall = await clack.confirm({\n message: 'Run the AuthKit installer?',\n });\n\n if (clack.isCancel(shouldInstall) || !shouldInstall) {\n process.exit(0);\n }\n\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(undefined, undefined, false, ensureAuthenticated);\n\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: false });\n process.exit(0);\n },\n )\n .strict()\n .help()\n .alias('help', 'h')\n .version(getVersion())\n .alias('version', 'v')\n .wrap(process.stdout.isTTY && process.stdout.columns ? process.stdout.columns : 80).argv;\n"]}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\n// Load .env.local for local development when --local flag is used\nif (process.argv.includes('--local') || process.env.INSTALLER_DEV) {\n const { config } = await import('dotenv');\n // bin.ts compiles to dist/bin.js, so go up one level to find .env.local\n config({ path: new URL('../.env.local', import.meta.url).pathname });\n}\n\nimport { satisfies } from 'semver';\nimport { red } from './utils/logging.js';\nimport { getConfig, getVersion } from './lib/settings.js';\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { ensureAuthenticated } from './lib/ensure-auth.js';\nimport { checkForUpdates } from './lib/version-check.js';\n\nconst NODE_VERSION_RANGE = getConfig().nodeVersion;\n\n// Have to run this above the other imports because they are importing clack that\n// has the problematic imports.\nif (!satisfies(process.version, NODE_VERSION_RANGE)) {\n red(\n `WorkOS AuthKit installer requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,\n );\n process.exit(1);\n}\n\nimport { isNonInteractiveEnvironment } from './utils/environment.js';\nimport { resolveOutputMode, setOutputMode, isJsonMode, outputJson, exitWithError } from './utils/output.js';\nimport clack from './utils/clack.js';\nimport { registerSubcommand } from './utils/register-subcommand.js';\n\n// Resolve output mode early from raw argv (before yargs parses)\nconst rawArgs = hideBin(process.argv);\nconst hasJsonFlag = rawArgs.includes('--json');\nsetOutputMode(resolveOutputMode(hasJsonFlag));\n\n// Intercept --help --json before yargs parses (yargs exits on --help)\nif (hasJsonFlag && (rawArgs.includes('--help') || rawArgs.includes('-h'))) {\n const { buildCommandTree } = await import('./utils/help-json.js');\n const commandAliases: Record<string, string> = { org: 'organization' };\n const rawCommand = rawArgs.find((a) => !a.startsWith('-'));\n const command = rawCommand ? (commandAliases[rawCommand] ?? rawCommand) : undefined;\n outputJson(buildCommandTree(command));\n process.exit(0);\n}\n\n/** Apply insecure storage flag if set */\nasync function applyInsecureStorage(insecureStorage?: boolean): Promise<void> {\n if (insecureStorage) {\n const { setInsecureStorage } = await import('./lib/credentials.js');\n const { setInsecureConfigStorage } = await import('./lib/config-store.js');\n setInsecureStorage(true);\n setInsecureConfigStorage(true);\n }\n}\n\n/** Show non-blocking warning if active env is unclaimed (once per session). */\nasync function maybeWarnUnclaimed(): Promise<void> {\n const { warnIfUnclaimed } = await import('./lib/unclaimed-warning.js');\n await warnIfUnclaimed();\n}\n\nimport { resolveInstallCredentials } from './lib/resolve-install-credentials.js';\n\n/** Shared insecure-storage option for commands that access credentials */\nconst insecureStorageOption = {\n 'insecure-storage': {\n default: false,\n describe: 'Store credentials in plaintext file instead of system keyring',\n type: 'boolean' as const,\n },\n} as const;\n\nconst installerOptions = {\n direct: {\n alias: 'D',\n default: false,\n describe: 'Use your own Anthropic API key (bypass llm-gateway)',\n type: 'boolean' as const,\n },\n debug: {\n default: false,\n describe: 'Enable verbose logging',\n type: 'boolean' as const,\n },\n ...insecureStorageOption,\n // Hidden dev/automation flags (use env vars)\n local: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n ci: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'skip-auth': {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (required in non-interactive mode)',\n },\n 'client-id': {\n type: 'string' as const,\n describe: 'WorkOS client ID (required in non-interactive mode)',\n },\n inspect: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n // User-facing flags\n 'homepage-url': {\n describe: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n type: 'string' as const,\n },\n 'redirect-uri': {\n describe: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n type: 'string' as const,\n },\n validate: {\n default: true,\n describe: 'Run post-installation validation (use --no-validate to skip)',\n type: 'boolean' as const,\n },\n 'install-dir': {\n describe: 'Directory to install WorkOS AuthKit in',\n type: 'string' as const,\n },\n integration: {\n describe: 'Integration to set up',\n type: 'string' as const,\n },\n 'force-install': {\n default: false,\n describe: 'Force install packages even if peer dependency checks fail',\n type: 'boolean' as const,\n },\n dashboard: {\n alias: 'd',\n default: false,\n describe: 'Run with visual dashboard mode',\n type: 'boolean' as const,\n },\n branch: {\n default: true,\n describe: 'Create a new branch for changes (use --no-branch to skip)',\n type: 'boolean' as const,\n },\n commit: {\n default: true,\n describe: 'Auto-commit after installation (use --no-commit to skip)',\n type: 'boolean' as const,\n },\n 'create-pr': {\n default: false,\n describe: 'Auto-create pull request after installation',\n type: 'boolean' as const,\n },\n 'git-check': {\n default: true,\n describe: 'Check for dirty working tree (use --no-git-check to skip)',\n type: 'boolean' as const,\n },\n};\n\n// Check for updates (blocks up to 500ms, skip in JSON mode to keep stdout clean)\nif (!isJsonMode()) await checkForUpdates();\n\nyargs(rawArgs)\n .parserConfiguration({ 'populate--': true })\n .env('WORKOS_INSTALLER')\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output results as JSON (auto-enabled in non-TTY)',\n global: true,\n })\n .middleware(async (argv) => {\n // Warn about unclaimed environments before management commands.\n // Excluded: auth/claim/install/dashboard handle their own credential flows;\n // skills/doctor/env/debug are utility commands where the warning is unnecessary.\n const command = String(argv._?.[0] ?? '');\n if (\n ['auth', 'skills', 'doctor', 'env', 'claim', 'install', 'debug', 'dashboard', 'emulate', 'dev', ''].includes(\n command,\n )\n )\n return;\n await applyInsecureStorage(argv.insecureStorage as boolean | undefined);\n await maybeWarnUnclaimed();\n })\n .command('auth', 'Manage authentication (login, logout, status)', (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'login',\n 'Authenticate with WorkOS via browser-based OAuth',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogin } = await import('./commands/login.js');\n await runLogin();\n process.exit(0);\n },\n );\n registerSubcommand(\n yargs,\n 'logout',\n 'Remove stored WorkOS credentials and tokens',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogout } = await import('./commands/logout.js');\n await runLogout();\n },\n );\n registerSubcommand(\n yargs,\n 'status',\n 'Show current authentication status',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runAuthStatus } = await import('./commands/auth-status.js');\n await runAuthStatus();\n },\n );\n return yargs.demandCommand(1, 'Please specify an auth subcommand').strict();\n })\n .command('skills', 'Manage WorkOS skills for coding agents (Claude Code, Codex, Cursor, Goose)', (yargs) => {\n registerSubcommand(\n yargs,\n 'install',\n 'Install bundled AuthKit skills to coding agents',\n (y) =>\n y\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Install specific skill(s) by name',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runInstallSkill } = await import('./commands/install-skill.js');\n await runInstallSkill({\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'uninstall',\n 'Remove installed WorkOS skills from coding agents',\n (y) =>\n y\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Remove specific skill(s) by name',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runUninstallSkill } = await import('./commands/uninstall-skill.js');\n await runUninstallSkill({\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List available and installed skills',\n (y) =>\n y.option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n }),\n async (argv) => {\n const { runListSkills } = await import('./commands/list-skills.js');\n await runListSkills({\n agent: argv.agent as string[] | undefined,\n });\n },\n );\n return yargs.demandCommand(1, 'Please specify a skills subcommand').strict();\n })\n .command(\n 'doctor',\n 'Diagnose WorkOS AuthKit integration issues in the current project',\n (yargs) =>\n yargs.options({\n verbose: {\n type: 'boolean',\n default: false,\n description: 'Include additional diagnostic information',\n },\n 'skip-api': {\n type: 'boolean',\n default: false,\n description: 'Skip API calls (offline mode)',\n },\n 'skip-ai': {\n type: 'boolean',\n default: false,\n description: 'Skip AI-powered analysis',\n },\n 'install-dir': {\n type: 'string',\n default: process.cwd(),\n description: 'Project directory to analyze',\n },\n json: {\n type: 'boolean',\n default: false,\n description: 'Output report as JSON',\n },\n copy: {\n type: 'boolean',\n default: false,\n description: 'Copy report to clipboard',\n },\n }),\n async (argv) => {\n const { handleDoctor } = await import('./commands/doctor.js');\n await handleDoctor(argv);\n },\n )\n // NOTE: When adding commands here, also update src/utils/help-json.ts\n .command('env', 'Manage environment configurations (API keys, endpoints, active environment)', (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'add [name] [apiKey]',\n 'Add an environment configuration',\n (y) =>\n y\n .positional('name', { type: 'string', describe: 'Environment name' })\n .positional('apiKey', { type: 'string', describe: 'WorkOS API key' })\n .option('client-id', { type: 'string', describe: 'WorkOS client ID' })\n .option('endpoint', { type: 'string', describe: 'Custom API endpoint' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvAdd } = await import('./commands/env.js');\n await runEnvAdd({\n name: argv.name,\n apiKey: argv.apiKey,\n clientId: argv.clientId,\n endpoint: argv.endpoint,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'remove <name>',\n 'Remove an environment configuration',\n (y) => y.positional('name', { type: 'string', demandOption: true, describe: 'Environment name' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvRemove } = await import('./commands/env.js');\n await runEnvRemove(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'switch [name]',\n 'Switch active environment',\n (y) => y.positional('name', { type: 'string', describe: 'Environment name' }),\n async (argv) => {\n if (!argv.name && isNonInteractiveEnvironment()) {\n exitWithError({\n code: 'missing_args',\n message: 'Environment name required. Usage: workos env switch <name>',\n });\n }\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvSwitch } = await import('./commands/env.js');\n await runEnvSwitch(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List configured environments',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvList } = await import('./commands/env.js');\n await runEnvList();\n },\n );\n registerSubcommand(\n yargs,\n 'claim',\n 'Claim an unclaimed environment (link it to your account)',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runClaim } = await import('./commands/claim.js');\n await runClaim();\n },\n );\n return yargs.demandCommand(1, 'Please specify an env subcommand').strict();\n })\n .command(['organization', 'org'], 'Manage WorkOS organizations (create, update, get, list, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'create <name> [domains..]',\n 'Create a new organization with optional verified domains',\n (y) =>\n y\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domains', {\n type: 'string',\n array: true,\n describe: 'Domains in format domain:state (state defaults to verified)',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgCreate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgCreate(argv.name, (argv.domains as string[]) || [], apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'update <orgId> <name> [domain] [state]',\n 'Update an organization',\n (y) =>\n y\n .positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' })\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domain', { type: 'string', describe: 'Domain' })\n .positional('state', { type: 'string', describe: 'Domain state (verified or pending)' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgUpdate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgUpdate(argv.orgId, argv.name, apiKey, argv.domain, argv.state, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <orgId>',\n 'Get an organization by ID',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgGet } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgGet(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List organizations',\n (y) =>\n y.options({\n domain: { type: 'string', describe: 'Filter by domain' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgList } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgList(\n { domain: argv.domain, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n apiKey,\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <orgId>',\n 'Delete an organization',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDelete } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgDelete(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an organization subcommand').strict();\n })\n .command('user', 'Manage WorkOS users (get, list, update, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'get <userId>',\n 'Get a user by ID',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserGet } = await import('./commands/user.js');\n await runUserGet(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List users',\n (y) =>\n y.options({\n email: { type: 'string', describe: 'Filter by email' },\n organization: { type: 'string', describe: 'Filter by organization ID' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserList } = await import('./commands/user.js');\n await runUserList(\n {\n email: argv.email,\n organization: argv.organization,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <userId>',\n 'Update a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }).options({\n 'first-name': { type: 'string', describe: 'First name' },\n 'last-name': { type: 'string', describe: 'Last name' },\n 'email-verified': { type: 'boolean', describe: 'Email verification status' },\n password: { type: 'string', describe: 'New password' },\n 'external-id': { type: 'string', describe: 'External ID' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserUpdate } = await import('./commands/user.js');\n await runUserUpdate(\n argv.userId,\n resolveApiKey({ apiKey: argv.apiKey }),\n {\n firstName: argv.firstName,\n lastName: argv.lastName,\n emailVerified: argv.emailVerified,\n password: argv.password,\n externalId: argv.externalId,\n },\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <userId>',\n 'Delete a user',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserDelete } = await import('./commands/user.js');\n await runUserDelete(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a user subcommand').strict();\n })\n // --- Resource Management Commands ---\n .command('role', 'Manage WorkOS roles (environment and organization-scoped)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string' as const, describe: 'Organization ID (for org-scoped roles)' },\n });\n registerSubcommand(\n yargs,\n 'list',\n 'List roles',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleList } = await import('./commands/role.js');\n await runRoleList(argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a role by slug',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleGet } = await import('./commands/role.js');\n await runRoleGet(argv.slug, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a role',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true, describe: 'Role slug' },\n name: { type: 'string', demandOption: true, describe: 'Role name' },\n description: { type: 'string', describe: 'Role description' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleCreate } = await import('./commands/role.js');\n await runRoleCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleUpdate } = await import('./commands/role.js');\n await runRoleUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete an org-scoped role (requires --org)',\n (y) => y.positional('slug', { type: 'string', demandOption: true }).demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleDelete } = await import('./commands/role.js');\n await runRoleDelete(argv.slug, argv.org!, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'set-permissions <slug>',\n 'Set all permissions on a role (replaces existing)',\n (y) =>\n y.positional('slug', { type: 'string', demandOption: true }).option('permissions', {\n type: 'string',\n demandOption: true,\n describe: 'Comma-separated permission slugs',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleSetPermissions } = await import('./commands/role.js');\n await runRoleSetPermissions(\n argv.slug,\n argv.permissions.split(','),\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'add-permission <slug> <permissionSlug>',\n 'Add a permission to a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleAddPermission } = await import('./commands/role.js');\n await runRoleAddPermission(\n argv.slug,\n argv.permissionSlug,\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-permission <slug> <permissionSlug>',\n 'Remove a permission from an org role (requires --org)',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true })\n .demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleRemovePermission } = await import('./commands/role.js');\n await runRoleRemovePermission(\n argv.slug,\n argv.permissionSlug,\n argv.org!,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a role subcommand').strict();\n })\n .command('permission', 'Manage WorkOS permissions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List permissions',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionList } = await import('./commands/permission.js');\n await runPermissionList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionGet } = await import('./commands/permission.js');\n await runPermissionGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a permission',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n description: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionCreate } = await import('./commands/permission.js');\n await runPermissionCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a permission',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionUpdate } = await import('./commands/permission.js');\n await runPermissionUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionDelete } = await import('./commands/permission.js');\n await runPermissionDelete(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a permission subcommand').strict();\n })\n .command('membership', 'Manage organization memberships', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List memberships',\n (y) =>\n y.options({\n org: { type: 'string' },\n user: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipList } = await import('./commands/membership.js');\n await runMembershipList(\n {\n org: argv.org,\n user: argv.user,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipGet } = await import('./commands/membership.js');\n await runMembershipGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a membership',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n user: { type: 'string', demandOption: true },\n role: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipCreate } = await import('./commands/membership.js');\n await runMembershipCreate(\n { org: argv.org, user: argv.user, role: argv.role },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }).option('role', { type: 'string' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipUpdate } = await import('./commands/membership.js');\n await runMembershipUpdate(argv.id, argv.role, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDelete } = await import('./commands/membership.js');\n await runMembershipDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'deactivate <id>',\n 'Deactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDeactivate } = await import('./commands/membership.js');\n await runMembershipDeactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'reactivate <id>',\n 'Reactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipReactivate } = await import('./commands/membership.js');\n await runMembershipReactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a membership subcommand').strict();\n })\n .command('invitation', 'Manage user invitations', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List invitations',\n (y) =>\n y.options({\n org: { type: 'string' },\n email: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationList } = await import('./commands/invitation.js');\n await runInvitationList(\n {\n org: argv.org,\n email: argv.email,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationGet } = await import('./commands/invitation.js');\n await runInvitationGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'send',\n 'Send an invitation',\n (y) =>\n y.options({\n email: { type: 'string', demandOption: true },\n org: { type: 'string' },\n role: { type: 'string' },\n 'expires-in-days': { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationSend } = await import('./commands/invitation.js');\n await runInvitationSend(\n { email: argv.email, org: argv.org, role: argv.role, expiresInDays: argv.expiresInDays },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <id>',\n 'Revoke an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationRevoke } = await import('./commands/invitation.js');\n await runInvitationRevoke(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'resend <id>',\n 'Resend an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationResend } = await import('./commands/invitation.js');\n await runInvitationResend(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an invitation subcommand').strict();\n })\n .command('session', 'Manage user sessions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list <userId>',\n 'List sessions for a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true }).options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionList } = await import('./commands/session.js');\n await runSessionList(\n argv.userId,\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <sessionId>',\n 'Revoke a session',\n (y) => y.positional('sessionId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionRevoke } = await import('./commands/session.js');\n await runSessionRevoke(argv.sessionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a session subcommand').strict();\n })\n .command('connection', 'Manage SSO connections (read/delete)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List connections',\n (y) =>\n y.options({\n org: { type: 'string', describe: 'Filter by org ID' },\n type: { type: 'string', describe: 'Filter by connection type' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionList } = await import('./commands/connection.js');\n await runConnectionList(\n {\n organizationId: argv.org,\n connectionType: argv.type,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a connection',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionGet } = await import('./commands/connection.js');\n await runConnectionGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a connection',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionDelete } = await import('./commands/connection.js');\n await runConnectionDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a connection subcommand').strict();\n })\n .command('directory', 'Manage directory sync (read/delete, list users/groups)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List directories',\n (y) =>\n y.options({\n org: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryList } = await import('./commands/directory.js');\n await runDirectoryList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a directory',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryGet } = await import('./commands/directory.js');\n await runDirectoryGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a directory',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryDelete } = await import('./commands/directory.js');\n await runDirectoryDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-users',\n 'List directory users',\n (y) =>\n y.options({\n directory: { type: 'string' },\n group: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListUsers } = await import('./commands/directory.js');\n await runDirectoryListUsers(\n { directory: argv.directory, group: argv.group, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-groups',\n 'List directory groups',\n (y) =>\n y.options({\n directory: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListGroups } = await import('./commands/directory.js');\n await runDirectoryListGroups(\n { directory: argv.directory, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a directory subcommand').strict();\n })\n .command('event', 'Query WorkOS events', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List events',\n (y) =>\n y.options({\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n after: { type: 'string' },\n org: { type: 'string' },\n 'range-start': { type: 'string' },\n 'range-end': { type: 'string' },\n limit: { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runEventList } = await import('./commands/event.js');\n await runEventList(\n {\n events: argv.events.split(','),\n after: argv.after,\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n limit: argv.limit,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify an event subcommand').strict();\n })\n .command('audit-log', 'Manage audit logs', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'create-event <orgId>',\n 'Create an audit log event',\n (y) =>\n y.positional('orgId', { type: 'string', demandOption: true }).options({\n action: { type: 'string' },\n 'actor-type': { type: 'string' },\n 'actor-id': { type: 'string' },\n 'actor-name': { type: 'string' },\n targets: { type: 'string' },\n context: { type: 'string' },\n metadata: { type: 'string' },\n 'occurred-at': { type: 'string' },\n file: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateEvent } = await import('./commands/audit-log.js');\n await runAuditLogCreateEvent(\n argv.orgId,\n {\n action: argv.action,\n actorType: argv.actorType,\n actorId: argv.actorId,\n actorName: argv.actorName,\n targets: argv.targets,\n context: argv.context,\n metadata: argv.metadata,\n occurredAt: argv.occurredAt,\n file: argv.file,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'export',\n 'Export audit logs',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n 'range-start': { type: 'string', demandOption: true },\n 'range-end': { type: 'string', demandOption: true },\n actions: { type: 'string' },\n 'actor-names': { type: 'string' },\n 'actor-ids': { type: 'string' },\n targets: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogExport } = await import('./commands/audit-log.js');\n await runAuditLogExport(\n {\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n actions: argv.actions?.split(','),\n actorNames: argv.actorNames?.split(','),\n actorIds: argv.actorIds?.split(','),\n targets: argv.targets?.split(','),\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-actions',\n 'List available audit log actions',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogListActions } = await import('./commands/audit-log.js');\n await runAuditLogListActions(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-schema <action>',\n 'Get schema for an audit log action',\n (y) => y.positional('action', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetSchema } = await import('./commands/audit-log.js');\n await runAuditLogGetSchema(argv.action, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create-schema <action>',\n 'Create an audit log schema',\n (y) =>\n y\n .positional('action', { type: 'string', demandOption: true })\n .option('file', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateSchema } = await import('./commands/audit-log.js');\n await runAuditLogCreateSchema(\n argv.action,\n argv.file,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get-retention <orgId>',\n 'Get audit log retention period',\n (y) => y.positional('orgId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetRetention } = await import('./commands/audit-log.js');\n await runAuditLogGetRetention(argv.orgId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an audit-log subcommand').strict();\n })\n .command('feature-flag', 'Manage feature flags', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List feature flags',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagList } = await import('./commands/feature-flag.js');\n await runFeatureFlagList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagGet } = await import('./commands/feature-flag.js');\n await runFeatureFlagGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'enable <slug>',\n 'Enable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagEnable } = await import('./commands/feature-flag.js');\n await runFeatureFlagEnable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'disable <slug>',\n 'Disable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagDisable } = await import('./commands/feature-flag.js');\n await runFeatureFlagDisable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'add-target <slug> <targetId>',\n 'Add a target to a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagAddTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagAddTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-target <slug> <targetId>',\n 'Remove a target from a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagRemoveTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagRemoveTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a feature-flag subcommand').strict();\n })\n .command('webhook', 'Manage webhooks', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List webhooks',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookList } = await import('./commands/webhook.js');\n await runWebhookList(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a webhook',\n (y) =>\n y.options({\n url: { type: 'string', demandOption: true },\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookCreate } = await import('./commands/webhook.js');\n await runWebhookCreate(\n argv.url,\n argv.events.split(','),\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a webhook',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookDelete } = await import('./commands/webhook.js');\n await runWebhookDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a webhook subcommand').strict();\n })\n .command('config', 'Manage WorkOS configuration (redirect URIs, CORS, homepage)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n yargs.command('redirect', 'Manage redirect URIs', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <uri>',\n 'Add a redirect URI',\n (y) => y.positional('uri', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigRedirectAdd } = await import('./commands/config.js');\n await runConfigRedirectAdd(argv.uri, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('cors', 'Manage CORS origins', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <origin>',\n 'Add a CORS origin',\n (y) => y.positional('origin', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigCorsAdd } = await import('./commands/config.js');\n await runConfigCorsAdd(argv.origin, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('homepage-url', 'Manage homepage URL', (yargs) => {\n registerSubcommand(\n yargs,\n 'set <url>',\n 'Set the homepage URL',\n (y) => y.positional('url', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigHomepageUrlSet } = await import('./commands/config.js');\n await runConfigHomepageUrlSet(argv.url, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n return yargs.demandCommand(1, 'Please specify a config subcommand').strict();\n })\n .command('portal', 'Manage Admin Portal', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'generate-link',\n 'Generate an Admin Portal link',\n (y) =>\n y.options({\n intent: {\n type: 'string',\n demandOption: true,\n describe: 'Portal intent (sso, dsync, audit_logs, log_streams)',\n },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n 'return-url': { type: 'string' },\n 'success-url': { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPortalGenerateLink } = await import('./commands/portal.js');\n await runPortalGenerateLink(\n { intent: argv.intent, organization: argv.org, returnUrl: argv.returnUrl, successUrl: argv.successUrl },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a portal subcommand').strict();\n })\n .command('vault', 'Manage WorkOS Vault secrets', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List vault objects',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultList } = await import('./commands/vault.js');\n await runVaultList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGet } = await import('./commands/vault.js');\n await runVaultGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-by-name <name>',\n 'Get a vault object by name',\n (y) => y.positional('name', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGetByName } = await import('./commands/vault.js');\n await runVaultGetByName(argv.name, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a vault object',\n (y) =>\n y.options({\n name: { type: 'string', demandOption: true },\n value: { type: 'string', demandOption: true },\n org: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultCreate } = await import('./commands/vault.js');\n await runVaultCreate(\n { name: argv.name, value: argv.value, org: argv.org },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a vault object',\n (y) =>\n y\n .positional('id', { type: 'string', demandOption: true })\n .options({ value: { type: 'string', demandOption: true }, 'version-check': { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultUpdate } = await import('./commands/vault.js');\n await runVaultUpdate(\n { id: argv.id, value: argv.value, versionCheck: argv.versionCheck },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDelete } = await import('./commands/vault.js');\n await runVaultDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'describe <id>',\n 'Describe a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDescribe } = await import('./commands/vault.js');\n await runVaultDescribe(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list-versions <id>',\n 'List vault object versions',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultListVersions } = await import('./commands/vault.js');\n await runVaultListVersions(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a vault subcommand').strict();\n })\n .command('api-key', 'Manage API keys', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List API keys',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyList } = await import('./commands/api-key-mgmt.js');\n await runApiKeyList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create an API key',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n permissions: { type: 'string', describe: 'Comma-separated permissions' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyCreate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyCreate(\n { organizationId: argv.org, name: argv.name, permissions: argv.permissions?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'validate <value>',\n 'Validate an API key',\n (y) => y.positional('value', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyValidate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyValidate(argv.value, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete an API key',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyDelete } = await import('./commands/api-key-mgmt.js');\n await runApiKeyDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an api-key subcommand').strict();\n })\n .command('org-domain', 'Manage organization domains', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainGet } = await import('./commands/org-domain.js');\n await runOrgDomainGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create <domain>',\n 'Create a domain',\n (y) =>\n y\n .positional('domain', { type: 'string', demandOption: true })\n .option('org', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainCreate } = await import('./commands/org-domain.js');\n await runOrgDomainCreate(argv.domain, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'verify <id>',\n 'Verify a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainVerify } = await import('./commands/org-domain.js');\n await runOrgDomainVerify(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainDelete } = await import('./commands/org-domain.js');\n await runOrgDomainDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an org-domain subcommand').strict();\n })\n // --- Workflow Commands ---\n .command(\n 'seed',\n 'Seed WorkOS environment from a YAML config file',\n (yargs) =>\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n file: { type: 'string', describe: 'Path to seed YAML file' },\n clean: { type: 'boolean', default: false, describe: 'Tear down seeded resources' },\n init: { type: 'boolean', default: false, describe: 'Create an example workos-seed.yml file' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSeed } = await import('./commands/seed.js');\n await runSeed(\n { file: argv.file, clean: argv.clean, init: argv.init },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'setup-org <name>',\n 'One-shot organization onboarding (create org, domain, roles, portal link)',\n (yargs) =>\n yargs.positional('name', { type: 'string', demandOption: true, describe: 'Organization name' }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n domain: { type: 'string', describe: 'Domain to add and verify' },\n roles: { type: 'string', describe: 'Comma-separated role slugs to create' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSetupOrg } = await import('./commands/setup-org.js');\n await runSetupOrg(\n { name: argv.name, domain: argv.domain, roles: argv.roles?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'onboard-user <email>',\n 'Onboard a user (send invitation, assign role)',\n (yargs) =>\n yargs.positional('email', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n role: { type: 'string', describe: 'Role slug to assign' },\n wait: { type: 'boolean', default: false, describe: 'Wait for invitation acceptance' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOnboardUser } = await import('./commands/onboard-user.js');\n await runOnboardUser(\n { email: argv.email, org: argv.org, role: argv.role, wait: argv.wait },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'debug-sso <connectionId>',\n 'Diagnose SSO connection issues',\n (yargs) =>\n yargs.positional('connectionId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSso } = await import('./commands/debug-sso.js');\n await runDebugSso(argv.connectionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .command(\n 'debug-sync <directoryId>',\n 'Diagnose directory sync issues',\n (yargs) =>\n yargs.positional('directoryId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSync } = await import('./commands/debug-sync.js');\n await runDebugSync(argv.directoryId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n // Alias — canonical command is `workos env claim`\n .command(\n 'claim',\n 'Claim an unclaimed WorkOS environment (link it to your account)',\n (yargs) =>\n yargs.options({\n ...insecureStorageOption,\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runClaim } = await import('./commands/claim.js');\n await runClaim();\n },\n )\n .command(\n 'install',\n 'Install WorkOS AuthKit into your project (interactive framework detection and setup)',\n (yargs) => yargs.options(installerOptions),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(argv.apiKey, argv.installDir, argv.skipAuth, ensureAuthenticated);\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall(argv);\n },\n )\n .command(\n 'emulate',\n 'Start a local WorkOS API emulator',\n (yargs) =>\n yargs.options({\n port: { type: 'number', default: 4100, describe: 'Port to listen on' },\n seed: { type: 'string', describe: 'Path to seed config file (YAML or JSON)' },\n }),\n async (argv) => {\n const { runEmulate } = await import('./commands/emulate.js');\n await runEmulate({ port: argv.port, seed: argv.seed, json: argv.json as boolean });\n },\n )\n .command(\n 'dev',\n 'Start emulator + your app in one command',\n (yargs) =>\n yargs.options({\n port: { type: 'number', default: 4100, describe: 'Emulator port' },\n seed: { type: 'string', describe: 'Path to seed config file' },\n }),\n async (argv) => {\n const { runDev } = await import('./commands/dev.js');\n await runDev({\n port: argv.port,\n seed: argv.seed,\n '--': argv['--'] as string[] | undefined,\n });\n },\n )\n .command('debug', false, (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'state',\n 'Dump raw CLI state (credentials, config, storage)',\n (y) =>\n y.option('show-secrets', {\n type: 'boolean',\n default: false,\n describe: 'Show unredacted tokens and API keys',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugState } = await import('./commands/debug.js');\n await runDebugState({ showSecrets: argv.showSecrets as boolean });\n },\n );\n registerSubcommand(\n yargs,\n 'reset',\n 'Clear auth state (keyring + files)',\n (y) =>\n y\n .option('force', {\n type: 'boolean',\n default: false,\n describe: 'Skip confirmation prompt',\n })\n .option('credentials-only', {\n type: 'boolean',\n default: false,\n describe: 'Only clear credentials',\n })\n .option('config-only', {\n type: 'boolean',\n default: false,\n describe: 'Only clear config',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugReset } = await import('./commands/debug.js');\n await runDebugReset({\n force: argv.force as boolean,\n credentialsOnly: argv.credentialsOnly as boolean,\n configOnly: argv.configOnly as boolean,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'simulate',\n 'Simulate CLI states for testing',\n (y) =>\n y\n .option('expired-token', {\n type: 'boolean',\n default: false,\n describe: 'Set token expiresAt to the past',\n })\n .option('no-keyring', {\n type: 'boolean',\n default: false,\n describe: 'Force file-only storage mode',\n })\n .option('unclaimed', {\n type: 'boolean',\n default: false,\n describe: 'Write synthetic unclaimed environment',\n })\n .option('no-auth', {\n type: 'boolean',\n default: false,\n describe: 'Clear credentials, keep config',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugSimulate } = await import('./commands/debug.js');\n await runDebugSimulate({\n expiredToken: argv.expiredToken as boolean,\n noKeyring: argv.noKeyring as boolean,\n unclaimed: argv.unclaimed as boolean,\n noAuth: argv.noAuth as boolean,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'env',\n 'Show WORKOS_* environment variables and their effects',\n (y) => y,\n async () => {\n const { runDebugEnv } = await import('./commands/debug.js');\n await runDebugEnv();\n },\n );\n registerSubcommand(\n yargs,\n 'token',\n 'Decode and inspect the current access token',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runDebugToken } = await import('./commands/debug.js');\n await runDebugToken();\n },\n );\n return yargs.demandCommand(1, 'Run \"workos debug <command>\" for debug tools.').strict();\n })\n .command(\n 'dashboard',\n false, // hidden from help\n (yargs) => yargs.options(installerOptions),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(argv.apiKey, argv.installDir, argv.skipAuth, ensureAuthenticated);\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: true });\n },\n )\n .command(\n ['$0'],\n 'WorkOS AuthKit CLI',\n (yargs) => yargs.options(insecureStorageOption),\n async (argv) => {\n // Non-TTY: show help\n if (isNonInteractiveEnvironment()) {\n yargs(rawArgs).showHelp();\n return;\n }\n\n // TTY: ask if user wants to run installer\n const shouldInstall = await clack.confirm({\n message: 'Run the AuthKit installer?',\n });\n\n if (clack.isCancel(shouldInstall) || !shouldInstall) {\n process.exit(0);\n }\n\n await applyInsecureStorage(argv.insecureStorage);\n await resolveInstallCredentials(undefined, undefined, false, ensureAuthenticated);\n\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: false });\n process.exit(0);\n },\n )\n .strict()\n .help()\n .alias('help', 'h')\n .version(getVersion())\n .alias('version', 'v')\n .wrap(process.stdout.isTTY && process.stdout.columns ? process.stdout.columns : 80).argv;\n"]}