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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"installer-core.js","sourceRoot":"","sources":["../../src/lib/installer-core.ts"],"names":[],"mappings":"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","sourcesContent":["import { setup, assign, fromPromise, type ActorRefFrom } from 'xstate';\nimport type {\n InstallerMachineContext,\n InstallerMachineInput,\n InstallerMachineEvent,\n DetectionOutput,\n GitCheckOutput,\n AgentOutput,\n EnvFileInfo,\n DiscoveryResult,\n CredentialSource,\n BranchCheckOutput,\n WorkspaceCheckOutput,\n} from './installer-core.types.js';\nimport type { InstallerOptions } from '../utils/types.js';\nimport type { CompletionData } from './events.js';\nimport type { DeviceAuthResult, DeviceAuthResponse } from './device-auth.js';\nimport type { StagingCredentials } from './staging-api.js';\nimport { getManualPrInstructions } from './post-install.js';\nimport { hasGhCli } from '../utils/git-utils.js';\nimport { formatWorkOSCommand } from '../utils/command-invocation.js';\n\nexport const installerMachine = setup({\n types: {\n context: {} as InstallerMachineContext,\n input: {} as InstallerMachineInput,\n events: {} as InstallerMachineEvent,\n },\n\n actions: {\n emitStateEnter: ({ context }, params: { state: string }) => {\n context.emitter.emit('state:enter', { state: params.state });\n },\n emitStateExit: ({ context }, params: { state: string }) => {\n context.emitter.emit('state:exit', { state: params.state });\n },\n emitAuthChecking: ({ context }) => {\n context.emitter.emit('auth:checking', {});\n },\n emitAuthRequired: ({ context }) => {\n context.emitter.emit('auth:required', {});\n },\n emitAuthSuccess: ({ context }) => {\n context.emitter.emit('auth:success', {});\n },\n emitAuthFailure: ({ context }) => {\n const message = context.error?.message ?? 'Authentication failed';\n context.emitter.emit('auth:failure', { message });\n },\n emitDetectionStart: ({ context }) => {\n context.emitter.emit('detection:start', {});\n },\n emitDetectionComplete: ({ context }) => {\n if (context.integration) {\n context.emitter.emit('detection:complete', { integration: context.integration });\n } else {\n context.emitter.emit('detection:none', {});\n }\n },\n emitGitChecking: ({ context }) => {\n context.emitter.emit('git:checking', {});\n },\n emitGitClean: ({ context }) => {\n context.emitter.emit('git:clean', {});\n },\n emitGitDirty: ({ context }) => {\n context.emitter.emit('git:dirty', { files: context.gitDirtyFiles });\n },\n emitGitConfirmed: ({ context }) => {\n context.emitter.emit('git:dirty:confirmed', {});\n },\n emitGitCancelled: ({ context }) => {\n context.emitter.emit('git:dirty:cancelled', {});\n },\n emitScaffoldChecking: ({ context }) => {\n context.emitter.emit('scaffold:checking', {});\n },\n emitScaffoldPrompt: ({ context }) => {\n context.emitter.emit('scaffold:prompt', { packageManager: context.packageManager ?? 'npm' });\n },\n emitScaffoldStart: ({ context }) => {\n context.emitter.emit('scaffold:start', { packageManager: context.packageManager ?? 'npm' });\n },\n emitScaffoldComplete: ({ context }) => {\n context.emitter.emit('scaffold:complete', {});\n },\n emitScaffoldFailed: ({ context }) => {\n const message = context.error?.message ?? 'Scaffold failed';\n context.emitter.emit('scaffold:failed', { error: message });\n },\n emitScaffoldSkipped: ({ context }) => {\n context.emitter.emit('scaffold:skipped', {});\n },\n assignWorkspaceResult: assign({\n scaffoldable: ({ event }) => (event as unknown as { output: WorkspaceCheckOutput }).output?.scaffoldable ?? false,\n packageManager: ({ event }) =>\n (event as unknown as { output: WorkspaceCheckOutput }).output?.packageManager ?? 'npm',\n autoScaffold: ({ event }) => (event as unknown as { output: WorkspaceCheckOutput }).output?.autoScaffold ?? false,\n }),\n assignScaffolded: assign({\n scaffolded: () => true,\n }),\n emitBranchChecking: ({ context }) => {\n context.emitter.emit('branch:checking', {});\n },\n emitBranchProtected: ({ context }) => {\n if (context.currentBranch) {\n context.emitter.emit('branch:protected', { branch: context.currentBranch });\n context.emitter.emit('branch:prompt', { branch: context.currentBranch });\n }\n },\n emitBranchCreated: ({ context }, params: { branch: string }) => {\n context.emitter.emit('branch:created', { branch: params.branch });\n },\n emitBranchCreateFailed: ({ context }) => {\n const message = context.error?.message ?? 'Failed to create branch';\n context.emitter.emit('branch:create:failed', { error: message });\n },\n assignBranchResult: assign({\n currentBranch: ({ event }) => {\n const doneEvent = event as unknown as { output: BranchCheckOutput };\n return doneEvent.output?.branch ?? undefined;\n },\n isProtectedBranch: ({ event }) => {\n const doneEvent = event as unknown as { output: BranchCheckOutput };\n return doneEvent.output?.isProtected ?? false;\n },\n }),\n emitCredentialsGathering: ({ context }) => {\n const requiresApiKey = ['nextjs', 'tanstack-start', 'react-router'].includes(context.integration ?? '');\n context.emitter.emit('credentials:gathering', { requiresApiKey });\n context.emitter.emit('credentials:request', { requiresApiKey });\n },\n emitCredentialsFound: ({ context }) => {\n context.emitter.emit('credentials:found', {});\n },\n emitEnvDetected: ({ context }) => {\n context.emitter.emit('credentials:env:detected', { files: context.envFilesDetected ?? [] });\n },\n emitEnvScanPrompt: ({ context }) => {\n context.emitter.emit('credentials:env:prompt', { files: context.envFilesDetected ?? [] });\n },\n emitEnvScanning: ({ context }) => {\n context.emitter.emit('credentials:env:scanning', {});\n },\n emitEnvCredentialsFound: ({ context }) => {\n context.emitter.emit('credentials:env:found', { sourcePath: context.envCredentialPath ?? '.env' });\n },\n emitEnvNotFound: ({ context }) => {\n context.emitter.emit('credentials:env:notfound', {});\n },\n emitDeviceAuthStart: () => {\n // Emitted by actor when it has verification URL\n },\n emitDeviceAuthSuccess: ({ context }) => {\n context.emitter.emit('device:success', { email: undefined });\n },\n emitDeviceAuthError: ({ context }) => {\n const message = context.error?.message ?? 'Device authorization failed';\n context.emitter.emit('device:error', { message });\n },\n emitDeviceTimeout: ({ context }) => {\n context.emitter.emit('device:timeout', {});\n },\n emitStagingFetching: ({ context }) => {\n context.emitter.emit('staging:fetching', {});\n },\n emitStagingSuccess: ({ context }) => {\n context.emitter.emit('staging:success', { source: context.deviceAuth ? 'device' : 'stored' });\n },\n emitStagingError: ({ context }) => {\n const message = context.error?.message ?? 'Failed to fetch staging credentials';\n context.emitter.emit('staging:error', { message });\n },\n emitConfigStart: ({ context }) => {\n context.emitter.emit('config:start', {});\n },\n emitConfigComplete: ({ context }) => {\n context.emitter.emit('config:complete', {});\n },\n emitAgentStart: ({ context }) => {\n context.emitter.emit('agent:start', {});\n },\n emitAgentSuccess: ({ context }, params: { summary?: string }) => {\n context.emitter.emit('agent:success', { summary: params.summary });\n context.emitter.emit('complete', { success: true, summary: params.summary });\n },\n emitAgentFailure: ({ context }) => {\n const message = context.error?.message ?? 'Agent execution failed';\n const stack = context.error?.stack;\n context.emitter.emit('agent:failure', { message, stack });\n context.emitter.emit('complete', { success: false });\n },\n assignDetectionResult: assign({\n integration: ({ event }) => {\n const doneEvent = event as unknown as { output: DetectionOutput };\n return doneEvent.output?.integration;\n },\n }),\n assignGitResult: assign({\n gitIsClean: ({ event }) => {\n const doneEvent = event as unknown as { output: GitCheckOutput };\n return doneEvent.output?.isClean ?? true;\n },\n gitDirtyFiles: ({ event }) => {\n const doneEvent = event as unknown as { output: GitCheckOutput };\n return doneEvent.output?.files ?? [];\n },\n }),\n\n assignCredentials: assign({\n credentials: ({ event }) => {\n if (event.type === 'CREDENTIALS_SUBMITTED') {\n return { apiKey: event.apiKey, clientId: event.clientId };\n }\n return undefined;\n },\n }),\n\n assignError: assign({\n error: ({ event }) => {\n if ('error' in event && event.error instanceof Error) {\n return event.error;\n }\n if ('error' in event && typeof event.error === 'object' && event.error !== null) {\n return new Error(String((event.error as { message?: string }).message ?? event.error));\n }\n return new Error('Unknown error');\n },\n }),\n\n emitCancelled: ({ context }) => {\n context.emitter.emit('complete', { success: false, summary: 'Installer cancelled by user' });\n },\n emitError: ({ context }) => {\n const message = context.error?.message ?? 'An unexpected error occurred';\n context.emitter.emit('error', { message, stack: context.error?.stack });\n context.emitter.emit('complete', { success: false });\n },\n // Post-install actions\n assignChangedFiles: assign({\n changedFiles: ({ event }) => {\n const doneEvent = event as unknown as { output: { hasChanges: boolean; files: string[] } };\n return doneEvent.output?.files ?? [];\n },\n }),\n emitChangesDetected: ({ context }) => {\n context.emitter.emit('postinstall:changes', { files: context.changedFiles ?? [] });\n },\n emitNoChanges: ({ context }) => {\n context.emitter.emit('postinstall:nochanges', {});\n },\n emitCommitPrompt: ({ context }) => {\n context.emitter.emit('postinstall:commit:prompt', {});\n },\n emitGeneratingCommitMessage: ({ context }) => {\n context.emitter.emit('postinstall:commit:generating', {});\n },\n assignCommitMessage: assign({\n commitMessage: ({ event }) => {\n const doneEvent = event as unknown as { output: string };\n return doneEvent.output;\n },\n }),\n emitCommitting: ({ context }) => {\n context.emitter.emit('postinstall:commit:committing', { message: context.commitMessage ?? '' });\n },\n emitCommitSuccess: ({ context }) => {\n context.emitter.emit('postinstall:commit:success', { message: context.commitMessage ?? '' });\n },\n emitCommitFailed: ({ context }) => {\n const message = context.error?.message ?? 'Commit failed';\n context.emitter.emit('postinstall:commit:failed', { error: message });\n },\n emitPrPrompt: ({ context }) => {\n context.emitter.emit('postinstall:pr:prompt', {});\n },\n emitGeneratingPrDescription: ({ context }) => {\n context.emitter.emit('postinstall:pr:generating', {});\n },\n assignPrDescription: assign({\n prDescription: ({ event }) => {\n const doneEvent = event as unknown as { output: string };\n return doneEvent.output;\n },\n }),\n emitPushing: ({ context }) => {\n context.emitter.emit('postinstall:pr:pushing', {});\n },\n emitPushFailed: ({ context }) => {\n const message = context.error?.message ?? 'Push failed';\n context.emitter.emit('postinstall:push:failed', { error: message });\n },\n emitCreatingPr: ({ context }) => {\n context.emitter.emit('postinstall:pr:creating', {});\n },\n assignPrUrl: assign({\n prUrl: ({ event }) => {\n const doneEvent = event as unknown as { output: string };\n return doneEvent.output;\n },\n }),\n emitPrCreated: ({ context }) => {\n context.emitter.emit('postinstall:pr:success', { url: context.prUrl ?? '' });\n },\n emitPrFailed: ({ context }) => {\n const message = context.error?.message ?? 'PR creation failed';\n context.emitter.emit('postinstall:pr:failed', { error: message });\n },\n emitManualInstructions: ({ context }) => {\n const branch = context.currentBranch ?? 'HEAD';\n const instructions = getManualPrInstructions(branch);\n context.emitter.emit('postinstall:manual', { instructions });\n },\n emitComplete: ({ context }) => {\n const summary = context.agentSummary ?? 'WorkOS AuthKit installed successfully!';\n context.emitter.emit('complete', { success: true, summary, completion: context.completion });\n },\n assignCompletion: assign({\n completion: ({ event }) => (event as unknown as { output?: CompletionData }).output,\n }),\n },\n\n guards: {\n shouldSkipAuth: ({ context }) => context.options.skipAuth === true,\n gitIsClean: ({ context }) => context.gitIsClean === true,\n hasCredentials: ({ context }) => context.options.apiKey !== undefined && context.options.clientId !== undefined,\n hasIntegration: ({ context }) => context.integration !== undefined,\n shouldSkipPostInstall: ({ context }) => context.options.noCommit === true,\n hasGhCli: () => hasGhCli(),\n // Read from the actor's done event (output), not context: the\n // assignWorkspaceResult action has not run yet when guards are evaluated.\n notScaffoldable: ({ event }) => !(event as unknown as { output: WorkspaceCheckOutput }).output?.scaffoldable,\n shouldAutoScaffold: ({ event }) => {\n const output = (event as unknown as { output: WorkspaceCheckOutput }).output;\n return !!output?.scaffoldable && !!output?.autoScaffold;\n },\n },\n\n actors: {\n checkAuthentication: fromPromise<boolean, { options: InstallerOptions }>(async () => {\n throw new Error('checkAuthentication not implemented - provide via machine.provide()');\n }),\n checkWorkspace: fromPromise<WorkspaceCheckOutput, { options: InstallerOptions }>(async () => {\n throw new Error('checkWorkspace not implemented - provide via machine.provide()');\n }),\n runScaffold: fromPromise<void, { context: InstallerMachineContext }>(async () => {\n throw new Error('runScaffold not implemented - provide via machine.provide()');\n }),\n detectIntegration: fromPromise<DetectionOutput, { options: InstallerOptions }>(async () => {\n throw new Error('detectIntegration not implemented - provide via machine.provide()');\n }),\n checkGitStatus: fromPromise<GitCheckOutput, { installDir: string }>(async () => {\n throw new Error('checkGitStatus not implemented - provide via machine.provide()');\n }),\n configureEnvironment: fromPromise<void, { context: InstallerMachineContext }>(async () => {\n throw new Error('configureEnvironment not implemented - provide via machine.provide()');\n }),\n runAgent: fromPromise<AgentOutput, { context: InstallerMachineContext }>(async () => {\n throw new Error('runAgent not implemented - provide via machine.provide()');\n }),\n buildCompletion: fromPromise<CompletionData | undefined, { context: InstallerMachineContext }>(async () => {\n throw new Error('buildCompletion not implemented - provide via machine.provide()');\n }),\n // Credential discovery actors\n detectEnvFiles: fromPromise<EnvFileInfo, { installDir: string }>(async () => {\n throw new Error('detectEnvFiles not implemented - provide via machine.provide()');\n }),\n scanEnvFiles: fromPromise<DiscoveryResult, { installDir: string }>(async () => {\n throw new Error('scanEnvFiles not implemented - provide via machine.provide()');\n }),\n checkStoredAuth: fromPromise<boolean, void>(async () => {\n throw new Error('checkStoredAuth not implemented - provide via machine.provide()');\n }),\n runDeviceAuth: fromPromise<\n { result: DeviceAuthResult; deviceAuth: DeviceAuthResponse },\n { emitter: InstallerMachineContext['emitter'] }\n >(async () => {\n throw new Error('runDeviceAuth not implemented - provide via machine.provide()');\n }),\n fetchStagingCredentials: fromPromise<StagingCredentials, void>(async () => {\n throw new Error('fetchStagingCredentials not implemented - provide via machine.provide()');\n }),\n // Branch check actors\n checkBranch: fromPromise<BranchCheckOutput, void>(async () => {\n throw new Error('checkBranch not implemented - provide via machine.provide()');\n }),\n createBranch: fromPromise<{ branch: string }, { name: string; fallbackName: string }>(async () => {\n throw new Error('createBranch not implemented - provide via machine.provide()');\n }),\n // Post-install actors\n detectChanges: fromPromise<{ hasChanges: boolean; files: string[] }, void>(async () => {\n throw new Error('detectChanges not implemented - provide via machine.provide()');\n }),\n generateCommitMessage: fromPromise<string, { integration: string; files: string[]; direct?: boolean }>(async () => {\n throw new Error('generateCommitMessage not implemented - provide via machine.provide()');\n }),\n commitChanges: fromPromise<void, { message: string; cwd: string }>(async () => {\n throw new Error('commitChanges not implemented - provide via machine.provide()');\n }),\n generatePrDescription: fromPromise<\n string,\n { integration: string; files: string[]; commitMessage: string; direct?: boolean }\n >(async () => {\n throw new Error('generatePrDescription not implemented - provide via machine.provide()');\n }),\n pushBranch: fromPromise<void, { cwd: string }>(async () => {\n throw new Error('pushBranch not implemented - provide via machine.provide()');\n }),\n createPr: fromPromise<string, { title: string; body: string; cwd: string }>(async () => {\n throw new Error('createPr not implemented - provide via machine.provide()');\n }),\n },\n}).createMachine({\n id: 'installer',\n initial: 'idle',\n\n context: ({ input }) => ({\n emitter: input.emitter,\n options: input.options,\n // Set by the detection actor; no pre-seeding (the --integration flag is gone).\n integration: undefined,\n credentials:\n input.options.apiKey && input.options.clientId\n ? { apiKey: input.options.apiKey, clientId: input.options.clientId }\n : undefined,\n gitIsClean: true,\n gitDirtyFiles: [],\n error: undefined,\n }),\n\n // Global event handlers - CANCEL can be sent from any state\n on: {\n CANCEL: {\n target: '.cancelled',\n },\n },\n\n states: {\n idle: {\n on: {\n START: [\n {\n target: 'scaffold',\n guard: 'shouldSkipAuth',\n actions: { type: 'emitStateEnter', params: { state: 'scaffold' } },\n },\n {\n target: 'authenticating',\n actions: { type: 'emitStateEnter', params: { state: 'authenticating' } },\n },\n ],\n },\n },\n\n authenticating: {\n entry: ['emitAuthChecking'],\n invoke: {\n id: 'checkAuthentication',\n src: 'checkAuthentication',\n input: ({ context }) => ({ options: context.options }),\n onDone: {\n target: 'scaffold',\n actions: [\n 'emitAuthSuccess',\n { type: 'emitStateExit', params: { state: 'authenticating' } },\n { type: 'emitStateEnter', params: { state: 'scaffold' } },\n ],\n },\n onError: {\n target: 'error',\n actions: ['assignError', 'emitAuthFailure', { type: 'emitStateExit', params: { state: 'authenticating' } }],\n },\n },\n },\n\n scaffold: {\n initial: 'checking',\n states: {\n checking: {\n entry: ['emitScaffoldChecking'],\n invoke: {\n id: 'checkWorkspace',\n src: 'checkWorkspace',\n input: ({ context }) => ({ options: context.options }),\n onDone: [\n {\n // Not an empty dir: fall through to today's behavior.\n target: 'done',\n guard: 'notScaffoldable',\n actions: ['assignWorkspaceResult'],\n },\n {\n // Headless or --scaffold: skip the prompt.\n target: 'running',\n guard: 'shouldAutoScaffold',\n actions: ['assignWorkspaceResult'],\n },\n {\n // Interactive empty dir: ask first.\n target: 'prompting',\n actions: ['assignWorkspaceResult'],\n },\n ],\n onError: {\n // Workspace check failure is non-fatal: proceed to preparing,\n // which errors on no-integration exactly as before this feature.\n target: 'done',\n },\n },\n },\n prompting: {\n entry: ['emitScaffoldPrompt'],\n on: {\n SCAFFOLD_CONFIRMED: {\n target: 'running',\n },\n SCAFFOLD_CANCELLED: {\n target: '#installer.cancelled',\n actions: ['emitScaffoldSkipped', { type: 'emitStateExit', params: { state: 'scaffold' } }],\n },\n },\n },\n running: {\n entry: ['emitScaffoldStart'],\n invoke: {\n id: 'runScaffold',\n src: 'runScaffold',\n input: ({ context }) => ({ context }),\n onDone: {\n target: 'done',\n actions: ['assignScaffolded', 'emitScaffoldComplete'],\n },\n onError: {\n target: '#installer.error',\n actions: ['assignError', 'emitScaffoldFailed', { type: 'emitStateExit', params: { state: 'scaffold' } }],\n },\n },\n },\n done: {\n type: 'final',\n },\n },\n onDone: {\n target: 'preparing',\n actions: [\n { type: 'emitStateExit', params: { state: 'scaffold' } },\n { type: 'emitStateEnter', params: { state: 'preparing' } },\n ],\n },\n },\n\n preparing: {\n type: 'parallel',\n states: {\n detection: {\n initial: 'running',\n states: {\n running: {\n entry: ['emitDetectionStart'],\n invoke: {\n id: 'detectIntegration',\n src: 'detectIntegration',\n input: ({ context }) => ({ options: context.options }),\n onDone: {\n target: 'done',\n actions: ['assignDetectionResult', 'emitDetectionComplete'],\n },\n onError: {\n // Detection failure is non-fatal - user can select manually\n target: 'done',\n actions: ['emitDetectionComplete'],\n },\n },\n },\n done: {\n type: 'final',\n },\n },\n },\n gitCheck: {\n initial: 'running',\n states: {\n running: {\n entry: ['emitGitChecking'],\n invoke: {\n id: 'checkGitStatus',\n src: 'checkGitStatus',\n input: ({ context }) => ({ installDir: context.options.installDir }),\n onDone: {\n target: 'evaluating',\n actions: ['assignGitResult'],\n },\n onError: {\n // Git check failure is non-fatal - treat as clean\n target: 'done',\n },\n },\n },\n evaluating: {\n always: [\n {\n target: 'done',\n guard: 'gitIsClean',\n actions: ['emitGitClean'],\n },\n {\n target: 'awaitingConfirmation',\n actions: ['emitGitDirty'],\n },\n ],\n },\n awaitingConfirmation: {\n on: {\n GIT_CONFIRMED: {\n target: 'done',\n actions: ['emitGitConfirmed'],\n },\n GIT_CANCELLED: {\n target: '#installer.cancelled',\n actions: ['emitGitCancelled'],\n },\n },\n },\n done: {\n type: 'final',\n },\n },\n },\n branchCheck: {\n initial: 'running',\n states: {\n running: {\n entry: ['emitBranchChecking'],\n invoke: {\n id: 'checkBranch',\n src: 'checkBranch',\n onDone: [\n {\n target: 'awaitingConfirmation',\n guard: ({ event }) => (event.output as BranchCheckOutput).isProtected,\n actions: ['assignBranchResult', 'emitBranchProtected'],\n },\n {\n target: 'done',\n actions: ['assignBranchResult'],\n },\n ],\n onError: {\n // Branch check failure is non-fatal\n target: 'done',\n },\n },\n },\n awaitingConfirmation: {\n on: {\n BRANCH_CREATE: {\n target: 'creating',\n },\n BRANCH_CONTINUE: {\n target: 'done',\n },\n BRANCH_CANCEL: {\n target: '#installer.cancelled',\n },\n },\n },\n creating: {\n invoke: {\n id: 'createBranch',\n src: 'createBranch',\n input: () => ({\n name: 'feat/add-workos-authkit',\n fallbackName: `feat/add-workos-authkit-${Date.now()}`,\n }),\n onDone: {\n target: 'done',\n actions: [\n {\n type: 'emitBranchCreated',\n params: ({ event }) => ({ branch: (event.output as { branch: string }).branch }),\n },\n ],\n },\n onError: {\n // Branch creation failure is non-fatal\n target: 'done',\n actions: ['assignError', 'emitBranchCreateFailed'],\n },\n },\n },\n done: {\n type: 'final',\n },\n },\n },\n },\n onDone: [\n {\n target: 'gatheringCredentials',\n guard: 'hasIntegration',\n actions: { type: 'emitStateExit', params: { state: 'preparing' } },\n },\n {\n target: 'error',\n actions: [\n assign({\n error: ({ context }) => {\n const dir = context.options.installDir;\n return new Error(\n `No supported framework was detected in ${dir}.\\n` +\n `Because this directory isn't empty, a new app wasn't scaffolded, and no recognized ` +\n `framework (such as a package.json with Next.js) was found to install into.\\n\\n` +\n `Next steps:\\n` +\n ` - New app: run \\`${formatWorkOSCommand('install')}\\` in an empty directory to scaffold Next.js + AuthKit.\\n` +\n ` - Existing project: run from the directory that contains your package.json, or pass --install-dir <path>.`,\n );\n },\n }),\n { type: 'emitStateExit', params: { state: 'preparing' } },\n ],\n },\n ],\n },\n\n gatheringCredentials: {\n entry: [{ type: 'emitStateEnter', params: { state: 'gatheringCredentials' } }],\n initial: 'checkingCliFlags',\n states: {\n // Step 1: Check CLI flags (highest priority)\n checkingCliFlags: {\n always: [\n {\n target: '#installer.configuring',\n guard: 'hasCredentials',\n actions: [\n assign({ credentialSource: () => 'cli' as CredentialSource }),\n 'emitCredentialsFound',\n { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n ],\n },\n { target: 'detectingEnvFiles' },\n ],\n },\n\n // Step 2: Check if env files exist (don't read yet)\n detectingEnvFiles: {\n invoke: {\n id: 'detectEnvFiles',\n src: 'detectEnvFiles',\n input: ({ context }) => ({ installDir: context.options.installDir }),\n onDone: [\n {\n target: 'promptingEnvScan',\n guard: ({ event }) => {\n const output = event.output as EnvFileInfo;\n return output.exists;\n },\n actions: [\n assign({\n envFilesDetected: ({ event }) => {\n const output = event.output as EnvFileInfo;\n return output.files;\n },\n }),\n 'emitEnvDetected',\n ],\n },\n { target: 'checkingStoredAuth' },\n ],\n onError: {\n target: 'checkingStoredAuth', // Non-fatal, continue\n },\n },\n },\n\n // Step 3: Ask user for consent to scan env files\n promptingEnvScan: {\n entry: ['emitEnvScanPrompt'],\n on: {\n ENV_SCAN_APPROVED: {\n target: 'scanningEnvFiles',\n actions: assign({ envScanConsent: () => true }),\n },\n ENV_SCAN_DECLINED: {\n target: 'checkingStoredAuth',\n actions: assign({ envScanConsent: () => false }),\n },\n CANCEL: {\n target: '#installer.cancelled',\n actions: { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n },\n },\n },\n\n // Step 4: Scan env files for credentials (with consent)\n scanningEnvFiles: {\n entry: ['emitEnvScanning'],\n invoke: {\n id: 'scanEnvFiles',\n src: 'scanEnvFiles',\n input: ({ context }) => ({ installDir: context.options.installDir }),\n onDone: [\n {\n target: '#installer.configuring',\n guard: ({ event }) => {\n const result = event.output as DiscoveryResult;\n return result.found && !!result.clientId;\n },\n actions: [\n assign({\n credentials: ({ event }) => {\n const result = event.output as DiscoveryResult;\n return { clientId: result.clientId!, apiKey: result.apiKey };\n },\n credentialSource: () => 'env' as CredentialSource,\n envCredentialPath: ({ event }) => (event.output as DiscoveryResult).sourcePath,\n }),\n 'emitEnvCredentialsFound',\n { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n ],\n },\n {\n target: 'checkingStoredAuth',\n actions: ['emitEnvNotFound'],\n },\n ],\n onError: {\n target: 'checkingStoredAuth',\n },\n },\n },\n\n // Step 5: Check for stored auth token\n checkingStoredAuth: {\n invoke: {\n id: 'checkStoredAuth',\n src: 'checkStoredAuth',\n onDone: [\n {\n target: 'fetchingStagingCredentials',\n guard: ({ event }) => event.output === true,\n },\n { target: 'runningDeviceAuth' },\n ],\n onError: {\n target: 'runningDeviceAuth',\n },\n },\n },\n\n // Step 6: Run device authorization flow\n runningDeviceAuth: {\n entry: ['emitDeviceAuthStart'],\n invoke: {\n id: 'runDeviceAuth',\n src: 'runDeviceAuth',\n input: ({ context }) => ({ emitter: context.emitter }),\n onDone: {\n target: 'fetchingStagingCredentials',\n actions: [\n 'emitDeviceAuthSuccess',\n assign({\n deviceAuth: ({ event }) => {\n const output = event.output as { result: DeviceAuthResult; deviceAuth: DeviceAuthResponse };\n return {\n verificationUri: output.deviceAuth.verification_uri,\n verificationUriComplete: output.deviceAuth.verification_uri_complete,\n userCode: output.deviceAuth.user_code,\n };\n },\n }),\n ],\n },\n onError: {\n target: 'promptingManual',\n actions: ['assignError', 'emitDeviceAuthError'],\n },\n },\n },\n\n // Step 7: Fetch staging credentials from API\n fetchingStagingCredentials: {\n entry: ['emitStagingFetching'],\n invoke: {\n id: 'fetchStagingCredentials',\n src: 'fetchStagingCredentials',\n onDone: {\n target: '#installer.configuring',\n actions: [\n assign({\n credentials: ({ event }) => {\n const staging = event.output as StagingCredentials;\n return { clientId: staging.clientId, apiKey: staging.apiKey };\n },\n credentialSource: ({ context }) =>\n context.deviceAuth ? ('device' as CredentialSource) : ('stored' as CredentialSource),\n }),\n 'emitStagingSuccess',\n { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n ],\n },\n onError: {\n target: 'promptingManual',\n actions: ['assignError', 'emitStagingError'],\n },\n },\n },\n\n // Step 8: Manual fallback\n promptingManual: {\n entry: ['emitCredentialsGathering'],\n on: {\n CREDENTIALS_SUBMITTED: {\n target: '#installer.configuring',\n actions: [\n 'assignCredentials',\n assign({ credentialSource: () => 'manual' as CredentialSource }),\n { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n ],\n },\n RETRY_AUTH: {\n target: 'runningDeviceAuth',\n },\n CANCEL: {\n target: '#installer.cancelled',\n actions: { type: 'emitStateExit', params: { state: 'gatheringCredentials' } },\n },\n },\n },\n },\n },\n\n configuring: {\n entry: [{ type: 'emitStateEnter', params: { state: 'configuring' } }, 'emitConfigStart'],\n invoke: {\n id: 'configureEnvironment',\n src: 'configureEnvironment',\n input: ({ context }) => ({ context }),\n onDone: {\n target: 'runningAgent',\n actions: ['emitConfigComplete', { type: 'emitStateExit', params: { state: 'configuring' } }],\n },\n onError: {\n target: 'error',\n actions: ['assignError', { type: 'emitStateExit', params: { state: 'configuring' } }],\n },\n },\n },\n\n runningAgent: {\n entry: [{ type: 'emitStateEnter', params: { state: 'runningAgent' } }, 'emitAgentStart'],\n invoke: {\n id: 'runAgent',\n src: 'runAgent',\n input: ({ context }) => ({ context }),\n onDone: [\n {\n target: 'error',\n guard: ({ event }) => {\n const output = event.output as AgentOutput;\n return !output.success;\n },\n actions: [\n ({ context, event }) => {\n const output = event.output as AgentOutput;\n context.emitter.emit('agent:failure', {\n message: output.error?.message ?? 'Agent failed',\n });\n },\n assign({\n error: ({ event }) => {\n const output = event.output as AgentOutput;\n return output.error ?? new Error('Agent failed');\n },\n }),\n { type: 'emitStateExit', params: { state: 'runningAgent' } },\n ],\n },\n {\n target: 'postInstall',\n actions: [\n assign({\n agentSummary: ({ event }) => {\n const output = event.output as AgentOutput;\n return output.summary;\n },\n }),\n ({ context, event }) => {\n const output = event.output as AgentOutput;\n context.emitter.emit('agent:success', { summary: output.summary });\n },\n { type: 'emitStateExit', params: { state: 'runningAgent' } },\n ],\n },\n ],\n onError: {\n target: 'error',\n actions: ['assignError', 'emitAgentFailure', { type: 'emitStateExit', params: { state: 'runningAgent' } }],\n },\n },\n },\n\n postInstall: {\n initial: 'checking',\n entry: [{ type: 'emitStateEnter', params: { state: 'postInstall' } }],\n states: {\n checking: {\n always: [\n {\n target: '#installer.buildingCompletion',\n guard: 'shouldSkipPostInstall',\n },\n { target: 'detectingChanges' },\n ],\n },\n\n detectingChanges: {\n invoke: {\n id: 'detectChanges',\n src: 'detectChanges',\n onDone: [\n {\n target: 'promptingCommit',\n guard: ({ event }) => (event.output as { hasChanges: boolean; files: string[] }).hasChanges,\n actions: ['assignChangedFiles', 'emitChangesDetected'],\n },\n {\n target: 'done',\n actions: ['emitNoChanges'],\n },\n ],\n onError: { target: 'done' },\n },\n },\n\n promptingCommit: {\n entry: ['emitCommitPrompt'],\n on: {\n COMMIT_APPROVED: { target: 'generatingCommitMessage' },\n COMMIT_DECLINED: { target: 'done' },\n CANCEL: { target: '#installer.cancelled' },\n },\n },\n\n generatingCommitMessage: {\n entry: ['emitGeneratingCommitMessage'],\n invoke: {\n id: 'generateCommitMessage',\n src: 'generateCommitMessage',\n input: ({ context }) => ({\n integration: context.integration ?? 'project',\n files: context.changedFiles ?? [],\n direct: context.options.direct,\n }),\n onDone: {\n target: 'committing',\n actions: ['assignCommitMessage'],\n },\n },\n },\n\n committing: {\n entry: ['emitCommitting'],\n invoke: {\n id: 'commitChanges',\n src: 'commitChanges',\n input: ({ context }) => ({\n message: context.commitMessage ?? '',\n cwd: context.options.installDir,\n }),\n onDone: {\n target: 'checkingGhCli',\n actions: ['emitCommitSuccess'],\n },\n onError: {\n target: 'done',\n actions: ['assignError', 'emitCommitFailed'],\n },\n },\n },\n\n checkingGhCli: {\n always: [\n {\n target: 'promptingPr',\n guard: 'hasGhCli',\n },\n {\n target: 'showingManualInstructions',\n },\n ],\n },\n\n promptingPr: {\n entry: ['emitPrPrompt'],\n on: {\n PR_APPROVED: { target: 'generatingPrDescription' },\n PR_DECLINED: { target: 'done' },\n CANCEL: { target: '#installer.cancelled' },\n },\n },\n\n generatingPrDescription: {\n entry: ['emitGeneratingPrDescription'],\n invoke: {\n id: 'generatePrDescription',\n src: 'generatePrDescription',\n input: ({ context }) => ({\n integration: context.integration ?? 'project',\n files: context.changedFiles ?? [],\n commitMessage: context.commitMessage ?? '',\n direct: context.options.direct,\n }),\n onDone: {\n target: 'pushing',\n actions: ['assignPrDescription'],\n },\n },\n },\n\n pushing: {\n entry: ['emitPushing'],\n invoke: {\n id: 'pushBranch',\n src: 'pushBranch',\n input: ({ context }) => ({ cwd: context.options.installDir }),\n onDone: { target: 'creatingPr' },\n onError: {\n target: 'showingManualInstructions',\n actions: ['assignError', 'emitPushFailed'],\n },\n },\n },\n\n creatingPr: {\n entry: ['emitCreatingPr'],\n invoke: {\n id: 'createPr',\n src: 'createPr',\n input: ({ context }) => ({\n title: context.commitMessage ?? '',\n body: context.prDescription ?? '',\n cwd: context.options.installDir,\n }),\n onDone: {\n target: 'done',\n actions: ['assignPrUrl', 'emitPrCreated'],\n },\n onError: {\n target: 'done',\n actions: ['assignError', 'emitPrFailed'],\n },\n },\n },\n\n showingManualInstructions: {\n entry: ['emitManualInstructions'],\n always: { target: 'done' },\n },\n\n done: {\n type: 'final',\n },\n },\n onDone: {\n target: 'buildingCompletion',\n },\n },\n\n // Compute the structured completion payload before entering `complete`.\n // `emitComplete` is a synchronous entry action, but the builder is async\n // (lockfile-aware dev command, port detection), so it must run in an actor\n // first. Errors never block completion — they fall through to the static box.\n buildingCompletion: {\n invoke: {\n src: 'buildCompletion',\n input: ({ context }) => ({ context }),\n onDone: { target: 'complete', actions: ['assignCompletion'] },\n onError: { target: 'complete' },\n },\n },\n\n complete: {\n type: 'final',\n entry: [{ type: 'emitStateEnter', params: { state: 'complete' } }, 'emitComplete'],\n },\n\n cancelled: {\n type: 'final',\n entry: [{ type: 'emitStateEnter', params: { state: 'cancelled' } }, 'emitCancelled'],\n },\n\n error: {\n type: 'final',\n entry: [{ type: 'emitStateEnter', params: { state: 'error' } }, 'emitError'],\n },\n },\n});\n\nexport type InstallerMachine = typeof installerMachine;\nexport type InstallerActor = ActorRefFrom<typeof installerMachine>;\n"]}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import type { InstallerEventEmitter, CompletionData } from './events.js';
|
|
2
|
-
import type { InstallerOptions } from '../utils/types.js';
|
|
3
|
-
import type { Integration } from './constants.js';
|
|
4
|
-
import type { PackageManager } from './scaffold/scaffold.js';
|
|
5
|
-
import type { DeviceAuthResponse } from './device-auth.js';
|
|
6
|
-
import type { EnvFileInfo, DiscoveryResult } from './credential-discovery.js';
|
|
7
|
-
export type { EnvFileInfo, DiscoveryResult };
|
|
8
|
-
export type { DeviceAuthResponse };
|
|
9
|
-
/**
|
|
10
|
-
* How credentials were resolved.
|
|
11
|
-
*/
|
|
12
|
-
export type CredentialSource = 'cli' | 'env' | 'stored' | 'device' | 'manual';
|
|
13
|
-
/**
|
|
14
|
-
* Context passed to the wizard state machine.
|
|
15
|
-
* Contains all data needed throughout the wizard flow.
|
|
16
|
-
*/
|
|
17
|
-
export interface InstallerMachineContext {
|
|
18
|
-
/** Event emitter for UI communication */
|
|
19
|
-
emitter: InstallerEventEmitter;
|
|
20
|
-
/** CLI options from command line args */
|
|
21
|
-
options: InstallerOptions;
|
|
22
|
-
/** Detected or selected framework integration */
|
|
23
|
-
integration: Integration | undefined;
|
|
24
|
-
/** WorkOS credentials gathered from user */
|
|
25
|
-
credentials: {
|
|
26
|
-
apiKey?: string;
|
|
27
|
-
clientId: string;
|
|
28
|
-
} | undefined;
|
|
29
|
-
/** Whether git working directory is clean */
|
|
30
|
-
gitIsClean: boolean;
|
|
31
|
-
/** List of dirty git files (if any) */
|
|
32
|
-
gitDirtyFiles: string[];
|
|
33
|
-
/** Error that caused failure (if any) */
|
|
34
|
-
error: Error | undefined;
|
|
35
|
-
/** How credentials were resolved */
|
|
36
|
-
credentialSource?: CredentialSource;
|
|
37
|
-
/** Device auth state for UI display */
|
|
38
|
-
deviceAuth?: {
|
|
39
|
-
verificationUri: string;
|
|
40
|
-
verificationUriComplete: string;
|
|
41
|
-
userCode: string;
|
|
42
|
-
};
|
|
43
|
-
/** Whether user consented to env file scanning */
|
|
44
|
-
envScanConsent?: boolean;
|
|
45
|
-
/** Env files detected in project (before consent) */
|
|
46
|
-
envFilesDetected?: string[];
|
|
47
|
-
/** Path to env file where credentials were found */
|
|
48
|
-
envCredentialPath?: string;
|
|
49
|
-
/** Current git branch name */
|
|
50
|
-
currentBranch?: string;
|
|
51
|
-
/** Whether current branch is protected */
|
|
52
|
-
isProtectedBranch?: boolean;
|
|
53
|
-
/** Files changed during agent execution (for post-install) */
|
|
54
|
-
changedFiles?: string[];
|
|
55
|
-
/** AI-generated commit message */
|
|
56
|
-
commitMessage?: string;
|
|
57
|
-
/** AI-generated PR description */
|
|
58
|
-
prDescription?: string;
|
|
59
|
-
/** URL of created PR */
|
|
60
|
-
prUrl?: string;
|
|
61
|
-
/** Summary message from agent execution */
|
|
62
|
-
agentSummary?: string;
|
|
63
|
-
/** Whether the install directory is empty and can be scaffolded into */
|
|
64
|
-
scaffoldable?: boolean;
|
|
65
|
-
/** Package manager resolved for the scaffolded app */
|
|
66
|
-
packageManager?: PackageManager;
|
|
67
|
-
/** Whether to scaffold without prompting (headless mode or --scaffold) */
|
|
68
|
-
autoScaffold?: boolean;
|
|
69
|
-
/** Whether create-next-app actually ran and succeeded (for telemetry) */
|
|
70
|
-
scaffolded?: boolean;
|
|
71
|
-
/** Structured completion data for the success summary (built pre-complete) */
|
|
72
|
-
completion?: CompletionData;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Input provided when creating the machine actor.
|
|
76
|
-
* These values initialize the context.
|
|
77
|
-
*/
|
|
78
|
-
export interface InstallerMachineInput {
|
|
79
|
-
emitter: InstallerEventEmitter;
|
|
80
|
-
options: InstallerOptions;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* All events the wizard machine can receive.
|
|
84
|
-
*/
|
|
85
|
-
export type InstallerMachineEvent = {
|
|
86
|
-
type: 'START';
|
|
87
|
-
} | {
|
|
88
|
-
type: 'SKIP_AUTH';
|
|
89
|
-
} | {
|
|
90
|
-
type: 'GIT_CONFIRMED';
|
|
91
|
-
} | {
|
|
92
|
-
type: 'GIT_CANCELLED';
|
|
93
|
-
} | {
|
|
94
|
-
type: 'SCAFFOLD_CONFIRMED';
|
|
95
|
-
} | {
|
|
96
|
-
type: 'SCAFFOLD_CANCELLED';
|
|
97
|
-
} | {
|
|
98
|
-
type: 'CREDENTIALS_SUBMITTED';
|
|
99
|
-
apiKey: string;
|
|
100
|
-
clientId: string;
|
|
101
|
-
} | {
|
|
102
|
-
type: 'CANCEL';
|
|
103
|
-
} | {
|
|
104
|
-
type: 'ENV_SCAN_APPROVED';
|
|
105
|
-
} | {
|
|
106
|
-
type: 'ENV_SCAN_DECLINED';
|
|
107
|
-
} | {
|
|
108
|
-
type: 'RETRY_AUTH';
|
|
109
|
-
} | {
|
|
110
|
-
type: 'BRANCH_CREATE';
|
|
111
|
-
} | {
|
|
112
|
-
type: 'BRANCH_CONTINUE';
|
|
113
|
-
} | {
|
|
114
|
-
type: 'BRANCH_CANCEL';
|
|
115
|
-
} | {
|
|
116
|
-
type: 'COMMIT_APPROVED';
|
|
117
|
-
} | {
|
|
118
|
-
type: 'COMMIT_DECLINED';
|
|
119
|
-
} | {
|
|
120
|
-
type: 'PR_APPROVED';
|
|
121
|
-
} | {
|
|
122
|
-
type: 'PR_DECLINED';
|
|
123
|
-
};
|
|
124
|
-
/**
|
|
125
|
-
* Output from the detection actor.
|
|
126
|
-
*/
|
|
127
|
-
export interface DetectionOutput {
|
|
128
|
-
integration: Integration | undefined;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Output from the git check actor.
|
|
132
|
-
*/
|
|
133
|
-
export interface GitCheckOutput {
|
|
134
|
-
isClean: boolean;
|
|
135
|
-
files: string[];
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Output from the agent actor.
|
|
139
|
-
*/
|
|
140
|
-
export interface AgentOutput {
|
|
141
|
-
success: boolean;
|
|
142
|
-
summary?: string;
|
|
143
|
-
error?: Error;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Output from the branch check actor.
|
|
147
|
-
*/
|
|
148
|
-
export interface BranchCheckOutput {
|
|
149
|
-
branch: string | null;
|
|
150
|
-
isProtected: boolean;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Output from the workspace check actor (scaffold gate).
|
|
154
|
-
*/
|
|
155
|
-
export interface WorkspaceCheckOutput {
|
|
156
|
-
/** Whether the install directory is empty enough to scaffold into */
|
|
157
|
-
scaffoldable: boolean;
|
|
158
|
-
/** Package manager resolved for the scaffolded app */
|
|
159
|
-
packageManager: PackageManager;
|
|
160
|
-
/** Whether to scaffold without prompting (headless or --scaffold) */
|
|
161
|
-
autoScaffold: boolean;
|
|
162
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"installer-core.types.js","sourceRoot":"","sources":["../../src/lib/installer-core.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { InstallerEventEmitter, CompletionData } from './events.js';\nimport type { InstallerOptions } from '../utils/types.js';\nimport type { Integration } from './constants.js';\nimport type { PackageManager } from './scaffold/scaffold.js';\nimport type { DeviceAuthResponse } from './device-auth.js';\nimport type { EnvFileInfo, DiscoveryResult } from './credential-discovery.js';\n\nexport type { EnvFileInfo, DiscoveryResult };\nexport type { DeviceAuthResponse };\n\n/**\n * How credentials were resolved.\n */\nexport type CredentialSource = 'cli' | 'env' | 'stored' | 'device' | 'manual';\n\n/**\n * Context passed to the wizard state machine.\n * Contains all data needed throughout the wizard flow.\n */\nexport interface InstallerMachineContext {\n /** Event emitter for UI communication */\n emitter: InstallerEventEmitter;\n /** CLI options from command line args */\n options: InstallerOptions;\n /** Detected or selected framework integration */\n integration: Integration | undefined;\n /** WorkOS credentials gathered from user */\n credentials: { apiKey?: string; clientId: string } | undefined;\n /** Whether git working directory is clean */\n gitIsClean: boolean;\n /** List of dirty git files (if any) */\n gitDirtyFiles: string[];\n /** Error that caused failure (if any) */\n error: Error | undefined;\n /** How credentials were resolved */\n credentialSource?: CredentialSource;\n /** Device auth state for UI display */\n deviceAuth?: {\n verificationUri: string;\n verificationUriComplete: string;\n userCode: string;\n };\n /** Whether user consented to env file scanning */\n envScanConsent?: boolean;\n /** Env files detected in project (before consent) */\n envFilesDetected?: string[];\n /** Path to env file where credentials were found */\n envCredentialPath?: string;\n /** Current git branch name */\n currentBranch?: string;\n /** Whether current branch is protected */\n isProtectedBranch?: boolean;\n /** Files changed during agent execution (for post-install) */\n changedFiles?: string[];\n /** AI-generated commit message */\n commitMessage?: string;\n /** AI-generated PR description */\n prDescription?: string;\n /** URL of created PR */\n prUrl?: string;\n /** Summary message from agent execution */\n agentSummary?: string;\n /** Whether the install directory is empty and can be scaffolded into */\n scaffoldable?: boolean;\n /** Package manager resolved for the scaffolded app */\n packageManager?: PackageManager;\n /** Whether to scaffold without prompting (headless mode or --scaffold) */\n autoScaffold?: boolean;\n /** Whether create-next-app actually ran and succeeded (for telemetry) */\n scaffolded?: boolean;\n /** Structured completion data for the success summary (built pre-complete) */\n completion?: CompletionData;\n}\n\n/**\n * Input provided when creating the machine actor.\n * These values initialize the context.\n */\nexport interface InstallerMachineInput {\n emitter: InstallerEventEmitter;\n options: InstallerOptions;\n}\n\n/**\n * All events the wizard machine can receive.\n */\nexport type InstallerMachineEvent =\n | { type: 'START' }\n | { type: 'SKIP_AUTH' }\n | { type: 'GIT_CONFIRMED' }\n | { type: 'GIT_CANCELLED' }\n // Scaffold events\n | { type: 'SCAFFOLD_CONFIRMED' }\n | { type: 'SCAFFOLD_CANCELLED' }\n | { type: 'CREDENTIALS_SUBMITTED'; apiKey: string; clientId: string }\n | { type: 'CANCEL' }\n // Credential discovery events\n | { type: 'ENV_SCAN_APPROVED' }\n | { type: 'ENV_SCAN_DECLINED' }\n | { type: 'RETRY_AUTH' }\n // Branch check events\n | { type: 'BRANCH_CREATE' }\n | { type: 'BRANCH_CONTINUE' }\n | { type: 'BRANCH_CANCEL' }\n // Post-install events\n | { type: 'COMMIT_APPROVED' }\n | { type: 'COMMIT_DECLINED' }\n | { type: 'PR_APPROVED' }\n | { type: 'PR_DECLINED' };\n\n/**\n * Output from the detection actor.\n */\nexport interface DetectionOutput {\n integration: Integration | undefined;\n}\n\n/**\n * Output from the git check actor.\n */\nexport interface GitCheckOutput {\n isClean: boolean;\n files: string[];\n}\n\n/**\n * Output from the agent actor.\n */\nexport interface AgentOutput {\n success: boolean;\n summary?: string;\n error?: Error;\n}\n\n/**\n * Output from the branch check actor.\n */\nexport interface BranchCheckOutput {\n branch: string | null;\n isProtected: boolean;\n}\n\n/**\n * Output from the workspace check actor (scaffold gate).\n */\nexport interface WorkspaceCheckOutput {\n /** Whether the install directory is empty enough to scaffold into */\n scaffoldable: boolean;\n /** Package manager resolved for the scaffolded app */\n packageManager: PackageManager;\n /** Whether to scaffold without prompting (headless or --scaffold) */\n autoScaffold: boolean;\n}\n"]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export type McpAgentKey = 'claude-code' | 'codex' | 'cursor';
|
|
2
|
-
export type McpOutcome = 'installed' | 'already-installed' | 'removed' | 'not-installed' | 'skipped' | 'failed';
|
|
3
|
-
/**
|
|
4
|
-
* Human phrasing for each outcome (JSON mode emits the raw `outcome` value).
|
|
5
|
-
* Lives with the `McpOutcome` type so every consumer (`mcp` command, `setup`)
|
|
6
|
-
* stays in lockstep when an outcome is added.
|
|
7
|
-
*/
|
|
8
|
-
export declare const MCP_OUTCOME_LABELS: Record<McpOutcome, string>;
|
|
9
|
-
export interface McpClientResult {
|
|
10
|
-
agent: McpAgentKey;
|
|
11
|
-
displayName: string;
|
|
12
|
-
outcome: McpOutcome;
|
|
13
|
-
/** stderr/message excerpt when `outcome === 'failed'`. */
|
|
14
|
-
error?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface McpClientTarget {
|
|
17
|
-
key: McpAgentKey;
|
|
18
|
-
displayName: string;
|
|
19
|
-
/** Agent is usable on this machine (config dir present AND, for CLI clients, binary runnable). */
|
|
20
|
-
isAvailable(): Promise<boolean>;
|
|
21
|
-
/** The WorkOS server is present in this client's config. */
|
|
22
|
-
isInstalled(): Promise<boolean>;
|
|
23
|
-
add(): Promise<McpClientResult>;
|
|
24
|
-
remove(): Promise<McpClientResult>;
|
|
25
|
-
}
|
|
26
|
-
/** Stable list of known agent keys, for `--agent` validation by callers. */
|
|
27
|
-
export declare const MCP_AGENT_KEYS: McpAgentKey[];
|
|
28
|
-
/** The three client targets, in a stable order. */
|
|
29
|
-
export declare function createMcpClients(): McpClientTarget[];
|
|
30
|
-
/**
|
|
31
|
-
* The URL the WorkOS server is configured with in Cursor's `~/.cursor/mcp.json`,
|
|
32
|
-
* or null when the file/entry is absent, unreadable, or unparseable.
|
|
33
|
-
*
|
|
34
|
-
* Cursor is the only client whose config we read directly (the CLI clients don't
|
|
35
|
-
* expose per-entry URLs), so this powers doctor's URL-drift ("misconfigured")
|
|
36
|
-
* check without a second jsonc reader duplicating the config schema. Read-only
|
|
37
|
-
* and never throws — a problem reading just yields null.
|
|
38
|
-
*/
|
|
39
|
-
export declare function getCursorConfiguredUrl(): Promise<string | null>;
|
|
40
|
-
/**
|
|
41
|
-
* Return only the clients available on this machine, optionally narrowed to
|
|
42
|
-
* `agentFilter` keys. Availability is probed in parallel. An unknown filter key
|
|
43
|
-
* simply matches nothing here — callers validate keys and surface the error.
|
|
44
|
-
*/
|
|
45
|
-
export declare function detectMcpClients(agentFilter?: string[]): Promise<McpClientTarget[]>;
|