workos 0.18.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -783
- package/bin/workos.js +44 -0
- package/package.json +18 -107
- package/LICENSE +0 -47
- package/dist/bin.d.ts +0 -2
- package/dist/bin.js +0 -1711
- package/dist/bin.js.map +0 -1
- package/dist/check-coverage.ts +0 -237
- 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 -205
- 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 -131
- 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 -23
- 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 -6
- package/dist/commands/emulate.js +0 -68
- package/dist/commands/emulate.js.map +0 -1
- package/dist/commands/env.d.ts +0 -9
- package/dist/commands/env.js +0 -227
- 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 -56
- 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 -22
- package/dist/commands/login.js +0 -184
- 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 -108
- 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 -49
- 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 -297
- 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/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 -194
- 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/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 -198
- 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 -288
- 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/emulate/core/id.d.ts +0 -48
- package/dist/emulate/core/id.js +0 -73
- package/dist/emulate/core/id.js.map +0 -1
- package/dist/emulate/core/index.d.ts +0 -8
- package/dist/emulate/core/index.js +0 -8
- package/dist/emulate/core/index.js.map +0 -1
- package/dist/emulate/core/jwt.d.ts +0 -28
- package/dist/emulate/core/jwt.js +0 -78
- package/dist/emulate/core/jwt.js.map +0 -1
- package/dist/emulate/core/middleware/auth.d.ts +0 -15
- package/dist/emulate/core/middleware/auth.js +0 -17
- package/dist/emulate/core/middleware/auth.js.map +0 -1
- package/dist/emulate/core/middleware/error-handler.d.ts +0 -22
- package/dist/emulate/core/middleware/error-handler.js +0 -72
- package/dist/emulate/core/middleware/error-handler.js.map +0 -1
- package/dist/emulate/core/pagination.d.ts +0 -27
- package/dist/emulate/core/pagination.js +0 -43
- package/dist/emulate/core/pagination.js.map +0 -1
- package/dist/emulate/core/plugin.d.ts +0 -15
- package/dist/emulate/core/plugin.js +0 -2
- package/dist/emulate/core/plugin.js.map +0 -1
- package/dist/emulate/core/server.d.ts +0 -17
- package/dist/emulate/core/server.js +0 -90
- package/dist/emulate/core/server.js.map +0 -1
- package/dist/emulate/core/store.d.ts +0 -44
- package/dist/emulate/core/store.js +0 -169
- package/dist/emulate/core/store.js.map +0 -1
- package/dist/emulate/index.d.ts +0 -25
- package/dist/emulate/index.js +0 -47
- package/dist/emulate/index.js.map +0 -1
- package/dist/emulate/workos/constants.d.ts +0 -56
- package/dist/emulate/workos/constants.js +0 -56
- package/dist/emulate/workos/constants.js.map +0 -1
- package/dist/emulate/workos/entities.d.ts +0 -360
- package/dist/emulate/workos/entities.js +0 -2
- package/dist/emulate/workos/entities.js.map +0 -1
- package/dist/emulate/workos/event-bus.d.ts +0 -17
- package/dist/emulate/workos/event-bus.js +0 -70
- package/dist/emulate/workos/event-bus.js.map +0 -1
- package/dist/emulate/workos/helpers.d.ts +0 -72
- package/dist/emulate/workos/helpers.js +0 -211
- package/dist/emulate/workos/helpers.js.map +0 -1
- package/dist/emulate/workos/index.d.ts +0 -93
- package/dist/emulate/workos/index.js +0 -326
- package/dist/emulate/workos/index.js.map +0 -1
- package/dist/emulate/workos/role-helpers.d.ts +0 -21
- package/dist/emulate/workos/role-helpers.js +0 -130
- package/dist/emulate/workos/role-helpers.js.map +0 -1
- package/dist/emulate/workos/routes/api-keys.d.ts +0 -2
- package/dist/emulate/workos/routes/api-keys.js +0 -32
- package/dist/emulate/workos/routes/api-keys.js.map +0 -1
- package/dist/emulate/workos/routes/audit-logs.d.ts +0 -2
- package/dist/emulate/workos/routes/audit-logs.js +0 -104
- package/dist/emulate/workos/routes/audit-logs.js.map +0 -1
- package/dist/emulate/workos/routes/auth-challenges.d.ts +0 -2
- package/dist/emulate/workos/routes/auth-challenges.js +0 -51
- package/dist/emulate/workos/routes/auth-challenges.js.map +0 -1
- package/dist/emulate/workos/routes/auth-factors.d.ts +0 -2
- package/dist/emulate/workos/routes/auth-factors.js +0 -51
- package/dist/emulate/workos/routes/auth-factors.js.map +0 -1
- package/dist/emulate/workos/routes/auth.d.ts +0 -2
- package/dist/emulate/workos/routes/auth.js +0 -350
- package/dist/emulate/workos/routes/auth.js.map +0 -1
- package/dist/emulate/workos/routes/authorization-checks.d.ts +0 -10
- package/dist/emulate/workos/routes/authorization-checks.js +0 -123
- package/dist/emulate/workos/routes/authorization-checks.js.map +0 -1
- package/dist/emulate/workos/routes/authorization-org-roles.d.ts +0 -2
- package/dist/emulate/workos/routes/authorization-org-roles.js +0 -64
- package/dist/emulate/workos/routes/authorization-org-roles.js.map +0 -1
- package/dist/emulate/workos/routes/authorization-permissions.d.ts +0 -2
- package/dist/emulate/workos/routes/authorization-permissions.js +0 -67
- package/dist/emulate/workos/routes/authorization-permissions.js.map +0 -1
- package/dist/emulate/workos/routes/authorization-resources.d.ts +0 -2
- package/dist/emulate/workos/routes/authorization-resources.js +0 -117
- package/dist/emulate/workos/routes/authorization-resources.js.map +0 -1
- package/dist/emulate/workos/routes/authorization-roles.d.ts +0 -2
- package/dist/emulate/workos/routes/authorization-roles.js +0 -13
- package/dist/emulate/workos/routes/authorization-roles.js.map +0 -1
- package/dist/emulate/workos/routes/config.d.ts +0 -2
- package/dist/emulate/workos/routes/config.js +0 -57
- package/dist/emulate/workos/routes/config.js.map +0 -1
- package/dist/emulate/workos/routes/connect.d.ts +0 -2
- package/dist/emulate/workos/routes/connect.js +0 -65
- package/dist/emulate/workos/routes/connect.js.map +0 -1
- package/dist/emulate/workos/routes/connections.d.ts +0 -2
- package/dist/emulate/workos/routes/connections.js +0 -73
- package/dist/emulate/workos/routes/connections.js.map +0 -1
- package/dist/emulate/workos/routes/data-integrations.d.ts +0 -2
- package/dist/emulate/workos/routes/data-integrations.js +0 -55
- package/dist/emulate/workos/routes/data-integrations.js.map +0 -1
- package/dist/emulate/workos/routes/directories.d.ts +0 -2
- package/dist/emulate/workos/routes/directories.js +0 -90
- package/dist/emulate/workos/routes/directories.js.map +0 -1
- package/dist/emulate/workos/routes/email-verification.d.ts +0 -2
- package/dist/emulate/workos/routes/email-verification.js +0 -49
- package/dist/emulate/workos/routes/email-verification.js.map +0 -1
- package/dist/emulate/workos/routes/events.d.ts +0 -2
- package/dist/emulate/workos/routes/events.js +0 -18
- package/dist/emulate/workos/routes/events.js.map +0 -1
- package/dist/emulate/workos/routes/feature-flags.d.ts +0 -2
- package/dist/emulate/workos/routes/feature-flags.js +0 -103
- package/dist/emulate/workos/routes/feature-flags.js.map +0 -1
- package/dist/emulate/workos/routes/invitations.d.ts +0 -2
- package/dist/emulate/workos/routes/invitations.js +0 -122
- package/dist/emulate/workos/routes/invitations.js.map +0 -1
- package/dist/emulate/workos/routes/legacy-mfa.d.ts +0 -2
- package/dist/emulate/workos/routes/legacy-mfa.js +0 -75
- package/dist/emulate/workos/routes/legacy-mfa.js.map +0 -1
- package/dist/emulate/workos/routes/magic-auth.d.ts +0 -2
- package/dist/emulate/workos/routes/magic-auth.js +0 -32
- package/dist/emulate/workos/routes/magic-auth.js.map +0 -1
- package/dist/emulate/workos/routes/memberships.d.ts +0 -2
- package/dist/emulate/workos/routes/memberships.js +0 -114
- package/dist/emulate/workos/routes/memberships.js.map +0 -1
- package/dist/emulate/workos/routes/organization-domains.d.ts +0 -2
- package/dist/emulate/workos/routes/organization-domains.js +0 -58
- package/dist/emulate/workos/routes/organization-domains.js.map +0 -1
- package/dist/emulate/workos/routes/organizations.d.ts +0 -2
- package/dist/emulate/workos/routes/organizations.js +0 -131
- package/dist/emulate/workos/routes/organizations.js.map +0 -1
- package/dist/emulate/workos/routes/password-reset.d.ts +0 -2
- package/dist/emulate/workos/routes/password-reset.js +0 -61
- package/dist/emulate/workos/routes/password-reset.js.map +0 -1
- package/dist/emulate/workos/routes/pipes.d.ts +0 -2
- package/dist/emulate/workos/routes/pipes.js +0 -82
- package/dist/emulate/workos/routes/pipes.js.map +0 -1
- package/dist/emulate/workos/routes/portal.d.ts +0 -2
- package/dist/emulate/workos/routes/portal.js +0 -18
- package/dist/emulate/workos/routes/portal.js.map +0 -1
- package/dist/emulate/workos/routes/radar.d.ts +0 -2
- package/dist/emulate/workos/routes/radar.js +0 -41
- package/dist/emulate/workos/routes/radar.js.map +0 -1
- package/dist/emulate/workos/routes/sessions.d.ts +0 -2
- package/dist/emulate/workos/routes/sessions.js +0 -51
- package/dist/emulate/workos/routes/sessions.js.map +0 -1
- package/dist/emulate/workos/routes/sso.d.ts +0 -2
- package/dist/emulate/workos/routes/sso.js +0 -161
- package/dist/emulate/workos/routes/sso.js.map +0 -1
- package/dist/emulate/workos/routes/user-features.d.ts +0 -2
- package/dist/emulate/workos/routes/user-features.js +0 -50
- package/dist/emulate/workos/routes/user-features.js.map +0 -1
- package/dist/emulate/workos/routes/users.d.ts +0 -2
- package/dist/emulate/workos/routes/users.js +0 -129
- package/dist/emulate/workos/routes/users.js.map +0 -1
- package/dist/emulate/workos/routes/webhook-endpoints.d.ts +0 -2
- package/dist/emulate/workos/routes/webhook-endpoints.js +0 -67
- package/dist/emulate/workos/routes/webhook-endpoints.js.map +0 -1
- package/dist/emulate/workos/routes/widgets.d.ts +0 -2
- package/dist/emulate/workos/routes/widgets.js +0 -27
- package/dist/emulate/workos/routes/widgets.js.map +0 -1
- package/dist/emulate/workos/store.d.ts +0 -48
- package/dist/emulate/workos/store.js +0 -102
- package/dist/emulate/workos/store.js.map +0 -1
- package/dist/emulate/workos/webhook-signer.d.ts +0 -1
- package/dist/emulate/workos/webhook-signer.js +0 -8
- package/dist/emulate/workos/webhook-signer.js.map +0 -1
- package/dist/gen-routes-lib.spec.ts +0 -659
- package/dist/gen-routes-lib.ts +0 -647
- package/dist/gen-routes.ts +0 -96
- 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 -90
- 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 -53
- 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 -146
- 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 -84
- package/dist/lib/adapters/cli-adapter.js +0 -525
- 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 -73
- package/dist/lib/adapters/headless-adapter.js +0 -310
- 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 -826
- 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 -36
- 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/config-store.d.ts +0 -50
- package/dist/lib/config-store.js +0 -269
- 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 -43
- package/dist/lib/constants.js +0 -42
- 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 -215
- package/dist/lib/events.js +0 -19
- package/dist/lib/events.js.map +0 -1
- package/dist/lib/framework-config.d.ts +0 -127
- 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 -556
- package/dist/lib/installer-core.js +0 -1115
- package/dist/lib/installer-core.js.map +0 -1
- package/dist/lib/installer-core.types.d.ts +0 -160
- 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 -39
- package/dist/lib/mcp-clients.js +0 -284
- package/dist/lib/mcp-clients.js.map +0 -1
- package/dist/lib/mcp-notice.d.ts +0 -72
- package/dist/lib/mcp-notice.js +0 -275
- package/dist/lib/mcp-notice.js.map +0 -1
- package/dist/lib/port-detection.d.ts +0 -7
- package/dist/lib/port-detection.js +0 -238
- 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 -115
- package/dist/lib/preferences.js +0 -201
- 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 -522
- 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 -59
- 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 -77
- 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 -77
- 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 -105
- 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 -684
- 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 -142
- 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 -32
- package/dist/run.js +0 -54
- 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 -57
- 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 -33
- package/dist/utils/box.js +0 -102
- package/dist/utils/box.js.map +0 -1
- package/dist/utils/clack-utils.d.ts +0 -97
- package/dist/utils/clack-utils.js +0 -422
- package/dist/utils/clack-utils.js.map +0 -1
- package/dist/utils/clack.d.ts +0 -5
- package/dist/utils/clack.js +0 -34
- package/dist/utils/clack.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 -32
- package/dist/utils/cli-symbols.js +0 -46
- 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 -1466
- 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 -37
- package/dist/utils/recovery-hints.js +0 -80
- 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 -18
- package/dist/utils/summary-box.js +0 -148
- 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 -113
- package/dist/utils/types.js +0 -2
- package/dist/utils/types.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,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unclaimed environment provisioning helper.
|
|
3
|
-
*
|
|
4
|
-
* Calls the unclaimed env API, saves credentials to config store as type 'unclaimed',
|
|
5
|
-
* and returns whether provisioning succeeded. Non-fatal — wraps everything in
|
|
6
|
-
* try/catch so install flow can fall back to login.
|
|
7
|
-
*/
|
|
8
|
-
export interface UnclaimedEnvProvisionOptions {
|
|
9
|
-
installDir: string;
|
|
10
|
-
/** Redirect URI key name varies by framework */
|
|
11
|
-
redirectUriKey?: string;
|
|
12
|
-
/** Redirect URI value */
|
|
13
|
-
redirectUri?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Try to provision an unclaimed environment. Non-fatal — returns true on success,
|
|
17
|
-
* false on any failure.
|
|
18
|
-
*
|
|
19
|
-
* On success:
|
|
20
|
-
* - Saves environment to config store as type 'unclaimed'
|
|
21
|
-
* - Sets it as active environment
|
|
22
|
-
* - Writes credentials (including cookie password and claim token) to .env.local
|
|
23
|
-
*/
|
|
24
|
-
export declare function tryProvisionUnclaimedEnv(options: UnclaimedEnvProvisionOptions): Promise<boolean>;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unclaimed environment provisioning helper.
|
|
3
|
-
*
|
|
4
|
-
* Calls the unclaimed env API, saves credentials to config store as type 'unclaimed',
|
|
5
|
-
* and returns whether provisioning succeeded. Non-fatal — wraps everything in
|
|
6
|
-
* try/catch so install flow can fall back to login.
|
|
7
|
-
*/
|
|
8
|
-
import chalk from 'chalk';
|
|
9
|
-
import { provisionUnclaimedEnvironment, UnclaimedEnvApiError } from './unclaimed-env-api.js';
|
|
10
|
-
import { getConfig, saveConfig, getActiveEnvironment } from './config-store.js';
|
|
11
|
-
import { writeCredentialsEnv } from './env-writer.js';
|
|
12
|
-
import { logInfo, logError } from '../utils/debug.js';
|
|
13
|
-
import { renderStderrBox } from '../utils/box.js';
|
|
14
|
-
import clack from '../utils/clack.js';
|
|
15
|
-
/**
|
|
16
|
-
* Try to provision an unclaimed environment. Non-fatal — returns true on success,
|
|
17
|
-
* false on any failure.
|
|
18
|
-
*
|
|
19
|
-
* On success:
|
|
20
|
-
* - Saves environment to config store as type 'unclaimed'
|
|
21
|
-
* - Sets it as active environment
|
|
22
|
-
* - Writes credentials (including cookie password and claim token) to .env.local
|
|
23
|
-
*/
|
|
24
|
-
export async function tryProvisionUnclaimedEnv(options) {
|
|
25
|
-
try {
|
|
26
|
-
logInfo('[unclaimed-env-provision] Attempting unclaimed environment provisioning');
|
|
27
|
-
const result = await provisionUnclaimedEnvironment();
|
|
28
|
-
// Write .env.local first — if this fails, config stays clean (no orphan entries)
|
|
29
|
-
const envVars = {
|
|
30
|
-
WORKOS_API_KEY: result.apiKey,
|
|
31
|
-
WORKOS_CLIENT_ID: result.clientId,
|
|
32
|
-
WORKOS_CLAIM_TOKEN: result.claimToken,
|
|
33
|
-
};
|
|
34
|
-
if (options.redirectUri) {
|
|
35
|
-
const key = options.redirectUriKey ?? 'WORKOS_REDIRECT_URI';
|
|
36
|
-
envVars[key] = options.redirectUri;
|
|
37
|
-
}
|
|
38
|
-
writeCredentialsEnv(options.installDir, envVars);
|
|
39
|
-
// Save to config store (after .env.local succeeds)
|
|
40
|
-
const config = getConfig() ?? { environments: {} };
|
|
41
|
-
config.environments['unclaimed'] = {
|
|
42
|
-
name: 'unclaimed',
|
|
43
|
-
type: 'unclaimed',
|
|
44
|
-
apiKey: result.apiKey,
|
|
45
|
-
clientId: result.clientId,
|
|
46
|
-
claimToken: result.claimToken,
|
|
47
|
-
};
|
|
48
|
-
config.activeEnvironment = 'unclaimed';
|
|
49
|
-
saveConfig(config);
|
|
50
|
-
// Verify config persisted — critical for `workos env claim` in a later process
|
|
51
|
-
const readBack = getActiveEnvironment();
|
|
52
|
-
if (!readBack || readBack.type !== 'unclaimed') {
|
|
53
|
-
logError('[unclaimed-env-provision] Config read-back failed after save — claim token may not persist');
|
|
54
|
-
clack.log.warn('Environment provisioned but config storage may be unreliable. Falling back to login...');
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
logInfo('[unclaimed-env-provision] Unclaimed environment provisioned and saved');
|
|
58
|
-
const inner = ` ✓ ${chalk.green('Environment provisioned')} — Run ${chalk.cyan('workos env claim')} to keep it. `;
|
|
59
|
-
renderStderrBox(inner, chalk.green);
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
64
|
-
logError('[unclaimed-env-provision] Failed:', message);
|
|
65
|
-
if (error instanceof UnclaimedEnvApiError) {
|
|
66
|
-
if (error.statusCode === 429) {
|
|
67
|
-
clack.log.warn('WorkOS is busy, falling back to login...');
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
// Non-API errors (filesystem, keyring) are unexpected — surface to user
|
|
72
|
-
clack.log.warn(`Could not set up environment: ${message}. Falling back to login...`);
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=unclaimed-env-provision.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unclaimed-env-provision.js","sourceRoot":"","sources":["../../src/lib/unclaimed-env-provision.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Unclaimed environment provisioning helper.\n *\n * Calls the unclaimed env API, saves credentials to config store as type 'unclaimed',\n * and returns whether provisioning succeeded. Non-fatal — wraps everything in\n * try/catch so install flow can fall back to login.\n */\n\nimport chalk from 'chalk';\nimport { provisionUnclaimedEnvironment, UnclaimedEnvApiError } from './unclaimed-env-api.js';\nimport { getConfig, saveConfig, getActiveEnvironment } from './config-store.js';\nimport type { CliConfig } from './config-store.js';\nimport { writeCredentialsEnv } from './env-writer.js';\nimport { logInfo, logError } from '../utils/debug.js';\nimport { renderStderrBox } from '../utils/box.js';\nimport clack from '../utils/clack.js';\n\nexport interface UnclaimedEnvProvisionOptions {\n installDir: string;\n /** Redirect URI key name varies by framework */\n redirectUriKey?: string;\n /** Redirect URI value */\n redirectUri?: string;\n}\n\n/**\n * Try to provision an unclaimed environment. Non-fatal — returns true on success,\n * false on any failure.\n *\n * On success:\n * - Saves environment to config store as type 'unclaimed'\n * - Sets it as active environment\n * - Writes credentials (including cookie password and claim token) to .env.local\n */\nexport async function tryProvisionUnclaimedEnv(options: UnclaimedEnvProvisionOptions): Promise<boolean> {\n try {\n logInfo('[unclaimed-env-provision] Attempting unclaimed environment provisioning');\n\n const result = await provisionUnclaimedEnvironment();\n\n // Write .env.local first — if this fails, config stays clean (no orphan entries)\n const envVars: Record<string, string> = {\n WORKOS_API_KEY: result.apiKey,\n WORKOS_CLIENT_ID: result.clientId,\n WORKOS_CLAIM_TOKEN: result.claimToken,\n };\n\n if (options.redirectUri) {\n const key = options.redirectUriKey ?? 'WORKOS_REDIRECT_URI';\n envVars[key] = options.redirectUri;\n }\n\n writeCredentialsEnv(options.installDir, envVars);\n\n // Save to config store (after .env.local succeeds)\n const config: CliConfig = getConfig() ?? { environments: {} };\n config.environments['unclaimed'] = {\n name: 'unclaimed',\n type: 'unclaimed',\n apiKey: result.apiKey,\n clientId: result.clientId,\n claimToken: result.claimToken,\n };\n config.activeEnvironment = 'unclaimed';\n saveConfig(config);\n\n // Verify config persisted — critical for `workos env claim` in a later process\n const readBack = getActiveEnvironment();\n if (!readBack || readBack.type !== 'unclaimed') {\n logError('[unclaimed-env-provision] Config read-back failed after save — claim token may not persist');\n clack.log.warn('Environment provisioned but config storage may be unreliable. Falling back to login...');\n return false;\n }\n\n logInfo('[unclaimed-env-provision] Unclaimed environment provisioned and saved');\n const inner = ` ✓ ${chalk.green('Environment provisioned')} — Run ${chalk.cyan('workos env claim')} to keep it. `;\n renderStderrBox(inner, chalk.green);\n\n return true;\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n logError('[unclaimed-env-provision] Failed:', message);\n\n if (error instanceof UnclaimedEnvApiError) {\n if (error.statusCode === 429) {\n clack.log.warn('WorkOS is busy, falling back to login...');\n }\n } else {\n // Non-API errors (filesystem, keyring) are unexpected — surface to user\n clack.log.warn(`Could not set up environment: ${message}. Falling back to login...`);\n }\n\n return false;\n }\n}\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unclaimed environment warning module.
|
|
3
|
-
*
|
|
4
|
-
* Shows a one-line stderr warning when the active environment is unclaimed.
|
|
5
|
-
* On first run, checks if the environment was claimed externally (e.g. via
|
|
6
|
-
* browser) and updates the local config if so.
|
|
7
|
-
* Never throws — all errors are caught to avoid blocking management commands.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Show a warning if the active environment is unclaimed.
|
|
11
|
-
* Non-blocking — never throws.
|
|
12
|
-
*/
|
|
13
|
-
export declare function warnIfUnclaimed(): Promise<void>;
|
|
14
|
-
/** Reset session state (for testing) */
|
|
15
|
-
export declare function resetUnclaimedWarningState(): void;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unclaimed environment warning module.
|
|
3
|
-
*
|
|
4
|
-
* Shows a one-line stderr warning when the active environment is unclaimed.
|
|
5
|
-
* On first run, checks if the environment was claimed externally (e.g. via
|
|
6
|
-
* browser) and updates the local config if so.
|
|
7
|
-
* Never throws — all errors are caught to avoid blocking management commands.
|
|
8
|
-
*/
|
|
9
|
-
import chalk from 'chalk';
|
|
10
|
-
import { getActiveEnvironment, isUnclaimedEnvironment, markEnvironmentClaimed } from './config-store.js';
|
|
11
|
-
import { createClaimNonce, UnclaimedEnvApiError } from './unclaimed-env-api.js';
|
|
12
|
-
import { logError, logInfo } from '../utils/debug.js';
|
|
13
|
-
import { isJsonMode } from '../utils/output.js';
|
|
14
|
-
import { renderStderrBox } from '../utils/box.js';
|
|
15
|
-
import { markStartupNoticeShown } from './startup-notice-gate.js';
|
|
16
|
-
let warningShownThisSession = false;
|
|
17
|
-
let claimCheckDoneThisSession = false;
|
|
18
|
-
/**
|
|
19
|
-
* Show a warning if the active environment is unclaimed.
|
|
20
|
-
* Non-blocking — never throws.
|
|
21
|
-
*/
|
|
22
|
-
export async function warnIfUnclaimed() {
|
|
23
|
-
try {
|
|
24
|
-
const env = getActiveEnvironment();
|
|
25
|
-
if (!env || !isUnclaimedEnvironment(env))
|
|
26
|
-
return;
|
|
27
|
-
// Check once per session if the env was claimed externally
|
|
28
|
-
// claimToken and clientId guaranteed present by UnclaimedEnvironmentConfig
|
|
29
|
-
if (!claimCheckDoneThisSession) {
|
|
30
|
-
claimCheckDoneThisSession = true;
|
|
31
|
-
try {
|
|
32
|
-
const result = await createClaimNonce(env.clientId, env.claimToken);
|
|
33
|
-
if (result.alreadyClaimed) {
|
|
34
|
-
markEnvironmentClaimed();
|
|
35
|
-
logInfo('[unclaimed-warning] Environment was claimed externally, config updated');
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
if (error instanceof UnclaimedEnvApiError && error.statusCode === 401) {
|
|
41
|
-
// 401 likely means the claim token was invalidated after the environment
|
|
42
|
-
// was claimed. We assume claimed and promote to sandbox.
|
|
43
|
-
markEnvironmentClaimed();
|
|
44
|
-
logInfo('[unclaimed-warning] Claim token invalid/expired, removed');
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
// Log non-401 errors for diagnostics, then fall through to show warning
|
|
48
|
-
if (error instanceof UnclaimedEnvApiError) {
|
|
49
|
-
logError('[unclaimed-warning] Claim check failed:', error.statusCode, error.message);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
logError('[unclaimed-warning] Claim check failed:', error instanceof Error ? error.message : String(error));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
// Show warning once per session
|
|
57
|
-
if (warningShownThisSession)
|
|
58
|
-
return;
|
|
59
|
-
warningShownThisSession = true;
|
|
60
|
-
if (!isJsonMode()) {
|
|
61
|
-
const inner = ` ${chalk.yellow('⚠ Unclaimed environment')} — Run ${chalk.cyan('workos env claim')} to keep your data. `;
|
|
62
|
-
renderStderrBox(inner, chalk.yellow);
|
|
63
|
-
// Claim the one-notice-per-run slot so the lower-priority MCP banner defers.
|
|
64
|
-
markStartupNoticeShown();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
// Never block command execution, but log for diagnostics
|
|
69
|
-
logError('[unclaimed-warning] Unexpected error:', error instanceof Error ? error.message : String(error));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/** Reset session state (for testing) */
|
|
73
|
-
export function resetUnclaimedWarningState() {
|
|
74
|
-
warningShownThisSession = false;
|
|
75
|
-
claimCheckDoneThisSession = false;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=unclaimed-warning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unclaimed-warning.js","sourceRoot":"","sources":["../../src/lib/unclaimed-warning.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YAAE,OAAO;QAEjD,2DAA2D;QAC3D,2EAA2E;QAC3E,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,yBAAyB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,sBAAsB,EAAE,CAAC;oBACzB,OAAO,CAAC,wEAAwE,CAAC,CAAC;oBAClF,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACtE,yEAAyE;oBACzE,yDAAyD;oBACzD,sBAAsB,EAAE,CAAC;oBACzB,OAAO,CAAC,0DAA0D,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBACD,wEAAwE;gBACxE,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;oBAC1C,QAAQ,CAAC,yCAAyC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,yCAAyC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,uBAAuB;YAAE,OAAO;QACpC,uBAAuB,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;YACxH,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,6EAA6E;YAC7E,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yDAAyD;QACzD,QAAQ,CAAC,uCAAuC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,0BAA0B;IACxC,uBAAuB,GAAG,KAAK,CAAC;IAChC,yBAAyB,GAAG,KAAK,CAAC;AACpC,CAAC","sourcesContent":["/**\n * Unclaimed environment warning module.\n *\n * Shows a one-line stderr warning when the active environment is unclaimed.\n * On first run, checks if the environment was claimed externally (e.g. via\n * browser) and updates the local config if so.\n * Never throws — all errors are caught to avoid blocking management commands.\n */\n\nimport chalk from 'chalk';\nimport { getActiveEnvironment, isUnclaimedEnvironment, markEnvironmentClaimed } from './config-store.js';\nimport { createClaimNonce, UnclaimedEnvApiError } from './unclaimed-env-api.js';\nimport { logError, logInfo } from '../utils/debug.js';\nimport { isJsonMode } from '../utils/output.js';\nimport { renderStderrBox } from '../utils/box.js';\nimport { markStartupNoticeShown } from './startup-notice-gate.js';\n\nlet warningShownThisSession = false;\nlet claimCheckDoneThisSession = false;\n\n/**\n * Show a warning if the active environment is unclaimed.\n * Non-blocking — never throws.\n */\nexport async function warnIfUnclaimed(): Promise<void> {\n try {\n const env = getActiveEnvironment();\n if (!env || !isUnclaimedEnvironment(env)) return;\n\n // Check once per session if the env was claimed externally\n // claimToken and clientId guaranteed present by UnclaimedEnvironmentConfig\n if (!claimCheckDoneThisSession) {\n claimCheckDoneThisSession = true;\n try {\n const result = await createClaimNonce(env.clientId, env.claimToken);\n if (result.alreadyClaimed) {\n markEnvironmentClaimed();\n logInfo('[unclaimed-warning] Environment was claimed externally, config updated');\n return;\n }\n } catch (error) {\n if (error instanceof UnclaimedEnvApiError && error.statusCode === 401) {\n // 401 likely means the claim token was invalidated after the environment\n // was claimed. We assume claimed and promote to sandbox.\n markEnvironmentClaimed();\n logInfo('[unclaimed-warning] Claim token invalid/expired, removed');\n return;\n }\n // Log non-401 errors for diagnostics, then fall through to show warning\n if (error instanceof UnclaimedEnvApiError) {\n logError('[unclaimed-warning] Claim check failed:', error.statusCode, error.message);\n } else {\n logError('[unclaimed-warning] Claim check failed:', error instanceof Error ? error.message : String(error));\n }\n }\n }\n\n // Show warning once per session\n if (warningShownThisSession) return;\n warningShownThisSession = true;\n\n if (!isJsonMode()) {\n const inner = ` ${chalk.yellow('⚠ Unclaimed environment')} — Run ${chalk.cyan('workos env claim')} to keep your data. `;\n renderStderrBox(inner, chalk.yellow);\n // Claim the one-notice-per-run slot so the lower-priority MCP banner defers.\n markStartupNoticeShown();\n }\n } catch (error) {\n // Never block command execution, but log for diagnostics\n logError('[unclaimed-warning] Unexpected error:', error instanceof Error ? error.message : String(error));\n }\n}\n\n/** Reset session state (for testing) */\nexport function resetUnclaimedWarningState(): void {\n warningShownThisSession = false;\n claimCheckDoneThisSession = false;\n}\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ValidationIssue } from './types.js';
|
|
2
|
-
export interface BuildResult {
|
|
3
|
-
success: boolean;
|
|
4
|
-
issues: ValidationIssue[];
|
|
5
|
-
durationMs: number;
|
|
6
|
-
stdout: string;
|
|
7
|
-
stderr: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function runBuildValidation(projectDir: string, timeoutMs?: number): Promise<BuildResult>;
|
|
10
|
-
export declare function detectPackageManager(projectDir: string): 'pnpm' | 'yarn' | 'npm';
|
|
11
|
-
export declare function hasBuildScriptInPackageJson(projectDir: string): Promise<boolean>;
|
|
12
|
-
export interface BuildCommand {
|
|
13
|
-
command: string;
|
|
14
|
-
args: string[];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Detect the build command for a project by checking ecosystem markers.
|
|
18
|
-
* Returns null if no build system detected — caller should skip build validation.
|
|
19
|
-
*/
|
|
20
|
-
export declare function detectBuildCommand(projectDir: string): Promise<BuildCommand | null>;
|
|
21
|
-
export declare function parseBuildErrors(output: string): string[];
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
|
-
import { existsSync, readdirSync } from 'fs';
|
|
3
|
-
import { readFile } from 'fs/promises';
|
|
4
|
-
import { join } from 'path';
|
|
5
|
-
import { IS_WINDOWS, SPAWN_OPTS } from '../../utils/platform.js';
|
|
6
|
-
export async function runBuildValidation(projectDir, timeoutMs = 60000) {
|
|
7
|
-
const startTime = Date.now();
|
|
8
|
-
const pm = detectPackageManager(projectDir);
|
|
9
|
-
const hasBuildScript = await hasBuildScriptInPackageJson(projectDir);
|
|
10
|
-
if (!hasBuildScript) {
|
|
11
|
-
return {
|
|
12
|
-
success: true,
|
|
13
|
-
issues: [],
|
|
14
|
-
durationMs: Date.now() - startTime,
|
|
15
|
-
stdout: '',
|
|
16
|
-
stderr: '',
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
return new Promise((resolve) => {
|
|
20
|
-
const args = pm === 'npm' ? ['run', 'build'] : ['build'];
|
|
21
|
-
const proc = spawn(pm, args, {
|
|
22
|
-
cwd: projectDir,
|
|
23
|
-
timeout: timeoutMs,
|
|
24
|
-
...SPAWN_OPTS,
|
|
25
|
-
});
|
|
26
|
-
let stdout = '';
|
|
27
|
-
let stderr = '';
|
|
28
|
-
proc.stdout?.on('data', (data) => {
|
|
29
|
-
stdout += data.toString();
|
|
30
|
-
});
|
|
31
|
-
proc.stderr?.on('data', (data) => {
|
|
32
|
-
stderr += data.toString();
|
|
33
|
-
});
|
|
34
|
-
proc.on('close', (code) => {
|
|
35
|
-
const issues = [];
|
|
36
|
-
if (code !== 0) {
|
|
37
|
-
// Parse errors from output
|
|
38
|
-
const errors = parseBuildErrors(stdout + stderr);
|
|
39
|
-
for (const error of errors) {
|
|
40
|
-
issues.push({
|
|
41
|
-
type: 'file',
|
|
42
|
-
severity: 'error',
|
|
43
|
-
message: `Build error: ${error}`,
|
|
44
|
-
hint: 'Fix the error and run build again',
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
// Fallback if no specific errors parsed
|
|
48
|
-
if (issues.length === 0) {
|
|
49
|
-
issues.push({
|
|
50
|
-
type: 'file',
|
|
51
|
-
severity: 'error',
|
|
52
|
-
message: 'Build failed',
|
|
53
|
-
hint: `Run \`${pm} ${args.join(' ')}\` to see full output`,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
resolve({
|
|
58
|
-
success: code === 0,
|
|
59
|
-
issues,
|
|
60
|
-
durationMs: Date.now() - startTime,
|
|
61
|
-
stdout,
|
|
62
|
-
stderr,
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
proc.on('error', (err) => {
|
|
66
|
-
resolve({
|
|
67
|
-
success: false,
|
|
68
|
-
issues: [
|
|
69
|
-
{
|
|
70
|
-
type: 'file',
|
|
71
|
-
severity: 'warning',
|
|
72
|
-
message: `Could not run build: ${err.message}`,
|
|
73
|
-
hint: 'Build validation skipped',
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
durationMs: Date.now() - startTime,
|
|
77
|
-
stdout: '',
|
|
78
|
-
stderr: '',
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
export function detectPackageManager(projectDir) {
|
|
84
|
-
if (existsSync(join(projectDir, 'pnpm-lock.yaml')))
|
|
85
|
-
return 'pnpm';
|
|
86
|
-
if (existsSync(join(projectDir, 'yarn.lock')))
|
|
87
|
-
return 'yarn';
|
|
88
|
-
return 'npm';
|
|
89
|
-
}
|
|
90
|
-
export async function hasBuildScriptInPackageJson(projectDir) {
|
|
91
|
-
try {
|
|
92
|
-
const content = await readFile(join(projectDir, 'package.json'), 'utf-8');
|
|
93
|
-
const pkg = JSON.parse(content);
|
|
94
|
-
return !!pkg.scripts?.build;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Detect the build command for a project by checking ecosystem markers.
|
|
102
|
-
* Returns null if no build system detected — caller should skip build validation.
|
|
103
|
-
*/
|
|
104
|
-
export async function detectBuildCommand(projectDir) {
|
|
105
|
-
const pm = detectPackageManager(projectDir);
|
|
106
|
-
if (await hasBuildScriptInPackageJson(projectDir)) {
|
|
107
|
-
const args = pm === 'npm' ? ['run', 'build'] : ['build'];
|
|
108
|
-
return { command: pm, args };
|
|
109
|
-
}
|
|
110
|
-
if (existsSync(join(projectDir, 'go.mod'))) {
|
|
111
|
-
return { command: 'go', args: ['build', './...'] };
|
|
112
|
-
}
|
|
113
|
-
if (existsSync(join(projectDir, 'mix.exs'))) {
|
|
114
|
-
return { command: 'mix', args: ['compile'] };
|
|
115
|
-
}
|
|
116
|
-
try {
|
|
117
|
-
const files = readdirSync(projectDir);
|
|
118
|
-
if (files.some((f) => f.endsWith('.csproj'))) {
|
|
119
|
-
return { command: 'dotnet', args: ['build'] };
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
// Can't read directory
|
|
124
|
-
}
|
|
125
|
-
if (existsSync(join(projectDir, 'build.gradle.kts')) || existsSync(join(projectDir, 'build.gradle'))) {
|
|
126
|
-
const hasWrapper = IS_WINDOWS
|
|
127
|
-
? existsSync(join(projectDir, 'gradlew.bat'))
|
|
128
|
-
: existsSync(join(projectDir, 'gradlew'));
|
|
129
|
-
const gradlew = hasWrapper ? (IS_WINDOWS ? '.\\gradlew.bat' : './gradlew') : 'gradle';
|
|
130
|
-
return { command: gradlew, args: ['build'] };
|
|
131
|
-
}
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
export function parseBuildErrors(output) {
|
|
135
|
-
const errors = [];
|
|
136
|
-
// TypeScript errors: "file.ts(line,col): error TS..."
|
|
137
|
-
const tsErrors = output.match(/[\w./]+\.\w+\(\d+,\d+\):\s*error\s+TS\d+:.+/g);
|
|
138
|
-
if (tsErrors) {
|
|
139
|
-
errors.push(...tsErrors.slice(0, 5)); // Limit to first 5
|
|
140
|
-
}
|
|
141
|
-
// Next.js errors: "Error: ..."
|
|
142
|
-
const nextErrors = output.match(/Error:\s+.+/g);
|
|
143
|
-
if (nextErrors) {
|
|
144
|
-
errors.push(...nextErrors.slice(0, 5));
|
|
145
|
-
}
|
|
146
|
-
// ESLint errors: "file.ts line:col error ..."
|
|
147
|
-
const eslintErrors = output.match(/[\w./]+:\d+:\d+\s+error\s+.+/g);
|
|
148
|
-
if (eslintErrors) {
|
|
149
|
-
errors.push(...eslintErrors.slice(0, 5));
|
|
150
|
-
}
|
|
151
|
-
return errors;
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=build-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-validator.js","sourceRoot":"","sources":["../../../src/lib/validation/build-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawn } from 'child_process';\nimport { existsSync, readdirSync } from 'fs';\nimport { readFile } from 'fs/promises';\nimport { join } from 'path';\nimport type { ValidationIssue } from './types.js';\nimport { IS_WINDOWS, SPAWN_OPTS } from '../../utils/platform.js';\n\nexport interface BuildResult {\n success: boolean;\n issues: ValidationIssue[];\n durationMs: number;\n stdout: string;\n stderr: string;\n}\n\nexport async function runBuildValidation(projectDir: string, timeoutMs: number = 60000): Promise<BuildResult> {\n const startTime = Date.now();\n const pm = detectPackageManager(projectDir);\n const hasBuildScript = await hasBuildScriptInPackageJson(projectDir);\n\n if (!hasBuildScript) {\n return {\n success: true,\n issues: [],\n durationMs: Date.now() - startTime,\n stdout: '',\n stderr: '',\n };\n }\n\n return new Promise((resolve) => {\n const args = pm === 'npm' ? ['run', 'build'] : ['build'];\n const proc = spawn(pm, args, {\n cwd: projectDir,\n timeout: timeoutMs,\n ...SPAWN_OPTS,\n });\n\n let stdout = '';\n let stderr = '';\n\n proc.stdout?.on('data', (data: Buffer) => {\n stdout += data.toString();\n });\n proc.stderr?.on('data', (data: Buffer) => {\n stderr += data.toString();\n });\n\n proc.on('close', (code) => {\n const issues: ValidationIssue[] = [];\n\n if (code !== 0) {\n // Parse errors from output\n const errors = parseBuildErrors(stdout + stderr);\n for (const error of errors) {\n issues.push({\n type: 'file',\n severity: 'error',\n message: `Build error: ${error}`,\n hint: 'Fix the error and run build again',\n });\n }\n\n // Fallback if no specific errors parsed\n if (issues.length === 0) {\n issues.push({\n type: 'file',\n severity: 'error',\n message: 'Build failed',\n hint: `Run \\`${pm} ${args.join(' ')}\\` to see full output`,\n });\n }\n }\n\n resolve({\n success: code === 0,\n issues,\n durationMs: Date.now() - startTime,\n stdout,\n stderr,\n });\n });\n\n proc.on('error', (err) => {\n resolve({\n success: false,\n issues: [\n {\n type: 'file',\n severity: 'warning',\n message: `Could not run build: ${err.message}`,\n hint: 'Build validation skipped',\n },\n ],\n durationMs: Date.now() - startTime,\n stdout: '',\n stderr: '',\n });\n });\n });\n}\n\nexport function detectPackageManager(projectDir: string): 'pnpm' | 'yarn' | 'npm' {\n if (existsSync(join(projectDir, 'pnpm-lock.yaml'))) return 'pnpm';\n if (existsSync(join(projectDir, 'yarn.lock'))) return 'yarn';\n return 'npm';\n}\n\nexport async function hasBuildScriptInPackageJson(projectDir: string): Promise<boolean> {\n try {\n const content = await readFile(join(projectDir, 'package.json'), 'utf-8');\n const pkg = JSON.parse(content) as { scripts?: { build?: string } };\n return !!pkg.scripts?.build;\n } catch {\n return false;\n }\n}\n\nexport interface BuildCommand {\n command: string;\n args: string[];\n}\n\n/**\n * Detect the build command for a project by checking ecosystem markers.\n * Returns null if no build system detected — caller should skip build validation.\n */\nexport async function detectBuildCommand(projectDir: string): Promise<BuildCommand | null> {\n const pm = detectPackageManager(projectDir);\n if (await hasBuildScriptInPackageJson(projectDir)) {\n const args = pm === 'npm' ? ['run', 'build'] : ['build'];\n return { command: pm, args };\n }\n\n if (existsSync(join(projectDir, 'go.mod'))) {\n return { command: 'go', args: ['build', './...'] };\n }\n\n if (existsSync(join(projectDir, 'mix.exs'))) {\n return { command: 'mix', args: ['compile'] };\n }\n\n try {\n const files = readdirSync(projectDir);\n if (files.some((f) => f.endsWith('.csproj'))) {\n return { command: 'dotnet', args: ['build'] };\n }\n } catch {\n // Can't read directory\n }\n\n if (existsSync(join(projectDir, 'build.gradle.kts')) || existsSync(join(projectDir, 'build.gradle'))) {\n const hasWrapper = IS_WINDOWS\n ? existsSync(join(projectDir, 'gradlew.bat'))\n : existsSync(join(projectDir, 'gradlew'));\n const gradlew = hasWrapper ? (IS_WINDOWS ? '.\\\\gradlew.bat' : './gradlew') : 'gradle';\n return { command: gradlew, args: ['build'] };\n }\n\n return null;\n}\n\nexport function parseBuildErrors(output: string): string[] {\n const errors: string[] = [];\n\n // TypeScript errors: \"file.ts(line,col): error TS...\"\n const tsErrors = output.match(/[\\w./]+\\.\\w+\\(\\d+,\\d+\\):\\s*error\\s+TS\\d+:.+/g);\n if (tsErrors) {\n errors.push(...tsErrors.slice(0, 5)); // Limit to first 5\n }\n\n // Next.js errors: \"Error: ...\"\n const nextErrors = output.match(/Error:\\s+.+/g);\n if (nextErrors) {\n errors.push(...nextErrors.slice(0, 5));\n }\n\n // ESLint errors: \"file.ts line:col error ...\"\n const eslintErrors = output.match(/[\\w./]+:\\d+:\\d+\\s+error\\s+.+/g);\n if (eslintErrors) {\n errors.push(...eslintErrors.slice(0, 5));\n }\n\n return errors;\n}\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { validateInstallation, validatePackages, validateEnvVars, validateFiles, validateFrameworkSpecific, type ValidateOptions, } from './validator.js';
|
|
2
|
-
export { runBuildValidation, type BuildResult } from './build-validator.js';
|
|
3
|
-
export { runQuickChecks, runTypecheckValidation, quickCheckValidateAndFormat } from './quick-checks.js';
|
|
4
|
-
export type { ValidationResult, ValidationRules, ValidationIssue, ValidationSeverity, ValidationIssueType, PackageRule, EnvVarRule, FileRule, VariantRules, QuickCheckResult, QuickChecksOutput, } from './types.js';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { validateInstallation, validatePackages, validateEnvVars, validateFiles, validateFrameworkSpecific, } from './validator.js';
|
|
2
|
-
export { runBuildValidation } from './build-validator.js';
|
|
3
|
-
export { runQuickChecks, runTypecheckValidation, quickCheckValidateAndFormat } from './quick-checks.js';
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,yBAAyB,GAE1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export {\n validateInstallation,\n validatePackages,\n validateEnvVars,\n validateFiles,\n validateFrameworkSpecific,\n type ValidateOptions,\n} from './validator.js';\nexport { runBuildValidation, type BuildResult } from './build-validator.js';\nexport { runQuickChecks, runTypecheckValidation, quickCheckValidateAndFormat } from './quick-checks.js';\nexport type {\n ValidationResult,\n ValidationRules,\n ValidationIssue,\n ValidationSeverity,\n ValidationIssueType,\n PackageRule,\n EnvVarRule,\n FileRule,\n VariantRules,\n QuickCheckResult,\n QuickChecksOutput,\n} from './types.js';\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { QuickCheckResult, QuickChecksOutput } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Run fast deterministic checks: typecheck first, then build.
|
|
4
|
-
* Short-circuits: if typecheck fails, skip build (build will fail too).
|
|
5
|
-
*/
|
|
6
|
-
export declare function runQuickChecks(projectDir: string, options?: {
|
|
7
|
-
skipBuild?: boolean;
|
|
8
|
-
timeoutMs?: number;
|
|
9
|
-
}): Promise<QuickChecksOutput>;
|
|
10
|
-
/**
|
|
11
|
-
* Run typecheck only (tsc --noEmit or framework equivalent).
|
|
12
|
-
* Faster than full build — catches type errors in ~5s.
|
|
13
|
-
*/
|
|
14
|
-
export declare function runTypecheckValidation(projectDir: string, timeoutMs?: number): Promise<QuickCheckResult>;
|
|
15
|
-
/**
|
|
16
|
-
* Validation callback suitable for RetryConfig.validateAndFormat.
|
|
17
|
-
* Returns null if checks pass, or an agent-ready error prompt if they fail.
|
|
18
|
-
*/
|
|
19
|
-
export declare function quickCheckValidateAndFormat(workingDirectory: string): Promise<string | null>;
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
|
-
import { readFile } from 'fs/promises';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { detectBuildCommand, detectPackageManager, parseBuildErrors } from './build-validator.js';
|
|
5
|
-
import { SPAWN_OPTS } from '../../utils/platform.js';
|
|
6
|
-
const DEFAULT_TYPECHECK_TIMEOUT_MS = 30_000;
|
|
7
|
-
const DEFAULT_BUILD_TIMEOUT_MS = 60_000;
|
|
8
|
-
/**
|
|
9
|
-
* Run fast deterministic checks: typecheck first, then build.
|
|
10
|
-
* Short-circuits: if typecheck fails, skip build (build will fail too).
|
|
11
|
-
*/
|
|
12
|
-
export async function runQuickChecks(projectDir, options) {
|
|
13
|
-
const startTime = Date.now();
|
|
14
|
-
const results = [];
|
|
15
|
-
const typecheckResult = await runTypecheckValidation(projectDir, options?.timeoutMs ?? DEFAULT_TYPECHECK_TIMEOUT_MS);
|
|
16
|
-
results.push(typecheckResult);
|
|
17
|
-
if (typecheckResult.passed && !options?.skipBuild) {
|
|
18
|
-
results.push(await runBuildQuickCheck(projectDir, options?.timeoutMs ?? DEFAULT_BUILD_TIMEOUT_MS));
|
|
19
|
-
}
|
|
20
|
-
const passed = results.every((r) => r.passed);
|
|
21
|
-
return {
|
|
22
|
-
passed,
|
|
23
|
-
results,
|
|
24
|
-
agentRetryPrompt: passed ? null : formatForAgent(results),
|
|
25
|
-
totalDurationMs: Date.now() - startTime,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function passResult(phase, startTime) {
|
|
29
|
-
return { passed: true, phase, issues: [], agentPrompt: null, durationMs: Date.now() - startTime };
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Run typecheck only (tsc --noEmit or framework equivalent).
|
|
33
|
-
* Faster than full build — catches type errors in ~5s.
|
|
34
|
-
*/
|
|
35
|
-
export async function runTypecheckValidation(projectDir, timeoutMs = DEFAULT_TYPECHECK_TIMEOUT_MS) {
|
|
36
|
-
const startTime = Date.now();
|
|
37
|
-
const typecheckCmd = await detectTypecheckCommand(projectDir);
|
|
38
|
-
if (!typecheckCmd) {
|
|
39
|
-
return passResult('typecheck', startTime);
|
|
40
|
-
}
|
|
41
|
-
const { exitCode, stdout, stderr } = await spawnCommand(typecheckCmd.command, typecheckCmd.args, projectDir, timeoutMs);
|
|
42
|
-
if (exitCode === 0) {
|
|
43
|
-
return passResult('typecheck', startTime);
|
|
44
|
-
}
|
|
45
|
-
const output = stdout + stderr;
|
|
46
|
-
const errors = parseTypecheckErrors(output);
|
|
47
|
-
const issues = errors.map((error) => ({
|
|
48
|
-
type: 'file',
|
|
49
|
-
severity: 'error',
|
|
50
|
-
message: `Type error: ${error}`,
|
|
51
|
-
hint: 'Fix the type error and run typecheck again',
|
|
52
|
-
}));
|
|
53
|
-
if (issues.length === 0) {
|
|
54
|
-
issues.push({
|
|
55
|
-
type: 'file',
|
|
56
|
-
severity: 'error',
|
|
57
|
-
message: 'Typecheck failed',
|
|
58
|
-
hint: `Run \`${typecheckCmd.command} ${typecheckCmd.args.join(' ')}\` to see full output`,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
passed: false,
|
|
63
|
-
phase: 'typecheck',
|
|
64
|
-
issues,
|
|
65
|
-
agentPrompt: formatTypecheckErrors(errors, output),
|
|
66
|
-
durationMs: Date.now() - startTime,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
async function runBuildQuickCheck(projectDir, timeoutMs) {
|
|
70
|
-
const startTime = Date.now();
|
|
71
|
-
const buildCmd = await detectBuildCommand(projectDir);
|
|
72
|
-
if (!buildCmd) {
|
|
73
|
-
return passResult('build', startTime);
|
|
74
|
-
}
|
|
75
|
-
const { exitCode, stdout, stderr } = await spawnCommand(buildCmd.command, buildCmd.args, projectDir, timeoutMs);
|
|
76
|
-
if (exitCode === 0) {
|
|
77
|
-
return passResult('build', startTime);
|
|
78
|
-
}
|
|
79
|
-
const output = stdout + stderr;
|
|
80
|
-
const errors = parseBuildErrors(output);
|
|
81
|
-
const issues = errors.length > 0
|
|
82
|
-
? errors.map((e) => ({
|
|
83
|
-
type: 'file',
|
|
84
|
-
severity: 'error',
|
|
85
|
-
message: `Build error: ${e}`,
|
|
86
|
-
hint: 'Fix the error and run build again',
|
|
87
|
-
}))
|
|
88
|
-
: [
|
|
89
|
-
{
|
|
90
|
-
type: 'file',
|
|
91
|
-
severity: 'error',
|
|
92
|
-
message: 'Build failed',
|
|
93
|
-
hint: `Run \`${buildCmd.command} ${buildCmd.args.join(' ')}\` to see full output`,
|
|
94
|
-
},
|
|
95
|
-
];
|
|
96
|
-
return {
|
|
97
|
-
passed: false,
|
|
98
|
-
phase: 'build',
|
|
99
|
-
issues,
|
|
100
|
-
agentPrompt: formatBuildErrors(issues),
|
|
101
|
-
durationMs: Date.now() - startTime,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
async function detectTypecheckCommand(projectDir) {
|
|
105
|
-
const pm = detectPackageManager(projectDir);
|
|
106
|
-
try {
|
|
107
|
-
const content = await readFile(join(projectDir, 'package.json'), 'utf-8');
|
|
108
|
-
const pkg = JSON.parse(content);
|
|
109
|
-
const scriptName = pkg.scripts?.typecheck ? 'typecheck' : pkg.scripts?.['type-check'] ? 'type-check' : null;
|
|
110
|
-
if (scriptName) {
|
|
111
|
-
const args = pm === 'npm' ? ['run', scriptName] : [scriptName];
|
|
112
|
-
return { command: pm, args };
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// No package.json or malformed
|
|
117
|
-
}
|
|
118
|
-
try {
|
|
119
|
-
await readFile(join(projectDir, 'tsconfig.json'), 'utf-8');
|
|
120
|
-
return { command: 'npx', args: ['tsc', '--noEmit'] };
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
function parseTypecheckErrors(output) {
|
|
127
|
-
// Match both TS error formats:
|
|
128
|
-
// src/file.ts(line,col): error TS2345: ...
|
|
129
|
-
// src/file.ts:line:col - error TS2345: ... (tsc --pretty)
|
|
130
|
-
const pattern = /[\w./]+\.\w+(?:\(\d+,\d+\):\s*|:\d+:\d+\s*-\s*)error\s+TS\d+:.+/g;
|
|
131
|
-
const matches = output.match(pattern);
|
|
132
|
-
return matches ? [...new Set(matches)].slice(0, 10) : [];
|
|
133
|
-
}
|
|
134
|
-
function formatTypecheckErrors(errors, rawOutput) {
|
|
135
|
-
if (errors.length === 0) {
|
|
136
|
-
// Couldn't parse specific errors — give raw output
|
|
137
|
-
const truncated = rawOutput.slice(0, 2000);
|
|
138
|
-
return `The typecheck failed. Here is the output:\n\n${truncated}\n\nFix the type errors shown above.`;
|
|
139
|
-
}
|
|
140
|
-
const lines = errors.map((error) => {
|
|
141
|
-
// Extract file:line info and error description
|
|
142
|
-
const fileMatch = error.match(/([\w./]+\.\w+)[:(]\d+/);
|
|
143
|
-
const tsMatch = error.match(/error\s+(TS\d+):\s*(.+)/);
|
|
144
|
-
if (fileMatch && tsMatch) {
|
|
145
|
-
return `- ${fileMatch[1]}: ${tsMatch[2]} (${tsMatch[1]})`;
|
|
146
|
-
}
|
|
147
|
-
return `- ${error}`;
|
|
148
|
-
});
|
|
149
|
-
return `The typecheck failed with ${errors.length} error${errors.length === 1 ? '' : 's'}:\n\n${lines.join('\n')}\n\nFix these type errors in the indicated files.`;
|
|
150
|
-
}
|
|
151
|
-
function formatBuildErrors(issues) {
|
|
152
|
-
const errorMessages = issues.map((i) => `- ${i.message}`);
|
|
153
|
-
return `The build failed:\n\n${errorMessages.join('\n')}\n\nFix these build errors.`;
|
|
154
|
-
}
|
|
155
|
-
function formatForAgent(results) {
|
|
156
|
-
return results
|
|
157
|
-
.filter((r) => !r.passed && r.agentPrompt)
|
|
158
|
-
.map((r) => r.agentPrompt)
|
|
159
|
-
.join('\n\n');
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Validation callback suitable for RetryConfig.validateAndFormat.
|
|
163
|
-
* Returns null if checks pass, or an agent-ready error prompt if they fail.
|
|
164
|
-
*/
|
|
165
|
-
export async function quickCheckValidateAndFormat(workingDirectory) {
|
|
166
|
-
const result = await runQuickChecks(workingDirectory);
|
|
167
|
-
return result.passed ? null : result.agentRetryPrompt;
|
|
168
|
-
}
|
|
169
|
-
function spawnCommand(command, args, cwd, timeoutMs) {
|
|
170
|
-
return new Promise((resolve) => {
|
|
171
|
-
const proc = spawn(command, args, {
|
|
172
|
-
cwd,
|
|
173
|
-
timeout: timeoutMs,
|
|
174
|
-
...SPAWN_OPTS,
|
|
175
|
-
});
|
|
176
|
-
let stdout = '';
|
|
177
|
-
let stderr = '';
|
|
178
|
-
proc.stdout?.on('data', (data) => {
|
|
179
|
-
stdout += data.toString();
|
|
180
|
-
});
|
|
181
|
-
proc.stderr?.on('data', (data) => {
|
|
182
|
-
stderr += data.toString();
|
|
183
|
-
});
|
|
184
|
-
proc.on('close', (code) => {
|
|
185
|
-
resolve({ exitCode: code ?? 1, stdout, stderr });
|
|
186
|
-
});
|
|
187
|
-
proc.on('error', () => {
|
|
188
|
-
resolve({ exitCode: 1, stdout, stderr });
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=quick-checks.js.map
|