@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,120 @@
|
|
|
1
|
+
import * as p from '@clack/prompts';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { findProjectRoot } from '../util/paths.js';
|
|
4
|
+
import { SnapshotStore } from '../snapshot/store.js';
|
|
5
|
+
import { describeSnapshot, diffSnapshot, restoreFiles, restoreSnapshot } from '../snapshot/restore.js';
|
|
6
|
+
import { WizardError } from '../util/errors.js';
|
|
7
|
+
export async function restoreList(opts) {
|
|
8
|
+
const start = Date.now();
|
|
9
|
+
const r = opts.reporter;
|
|
10
|
+
const projectRoot = findProjectRoot(opts.cwd ?? process.cwd());
|
|
11
|
+
const store = new SnapshotStore(projectRoot);
|
|
12
|
+
const all = store.list();
|
|
13
|
+
if (all.length === 0) {
|
|
14
|
+
r.info('No snapshots found.', `${projectRoot}/.allstak-wizard/backups is empty`);
|
|
15
|
+
r.finalize({ command: 'restore-list', outcome: 'noop', durationMs: Date.now() - start });
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
r.step(`Snapshots in ${projectRoot}/.allstak-wizard/backups`);
|
|
19
|
+
for (const info of all) {
|
|
20
|
+
const d = describeSnapshot(info, projectRoot);
|
|
21
|
+
r.info(d.id, `integration=${d.integration}, files=${d.fileCount}, ts=${d.timestamp}`);
|
|
22
|
+
}
|
|
23
|
+
r.finalize({
|
|
24
|
+
command: 'restore-list',
|
|
25
|
+
outcome: 'success',
|
|
26
|
+
durationMs: Date.now() - start,
|
|
27
|
+
data: { snapshots: all.map((info) => describeSnapshot(info, projectRoot)) },
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export async function restoreShow(opts) {
|
|
31
|
+
const start = Date.now();
|
|
32
|
+
const r = opts.reporter;
|
|
33
|
+
const projectRoot = findProjectRoot(opts.cwd ?? process.cwd());
|
|
34
|
+
const store = new SnapshotStore(projectRoot);
|
|
35
|
+
const info = findSnapshot(store, opts.id);
|
|
36
|
+
const manifest = info.manifest;
|
|
37
|
+
r.step(`Snapshot ${opts.id}`, `${manifest.integration} @ ${manifest.timestamp}`);
|
|
38
|
+
for (const f of manifest.files) {
|
|
39
|
+
r.info(` ${f.kind.padEnd(7)}`, `${f.path} (${f.byteLength}B${f.hadContent ? '' : ', no pre-image'})`);
|
|
40
|
+
}
|
|
41
|
+
const diffEntries = diffSnapshot(store, info.dir);
|
|
42
|
+
r.step('Diff vs current working tree:');
|
|
43
|
+
for (const d of diffEntries) {
|
|
44
|
+
r.info(` ${d.state.padEnd(20)}`, `${d.path} (current=${d.currentBytes ?? '∅'}B, snapshot=${d.snapshotBytes ?? '∅'}B)`);
|
|
45
|
+
}
|
|
46
|
+
r.finalize({
|
|
47
|
+
command: 'restore-show',
|
|
48
|
+
outcome: 'success',
|
|
49
|
+
durationMs: Date.now() - start,
|
|
50
|
+
data: { snapshotId: opts.id, manifest, diff: diffEntries },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export async function restoreApply(opts) {
|
|
54
|
+
const start = Date.now();
|
|
55
|
+
const r = opts.reporter;
|
|
56
|
+
const projectRoot = findProjectRoot(opts.cwd ?? process.cwd());
|
|
57
|
+
const store = new SnapshotStore(projectRoot);
|
|
58
|
+
const info = findSnapshot(store, opts.id);
|
|
59
|
+
const targetDescription = opts.files?.length
|
|
60
|
+
? `${opts.files.length} file(s) from snapshot ${opts.id}`
|
|
61
|
+
: `entire snapshot ${opts.id}`;
|
|
62
|
+
if (!opts.yes && !opts.dryRun) {
|
|
63
|
+
if (opts.nonInteractive) {
|
|
64
|
+
throw new WizardError('E_USER_CANCELLED', 'Refusing to restore without --yes in non-interactive mode.', { subcode: 'E_NO_CONFIRM' });
|
|
65
|
+
}
|
|
66
|
+
const ok = await p.confirm({
|
|
67
|
+
message: `Restore ${targetDescription}? This OVERWRITES current files.`,
|
|
68
|
+
initialValue: false,
|
|
69
|
+
});
|
|
70
|
+
if (p.isCancel(ok) || ok === false) {
|
|
71
|
+
r.warn('Restore cancelled.');
|
|
72
|
+
r.finalize({ command: 'restore-apply', outcome: 'cancelled', durationMs: Date.now() - start });
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const result = opts.files?.length
|
|
77
|
+
? await restoreFiles(store, info.dir, opts.files, { dryRun: opts.dryRun })
|
|
78
|
+
: await restoreSnapshot(store, info.dir, { dryRun: opts.dryRun });
|
|
79
|
+
if (opts.dryRun) {
|
|
80
|
+
r.step('Dry-run restore plan:');
|
|
81
|
+
for (const f of result.restored)
|
|
82
|
+
r.info(` ~ would restore`, f);
|
|
83
|
+
for (const f of result.deleted)
|
|
84
|
+
r.info(` - would delete`, f);
|
|
85
|
+
for (const f of result.skipped)
|
|
86
|
+
r.info(` · would skip`, f);
|
|
87
|
+
r.finalize({ command: 'restore-apply', outcome: 'noop', durationMs: Date.now() - start, data: { ...result } });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
r.success('Restore complete.', `restored=${result.restored.length} deleted=${result.deleted.length} skipped=${result.skipped.length}`);
|
|
91
|
+
r.finalize({ command: 'restore-apply', outcome: 'success', durationMs: Date.now() - start, data: { ...result } });
|
|
92
|
+
}
|
|
93
|
+
export async function restoreDiff(opts) {
|
|
94
|
+
const start = Date.now();
|
|
95
|
+
const r = opts.reporter;
|
|
96
|
+
const projectRoot = findProjectRoot(opts.cwd ?? process.cwd());
|
|
97
|
+
const store = new SnapshotStore(projectRoot);
|
|
98
|
+
const info = findSnapshot(store, opts.id);
|
|
99
|
+
const diff = diffSnapshot(store, info.dir);
|
|
100
|
+
r.step(`Diff for ${opts.id}`);
|
|
101
|
+
for (const d of diff) {
|
|
102
|
+
r.info(` ${d.state.padEnd(20)}`, d.path);
|
|
103
|
+
}
|
|
104
|
+
r.finalize({ command: 'restore-diff', outcome: 'success', durationMs: Date.now() - start, data: { diff } });
|
|
105
|
+
}
|
|
106
|
+
function findSnapshot(store, idOrPath) {
|
|
107
|
+
const all = store.list();
|
|
108
|
+
// Accept the trailing slug, an absolute path, or "latest".
|
|
109
|
+
if (idOrPath === 'latest') {
|
|
110
|
+
if (all.length === 0)
|
|
111
|
+
throw new WizardError('E_RESTORE_FAILED', 'No snapshots in .allstak-wizard/backups.', { subcode: 'E_NO_SNAPSHOTS' });
|
|
112
|
+
return all[0];
|
|
113
|
+
}
|
|
114
|
+
const match = all.find((info) => info.dir.endsWith(idOrPath) || info.dir === resolve(idOrPath));
|
|
115
|
+
if (!match) {
|
|
116
|
+
throw new WizardError('E_RESTORE_FAILED', `No snapshot matches "${idOrPath}".`, { subcode: 'E_SNAPSHOT_NOT_FOUND', hint: 'Run `allstak restore list` to see available snapshots.' });
|
|
117
|
+
}
|
|
118
|
+
return match;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IntegrationId } from '../detect/index.js';
|
|
2
|
+
import type { Reporter } from '../output/index.js';
|
|
3
|
+
export interface UninstallOptions {
|
|
4
|
+
integration: IntegrationId;
|
|
5
|
+
yes?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
skipDeps?: boolean;
|
|
8
|
+
cwd?: string;
|
|
9
|
+
reporter: Reporter;
|
|
10
|
+
nonInteractive?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function runUninstall(opts: UninstallOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=uninstall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CxE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as p from '@clack/prompts';
|
|
2
|
+
import { Transaction } from '../transaction/tx.js';
|
|
3
|
+
import { registry, bootstrapRegistry } from '../registry/index.js';
|
|
4
|
+
import { bootstrapSourceMaps } from '../sourcemaps/index.js';
|
|
5
|
+
import { SnapshotStore } from '../snapshot/store.js';
|
|
6
|
+
import { WIZARD_VERSION } from '../util/wizard-version.js';
|
|
7
|
+
import { WizardError } from '../util/errors.js';
|
|
8
|
+
import { buildContext } from './_context.js';
|
|
9
|
+
export async function runUninstall(opts) {
|
|
10
|
+
const start = Date.now();
|
|
11
|
+
bootstrapRegistry();
|
|
12
|
+
bootstrapSourceMaps();
|
|
13
|
+
const r = opts.reporter;
|
|
14
|
+
const integ = registry.require(opts.integration);
|
|
15
|
+
if (!opts.yes && !opts.dryRun) {
|
|
16
|
+
if (opts.nonInteractive) {
|
|
17
|
+
throw new WizardError('E_USER_CANCELLED', 'Refusing to uninstall without --yes in non-interactive mode.', { subcode: 'E_NO_CONFIRM' });
|
|
18
|
+
}
|
|
19
|
+
const confirm = await p.confirm({
|
|
20
|
+
message: `Remove the AllStak ${integ.manifest.title} integration from this project?`,
|
|
21
|
+
});
|
|
22
|
+
if (p.isCancel(confirm) || confirm === false) {
|
|
23
|
+
throw new WizardError('E_USER_CANCELLED', 'Cancelled by user.', { subcode: 'E_CANCELLED' });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const { ctx } = await buildContext({
|
|
27
|
+
cwd: opts.cwd,
|
|
28
|
+
apiKey: undefined,
|
|
29
|
+
apiKeyOptional: true,
|
|
30
|
+
dryRun: opts.dryRun,
|
|
31
|
+
experimental: true,
|
|
32
|
+
skipDeps: opts.skipDeps,
|
|
33
|
+
skipSourceMaps: true,
|
|
34
|
+
});
|
|
35
|
+
const snapshotWriter = new SnapshotStore(ctx.projectRoot).begin({
|
|
36
|
+
integration: integ.id,
|
|
37
|
+
wizardVersion: WIZARD_VERSION,
|
|
38
|
+
projectRoot: ctx.projectRoot,
|
|
39
|
+
label: 'uninstall',
|
|
40
|
+
dryRun: ctx.dryRun,
|
|
41
|
+
});
|
|
42
|
+
const tx = new Transaction({ dryRun: ctx.dryRun, cwd: ctx.projectRoot, snapshotWriter });
|
|
43
|
+
await tx.run(async () => { await integ.uninstall(ctx, tx); });
|
|
44
|
+
if (ctx.dryRun) {
|
|
45
|
+
r.step('Dry-run uninstall diff');
|
|
46
|
+
r.diff(tx.plannedDiffs, ctx.projectRoot);
|
|
47
|
+
r.finalize({ command: 'uninstall', outcome: 'noop', durationMs: Date.now() - start });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
r.success(`Removed AllStak ${integ.manifest.title}.`);
|
|
51
|
+
r.finalize({ command: 'uninstall', outcome: 'success', durationMs: Date.now() - start });
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Reporter } from '../output/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* `allstak whoami` — reports the current user from local credentials and
|
|
4
|
+
* (if --verify) round-trips through `/api/v1/auth/me` to confirm the session
|
|
5
|
+
* is still valid server-side.
|
|
6
|
+
*/
|
|
7
|
+
export interface WhoamiOptions {
|
|
8
|
+
host: string;
|
|
9
|
+
verify?: boolean;
|
|
10
|
+
reporter: Reporter;
|
|
11
|
+
}
|
|
12
|
+
export declare function runWhoami(opts: WhoamiOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=whoami.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDlE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { loadUserCredentials } from '../api/auth.js';
|
|
2
|
+
import { whoami } from '../api/auth-client.js';
|
|
3
|
+
import { getCredentialStore } from '../credentials/index.js';
|
|
4
|
+
export async function runWhoami(opts) {
|
|
5
|
+
const start = Date.now();
|
|
6
|
+
const r = opts.reporter;
|
|
7
|
+
const store = await getCredentialStore();
|
|
8
|
+
const creds = await loadUserCredentials(opts.host);
|
|
9
|
+
if (!creds) {
|
|
10
|
+
r.warn('Not logged in.', `no credentials stored for ${opts.host}`);
|
|
11
|
+
r.finalize({
|
|
12
|
+
command: 'whoami',
|
|
13
|
+
outcome: 'noop',
|
|
14
|
+
durationMs: Date.now() - start,
|
|
15
|
+
data: { host: opts.host, store: store.id, loggedIn: false },
|
|
16
|
+
});
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const remainingMs = creds.accessExpiresAt - Date.now();
|
|
20
|
+
r.info(`Logged in as ${creds.user.email}`, `id=${creds.user.id}, host=${opts.host}, store=${store.id}`);
|
|
21
|
+
r.info(`Access token expires in ${Math.round(remainingMs / 1000)}s`);
|
|
22
|
+
let me = null;
|
|
23
|
+
if (opts.verify) {
|
|
24
|
+
try {
|
|
25
|
+
me = await whoami(opts.host, creds.accessToken);
|
|
26
|
+
r.success('Server confirms session is valid.', `email=${me.email}, plan=${me.plan ?? 'n/a'}`);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
r.error('Server rejected the session.', err instanceof Error ? err.message : String(err));
|
|
30
|
+
r.finalize({
|
|
31
|
+
command: 'whoami',
|
|
32
|
+
outcome: 'failure',
|
|
33
|
+
durationMs: Date.now() - start,
|
|
34
|
+
errorCode: 'E_SESSION_INVALID',
|
|
35
|
+
data: { host: opts.host, store: store.id, loggedIn: false },
|
|
36
|
+
});
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
r.finalize({
|
|
41
|
+
command: 'whoami',
|
|
42
|
+
outcome: 'success',
|
|
43
|
+
durationMs: Date.now() - start,
|
|
44
|
+
data: {
|
|
45
|
+
host: opts.host,
|
|
46
|
+
store: store.id,
|
|
47
|
+
loggedIn: true,
|
|
48
|
+
user: creds.user,
|
|
49
|
+
accessExpiresInSec: Math.round(remainingMs / 1000),
|
|
50
|
+
verified: !!me,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAc7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAmB;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,QAAQ,CAAC;YACT,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC5D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACxG,CAAC,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC,CAAC,OAAO,CAAC,mCAAmC,EAAE,SAAS,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,KAAK,CACL,8BAA8B,EAC9B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC;gBACT,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,SAAS,EAAE,mBAAmB;gBAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC5D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;IACD,CAAC,CAAC,QAAQ,CAAC;QACT,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAClD,QAAQ,EAAE,CAAC,CAAC,EAAE;SACf;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CompatConstraint, IntegrationManifest } from '../registry/manifest.js';
|
|
2
|
+
import type { PackageJsonShape } from '../detect/framework.js';
|
|
3
|
+
/**
|
|
4
|
+
* Centralised version-compatibility evaluator. All integration `detect()`
|
|
5
|
+
* methods funnel through this engine, so version rules live in exactly one
|
|
6
|
+
* place per dependency.
|
|
7
|
+
*
|
|
8
|
+
* The compat engine reads from a project's package.json (or pyproject.toml /
|
|
9
|
+
* pubspec etc. via shape adapters in the future) and returns a structured
|
|
10
|
+
* verdict integrations can attach to their `CompatibilityCheck`.
|
|
11
|
+
*/
|
|
12
|
+
export interface CompatVerdict {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
/** Human-readable reason — included in CompatibilityCheck.reason. */
|
|
15
|
+
reason?: string;
|
|
16
|
+
/** Per-constraint detail for structured output / dashboards. */
|
|
17
|
+
details: CompatConstraintResult[];
|
|
18
|
+
}
|
|
19
|
+
export interface CompatConstraintResult {
|
|
20
|
+
constraint: CompatConstraint;
|
|
21
|
+
found: string | null;
|
|
22
|
+
status: 'ok' | 'missing' | 'too-old' | 'too-new';
|
|
23
|
+
detail: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function evaluateCompatibility(manifest: IntegrationManifest, packageJson: PackageJsonShape | null): CompatVerdict;
|
|
26
|
+
/**
|
|
27
|
+
* Standalone helper for stability gating. Used by the orchestrator to decide
|
|
28
|
+
* whether `--experimental` is needed for a given stability level.
|
|
29
|
+
*/
|
|
30
|
+
export declare function requiresExperimental(stability: 'stable' | 'beta' | 'experimental' | 'unsupported'): boolean;
|
|
31
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/compat/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,gBAAgB,GAAG,IAAI,GACnC,aAAa,CAwEf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAE3G"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { meetsMinimum, parseVersion } from '../util/version.js';
|
|
2
|
+
export function evaluateCompatibility(manifest, packageJson) {
|
|
3
|
+
if (manifest.compatibility.length === 0) {
|
|
4
|
+
return { ok: true, details: [] };
|
|
5
|
+
}
|
|
6
|
+
const allDeps = {
|
|
7
|
+
...(packageJson?.dependencies ?? {}),
|
|
8
|
+
...(packageJson?.devDependencies ?? {}),
|
|
9
|
+
...(packageJson?.peerDependencies ?? {}),
|
|
10
|
+
};
|
|
11
|
+
const details = [];
|
|
12
|
+
let firstFailure = null;
|
|
13
|
+
for (const constraint of manifest.compatibility) {
|
|
14
|
+
const found = allDeps[constraint.name] ?? null;
|
|
15
|
+
let result;
|
|
16
|
+
if (!found) {
|
|
17
|
+
if (constraint.required) {
|
|
18
|
+
result = {
|
|
19
|
+
constraint,
|
|
20
|
+
found: null,
|
|
21
|
+
status: 'missing',
|
|
22
|
+
detail: `${constraint.name} is required but is not a dependency`,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
result = {
|
|
27
|
+
constraint,
|
|
28
|
+
found: null,
|
|
29
|
+
status: 'ok',
|
|
30
|
+
detail: `${constraint.name} not present (optional constraint)`,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const [minMajorStr, minMinorStr] = constraint.minVersion.split('.');
|
|
36
|
+
const minMajor = Number(minMajorStr);
|
|
37
|
+
const minMinor = Number(minMinorStr ?? '0');
|
|
38
|
+
const ok = meetsMinimum(found, minMajor, minMinor);
|
|
39
|
+
if (!ok) {
|
|
40
|
+
result = {
|
|
41
|
+
constraint,
|
|
42
|
+
found,
|
|
43
|
+
status: 'too-old',
|
|
44
|
+
detail: `${constraint.name} ${found} is below the supported minimum (${constraint.minVersion})`,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
else if (constraint.maxMajorExclusive !== null) {
|
|
48
|
+
const parsed = parseVersion(found);
|
|
49
|
+
if (parsed && parsed.major >= constraint.maxMajorExclusive) {
|
|
50
|
+
result = {
|
|
51
|
+
constraint,
|
|
52
|
+
found,
|
|
53
|
+
status: 'too-new',
|
|
54
|
+
detail: `${constraint.name} ${found} is at or above the unsupported ceiling (<${constraint.maxMajorExclusive})`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
result = { constraint, found, status: 'ok', detail: `${constraint.name} ${found} OK` };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
result = { constraint, found, status: 'ok', detail: `${constraint.name} ${found} OK` };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
details.push(result);
|
|
66
|
+
if (result.status !== 'ok' && !firstFailure)
|
|
67
|
+
firstFailure = result;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
ok: firstFailure === null,
|
|
71
|
+
reason: firstFailure?.detail,
|
|
72
|
+
details,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Standalone helper for stability gating. Used by the orchestrator to decide
|
|
77
|
+
* whether `--experimental` is needed for a given stability level.
|
|
78
|
+
*/
|
|
79
|
+
export function requiresExperimental(stability) {
|
|
80
|
+
return stability === 'experimental';
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/compat/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WizardConfigInput } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Identity helper that gives users a typed config in `allstak.config.ts`.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { defineConfig } from '@allstak/wizard';
|
|
9
|
+
*
|
|
10
|
+
* export default defineConfig({
|
|
11
|
+
* organization: 'urnt',
|
|
12
|
+
* project: 'web',
|
|
13
|
+
* release: process.env.GIT_SHA,
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* The function only exists for the type-inference side-effect; at runtime it's
|
|
18
|
+
* a no-op identity function.
|
|
19
|
+
*/
|
|
20
|
+
export declare function defineConfig<T extends WizardConfigInput>(config: T): T;
|
|
21
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEtE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity helper that gives users a typed config in `allstak.config.ts`.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { defineConfig } from '@allstak/wizard';
|
|
8
|
+
*
|
|
9
|
+
* export default defineConfig({
|
|
10
|
+
* organization: 'urnt',
|
|
11
|
+
* project: 'web',
|
|
12
|
+
* release: process.env.GIT_SHA,
|
|
13
|
+
* });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* The function only exists for the type-inference side-effect; at runtime it's
|
|
17
|
+
* a no-op identity function.
|
|
18
|
+
*/
|
|
19
|
+
export function defineConfig(config) {
|
|
20
|
+
return config;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=define.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAA8B,MAAS;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { defineConfig } from './define.js';
|
|
2
|
+
export { loadConfig, findConfig, type LoadedConfig } from './loader.js';
|
|
3
|
+
export { resolveConfig, type CliInputs } from './precedence.js';
|
|
4
|
+
export { DEFAULT_API_HOST, DEFAULT_DASHBOARD_HOST, CURRENT_CONFIG_SCHEMA_VERSION, type WizardConfigInput, type WizardConfigSchemaVersion, type ResolvedWizardConfig, } from './types.js';
|
|
5
|
+
export { runConfigMigrations, CONFIG_MIGRATIONS, highestKnownVersion, type ConfigMigration, type MigrateResult, } from './migrations.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { defineConfig } from './define.js';
|
|
2
|
+
export { loadConfig, findConfig } from './loader.js';
|
|
3
|
+
export { resolveConfig } from './precedence.js';
|
|
4
|
+
export { DEFAULT_API_HOST, DEFAULT_DASHBOARD_HOST, CURRENT_CONFIG_SCHEMA_VERSION, } from './types.js';
|
|
5
|
+
export { runConfigMigrations, CONFIG_MIGRATIONS, highestKnownVersion, } from './migrations.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,GAI9B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { WizardConfigInput } from './types.js';
|
|
2
|
+
export interface LoadedConfig {
|
|
3
|
+
/** Absolute path of the file we loaded from. */
|
|
4
|
+
source: string;
|
|
5
|
+
config: WizardConfigInput;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Discover and load `allstak.config.*` from the given starting directory.
|
|
9
|
+
*
|
|
10
|
+
* Discovery walks up from `start` until a candidate is found or the filesystem
|
|
11
|
+
* root is reached. Loaders:
|
|
12
|
+
*
|
|
13
|
+
* .ts / .mts → require `tsx` to be available in the runtime (the wizard
|
|
14
|
+
* already depends on it for development; published binaries
|
|
15
|
+
* ship pre-compiled). For users running through `npx`, we
|
|
16
|
+
* fall back to `.js`/`.mjs` if the .ts loader is unavailable.
|
|
17
|
+
* .mjs / .js → dynamic import.
|
|
18
|
+
* .cjs → require() via createRequire.
|
|
19
|
+
* .json → fs read + JSON.parse.
|
|
20
|
+
*
|
|
21
|
+
* Returns null when no config file is found — that is NOT an error; defaults
|
|
22
|
+
* apply.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadConfig(start?: string): Promise<LoadedConfig | null>;
|
|
25
|
+
export declare function findConfig(start: string): string | null;
|
|
26
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAWpD,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAAC,KAAK,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAM5F;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { WizardError } from '../util/errors.js';
|
|
5
|
+
import { validateConfigInput } from './schema.js';
|
|
6
|
+
const CANDIDATES = [
|
|
7
|
+
'allstak.config.ts',
|
|
8
|
+
'allstak.config.mts',
|
|
9
|
+
'allstak.config.mjs',
|
|
10
|
+
'allstak.config.js',
|
|
11
|
+
'allstak.config.cjs',
|
|
12
|
+
'allstak.config.json',
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Discover and load `allstak.config.*` from the given starting directory.
|
|
16
|
+
*
|
|
17
|
+
* Discovery walks up from `start` until a candidate is found or the filesystem
|
|
18
|
+
* root is reached. Loaders:
|
|
19
|
+
*
|
|
20
|
+
* .ts / .mts → require `tsx` to be available in the runtime (the wizard
|
|
21
|
+
* already depends on it for development; published binaries
|
|
22
|
+
* ship pre-compiled). For users running through `npx`, we
|
|
23
|
+
* fall back to `.js`/`.mjs` if the .ts loader is unavailable.
|
|
24
|
+
* .mjs / .js → dynamic import.
|
|
25
|
+
* .cjs → require() via createRequire.
|
|
26
|
+
* .json → fs read + JSON.parse.
|
|
27
|
+
*
|
|
28
|
+
* Returns null when no config file is found — that is NOT an error; defaults
|
|
29
|
+
* apply.
|
|
30
|
+
*/
|
|
31
|
+
export async function loadConfig(start = process.cwd()) {
|
|
32
|
+
const path = findConfig(start);
|
|
33
|
+
if (!path)
|
|
34
|
+
return null;
|
|
35
|
+
const raw = await loadByExtension(path);
|
|
36
|
+
const config = validateConfigInput(raw, path);
|
|
37
|
+
return { source: path, config };
|
|
38
|
+
}
|
|
39
|
+
export function findConfig(start) {
|
|
40
|
+
let dir = resolve(start);
|
|
41
|
+
while (true) {
|
|
42
|
+
for (const name of CANDIDATES) {
|
|
43
|
+
const candidate = resolve(dir, name);
|
|
44
|
+
if (existsSync(candidate))
|
|
45
|
+
return candidate;
|
|
46
|
+
}
|
|
47
|
+
const parent = resolve(dir, '..');
|
|
48
|
+
if (parent === dir)
|
|
49
|
+
return null;
|
|
50
|
+
dir = parent;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function loadByExtension(path) {
|
|
54
|
+
if (path.endsWith('.json')) {
|
|
55
|
+
try {
|
|
56
|
+
return JSON.parse(readFileSync(path, 'utf8'));
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
throw new WizardError('E_CONFIG_INVALID', `Cannot parse ${path}: ${err instanceof Error ? err.message : String(err)}`, { subcode: 'E_CONFIG_PARSE', context: { path } });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// For .ts/.mts/.mjs/.js/.cjs we use dynamic import. tsx (the dev runner used
|
|
63
|
+
// by `npx tsx src/cli.ts`) registers a loader that handles TS files; the
|
|
64
|
+
// published JS build only sees pre-compiled .mjs/.js, but users may still
|
|
65
|
+
// ship `.ts` configs which they'd run via `tsx`.
|
|
66
|
+
try {
|
|
67
|
+
const url = pathToFileURL(path).href;
|
|
68
|
+
const mod = await import(url);
|
|
69
|
+
return mod.default ?? mod;
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
73
|
+
if (path.endsWith('.ts') || path.endsWith('.mts')) {
|
|
74
|
+
throw new WizardError('E_CONFIG_INVALID', `Cannot load ${path}: ${msg}`, {
|
|
75
|
+
subcode: 'E_CONFIG_LOADER_TS',
|
|
76
|
+
hint: 'TypeScript configs require a TypeScript-aware runner (e.g. invoking the wizard via `tsx`/`bun`/`deno run`). ' +
|
|
77
|
+
'Switch to allstak.config.mjs / .js / .json or run the wizard with a TS-aware launcher.',
|
|
78
|
+
context: { path },
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
throw new WizardError('E_CONFIG_INVALID', `Cannot load ${path}: ${msg}`, { subcode: 'E_CONFIG_LOADER', context: { path } });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|