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/doctor/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { checkSdk } from './checks/sdk.js';\nimport { checkFramework } from './checks/framework.js';\nimport { checkRuntime } from './checks/runtime.js';\nimport { checkLanguage } from './checks/language.js';\nimport { checkEnvironment } from './checks/environment.js';\nimport { checkConnectivity } from './checks/connectivity.js';\nimport { checkHostExecution } from './checks/host-execution.js';\nimport { checkDashboardSettings, compareRedirectUris } from './checks/dashboard.js';\nimport { checkAuthPatterns } from './checks/auth-patterns.js';\nimport { checkAiAnalysis } from './checks/ai-analysis.js';\nimport { checkSkills } from './checks/skills.js';\nimport { checkMcp } from './checks/mcp.js';\nimport { refreshWorkOSSkills } from '../commands/install-skill.js';\nimport { detectIssues } from './issues.js';\nimport { formatReport } from './output.js';\nimport { formatReportAsJson } from './json-output.js';\nimport { copyToClipboard } from './clipboard.js';\nimport { getInteractionMode } from '../utils/interaction-mode.js';\nimport Chalk from 'chalk';\nimport type { DoctorOptions, DoctorReport, SkillsRefreshResult } from './types.js';\n\nconst DOCTOR_VERSION = '1.0.0';\n\n/**\n * Skills `--fix` is allowed to refresh. Hardcoded — NOT derived from\n * discoverSkills — so future bundled skills require an explicit opt-in here\n * before doctor will write to their target directory. This is the contract's\n * promise that `--fix` only ever touches `workos/` and `workos-widgets/`.\n */\nexport const FIXABLE_SKILLS = ['workos', 'workos-widgets'] as const;\n\n/**\n * Refresh stale WorkOS skills if `--fix` is set and at least one agent is\n * stale or has no marker. Always re-reads `checkSkills()` after a successful\n * refresh so detectIssues sees the post-refresh state and we don't ship a\n * doctor report that simultaneously claims \"fixed\" and \"still stale\".\n *\n * Extracted from runDoctor for unit testability — runDoctor itself depends on\n * eight upstream checks that are expensive to mock.\n */\nexport async function maybeRefreshSkills(\n options: Pick<DoctorOptions, 'fix'>,\n skills: DoctorReport['skills'],\n): Promise<{\n skillsRefresh?: SkillsRefreshResult;\n skills: DoctorReport['skills'];\n}> {\n if (!options.fix || !skills) return { skills };\n\n const stalePresent = skills.agents.some((a) => a.stale || a.installedVersion === null);\n if (!stalePresent) return { skills };\n\n const refresh = await refreshWorkOSSkills({\n // Explicit allowlist — NOT discoverSkills — so the contract's\n // workos/+workos-widgets-only constraint can't drift.\n skills: [...FIXABLE_SKILLS],\n });\n if (!refresh) return { skills };\n\n return {\n skillsRefresh: {\n before: refresh.perAgentBefore,\n after: refresh.perAgentAfter,\n skillsInstalled: refresh.skills,\n },\n skills: (await checkSkills()) ?? undefined,\n };\n}\n\nexport async function runDoctor(options: DoctorOptions): Promise<DoctorReport> {\n const interactionMode = getInteractionMode();\n\n // Environment check first - loads project's .env/.env.local files\n // Must run before connectivity so the resolved base URL is available\n const { info: environment, raw: envRaw } = checkEnvironment(options);\n\n // Run remaining checks concurrently\n const [sdk, framework, runtime, connectivity, language, hostExecution, mcpResult] = await Promise.all([\n checkSdk(options),\n checkFramework(options),\n checkRuntime(options),\n checkConnectivity(options, environment.baseUrl ?? 'https://api.workos.com'),\n checkLanguage(options.installDir),\n checkHostExecution(),\n checkMcp(),\n ]);\n // Normalize the check's null (no agents detected) to undefined for the report.\n const mcp = mcpResult ?? undefined;\n\n let skills = (await checkSkills()) ?? undefined;\n\n // `--fix`: refresh stale WorkOS skills BEFORE earlyIssues + AI analysis so\n // every downstream consumer (issue detection, AI prompt context) sees the\n // post-refresh skill state and doesn't reference a SKILLS_OUTDATED warning\n // that was just resolved.\n const refreshOutcome = await maybeRefreshSkills(options, skills);\n const skillsRefresh = refreshOutcome.skillsRefresh;\n skills = refreshOutcome.skills;\n\n // Dashboard settings + auth patterns + AI analysis (parallel, all need sdk/framework results)\n // AI analysis also receives early issues as context to avoid duplication\n const earlyIssues = detectIssues({\n version: DOCTOR_VERSION,\n timestamp: '',\n interactionMode,\n project: { path: options.installDir, packageManager: runtime.packageManager },\n sdk,\n language,\n runtime,\n framework,\n environment,\n hostExecution,\n connectivity,\n skills,\n mcp,\n });\n\n const [dashboardResult, authPatterns, aiAnalysis] = await Promise.all([\n checkDashboardSettings(options, environment.apiKeyType, envRaw),\n checkAuthPatterns(options, framework, environment, sdk),\n checkAiAnalysis(\n { installDir: options.installDir, language, framework, sdk, environment, existingIssues: earlyIssues },\n { skipAi: options.skipAi },\n ),\n ]);\n\n // Compute expected redirect URI from framework detection if not set in env\n const redirectUriSource: 'env' | 'inferred' = environment.redirectUri ? 'env' : 'inferred';\n const expectedRedirectUri =\n environment.redirectUri ??\n (framework.expectedCallbackPath && framework.detectedPort\n ? `http://localhost:${framework.detectedPort}${framework.expectedCallbackPath}`\n : null);\n\n // Compare redirect URIs if we have dashboard data\n const redirectUris = dashboardResult.settings\n ? compareRedirectUris(expectedRedirectUri, dashboardResult.settings.redirectUris, redirectUriSource)\n : undefined;\n\n // Build partial report\n const partialReport = {\n version: DOCTOR_VERSION,\n timestamp: new Date().toISOString(),\n interactionMode,\n project: {\n path: options.installDir,\n packageManager: runtime.packageManager,\n },\n sdk,\n language,\n runtime,\n framework,\n environment,\n hostExecution,\n connectivity,\n credentialValidation: dashboardResult.credentialValidation,\n dashboardSettings: dashboardResult.settings ?? undefined,\n dashboardError: dashboardResult.settings ? undefined : dashboardResult.error,\n redirectUris,\n authPatterns,\n aiAnalysis,\n skills,\n skillsRefresh,\n mcp,\n };\n\n // Detect issues based on (post-refresh) data.\n const issues = detectIssues(partialReport);\n\n // Calculate summary\n const errors = issues.filter((i) => i.severity === 'error').length;\n const warnings = issues.filter((i) => i.severity === 'warning').length;\n\n const report: DoctorReport = {\n ...partialReport,\n issues,\n summary: {\n errors,\n warnings,\n healthy: errors === 0,\n },\n };\n\n return report;\n}\n\nexport async function outputReport(report: DoctorReport, options: DoctorOptions): Promise<void> {\n if (options.json) {\n const json = formatReportAsJson(report);\n console.log(json);\n\n if (options.copy) {\n const success = await copyToClipboard(json);\n if (success) {\n console.error('(Copied to clipboard)');\n }\n }\n } else {\n formatReport(report, { verbose: options.verbose });\n\n if (options.copy) {\n const json = formatReportAsJson(report);\n const success = await copyToClipboard(json);\n if (success) {\n console.log(Chalk.dim('Report copied to clipboard'));\n }\n }\n }\n}\n\nexport { formatReport } from './output.js';\nexport { formatReportAsJson } from './json-output.js';\nexport type { DoctorReport, DoctorOptions } from './types.js';\n"]}
|
package/dist/doctor/issues.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import type { Issue, DoctorReport } from './types.js';
|
|
2
|
-
export declare const ISSUE_DEFINITIONS: {
|
|
3
|
-
MISSING_API_KEY: {
|
|
4
|
-
severity: "error";
|
|
5
|
-
message: string;
|
|
6
|
-
remediation: string;
|
|
7
|
-
docsUrl: string;
|
|
8
|
-
};
|
|
9
|
-
MISSING_CLIENT_ID: {
|
|
10
|
-
severity: "error";
|
|
11
|
-
message: string;
|
|
12
|
-
remediation: string;
|
|
13
|
-
docsUrl: string;
|
|
14
|
-
};
|
|
15
|
-
SDK_OUTDATED: {
|
|
16
|
-
severity: "warning";
|
|
17
|
-
message: string;
|
|
18
|
-
};
|
|
19
|
-
COOKIE_DOMAIN_NOT_SET: {
|
|
20
|
-
severity: "warning";
|
|
21
|
-
message: string;
|
|
22
|
-
remediation: string;
|
|
23
|
-
docsUrl: string;
|
|
24
|
-
};
|
|
25
|
-
NO_SDK_FOUND: {
|
|
26
|
-
severity: "error";
|
|
27
|
-
message: string;
|
|
28
|
-
remediation: string;
|
|
29
|
-
docsUrl: string;
|
|
30
|
-
};
|
|
31
|
-
API_UNREACHABLE: {
|
|
32
|
-
severity: "warning";
|
|
33
|
-
message: string;
|
|
34
|
-
};
|
|
35
|
-
REDIRECT_URI_MISMATCH: {
|
|
36
|
-
severity: "warning";
|
|
37
|
-
message: string;
|
|
38
|
-
docsUrl: string;
|
|
39
|
-
};
|
|
40
|
-
PROD_API_CALL_BLOCKED: {
|
|
41
|
-
severity: "warning";
|
|
42
|
-
message: string;
|
|
43
|
-
remediation: string;
|
|
44
|
-
};
|
|
45
|
-
INVALID_API_KEY: {
|
|
46
|
-
severity: "error";
|
|
47
|
-
message: string;
|
|
48
|
-
remediation: string;
|
|
49
|
-
docsUrl: string;
|
|
50
|
-
};
|
|
51
|
-
CLIENT_ID_MISMATCH: {
|
|
52
|
-
severity: "error";
|
|
53
|
-
message: string;
|
|
54
|
-
remediation: string;
|
|
55
|
-
docsUrl: string;
|
|
56
|
-
};
|
|
57
|
-
HOST_EXECUTION_UNTRUSTED: {
|
|
58
|
-
severity: "warning";
|
|
59
|
-
message: string;
|
|
60
|
-
remediation: string;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
export declare function detectIssues(report: Omit<DoctorReport, 'issues' | 'summary'>): Issue[];
|
package/dist/doctor/issues.js
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { getInstallHint, languageToSdkLanguage } from './checks/language.js';
|
|
2
|
-
import { formatWorkOSCommand } from '../utils/command-invocation.js';
|
|
3
|
-
export const ISSUE_DEFINITIONS = {
|
|
4
|
-
MISSING_API_KEY: {
|
|
5
|
-
severity: 'error',
|
|
6
|
-
message: 'WORKOS_API_KEY environment variable not set',
|
|
7
|
-
remediation: 'Set WORKOS_API_KEY in your .env.local file',
|
|
8
|
-
docsUrl: 'https://dashboard.workos.com/api-keys',
|
|
9
|
-
},
|
|
10
|
-
MISSING_CLIENT_ID: {
|
|
11
|
-
severity: 'error',
|
|
12
|
-
message: 'WORKOS_CLIENT_ID environment variable not set',
|
|
13
|
-
remediation: 'Set WORKOS_CLIENT_ID in your .env.local file',
|
|
14
|
-
docsUrl: 'https://dashboard.workos.com/configuration',
|
|
15
|
-
},
|
|
16
|
-
SDK_OUTDATED: {
|
|
17
|
-
severity: 'warning',
|
|
18
|
-
message: 'SDK version is outdated',
|
|
19
|
-
// remediation generated dynamically
|
|
20
|
-
},
|
|
21
|
-
COOKIE_DOMAIN_NOT_SET: {
|
|
22
|
-
severity: 'warning',
|
|
23
|
-
message: 'Cookie domain not explicitly set',
|
|
24
|
-
remediation: 'Consider setting WORKOS_COOKIE_DOMAIN for cross-subdomain auth',
|
|
25
|
-
docsUrl: 'https://workos.com/docs/authkit/cookie-domain',
|
|
26
|
-
},
|
|
27
|
-
NO_SDK_FOUND: {
|
|
28
|
-
severity: 'error',
|
|
29
|
-
message: 'No WorkOS SDK found in dependencies',
|
|
30
|
-
remediation: 'Install a WorkOS SDK: npm install @workos-inc/authkit-nextjs',
|
|
31
|
-
docsUrl: 'https://workos.com/docs',
|
|
32
|
-
},
|
|
33
|
-
API_UNREACHABLE: {
|
|
34
|
-
severity: 'warning',
|
|
35
|
-
message: 'Cannot reach WorkOS API',
|
|
36
|
-
// remediation generated dynamically based on error
|
|
37
|
-
},
|
|
38
|
-
REDIRECT_URI_MISMATCH: {
|
|
39
|
-
severity: 'warning',
|
|
40
|
-
message: 'Redirect URI not found in dashboard configuration',
|
|
41
|
-
docsUrl: 'https://workos.com/docs/authkit/redirect-uri',
|
|
42
|
-
},
|
|
43
|
-
PROD_API_CALL_BLOCKED: {
|
|
44
|
-
severity: 'warning',
|
|
45
|
-
message: 'Dashboard settings not fetched (production API key)',
|
|
46
|
-
remediation: 'Use a staging API key to fetch dashboard settings',
|
|
47
|
-
},
|
|
48
|
-
INVALID_API_KEY: {
|
|
49
|
-
severity: 'error',
|
|
50
|
-
message: 'API key is invalid or expired',
|
|
51
|
-
remediation: 'Check your WORKOS_API_KEY in the WorkOS dashboard',
|
|
52
|
-
docsUrl: 'https://dashboard.workos.com/api-keys',
|
|
53
|
-
},
|
|
54
|
-
CLIENT_ID_MISMATCH: {
|
|
55
|
-
severity: 'error',
|
|
56
|
-
message: 'Client ID does not match the API key environment',
|
|
57
|
-
remediation: 'Ensure WORKOS_CLIENT_ID matches the environment for your API key',
|
|
58
|
-
docsUrl: 'https://dashboard.workos.com/configuration',
|
|
59
|
-
},
|
|
60
|
-
HOST_EXECUTION_UNTRUSTED: {
|
|
61
|
-
severity: 'warning',
|
|
62
|
-
message: 'Host-only WorkOS state may be unavailable in this shell',
|
|
63
|
-
remediation: 'Agent/CI host execution is untrusted. Re-run this command on the host shell before trusting auth, config, or API failures.',
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
export function detectIssues(report) {
|
|
67
|
-
const issues = [];
|
|
68
|
-
// SDK issues
|
|
69
|
-
if (!report.sdk.name) {
|
|
70
|
-
const lang = languageToSdkLanguage(report.language.name);
|
|
71
|
-
const hint = getInstallHint(lang);
|
|
72
|
-
issues.push({
|
|
73
|
-
code: 'NO_SDK_FOUND',
|
|
74
|
-
severity: 'error',
|
|
75
|
-
message: 'No WorkOS SDK found in dependencies',
|
|
76
|
-
remediation: `Install a WorkOS SDK: ${hint}`,
|
|
77
|
-
docsUrl: 'https://workos.com/docs',
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
else if (report.sdk.outdated && report.sdk.version && report.sdk.latest) {
|
|
81
|
-
issues.push({
|
|
82
|
-
code: 'SDK_OUTDATED',
|
|
83
|
-
severity: 'warning',
|
|
84
|
-
message: `SDK version outdated (${report.sdk.version} → ${report.sdk.latest})`,
|
|
85
|
-
remediation: `Run: ${getUpdateCommand(report.runtime.packageManager, report.sdk.name)}`,
|
|
86
|
-
details: { installed: report.sdk.version, latest: report.sdk.latest },
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
// Environment issues
|
|
90
|
-
if (!report.environment.apiKeyConfigured) {
|
|
91
|
-
issues.push({ code: 'MISSING_API_KEY', ...ISSUE_DEFINITIONS.MISSING_API_KEY });
|
|
92
|
-
}
|
|
93
|
-
if (!report.environment.clientId) {
|
|
94
|
-
issues.push({ code: 'MISSING_CLIENT_ID', ...ISSUE_DEFINITIONS.MISSING_CLIENT_ID });
|
|
95
|
-
}
|
|
96
|
-
if (report.sdk.isAuthKit && !report.environment.cookieDomain) {
|
|
97
|
-
issues.push({ code: 'COOKIE_DOMAIN_NOT_SET', ...ISSUE_DEFINITIONS.COOKIE_DOMAIN_NOT_SET });
|
|
98
|
-
}
|
|
99
|
-
if (!report.hostExecution.ok) {
|
|
100
|
-
issues.push({
|
|
101
|
-
code: 'HOST_EXECUTION_UNTRUSTED',
|
|
102
|
-
...ISSUE_DEFINITIONS.HOST_EXECUTION_UNTRUSTED,
|
|
103
|
-
details: { failures: report.hostExecution.failures },
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
// Connectivity issues
|
|
107
|
-
if (!report.connectivity.apiReachable && !report.connectivity.error?.includes('Skipped')) {
|
|
108
|
-
issues.push({
|
|
109
|
-
code: 'API_UNREACHABLE',
|
|
110
|
-
severity: 'warning',
|
|
111
|
-
message: `Cannot reach WorkOS API: ${report.connectivity.error}`,
|
|
112
|
-
remediation: 'Check your network connection and firewall settings',
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
// Note: Redirect URI mismatch detection disabled - WorkOS API doesn't expose
|
|
116
|
-
// a public endpoint to list configured redirect URIs for verification
|
|
117
|
-
// Production key warning (no dashboard data)
|
|
118
|
-
if (report.environment.apiKeyType === 'production' && !report.dashboardSettings) {
|
|
119
|
-
issues.push({
|
|
120
|
-
code: 'PROD_API_CALL_BLOCKED',
|
|
121
|
-
...ISSUE_DEFINITIONS.PROD_API_CALL_BLOCKED,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
// Credential validation issues
|
|
125
|
-
if (report.credentialValidation) {
|
|
126
|
-
if (!report.credentialValidation.valid) {
|
|
127
|
-
issues.push({
|
|
128
|
-
code: 'INVALID_API_KEY',
|
|
129
|
-
...ISSUE_DEFINITIONS.INVALID_API_KEY,
|
|
130
|
-
details: { error: report.credentialValidation.error },
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
else if (!report.credentialValidation.clientIdMatch) {
|
|
134
|
-
issues.push({
|
|
135
|
-
code: 'CLIENT_ID_MISMATCH',
|
|
136
|
-
...ISSUE_DEFINITIONS.CLIENT_ID_MISMATCH,
|
|
137
|
-
details: { error: report.credentialValidation.error },
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
// Auth pattern findings — map directly to issues
|
|
142
|
-
if (report.authPatterns) {
|
|
143
|
-
for (const finding of report.authPatterns.findings) {
|
|
144
|
-
issues.push({
|
|
145
|
-
code: finding.code,
|
|
146
|
-
severity: finding.severity,
|
|
147
|
-
message: finding.message,
|
|
148
|
-
remediation: finding.remediation,
|
|
149
|
-
docsUrl: finding.docsUrl,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
// Skill freshness — warn when agent-installed skills trail the bundled version.
|
|
154
|
-
// Surfaced so users know their coding agent is using older WorkOS guidance.
|
|
155
|
-
if (report.skills?.bundledVersion) {
|
|
156
|
-
const stale = report.skills.agents.filter((a) => a.stale);
|
|
157
|
-
if (stale.length > 0) {
|
|
158
|
-
const agentList = stale.map((a) => `${a.agent} (${a.installedVersion ?? 'unknown'})`).join(', ');
|
|
159
|
-
issues.push({
|
|
160
|
-
code: 'SKILLS_OUTDATED',
|
|
161
|
-
severity: 'warning',
|
|
162
|
-
message: `WorkOS skills outdated for ${agentList} — bundled: ${report.skills.bundledVersion}`,
|
|
163
|
-
remediation: `Run: ${formatWorkOSCommand('skills install')}`,
|
|
164
|
-
details: { bundledVersion: report.skills.bundledVersion, stale: stale.map((a) => a.agent) },
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
// MCP server URL drift — warn ONLY when a configured entry points at an
|
|
169
|
-
// unexpected URL. Absent MCP is never an issue: the user may have declined
|
|
170
|
-
// the offer, and doctor reports state without judging.
|
|
171
|
-
if (report.mcp) {
|
|
172
|
-
const misconfigured = report.mcp.agents.filter((a) => a.misconfigured);
|
|
173
|
-
if (misconfigured.length > 0) {
|
|
174
|
-
const agentList = misconfigured.map((a) => a.agent).join(', ');
|
|
175
|
-
issues.push({
|
|
176
|
-
code: 'MCP_MISCONFIGURED',
|
|
177
|
-
severity: 'warning',
|
|
178
|
-
message: `WorkOS MCP server configured with an unexpected URL for ${agentList} — expected ${report.mcp.serverUrl}`,
|
|
179
|
-
remediation: `Run: ${formatWorkOSCommand('mcp install')}`,
|
|
180
|
-
details: { agents: misconfigured.map((a) => a.agent), expectedUrl: report.mcp.serverUrl },
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return issues;
|
|
185
|
-
}
|
|
186
|
-
function getUpdateCommand(packageManager, sdkName) {
|
|
187
|
-
switch (packageManager) {
|
|
188
|
-
case 'pnpm':
|
|
189
|
-
return `pnpm update ${sdkName}`;
|
|
190
|
-
case 'Yarn V1':
|
|
191
|
-
case 'Yarn V2/3/4':
|
|
192
|
-
return `yarn upgrade ${sdkName}`;
|
|
193
|
-
case 'Bun':
|
|
194
|
-
return `bun update ${sdkName}`;
|
|
195
|
-
default:
|
|
196
|
-
return `npm update ${sdkName}`;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=issues.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/doctor/issues.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Issue, DoctorReport } from './types.js';\nimport { getInstallHint, languageToSdkLanguage } from './checks/language.js';\nimport { formatWorkOSCommand } from '../utils/command-invocation.js';\n\nexport const ISSUE_DEFINITIONS = {\n MISSING_API_KEY: {\n severity: 'error' as const,\n message: 'WORKOS_API_KEY environment variable not set',\n remediation: 'Set WORKOS_API_KEY in your .env.local file',\n docsUrl: 'https://dashboard.workos.com/api-keys',\n },\n MISSING_CLIENT_ID: {\n severity: 'error' as const,\n message: 'WORKOS_CLIENT_ID environment variable not set',\n remediation: 'Set WORKOS_CLIENT_ID in your .env.local file',\n docsUrl: 'https://dashboard.workos.com/configuration',\n },\n SDK_OUTDATED: {\n severity: 'warning' as const,\n message: 'SDK version is outdated',\n // remediation generated dynamically\n },\n COOKIE_DOMAIN_NOT_SET: {\n severity: 'warning' as const,\n message: 'Cookie domain not explicitly set',\n remediation: 'Consider setting WORKOS_COOKIE_DOMAIN for cross-subdomain auth',\n docsUrl: 'https://workos.com/docs/authkit/cookie-domain',\n },\n NO_SDK_FOUND: {\n severity: 'error' as const,\n message: 'No WorkOS SDK found in dependencies',\n remediation: 'Install a WorkOS SDK: npm install @workos-inc/authkit-nextjs',\n docsUrl: 'https://workos.com/docs',\n },\n API_UNREACHABLE: {\n severity: 'warning' as const,\n message: 'Cannot reach WorkOS API',\n // remediation generated dynamically based on error\n },\n REDIRECT_URI_MISMATCH: {\n severity: 'warning' as const,\n message: 'Redirect URI not found in dashboard configuration',\n docsUrl: 'https://workos.com/docs/authkit/redirect-uri',\n },\n PROD_API_CALL_BLOCKED: {\n severity: 'warning' as const,\n message: 'Dashboard settings not fetched (production API key)',\n remediation: 'Use a staging API key to fetch dashboard settings',\n },\n INVALID_API_KEY: {\n severity: 'error' as const,\n message: 'API key is invalid or expired',\n remediation: 'Check your WORKOS_API_KEY in the WorkOS dashboard',\n docsUrl: 'https://dashboard.workos.com/api-keys',\n },\n CLIENT_ID_MISMATCH: {\n severity: 'error' as const,\n message: 'Client ID does not match the API key environment',\n remediation: 'Ensure WORKOS_CLIENT_ID matches the environment for your API key',\n docsUrl: 'https://dashboard.workos.com/configuration',\n },\n HOST_EXECUTION_UNTRUSTED: {\n severity: 'warning' as const,\n message: 'Host-only WorkOS state may be unavailable in this shell',\n remediation:\n 'Agent/CI host execution is untrusted. Re-run this command on the host shell before trusting auth, config, or API failures.',\n },\n};\n\nexport function detectIssues(report: Omit<DoctorReport, 'issues' | 'summary'>): Issue[] {\n const issues: Issue[] = [];\n\n // SDK issues\n if (!report.sdk.name) {\n const lang = languageToSdkLanguage(report.language.name);\n const hint = getInstallHint(lang);\n issues.push({\n code: 'NO_SDK_FOUND',\n severity: 'error',\n message: 'No WorkOS SDK found in dependencies',\n remediation: `Install a WorkOS SDK: ${hint}`,\n docsUrl: 'https://workos.com/docs',\n });\n } else if (report.sdk.outdated && report.sdk.version && report.sdk.latest) {\n issues.push({\n code: 'SDK_OUTDATED',\n severity: 'warning',\n message: `SDK version outdated (${report.sdk.version} → ${report.sdk.latest})`,\n remediation: `Run: ${getUpdateCommand(report.runtime.packageManager, report.sdk.name)}`,\n details: { installed: report.sdk.version, latest: report.sdk.latest },\n });\n }\n\n // Environment issues\n if (!report.environment.apiKeyConfigured) {\n issues.push({ code: 'MISSING_API_KEY', ...ISSUE_DEFINITIONS.MISSING_API_KEY });\n }\n\n if (!report.environment.clientId) {\n issues.push({ code: 'MISSING_CLIENT_ID', ...ISSUE_DEFINITIONS.MISSING_CLIENT_ID });\n }\n\n if (report.sdk.isAuthKit && !report.environment.cookieDomain) {\n issues.push({ code: 'COOKIE_DOMAIN_NOT_SET', ...ISSUE_DEFINITIONS.COOKIE_DOMAIN_NOT_SET });\n }\n\n if (!report.hostExecution.ok) {\n issues.push({\n code: 'HOST_EXECUTION_UNTRUSTED',\n ...ISSUE_DEFINITIONS.HOST_EXECUTION_UNTRUSTED,\n details: { failures: report.hostExecution.failures },\n });\n }\n\n // Connectivity issues\n if (!report.connectivity.apiReachable && !report.connectivity.error?.includes('Skipped')) {\n issues.push({\n code: 'API_UNREACHABLE',\n severity: 'warning',\n message: `Cannot reach WorkOS API: ${report.connectivity.error}`,\n remediation: 'Check your network connection and firewall settings',\n });\n }\n\n // Note: Redirect URI mismatch detection disabled - WorkOS API doesn't expose\n // a public endpoint to list configured redirect URIs for verification\n\n // Production key warning (no dashboard data)\n if (report.environment.apiKeyType === 'production' && !report.dashboardSettings) {\n issues.push({\n code: 'PROD_API_CALL_BLOCKED',\n ...ISSUE_DEFINITIONS.PROD_API_CALL_BLOCKED,\n });\n }\n\n // Credential validation issues\n if (report.credentialValidation) {\n if (!report.credentialValidation.valid) {\n issues.push({\n code: 'INVALID_API_KEY',\n ...ISSUE_DEFINITIONS.INVALID_API_KEY,\n details: { error: report.credentialValidation.error },\n });\n } else if (!report.credentialValidation.clientIdMatch) {\n issues.push({\n code: 'CLIENT_ID_MISMATCH',\n ...ISSUE_DEFINITIONS.CLIENT_ID_MISMATCH,\n details: { error: report.credentialValidation.error },\n });\n }\n }\n\n // Auth pattern findings — map directly to issues\n if (report.authPatterns) {\n for (const finding of report.authPatterns.findings) {\n issues.push({\n code: finding.code,\n severity: finding.severity,\n message: finding.message,\n remediation: finding.remediation,\n docsUrl: finding.docsUrl,\n });\n }\n }\n\n // Skill freshness — warn when agent-installed skills trail the bundled version.\n // Surfaced so users know their coding agent is using older WorkOS guidance.\n if (report.skills?.bundledVersion) {\n const stale = report.skills.agents.filter((a) => a.stale);\n if (stale.length > 0) {\n const agentList = stale.map((a) => `${a.agent} (${a.installedVersion ?? 'unknown'})`).join(', ');\n issues.push({\n code: 'SKILLS_OUTDATED',\n severity: 'warning',\n message: `WorkOS skills outdated for ${agentList} — bundled: ${report.skills.bundledVersion}`,\n remediation: `Run: ${formatWorkOSCommand('skills install')}`,\n details: { bundledVersion: report.skills.bundledVersion, stale: stale.map((a) => a.agent) },\n });\n }\n }\n\n // MCP server URL drift — warn ONLY when a configured entry points at an\n // unexpected URL. Absent MCP is never an issue: the user may have declined\n // the offer, and doctor reports state without judging.\n if (report.mcp) {\n const misconfigured = report.mcp.agents.filter((a) => a.misconfigured);\n if (misconfigured.length > 0) {\n const agentList = misconfigured.map((a) => a.agent).join(', ');\n issues.push({\n code: 'MCP_MISCONFIGURED',\n severity: 'warning',\n message: `WorkOS MCP server configured with an unexpected URL for ${agentList} — expected ${report.mcp.serverUrl}`,\n remediation: `Run: ${formatWorkOSCommand('mcp install')}`,\n details: { agents: misconfigured.map((a) => a.agent), expectedUrl: report.mcp.serverUrl },\n });\n }\n }\n\n return issues;\n}\n\nfunction getUpdateCommand(packageManager: string | null, sdkName: string): string {\n switch (packageManager) {\n case 'pnpm':\n return `pnpm update ${sdkName}`;\n case 'Yarn V1':\n case 'Yarn V2/3/4':\n return `yarn upgrade ${sdkName}`;\n case 'Bun':\n return `bun update ${sdkName}`;\n default:\n return `npm update ${sdkName}`;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-output.js","sourceRoot":"","sources":["../../src/doctor/json-output.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import type { DoctorReport } from './types.js';\n\nexport function formatReportAsJson(report: DoctorReport): string {\n return JSON.stringify(report, null, 2);\n}\n"]}
|
package/dist/doctor/output.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { InteractionModeSource } from '../utils/interaction-mode.js';
|
|
2
|
-
import type { DoctorReport } from './types.js';
|
|
3
|
-
export interface FormatOptions {
|
|
4
|
-
verbose?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare function formatReport(report: DoctorReport, options?: FormatOptions): void;
|
|
7
|
-
export declare function formatInteractionModeSource(source: InteractionModeSource): string;
|
package/dist/doctor/output.js
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
import Chalk from 'chalk';
|
|
2
|
-
import { homedir } from 'os';
|
|
3
|
-
import { createAgents } from '../commands/install-skill.js';
|
|
4
|
-
import { renderSummaryBox } from '../utils/summary-box.js';
|
|
5
|
-
import { formatWorkOSCommand } from '../utils/command-invocation.js';
|
|
6
|
-
export function formatReport(report, options) {
|
|
7
|
-
console.log('');
|
|
8
|
-
console.log(Chalk.cyan('WorkOS Doctor'));
|
|
9
|
-
console.log(Chalk.dim('━'.repeat(70)));
|
|
10
|
-
// SDK & Project
|
|
11
|
-
console.log('');
|
|
12
|
-
console.log('SDK & Project Information');
|
|
13
|
-
if (report.sdk.name) {
|
|
14
|
-
console.log(` SDK: ${report.sdk.name}${report.sdk.version ? ` v${report.sdk.version}` : ''}`);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
console.log(` SDK: ${Chalk.red('Not found')}`);
|
|
18
|
-
}
|
|
19
|
-
if (report.language.name !== 'Unknown') {
|
|
20
|
-
console.log(` Language: ${report.language.name}`);
|
|
21
|
-
}
|
|
22
|
-
if (report.language.name === 'JavaScript/TypeScript' || report.language.name === 'Unknown') {
|
|
23
|
-
console.log(` Runtime: Node.js ${report.runtime.nodeVersion}`);
|
|
24
|
-
}
|
|
25
|
-
if (report.framework.name) {
|
|
26
|
-
const variant = report.framework.variant ? ` (${report.framework.variant})` : '';
|
|
27
|
-
console.log(` Framework: ${report.framework.name} ${report.framework.version ?? ''}${variant}`);
|
|
28
|
-
}
|
|
29
|
-
if (report.language.packageManager) {
|
|
30
|
-
console.log(` Package Manager: ${report.language.packageManager}`);
|
|
31
|
-
}
|
|
32
|
-
else if (report.runtime.packageManager) {
|
|
33
|
-
console.log(` Package Manager: ${report.runtime.packageManager} ${report.runtime.packageManagerVersion ?? ''}`);
|
|
34
|
-
}
|
|
35
|
-
// Environment
|
|
36
|
-
console.log('');
|
|
37
|
-
console.log('Environment Configuration');
|
|
38
|
-
const envType = report.environment.apiKeyType
|
|
39
|
-
? report.environment.apiKeyType.charAt(0).toUpperCase() + report.environment.apiKeyType.slice(1)
|
|
40
|
-
: 'Unable to determine';
|
|
41
|
-
console.log(` Environment: ${envType}`);
|
|
42
|
-
console.log(` Client ID: ${report.environment.clientId ?? Chalk.red('Not set')}`);
|
|
43
|
-
console.log(` API Key: ${report.environment.apiKeyConfigured ? Chalk.green('configured') : Chalk.red('not set')}`);
|
|
44
|
-
console.log(` Base URL: ${report.environment.baseUrl} ${Chalk.green('✓')}`);
|
|
45
|
-
// Interaction Mode
|
|
46
|
-
console.log('');
|
|
47
|
-
console.log('Interaction Mode');
|
|
48
|
-
console.log(` Mode: ${report.interactionMode.mode} (${formatInteractionModeSource(report.interactionMode.source)})`);
|
|
49
|
-
// Host Execution
|
|
50
|
-
console.log('');
|
|
51
|
-
console.log('Host Execution');
|
|
52
|
-
if (report.hostExecution.mode === 'interactive') {
|
|
53
|
-
console.log(` Shell: ${Chalk.green('✓')} Interactive host shell`);
|
|
54
|
-
}
|
|
55
|
-
else if (report.hostExecution.ok) {
|
|
56
|
-
console.log(` Shell: ${Chalk.green('✓')} Agent/CI context, host state reachable`);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
console.log(` Shell: ${Chalk.yellow('!')} Agent/CI context, host state may be unavailable`);
|
|
60
|
-
for (const failure of report.hostExecution.failures) {
|
|
61
|
-
const label = failure.label ?? failure.capability;
|
|
62
|
-
const target = failure.target ? ` (${failure.target})` : '';
|
|
63
|
-
console.log(` ${Chalk.yellow('!')} ${label}${target}`);
|
|
64
|
-
if (options?.verbose) {
|
|
65
|
-
console.log(` ${Chalk.dim(failure.detail)}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Connectivity & Credential Validation
|
|
70
|
-
console.log('');
|
|
71
|
-
console.log('Connectivity');
|
|
72
|
-
if (report.connectivity.apiReachable) {
|
|
73
|
-
console.log(` API: ${Chalk.green('✓')} Reachable (${report.connectivity.latencyMs}ms)`);
|
|
74
|
-
}
|
|
75
|
-
else if (report.connectivity.error?.includes('Skipped')) {
|
|
76
|
-
console.log(` API: ${Chalk.dim('Skipped (--skip-api)')}`);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
console.log(` API: ${Chalk.red('✗')} ${report.connectivity.error}`);
|
|
80
|
-
}
|
|
81
|
-
// Credential validation
|
|
82
|
-
if (report.credentialValidation) {
|
|
83
|
-
if (report.credentialValidation.valid && report.credentialValidation.clientIdMatch) {
|
|
84
|
-
console.log(` Credentials: ${Chalk.green('✓')} Valid and matching`);
|
|
85
|
-
}
|
|
86
|
-
else if (!report.credentialValidation.valid) {
|
|
87
|
-
console.log(` Credentials: ${Chalk.red('✗')} ${report.credentialValidation.error ?? 'Invalid'}`);
|
|
88
|
-
}
|
|
89
|
-
else if (!report.credentialValidation.clientIdMatch) {
|
|
90
|
-
console.log(` Credentials: ${Chalk.red('✗')} Client ID mismatch`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// Dashboard Settings (if available)
|
|
94
|
-
if (report.dashboardSettings) {
|
|
95
|
-
console.log('');
|
|
96
|
-
console.log('Dashboard Settings (Staging)');
|
|
97
|
-
console.log(` Auth Methods: ${report.dashboardSettings.authMethods.length > 0 ? report.dashboardSettings.authMethods.join(', ') : 'None configured'}`);
|
|
98
|
-
console.log(` Session Timeout: ${report.dashboardSettings.sessionTimeout ?? 'Default'}`);
|
|
99
|
-
console.log(` MFA: ${formatMfa(report.dashboardSettings.mfa)}`);
|
|
100
|
-
console.log(` Organizations: ${report.dashboardSettings.organizationCount} configured`);
|
|
101
|
-
}
|
|
102
|
-
else if (report.dashboardError) {
|
|
103
|
-
console.log('');
|
|
104
|
-
console.log('Dashboard Settings');
|
|
105
|
-
console.log(` Status: ${Chalk.dim(report.dashboardError)}`);
|
|
106
|
-
}
|
|
107
|
-
// Redirect URI (can't verify against dashboard - no list API)
|
|
108
|
-
if (report.redirectUris?.codeUri) {
|
|
109
|
-
console.log('');
|
|
110
|
-
const source = report.redirectUris.source === 'inferred' ? 'Inferred' : 'Configured';
|
|
111
|
-
console.log(`Redirect URI (${source})`);
|
|
112
|
-
console.log(` ${report.redirectUris.codeUri}`);
|
|
113
|
-
}
|
|
114
|
-
// Auth Patterns
|
|
115
|
-
if (report.authPatterns) {
|
|
116
|
-
console.log('');
|
|
117
|
-
console.log('Auth Patterns');
|
|
118
|
-
if (report.authPatterns.findings.length === 0) {
|
|
119
|
-
console.log(` ${Chalk.green('✓')} ${report.authPatterns.checksRun} checks passed`);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
console.log(` ${report.authPatterns.checksRun} checked, ${Chalk.yellow(`${report.authPatterns.findings.length} finding(s)`)}`);
|
|
123
|
-
for (const finding of report.authPatterns.findings) {
|
|
124
|
-
const icon = finding.severity === 'error' ? Chalk.red('✗') : Chalk.yellow('!');
|
|
125
|
-
console.log(` ${icon} ${finding.message}`);
|
|
126
|
-
if (finding.filePath) {
|
|
127
|
-
console.log(` ${Chalk.dim('File:')} ${finding.filePath}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// AI Analysis
|
|
133
|
-
if (report.aiAnalysis) {
|
|
134
|
-
console.log('');
|
|
135
|
-
if (report.aiAnalysis.skipped) {
|
|
136
|
-
console.log('AI Analysis');
|
|
137
|
-
console.log(` ${Chalk.dim(report.aiAnalysis.skipReason ?? 'Skipped')}`);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
const duration = (report.aiAnalysis.durationMs / 1000).toFixed(1);
|
|
141
|
-
console.log(`AI Analysis ${Chalk.dim(`(${duration}s)`)}`);
|
|
142
|
-
if (report.aiAnalysis.summary) {
|
|
143
|
-
console.log(` ${report.aiAnalysis.summary}`);
|
|
144
|
-
}
|
|
145
|
-
console.log('');
|
|
146
|
-
for (const finding of report.aiAnalysis.findings) {
|
|
147
|
-
const icon = finding.severity === 'error'
|
|
148
|
-
? Chalk.red('✗')
|
|
149
|
-
: finding.severity === 'warning'
|
|
150
|
-
? Chalk.yellow('!')
|
|
151
|
-
: Chalk.dim('ℹ');
|
|
152
|
-
const color = finding.severity === 'error' ? Chalk.red : finding.severity === 'warning' ? Chalk.yellow : Chalk.dim;
|
|
153
|
-
console.log(` ${icon} ${color(finding.title)}`);
|
|
154
|
-
console.log(` ${finding.detail}`);
|
|
155
|
-
if (finding.remediation) {
|
|
156
|
-
console.log(` ${Chalk.dim('→')} ${finding.remediation}`);
|
|
157
|
-
}
|
|
158
|
-
if (finding.filePath) {
|
|
159
|
-
console.log(` ${Chalk.dim('File:')} ${finding.filePath}`);
|
|
160
|
-
}
|
|
161
|
-
console.log('');
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// Skills refresh (--fix path)
|
|
166
|
-
if (report.skillsRefresh) {
|
|
167
|
-
const agents = createAgents(homedir());
|
|
168
|
-
const displayName = (slug) => agents[slug]?.displayName ?? slug;
|
|
169
|
-
const formatVersion = (v) => v ?? '(none)';
|
|
170
|
-
console.log('');
|
|
171
|
-
console.log('Skills');
|
|
172
|
-
const slugs = Object.keys(report.skillsRefresh.before);
|
|
173
|
-
for (const slug of slugs) {
|
|
174
|
-
const before = formatVersion(report.skillsRefresh.before[slug] ?? null);
|
|
175
|
-
const after = formatVersion(report.skillsRefresh.after[slug] ?? null);
|
|
176
|
-
console.log(` ${Chalk.green('✓')} Updated WorkOS skills for ${displayName(slug)}: ${before} → ${after}`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
// MCP Server (per detected coding agent)
|
|
180
|
-
if (report.mcp) {
|
|
181
|
-
console.log('');
|
|
182
|
-
console.log('MCP Server');
|
|
183
|
-
for (const agent of report.mcp.agents) {
|
|
184
|
-
if (agent.misconfigured) {
|
|
185
|
-
console.log(` ${Chalk.yellow('!')} ${agent.agent}: configured with an unexpected URL`);
|
|
186
|
-
}
|
|
187
|
-
else if (agent.installed) {
|
|
188
|
-
console.log(` ${Chalk.green('✓')} ${agent.agent}: installed`);
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
console.log(` ${agent.agent}: ${Chalk.dim('not installed')}`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
// Verbose mode additions
|
|
196
|
-
if (options?.verbose) {
|
|
197
|
-
console.log('');
|
|
198
|
-
console.log(Chalk.dim('Verbose Details'));
|
|
199
|
-
console.log(` ${Chalk.dim('Project path:')} ${report.project.path}`);
|
|
200
|
-
console.log(` ${Chalk.dim('Timestamp:')} ${report.timestamp}`);
|
|
201
|
-
console.log(` ${Chalk.dim('Doctor version:')} ${report.version}`);
|
|
202
|
-
}
|
|
203
|
-
console.log('');
|
|
204
|
-
console.log(Chalk.dim('━'.repeat(70)));
|
|
205
|
-
// Issues
|
|
206
|
-
if (report.issues.length > 0) {
|
|
207
|
-
const errors = report.issues.filter((i) => i.severity === 'error');
|
|
208
|
-
const warnings = report.issues.filter((i) => i.severity === 'warning');
|
|
209
|
-
console.log('');
|
|
210
|
-
if (errors.length > 0) {
|
|
211
|
-
console.log(Chalk.red(`Critical Issues Found (${errors.length} errors)`));
|
|
212
|
-
console.log('');
|
|
213
|
-
for (const issue of errors) {
|
|
214
|
-
formatIssue(issue);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
if (warnings.length > 0) {
|
|
218
|
-
console.log(Chalk.yellow(`Warnings (${warnings.length})`));
|
|
219
|
-
console.log('');
|
|
220
|
-
for (const issue of warnings) {
|
|
221
|
-
formatIssue(issue);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
console.log('');
|
|
226
|
-
// Summary box with lock character
|
|
227
|
-
const expression = report.summary.healthy
|
|
228
|
-
? 'success'
|
|
229
|
-
: report.summary.errors > 0
|
|
230
|
-
? 'error'
|
|
231
|
-
: 'warning';
|
|
232
|
-
const title = report.summary.healthy
|
|
233
|
-
? 'WorkOS Integration Healthy'
|
|
234
|
-
: report.summary.errors > 0
|
|
235
|
-
? `${report.summary.errors} Issue(s) Found`
|
|
236
|
-
: `${report.summary.warnings} Warning(s) to Review`;
|
|
237
|
-
const items = report.issues.map((issue) => ({
|
|
238
|
-
type: issue.severity === 'error' ? 'error' : 'pending',
|
|
239
|
-
text: `${issue.code}: ${issue.message}`,
|
|
240
|
-
}));
|
|
241
|
-
console.log(renderSummaryBox({
|
|
242
|
-
expression,
|
|
243
|
-
title,
|
|
244
|
-
items,
|
|
245
|
-
footer: `${formatWorkOSCommand('doctor --copy')} | https://workos.com/docs`,
|
|
246
|
-
}));
|
|
247
|
-
console.log('');
|
|
248
|
-
}
|
|
249
|
-
export function formatInteractionModeSource(source) {
|
|
250
|
-
switch (source) {
|
|
251
|
-
case 'flag':
|
|
252
|
-
return '--mode';
|
|
253
|
-
case 'env':
|
|
254
|
-
return 'WORKOS_MODE';
|
|
255
|
-
case 'ci_env':
|
|
256
|
-
return 'CI environment';
|
|
257
|
-
case 'agent_env':
|
|
258
|
-
return 'agent environment';
|
|
259
|
-
case 'non_tty':
|
|
260
|
-
return 'non-TTY';
|
|
261
|
-
case 'default':
|
|
262
|
-
return 'default';
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
function formatIssue(issue) {
|
|
266
|
-
const icon = issue.severity === 'error' ? Chalk.red('✗') : Chalk.yellow('!');
|
|
267
|
-
const color = issue.severity === 'error' ? Chalk.red : Chalk.yellow;
|
|
268
|
-
console.log(`${icon} ${color(issue.code)}: ${issue.message}`);
|
|
269
|
-
if (issue.remediation) {
|
|
270
|
-
console.log(` ${Chalk.dim('→')} ${issue.remediation}`);
|
|
271
|
-
}
|
|
272
|
-
if (issue.docsUrl) {
|
|
273
|
-
console.log(` ${Chalk.dim('Docs:')} ${issue.docsUrl}`);
|
|
274
|
-
}
|
|
275
|
-
console.log('');
|
|
276
|
-
}
|
|
277
|
-
function formatMfa(mfa) {
|
|
278
|
-
switch (mfa) {
|
|
279
|
-
case 'required':
|
|
280
|
-
return 'Required';
|
|
281
|
-
case 'optional':
|
|
282
|
-
return 'Optional';
|
|
283
|
-
case 'disabled':
|
|
284
|
-
return 'Disabled';
|
|
285
|
-
default:
|
|
286
|
-
return 'Not configured';
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
//# sourceMappingURL=output.js.map
|