workos 0.19.0 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -646
- package/bin/workos.js +44 -0
- package/package.json +18 -99
- package/LICENSE +0 -47
- package/dist/bin.d.ts +0 -2
- package/dist/bin.js +0 -1790
- package/dist/bin.js.map +0 -1
- package/dist/cli.config.d.ts +0 -88
- package/dist/cli.config.js +0 -110
- package/dist/cli.config.js.map +0 -1
- package/dist/commands/api/catalog.d.ts +0 -23
- package/dist/commands/api/catalog.js +0 -97
- package/dist/commands/api/catalog.js.map +0 -1
- package/dist/commands/api/format.d.ts +0 -5
- package/dist/commands/api/format.js +0 -46
- package/dist/commands/api/format.js.map +0 -1
- package/dist/commands/api/index.d.ts +0 -15
- package/dist/commands/api/index.js +0 -213
- package/dist/commands/api/index.js.map +0 -1
- package/dist/commands/api/interactive.d.ts +0 -3
- package/dist/commands/api/interactive.js +0 -133
- package/dist/commands/api/interactive.js.map +0 -1
- package/dist/commands/api/request.d.ts +0 -14
- package/dist/commands/api/request.js +0 -38
- package/dist/commands/api/request.js.map +0 -1
- package/dist/commands/api-key-mgmt.d.ts +0 -16
- package/dist/commands/api-key-mgmt.js +0 -96
- package/dist/commands/api-key-mgmt.js.map +0 -1
- package/dist/commands/audit-log.d.ts +0 -26
- package/dist/commands/audit-log.js +0 -155
- package/dist/commands/audit-log.js.map +0 -1
- package/dist/commands/auth-status.d.ts +0 -1
- package/dist/commands/auth-status.js +0 -57
- package/dist/commands/auth-status.js.map +0 -1
- package/dist/commands/claim.d.ts +0 -11
- package/dist/commands/claim.js +0 -143
- package/dist/commands/claim.js.map +0 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.js +0 -54
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/connection.d.ts +0 -13
- package/dist/commands/connection.js +0 -96
- package/dist/commands/connection.js.map +0 -1
- package/dist/commands/debug-sso.d.ts +0 -1
- package/dist/commands/debug-sso.js +0 -78
- package/dist/commands/debug-sso.js.map +0 -1
- package/dist/commands/debug-sync.d.ts +0 -1
- package/dist/commands/debug-sync.js +0 -102
- package/dist/commands/debug-sync.js.map +0 -1
- package/dist/commands/debug.d.ts +0 -28
- package/dist/commands/debug.js +0 -406
- package/dist/commands/debug.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -22
- package/dist/commands/dev.js +0 -145
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/directory.d.ts +0 -27
- package/dist/commands/directory.js +0 -176
- package/dist/commands/directory.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -12
- package/dist/commands/doctor.js +0 -41
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/emulate.d.ts +0 -7
- package/dist/commands/emulate.js +0 -69
- package/dist/commands/emulate.js.map +0 -1
- package/dist/commands/env.d.ts +0 -19
- package/dist/commands/env.js +0 -303
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/event.d.ts +0 -9
- package/dist/commands/event.js +0 -43
- package/dist/commands/event.js.map +0 -1
- package/dist/commands/feature-flag.d.ts +0 -12
- package/dist/commands/feature-flag.js +0 -96
- package/dist/commands/feature-flag.js.map +0 -1
- package/dist/commands/install-skill.d.ts +0 -85
- package/dist/commands/install-skill.js +0 -332
- package/dist/commands/install-skill.js.map +0 -1
- package/dist/commands/install.d.ts +0 -6
- package/dist/commands/install.js +0 -51
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/invitation.d.ts +0 -19
- package/dist/commands/invitation.js +0 -94
- package/dist/commands/invitation.js.map +0 -1
- package/dist/commands/list-skills.d.ts +0 -4
- package/dist/commands/list-skills.js +0 -52
- package/dist/commands/list-skills.js.map +0 -1
- package/dist/commands/login.d.ts +0 -32
- package/dist/commands/login.js +0 -239
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -1
- package/dist/commands/logout.js +0 -17
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -14
- package/dist/commands/mcp.js +0 -99
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/membership.d.ts +0 -20
- package/dist/commands/membership.js +0 -129
- package/dist/commands/membership.js.map +0 -1
- package/dist/commands/migrations.d.ts +0 -2
- package/dist/commands/migrations.js +0 -50
- package/dist/commands/migrations.js.map +0 -1
- package/dist/commands/onboard-user.d.ts +0 -7
- package/dist/commands/onboard-user.js +0 -61
- package/dist/commands/onboard-user.js.map +0 -1
- package/dist/commands/org-domain.d.ts +0 -4
- package/dist/commands/org-domain.js +0 -45
- package/dist/commands/org-domain.js.map +0 -1
- package/dist/commands/organization.d.ts +0 -14
- package/dist/commands/organization.js +0 -103
- package/dist/commands/organization.js.map +0 -1
- package/dist/commands/permission.d.ts +0 -20
- package/dist/commands/permission.js +0 -93
- package/dist/commands/permission.js.map +0 -1
- package/dist/commands/portal.d.ts +0 -7
- package/dist/commands/portal.js +0 -26
- package/dist/commands/portal.js.map +0 -1
- package/dist/commands/role.d.ts +0 -17
- package/dist/commands/role.js +0 -122
- package/dist/commands/role.js.map +0 -1
- package/dist/commands/seed.d.ts +0 -6
- package/dist/commands/seed.js +0 -298
- package/dist/commands/seed.js.map +0 -1
- package/dist/commands/session.d.ts +0 -8
- package/dist/commands/session.js +0 -63
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/setup-org.d.ts +0 -6
- package/dist/commands/setup-org.js +0 -99
- package/dist/commands/setup-org.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -50
- package/dist/commands/setup.js +0 -237
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/telemetry.d.ts +0 -3
- package/dist/commands/telemetry.js +0 -88
- package/dist/commands/telemetry.js.map +0 -1
- package/dist/commands/uninstall-skill.d.ts +0 -11
- package/dist/commands/uninstall-skill.js +0 -117
- package/dist/commands/uninstall-skill.js.map +0 -1
- package/dist/commands/user.d.ts +0 -19
- package/dist/commands/user.js +0 -92
- package/dist/commands/user.js.map +0 -1
- package/dist/commands/vault-run.d.ts +0 -13
- package/dist/commands/vault-run.js +0 -195
- package/dist/commands/vault-run.js.map +0 -1
- package/dist/commands/vault.d.ts +0 -25
- package/dist/commands/vault.js +0 -153
- package/dist/commands/vault.js.map +0 -1
- package/dist/commands/verify-login.d.ts +0 -25
- package/dist/commands/verify-login.js +0 -158
- package/dist/commands/verify-login.js.map +0 -1
- package/dist/commands/webhook.d.ts +0 -3
- package/dist/commands/webhook.js +0 -92
- package/dist/commands/webhook.js.map +0 -1
- package/dist/craft-pre-release.sh +0 -10
- package/dist/dashboard/components/AnimatedLogo.d.ts +0 -8
- package/dist/dashboard/components/AnimatedLogo.js +0 -16
- package/dist/dashboard/components/AnimatedLogo.js.map +0 -1
- package/dist/dashboard/components/CompletionView.d.ts +0 -13
- package/dist/dashboard/components/CompletionView.js +0 -25
- package/dist/dashboard/components/CompletionView.js.map +0 -1
- package/dist/dashboard/components/ConfirmPrompt.d.ts +0 -9
- package/dist/dashboard/components/ConfirmPrompt.js +0 -25
- package/dist/dashboard/components/ConfirmPrompt.js.map +0 -1
- package/dist/dashboard/components/CredentialsForm.d.ts +0 -10
- package/dist/dashboard/components/CredentialsForm.js +0 -47
- package/dist/dashboard/components/CredentialsForm.js.map +0 -1
- package/dist/dashboard/components/Dashboard.d.ts +0 -3
- package/dist/dashboard/components/Dashboard.js +0 -100
- package/dist/dashboard/components/Dashboard.js.map +0 -1
- package/dist/dashboard/components/DashboardLayout.d.ts +0 -24
- package/dist/dashboard/components/DashboardLayout.js +0 -25
- package/dist/dashboard/components/DashboardLayout.js.map +0 -1
- package/dist/dashboard/components/DiffPanel.d.ts +0 -9
- package/dist/dashboard/components/DiffPanel.js +0 -136
- package/dist/dashboard/components/DiffPanel.js.map +0 -1
- package/dist/dashboard/components/InlinePrompt.d.ts +0 -8
- package/dist/dashboard/components/InlinePrompt.js +0 -19
- package/dist/dashboard/components/InlinePrompt.js.map +0 -1
- package/dist/dashboard/components/OutputPanel.d.ts +0 -10
- package/dist/dashboard/components/OutputPanel.js +0 -100
- package/dist/dashboard/components/OutputPanel.js.map +0 -1
- package/dist/dashboard/components/Panel.d.ts +0 -12
- package/dist/dashboard/components/Panel.js +0 -6
- package/dist/dashboard/components/Panel.js.map +0 -1
- package/dist/dashboard/components/TextInput.d.ts +0 -13
- package/dist/dashboard/components/TextInput.js +0 -57
- package/dist/dashboard/components/TextInput.js.map +0 -1
- package/dist/dashboard/components/WelcomeArt.d.ts +0 -2
- package/dist/dashboard/components/WelcomeArt.js +0 -9
- package/dist/dashboard/components/WelcomeArt.js.map +0 -1
- package/dist/dashboard/hooks/useAnimation.d.ts +0 -7
- package/dist/dashboard/hooks/useAnimation.js +0 -24
- package/dist/dashboard/hooks/useAnimation.js.map +0 -1
- package/dist/dashboard/hooks/useKeyboard.d.ts +0 -8
- package/dist/dashboard/hooks/useKeyboard.js +0 -18
- package/dist/dashboard/hooks/useKeyboard.js.map +0 -1
- package/dist/dashboard/hooks/useTerminalSize.d.ts +0 -8
- package/dist/dashboard/hooks/useTerminalSize.js +0 -23
- package/dist/dashboard/hooks/useTerminalSize.js.map +0 -1
- package/dist/dashboard/index.d.ts +0 -6
- package/dist/dashboard/index.js +0 -36
- package/dist/dashboard/index.js.map +0 -1
- package/dist/dashboard/lib/diff-utils.d.ts +0 -21
- package/dist/dashboard/lib/diff-utils.js +0 -271
- package/dist/dashboard/lib/diff-utils.js.map +0 -1
- package/dist/dashboard/lib/logo-frames.d.ts +0 -20
- package/dist/dashboard/lib/logo-frames.js +0 -109
- package/dist/dashboard/lib/logo-frames.js.map +0 -1
- package/dist/dashboard/lib/welcome-art.d.ts +0 -1
- package/dist/dashboard/lib/welcome-art.js +0 -5
- package/dist/dashboard/lib/welcome-art.js.map +0 -1
- package/dist/dashboard/types.d.ts +0 -5
- package/dist/dashboard/types.js +0 -2
- package/dist/dashboard/types.js.map +0 -1
- package/dist/doctor/agent-prompt.d.ts +0 -10
- package/dist/doctor/agent-prompt.js +0 -190
- package/dist/doctor/agent-prompt.js.map +0 -1
- package/dist/doctor/checks/ai-analysis.d.ts +0 -9
- package/dist/doctor/checks/ai-analysis.js +0 -124
- package/dist/doctor/checks/ai-analysis.js.map +0 -1
- package/dist/doctor/checks/auth-patterns.d.ts +0 -2
- package/dist/doctor/checks/auth-patterns.js +0 -569
- package/dist/doctor/checks/auth-patterns.js.map +0 -1
- package/dist/doctor/checks/connectivity.d.ts +0 -2
- package/dist/doctor/checks/connectivity.js +0 -35
- package/dist/doctor/checks/connectivity.js.map +0 -1
- package/dist/doctor/checks/dashboard.d.ts +0 -3
- package/dist/doctor/checks/dashboard.js +0 -123
- package/dist/doctor/checks/dashboard.js.map +0 -1
- package/dist/doctor/checks/environment.d.ts +0 -2
- package/dist/doctor/checks/environment.js +0 -86
- package/dist/doctor/checks/environment.js.map +0 -1
- package/dist/doctor/checks/framework.d.ts +0 -2
- package/dist/doctor/checks/framework.js +0 -94
- package/dist/doctor/checks/framework.js.map +0 -1
- package/dist/doctor/checks/host-execution.d.ts +0 -2
- package/dist/doctor/checks/host-execution.js +0 -21
- package/dist/doctor/checks/host-execution.js.map +0 -1
- package/dist/doctor/checks/language.d.ts +0 -6
- package/dist/doctor/checks/language.js +0 -104
- package/dist/doctor/checks/language.js.map +0 -1
- package/dist/doctor/checks/mcp.d.ts +0 -15
- package/dist/doctor/checks/mcp.js +0 -34
- package/dist/doctor/checks/mcp.js.map +0 -1
- package/dist/doctor/checks/runtime.d.ts +0 -2
- package/dist/doctor/checks/runtime.js +0 -20
- package/dist/doctor/checks/runtime.js.map +0 -1
- package/dist/doctor/checks/sdk.d.ts +0 -2
- package/dist/doctor/checks/sdk.js +0 -192
- package/dist/doctor/checks/sdk.js.map +0 -1
- package/dist/doctor/checks/skills.d.ts +0 -9
- package/dist/doctor/checks/skills.js +0 -84
- package/dist/doctor/checks/skills.js.map +0 -1
- package/dist/doctor/clipboard.d.ts +0 -1
- package/dist/doctor/clipboard.js +0 -43
- package/dist/doctor/clipboard.js.map +0 -1
- package/dist/doctor/index.d.ts +0 -26
- package/dist/doctor/index.js +0 -182
- package/dist/doctor/index.js.map +0 -1
- package/dist/doctor/issues.d.ts +0 -63
- package/dist/doctor/issues.js +0 -199
- package/dist/doctor/issues.js.map +0 -1
- package/dist/doctor/json-output.d.ts +0 -2
- package/dist/doctor/json-output.js +0 -4
- package/dist/doctor/json-output.js.map +0 -1
- package/dist/doctor/output.d.ts +0 -7
- package/dist/doctor/output.js +0 -289
- package/dist/doctor/output.js.map +0 -1
- package/dist/doctor/types.d.ts +0 -203
- package/dist/doctor/types.js +0 -2
- package/dist/doctor/types.js.map +0 -1
- package/dist/integrations/dotnet/index.d.ts +0 -8
- package/dist/integrations/dotnet/index.js +0 -170
- package/dist/integrations/dotnet/index.js.map +0 -1
- package/dist/integrations/elixir/index.d.ts +0 -8
- package/dist/integrations/elixir/index.js +0 -146
- package/dist/integrations/elixir/index.js.map +0 -1
- package/dist/integrations/go/index.d.ts +0 -11
- package/dist/integrations/go/index.js +0 -212
- package/dist/integrations/go/index.js.map +0 -1
- package/dist/integrations/kotlin/index.d.ts +0 -4
- package/dist/integrations/kotlin/index.js +0 -78
- package/dist/integrations/kotlin/index.js.map +0 -1
- package/dist/integrations/nextjs/index.d.ts +0 -4
- package/dist/integrations/nextjs/index.js +0 -93
- package/dist/integrations/nextjs/index.js.map +0 -1
- package/dist/integrations/nextjs/utils.d.ts +0 -8
- package/dist/integrations/nextjs/utils.js +0 -68
- package/dist/integrations/nextjs/utils.js.map +0 -1
- package/dist/integrations/node/index.d.ts +0 -4
- package/dist/integrations/node/index.js +0 -52
- package/dist/integrations/node/index.js.map +0 -1
- package/dist/integrations/php/index.d.ts +0 -4
- package/dist/integrations/php/index.js +0 -51
- package/dist/integrations/php/index.js.map +0 -1
- package/dist/integrations/php-laravel/index.d.ts +0 -4
- package/dist/integrations/php-laravel/index.js +0 -51
- package/dist/integrations/php-laravel/index.js.map +0 -1
- package/dist/integrations/python/index.d.ts +0 -9
- package/dist/integrations/python/index.js +0 -249
- package/dist/integrations/python/index.js.map +0 -1
- package/dist/integrations/react/index.d.ts +0 -4
- package/dist/integrations/react/index.js +0 -49
- package/dist/integrations/react/index.js.map +0 -1
- package/dist/integrations/react-router/index.d.ts +0 -4
- package/dist/integrations/react-router/index.js +0 -94
- package/dist/integrations/react-router/index.js.map +0 -1
- package/dist/integrations/react-router/utils.d.ts +0 -10
- package/dist/integrations/react-router/utils.js +0 -162
- package/dist/integrations/react-router/utils.js.map +0 -1
- package/dist/integrations/ruby/index.d.ts +0 -8
- package/dist/integrations/ruby/index.js +0 -137
- package/dist/integrations/ruby/index.js.map +0 -1
- package/dist/integrations/sveltekit/index.d.ts +0 -4
- package/dist/integrations/sveltekit/index.js +0 -50
- package/dist/integrations/sveltekit/index.js.map +0 -1
- package/dist/integrations/tanstack-start/index.d.ts +0 -4
- package/dist/integrations/tanstack-start/index.js +0 -51
- package/dist/integrations/tanstack-start/index.js.map +0 -1
- package/dist/integrations/vanilla-js/index.d.ts +0 -4
- package/dist/integrations/vanilla-js/index.js +0 -49
- package/dist/integrations/vanilla-js/index.js.map +0 -1
- package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.d.ts +0 -7
- package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js +0 -12
- package/dist/lib/__test-helpers__/mock-unclaimed-env-api-error.js.map +0 -1
- package/dist/lib/adapters/cli-adapter.d.ts +0 -113
- package/dist/lib/adapters/cli-adapter.js +0 -641
- package/dist/lib/adapters/cli-adapter.js.map +0 -1
- package/dist/lib/adapters/dashboard-adapter.d.ts +0 -34
- package/dist/lib/adapters/dashboard-adapter.js +0 -121
- package/dist/lib/adapters/dashboard-adapter.js.map +0 -1
- package/dist/lib/adapters/headless-adapter.d.ts +0 -80
- package/dist/lib/adapters/headless-adapter.js +0 -347
- package/dist/lib/adapters/headless-adapter.js.map +0 -1
- package/dist/lib/adapters/index.d.ts +0 -4
- package/dist/lib/adapters/index.js +0 -4
- package/dist/lib/adapters/index.js.map +0 -1
- package/dist/lib/adapters/types.d.ts +0 -41
- package/dist/lib/adapters/types.js +0 -2
- package/dist/lib/adapters/types.js.map +0 -1
- package/dist/lib/agent-interface.d.ts +0 -84
- package/dist/lib/agent-interface.js +0 -840
- package/dist/lib/agent-interface.js.map +0 -1
- package/dist/lib/agent-runner.d.ts +0 -9
- package/dist/lib/agent-runner.js +0 -261
- package/dist/lib/agent-runner.js.map +0 -1
- package/dist/lib/ai-content.d.ts +0 -14
- package/dist/lib/ai-content.js +0 -131
- package/dist/lib/ai-content.js.map +0 -1
- package/dist/lib/api-error-handler.d.ts +0 -18
- package/dist/lib/api-error-handler.js +0 -76
- package/dist/lib/api-error-handler.js.map +0 -1
- package/dist/lib/api-key.d.ts +0 -14
- package/dist/lib/api-key.js +0 -37
- package/dist/lib/api-key.js.map +0 -1
- package/dist/lib/api.d.ts +0 -25
- package/dist/lib/api.js +0 -120
- package/dist/lib/api.js.map +0 -1
- package/dist/lib/background-refresh.d.ts +0 -29
- package/dist/lib/background-refresh.js +0 -95
- package/dist/lib/background-refresh.js.map +0 -1
- package/dist/lib/command-aliases.d.ts +0 -8
- package/dist/lib/command-aliases.js +0 -12
- package/dist/lib/command-aliases.js.map +0 -1
- package/dist/lib/completion-data.d.ts +0 -33
- package/dist/lib/completion-data.js +0 -33
- package/dist/lib/completion-data.js.map +0 -1
- package/dist/lib/config-store.d.ts +0 -63
- package/dist/lib/config-store.js +0 -293
- package/dist/lib/config-store.js.map +0 -1
- package/dist/lib/config.d.ts +0 -34
- package/dist/lib/config.js +0 -37
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -51
- package/dist/lib/constants.js +0 -50
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/credential-discovery.d.ts +0 -42
- package/dist/lib/credential-discovery.js +0 -100
- package/dist/lib/credential-discovery.js.map +0 -1
- package/dist/lib/credential-proxy.d.ts +0 -45
- package/dist/lib/credential-proxy.js +0 -364
- package/dist/lib/credential-proxy.js.map +0 -1
- package/dist/lib/credential-store.d.ts +0 -32
- package/dist/lib/credential-store.js +0 -236
- package/dist/lib/credential-store.js.map +0 -1
- package/dist/lib/credentials.d.ts +0 -13
- package/dist/lib/credentials.js +0 -34
- package/dist/lib/credentials.js.map +0 -1
- package/dist/lib/dev-command.d.ts +0 -26
- package/dist/lib/dev-command.js +0 -129
- package/dist/lib/dev-command.js.map +0 -1
- package/dist/lib/device-auth.d.ts +0 -48
- package/dist/lib/device-auth.js +0 -176
- package/dist/lib/device-auth.js.map +0 -1
- package/dist/lib/device-id.d.ts +0 -25
- package/dist/lib/device-id.js +0 -102
- package/dist/lib/device-id.js.map +0 -1
- package/dist/lib/ensure-auth.d.ts +0 -12
- package/dist/lib/ensure-auth.js +0 -111
- package/dist/lib/ensure-auth.js.map +0 -1
- package/dist/lib/env-writer.d.ts +0 -25
- package/dist/lib/env-writer.js +0 -90
- package/dist/lib/env-writer.js.map +0 -1
- package/dist/lib/events.d.ts +0 -248
- package/dist/lib/events.js +0 -19
- package/dist/lib/events.js.map +0 -1
- package/dist/lib/framework-config.d.ts +0 -133
- package/dist/lib/framework-config.js +0 -11
- package/dist/lib/framework-config.js.map +0 -1
- package/dist/lib/helper-functions.d.ts +0 -1
- package/dist/lib/helper-functions.js +0 -2
- package/dist/lib/helper-functions.js.map +0 -1
- package/dist/lib/host-probe.d.ts +0 -28
- package/dist/lib/host-probe.js +0 -154
- package/dist/lib/host-probe.js.map +0 -1
- package/dist/lib/installer-core.d.ts +0 -569
- package/dist/lib/installer-core.js +0 -1134
- package/dist/lib/installer-core.js.map +0 -1
- package/dist/lib/installer-core.types.d.ts +0 -162
- package/dist/lib/installer-core.types.js +0 -2
- package/dist/lib/installer-core.types.js.map +0 -1
- package/dist/lib/mcp-clients.d.ts +0 -45
- package/dist/lib/mcp-clients.js +0 -297
- package/dist/lib/mcp-clients.js.map +0 -1
- package/dist/lib/port-detection.d.ts +0 -7
- package/dist/lib/port-detection.js +0 -244
- package/dist/lib/port-detection.js.map +0 -1
- package/dist/lib/post-install.d.ts +0 -8
- package/dist/lib/post-install.js +0 -51
- package/dist/lib/post-install.js.map +0 -1
- package/dist/lib/preferences.d.ts +0 -143
- package/dist/lib/preferences.js +0 -227
- package/dist/lib/preferences.js.map +0 -1
- package/dist/lib/progress-tracker.d.ts +0 -22
- package/dist/lib/progress-tracker.js +0 -47
- package/dist/lib/progress-tracker.js.map +0 -1
- package/dist/lib/registry.d.ts +0 -42
- package/dist/lib/registry.js +0 -96
- package/dist/lib/registry.js.map +0 -1
- package/dist/lib/resolve-install-credentials.d.ts +0 -11
- package/dist/lib/resolve-install-credentials.js +0 -53
- package/dist/lib/resolve-install-credentials.js.map +0 -1
- package/dist/lib/run-with-core.d.ts +0 -7
- package/dist/lib/run-with-core.js +0 -559
- package/dist/lib/run-with-core.js.map +0 -1
- package/dist/lib/safe-tools.d.ts +0 -2
- package/dist/lib/safe-tools.js +0 -212
- package/dist/lib/safe-tools.js.map +0 -1
- package/dist/lib/scaffold/index.d.ts +0 -1
- package/dist/lib/scaffold/index.js +0 -2
- package/dist/lib/scaffold/index.js.map +0 -1
- package/dist/lib/scaffold/scaffold.d.ts +0 -66
- package/dist/lib/scaffold/scaffold.js +0 -156
- package/dist/lib/scaffold/scaffold.js.map +0 -1
- package/dist/lib/settings.d.ts +0 -60
- package/dist/lib/settings.js +0 -31
- package/dist/lib/settings.js.map +0 -1
- package/dist/lib/staging-api.d.ts +0 -22
- package/dist/lib/staging-api.js +0 -74
- package/dist/lib/staging-api.js.map +0 -1
- package/dist/lib/startup-notice-gate.d.ts +0 -21
- package/dist/lib/startup-notice-gate.js +0 -29
- package/dist/lib/startup-notice-gate.js.map +0 -1
- package/dist/lib/telemetry-notice.d.ts +0 -25
- package/dist/lib/telemetry-notice.js +0 -58
- package/dist/lib/telemetry-notice.js.map +0 -1
- package/dist/lib/token-refresh-client.d.ts +0 -23
- package/dist/lib/token-refresh-client.js +0 -89
- package/dist/lib/token-refresh-client.js.map +0 -1
- package/dist/lib/token-refresh.d.ts +0 -12
- package/dist/lib/token-refresh.js +0 -27
- package/dist/lib/token-refresh.js.map +0 -1
- package/dist/lib/unclaimed-env-api.d.ts +0 -42
- package/dist/lib/unclaimed-env-api.js +0 -139
- package/dist/lib/unclaimed-env-api.js.map +0 -1
- package/dist/lib/unclaimed-env-provision.d.ts +0 -24
- package/dist/lib/unclaimed-env-provision.js +0 -80
- package/dist/lib/unclaimed-env-provision.js.map +0 -1
- package/dist/lib/unclaimed-warning.d.ts +0 -15
- package/dist/lib/unclaimed-warning.js +0 -78
- package/dist/lib/unclaimed-warning.js.map +0 -1
- package/dist/lib/validation/build-validator.d.ts +0 -21
- package/dist/lib/validation/build-validator.js +0 -153
- package/dist/lib/validation/build-validator.js.map +0 -1
- package/dist/lib/validation/index.d.ts +0 -4
- package/dist/lib/validation/index.js +0 -4
- package/dist/lib/validation/index.js.map +0 -1
- package/dist/lib/validation/quick-checks.d.ts +0 -19
- package/dist/lib/validation/quick-checks.js +0 -192
- package/dist/lib/validation/quick-checks.js.map +0 -1
- package/dist/lib/validation/security-checks.d.ts +0 -35
- package/dist/lib/validation/security-checks.js +0 -106
- package/dist/lib/validation/security-checks.js.map +0 -1
- package/dist/lib/validation/types.d.ts +0 -56
- package/dist/lib/validation/types.js +0 -2
- package/dist/lib/validation/types.js.map +0 -1
- package/dist/lib/validation/validator.d.ts +0 -13
- package/dist/lib/validation/validator.js +0 -711
- package/dist/lib/validation/validator.js.map +0 -1
- package/dist/lib/version-check.d.ts +0 -6
- package/dist/lib/version-check.js +0 -46
- package/dist/lib/version-check.js.map +0 -1
- package/dist/lib/workos-api.d.ts +0 -30
- package/dist/lib/workos-api.js +0 -69
- package/dist/lib/workos-api.js.map +0 -1
- package/dist/lib/workos-client.d.ts +0 -58
- package/dist/lib/workos-client.js +0 -140
- package/dist/lib/workos-client.js.map +0 -1
- package/dist/lib/workos-management.d.ts +0 -32
- package/dist/lib/workos-management.js +0 -149
- package/dist/lib/workos-management.js.map +0 -1
- package/dist/nextjs/nextjs-installer-agent.d.ts +0 -5
- package/dist/nextjs/nextjs-installer-agent.js +0 -6
- package/dist/nextjs/nextjs-installer-agent.js.map +0 -1
- package/dist/nextjs/utils.d.ts +0 -4
- package/dist/nextjs/utils.js +0 -5
- package/dist/nextjs/utils.js.map +0 -1
- package/dist/react/react-installer-agent.d.ts +0 -4
- package/dist/react/react-installer-agent.js +0 -5
- package/dist/react/react-installer-agent.js.map +0 -1
- package/dist/react-router/react-router-installer-agent.d.ts +0 -4
- package/dist/react-router/react-router-installer-agent.js +0 -5
- package/dist/react-router/react-router-installer-agent.js.map +0 -1
- package/dist/react-router/utils.d.ts +0 -4
- package/dist/react-router/utils.js +0 -5
- package/dist/react-router/utils.js.map +0 -1
- package/dist/run.d.ts +0 -33
- package/dist/run.js +0 -58
- package/dist/run.js.map +0 -1
- package/dist/smoke-test.ts +0 -881
- package/dist/steps/add-or-update-environment-variables.d.ts +0 -10
- package/dist/steps/add-or-update-environment-variables.js +0 -155
- package/dist/steps/add-or-update-environment-variables.js.map +0 -1
- package/dist/steps/index.d.ts +0 -3
- package/dist/steps/index.js +0 -4
- package/dist/steps/index.js.map +0 -1
- package/dist/steps/run-prettier.d.ts +0 -5
- package/dist/steps/run-prettier.js +0 -50
- package/dist/steps/run-prettier.js.map +0 -1
- package/dist/steps/upload-environment-variables/EnvironmentProvider.d.ts +0 -8
- package/dist/steps/upload-environment-variables/EnvironmentProvider.js +0 -7
- package/dist/steps/upload-environment-variables/EnvironmentProvider.js.map +0 -1
- package/dist/steps/upload-environment-variables/index.d.ts +0 -6
- package/dist/steps/upload-environment-variables/index.js +0 -69
- package/dist/steps/upload-environment-variables/index.js.map +0 -1
- package/dist/steps/upload-environment-variables/providers/vercel.d.ts +0 -14
- package/dist/steps/upload-environment-variables/providers/vercel.js +0 -107
- package/dist/steps/upload-environment-variables/providers/vercel.js.map +0 -1
- package/dist/tanstack-start/tanstack-start-installer-agent.d.ts +0 -4
- package/dist/tanstack-start/tanstack-start-installer-agent.js +0 -5
- package/dist/tanstack-start/tanstack-start-installer-agent.js.map +0 -1
- package/dist/telemetry.d.ts +0 -2
- package/dist/telemetry.js +0 -29
- package/dist/telemetry.js.map +0 -1
- package/dist/test/force-insecure-storage.d.ts +0 -1
- package/dist/test/force-insecure-storage.js +0 -9
- package/dist/test/force-insecure-storage.js.map +0 -1
- package/dist/test/setup.d.ts +0 -1
- package/dist/test/setup.js +0 -38
- package/dist/test/setup.js.map +0 -1
- package/dist/utils/analytics.d.ts +0 -66
- package/dist/utils/analytics.js +0 -330
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/bash.d.ts +0 -2
- package/dist/utils/bash.js +0 -17
- package/dist/utils/bash.js.map +0 -1
- package/dist/utils/box.d.ts +0 -9
- package/dist/utils/box.js +0 -15
- package/dist/utils/box.js.map +0 -1
- package/dist/utils/cli-exit.d.ts +0 -15
- package/dist/utils/cli-exit.js +0 -11
- package/dist/utils/cli-exit.js.map +0 -1
- package/dist/utils/cli-symbols.d.ts +0 -44
- package/dist/utils/cli-symbols.js +0 -58
- package/dist/utils/cli-symbols.js.map +0 -1
- package/dist/utils/command-invocation.d.ts +0 -10
- package/dist/utils/command-invocation.js +0 -26
- package/dist/utils/command-invocation.js.map +0 -1
- package/dist/utils/command-telemetry.d.ts +0 -17
- package/dist/utils/command-telemetry.js +0 -67
- package/dist/utils/command-telemetry.js.map +0 -1
- package/dist/utils/crash-reporter.d.ts +0 -13
- package/dist/utils/crash-reporter.js +0 -91
- package/dist/utils/crash-reporter.js.map +0 -1
- package/dist/utils/debug.d.ts +0 -9
- package/dist/utils/debug.js +0 -105
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/env-parser.d.ts +0 -5
- package/dist/utils/env-parser.js +0 -18
- package/dist/utils/env-parser.js.map +0 -1
- package/dist/utils/environment.d.ts +0 -10
- package/dist/utils/environment.js +0 -69
- package/dist/utils/environment.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -3
- package/dist/utils/errors.js +0 -7
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/exec-file.d.ts +0 -15
- package/dist/utils/exec-file.js +0 -39
- package/dist/utils/exec-file.js.map +0 -1
- package/dist/utils/exit-codes.d.ts +0 -31
- package/dist/utils/exit-codes.js +0 -69
- package/dist/utils/exit-codes.js.map +0 -1
- package/dist/utils/git-utils.d.ts +0 -23
- package/dist/utils/git-utils.js +0 -86
- package/dist/utils/git-utils.js.map +0 -1
- package/dist/utils/help-json.d.ts +0 -58
- package/dist/utils/help-json.js +0 -1577
- package/dist/utils/help-json.js.map +0 -1
- package/dist/utils/interaction-mode.d.ts +0 -25
- package/dist/utils/interaction-mode.js +0 -99
- package/dist/utils/interaction-mode.js.map +0 -1
- package/dist/utils/lock-art.d.ts +0 -4
- package/dist/utils/lock-art.js +0 -73
- package/dist/utils/lock-art.js.map +0 -1
- package/dist/utils/logging.d.ts +0 -9
- package/dist/utils/logging.js +0 -36
- package/dist/utils/logging.js.map +0 -1
- package/dist/utils/ndjson.d.ts +0 -16
- package/dist/utils/ndjson.js +0 -18
- package/dist/utils/ndjson.js.map +0 -1
- package/dist/utils/output.d.ts +0 -60
- package/dist/utils/output.js +0 -124
- package/dist/utils/output.js.map +0 -1
- package/dist/utils/package-json.d.ts +0 -26
- package/dist/utils/package-json.js +0 -32
- package/dist/utils/package-json.js.map +0 -1
- package/dist/utils/package-manager.d.ts +0 -21
- package/dist/utils/package-manager.js +0 -166
- package/dist/utils/package-manager.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -5
- package/dist/utils/paths.js +0 -18
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/platform.d.ts +0 -8
- package/dist/utils/platform.js +0 -7
- package/dist/utils/platform.js.map +0 -1
- package/dist/utils/recovery-hints.d.ts +0 -42
- package/dist/utils/recovery-hints.js +0 -92
- package/dist/utils/recovery-hints.js.map +0 -1
- package/dist/utils/redact.d.ts +0 -5
- package/dist/utils/redact.js +0 -29
- package/dist/utils/redact.js.map +0 -1
- package/dist/utils/register-subcommand.d.ts +0 -10
- package/dist/utils/register-subcommand.js +0 -33
- package/dist/utils/register-subcommand.js.map +0 -1
- package/dist/utils/semver.d.ts +0 -10
- package/dist/utils/semver.js +0 -43
- package/dist/utils/semver.js.map +0 -1
- package/dist/utils/string.d.ts +0 -1
- package/dist/utils/string.js +0 -6
- package/dist/utils/string.js.map +0 -1
- package/dist/utils/summary-box.d.ts +0 -25
- package/dist/utils/summary-box.js +0 -211
- package/dist/utils/summary-box.js.map +0 -1
- package/dist/utils/table.d.ts +0 -5
- package/dist/utils/table.js +0 -18
- package/dist/utils/table.js.map +0 -1
- package/dist/utils/telemetry-client.d.ts +0 -43
- package/dist/utils/telemetry-client.js +0 -171
- package/dist/utils/telemetry-client.js.map +0 -1
- package/dist/utils/telemetry-store-forward.d.ts +0 -11
- package/dist/utils/telemetry-store-forward.js +0 -94
- package/dist/utils/telemetry-store-forward.js.map +0 -1
- package/dist/utils/telemetry-types.d.ts +0 -100
- package/dist/utils/telemetry-types.js +0 -6
- package/dist/utils/telemetry-types.js.map +0 -1
- package/dist/utils/types.d.ts +0 -123
- package/dist/utils/types.js +0 -2
- package/dist/utils/types.js.map +0 -1
- package/dist/utils/ui-utils.d.ts +0 -97
- package/dist/utils/ui-utils.js +0 -449
- package/dist/utils/ui-utils.js.map +0 -1
- package/dist/utils/ui.d.ts +0 -148
- package/dist/utils/ui.js +0 -368
- package/dist/utils/ui.js.map +0 -1
- package/dist/utils/urls.d.ts +0 -13
- package/dist/utils/urls.js +0 -14
- package/dist/utils/urls.js.map +0 -1
- package/dist/utils/vendor/is-unicorn-supported.d.ts +0 -1
- package/dist/utils/vendor/is-unicorn-supported.js +0 -21
- package/dist/utils/vendor/is-unicorn-supported.js.map +0 -1
- package/dist/vanilla-js/vanilla-js-installer-agent.d.ts +0 -4
- package/dist/vanilla-js/vanilla-js-installer-agent.js +0 -5
- package/dist/vanilla-js/vanilla-js-installer-agent.js.map +0 -1
package/dist/commands/env.js
DELETED
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import ui from '../utils/ui.js';
|
|
3
|
-
import { getConfig, saveConfig, isUnclaimedEnvironment, freshEnvKey } from '../lib/config-store.js';
|
|
4
|
-
import { outputSuccess, outputJson, exitWithError, isJsonMode } from '../utils/output.js';
|
|
5
|
-
import { isAgentMode, isCiMode, isPromptAllowed } from '../utils/interaction-mode.js';
|
|
6
|
-
import { missingArgsRecovery } from '../utils/recovery-hints.js';
|
|
7
|
-
import { formatWorkOSCommand } from '../utils/command-invocation.js';
|
|
8
|
-
import { ExitCode, exitWithCode } from '../utils/exit-codes.js';
|
|
9
|
-
import { provisionUnclaimedEnvironment, UnclaimedEnvApiError, } from '../lib/unclaimed-env-api.js';
|
|
10
|
-
const ENV_NAME_REGEX = /^[a-z0-9\-_]+$/;
|
|
11
|
-
function validateEnvName(name) {
|
|
12
|
-
if (!name || !ENV_NAME_REGEX.test(name)) {
|
|
13
|
-
return 'Name must contain only lowercase letters, numbers, hyphens, and underscores';
|
|
14
|
-
}
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
function getOrCreateConfig() {
|
|
18
|
-
return getConfig() ?? { environments: {} };
|
|
19
|
-
}
|
|
20
|
-
export async function runEnvAdd(options) {
|
|
21
|
-
let { name, apiKey, endpoint } = options;
|
|
22
|
-
const { clientId } = options;
|
|
23
|
-
if (name && apiKey) {
|
|
24
|
-
// Non-interactive mode
|
|
25
|
-
const nameError = validateEnvName(name);
|
|
26
|
-
if (nameError) {
|
|
27
|
-
exitWithError({ code: 'invalid_args', message: nameError });
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else if (!isPromptAllowed()) {
|
|
31
|
-
exitWithError({
|
|
32
|
-
code: 'missing_args',
|
|
33
|
-
message: isAgentMode()
|
|
34
|
-
? `Name and API key required in agent mode. Example: ${formatWorkOSCommand('env add staging sk_test_xxx --client-id client_xxx')}`
|
|
35
|
-
: isCiMode()
|
|
36
|
-
? 'Name and API key required in CI mode.'
|
|
37
|
-
: 'Name and API key required when prompting is unavailable.',
|
|
38
|
-
recovery: missingArgsRecovery(undefined, 'Provide environment name and API key as positional arguments.'),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// Interactive mode
|
|
43
|
-
const nameResult = await ui.text({
|
|
44
|
-
message: 'Enter a name for the environment (e.g., production, sandbox, local)',
|
|
45
|
-
validate: (value) => validateEnvName(value),
|
|
46
|
-
});
|
|
47
|
-
if (ui.isCancel(nameResult))
|
|
48
|
-
exitWithCode(ExitCode.CANCELLED);
|
|
49
|
-
name = nameResult;
|
|
50
|
-
const typeResult = await ui.select({
|
|
51
|
-
message: 'Select the environment type',
|
|
52
|
-
options: [
|
|
53
|
-
{ value: 'production', label: 'Production' },
|
|
54
|
-
{ value: 'sandbox', label: 'Sandbox' },
|
|
55
|
-
],
|
|
56
|
-
});
|
|
57
|
-
if (ui.isCancel(typeResult))
|
|
58
|
-
exitWithCode(ExitCode.CANCELLED);
|
|
59
|
-
const apiKeyResult = await ui.password({
|
|
60
|
-
message: 'Enter the API key for this environment',
|
|
61
|
-
validate: (value) => {
|
|
62
|
-
if (!value)
|
|
63
|
-
return 'API key is required';
|
|
64
|
-
return undefined;
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
if (ui.isCancel(apiKeyResult))
|
|
68
|
-
exitWithCode(ExitCode.CANCELLED);
|
|
69
|
-
apiKey = apiKeyResult;
|
|
70
|
-
const config = getOrCreateConfig();
|
|
71
|
-
const isFirst = Object.keys(config.environments).length === 0;
|
|
72
|
-
config.environments[name] = {
|
|
73
|
-
name,
|
|
74
|
-
type: typeResult,
|
|
75
|
-
apiKey,
|
|
76
|
-
...(clientId && { clientId }),
|
|
77
|
-
...(endpoint && { endpoint }),
|
|
78
|
-
};
|
|
79
|
-
if (isFirst) {
|
|
80
|
-
config.activeEnvironment = name;
|
|
81
|
-
}
|
|
82
|
-
saveConfig(config);
|
|
83
|
-
ui.log.success(`Environment ${chalk.bold(name)} added`);
|
|
84
|
-
if (isFirst) {
|
|
85
|
-
ui.log.info(`Set as active environment`);
|
|
86
|
-
}
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
// Non-interactive path
|
|
90
|
-
const config = getOrCreateConfig();
|
|
91
|
-
const isFirst = Object.keys(config.environments).length === 0;
|
|
92
|
-
const type = apiKey.startsWith('sk_test_') ? 'sandbox' : 'production';
|
|
93
|
-
config.environments[name] = {
|
|
94
|
-
name: name,
|
|
95
|
-
type,
|
|
96
|
-
apiKey,
|
|
97
|
-
...(clientId && { clientId }),
|
|
98
|
-
...(endpoint && { endpoint }),
|
|
99
|
-
};
|
|
100
|
-
if (isFirst) {
|
|
101
|
-
config.activeEnvironment = name;
|
|
102
|
-
}
|
|
103
|
-
saveConfig(config);
|
|
104
|
-
outputSuccess('Environment added', { name: name, type, active: isFirst });
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* `workos env provision` — provision a fresh unclaimed environment (credentials only).
|
|
108
|
-
*
|
|
109
|
-
* Calls the low-level `provisionUnclaimedEnvironment()` directly (no auth, no
|
|
110
|
-
* code-gen). Credentials are delivered on stdout (JSON is the agent credential
|
|
111
|
-
* channel) and persisted locally as an unclaimed env so a follow-up
|
|
112
|
-
* `env claim` works. NEVER writes to the project directory or any `.env` file,
|
|
113
|
-
* and NEVER falls back to an interactive login on failure.
|
|
114
|
-
*/
|
|
115
|
-
export async function runEnvProvision() {
|
|
116
|
-
let result;
|
|
117
|
-
try {
|
|
118
|
-
result = await provisionUnclaimedEnvironment();
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
if (error instanceof UnclaimedEnvApiError) {
|
|
122
|
-
exitWithError({
|
|
123
|
-
code: error.statusCode === 429 ? 'rate_limited' : 'provision_failed',
|
|
124
|
-
message: error.message,
|
|
125
|
-
...(error.statusCode && { apiContext: { status: error.statusCode } }),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
129
|
-
exitWithError({ code: 'provision_failed', message: `Failed to provision environment: ${message}` });
|
|
130
|
-
}
|
|
131
|
-
// Persist as an unclaimed env (parity with install) — NEVER writes to the project dir.
|
|
132
|
-
// A fresh key ('unclaimed', 'unclaimed-2', …) so a repeated provision never clobbers an
|
|
133
|
-
// earlier env's claim token, which lives only in this config and is unrecoverable.
|
|
134
|
-
const config = getOrCreateConfig();
|
|
135
|
-
const key = freshEnvKey(config, 'unclaimed');
|
|
136
|
-
config.environments[key] = {
|
|
137
|
-
name: key,
|
|
138
|
-
type: 'unclaimed',
|
|
139
|
-
apiKey: result.apiKey,
|
|
140
|
-
clientId: result.clientId,
|
|
141
|
-
claimToken: result.claimToken,
|
|
142
|
-
};
|
|
143
|
-
config.activeEnvironment = key;
|
|
144
|
-
saveConfig(config);
|
|
145
|
-
if (isJsonMode()) {
|
|
146
|
-
outputSuccess('Environment provisioned', {
|
|
147
|
-
name: key,
|
|
148
|
-
type: 'unclaimed',
|
|
149
|
-
active: true,
|
|
150
|
-
apiKey: result.apiKey,
|
|
151
|
-
clientId: result.clientId,
|
|
152
|
-
claimToken: result.claimToken,
|
|
153
|
-
authkitDomain: result.authkitDomain,
|
|
154
|
-
});
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
ui.log.success('Provisioned a new WorkOS environment');
|
|
158
|
-
console.log('');
|
|
159
|
-
console.log(` ${chalk.dim('API key')} ${result.apiKey}`);
|
|
160
|
-
console.log(` ${chalk.dim('Client ID')} ${result.clientId}`);
|
|
161
|
-
console.log(` ${chalk.dim('AuthKit')} ${result.authkitDomain}`);
|
|
162
|
-
console.log('');
|
|
163
|
-
ui.log.info(`Set as active environment (${key}). Run \`${formatWorkOSCommand('env claim')}\` to link it to your account (permanent).`);
|
|
164
|
-
if (key !== 'unclaimed') {
|
|
165
|
-
ui.log.info(`Your earlier unclaimed environment(s) are kept. See \`${formatWorkOSCommand('env list')}\`.`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
export async function runEnvRemove(name) {
|
|
169
|
-
const config = getConfig();
|
|
170
|
-
if (!config || Object.keys(config.environments).length === 0) {
|
|
171
|
-
exitWithError({
|
|
172
|
-
code: 'no_environments',
|
|
173
|
-
message: `No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`,
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
if (!config.environments[name]) {
|
|
177
|
-
const available = Object.keys(config.environments).join(', ');
|
|
178
|
-
exitWithError({ code: 'not_found', message: `Environment "${name}" not found. Available: ${available}` });
|
|
179
|
-
}
|
|
180
|
-
// Capture the claim risk BEFORE deleting — an unclaimed env's claim token lives
|
|
181
|
-
// only in this local config, so removing it permanently loses the ability to claim.
|
|
182
|
-
const wasUnclaimed = isUnclaimedEnvironment(config.environments[name]);
|
|
183
|
-
delete config.environments[name];
|
|
184
|
-
if (!isJsonMode()) {
|
|
185
|
-
ui.log.warn(wasUnclaimed
|
|
186
|
-
? `Removed only the local CLI config for "${name}". This environment was unclaimed — its claim token lived only here, so it can no longer be claimed.`
|
|
187
|
-
: `Removed only the local CLI config for "${name}". The environment still exists in WorkOS.`);
|
|
188
|
-
}
|
|
189
|
-
if (config.activeEnvironment === name) {
|
|
190
|
-
const remaining = Object.keys(config.environments);
|
|
191
|
-
config.activeEnvironment = remaining.length > 0 ? remaining[0] : undefined;
|
|
192
|
-
if (config.activeEnvironment && !isJsonMode()) {
|
|
193
|
-
ui.log.info(`Active environment switched to ${chalk.bold(config.activeEnvironment)}`);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
saveConfig(config);
|
|
197
|
-
outputSuccess('Environment removed', {
|
|
198
|
-
name,
|
|
199
|
-
newActive: config.activeEnvironment ?? null,
|
|
200
|
-
localOnly: true,
|
|
201
|
-
wasUnclaimed,
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
export async function runEnvSwitch(name) {
|
|
205
|
-
const config = getConfig();
|
|
206
|
-
if (!config || Object.keys(config.environments).length === 0) {
|
|
207
|
-
exitWithError({
|
|
208
|
-
code: 'no_environments',
|
|
209
|
-
message: `No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`,
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
if (name) {
|
|
213
|
-
if (!config.environments[name]) {
|
|
214
|
-
const available = Object.keys(config.environments).join(', ');
|
|
215
|
-
exitWithError({ code: 'not_found', message: `Environment "${name}" not found. Available: ${available}` });
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
// Interactive selection (TTY only — non-TTY guard is in bin.ts)
|
|
220
|
-
const options = Object.entries(config.environments).map(([key, env]) => {
|
|
221
|
-
let label = key;
|
|
222
|
-
if (env.type === 'sandbox')
|
|
223
|
-
label += ` [Sandbox]`;
|
|
224
|
-
if (env.endpoint)
|
|
225
|
-
label += ` [${env.endpoint}]`;
|
|
226
|
-
if (key === config.activeEnvironment)
|
|
227
|
-
label += chalk.green(' (active)');
|
|
228
|
-
return { value: key, label };
|
|
229
|
-
});
|
|
230
|
-
const selected = await ui.select({
|
|
231
|
-
message: 'Select an environment',
|
|
232
|
-
options,
|
|
233
|
-
});
|
|
234
|
-
if (ui.isCancel(selected))
|
|
235
|
-
exitWithCode(ExitCode.CANCELLED);
|
|
236
|
-
name = selected;
|
|
237
|
-
}
|
|
238
|
-
config.activeEnvironment = name;
|
|
239
|
-
saveConfig(config);
|
|
240
|
-
const env = config.environments[name];
|
|
241
|
-
const warnings = process.env.WORKOS_API_KEY
|
|
242
|
-
? [
|
|
243
|
-
{
|
|
244
|
-
code: 'env_var_override',
|
|
245
|
-
message: "WORKOS_API_KEY is set in your shell. It will override this environment's stored key unless you pass --api-key.",
|
|
246
|
-
},
|
|
247
|
-
]
|
|
248
|
-
: undefined;
|
|
249
|
-
outputSuccess('Switched environment', { name, type: env.type }, { warnings });
|
|
250
|
-
}
|
|
251
|
-
export async function runEnvList() {
|
|
252
|
-
const config = getConfig();
|
|
253
|
-
if (!config || Object.keys(config.environments).length === 0) {
|
|
254
|
-
if (isJsonMode()) {
|
|
255
|
-
outputJson({ data: [] });
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
ui.log.info(`No environments configured. Run \`${formatWorkOSCommand('env add')}\` to get started.`);
|
|
259
|
-
}
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
const entries = Object.entries(config.environments);
|
|
263
|
-
if (isJsonMode()) {
|
|
264
|
-
const data = entries.map(([key, env]) => ({
|
|
265
|
-
name: key,
|
|
266
|
-
type: env.type,
|
|
267
|
-
active: key === config.activeEnvironment,
|
|
268
|
-
endpoint: env.endpoint ?? null,
|
|
269
|
-
hasApiKey: !!env.apiKey,
|
|
270
|
-
hasClientId: !!env.clientId,
|
|
271
|
-
}));
|
|
272
|
-
outputJson({ data });
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
// Human-mode table
|
|
276
|
-
const hasUnclaimed = entries.some(([, env]) => isUnclaimedEnvironment(env));
|
|
277
|
-
const nameW = Math.max(6, ...entries.map(([k, env]) => k.length + (isUnclaimedEnvironment(env) ? ' (unclaimed)'.length : 0))) + 2;
|
|
278
|
-
const typeW = 12;
|
|
279
|
-
const header = [
|
|
280
|
-
chalk.yellow(' '),
|
|
281
|
-
chalk.yellow('Name'.padEnd(nameW)),
|
|
282
|
-
chalk.yellow('Type'.padEnd(typeW)),
|
|
283
|
-
chalk.yellow('Endpoint'),
|
|
284
|
-
].join(' ');
|
|
285
|
-
const separator = chalk.dim('─'.repeat(header.length));
|
|
286
|
-
console.log(header);
|
|
287
|
-
console.log(separator);
|
|
288
|
-
for (const [key, env] of entries) {
|
|
289
|
-
const isActive = key === config.activeEnvironment;
|
|
290
|
-
const marker = isActive ? chalk.green('▸ ') : ' ';
|
|
291
|
-
const unclaimed = isUnclaimedEnvironment(env);
|
|
292
|
-
const displayName = unclaimed ? `${key} ${chalk.yellow('(unclaimed)')}` : key;
|
|
293
|
-
const name = isActive ? chalk.green(displayName.padEnd(nameW)) : displayName.padEnd(nameW);
|
|
294
|
-
const type = unclaimed ? 'Unclaimed' : env.type === 'sandbox' ? 'Sandbox' : 'Production';
|
|
295
|
-
const endpoint = env.endpoint || chalk.dim('default');
|
|
296
|
-
console.log([marker, name, type.padEnd(typeW), endpoint].join(' '));
|
|
297
|
-
}
|
|
298
|
-
if (hasUnclaimed) {
|
|
299
|
-
console.log('');
|
|
300
|
-
console.log(chalk.dim(` Run \`${formatWorkOSCommand('env claim')}\` to keep this environment.`));
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
//# sourceMappingURL=env.js.map
|
package/dist/commands/env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport ui from '../utils/ui.js';\nimport { getConfig, saveConfig, isUnclaimedEnvironment, freshEnvKey } from '../lib/config-store.js';\nimport type { CliConfig } from '../lib/config-store.js';\nimport { outputSuccess, outputJson, exitWithError, isJsonMode } from '../utils/output.js';\nimport { isAgentMode, isCiMode, isPromptAllowed } from '../utils/interaction-mode.js';\nimport { missingArgsRecovery } from '../utils/recovery-hints.js';\nimport { formatWorkOSCommand } from '../utils/command-invocation.js';\nimport { ExitCode, exitWithCode } from '../utils/exit-codes.js';\nimport {\n provisionUnclaimedEnvironment,\n UnclaimedEnvApiError,\n type UnclaimedEnvProvisionResult,\n} from '../lib/unclaimed-env-api.js';\n\nconst ENV_NAME_REGEX = /^[a-z0-9\\-_]+$/;\n\nfunction validateEnvName(name: string | undefined): string | undefined {\n if (!name || !ENV_NAME_REGEX.test(name)) {\n return 'Name must contain only lowercase letters, numbers, hyphens, and underscores';\n }\n return undefined;\n}\n\nfunction getOrCreateConfig(): CliConfig {\n return getConfig() ?? { environments: {} };\n}\n\nexport async function runEnvAdd(options: {\n name?: string;\n apiKey?: string;\n clientId?: string;\n endpoint?: string;\n}): Promise<void> {\n let { name, apiKey, endpoint } = options;\n const { clientId } = options;\n\n if (name && apiKey) {\n // Non-interactive mode\n const nameError = validateEnvName(name);\n if (nameError) {\n exitWithError({ code: 'invalid_args', message: nameError });\n }\n } else if (!isPromptAllowed()) {\n exitWithError({\n code: 'missing_args',\n message: isAgentMode()\n ? `Name and API key required in agent mode. Example: ${formatWorkOSCommand('env add staging sk_test_xxx --client-id client_xxx')}`\n : isCiMode()\n ? 'Name and API key required in CI mode.'\n : 'Name and API key required when prompting is unavailable.',\n recovery: missingArgsRecovery(undefined, 'Provide environment name and API key as positional arguments.'),\n });\n } else {\n // Interactive mode\n const nameResult = await ui.text({\n message: 'Enter a name for the environment (e.g., production, sandbox, local)',\n validate: (value) => validateEnvName(value),\n });\n if (ui.isCancel(nameResult)) exitWithCode(ExitCode.CANCELLED);\n name = nameResult;\n\n const typeResult = await ui.select({\n message: 'Select the environment type',\n options: [\n { value: 'production', label: 'Production' },\n { value: 'sandbox', label: 'Sandbox' },\n ],\n });\n if (ui.isCancel(typeResult)) exitWithCode(ExitCode.CANCELLED);\n\n const apiKeyResult = await ui.password({\n message: 'Enter the API key for this environment',\n validate: (value) => {\n if (!value) return 'API key is required';\n return undefined;\n },\n });\n if (ui.isCancel(apiKeyResult)) exitWithCode(ExitCode.CANCELLED);\n apiKey = apiKeyResult;\n\n const config = getOrCreateConfig();\n const isFirst = Object.keys(config.environments).length === 0;\n\n config.environments[name] = {\n name,\n type: typeResult as 'production' | 'sandbox',\n apiKey,\n ...(clientId && { clientId }),\n ...(endpoint && { endpoint }),\n };\n\n if (isFirst) {\n config.activeEnvironment = name;\n }\n\n saveConfig(config);\n ui.log.success(`Environment ${chalk.bold(name)} added`);\n if (isFirst) {\n ui.log.info(`Set as active environment`);\n }\n return;\n }\n\n // Non-interactive path\n const config = getOrCreateConfig();\n const isFirst = Object.keys(config.environments).length === 0;\n\n const type: 'production' | 'sandbox' = apiKey.startsWith('sk_test_') ? 'sandbox' : 'production';\n\n config.environments[name!] = {\n name: name!,\n type,\n apiKey,\n ...(clientId && { clientId }),\n ...(endpoint && { endpoint }),\n };\n\n if (isFirst) {\n config.activeEnvironment = name;\n }\n\n saveConfig(config);\n outputSuccess('Environment added', { name: name!, type, active: isFirst });\n}\n\n/**\n * `workos env provision` — provision a fresh unclaimed environment (credentials only).\n *\n * Calls the low-level `provisionUnclaimedEnvironment()` directly (no auth, no\n * code-gen). Credentials are delivered on stdout (JSON is the agent credential\n * channel) and persisted locally as an unclaimed env so a follow-up\n * `env claim` works. NEVER writes to the project directory or any `.env` file,\n * and NEVER falls back to an interactive login on failure.\n */\nexport async function runEnvProvision(): Promise<void> {\n let result: UnclaimedEnvProvisionResult;\n try {\n result = await provisionUnclaimedEnvironment();\n } catch (error) {\n if (error instanceof UnclaimedEnvApiError) {\n exitWithError({\n code: error.statusCode === 429 ? 'rate_limited' : 'provision_failed',\n message: error.message,\n ...(error.statusCode && { apiContext: { status: error.statusCode } }),\n });\n }\n const message = error instanceof Error ? error.message : 'Unknown error';\n exitWithError({ code: 'provision_failed', message: `Failed to provision environment: ${message}` });\n }\n\n // Persist as an unclaimed env (parity with install) — NEVER writes to the project dir.\n // A fresh key ('unclaimed', 'unclaimed-2', …) so a repeated provision never clobbers an\n // earlier env's claim token, which lives only in this config and is unrecoverable.\n const config = getOrCreateConfig();\n const key = freshEnvKey(config, 'unclaimed');\n config.environments[key] = {\n name: key,\n type: 'unclaimed',\n apiKey: result.apiKey,\n clientId: result.clientId,\n claimToken: result.claimToken,\n };\n config.activeEnvironment = key;\n saveConfig(config);\n\n if (isJsonMode()) {\n outputSuccess('Environment provisioned', {\n name: key,\n type: 'unclaimed',\n active: true,\n apiKey: result.apiKey,\n clientId: result.clientId,\n claimToken: result.claimToken,\n authkitDomain: result.authkitDomain,\n });\n return;\n }\n\n ui.log.success('Provisioned a new WorkOS environment');\n console.log('');\n console.log(` ${chalk.dim('API key')} ${result.apiKey}`);\n console.log(` ${chalk.dim('Client ID')} ${result.clientId}`);\n console.log(` ${chalk.dim('AuthKit')} ${result.authkitDomain}`);\n console.log('');\n ui.log.info(\n `Set as active environment (${key}). Run \\`${formatWorkOSCommand('env claim')}\\` to link it to your account (permanent).`,\n );\n if (key !== 'unclaimed') {\n ui.log.info(`Your earlier unclaimed environment(s) are kept. See \\`${formatWorkOSCommand('env list')}\\`.`);\n }\n}\n\nexport async function runEnvRemove(name: string): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n exitWithError({\n code: 'no_environments',\n message: `No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`,\n });\n }\n\n if (!config.environments[name]) {\n const available = Object.keys(config.environments).join(', ');\n exitWithError({ code: 'not_found', message: `Environment \"${name}\" not found. Available: ${available}` });\n }\n\n // Capture the claim risk BEFORE deleting — an unclaimed env's claim token lives\n // only in this local config, so removing it permanently loses the ability to claim.\n const wasUnclaimed = isUnclaimedEnvironment(config.environments[name]);\n\n delete config.environments[name];\n\n if (!isJsonMode()) {\n ui.log.warn(\n wasUnclaimed\n ? `Removed only the local CLI config for \"${name}\". This environment was unclaimed — its claim token lived only here, so it can no longer be claimed.`\n : `Removed only the local CLI config for \"${name}\". The environment still exists in WorkOS.`,\n );\n }\n\n if (config.activeEnvironment === name) {\n const remaining = Object.keys(config.environments);\n config.activeEnvironment = remaining.length > 0 ? remaining[0] : undefined;\n if (config.activeEnvironment && !isJsonMode()) {\n ui.log.info(`Active environment switched to ${chalk.bold(config.activeEnvironment)}`);\n }\n }\n\n saveConfig(config);\n outputSuccess('Environment removed', {\n name,\n newActive: config.activeEnvironment ?? null,\n localOnly: true,\n wasUnclaimed,\n });\n}\n\nexport async function runEnvSwitch(name?: string): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n exitWithError({\n code: 'no_environments',\n message: `No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`,\n });\n }\n\n if (name) {\n if (!config.environments[name]) {\n const available = Object.keys(config.environments).join(', ');\n exitWithError({ code: 'not_found', message: `Environment \"${name}\" not found. Available: ${available}` });\n }\n } else {\n // Interactive selection (TTY only — non-TTY guard is in bin.ts)\n const options = Object.entries(config.environments).map(([key, env]) => {\n let label = key;\n if (env.type === 'sandbox') label += ` [Sandbox]`;\n if (env.endpoint) label += ` [${env.endpoint}]`;\n if (key === config.activeEnvironment) label += chalk.green(' (active)');\n return { value: key, label };\n });\n\n const selected = await ui.select({\n message: 'Select an environment',\n options,\n });\n if (ui.isCancel(selected)) exitWithCode(ExitCode.CANCELLED);\n name = selected as string;\n }\n\n config.activeEnvironment = name;\n saveConfig(config);\n\n const env = config.environments[name];\n const warnings = process.env.WORKOS_API_KEY\n ? [\n {\n code: 'env_var_override',\n message:\n \"WORKOS_API_KEY is set in your shell. It will override this environment's stored key unless you pass --api-key.\",\n },\n ]\n : undefined;\n outputSuccess('Switched environment', { name, type: env.type }, { warnings });\n}\n\nexport async function runEnvList(): Promise<void> {\n const config = getConfig();\n if (!config || Object.keys(config.environments).length === 0) {\n if (isJsonMode()) {\n outputJson({ data: [] });\n } else {\n ui.log.info(`No environments configured. Run \\`${formatWorkOSCommand('env add')}\\` to get started.`);\n }\n return;\n }\n\n const entries = Object.entries(config.environments);\n\n if (isJsonMode()) {\n const data = entries.map(([key, env]) => ({\n name: key,\n type: env.type,\n active: key === config.activeEnvironment,\n endpoint: env.endpoint ?? null,\n hasApiKey: !!env.apiKey,\n hasClientId: !!env.clientId,\n }));\n outputJson({ data });\n return;\n }\n\n // Human-mode table\n const hasUnclaimed = entries.some(([, env]) => isUnclaimedEnvironment(env));\n const nameW =\n Math.max(6, ...entries.map(([k, env]) => k.length + (isUnclaimedEnvironment(env) ? ' (unclaimed)'.length : 0))) + 2;\n const typeW = 12;\n\n const header = [\n chalk.yellow(' '),\n chalk.yellow('Name'.padEnd(nameW)),\n chalk.yellow('Type'.padEnd(typeW)),\n chalk.yellow('Endpoint'),\n ].join(' ');\n\n const separator = chalk.dim('─'.repeat(header.length));\n\n console.log(header);\n console.log(separator);\n\n for (const [key, env] of entries) {\n const isActive = key === config.activeEnvironment;\n const marker = isActive ? chalk.green('▸ ') : ' ';\n const unclaimed = isUnclaimedEnvironment(env);\n const displayName = unclaimed ? `${key} ${chalk.yellow('(unclaimed)')}` : key;\n const name = isActive ? chalk.green(displayName.padEnd(nameW)) : displayName.padEnd(nameW);\n const type = unclaimed ? 'Unclaimed' : env.type === 'sandbox' ? 'Sandbox' : 'Production';\n const endpoint = env.endpoint || chalk.dim('default');\n\n console.log([marker, name, type.padEnd(typeW), endpoint].join(' '));\n }\n\n if (hasUnclaimed) {\n console.log('');\n console.log(chalk.dim(` Run \\`${formatWorkOSCommand('env claim')}\\` to keep this environment.`));\n }\n}\n"]}
|
package/dist/commands/event.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export interface EventListOptions {
|
|
2
|
-
events: string[];
|
|
3
|
-
after?: string;
|
|
4
|
-
organizationId?: string;
|
|
5
|
-
rangeStart?: string;
|
|
6
|
-
rangeEnd?: string;
|
|
7
|
-
limit?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare function runEventList(options: EventListOptions, apiKey: string, baseUrl?: string): Promise<void>;
|
package/dist/commands/event.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { createWorkOSClient } from '../lib/workos-client.js';
|
|
3
|
-
import { formatTable } from '../utils/table.js';
|
|
4
|
-
import { outputJson, isJsonMode } from '../utils/output.js';
|
|
5
|
-
import { createApiErrorHandler } from '../lib/api-error-handler.js';
|
|
6
|
-
const handleApiError = createApiErrorHandler('Event');
|
|
7
|
-
export async function runEventList(options, apiKey, baseUrl) {
|
|
8
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
9
|
-
try {
|
|
10
|
-
const result = await client.sdk.events.listEvents({
|
|
11
|
-
events: options.events,
|
|
12
|
-
...(options.after && { after: options.after }),
|
|
13
|
-
...(options.organizationId && { organizationId: options.organizationId }),
|
|
14
|
-
...(options.rangeStart && { rangeStart: options.rangeStart }),
|
|
15
|
-
...(options.rangeEnd && { rangeEnd: options.rangeEnd }),
|
|
16
|
-
...(options.limit && { limit: options.limit }),
|
|
17
|
-
});
|
|
18
|
-
if (isJsonMode()) {
|
|
19
|
-
outputJson({ data: result.data, listMetadata: result.listMetadata });
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (result.data.length === 0) {
|
|
23
|
-
console.log('No events found.');
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const rows = result.data.map((event) => [event.id, event.event, event.createdAt]);
|
|
27
|
-
console.log(formatTable([{ header: 'ID' }, { header: 'Event Type' }, { header: 'Created At' }], rows));
|
|
28
|
-
const { before, after } = result.listMetadata;
|
|
29
|
-
if (before && after) {
|
|
30
|
-
console.log(chalk.dim(`Before: ${before} After: ${after}`));
|
|
31
|
-
}
|
|
32
|
-
else if (before) {
|
|
33
|
-
console.log(chalk.dim(`Before: ${before}`));
|
|
34
|
-
}
|
|
35
|
-
else if (after) {
|
|
36
|
-
console.log(chalk.dim(`After: ${after}`));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
handleApiError(error);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=event.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/commands/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAWtD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAyB,EAAE,MAAc,EAAE,OAAgB;IAC5F,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;YAChD,MAAM,EAAE,OAAO,CAAC,MAAqB;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAElF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAEvG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9C,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC","sourcesContent":["import chalk from 'chalk';\nimport type { EventName } from '@workos-inc/node';\nimport { createWorkOSClient } from '../lib/workos-client.js';\nimport { formatTable } from '../utils/table.js';\nimport { outputJson, isJsonMode } from '../utils/output.js';\nimport { createApiErrorHandler } from '../lib/api-error-handler.js';\n\nconst handleApiError = createApiErrorHandler('Event');\n\nexport interface EventListOptions {\n events: string[];\n after?: string;\n organizationId?: string;\n rangeStart?: string;\n rangeEnd?: string;\n limit?: number;\n}\n\nexport async function runEventList(options: EventListOptions, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.events.listEvents({\n events: options.events as EventName[],\n ...(options.after && { after: options.after }),\n ...(options.organizationId && { organizationId: options.organizationId }),\n ...(options.rangeStart && { rangeStart: options.rangeStart }),\n ...(options.rangeEnd && { rangeEnd: options.rangeEnd }),\n ...(options.limit && { limit: options.limit }),\n });\n\n if (isJsonMode()) {\n outputJson({ data: result.data, listMetadata: result.listMetadata });\n return;\n }\n\n if (result.data.length === 0) {\n console.log('No events found.');\n return;\n }\n\n const rows = result.data.map((event) => [event.id, event.event, event.createdAt]);\n\n console.log(formatTable([{ header: 'ID' }, { header: 'Event Type' }, { header: 'Created At' }], rows));\n\n const { before, after } = result.listMetadata;\n if (before && after) {\n console.log(chalk.dim(`Before: ${before} After: ${after}`));\n } else if (before) {\n console.log(chalk.dim(`Before: ${before}`));\n } else if (after) {\n console.log(chalk.dim(`After: ${after}`));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface FeatureFlagListOptions {
|
|
2
|
-
limit?: number;
|
|
3
|
-
before?: string;
|
|
4
|
-
after?: string;
|
|
5
|
-
order?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function runFeatureFlagList(options: FeatureFlagListOptions, apiKey: string, baseUrl?: string): Promise<void>;
|
|
8
|
-
export declare function runFeatureFlagGet(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
|
|
9
|
-
export declare function runFeatureFlagEnable(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
|
|
10
|
-
export declare function runFeatureFlagDisable(slug: string, apiKey: string, baseUrl?: string): Promise<void>;
|
|
11
|
-
export declare function runFeatureFlagAddTarget(slug: string, targetId: string, apiKey: string, baseUrl?: string): Promise<void>;
|
|
12
|
-
export declare function runFeatureFlagRemoveTarget(slug: string, targetId: string, apiKey: string, baseUrl?: string): Promise<void>;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { createWorkOSClient } from '../lib/workos-client.js';
|
|
3
|
-
import { formatTable } from '../utils/table.js';
|
|
4
|
-
import { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';
|
|
5
|
-
import { createApiErrorHandler } from '../lib/api-error-handler.js';
|
|
6
|
-
const handleApiError = createApiErrorHandler('FeatureFlag');
|
|
7
|
-
export async function runFeatureFlagList(options, apiKey, baseUrl) {
|
|
8
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
9
|
-
try {
|
|
10
|
-
const result = await client.sdk.featureFlags.listFeatureFlags({
|
|
11
|
-
limit: options.limit,
|
|
12
|
-
before: options.before,
|
|
13
|
-
after: options.after,
|
|
14
|
-
order: options.order,
|
|
15
|
-
});
|
|
16
|
-
if (isJsonMode()) {
|
|
17
|
-
outputJson({ data: result.data, listMetadata: result.listMetadata });
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (result.data.length === 0) {
|
|
21
|
-
console.log('No feature flags found.');
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const rows = result.data.map((flag) => [
|
|
25
|
-
flag.slug,
|
|
26
|
-
flag.name ?? chalk.dim('-'),
|
|
27
|
-
flag.enabled ? chalk.green('Yes') : chalk.red('No'),
|
|
28
|
-
flag.description ?? chalk.dim('-'),
|
|
29
|
-
]);
|
|
30
|
-
console.log(formatTable([{ header: 'Slug' }, { header: 'Name' }, { header: 'Enabled' }, { header: 'Description' }], rows));
|
|
31
|
-
const { before, after } = result.listMetadata;
|
|
32
|
-
if (before && after) {
|
|
33
|
-
console.log(chalk.dim(`Before: ${before} After: ${after}`));
|
|
34
|
-
}
|
|
35
|
-
else if (before) {
|
|
36
|
-
console.log(chalk.dim(`Before: ${before}`));
|
|
37
|
-
}
|
|
38
|
-
else if (after) {
|
|
39
|
-
console.log(chalk.dim(`After: ${after}`));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
handleApiError(error);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export async function runFeatureFlagGet(slug, apiKey, baseUrl) {
|
|
47
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
48
|
-
try {
|
|
49
|
-
const result = await client.sdk.featureFlags.getFeatureFlag(slug);
|
|
50
|
-
outputJson(result);
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
handleApiError(error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export async function runFeatureFlagEnable(slug, apiKey, baseUrl) {
|
|
57
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
58
|
-
try {
|
|
59
|
-
const result = await client.sdk.featureFlags.enableFeatureFlag(slug);
|
|
60
|
-
outputSuccess('Enabled feature flag', result);
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
handleApiError(error);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export async function runFeatureFlagDisable(slug, apiKey, baseUrl) {
|
|
67
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
68
|
-
try {
|
|
69
|
-
const result = await client.sdk.featureFlags.disableFeatureFlag(slug);
|
|
70
|
-
outputSuccess('Disabled feature flag', result);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
handleApiError(error);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
export async function runFeatureFlagAddTarget(slug, targetId, apiKey, baseUrl) {
|
|
77
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
78
|
-
try {
|
|
79
|
-
await client.sdk.featureFlags.addFlagTarget({ slug, targetId });
|
|
80
|
-
outputSuccess('Added target to feature flag', { slug, targetId });
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
handleApiError(error);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export async function runFeatureFlagRemoveTarget(slug, targetId, apiKey, baseUrl) {
|
|
87
|
-
const client = createWorkOSClient(apiKey, baseUrl);
|
|
88
|
-
try {
|
|
89
|
-
await client.sdk.featureFlags.removeFlagTarget({ slug, targetId });
|
|
90
|
-
outputSuccess('Removed target from feature flag', { slug, targetId });
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
handleApiError(error);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=feature-flag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flag.js","sourceRoot":"","sources":["../../src/commands/feature-flag.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport { createWorkOSClient } from '../lib/workos-client.js';\nimport { formatTable } from '../utils/table.js';\nimport { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';\nimport { createApiErrorHandler } from '../lib/api-error-handler.js';\n\nconst handleApiError = createApiErrorHandler('FeatureFlag');\n\nexport interface FeatureFlagListOptions {\n limit?: number;\n before?: string;\n after?: string;\n order?: string;\n}\n\nexport async function runFeatureFlagList(\n options: FeatureFlagListOptions,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.listFeatureFlags({\n limit: options.limit,\n before: options.before,\n after: options.after,\n order: options.order as 'asc' | 'desc' | undefined,\n });\n\n if (isJsonMode()) {\n outputJson({ data: result.data, listMetadata: result.listMetadata });\n return;\n }\n\n if (result.data.length === 0) {\n console.log('No feature flags found.');\n return;\n }\n\n const rows = result.data.map((flag) => [\n flag.slug,\n flag.name ?? chalk.dim('-'),\n flag.enabled ? chalk.green('Yes') : chalk.red('No'),\n flag.description ?? chalk.dim('-'),\n ]);\n\n console.log(\n formatTable([{ header: 'Slug' }, { header: 'Name' }, { header: 'Enabled' }, { header: 'Description' }], rows),\n );\n\n const { before, after } = result.listMetadata;\n if (before && after) {\n console.log(chalk.dim(`Before: ${before} After: ${after}`));\n } else if (before) {\n console.log(chalk.dim(`Before: ${before}`));\n } else if (after) {\n console.log(chalk.dim(`After: ${after}`));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagGet(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.getFeatureFlag(slug);\n outputJson(result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagEnable(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.enableFeatureFlag(slug);\n outputSuccess('Enabled feature flag', result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagDisable(slug: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.featureFlags.disableFeatureFlag(slug);\n outputSuccess('Disabled feature flag', result);\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagAddTarget(\n slug: string,\n targetId: string,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n await client.sdk.featureFlags.addFlagTarget({ slug, targetId });\n outputSuccess('Added target to feature flag', { slug, targetId });\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runFeatureFlagRemoveTarget(\n slug: string,\n targetId: string,\n apiKey: string,\n baseUrl?: string,\n): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n await client.sdk.featureFlags.removeFlagTarget({ slug, targetId });\n outputSuccess('Removed target from feature flag', { slug, targetId });\n } catch (error) {\n handleApiError(error);\n }\n}\n"]}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
export declare const SKILL_VERSION_MARKER_FILENAME = ".workos-skill-version";
|
|
2
|
-
/**
|
|
3
|
-
* Read the bundled @workos/skills version by walking up from the skills
|
|
4
|
-
* directory to the package.json. The package's `exports` map doesn't expose
|
|
5
|
-
* package.json, so we resolve it by filesystem convention.
|
|
6
|
-
* Returns null if the version can't be determined — callers treat that as
|
|
7
|
-
* "no marker written" rather than failing the install.
|
|
8
|
-
*/
|
|
9
|
-
export declare function getBundledSkillsVersion(skillsDir?: string): Promise<string | null>;
|
|
10
|
-
export interface AgentConfig {
|
|
11
|
-
name: string;
|
|
12
|
-
displayName: string;
|
|
13
|
-
globalSkillsDir: string;
|
|
14
|
-
detect: () => boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function createAgents(home: string): Record<string, AgentConfig>;
|
|
17
|
-
export interface InstallSkillOptions {
|
|
18
|
-
skill?: string[];
|
|
19
|
-
agent?: string[];
|
|
20
|
-
}
|
|
21
|
-
export declare function getSkillsDir(): string;
|
|
22
|
-
export declare function discoverSkills(skillsDir: string): Promise<string[]>;
|
|
23
|
-
export declare function detectAgents(agents: Record<string, AgentConfig>, filter?: string[]): AgentConfig[];
|
|
24
|
-
/**
|
|
25
|
-
* Recursively install a skill directory (SKILL.md + references/ + any other
|
|
26
|
-
* files) with prune-replace semantics. Uses a sibling temp dir + backup-rename
|
|
27
|
-
* pattern so the operation is effectively atomic per skill: the target either
|
|
28
|
-
* matches the source exactly, or (on rollback) is restored to its prior state.
|
|
29
|
-
*
|
|
30
|
-
* Returns `{ success, error }` rather than throwing — callers (autoInstallSkills,
|
|
31
|
-
* runInstallSkill) accumulate failures across the (skill × agent) matrix.
|
|
32
|
-
*/
|
|
33
|
-
export declare function installSkill(skillsDir: string, skillName: string, agent: AgentConfig): Promise<{
|
|
34
|
-
success: boolean;
|
|
35
|
-
error?: string;
|
|
36
|
-
}>;
|
|
37
|
-
export declare function runInstallSkill(options: InstallSkillOptions): Promise<void>;
|
|
38
|
-
export interface AutoInstallResult {
|
|
39
|
-
skills: string[];
|
|
40
|
-
agents: string[];
|
|
41
|
-
version: string | null;
|
|
42
|
-
}
|
|
43
|
-
export interface RefreshOptions {
|
|
44
|
-
/** Pre-detected agents. Default: detect from $HOME. */
|
|
45
|
-
agents?: AgentConfig[];
|
|
46
|
-
/** Skill names to install. Default: all bundled skills. */
|
|
47
|
-
skills?: string[];
|
|
48
|
-
/** Whether to write the version marker after a successful per-agent install. Default: true. */
|
|
49
|
-
writeMarker?: boolean;
|
|
50
|
-
}
|
|
51
|
-
export interface RefreshResult {
|
|
52
|
-
/** Agents where at least one skill installed successfully. */
|
|
53
|
-
agents: AgentConfig[];
|
|
54
|
-
/** Skills that were attempted (the resolved set after filtering). */
|
|
55
|
-
skills: string[];
|
|
56
|
-
/** Bundled skills package version, or null if it couldn't be resolved. */
|
|
57
|
-
version: string | null;
|
|
58
|
-
/** Marker version per agent.name BEFORE refresh (null = no marker / unreadable). */
|
|
59
|
-
perAgentBefore: Record<string, string | null>;
|
|
60
|
-
/** Marker version per agent.name AFTER refresh. */
|
|
61
|
-
perAgentAfter: Record<string, string | null>;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Reusable primitive: discover bundled skills, install each one to each agent,
|
|
65
|
-
* write per-agent version markers, and report before/after marker state.
|
|
66
|
-
*
|
|
67
|
-
* Both `autoInstallSkills` (best-effort hook called from install/login) and
|
|
68
|
-
* `doctor --fix` (Phase 3) call this — there is no duplicate copy logic.
|
|
69
|
-
*
|
|
70
|
-
* Returns null when nothing applied (no agents detected, no skills found, or
|
|
71
|
-
* every install attempt failed).
|
|
72
|
-
*/
|
|
73
|
-
export declare function refreshWorkOSSkills(opts?: RefreshOptions): Promise<RefreshResult | null>;
|
|
74
|
-
/**
|
|
75
|
-
* Install all bundled skills to all detected coding agents.
|
|
76
|
-
* Returns a summary when anything was installed, or null when nothing applied.
|
|
77
|
-
* Performs minimal IO: writes a version marker file alongside installed
|
|
78
|
-
* skills so `workos doctor` can detect staleness later. Errors are swallowed
|
|
79
|
-
* so skill install never disrupts the calling flow.
|
|
80
|
-
*
|
|
81
|
-
* Thin back-compat wrapper around `refreshWorkOSSkills` — the install/auth-login
|
|
82
|
-
* call sites use this; doctor `--fix` (Phase 3) calls `refreshWorkOSSkills`
|
|
83
|
-
* directly to surface the per-agent before/after marker state.
|
|
84
|
-
*/
|
|
85
|
-
export declare function autoInstallSkills(): Promise<AutoInstallResult | null>;
|