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/utils/redact.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Redact sensitive values from logs
|
|
3
|
-
*/
|
|
4
|
-
export function redactApiKey(apiKey) {
|
|
5
|
-
if (!apiKey || apiKey.length < 12)
|
|
6
|
-
return '[REDACTED]';
|
|
7
|
-
// Show format: sk_test_xxx...xxx (first 8 chars + last 3 chars)
|
|
8
|
-
const prefix = apiKey.substring(0, 8);
|
|
9
|
-
const suffix = apiKey.substring(apiKey.length - 3);
|
|
10
|
-
return `${prefix}...${suffix}`;
|
|
11
|
-
}
|
|
12
|
-
export function redactCredentials(obj) {
|
|
13
|
-
if (typeof obj !== 'object' || obj === null)
|
|
14
|
-
return obj;
|
|
15
|
-
const redacted = Array.isArray(obj) ? [...obj] : { ...obj };
|
|
16
|
-
for (const key in redacted) {
|
|
17
|
-
const value = redacted[key];
|
|
18
|
-
// Redact API keys
|
|
19
|
-
if (typeof value === 'string' && value.startsWith('sk_')) {
|
|
20
|
-
redacted[key] = redactApiKey(value);
|
|
21
|
-
}
|
|
22
|
-
// Recursively redact nested objects
|
|
23
|
-
else if (typeof value === 'object' && value !== null) {
|
|
24
|
-
redacted[key] = redactCredentials(value);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return redacted;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=redact.js.map
|
package/dist/utils/redact.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,YAAY,CAAC;IAEvD,gEAAgE;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,GAAG,MAAM,MAAM,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAExD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE5B,kBAAkB;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,oCAAoC;aAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACrD,QAAQ,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["/**\n * Redact sensitive values from logs\n */\n\nexport function redactApiKey(apiKey: string): string {\n if (!apiKey || apiKey.length < 12) return '[REDACTED]';\n\n // Show format: sk_test_xxx...xxx (first 8 chars + last 3 chars)\n const prefix = apiKey.substring(0, 8);\n const suffix = apiKey.substring(apiKey.length - 3);\n\n return `${prefix}...${suffix}`;\n}\n\nexport function redactCredentials(obj: any): any {\n if (typeof obj !== 'object' || obj === null) return obj;\n\n const redacted = Array.isArray(obj) ? [...obj] : { ...obj };\n\n for (const key in redacted) {\n const value = redacted[key];\n\n // Redact API keys\n if (typeof value === 'string' && value.startsWith('sk_')) {\n redacted[key] = redactApiKey(value);\n }\n // Recursively redact nested objects\n else if (typeof value === 'object' && value !== null) {\n redacted[key] = redactCredentials(value);\n }\n }\n\n return redacted;\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Argv } from 'yargs';
|
|
2
|
-
/**
|
|
3
|
-
* Register a subcommand with auto-enriched description.
|
|
4
|
-
* Replays the builder on a probe yargs instance to discover demandOption fields,
|
|
5
|
-
* then appends required flag names to the description so parent help shows them.
|
|
6
|
-
*
|
|
7
|
-
* Note: enrichment targets the description, not the command string, because yargs
|
|
8
|
-
* interprets `<...>` in command strings as required positional arguments.
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerSubcommand<T>(parentYargs: Argv<T>, usage: string, description: string, builder: (y: Argv) => Argv, handler: (argv: any) => Promise<void>): Argv<T>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import yargs from 'yargs';
|
|
2
|
-
/**
|
|
3
|
-
* Register a subcommand with auto-enriched description.
|
|
4
|
-
* Replays the builder on a probe yargs instance to discover demandOption fields,
|
|
5
|
-
* then appends required flag names to the description so parent help shows them.
|
|
6
|
-
*
|
|
7
|
-
* Note: enrichment targets the description, not the command string, because yargs
|
|
8
|
-
* interprets `<...>` in command strings as required positional arguments.
|
|
9
|
-
*/
|
|
10
|
-
export function registerSubcommand(parentYargs, usage, description, builder, handler) {
|
|
11
|
-
let enrichedDescription = description;
|
|
12
|
-
try {
|
|
13
|
-
const probe = yargs([]);
|
|
14
|
-
builder(probe);
|
|
15
|
-
// getOptions() exists at runtime but is not in yargs' public type definitions
|
|
16
|
-
const opts = probe.getOptions();
|
|
17
|
-
const demanded = Object.keys(opts.demandedOptions || {}).filter((k) => !['help', 'version'].includes(k));
|
|
18
|
-
// Exclude flags that correspond to positionals already visible in the usage string
|
|
19
|
-
const positionalNames = new Set([...usage.matchAll(/<([^>]+?)(?:\.\.\.)?>/g)].map((m) => m[1]));
|
|
20
|
-
const namedOnly = demanded.filter((k) => !positionalNames.has(k));
|
|
21
|
-
// Skip enrichment when the description already mentions every flag
|
|
22
|
-
const newFlags = namedOnly.filter((k) => !description.includes(`--${k}`));
|
|
23
|
-
if (newFlags.length > 0) {
|
|
24
|
-
const flagList = newFlags.map((k) => `--${k}`).join(', ');
|
|
25
|
-
enrichedDescription = `${description} (requires ${flagList})`;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
// Builder threw during probe — fall back to unenriched description
|
|
30
|
-
}
|
|
31
|
-
return parentYargs.command(usage, enrichedDescription, builder, handler);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=register-subcommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-subcommand.js","sourceRoot":"","sources":["../../src/utils/register-subcommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAoB,EACpB,KAAa,EACb,WAAmB,EACnB,OAA0B,EAC1B,OAAqC;IAErC,IAAI,mBAAmB,GAAG,WAAW,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,8EAA8E;QAC9E,MAAM,IAAI,GAAI,KAAmD,CAAC,UAAU,EAAE,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzG,mFAAmF;QACnF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,mBAAmB,GAAG,GAAG,WAAW,cAAc,QAAQ,GAAG,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC","sourcesContent":["import yargs from 'yargs';\nimport type { Argv } from 'yargs';\n\ninterface YargsOptions {\n demandedOptions: Record<string, unknown>;\n}\n\n/**\n * Register a subcommand with auto-enriched description.\n * Replays the builder on a probe yargs instance to discover demandOption fields,\n * then appends required flag names to the description so parent help shows them.\n *\n * Note: enrichment targets the description, not the command string, because yargs\n * interprets `<...>` in command strings as required positional arguments.\n */\nexport function registerSubcommand<T>(\n parentYargs: Argv<T>,\n usage: string,\n description: string,\n builder: (y: Argv) => Argv,\n handler: (argv: any) => Promise<void>,\n): Argv<T> {\n let enrichedDescription = description;\n\n try {\n const probe = yargs([]);\n builder(probe);\n // getOptions() exists at runtime but is not in yargs' public type definitions\n const opts = (probe as unknown as { getOptions(): YargsOptions }).getOptions();\n const demanded = Object.keys(opts.demandedOptions || {}).filter((k) => !['help', 'version'].includes(k));\n\n // Exclude flags that correspond to positionals already visible in the usage string\n const positionalNames = new Set([...usage.matchAll(/<([^>]+?)(?:\\.\\.\\.)?>/g)].map((m) => m[1]));\n const namedOnly = demanded.filter((k) => !positionalNames.has(k));\n\n // Skip enrichment when the description already mentions every flag\n const newFlags = namedOnly.filter((k) => !description.includes(`--${k}`));\n if (newFlags.length > 0) {\n const flagList = newFlags.map((k) => `--${k}`).join(', ');\n enrichedDescription = `${description} (requires ${flagList})`;\n }\n } catch {\n // Builder threw during probe — fall back to unenriched description\n }\n\n return parentYargs.command(usage, enrichedDescription, builder, handler);\n}\n"]}
|
package/dist/utils/semver.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare function fulfillsVersionRange({ version, acceptableVersions, canBeLatest, }: {
|
|
2
|
-
version: string;
|
|
3
|
-
acceptableVersions: string;
|
|
4
|
-
canBeLatest: boolean;
|
|
5
|
-
}): boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Get a version bucket string for analytics.
|
|
8
|
-
* Returns format like "15.x" for versions >= minimumMajor, or "<{minimumMajor}.0.0" otherwise.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getVersionBucket(version: string | undefined, minimumMajor: number): string;
|
package/dist/utils/semver.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { major, minVersion, satisfies, subset, valid, validRange } from 'semver';
|
|
2
|
-
export function fulfillsVersionRange({ version, acceptableVersions, canBeLatest, }) {
|
|
3
|
-
if (version === 'latest') {
|
|
4
|
-
return canBeLatest;
|
|
5
|
-
}
|
|
6
|
-
let cleanedUserVersion, isRange;
|
|
7
|
-
if (valid(version)) {
|
|
8
|
-
cleanedUserVersion = valid(version);
|
|
9
|
-
isRange = false;
|
|
10
|
-
}
|
|
11
|
-
else if (validRange(version)) {
|
|
12
|
-
cleanedUserVersion = validRange(version);
|
|
13
|
-
isRange = true;
|
|
14
|
-
}
|
|
15
|
-
return (
|
|
16
|
-
// If the given version is a bogus format, this will still be undefined and we'll automatically reject it
|
|
17
|
-
!!cleanedUserVersion &&
|
|
18
|
-
(isRange ? subset(cleanedUserVersion, acceptableVersions) : satisfies(cleanedUserVersion, acceptableVersions)));
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get a version bucket string for analytics.
|
|
22
|
-
* Returns format like "15.x" for versions >= minimumMajor, or "<{minimumMajor}.0.0" otherwise.
|
|
23
|
-
*/
|
|
24
|
-
export function getVersionBucket(version, minimumMajor) {
|
|
25
|
-
if (!version) {
|
|
26
|
-
return 'none';
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const minVer = minVersion(version);
|
|
30
|
-
if (!minVer) {
|
|
31
|
-
return 'invalid';
|
|
32
|
-
}
|
|
33
|
-
const majorVersion = major(minVer);
|
|
34
|
-
if (majorVersion >= minimumMajor) {
|
|
35
|
-
return `${majorVersion}.x`;
|
|
36
|
-
}
|
|
37
|
-
return `<${minimumMajor}.0.0`;
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
return 'unknown';
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=semver.js.map
|
package/dist/utils/semver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEjF,MAAM,UAAU,oBAAoB,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,WAAW,GAKZ;IACC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,kBAAkB,EAAE,OAAO,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO;IACL,yGAAyG;IACzG,CAAC,CAAC,kBAAkB;QACpB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAC/G,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B,EAAE,YAAoB;IAChF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACjC,OAAO,GAAG,YAAY,IAAI,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,YAAY,MAAM,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["import { major, minVersion, satisfies, subset, valid, validRange } from 'semver';\n\nexport function fulfillsVersionRange({\n version,\n acceptableVersions,\n canBeLatest,\n}: {\n version: string;\n acceptableVersions: string;\n canBeLatest: boolean;\n}): boolean {\n if (version === 'latest') {\n return canBeLatest;\n }\n\n let cleanedUserVersion, isRange;\n\n if (valid(version)) {\n cleanedUserVersion = valid(version);\n isRange = false;\n } else if (validRange(version)) {\n cleanedUserVersion = validRange(version);\n isRange = true;\n }\n\n return (\n // If the given version is a bogus format, this will still be undefined and we'll automatically reject it\n !!cleanedUserVersion &&\n (isRange ? subset(cleanedUserVersion, acceptableVersions) : satisfies(cleanedUserVersion, acceptableVersions))\n );\n}\n\n/**\n * Get a version bucket string for analytics.\n * Returns format like \"15.x\" for versions >= minimumMajor, or \"<{minimumMajor}.0.0\" otherwise.\n */\nexport function getVersionBucket(version: string | undefined, minimumMajor: number): string {\n if (!version) {\n return 'none';\n }\n\n try {\n const minVer = minVersion(version);\n if (!minVer) {\n return 'invalid';\n }\n const majorVersion = major(minVer);\n if (majorVersion >= minimumMajor) {\n return `${majorVersion}.x`;\n }\n return `<${minimumMajor}.0.0`;\n } catch {\n return 'unknown';\n }\n}\n"]}
|
package/dist/utils/string.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function stripAnsii(str: string): string;
|
package/dist/utils/string.js
DELETED
package/dist/utils/string.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO;IAChB,4CAA4C;IAC5C,6EAA6E,EAC7E,EAAE,CACH,CAAC;AACJ,CAAC","sourcesContent":["export function stripAnsii(str: string): string {\n return str.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n '',\n );\n}\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type LockExpression } from './lock-art.js';
|
|
2
|
-
import type { CompletionData } from '../lib/events.js';
|
|
3
|
-
/** Pre-built completion summaries shared by CLI and Dashboard adapters. */
|
|
4
|
-
export declare function renderCompletionSummary(success: boolean, summary?: string, completion?: CompletionData): string;
|
|
5
|
-
export interface SummaryBoxItem {
|
|
6
|
-
type: 'done' | 'pending' | 'error';
|
|
7
|
-
text: string;
|
|
8
|
-
}
|
|
9
|
-
export interface SummaryBoxOptions {
|
|
10
|
-
expression: LockExpression;
|
|
11
|
-
title: string;
|
|
12
|
-
items?: SummaryBoxItem[];
|
|
13
|
-
footer?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* The install opener: the WorkOS lock (in brand indigo) beside the wordmark.
|
|
17
|
-
* A compact, de-boxed replacement for the full block-letter banner — the same
|
|
18
|
-
* lock that closes the install, so the two ends bookend each other.
|
|
19
|
-
*/
|
|
20
|
-
export declare function renderBrandMark(subtitle?: string): string;
|
|
21
|
-
/**
|
|
22
|
-
* Render a branded summary box with the WorkOS lock character,
|
|
23
|
-
* a title, optional checklist items, and an optional footer.
|
|
24
|
-
*/
|
|
25
|
-
export declare function renderSummaryBox(options: SummaryBoxOptions): string;
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { isUnicodeSupported } from './vendor/is-unicorn-supported.js';
|
|
3
|
-
import { getLockArt, LOCK_WIDTH } from './lock-art.js';
|
|
4
|
-
import { symbols, palette } from './cli-symbols.js';
|
|
5
|
-
/** Max number of changed files listed in the success box before collapsing. */
|
|
6
|
-
const MAX_SUMMARY_FILES = 5;
|
|
7
|
-
/** Pre-built completion summaries shared by CLI and Dashboard adapters. */
|
|
8
|
-
export function renderCompletionSummary(success, summary, completion) {
|
|
9
|
-
if (success) {
|
|
10
|
-
if (completion) {
|
|
11
|
-
const files = completion.files;
|
|
12
|
-
const shown = files.slice(0, MAX_SUMMARY_FILES).map((f) => ({ type: 'done', text: f }));
|
|
13
|
-
if (files.length > MAX_SUMMARY_FILES) {
|
|
14
|
-
shown.push({ type: 'done', text: `…and ${files.length - MAX_SUMMARY_FILES} more` });
|
|
15
|
-
}
|
|
16
|
-
const steps = completion.nextSteps.map((s) => ({ type: 'pending', text: s }));
|
|
17
|
-
return renderFlatSummary({
|
|
18
|
-
expression: 'success',
|
|
19
|
-
title: 'WorkOS AuthKit Installed',
|
|
20
|
-
items: [...shown, ...steps],
|
|
21
|
-
footer: completion.docsUrl,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
// Fallback: preserve the original static next-steps when no structured data is present.
|
|
25
|
-
return renderFlatSummary({
|
|
26
|
-
expression: 'success',
|
|
27
|
-
title: 'WorkOS AuthKit Installed',
|
|
28
|
-
items: [
|
|
29
|
-
{ type: 'pending', text: 'Start dev server to test authentication' },
|
|
30
|
-
{ type: 'pending', text: 'Visit WorkOS Dashboard to manage users' },
|
|
31
|
-
],
|
|
32
|
-
footer: 'https://workos.com/docs/authkit',
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return renderFlatSummary({
|
|
36
|
-
expression: 'error',
|
|
37
|
-
title: 'Installation Failed',
|
|
38
|
-
items: summary ? [{ type: 'error', text: summary }] : [],
|
|
39
|
-
footer: 'https://github.com/workos/cli/issues',
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
const unicode = isUnicodeSupported();
|
|
43
|
-
const BOX = unicode
|
|
44
|
-
? { tl: '┌', tr: '┐', bl: '└', br: '┘', h: '─', v: '│', ml: '├', mr: '┤' }
|
|
45
|
-
: { tl: '+', tr: '+', bl: '+', br: '+', h: '-', v: '|', ml: '+', mr: '+' };
|
|
46
|
-
const ITEM_ICONS = {
|
|
47
|
-
done: chalk.green(symbols.success),
|
|
48
|
-
pending: chalk.cyan(symbols.arrow),
|
|
49
|
-
error: chalk.red(symbols.error),
|
|
50
|
-
};
|
|
51
|
-
// ── Flat (de-boxed) rendering — the install opener + closer ───────────────────
|
|
52
|
-
const { accent, cyan: flatCyan } = palette;
|
|
53
|
-
/** Flat glyphs matching the ui facade (green ✓ / accent › / red ✗). */
|
|
54
|
-
const FLAT_ICONS = {
|
|
55
|
-
done: chalk.green('✓'),
|
|
56
|
-
pending: accent('›'),
|
|
57
|
-
error: chalk.red('✗'),
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* The install opener: the WorkOS lock (in brand indigo) beside the wordmark.
|
|
61
|
-
* A compact, de-boxed replacement for the full block-letter banner — the same
|
|
62
|
-
* lock that closes the install, so the two ends bookend each other.
|
|
63
|
-
*/
|
|
64
|
-
export function renderBrandMark(subtitle) {
|
|
65
|
-
const lock = getLockArt('success', false); // raw lines; recolor to brand indigo
|
|
66
|
-
const titleLine = 2; // "WorkOS" sits beside the top of the lock body
|
|
67
|
-
const subtitleLine = 3;
|
|
68
|
-
return lock
|
|
69
|
-
.map((l, i) => {
|
|
70
|
-
const left = ` ${accent(l)}`;
|
|
71
|
-
if (i === titleLine)
|
|
72
|
-
return `${left} ${accent.bold('WorkOS')}`;
|
|
73
|
-
if (i === subtitleLine && subtitle)
|
|
74
|
-
return `${left} ${chalk.dim(subtitle)}`;
|
|
75
|
-
return left;
|
|
76
|
-
})
|
|
77
|
-
.join('\n');
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* The install closer: the WorkOS lock (colored by outcome) above a flat title,
|
|
81
|
-
* checklist, and footer — no border. Shared by the CLI and Dashboard adapters.
|
|
82
|
-
* The lock is the same mark that opens the install (see renderBrandMark).
|
|
83
|
-
*/
|
|
84
|
-
function renderFlatSummary(options) {
|
|
85
|
-
const { expression, title, items = [], footer } = options;
|
|
86
|
-
const out = getLockArt(expression, true).map((l) => ` ${l}`);
|
|
87
|
-
out.push('', ` ${chalk.bold(title)}`);
|
|
88
|
-
for (const item of items) {
|
|
89
|
-
// File paths (done) read better in cyan; next-step prose stays default weight.
|
|
90
|
-
const text = item.type === 'done' ? flatCyan(item.text) : item.text;
|
|
91
|
-
out.push(` ${FLAT_ICONS[item.type]} ${text}`);
|
|
92
|
-
}
|
|
93
|
-
if (footer)
|
|
94
|
-
out.push('', ` ${chalk.dim(footer)}`);
|
|
95
|
-
return out.join('\n');
|
|
96
|
-
}
|
|
97
|
-
const MIN_WIDTH = 42;
|
|
98
|
-
// Item prefix " X " = 4 visible chars before text
|
|
99
|
-
const ITEM_PREFIX_LEN = 4;
|
|
100
|
-
// Footer prefix " " = 2 visible chars before text
|
|
101
|
-
const FOOTER_PREFIX_LEN = 2;
|
|
102
|
-
function hLine(left, right, width) {
|
|
103
|
-
return `${left}${BOX.h.repeat(width - 2)}${right}`;
|
|
104
|
-
}
|
|
105
|
-
function padRight(text, visibleLen, targetLen) {
|
|
106
|
-
const padding = Math.max(0, targetLen - visibleLen);
|
|
107
|
-
return text + ' '.repeat(padding);
|
|
108
|
-
}
|
|
109
|
-
/** Word-wrap text to fit within maxLen, returning multiple lines. */
|
|
110
|
-
function wrapText(text, maxLen) {
|
|
111
|
-
if (text.length <= maxLen)
|
|
112
|
-
return [text];
|
|
113
|
-
const words = text.split(' ');
|
|
114
|
-
const wrapped = [];
|
|
115
|
-
let current = '';
|
|
116
|
-
for (const word of words) {
|
|
117
|
-
const candidate = current ? `${current} ${word}` : word;
|
|
118
|
-
if (candidate.length > maxLen && current) {
|
|
119
|
-
wrapped.push(current);
|
|
120
|
-
current = word;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
current = candidate;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (current)
|
|
127
|
-
wrapped.push(current);
|
|
128
|
-
return wrapped;
|
|
129
|
-
}
|
|
130
|
-
function getTerminalWidth() {
|
|
131
|
-
return process.stdout.columns || 80;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Render a branded summary box with the WorkOS lock character,
|
|
135
|
-
* a title, optional checklist items, and an optional footer.
|
|
136
|
-
*/
|
|
137
|
-
export function renderSummaryBox(options) {
|
|
138
|
-
const { expression, title, items = [], footer } = options;
|
|
139
|
-
const lockColored = getLockArt(expression, true);
|
|
140
|
-
const lockRaw = getLockArt(expression, false);
|
|
141
|
-
const lockLines = lockColored.length;
|
|
142
|
-
// " " + lock + " " = lock column width
|
|
143
|
-
const lockColWidth = LOCK_WIDTH + 3;
|
|
144
|
-
// Cap box width to terminal width
|
|
145
|
-
const termWidth = getTerminalWidth();
|
|
146
|
-
// innerWidth must fit: lock+title, items, footer — but capped to terminal
|
|
147
|
-
const maxInner = Math.max(MIN_WIDTH - 2, termWidth - 2);
|
|
148
|
-
// Compute ideal inner width from content
|
|
149
|
-
const titleRowWidth = lockColWidth + title.length;
|
|
150
|
-
const itemWidths = items.map((item) => ITEM_PREFIX_LEN + item.text.length);
|
|
151
|
-
const footerWidth = footer ? FOOTER_PREFIX_LEN + footer.length : 0;
|
|
152
|
-
const idealInner = Math.max(titleRowWidth, ...itemWidths, footerWidth) + 1;
|
|
153
|
-
const innerWidth = Math.min(Math.max(MIN_WIDTH - 2, idealInner), maxInner);
|
|
154
|
-
const boxWidth = innerWidth + 2;
|
|
155
|
-
// Available text width for items and footer (after prefix, before right padding + border)
|
|
156
|
-
const itemTextMax = innerWidth - ITEM_PREFIX_LEN - 1;
|
|
157
|
-
const footerTextMax = innerWidth - FOOTER_PREFIX_LEN - 1;
|
|
158
|
-
const lines = [];
|
|
159
|
-
// Top border
|
|
160
|
-
lines.push(hLine(BOX.tl, BOX.tr, boxWidth));
|
|
161
|
-
// Lock + title rows
|
|
162
|
-
const titleLineIndex = 3;
|
|
163
|
-
for (let i = 0; i < lockLines; i++) {
|
|
164
|
-
const lockPart = ` ${lockColored[i]} `;
|
|
165
|
-
const lockPartRaw = ` ${lockRaw[i]} `;
|
|
166
|
-
let rightPart;
|
|
167
|
-
let rightPartLen;
|
|
168
|
-
if (i === titleLineIndex) {
|
|
169
|
-
rightPart = chalk.bold(title);
|
|
170
|
-
rightPartLen = title.length;
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
rightPart = '';
|
|
174
|
-
rightPartLen = 0;
|
|
175
|
-
}
|
|
176
|
-
const row = BOX.v + padRight(lockPart + rightPart, lockPartRaw.length + rightPartLen, innerWidth) + BOX.v;
|
|
177
|
-
lines.push(row);
|
|
178
|
-
}
|
|
179
|
-
// Items
|
|
180
|
-
if (items.length > 0) {
|
|
181
|
-
lines.push(`${BOX.v}${' '.repeat(innerWidth)}${BOX.v}`);
|
|
182
|
-
for (const item of items) {
|
|
183
|
-
const icon = ITEM_ICONS[item.type];
|
|
184
|
-
const wrappedLines = wrapText(item.text, itemTextMax);
|
|
185
|
-
// First line gets the icon
|
|
186
|
-
const first = ` ${icon} ${wrappedLines[0]}`;
|
|
187
|
-
const firstLen = ITEM_PREFIX_LEN + wrappedLines[0].length;
|
|
188
|
-
lines.push(`${BOX.v}${padRight(first, firstLen, innerWidth)}${BOX.v}`);
|
|
189
|
-
// Continuation lines are indented to align with text after icon
|
|
190
|
-
for (let j = 1; j < wrappedLines.length; j++) {
|
|
191
|
-
const cont = ` ${wrappedLines[j]}`;
|
|
192
|
-
const contLen = 4 + wrappedLines[j].length;
|
|
193
|
-
lines.push(`${BOX.v}${padRight(cont, contLen, innerWidth)}${BOX.v}`);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
// Footer
|
|
198
|
-
if (footer) {
|
|
199
|
-
lines.push(hLine(BOX.ml, BOX.mr, boxWidth));
|
|
200
|
-
const wrappedFooter = wrapText(footer, footerTextMax);
|
|
201
|
-
for (const fLine of wrappedFooter) {
|
|
202
|
-
const content = ` ${chalk.dim(fLine)}`;
|
|
203
|
-
const visibleLen = FOOTER_PREFIX_LEN + fLine.length;
|
|
204
|
-
lines.push(`${BOX.v}${padRight(content, visibleLen, innerWidth)}${BOX.v}`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
// Bottom border
|
|
208
|
-
lines.push(hLine(BOX.bl, BOX.br, boxWidth));
|
|
209
|
-
return lines.join('\n');
|
|
210
|
-
}
|
|
211
|
-
//# sourceMappingURL=summary-box.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summary-box.js","sourceRoot":"","sources":["../../src/utils/summary-box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAuB,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGpD,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,OAAgB,EAAE,UAA2B;IACrG,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,MAAM,KAAK,GAAqB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1G,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,CAAC,MAAM,GAAG,iBAAiB,OAAO,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,KAAK,GAAqB,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,OAAO,iBAAiB,CAAC;gBACvB,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;gBAC3B,MAAM,EAAE,UAAU,CAAC,OAAO;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,wFAAwF;QACxF,OAAO,iBAAiB,CAAC;YACvB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,0BAA0B;YACjC,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,yCAAyC,EAAE;gBACpE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wCAAwC,EAAE;aACpE;YACD,MAAM,EAAE,iCAAiC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,iBAAiB,CAAC;QACvB,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACxD,MAAM,EAAE,sCAAsC;KAC/C,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AAErC,MAAM,GAAG,GAAG,OAAO;IACjB,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IAC1E,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAE7E,MAAM,UAAU,GAA2C;IACzD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;CAChC,CAAC;AAEF,iFAAiF;AAEjF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;AAE3C,uEAAuE;AACvE,MAAM,UAAU,GAA2C;IACzD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,qCAAqC;IAChF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,gDAAgD;IACrE,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,YAAY,IAAI,QAAQ;YAAE,OAAO,GAAG,IAAI,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAA0B;IACnD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,GAAG,GAAa,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,+EAA+E;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,mDAAmD;AACnD,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,mDAAmD;AACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,SAAS,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa;IACvD,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,SAAiB;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;IACpD,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,qEAAqE;AACrE,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAc;IAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE1D,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC,wCAAwC;IACxC,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;IAEpC,kCAAkC;IAClC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAExD,yCAAyC;IACzC,MAAM,aAAa,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;IAEhC,0FAA0F;IAC1F,MAAM,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,UAAU,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C,oBAAoB;IACpB,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,SAAiB,CAAC;QACtB,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACzB,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,EAAE,CAAC;YACf,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,EAAE,WAAW,CAAC,MAAM,GAAG,YAAY,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1G,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ;IACR,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAExD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACtD,2BAA2B;YAC3B,MAAM,KAAK,GAAG,KAAK,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,gEAAgE;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS;IACT,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["import chalk from 'chalk';\nimport { isUnicodeSupported } from './vendor/is-unicorn-supported.js';\nimport { type LockExpression, getLockArt, LOCK_WIDTH } from './lock-art.js';\nimport { symbols, palette } from './cli-symbols.js';\nimport type { CompletionData } from '../lib/events.js';\n\n/** Max number of changed files listed in the success box before collapsing. */\nconst MAX_SUMMARY_FILES = 5;\n\n/** Pre-built completion summaries shared by CLI and Dashboard adapters. */\nexport function renderCompletionSummary(success: boolean, summary?: string, completion?: CompletionData): string {\n if (success) {\n if (completion) {\n const files = completion.files;\n const shown: SummaryBoxItem[] = files.slice(0, MAX_SUMMARY_FILES).map((f) => ({ type: 'done', text: f }));\n if (files.length > MAX_SUMMARY_FILES) {\n shown.push({ type: 'done', text: `…and ${files.length - MAX_SUMMARY_FILES} more` });\n }\n const steps: SummaryBoxItem[] = completion.nextSteps.map((s) => ({ type: 'pending', text: s }));\n return renderFlatSummary({\n expression: 'success',\n title: 'WorkOS AuthKit Installed',\n items: [...shown, ...steps],\n footer: completion.docsUrl,\n });\n }\n // Fallback: preserve the original static next-steps when no structured data is present.\n return renderFlatSummary({\n expression: 'success',\n title: 'WorkOS AuthKit Installed',\n items: [\n { type: 'pending', text: 'Start dev server to test authentication' },\n { type: 'pending', text: 'Visit WorkOS Dashboard to manage users' },\n ],\n footer: 'https://workos.com/docs/authkit',\n });\n }\n return renderFlatSummary({\n expression: 'error',\n title: 'Installation Failed',\n items: summary ? [{ type: 'error', text: summary }] : [],\n footer: 'https://github.com/workos/cli/issues',\n });\n}\n\nexport interface SummaryBoxItem {\n type: 'done' | 'pending' | 'error';\n text: string;\n}\n\nexport interface SummaryBoxOptions {\n expression: LockExpression;\n title: string;\n items?: SummaryBoxItem[];\n footer?: string;\n}\n\nconst unicode = isUnicodeSupported();\n\nconst BOX = unicode\n ? { tl: '┌', tr: '┐', bl: '└', br: '┘', h: '─', v: '│', ml: '├', mr: '┤' }\n : { tl: '+', tr: '+', bl: '+', br: '+', h: '-', v: '|', ml: '+', mr: '+' };\n\nconst ITEM_ICONS: Record<SummaryBoxItem['type'], string> = {\n done: chalk.green(symbols.success),\n pending: chalk.cyan(symbols.arrow),\n error: chalk.red(symbols.error),\n};\n\n// ── Flat (de-boxed) rendering — the install opener + closer ───────────────────\n\nconst { accent, cyan: flatCyan } = palette;\n\n/** Flat glyphs matching the ui facade (green ✓ / accent › / red ✗). */\nconst FLAT_ICONS: Record<SummaryBoxItem['type'], string> = {\n done: chalk.green('✓'),\n pending: accent('›'),\n error: chalk.red('✗'),\n};\n\n/**\n * The install opener: the WorkOS lock (in brand indigo) beside the wordmark.\n * A compact, de-boxed replacement for the full block-letter banner — the same\n * lock that closes the install, so the two ends bookend each other.\n */\nexport function renderBrandMark(subtitle?: string): string {\n const lock = getLockArt('success', false); // raw lines; recolor to brand indigo\n const titleLine = 2; // \"WorkOS\" sits beside the top of the lock body\n const subtitleLine = 3;\n return lock\n .map((l, i) => {\n const left = ` ${accent(l)}`;\n if (i === titleLine) return `${left} ${accent.bold('WorkOS')}`;\n if (i === subtitleLine && subtitle) return `${left} ${chalk.dim(subtitle)}`;\n return left;\n })\n .join('\\n');\n}\n\n/**\n * The install closer: the WorkOS lock (colored by outcome) above a flat title,\n * checklist, and footer — no border. Shared by the CLI and Dashboard adapters.\n * The lock is the same mark that opens the install (see renderBrandMark).\n */\nfunction renderFlatSummary(options: SummaryBoxOptions): string {\n const { expression, title, items = [], footer } = options;\n const out: string[] = getLockArt(expression, true).map((l) => ` ${l}`);\n out.push('', ` ${chalk.bold(title)}`);\n for (const item of items) {\n // File paths (done) read better in cyan; next-step prose stays default weight.\n const text = item.type === 'done' ? flatCyan(item.text) : item.text;\n out.push(` ${FLAT_ICONS[item.type]} ${text}`);\n }\n if (footer) out.push('', ` ${chalk.dim(footer)}`);\n return out.join('\\n');\n}\n\nconst MIN_WIDTH = 42;\n// Item prefix \" X \" = 4 visible chars before text\nconst ITEM_PREFIX_LEN = 4;\n// Footer prefix \" \" = 2 visible chars before text\nconst FOOTER_PREFIX_LEN = 2;\n\nfunction hLine(left: string, right: string, width: number): string {\n return `${left}${BOX.h.repeat(width - 2)}${right}`;\n}\n\nfunction padRight(text: string, visibleLen: number, targetLen: number): string {\n const padding = Math.max(0, targetLen - visibleLen);\n return text + ' '.repeat(padding);\n}\n\n/** Word-wrap text to fit within maxLen, returning multiple lines. */\nfunction wrapText(text: string, maxLen: number): string[] {\n if (text.length <= maxLen) return [text];\n const words = text.split(' ');\n const wrapped: string[] = [];\n let current = '';\n for (const word of words) {\n const candidate = current ? `${current} ${word}` : word;\n if (candidate.length > maxLen && current) {\n wrapped.push(current);\n current = word;\n } else {\n current = candidate;\n }\n }\n if (current) wrapped.push(current);\n return wrapped;\n}\n\nfunction getTerminalWidth(): number {\n return process.stdout.columns || 80;\n}\n\n/**\n * Render a branded summary box with the WorkOS lock character,\n * a title, optional checklist items, and an optional footer.\n */\nexport function renderSummaryBox(options: SummaryBoxOptions): string {\n const { expression, title, items = [], footer } = options;\n\n const lockColored = getLockArt(expression, true);\n const lockRaw = getLockArt(expression, false);\n const lockLines = lockColored.length;\n\n // \" \" + lock + \" \" = lock column width\n const lockColWidth = LOCK_WIDTH + 3;\n\n // Cap box width to terminal width\n const termWidth = getTerminalWidth();\n // innerWidth must fit: lock+title, items, footer — but capped to terminal\n const maxInner = Math.max(MIN_WIDTH - 2, termWidth - 2);\n\n // Compute ideal inner width from content\n const titleRowWidth = lockColWidth + title.length;\n const itemWidths = items.map((item) => ITEM_PREFIX_LEN + item.text.length);\n const footerWidth = footer ? FOOTER_PREFIX_LEN + footer.length : 0;\n const idealInner = Math.max(titleRowWidth, ...itemWidths, footerWidth) + 1;\n\n const innerWidth = Math.min(Math.max(MIN_WIDTH - 2, idealInner), maxInner);\n const boxWidth = innerWidth + 2;\n\n // Available text width for items and footer (after prefix, before right padding + border)\n const itemTextMax = innerWidth - ITEM_PREFIX_LEN - 1;\n const footerTextMax = innerWidth - FOOTER_PREFIX_LEN - 1;\n\n const lines: string[] = [];\n\n // Top border\n lines.push(hLine(BOX.tl, BOX.tr, boxWidth));\n\n // Lock + title rows\n const titleLineIndex = 3;\n for (let i = 0; i < lockLines; i++) {\n const lockPart = ` ${lockColored[i]} `;\n const lockPartRaw = ` ${lockRaw[i]} `;\n let rightPart: string;\n let rightPartLen: number;\n if (i === titleLineIndex) {\n rightPart = chalk.bold(title);\n rightPartLen = title.length;\n } else {\n rightPart = '';\n rightPartLen = 0;\n }\n const row = BOX.v + padRight(lockPart + rightPart, lockPartRaw.length + rightPartLen, innerWidth) + BOX.v;\n lines.push(row);\n }\n\n // Items\n if (items.length > 0) {\n lines.push(`${BOX.v}${' '.repeat(innerWidth)}${BOX.v}`);\n\n for (const item of items) {\n const icon = ITEM_ICONS[item.type];\n const wrappedLines = wrapText(item.text, itemTextMax);\n // First line gets the icon\n const first = ` ${icon} ${wrappedLines[0]}`;\n const firstLen = ITEM_PREFIX_LEN + wrappedLines[0].length;\n lines.push(`${BOX.v}${padRight(first, firstLen, innerWidth)}${BOX.v}`);\n // Continuation lines are indented to align with text after icon\n for (let j = 1; j < wrappedLines.length; j++) {\n const cont = ` ${wrappedLines[j]}`;\n const contLen = 4 + wrappedLines[j].length;\n lines.push(`${BOX.v}${padRight(cont, contLen, innerWidth)}${BOX.v}`);\n }\n }\n }\n\n // Footer\n if (footer) {\n lines.push(hLine(BOX.ml, BOX.mr, boxWidth));\n const wrappedFooter = wrapText(footer, footerTextMax);\n for (const fLine of wrappedFooter) {\n const content = ` ${chalk.dim(fLine)}`;\n const visibleLen = FOOTER_PREFIX_LEN + fLine.length;\n lines.push(`${BOX.v}${padRight(content, visibleLen, innerWidth)}${BOX.v}`);\n }\n }\n\n // Bottom border\n lines.push(hLine(BOX.bl, BOX.br, boxWidth));\n\n return lines.join('\\n');\n}\n"]}
|
package/dist/utils/table.d.ts
DELETED
package/dist/utils/table.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
export function formatTable(columns, rows) {
|
|
3
|
-
const widths = columns.map((col, i) => {
|
|
4
|
-
const contentMax = rows.reduce((max, row) => Math.max(max, (row[i] || '').length), 0);
|
|
5
|
-
return col.width ?? Math.max(col.header.length, contentMax);
|
|
6
|
-
});
|
|
7
|
-
const lines = [];
|
|
8
|
-
const header = columns.map((col, i) => chalk.yellow(col.header.padEnd(widths[i]))).join(' ');
|
|
9
|
-
lines.push(header);
|
|
10
|
-
const totalWidth = widths.reduce((sum, w) => sum + w, 0) + (widths.length - 1) * 2;
|
|
11
|
-
lines.push(chalk.dim('─'.repeat(totalWidth)));
|
|
12
|
-
for (const row of rows) {
|
|
13
|
-
const line = row.map((cell, i) => (cell || '').padEnd(widths[i])).join(' ');
|
|
14
|
-
lines.push(line);
|
|
15
|
-
}
|
|
16
|
-
return lines.join('\n');
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=table.js.map
|
package/dist/utils/table.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,UAAU,WAAW,CAAC,OAAsB,EAAE,IAAgB;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9F,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["import chalk from 'chalk';\n\nexport interface TableColumn {\n header: string;\n width?: number;\n}\n\nexport function formatTable(columns: TableColumn[], rows: string[][]): string {\n const widths = columns.map((col, i) => {\n const contentMax = rows.reduce((max, row) => Math.max(max, (row[i] || '').length), 0);\n return col.width ?? Math.max(col.header.length, contentMax);\n });\n\n const lines: string[] = [];\n\n const header = columns.map((col, i) => chalk.yellow(col.header.padEnd(widths[i]))).join(' ');\n lines.push(header);\n\n const totalWidth = widths.reduce((sum, w) => sum + w, 0) + (widths.length - 1) * 2;\n lines.push(chalk.dim('─'.repeat(totalWidth)));\n\n for (const row of rows) {\n const line = row.map((cell, i) => (cell || '').padEnd(widths[i])).join(' ');\n lines.push(line);\n }\n\n return lines.join('\\n');\n}\n"]}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { TelemetryEvent } from './telemetry-types.js';
|
|
2
|
-
/**
|
|
3
|
-
* HTTP client that queues telemetry events and flushes them to the API.
|
|
4
|
-
* Failures are silent—telemetry should never crash the wizard.
|
|
5
|
-
*/
|
|
6
|
-
export declare class TelemetryClient {
|
|
7
|
-
private events;
|
|
8
|
-
private flushInFlight;
|
|
9
|
-
private accessToken;
|
|
10
|
-
private claimToken;
|
|
11
|
-
private clientId;
|
|
12
|
-
private apiKey;
|
|
13
|
-
private gatewayUrl;
|
|
14
|
-
setGatewayUrl(url: string): void;
|
|
15
|
-
setAccessToken(token: string): void;
|
|
16
|
-
setApiKeyAuth(apiKey: string): void;
|
|
17
|
-
/**
|
|
18
|
-
* Set claim-token auth for unclaimed environments.
|
|
19
|
-
* The API accepts either a JWT (Bearer), claim token
|
|
20
|
-
* (x-workos-claim-token + x-workos-client-id), or API key
|
|
21
|
-
* (x-workos-api-key).
|
|
22
|
-
*/
|
|
23
|
-
setClaimTokenAuth(clientId: string, claimToken: string): void;
|
|
24
|
-
queueEvent(event: TelemetryEvent): void;
|
|
25
|
-
/**
|
|
26
|
-
* Queue multiple pre-formed events (used by store-forward recovery).
|
|
27
|
-
*/
|
|
28
|
-
queueEvents(events: TelemetryEvent[]): void;
|
|
29
|
-
/**
|
|
30
|
-
* Flush queued events. Returns true if events were sent or intentionally
|
|
31
|
-
* dropped (4xx), false if they should be retried (5xx/network error).
|
|
32
|
-
* Uses splice to only remove the events that were in the snapshot,
|
|
33
|
-
* protecting any events queued concurrently during the fetch.
|
|
34
|
-
*/
|
|
35
|
-
flush(): Promise<boolean>;
|
|
36
|
-
private flushInternal;
|
|
37
|
-
/**
|
|
38
|
-
* Synchronously write pending events to a file.
|
|
39
|
-
* Used as last resort in process.on('exit') handler.
|
|
40
|
-
*/
|
|
41
|
-
persistToFile(filePath: string): void;
|
|
42
|
-
}
|
|
43
|
-
export declare const telemetryClient: TelemetryClient;
|