@allstak/wizard 0.1.3
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/CHANGELOG.md +90 -0
- package/README.md +79 -0
- package/dist/api/auth-client.d.ts +22 -0
- package/dist/api/auth-client.d.ts.map +1 -0
- package/dist/api/auth-client.js +65 -0
- package/dist/api/auth-client.js.map +1 -0
- package/dist/api/auth.d.ts +39 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +69 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/client.d.ts +15 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +19 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/http.d.ts +44 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +130 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +12 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/orgs-client.d.ts +16 -0
- package/dist/api/orgs-client.d.ts.map +1 -0
- package/dist/api/orgs-client.js +36 -0
- package/dist/api/orgs-client.js.map +1 -0
- package/dist/api/projects-client.d.ts +27 -0
- package/dist/api/projects-client.d.ts.map +1 -0
- package/dist/api/projects-client.js +58 -0
- package/dist/api/projects-client.js.map +1 -0
- package/dist/api/setup-doctor-client.d.ts +31 -0
- package/dist/api/setup-doctor-client.d.ts.map +1 -0
- package/dist/api/setup-doctor-client.js +68 -0
- package/dist/api/setup-doctor-client.js.map +1 -0
- package/dist/api/types.d.ts +92 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +9 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +303 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/_context.d.ts +37 -0
- package/dist/commands/_context.d.ts.map +1 -0
- package/dist/commands/_context.js +61 -0
- package/dist/commands/_context.js.map +1 -0
- package/dist/commands/config-cmd.d.ts +24 -0
- package/dist/commands/config-cmd.d.ts.map +1 -0
- package/dist/commands/config-cmd.js +137 -0
- package/dist/commands/config-cmd.js.map +1 -0
- package/dist/commands/doctor.d.ts +58 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +389 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +28 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +157 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +14 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/login.d.ts +27 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +116 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +15 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +36 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/orgs.d.ts +14 -0
- package/dist/commands/orgs.d.ts.map +1 -0
- package/dist/commands/orgs.js +39 -0
- package/dist/commands/orgs.js.map +1 -0
- package/dist/commands/projects.d.ts +21 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +86 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/repair.d.ts +12 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +45 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/restore.d.ts +32 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +120 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/uninstall.d.ts +13 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +53 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/whoami.d.ts +13 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +54 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/compat/engine.d.ts +31 -0
- package/dist/compat/engine.d.ts.map +1 -0
- package/dist/compat/engine.js +82 -0
- package/dist/compat/engine.js.map +1 -0
- package/dist/config/define.d.ts +21 -0
- package/dist/config/define.d.ts.map +1 -0
- package/dist/config/define.js +22 -0
- package/dist/config/define.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +26 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +84 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/migrations.d.ts +64 -0
- package/dist/config/migrations.d.ts.map +1 -0
- package/dist/config/migrations.js +66 -0
- package/dist/config/migrations.js.map +1 -0
- package/dist/config/precedence.d.ts +24 -0
- package/dist/config/precedence.d.ts.map +1 -0
- package/dist/config/precedence.js +55 -0
- package/dist/config/precedence.js.map +1 -0
- package/dist/config/schema.d.ts +10 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +140 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +80 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +23 -0
- package/dist/config/types.js.map +1 -0
- package/dist/credentials/encrypted-file.d.ts +3 -0
- package/dist/credentials/encrypted-file.d.ts.map +1 -0
- package/dist/credentials/encrypted-file.js +139 -0
- package/dist/credentials/encrypted-file.js.map +1 -0
- package/dist/credentials/error.d.ts +11 -0
- package/dist/credentials/error.d.ts.map +1 -0
- package/dist/credentials/error.js +14 -0
- package/dist/credentials/error.js.map +1 -0
- package/dist/credentials/index.d.ts +20 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +56 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/credentials/keychain-darwin.d.ts +11 -0
- package/dist/credentials/keychain-darwin.d.ts.map +1 -0
- package/dist/credentials/keychain-darwin.js +88 -0
- package/dist/credentials/keychain-darwin.js.map +1 -0
- package/dist/credentials/keychain-linux.d.ts +13 -0
- package/dist/credentials/keychain-linux.d.ts.map +1 -0
- package/dist/credentials/keychain-linux.js +88 -0
- package/dist/credentials/keychain-linux.js.map +1 -0
- package/dist/credentials/keychain-win.d.ts +13 -0
- package/dist/credentials/keychain-win.d.ts.map +1 -0
- package/dist/credentials/keychain-win.js +31 -0
- package/dist/credentials/keychain-win.js.map +1 -0
- package/dist/credentials/types.d.ts +38 -0
- package/dist/credentials/types.d.ts.map +1 -0
- package/dist/credentials/types.js +5 -0
- package/dist/credentials/types.js.map +1 -0
- package/dist/detect/framework.d.ts +28 -0
- package/dist/detect/framework.d.ts.map +1 -0
- package/dist/detect/framework.js +131 -0
- package/dist/detect/framework.js.map +1 -0
- package/dist/detect/index.d.ts +4 -0
- package/dist/detect/index.d.ts.map +1 -0
- package/dist/detect/index.js +4 -0
- package/dist/detect/index.js.map +1 -0
- package/dist/detect/monorepo.d.ts +10 -0
- package/dist/detect/monorepo.d.ts.map +1 -0
- package/dist/detect/monorepo.js +42 -0
- package/dist/detect/monorepo.js.map +1 -0
- package/dist/detect/package-manager.d.ts +18 -0
- package/dist/detect/package-manager.d.ts.map +1 -0
- package/dist/detect/package-manager.js +60 -0
- package/dist/detect/package-manager.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/_scaffold.d.ts +23 -0
- package/dist/integrations/_scaffold.d.ts.map +1 -0
- package/dist/integrations/_scaffold.js +62 -0
- package/dist/integrations/_scaffold.js.map +1 -0
- package/dist/integrations/_shared.d.ts +18 -0
- package/dist/integrations/_shared.d.ts.map +1 -0
- package/dist/integrations/_shared.js +73 -0
- package/dist/integrations/_shared.js.map +1 -0
- package/dist/integrations/_simple-scaffold.d.ts +19 -0
- package/dist/integrations/_simple-scaffold.d.ts.map +1 -0
- package/dist/integrations/_simple-scaffold.js +23 -0
- package/dist/integrations/_simple-scaffold.js.map +1 -0
- package/dist/integrations/dotnet.d.ts +2 -0
- package/dist/integrations/dotnet.d.ts.map +1 -0
- package/dist/integrations/dotnet.js +9 -0
- package/dist/integrations/dotnet.js.map +1 -0
- package/dist/integrations/expo.d.ts +2 -0
- package/dist/integrations/expo.d.ts.map +1 -0
- package/dist/integrations/expo.js +12 -0
- package/dist/integrations/expo.js.map +1 -0
- package/dist/integrations/fastify.d.ts +2 -0
- package/dist/integrations/fastify.d.ts.map +1 -0
- package/dist/integrations/fastify.js +10 -0
- package/dist/integrations/fastify.js.map +1 -0
- package/dist/integrations/flutter.d.ts +2 -0
- package/dist/integrations/flutter.d.ts.map +1 -0
- package/dist/integrations/flutter.js +9 -0
- package/dist/integrations/flutter.js.map +1 -0
- package/dist/integrations/go.d.ts +2 -0
- package/dist/integrations/go.d.ts.map +1 -0
- package/dist/integrations/go.js +9 -0
- package/dist/integrations/go.js.map +1 -0
- package/dist/integrations/java.d.ts +2 -0
- package/dist/integrations/java.d.ts.map +1 -0
- package/dist/integrations/java.js +9 -0
- package/dist/integrations/java.js.map +1 -0
- package/dist/integrations/js/detect.d.ts +3 -0
- package/dist/integrations/js/detect.d.ts.map +1 -0
- package/dist/integrations/js/detect.js +7 -0
- package/dist/integrations/js/detect.js.map +1 -0
- package/dist/integrations/js/doctor.d.ts +3 -0
- package/dist/integrations/js/doctor.d.ts.map +1 -0
- package/dist/integrations/js/doctor.js +38 -0
- package/dist/integrations/js/doctor.js.map +1 -0
- package/dist/integrations/js/files.d.ts +3 -0
- package/dist/integrations/js/files.d.ts.map +1 -0
- package/dist/integrations/js/files.js +19 -0
- package/dist/integrations/js/files.js.map +1 -0
- package/dist/integrations/js/index.d.ts +3 -0
- package/dist/integrations/js/index.d.ts.map +1 -0
- package/dist/integrations/js/index.js +25 -0
- package/dist/integrations/js/index.js.map +1 -0
- package/dist/integrations/js/manifest.d.ts +3 -0
- package/dist/integrations/js/manifest.d.ts.map +1 -0
- package/dist/integrations/js/manifest.js +19 -0
- package/dist/integrations/js/manifest.js.map +1 -0
- package/dist/integrations/js/patch.d.ts +4 -0
- package/dist/integrations/js/patch.d.ts.map +1 -0
- package/dist/integrations/js/patch.js +24 -0
- package/dist/integrations/js/patch.js.map +1 -0
- package/dist/integrations/js/uninstall.d.ts +4 -0
- package/dist/integrations/js/uninstall.d.ts.map +1 -0
- package/dist/integrations/js/uninstall.js +16 -0
- package/dist/integrations/js/uninstall.js.map +1 -0
- package/dist/integrations/nestjs.d.ts +2 -0
- package/dist/integrations/nestjs.d.ts.map +1 -0
- package/dist/integrations/nestjs.js +10 -0
- package/dist/integrations/nestjs.js.map +1 -0
- package/dist/integrations/next/detect.d.ts +3 -0
- package/dist/integrations/next/detect.d.ts.map +1 -0
- package/dist/integrations/next/detect.js +11 -0
- package/dist/integrations/next/detect.js.map +1 -0
- package/dist/integrations/next/doctor.d.ts +3 -0
- package/dist/integrations/next/doctor.d.ts.map +1 -0
- package/dist/integrations/next/doctor.js +46 -0
- package/dist/integrations/next/doctor.js.map +1 -0
- package/dist/integrations/next/files.d.ts +3 -0
- package/dist/integrations/next/files.d.ts.map +1 -0
- package/dist/integrations/next/files.js +19 -0
- package/dist/integrations/next/files.js.map +1 -0
- package/dist/integrations/next/index.d.ts +3 -0
- package/dist/integrations/next/index.d.ts.map +1 -0
- package/dist/integrations/next/index.js +44 -0
- package/dist/integrations/next/index.js.map +1 -0
- package/dist/integrations/next/manifest.d.ts +3 -0
- package/dist/integrations/next/manifest.d.ts.map +1 -0
- package/dist/integrations/next/manifest.js +29 -0
- package/dist/integrations/next/manifest.js.map +1 -0
- package/dist/integrations/next/patch.d.ts +4 -0
- package/dist/integrations/next/patch.d.ts.map +1 -0
- package/dist/integrations/next/patch.js +49 -0
- package/dist/integrations/next/patch.js.map +1 -0
- package/dist/integrations/next/uninstall.d.ts +4 -0
- package/dist/integrations/next/uninstall.d.ts.map +1 -0
- package/dist/integrations/next/uninstall.js +22 -0
- package/dist/integrations/next/uninstall.js.map +1 -0
- package/dist/integrations/otel.d.ts +2 -0
- package/dist/integrations/otel.d.ts.map +1 -0
- package/dist/integrations/otel.js +10 -0
- package/dist/integrations/otel.js.map +1 -0
- package/dist/integrations/php.d.ts +2 -0
- package/dist/integrations/php.d.ts.map +1 -0
- package/dist/integrations/php.js +9 -0
- package/dist/integrations/php.js.map +1 -0
- package/dist/integrations/python.d.ts +2 -0
- package/dist/integrations/python.d.ts.map +1 -0
- package/dist/integrations/python.js +9 -0
- package/dist/integrations/python.js.map +1 -0
- package/dist/integrations/react/detect.d.ts +3 -0
- package/dist/integrations/react/detect.d.ts.map +1 -0
- package/dist/integrations/react/detect.js +11 -0
- package/dist/integrations/react/detect.js.map +1 -0
- package/dist/integrations/react/doctor.d.ts +3 -0
- package/dist/integrations/react/doctor.d.ts.map +1 -0
- package/dist/integrations/react/doctor.js +65 -0
- package/dist/integrations/react/doctor.js.map +1 -0
- package/dist/integrations/react/files.d.ts +4 -0
- package/dist/integrations/react/files.d.ts.map +1 -0
- package/dist/integrations/react/files.js +24 -0
- package/dist/integrations/react/files.js.map +1 -0
- package/dist/integrations/react/index.d.ts +17 -0
- package/dist/integrations/react/index.d.ts.map +1 -0
- package/dist/integrations/react/index.js +62 -0
- package/dist/integrations/react/index.js.map +1 -0
- package/dist/integrations/react/manifest.d.ts +3 -0
- package/dist/integrations/react/manifest.d.ts.map +1 -0
- package/dist/integrations/react/manifest.js +31 -0
- package/dist/integrations/react/manifest.js.map +1 -0
- package/dist/integrations/react/patch.d.ts +4 -0
- package/dist/integrations/react/patch.d.ts.map +1 -0
- package/dist/integrations/react/patch.js +39 -0
- package/dist/integrations/react/patch.js.map +1 -0
- package/dist/integrations/react/uninstall.d.ts +4 -0
- package/dist/integrations/react/uninstall.d.ts.map +1 -0
- package/dist/integrations/react/uninstall.js +21 -0
- package/dist/integrations/react/uninstall.js.map +1 -0
- package/dist/integrations/react-native.d.ts +10 -0
- package/dist/integrations/react-native.d.ts.map +1 -0
- package/dist/integrations/react-native.js +57 -0
- package/dist/integrations/react-native.js.map +1 -0
- package/dist/integrations/ruby.d.ts +2 -0
- package/dist/integrations/ruby.d.ts.map +1 -0
- package/dist/integrations/ruby.js +9 -0
- package/dist/integrations/ruby.js.map +1 -0
- package/dist/lifecycle/hooks.d.ts +42 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +43 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/migrations/builtin/dsn-to-api-key.d.ts +3 -0
- package/dist/migrations/builtin/dsn-to-api-key.d.ts.map +1 -0
- package/dist/migrations/builtin/dsn-to-api-key.js +59 -0
- package/dist/migrations/builtin/dsn-to-api-key.js.map +1 -0
- package/dist/migrations/engine.d.ts +52 -0
- package/dist/migrations/engine.d.ts.map +1 -0
- package/dist/migrations/engine.js +46 -0
- package/dist/migrations/engine.js.map +1 -0
- package/dist/migrations/index.d.ts +3 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +11 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/output/human.d.ts +20 -0
- package/dist/output/human.d.ts.map +1 -0
- package/dist/output/human.js +77 -0
- package/dist/output/human.js.map +1 -0
- package/dist/output/index.d.ts +6 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +8 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/json.d.ts +20 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +60 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/types.d.ts +36 -0
- package/dist/output/types.d.ts.map +1 -0
- package/dist/output/types.js +2 -0
- package/dist/output/types.js.map +1 -0
- package/dist/patchers/env-file.d.ts +21 -0
- package/dist/patchers/env-file.d.ts.map +1 -0
- package/dist/patchers/env-file.js +77 -0
- package/dist/patchers/env-file.js.map +1 -0
- package/dist/patchers/js-ast.d.ts +29 -0
- package/dist/patchers/js-ast.d.ts.map +1 -0
- package/dist/patchers/js-ast.js +71 -0
- package/dist/patchers/js-ast.js.map +1 -0
- package/dist/patchers/json-file.d.ts +19 -0
- package/dist/patchers/json-file.d.ts.map +1 -0
- package/dist/patchers/json-file.js +41 -0
- package/dist/patchers/json-file.js.map +1 -0
- package/dist/patchers/markers.d.ts +28 -0
- package/dist/patchers/markers.d.ts.map +1 -0
- package/dist/patchers/markers.js +49 -0
- package/dist/patchers/markers.js.map +1 -0
- package/dist/patchers/source-block.d.ts +24 -0
- package/dist/patchers/source-block.d.ts.map +1 -0
- package/dist/patchers/source-block.js +40 -0
- package/dist/patchers/source-block.js.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +42 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/manifest.d.ts +78 -0
- package/dist/registry/manifest.d.ts.map +1 -0
- package/dist/registry/manifest.js +2 -0
- package/dist/registry/manifest.js.map +1 -0
- package/dist/registry/registry.d.ts +14 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +29 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/registry/types.d.ts +78 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +2 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/snapshot/restore.d.ts +41 -0
- package/dist/snapshot/restore.d.ts.map +1 -0
- package/dist/snapshot/restore.js +110 -0
- package/dist/snapshot/restore.js.map +1 -0
- package/dist/snapshot/store.d.ts +105 -0
- package/dist/snapshot/store.d.ts.map +1 -0
- package/dist/snapshot/store.js +162 -0
- package/dist/snapshot/store.js.map +1 -0
- package/dist/sourcemaps/index.d.ts +3 -0
- package/dist/sourcemaps/index.d.ts.map +1 -0
- package/dist/sourcemaps/index.js +17 -0
- package/dist/sourcemaps/index.js.map +1 -0
- package/dist/sourcemaps/metro.d.ts +11 -0
- package/dist/sourcemaps/metro.d.ts.map +1 -0
- package/dist/sourcemaps/metro.js +31 -0
- package/dist/sourcemaps/metro.js.map +1 -0
- package/dist/sourcemaps/next.d.ts +3 -0
- package/dist/sourcemaps/next.d.ts.map +1 -0
- package/dist/sourcemaps/next.js +46 -0
- package/dist/sourcemaps/next.js.map +1 -0
- package/dist/sourcemaps/provider.d.ts +51 -0
- package/dist/sourcemaps/provider.d.ts.map +1 -0
- package/dist/sourcemaps/provider.js +29 -0
- package/dist/sourcemaps/provider.js.map +1 -0
- package/dist/sourcemaps/vite.d.ts +3 -0
- package/dist/sourcemaps/vite.d.ts.map +1 -0
- package/dist/sourcemaps/vite.js +60 -0
- package/dist/sourcemaps/vite.js.map +1 -0
- package/dist/sourcemaps/webpack.d.ts +8 -0
- package/dist/sourcemaps/webpack.d.ts.map +1 -0
- package/dist/sourcemaps/webpack.js +52 -0
- package/dist/sourcemaps/webpack.js.map +1 -0
- package/dist/telemetry/cli-wrap.d.ts +22 -0
- package/dist/telemetry/cli-wrap.d.ts.map +1 -0
- package/dist/telemetry/cli-wrap.js +53 -0
- package/dist/telemetry/cli-wrap.js.map +1 -0
- package/dist/telemetry/http-provider.d.ts +28 -0
- package/dist/telemetry/http-provider.d.ts.map +1 -0
- package/dist/telemetry/http-provider.js +24 -0
- package/dist/telemetry/http-provider.js.map +1 -0
- package/dist/telemetry/index.d.ts +7 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +6 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/install-id.d.ts +3 -0
- package/dist/telemetry/install-id.d.ts.map +1 -0
- package/dist/telemetry/install-id.js +46 -0
- package/dist/telemetry/install-id.js.map +1 -0
- package/dist/telemetry/payload.d.ts +82 -0
- package/dist/telemetry/payload.d.ts.map +1 -0
- package/dist/telemetry/payload.js +82 -0
- package/dist/telemetry/payload.js.map +1 -0
- package/dist/telemetry/provider.d.ts +32 -0
- package/dist/telemetry/provider.d.ts.map +1 -0
- package/dist/telemetry/provider.js +30 -0
- package/dist/telemetry/provider.js.map +1 -0
- package/dist/telemetry/runtime.d.ts +29 -0
- package/dist/telemetry/runtime.d.ts.map +1 -0
- package/dist/telemetry/runtime.js +44 -0
- package/dist/telemetry/runtime.js.map +1 -0
- package/dist/transaction/tx.d.ts +58 -0
- package/dist/transaction/tx.d.ts.map +1 -0
- package/dist/transaction/tx.js +170 -0
- package/dist/transaction/tx.js.map +1 -0
- package/dist/util/error-codes.d.ts +29 -0
- package/dist/util/error-codes.d.ts.map +1 -0
- package/dist/util/error-codes.js +192 -0
- package/dist/util/error-codes.js.map +1 -0
- package/dist/util/errors.d.ts +83 -0
- package/dist/util/errors.d.ts.map +1 -0
- package/dist/util/errors.js +110 -0
- package/dist/util/errors.js.map +1 -0
- package/dist/util/log.d.ts +11 -0
- package/dist/util/log.d.ts.map +1 -0
- package/dist/util/log.js +18 -0
- package/dist/util/log.js.map +1 -0
- package/dist/util/paths.d.ts +3 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +31 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/version.d.ts +15 -0
- package/dist/util/version.d.ts.map +1 -0
- package/dist/util/version.js +40 -0
- package/dist/util/version.js.map +1 -0
- package/dist/util/wizard-version.d.ts +6 -0
- package/dist/util/wizard-version.d.ts.map +1 -0
- package/dist/util/wizard-version.js +6 -0
- package/dist/util/wizard-version.js.map +1 -0
- package/docs/architecture/README.md +58 -0
- package/docs/architecture/dry-run.md +34 -0
- package/docs/architecture/integration-lifecycle.md +77 -0
- package/docs/architecture/patch-pipeline.md +58 -0
- package/docs/architecture/registry.md +52 -0
- package/docs/architecture/rollback.md +47 -0
- package/docs/architecture/sourcemaps.md +53 -0
- package/docs/architecture/stability-levels.md +35 -0
- package/docs/architecture/transaction.md +51 -0
- package/docs/architecture/v02-bare-react-native-spec.md +92 -0
- package/docs/architecture/v02-java-host-fix-spec.md +125 -0
- package/docs/architecture/v02-sourcemaps-e2e-spec.md +157 -0
- package/package.json +98 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type WizardConfigInput, type WizardConfigSchemaVersion } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Config-schema migration runner.
|
|
4
|
+
*
|
|
5
|
+
* Distinct from `src/migrations/` (which targets the user's INSTALL state —
|
|
6
|
+
* env vars, SDK versions). Config migrations only ever touch
|
|
7
|
+
* `allstak.config.*` content.
|
|
8
|
+
*
|
|
9
|
+
* Each migration takes a parsed config at version N and returns a config at
|
|
10
|
+
* version N+1. Migrations are pure functions — they MUST NOT throw on a
|
|
11
|
+
* conformant N-shaped input.
|
|
12
|
+
*/
|
|
13
|
+
export interface ConfigMigration {
|
|
14
|
+
/** From version N. */
|
|
15
|
+
from: WizardConfigSchemaVersion;
|
|
16
|
+
/** To version N+1. */
|
|
17
|
+
to: WizardConfigSchemaVersion;
|
|
18
|
+
/** Short description shown by `allstak config migrate --dry-run`. */
|
|
19
|
+
description: string;
|
|
20
|
+
/** Applies the migration. Should be idempotent: calling on already-migrated input must not corrupt. */
|
|
21
|
+
apply(input: WizardConfigInput): WizardConfigInput;
|
|
22
|
+
/** Optional deprecation warnings to surface to the user. */
|
|
23
|
+
warnings?: (input: WizardConfigInput) => string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Migration list. As of v0.1.3 the schema is at version 1; no forward
|
|
27
|
+
* migrations exist yet. The list is the ONLY place to add a new migration —
|
|
28
|
+
* the runner sorts by `from` and applies sequentially.
|
|
29
|
+
*
|
|
30
|
+
* Adding a v1→v2 migration:
|
|
31
|
+
*
|
|
32
|
+
* ```ts
|
|
33
|
+
* {
|
|
34
|
+
* from: 1, to: 2,
|
|
35
|
+
* description: 'rename `organization` to `org`',
|
|
36
|
+
* apply: (cfg) => {
|
|
37
|
+
* const next = { ...cfg, schemaVersion: 2 } as WizardConfigInput;
|
|
38
|
+
* // ...transform...
|
|
39
|
+
* return next;
|
|
40
|
+
* },
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare const CONFIG_MIGRATIONS: readonly ConfigMigration[];
|
|
45
|
+
export interface MigrateResult {
|
|
46
|
+
/** Migrated config (at the current schema version). */
|
|
47
|
+
config: WizardConfigInput;
|
|
48
|
+
/** Migrations that were applied, in order. */
|
|
49
|
+
applied: {
|
|
50
|
+
id: string;
|
|
51
|
+
description: string;
|
|
52
|
+
}[];
|
|
53
|
+
/** Deprecation warnings emitted by migrations. */
|
|
54
|
+
warnings: string[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Run all forward migrations needed to bring the config from its declared
|
|
58
|
+
* version up to `CURRENT_CONFIG_SCHEMA_VERSION`. Throws
|
|
59
|
+
* `E_CONFIG_MIGRATION_FAILED` if any individual migration fails.
|
|
60
|
+
*/
|
|
61
|
+
export declare function runConfigMigrations(input: WizardConfigInput): MigrateResult;
|
|
62
|
+
/** Returns the highest schemaVersion that has a forward migration FROM. */
|
|
63
|
+
export declare function highestKnownVersion(): WizardConfigSchemaVersion;
|
|
64
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/config/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGnH;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,IAAI,EAAE,yBAAyB,CAAC;IAChC,sBAAsB;IACtB,EAAE,EAAE,yBAAyB,CAAC;IAC9B,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACnD,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,EAAE,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAEvD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,8CAA8C;IAC9C,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,aAAa,CA8C3E;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,IAAI,yBAAyB,CAE/D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CURRENT_CONFIG_SCHEMA_VERSION } from './types.js';
|
|
2
|
+
import { WizardError } from '../util/errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Migration list. As of v0.1.3 the schema is at version 1; no forward
|
|
5
|
+
* migrations exist yet. The list is the ONLY place to add a new migration —
|
|
6
|
+
* the runner sorts by `from` and applies sequentially.
|
|
7
|
+
*
|
|
8
|
+
* Adding a v1→v2 migration:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* {
|
|
12
|
+
* from: 1, to: 2,
|
|
13
|
+
* description: 'rename `organization` to `org`',
|
|
14
|
+
* apply: (cfg) => {
|
|
15
|
+
* const next = { ...cfg, schemaVersion: 2 } as WizardConfigInput;
|
|
16
|
+
* // ...transform...
|
|
17
|
+
* return next;
|
|
18
|
+
* },
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export const CONFIG_MIGRATIONS = [
|
|
23
|
+
// No migrations registered as of v0.1.3.
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Run all forward migrations needed to bring the config from its declared
|
|
27
|
+
* version up to `CURRENT_CONFIG_SCHEMA_VERSION`. Throws
|
|
28
|
+
* `E_CONFIG_MIGRATION_FAILED` if any individual migration fails.
|
|
29
|
+
*/
|
|
30
|
+
export function runConfigMigrations(input) {
|
|
31
|
+
const startVersion = (input.schemaVersion ?? 1);
|
|
32
|
+
if (startVersion > CURRENT_CONFIG_SCHEMA_VERSION) {
|
|
33
|
+
throw new WizardError('E_CONFIG_MIGRATION_FAILED', `Config declares schemaVersion=${startVersion}, but this wizard only knows up to ${CURRENT_CONFIG_SCHEMA_VERSION}.`, { subcode: 'E_CONFIG_FUTURE_VERSION', hint: 'Upgrade @allstak/wizard.' });
|
|
34
|
+
}
|
|
35
|
+
let current = { ...input, schemaVersion: startVersion };
|
|
36
|
+
const applied = [];
|
|
37
|
+
const warnings = [];
|
|
38
|
+
// Sort by `from` so a v1→v2→v3 chain runs in order, even if registered out of order.
|
|
39
|
+
const ordered = [...CONFIG_MIGRATIONS].sort((a, b) => a.from - b.from);
|
|
40
|
+
for (const m of ordered) {
|
|
41
|
+
if (current.schemaVersion !== m.from)
|
|
42
|
+
continue;
|
|
43
|
+
if (m.warnings)
|
|
44
|
+
warnings.push(...m.warnings(current));
|
|
45
|
+
try {
|
|
46
|
+
current = m.apply(current);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
throw new WizardError('E_CONFIG_MIGRATION_FAILED', `Migration ${m.from}→${m.to} ("${m.description}") failed: ${err instanceof Error ? err.message : String(err)}`, { subcode: 'E_MIGRATION_THREW', cause: err, context: { from: m.from, to: m.to } });
|
|
50
|
+
}
|
|
51
|
+
if (current.schemaVersion !== m.to) {
|
|
52
|
+
throw new WizardError('E_CONFIG_MIGRATION_FAILED', `Migration ${m.from}→${m.to} did not bump schemaVersion to ${m.to}.`, { subcode: 'E_MIGRATION_NO_BUMP', context: { from: m.from, to: m.to } });
|
|
53
|
+
}
|
|
54
|
+
applied.push({ id: `${m.from}->${m.to}`, description: m.description });
|
|
55
|
+
}
|
|
56
|
+
// Final assertion: we should be at the current version.
|
|
57
|
+
if (current.schemaVersion !== CURRENT_CONFIG_SCHEMA_VERSION) {
|
|
58
|
+
throw new WizardError('E_CONFIG_MIGRATION_FAILED', `Migration chain stopped at schemaVersion=${current.schemaVersion}, expected ${CURRENT_CONFIG_SCHEMA_VERSION}. Missing migration step?`, { subcode: 'E_MIGRATION_INCOMPLETE' });
|
|
59
|
+
}
|
|
60
|
+
return { config: current, applied, warnings };
|
|
61
|
+
}
|
|
62
|
+
/** Returns the highest schemaVersion that has a forward migration FROM. */
|
|
63
|
+
export function highestKnownVersion() {
|
|
64
|
+
return CURRENT_CONFIG_SCHEMA_VERSION;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/config/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ResolvedWizardConfig, type WizardConfigInput } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Apply precedence rules:
|
|
4
|
+
*
|
|
5
|
+
* CLI flag > env var > config file > built-in default
|
|
6
|
+
*
|
|
7
|
+
* `cli` is the bag of flags `commander` parsed; pass `undefined` for any flag
|
|
8
|
+
* the user did not supply so we know to fall through. `env` defaults to
|
|
9
|
+
* `process.env` but is injectable for tests.
|
|
10
|
+
*/
|
|
11
|
+
export interface CliInputs {
|
|
12
|
+
organization?: string;
|
|
13
|
+
project?: string;
|
|
14
|
+
environment?: string;
|
|
15
|
+
release?: string;
|
|
16
|
+
apiHost?: string;
|
|
17
|
+
ingestHost?: string;
|
|
18
|
+
dashboardHost?: string;
|
|
19
|
+
snapshotKeep?: number;
|
|
20
|
+
/** When true the CLI explicitly opted out of source maps; never overridden by config. */
|
|
21
|
+
skipSourceMaps?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function resolveConfig(config: WizardConfigInput | null, cli: CliInputs, env?: Record<string, string | undefined>): ResolvedWizardConfig;
|
|
24
|
+
//# sourceMappingURL=precedence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precedence.d.ts","sourceRoot":"","sources":["../../src/config/precedence.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,GAAG,EAAE,SAAS,EACd,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,oBAAoB,CA2BtB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DEFAULT_API_HOST, DEFAULT_DASHBOARD_HOST, } from './types.js';
|
|
2
|
+
export function resolveConfig(config, cli, env = process.env) {
|
|
3
|
+
const cfg = config ?? {};
|
|
4
|
+
const release = pick(cli.release, env.ALLSTAK_RELEASE, materialiseRelease(cfg.release), null);
|
|
5
|
+
const apiHost = pick(cli.apiHost, env.ALLSTAK_HOST, cfg.selfHosted?.apiHost, DEFAULT_API_HOST);
|
|
6
|
+
const ingestHost = pick(cli.ingestHost, env.ALLSTAK_INGEST_HOST, cfg.selfHosted?.ingestHost, apiHost);
|
|
7
|
+
const dashboardHost = pick(cli.dashboardHost, env.ALLSTAK_DASHBOARD_HOST, cfg.selfHosted?.dashboardHost, deriveDashboard(apiHost));
|
|
8
|
+
return {
|
|
9
|
+
organization: pick(cli.organization, env.ALLSTAK_ORG, cfg.organization, null),
|
|
10
|
+
project: pick(cli.project, env.ALLSTAK_PROJECT, cfg.project, null),
|
|
11
|
+
environment: pick(cli.environment, env.ALLSTAK_ENVIRONMENT, cfg.environment, 'production'),
|
|
12
|
+
release,
|
|
13
|
+
sourceMaps: {
|
|
14
|
+
enabled: cli.skipSourceMaps ? false : (cfg.sourceMaps?.enabled ?? true),
|
|
15
|
+
ignore: cfg.sourceMaps?.ignore ?? ['**/node_modules/**'],
|
|
16
|
+
},
|
|
17
|
+
hosts: { api: apiHost, ingest: ingestHost, dashboard: dashboardHost },
|
|
18
|
+
snapshotKeep: pick(cli.snapshotKeep, parseIntEnv(env.ALLSTAK_SNAPSHOT_KEEP), cfg.snapshotKeep, 10),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function pick(...values) {
|
|
22
|
+
for (const v of values) {
|
|
23
|
+
if (v !== undefined && v !== null)
|
|
24
|
+
return v;
|
|
25
|
+
}
|
|
26
|
+
// Last value is treated as the default — we always pass one, so this is
|
|
27
|
+
// safe at the type level.
|
|
28
|
+
return values[values.length - 1];
|
|
29
|
+
}
|
|
30
|
+
function parseIntEnv(s) {
|
|
31
|
+
if (!s)
|
|
32
|
+
return undefined;
|
|
33
|
+
const n = Number(s);
|
|
34
|
+
return Number.isFinite(n) ? n : undefined;
|
|
35
|
+
}
|
|
36
|
+
function materialiseRelease(input) {
|
|
37
|
+
if (typeof input === 'string')
|
|
38
|
+
return input;
|
|
39
|
+
if (typeof input === 'function') {
|
|
40
|
+
try {
|
|
41
|
+
const v = input();
|
|
42
|
+
return typeof v === 'string' && v.length > 0 ? v : null;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function deriveDashboard(api) {
|
|
51
|
+
if (api === DEFAULT_API_HOST)
|
|
52
|
+
return DEFAULT_DASHBOARD_HOST;
|
|
53
|
+
return api.replace(/^https?:\/\/api\./, (m) => m.replace('api.', 'app.'));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=precedence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precedence.js","sourceRoot":"","sources":["../../src/config/precedence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WizardConfigInput } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Hand-rolled validator. The wizard does NOT bring in zod/valibot for one
|
|
4
|
+
* config-file shape — it would be 100x the size of the validator itself.
|
|
5
|
+
*
|
|
6
|
+
* Returns a normalized clone with the user's input narrowed to known fields,
|
|
7
|
+
* or throws WizardError with a clear path-to-blame.
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateConfigInput(input: unknown, source: string): WizardConfigInput;
|
|
10
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA6B,MAAM,YAAY,CAAC;AAG/E;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAsErF"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { WizardError } from '../util/errors.js';
|
|
2
|
+
import { CURRENT_CONFIG_SCHEMA_VERSION } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Hand-rolled validator. The wizard does NOT bring in zod/valibot for one
|
|
5
|
+
* config-file shape — it would be 100x the size of the validator itself.
|
|
6
|
+
*
|
|
7
|
+
* Returns a normalized clone with the user's input narrowed to known fields,
|
|
8
|
+
* or throws WizardError with a clear path-to-blame.
|
|
9
|
+
*/
|
|
10
|
+
export function validateConfigInput(input, source) {
|
|
11
|
+
if (input === null || typeof input !== 'object') {
|
|
12
|
+
throw fail(source, '<root>', `expected an object, got ${typeOf(input)}`);
|
|
13
|
+
}
|
|
14
|
+
const cfg = input;
|
|
15
|
+
const out = {};
|
|
16
|
+
if (cfg.schemaVersion !== undefined) {
|
|
17
|
+
if (typeof cfg.schemaVersion !== 'number' || !Number.isInteger(cfg.schemaVersion) || cfg.schemaVersion < 1) {
|
|
18
|
+
throw fail(source, 'schemaVersion', `expected positive integer, got ${typeOf(cfg.schemaVersion)}`);
|
|
19
|
+
}
|
|
20
|
+
if (cfg.schemaVersion > CURRENT_CONFIG_SCHEMA_VERSION) {
|
|
21
|
+
throw fail(source, 'schemaVersion', `config declares schemaVersion=${cfg.schemaVersion}, but this wizard supports up to ${CURRENT_CONFIG_SCHEMA_VERSION}. Upgrade @allstak/wizard.`);
|
|
22
|
+
}
|
|
23
|
+
out.schemaVersion = cfg.schemaVersion;
|
|
24
|
+
}
|
|
25
|
+
if (cfg.organization !== undefined)
|
|
26
|
+
out.organization = expectString(source, 'organization', cfg.organization);
|
|
27
|
+
if (cfg.project !== undefined)
|
|
28
|
+
out.project = expectString(source, 'project', cfg.project);
|
|
29
|
+
if (cfg.environment !== undefined)
|
|
30
|
+
out.environment = expectString(source, 'environment', cfg.environment);
|
|
31
|
+
if (cfg.release !== undefined) {
|
|
32
|
+
if (typeof cfg.release === 'function')
|
|
33
|
+
out.release = cfg.release;
|
|
34
|
+
else if (typeof cfg.release === 'string')
|
|
35
|
+
out.release = cfg.release;
|
|
36
|
+
else
|
|
37
|
+
throw fail(source, 'release', `expected string or function, got ${typeOf(cfg.release)}`);
|
|
38
|
+
}
|
|
39
|
+
if (cfg.sourceMaps !== undefined) {
|
|
40
|
+
if (cfg.sourceMaps === null || typeof cfg.sourceMaps !== 'object') {
|
|
41
|
+
throw fail(source, 'sourceMaps', `expected object, got ${typeOf(cfg.sourceMaps)}`);
|
|
42
|
+
}
|
|
43
|
+
const sm = cfg.sourceMaps;
|
|
44
|
+
out.sourceMaps = {};
|
|
45
|
+
if (sm.enabled !== undefined)
|
|
46
|
+
out.sourceMaps.enabled = expectBoolean(source, 'sourceMaps.enabled', sm.enabled);
|
|
47
|
+
if (sm.ignore !== undefined) {
|
|
48
|
+
if (!Array.isArray(sm.ignore))
|
|
49
|
+
throw fail(source, 'sourceMaps.ignore', `expected array, got ${typeOf(sm.ignore)}`);
|
|
50
|
+
out.sourceMaps.ignore = sm.ignore.map((v, i) => expectString(source, `sourceMaps.ignore[${i}]`, v));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (cfg.selfHosted !== undefined) {
|
|
54
|
+
if (cfg.selfHosted === null || typeof cfg.selfHosted !== 'object') {
|
|
55
|
+
throw fail(source, 'selfHosted', `expected object, got ${typeOf(cfg.selfHosted)}`);
|
|
56
|
+
}
|
|
57
|
+
const sh = cfg.selfHosted;
|
|
58
|
+
out.selfHosted = {};
|
|
59
|
+
if (sh.apiHost !== undefined)
|
|
60
|
+
out.selfHosted.apiHost = expectUrl(source, 'selfHosted.apiHost', sh.apiHost);
|
|
61
|
+
if (sh.ingestHost !== undefined)
|
|
62
|
+
out.selfHosted.ingestHost = expectUrl(source, 'selfHosted.ingestHost', sh.ingestHost);
|
|
63
|
+
if (sh.dashboardHost !== undefined)
|
|
64
|
+
out.selfHosted.dashboardHost = expectUrl(source, 'selfHosted.dashboardHost', sh.dashboardHost);
|
|
65
|
+
}
|
|
66
|
+
if (cfg.snapshotKeep !== undefined) {
|
|
67
|
+
if (typeof cfg.snapshotKeep !== 'number' || !Number.isFinite(cfg.snapshotKeep) || cfg.snapshotKeep < 0) {
|
|
68
|
+
throw fail(source, 'snapshotKeep', `expected non-negative number, got ${typeOf(cfg.snapshotKeep)}`);
|
|
69
|
+
}
|
|
70
|
+
out.snapshotKeep = cfg.snapshotKeep;
|
|
71
|
+
}
|
|
72
|
+
// Reject unknown top-level keys so typos surface immediately.
|
|
73
|
+
const allowed = new Set(['schemaVersion', 'organization', 'project', 'environment', 'release', 'sourceMaps', 'selfHosted', 'snapshotKeep']);
|
|
74
|
+
for (const key of Object.keys(cfg)) {
|
|
75
|
+
if (!allowed.has(key)) {
|
|
76
|
+
throw fail(source, key, `unknown config key. Did you mean ${nearest(key, allowed)}?`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
function expectString(source, path, v) {
|
|
82
|
+
if (typeof v !== 'string')
|
|
83
|
+
throw fail(source, path, `expected string, got ${typeOf(v)}`);
|
|
84
|
+
return v;
|
|
85
|
+
}
|
|
86
|
+
function expectBoolean(source, path, v) {
|
|
87
|
+
if (typeof v !== 'boolean')
|
|
88
|
+
throw fail(source, path, `expected boolean, got ${typeOf(v)}`);
|
|
89
|
+
return v;
|
|
90
|
+
}
|
|
91
|
+
function expectUrl(source, path, v) {
|
|
92
|
+
const s = expectString(source, path, v);
|
|
93
|
+
try {
|
|
94
|
+
new URL(s);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
throw fail(source, path, `expected absolute URL, got "${s}"`);
|
|
98
|
+
}
|
|
99
|
+
return s;
|
|
100
|
+
}
|
|
101
|
+
function fail(source, path, msg) {
|
|
102
|
+
return new WizardError('E_CONFIG_INVALID', `${source}: ${path} — ${msg}`, {
|
|
103
|
+
subcode: 'E_CONFIG_SCHEMA',
|
|
104
|
+
context: { source, path: String(path) },
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function typeOf(v) {
|
|
108
|
+
if (Array.isArray(v))
|
|
109
|
+
return 'array';
|
|
110
|
+
if (v === null)
|
|
111
|
+
return 'null';
|
|
112
|
+
return typeof v;
|
|
113
|
+
}
|
|
114
|
+
function nearest(input, candidates) {
|
|
115
|
+
let best = '';
|
|
116
|
+
let bestDist = Infinity;
|
|
117
|
+
for (const c of candidates) {
|
|
118
|
+
const d = levenshtein(input, c);
|
|
119
|
+
if (d < bestDist) {
|
|
120
|
+
bestDist = d;
|
|
121
|
+
best = c;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return bestDist <= 3 ? `"${best}"` : `one of ${Array.from(candidates).join(', ')}`;
|
|
125
|
+
}
|
|
126
|
+
function levenshtein(a, b) {
|
|
127
|
+
const dp = Array.from({ length: a.length + 1 }, () => new Array(b.length + 1).fill(0));
|
|
128
|
+
for (let i = 0; i <= a.length; i++)
|
|
129
|
+
dp[i][0] = i;
|
|
130
|
+
for (let j = 0; j <= b.length; j++)
|
|
131
|
+
dp[0][j] = j;
|
|
132
|
+
for (let i = 1; i <= a.length; i++) {
|
|
133
|
+
for (let j = 1; j <= b.length; j++) {
|
|
134
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
135
|
+
dp[i][j] = Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1, dp[i - 1][j - 1] + cost);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return dp[a.length][b.length];
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-facing wizard config schema. Exposed via `allstak.config.{ts,js,mjs,cjs,json}`
|
|
3
|
+
* at the project root.
|
|
4
|
+
*
|
|
5
|
+
* Every field is optional — the wizard's precedence is:
|
|
6
|
+
*
|
|
7
|
+
* CLI flag > env var > config file > built-in default
|
|
8
|
+
*
|
|
9
|
+
* Config exists so users can avoid repeating `--org`, `--project`, `--host`
|
|
10
|
+
* etc. on every invocation, especially in monorepos with multiple commands.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Current config schema version. Bump when adding a backward-incompatible
|
|
14
|
+
* change. New optional fields do NOT require a bump; renames or removals do.
|
|
15
|
+
*
|
|
16
|
+
* Every released schemaVersion gets a forward migration registered in
|
|
17
|
+
* `src/config/migrations.ts` so old configs can be auto-migrated by
|
|
18
|
+
* `allstak config migrate`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CURRENT_CONFIG_SCHEMA_VERSION: 1;
|
|
21
|
+
/** All schema versions that ever shipped — used by the migration runner. */
|
|
22
|
+
export type WizardConfigSchemaVersion = 1;
|
|
23
|
+
export interface WizardConfigInput {
|
|
24
|
+
/**
|
|
25
|
+
* Schema version this config was authored against. Optional for backwards
|
|
26
|
+
* compatibility — when missing the wizard treats the config as version 1.
|
|
27
|
+
* `allstak config migrate` will set it to the current version after
|
|
28
|
+
* applying any forward migrations.
|
|
29
|
+
*/
|
|
30
|
+
schemaVersion?: WizardConfigSchemaVersion;
|
|
31
|
+
/** AllStak organization slug. Maps to --org. */
|
|
32
|
+
organization?: string;
|
|
33
|
+
/** AllStak project slug. Maps to --project. */
|
|
34
|
+
project?: string;
|
|
35
|
+
/** Default environment for events. Maps to --environment. */
|
|
36
|
+
environment?: string;
|
|
37
|
+
/** Release identifier — accepts a string or a function that returns one
|
|
38
|
+
* (handy for `process.env.GIT_SHA` etc.). Maps to --release. */
|
|
39
|
+
release?: string | (() => string | undefined);
|
|
40
|
+
/** Source-map upload settings. */
|
|
41
|
+
sourceMaps?: {
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
/** Glob patterns to skip during source-map walk. Matches what the CLI passes downstream. */
|
|
44
|
+
ignore?: string[];
|
|
45
|
+
};
|
|
46
|
+
/** Self-hosted endpoints. */
|
|
47
|
+
selfHosted?: {
|
|
48
|
+
/** Maps to --ingest-host. Overrides --host for ingestion. */
|
|
49
|
+
ingestHost?: string;
|
|
50
|
+
/** Maps to --dashboard-host. */
|
|
51
|
+
dashboardHost?: string;
|
|
52
|
+
/** Maps to --host (control-plane API). */
|
|
53
|
+
apiHost?: string;
|
|
54
|
+
};
|
|
55
|
+
/** Snapshot retention count. Maps to --snapshot-keep. */
|
|
56
|
+
snapshotKeep?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resolved config — everything has a concrete value (or null) once the loader
|
|
60
|
+
* has applied env + defaults. Commands operate on this shape.
|
|
61
|
+
*/
|
|
62
|
+
export interface ResolvedWizardConfig {
|
|
63
|
+
organization: string | null;
|
|
64
|
+
project: string | null;
|
|
65
|
+
environment: string;
|
|
66
|
+
release: string | null;
|
|
67
|
+
sourceMaps: {
|
|
68
|
+
enabled: boolean;
|
|
69
|
+
ignore: string[];
|
|
70
|
+
};
|
|
71
|
+
hosts: {
|
|
72
|
+
api: string;
|
|
73
|
+
ingest: string;
|
|
74
|
+
dashboard: string;
|
|
75
|
+
};
|
|
76
|
+
snapshotKeep: number;
|
|
77
|
+
}
|
|
78
|
+
export declare const DEFAULT_API_HOST = "https://api.allstak.sa";
|
|
79
|
+
export declare const DEFAULT_DASHBOARD_HOST = "https://app.allstak.sa";
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;qEACiE;IACjE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,kCAAkC;IAClC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,4FAA4F;QAC5F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,UAAU,CAAC,EAAE;QACX,6DAA6D;QAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gCAAgC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,0CAA0C;QAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,eAAO,MAAM,sBAAsB,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-facing wizard config schema. Exposed via `allstak.config.{ts,js,mjs,cjs,json}`
|
|
3
|
+
* at the project root.
|
|
4
|
+
*
|
|
5
|
+
* Every field is optional — the wizard's precedence is:
|
|
6
|
+
*
|
|
7
|
+
* CLI flag > env var > config file > built-in default
|
|
8
|
+
*
|
|
9
|
+
* Config exists so users can avoid repeating `--org`, `--project`, `--host`
|
|
10
|
+
* etc. on every invocation, especially in monorepos with multiple commands.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Current config schema version. Bump when adding a backward-incompatible
|
|
14
|
+
* change. New optional fields do NOT require a bump; renames or removals do.
|
|
15
|
+
*
|
|
16
|
+
* Every released schemaVersion gets a forward migration registered in
|
|
17
|
+
* `src/config/migrations.ts` so old configs can be auto-migrated by
|
|
18
|
+
* `allstak config migrate`.
|
|
19
|
+
*/
|
|
20
|
+
export const CURRENT_CONFIG_SCHEMA_VERSION = 1;
|
|
21
|
+
export const DEFAULT_API_HOST = 'https://api.allstak.sa';
|
|
22
|
+
export const DEFAULT_DASHBOARD_HOST = 'https://app.allstak.sa';
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AA8DxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypted-file.d.ts","sourceRoot":"","sources":["../../src/credentials/encrypted-file.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAmG/D,eAAO,MAAM,kBAAkB,EAAE,eAyDhC,CAAC"}
|