alchemy 2.0.0-beta.84 → 2.0.0-beta.85
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/THIRD_PARTY_LICENSES.md +2 -2
- package/bin/cli.js +14 -6
- package/bin/register-oxc.js +16 -12
- package/lib/AdoptPolicy.d.ts +73 -0
- package/lib/AdoptPolicy.d.ts.map +1 -1
- package/lib/AdoptPolicy.js +54 -0
- package/lib/AdoptPolicy.js.map +1 -1
- package/lib/Alchemist/AuthRegistry.d.ts +31 -0
- package/lib/Alchemist/AuthRegistry.d.ts.map +1 -0
- package/lib/Alchemist/AuthRegistry.js +95 -0
- package/lib/Alchemist/AuthRegistry.js.map +1 -0
- package/lib/Alchemist/Drift.d.ts +70 -0
- package/lib/Alchemist/Drift.d.ts.map +1 -0
- package/lib/Alchemist/Drift.js +54 -0
- package/lib/Alchemist/Drift.js.map +1 -0
- package/lib/Alchemist/Entrypoint.d.ts +27 -3
- package/lib/Alchemist/Entrypoint.d.ts.map +1 -1
- package/lib/Alchemist/Entrypoint.js +34 -3
- package/lib/Alchemist/Entrypoint.js.map +1 -1
- package/lib/Alchemist/Errors.d.ts +1 -1
- package/lib/Alchemist/Errors.d.ts.map +1 -1
- package/lib/Alchemist/Errors.js +1 -1
- package/lib/Alchemist/Errors.js.map +1 -1
- package/lib/Alchemist/Logs.d.ts +46 -0
- package/lib/Alchemist/Logs.d.ts.map +1 -0
- package/lib/Alchemist/{routes/logs.js → Logs.js} +21 -26
- package/lib/Alchemist/Logs.js.map +1 -0
- package/lib/Alchemist/Nuke.d.ts +69 -0
- package/lib/Alchemist/Nuke.d.ts.map +1 -0
- package/lib/Alchemist/Nuke.js +35 -0
- package/lib/Alchemist/Nuke.js.map +1 -0
- package/lib/Alchemist/Operations.d.ts +168 -0
- package/lib/Alchemist/Operations.d.ts.map +1 -0
- package/lib/Alchemist/Operations.js +165 -0
- package/lib/Alchemist/Operations.js.map +1 -0
- package/lib/Alchemist/Profile.d.ts +132 -0
- package/lib/Alchemist/Profile.d.ts.map +1 -0
- package/lib/Alchemist/{routes/profile.js → Profile.js} +20 -21
- package/lib/Alchemist/Profile.js.map +1 -0
- package/lib/Alchemist/{routes/provider.d.ts → Provider.d.ts} +4 -4
- package/lib/Alchemist/Provider.d.ts.map +1 -0
- package/lib/Alchemist/{routes/provider.js → Provider.js} +7 -6
- package/lib/Alchemist/Provider.js.map +1 -0
- package/lib/Alchemist/Runtime.d.ts +10 -6
- package/lib/Alchemist/Runtime.d.ts.map +1 -1
- package/lib/Alchemist/Runtime.js +38 -2
- package/lib/Alchemist/Runtime.js.map +1 -1
- package/lib/Alchemist/{routes/state.d.ts → State.d.ts} +36 -16
- package/lib/Alchemist/State.d.ts.map +1 -0
- package/lib/Alchemist/{routes/state.js → State.js} +50 -15
- package/lib/Alchemist/State.js.map +1 -0
- package/lib/Alchemist/index.d.ts +11 -10
- package/lib/Alchemist/index.d.ts.map +1 -1
- package/lib/Alchemist/index.js +10 -9
- package/lib/Alchemist/index.js.map +1 -1
- package/lib/Apply.d.ts +2 -8
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +364 -184
- package/lib/Apply.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts +24 -11
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +28 -12
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/BrowserOAuth.d.ts +6 -8
- package/lib/Auth/BrowserOAuth.d.ts.map +1 -1
- package/lib/Auth/BrowserOAuth.js +25 -41
- package/lib/Auth/BrowserOAuth.js.map +1 -1
- package/lib/Auth/Credentials.d.ts.map +1 -1
- package/lib/Auth/Credentials.js +2 -2
- package/lib/Auth/Credentials.js.map +1 -1
- package/lib/Auth/Demand.d.ts +4 -4
- package/lib/Auth/Demand.d.ts.map +1 -1
- package/lib/Auth/Demand.js +16 -10
- package/lib/Auth/Demand.js.map +1 -1
- package/lib/Auth/Env.d.ts +2 -1
- package/lib/Auth/Env.d.ts.map +1 -1
- package/lib/Auth/Env.js +4 -2
- package/lib/Auth/Env.js.map +1 -1
- package/lib/Auth/Inspect.d.ts +2 -2
- package/lib/Auth/Inspect.d.ts.map +1 -1
- package/lib/Auth/Inspect.js +3 -1
- package/lib/Auth/Inspect.js.map +1 -1
- package/lib/Auth/Lock.d.ts.map +1 -1
- package/lib/Auth/Lock.js +4 -8
- package/lib/Auth/Lock.js.map +1 -1
- package/lib/Auth/OAuthFlow.d.ts +3 -12
- package/lib/Auth/OAuthFlow.d.ts.map +1 -1
- package/lib/Auth/OAuthFlow.js +7 -17
- package/lib/Auth/OAuthFlow.js.map +1 -1
- package/lib/Auth/Paths.d.ts +2 -1
- package/lib/Auth/Paths.d.ts.map +1 -1
- package/lib/Auth/Paths.js +3 -2
- package/lib/Auth/Paths.js.map +1 -1
- package/lib/Auth/Profile.d.ts +10 -0
- package/lib/Auth/Profile.d.ts.map +1 -1
- package/lib/Auth/Profile.js +19 -2
- package/lib/Auth/Profile.js.map +1 -1
- package/lib/Auth/Registry.d.ts +20 -0
- package/lib/Auth/Registry.d.ts.map +1 -0
- package/lib/Auth/Registry.js +17 -0
- package/lib/Auth/Registry.js.map +1 -0
- package/lib/Auth/Resolve.d.ts +34 -2
- package/lib/Auth/Resolve.d.ts.map +1 -1
- package/lib/Auth/Resolve.js +51 -3
- package/lib/Auth/Resolve.js.map +1 -1
- package/lib/Auth/StoredAuthProvider.d.ts +1 -1
- package/lib/Auth/StoredAuthProvider.d.ts.map +1 -1
- package/lib/Auth/StoredAuthProvider.js +1 -2
- package/lib/Auth/StoredAuthProvider.js.map +1 -1
- package/lib/Binding.d.ts.map +1 -1
- package/lib/Binding.js +3 -1
- package/lib/Binding.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +5 -0
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js +36 -6
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Bundle/NamespaceImportPlugin.d.ts +55 -0
- package/lib/Bundle/NamespaceImportPlugin.d.ts.map +1 -0
- package/lib/Bundle/NamespaceImportPlugin.js +226 -0
- package/lib/Bundle/NamespaceImportPlugin.js.map +1 -0
- package/lib/Bundle/index.d.ts +1 -0
- package/lib/Bundle/index.d.ts.map +1 -1
- package/lib/Bundle/index.js +1 -0
- package/lib/Bundle/index.js.map +1 -1
- package/lib/Cli/Format.d.ts.map +1 -1
- package/lib/Cli/Format.js +2 -1
- package/lib/Cli/Format.js.map +1 -1
- package/lib/Cli/GlobalLog.d.ts +72 -26
- package/lib/Cli/GlobalLog.d.ts.map +1 -1
- package/lib/Cli/GlobalLog.js +151 -59
- package/lib/Cli/GlobalLog.js.map +1 -1
- package/lib/Cli/LoggingCli.d.ts.map +1 -1
- package/lib/Cli/LoggingCli.js +24 -18
- package/lib/Cli/LoggingCli.js.map +1 -1
- package/lib/Cli/PlainCliFormatter.d.ts.map +1 -1
- package/lib/Cli/PlainCliFormatter.js +4 -1
- package/lib/Cli/PlainCliFormatter.js.map +1 -1
- package/lib/Cli/Present.d.ts +14 -0
- package/lib/Cli/Present.d.ts.map +1 -0
- package/lib/Cli/Present.js +22 -0
- package/lib/Cli/Present.js.map +1 -0
- package/lib/Cli/SigilRenderer.d.ts +58 -0
- package/lib/Cli/SigilRenderer.d.ts.map +1 -0
- package/lib/Cli/SigilRenderer.js +39 -0
- package/lib/Cli/SigilRenderer.js.map +1 -0
- package/lib/Cli/checkVersion.d.ts +11 -14
- package/lib/Cli/checkVersion.d.ts.map +1 -1
- package/lib/Cli/checkVersion.js +19 -77
- package/lib/Cli/checkVersion.js.map +1 -1
- package/lib/Cli/commands/confirm.d.ts +2 -2
- package/lib/Cli/commands/confirm.d.ts.map +1 -1
- package/lib/Cli/commands/confirm.js +3 -3
- package/lib/Cli/commands/confirm.js.map +1 -1
- package/lib/Cli/commands/deploy.d.ts +4 -4
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +40 -39
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/dev.d.ts.map +1 -1
- package/lib/Cli/commands/dev.js +41 -3
- package/lib/Cli/commands/dev.js.map +1 -1
- package/lib/Cli/commands/drift.d.ts +2 -2
- package/lib/Cli/commands/drift.d.ts.map +1 -1
- package/lib/Cli/commands/drift.js +14 -13
- package/lib/Cli/commands/drift.js.map +1 -1
- package/lib/Cli/commands/errors.d.ts.map +1 -1
- package/lib/Cli/commands/errors.js +2 -1
- package/lib/Cli/commands/errors.js.map +1 -1
- package/lib/Cli/commands/instrument.d.ts +15 -5
- package/lib/Cli/commands/instrument.d.ts.map +1 -1
- package/lib/Cli/commands/instrument.js +33 -8
- package/lib/Cli/commands/instrument.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +22 -22
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/nuke.d.ts +3 -2
- package/lib/Cli/commands/nuke.d.ts.map +1 -1
- package/lib/Cli/commands/nuke.js +19 -17
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/profile/commands.d.ts +3 -2
- package/lib/Cli/commands/profile/commands.d.ts.map +1 -1
- package/lib/Cli/commands/profile/commands.js +26 -27
- package/lib/Cli/commands/profile/commands.js.map +1 -1
- package/lib/Cli/commands/profile/flows.d.ts +6 -5
- package/lib/Cli/commands/profile/flows.d.ts.map +1 -1
- package/lib/Cli/commands/profile/flows.js +19 -17
- package/lib/Cli/commands/profile/flows.js.map +1 -1
- package/lib/Cli/commands/profile/hub.d.ts +1 -2
- package/lib/Cli/commands/profile/hub.d.ts.map +1 -1
- package/lib/Cli/commands/profile/hub.js +15 -17
- package/lib/Cli/commands/profile/hub.js.map +1 -1
- package/lib/Cli/commands/provider.d.ts +3 -1
- package/lib/Cli/commands/provider.d.ts.map +1 -1
- package/lib/Cli/commands/provider.js +4 -4
- package/lib/Cli/commands/provider.js.map +1 -1
- package/lib/Cli/commands/render.d.ts +2 -4
- package/lib/Cli/commands/render.d.ts.map +1 -1
- package/lib/Cli/commands/render.js +33 -56
- package/lib/Cli/commands/render.js.map +1 -1
- package/lib/Cli/commands/state.d.ts +1 -2
- package/lib/Cli/commands/state.d.ts.map +1 -1
- package/lib/Cli/commands/state.js +74 -27
- package/lib/Cli/commands/state.js.map +1 -1
- package/lib/Cli/components/capabilities.d.ts +4 -0
- package/lib/Cli/components/capabilities.d.ts.map +1 -0
- package/lib/Cli/components/capabilities.js +18 -0
- package/lib/Cli/components/capabilities.js.map +1 -0
- package/lib/Cli/components/types.d.ts +2 -81
- package/lib/Cli/components/types.d.ts.map +1 -1
- package/lib/Cli/components/types.js +1 -3
- package/lib/Cli/components/types.js.map +1 -1
- package/lib/Cli/components/ui/Environment.d.ts +3 -3
- package/lib/Cli/components/ui/Environment.d.ts.map +1 -1
- package/lib/Cli/components/ui/Environment.js.map +1 -1
- package/lib/Cli/components/ui/Interactive.d.ts +17 -4
- package/lib/Cli/components/ui/Interactive.d.ts.map +1 -1
- package/lib/Cli/components/ui/Interactive.js +7 -11
- package/lib/Cli/components/ui/Interactive.js.map +1 -1
- package/lib/Cli/components/ui/Layout.d.ts +1 -1
- package/lib/Cli/components/ui/Layout.d.ts.map +1 -1
- package/lib/Cli/components/ui/Layout.js +1 -1
- package/lib/Cli/components/ui/Layout.js.map +1 -1
- package/lib/Cli/components/ui/Typography.d.ts +1 -1
- package/lib/Cli/components/ui/Typography.d.ts.map +1 -1
- package/lib/Cli/components/ui/Typography.js +1 -1
- package/lib/Cli/components/ui/Typography.js.map +1 -1
- package/lib/Cli/components/ui/index.d.ts +2 -2
- package/lib/Cli/components/ui/index.js +2 -2
- package/lib/Cli/components/view/ApprovePlan.d.ts +1 -1
- package/lib/Cli/components/view/ApprovePlan.d.ts.map +1 -1
- package/lib/Cli/components/view/ApprovePlan.js +2 -1
- package/lib/Cli/components/view/ApprovePlan.js.map +1 -1
- package/lib/Cli/components/view/Format.d.ts +5 -0
- package/lib/Cli/components/view/Format.d.ts.map +1 -0
- package/lib/Cli/components/view/Format.js +39 -0
- package/lib/Cli/components/view/Format.js.map +1 -0
- package/lib/Cli/components/view/Help.d.ts +2 -2
- package/lib/Cli/components/view/Help.d.ts.map +1 -1
- package/lib/Cli/components/view/Help.js +7 -5
- package/lib/Cli/components/view/Help.js.map +1 -1
- package/lib/Cli/components/view/Logo.js +1 -1
- package/lib/Cli/components/view/Logo.js.map +1 -1
- package/lib/Cli/components/view/Nuke.d.ts +8 -9
- package/lib/Cli/components/view/Nuke.d.ts.map +1 -1
- package/lib/Cli/components/view/Nuke.js +49 -52
- package/lib/Cli/components/view/Nuke.js.map +1 -1
- package/lib/Cli/components/view/PlanDecision.d.ts +1 -1
- package/lib/Cli/components/view/PlanDecision.d.ts.map +1 -1
- package/lib/Cli/components/view/PlanDecision.js +1 -1
- package/lib/Cli/components/view/PlanDecision.js.map +1 -1
- package/lib/Cli/components/view/PlanRow.js +1 -1
- package/lib/Cli/components/view/PlanRow.js.map +1 -1
- package/lib/Cli/components/view/PlanTree.d.ts +1 -1
- package/lib/Cli/components/view/PlanTree.d.ts.map +1 -1
- package/lib/Cli/components/view/PlanTree.js +1 -1
- package/lib/Cli/components/view/PlanView.js +1 -1
- package/lib/Cli/components/view/PlanView.js.map +1 -1
- package/lib/Cli/components/view/Profile.d.ts +1 -1
- package/lib/Cli/components/view/Profile.js +2 -2
- package/lib/Cli/components/view/Profile.js.map +1 -1
- package/lib/Cli/components/view/ProfileDashboard.d.ts +4 -4
- package/lib/Cli/components/view/ProfileDashboard.d.ts.map +1 -1
- package/lib/Cli/components/view/ProfileDashboard.js +9 -8
- package/lib/Cli/components/view/ProfileDashboard.js.map +1 -1
- package/lib/Cli/components/view/Prompts.d.ts +3 -3
- package/lib/Cli/components/view/Prompts.d.ts.map +1 -1
- package/lib/Cli/components/view/Prompts.js +11 -18
- package/lib/Cli/components/view/Prompts.js.map +1 -1
- package/lib/Cli/components/view/Runtime.d.ts +5 -5
- package/lib/Cli/components/view/Runtime.d.ts.map +1 -1
- package/lib/Cli/components/view/Runtime.js +136 -219
- package/lib/Cli/components/view/Runtime.js.map +1 -1
- package/lib/Cli/components/view/SigilCli.d.ts +2 -2
- package/lib/Cli/components/view/SigilCli.d.ts.map +1 -1
- package/lib/Cli/components/view/SigilCli.js +7 -7
- package/lib/Cli/components/view/SigilCli.js.map +1 -1
- package/lib/Cli/components/view/StateExplorer.d.ts +1 -1
- package/lib/Cli/components/view/StateExplorer.d.ts.map +1 -1
- package/lib/Cli/components/view/StateExplorer.js +2 -1
- package/lib/Cli/components/view/StateExplorer.js.map +1 -1
- package/lib/Cli/components/view/statusStyle.d.ts +2 -2
- package/lib/Cli/components/view/statusStyle.d.ts.map +1 -1
- package/lib/Cli/components/view/statusStyle.js +1 -1
- package/lib/Cli/components/view/statusStyle.js.map +1 -1
- package/lib/Cli/exec.d.ts +6 -1
- package/lib/Cli/exec.d.ts.map +1 -1
- package/lib/Cli/exec.js +29 -34
- package/lib/Cli/exec.js.map +1 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +35 -26
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cli/selectCli.d.ts +2 -2
- package/lib/Cli/selectCli.d.ts.map +1 -1
- package/lib/Cli/selectCli.js +2 -2
- package/lib/Cli/selectCli.js.map +1 -1
- package/lib/Command/Command.js +1 -1
- package/lib/Command/Command.js.map +1 -1
- package/lib/Command/Dev.d.ts +58 -4
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +87 -30
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Command/Local.d.ts +1 -1
- package/lib/Command/Memo.js +1 -1
- package/lib/Command/Memo.js.map +1 -1
- package/lib/Command/Providers.d.ts +1 -1
- package/lib/Command/Providers.d.ts.map +1 -1
- package/lib/Contributions.d.ts +2 -3
- package/lib/Contributions.d.ts.map +1 -1
- package/lib/Contributions.js +38 -6
- package/lib/Contributions.js.map +1 -1
- package/lib/DNS/Adapter.d.ts +204 -0
- package/lib/DNS/Adapter.d.ts.map +1 -0
- package/lib/DNS/Adapter.js +112 -0
- package/lib/DNS/Adapter.js.map +1 -0
- package/lib/DNS/index.d.ts +2 -0
- package/lib/DNS/index.d.ts.map +1 -0
- package/lib/DNS/index.js +2 -0
- package/lib/DNS/index.js.map +1 -0
- package/lib/Deploy.d.ts +7 -2
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Deploy.js +8 -3
- package/lib/Deploy.js.map +1 -1
- package/lib/Destroy.d.ts +5 -8
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +10 -7
- package/lib/Destroy.js.map +1 -1
- package/lib/Diff.d.ts.map +1 -1
- package/lib/Diff.js +14 -4
- package/lib/Diff.js.map +1 -1
- package/lib/Drift.d.ts +7 -7
- package/lib/Drift.d.ts.map +1 -1
- package/lib/Drift.js +184 -101
- package/lib/Drift.js.map +1 -1
- package/lib/EvalStack.d.ts +23 -0
- package/lib/EvalStack.d.ts.map +1 -0
- package/lib/EvalStack.js +47 -0
- package/lib/EvalStack.js.map +1 -0
- package/lib/Events.d.ts +210 -0
- package/lib/Events.d.ts.map +1 -0
- package/lib/Events.js +244 -0
- package/lib/Events.js.map +1 -0
- package/lib/Interaction.d.ts +159 -48
- package/lib/Interaction.d.ts.map +1 -1
- package/lib/Interaction.js +139 -58
- package/lib/Interaction.js.map +1 -1
- package/lib/Local/LocalProvider.d.ts.map +1 -1
- package/lib/Local/LocalProvider.js +31 -9
- package/lib/Local/LocalProvider.js.map +1 -1
- package/lib/Local/RpcProvider.d.ts.map +1 -1
- package/lib/Local/RpcProvider.js +10 -1
- package/lib/Local/RpcProvider.js.map +1 -1
- package/lib/Local/RpcProviderProxy.d.ts +16 -0
- package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
- package/lib/Local/RpcProviderProxy.js +19 -10
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Local/RpcSerialization.d.ts +3 -2
- package/lib/Local/RpcSerialization.d.ts.map +1 -1
- package/lib/Local/RpcSerialization.js +13 -10
- package/lib/Local/RpcSerialization.js.map +1 -1
- package/lib/Local/RpcServer.d.ts +2 -1
- package/lib/Local/RpcServer.d.ts.map +1 -1
- package/lib/Local/RpcServer.js +19 -14
- package/lib/Local/RpcServer.js.map +1 -1
- package/lib/Local/RpcServerBun.d.ts.map +1 -1
- package/lib/Local/RpcServerBun.js +8 -4
- package/lib/Local/RpcServerBun.js.map +1 -1
- package/lib/Local/RpcServerEnvironment.d.ts +2 -3
- package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
- package/lib/Local/RpcServerEnvironment.js +2 -2
- package/lib/Local/RpcServerEnvironment.js.map +1 -1
- package/lib/Local/RpcServerNode.d.ts.map +1 -1
- package/lib/Local/RpcServerNode.js +5 -1
- package/lib/Local/RpcServerNode.js.map +1 -1
- package/lib/Local/RpcServerSession.d.ts +1 -1
- package/lib/Local/RpcServerSession.d.ts.map +1 -1
- package/lib/Local/RpcServerSession.js.map +1 -1
- package/lib/Local/RpcSpawner.d.ts +6 -8
- package/lib/Local/RpcSpawner.d.ts.map +1 -1
- package/lib/Local/RpcSpawner.js +45 -36
- package/lib/Local/RpcSpawner.js.map +1 -1
- package/lib/Local/Sidecar.d.ts +23 -0
- package/lib/Local/Sidecar.d.ts.map +1 -1
- package/lib/Local/Sidecar.js +14 -9
- package/lib/Local/Sidecar.js.map +1 -1
- package/lib/Nuke.d.ts +5 -23
- package/lib/Nuke.d.ts.map +1 -1
- package/lib/Nuke.js +48 -13
- package/lib/Nuke.js.map +1 -1
- package/lib/Output.d.ts +19 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +96 -3
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts +5 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +111 -33
- package/lib/Plan.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +31 -7
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +45 -0
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +2 -2
- package/lib/Provider.js.map +1 -1
- package/lib/Report.d.ts +17 -195
- package/lib/Report.d.ts.map +1 -1
- package/lib/Report.js +39 -12
- package/lib/Report.js.map +1 -1
- package/lib/Runtime/ManagedHttpShutdown.d.ts +17 -0
- package/lib/Runtime/ManagedHttpShutdown.d.ts.map +1 -1
- package/lib/Runtime/ManagedHttpShutdown.js +11 -2
- package/lib/Runtime/ManagedHttpShutdown.js.map +1 -1
- package/lib/RuntimeContext.js +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/Stack.d.ts +49 -29
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +25 -31
- package/lib/Stack.js.map +1 -1
- package/lib/State/BucketState.d.ts.map +1 -1
- package/lib/State/BucketState.js +43 -14
- package/lib/State/BucketState.js.map +1 -1
- package/lib/State/LocalState.d.ts.map +1 -1
- package/lib/State/LocalState.js +3 -3
- package/lib/State/LocalState.js.map +1 -1
- package/lib/State/Provisioning.d.ts +5 -0
- package/lib/State/Provisioning.d.ts.map +1 -1
- package/lib/State/Provisioning.js +3 -1
- package/lib/State/Provisioning.js.map +1 -1
- package/lib/State/ResourceState.d.ts +2 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/State.d.ts +26 -0
- package/lib/State/State.d.ts.map +1 -1
- package/lib/State/StateEncoding.d.ts +7 -0
- package/lib/State/StateEncoding.d.ts.map +1 -1
- package/lib/State/StateEncoding.js +19 -0
- package/lib/State/StateEncoding.js.map +1 -1
- package/lib/State/index.js +2 -2
- package/lib/State/index.js.map +1 -1
- package/lib/Telemetry/Layer.d.ts +2 -5
- package/lib/Telemetry/Layer.d.ts.map +1 -1
- package/lib/Telemetry/Layer.js +3 -23
- package/lib/Telemetry/Layer.js.map +1 -1
- package/lib/Telemetry/Metrics.d.ts +1 -1
- package/lib/Telemetry/Metrics.d.ts.map +1 -1
- package/lib/TelemetryRelay.js +1 -1
- package/lib/TelemetryRelay.js.map +1 -1
- package/lib/TelemetryRuntime.d.ts +1 -1
- package/lib/TelemetryRuntime.d.ts.map +1 -1
- package/lib/TelemetryRuntime.js +4 -3
- package/lib/TelemetryRuntime.js.map +1 -1
- package/lib/Util/ConsoleSink.d.ts +23 -2
- package/lib/Util/ConsoleSink.d.ts.map +1 -1
- package/lib/Util/ConsoleSink.js +54 -14
- package/lib/Util/ConsoleSink.js.map +1 -1
- package/lib/Util/LogAnnotation.d.ts +19 -0
- package/lib/Util/LogAnnotation.d.ts.map +1 -0
- package/lib/Util/LogAnnotation.js +19 -0
- package/lib/Util/LogAnnotation.js.map +1 -0
- package/lib/Util/LogRecord.d.ts +281 -0
- package/lib/Util/LogRecord.d.ts.map +1 -0
- package/lib/Util/LogRecord.js +267 -0
- package/lib/Util/LogRecord.js.map +1 -0
- package/lib/Util/Node.d.ts +9 -0
- package/lib/Util/Node.d.ts.map +1 -1
- package/lib/Util/Node.js +10 -6
- package/lib/Util/Node.js.map +1 -1
- package/lib/Util/PlatformServices.d.ts +3 -2
- package/lib/Util/PlatformServices.d.ts.map +1 -1
- package/lib/Util/PlatformServices.js +6 -2
- package/lib/Util/PlatformServices.js.map +1 -1
- package/lib/Util/ResourceOutput.d.ts +18 -10
- package/lib/Util/ResourceOutput.d.ts.map +1 -1
- package/lib/Util/ResourceOutput.js +22 -23
- package/lib/Util/ResourceOutput.js.map +1 -1
- package/lib/Util/Shutdown.d.ts +10 -0
- package/lib/Util/Shutdown.d.ts.map +1 -0
- package/lib/Util/Shutdown.js +32 -0
- package/lib/Util/Shutdown.js.map +1 -0
- package/lib/Util/Terminal.d.ts +2 -4
- package/lib/Util/Terminal.d.ts.map +1 -1
- package/lib/Util/Terminal.js +3 -11
- package/lib/Util/Terminal.js.map +1 -1
- package/lib/Util/TraceParent.d.ts +32 -0
- package/lib/Util/TraceParent.d.ts.map +1 -0
- package/lib/Util/TraceParent.js +42 -0
- package/lib/Util/TraceParent.js.map +1 -0
- package/lib/Util/base64.d.ts +7 -0
- package/lib/Util/base64.d.ts.map +1 -0
- package/lib/Util/base64.js +24 -0
- package/lib/Util/base64.js.map +1 -0
- package/lib/Util/cached-function.d.ts +5 -0
- package/lib/Util/cached-function.d.ts.map +1 -1
- package/lib/Util/cached-function.js +13 -8
- package/lib/Util/cached-function.js.map +1 -1
- package/lib/Util/data.d.ts +1 -1
- package/lib/Util/data.d.ts.map +1 -1
- package/lib/Util/data.js +1 -1
- package/lib/Util/data.js.map +1 -1
- package/lib/Util/equal.d.ts.map +1 -1
- package/lib/Util/equal.js +3 -2
- package/lib/Util/equal.js.map +1 -1
- package/lib/Util/extraFiles.d.ts.map +1 -1
- package/lib/Util/extraFiles.js +5 -5
- package/lib/Util/extraFiles.js.map +1 -1
- package/lib/Util/interactive.js +1 -1
- package/lib/Website/AstroOutput.d.ts +42 -0
- package/lib/Website/AstroOutput.d.ts.map +1 -0
- package/lib/Website/AstroOutput.js +34 -0
- package/lib/Website/AstroOutput.js.map +1 -0
- package/lib/Website/FrontendCore.d.ts +1 -1
- package/lib/Workflows.d.ts +9 -0
- package/lib/Workflows.d.ts.map +1 -1
- package/lib/Workflows.js +8 -0
- package/lib/Workflows.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +21 -28
- package/src/AdoptPolicy.ts +76 -0
- package/src/Alchemist/AuthRegistry.ts +164 -0
- package/src/Alchemist/Drift.ts +103 -0
- package/src/Alchemist/Entrypoint.ts +51 -3
- package/src/Alchemist/Errors.ts +1 -1
- package/src/Alchemist/{routes/logs.ts → Logs.ts} +28 -30
- package/src/Alchemist/Nuke.ts +90 -0
- package/src/Alchemist/Operations.ts +309 -0
- package/src/Alchemist/{routes/profile.ts → Profile.ts} +22 -22
- package/src/Alchemist/{routes/provider.ts → Provider.ts} +7 -6
- package/src/Alchemist/Runtime.ts +46 -12
- package/src/Alchemist/{routes/state.ts → State.ts} +78 -21
- package/src/Alchemist/index.ts +32 -15
- package/src/Apply.ts +513 -274
- package/src/Auth/AuthProvider.ts +76 -23
- package/src/Auth/BrowserOAuth.ts +37 -60
- package/src/Auth/Credentials.ts +2 -4
- package/src/Auth/Demand.ts +27 -18
- package/src/Auth/Env.ts +13 -8
- package/src/Auth/Inspect.ts +5 -2
- package/src/Auth/Lock.ts +4 -8
- package/src/Auth/OAuthFlow.ts +12 -26
- package/src/Auth/Paths.ts +3 -2
- package/src/Auth/Profile.ts +30 -2
- package/src/Auth/Registry.ts +27 -0
- package/src/Auth/Resolve.ts +75 -3
- package/src/Auth/StoredAuthProvider.ts +1 -2
- package/src/Binding.ts +3 -4
- package/src/Bundle/Bundle.ts +58 -7
- package/src/Bundle/NamespaceImportPlugin.ts +259 -0
- package/src/Bundle/index.ts +1 -0
- package/src/Cli/Format.ts +2 -1
- package/src/Cli/GlobalLog.ts +206 -68
- package/src/Cli/LoggingCli.ts +33 -20
- package/src/Cli/PlainCliFormatter.ts +4 -1
- package/src/Cli/Present.ts +34 -0
- package/src/Cli/SigilRenderer.ts +75 -0
- package/src/Cli/checkVersion.ts +25 -78
- package/src/Cli/commands/confirm.ts +3 -3
- package/src/Cli/commands/deploy.ts +53 -44
- package/src/Cli/commands/dev.ts +65 -7
- package/src/Cli/commands/drift.ts +20 -16
- package/src/Cli/commands/errors.ts +2 -3
- package/src/Cli/commands/instrument.ts +39 -8
- package/src/Cli/commands/logs.ts +22 -30
- package/src/Cli/commands/nuke.ts +25 -26
- package/src/Cli/commands/profile/commands.ts +34 -34
- package/src/Cli/commands/profile/flows.ts +26 -20
- package/src/Cli/commands/profile/hub.ts +16 -18
- package/src/Cli/commands/provider.ts +4 -4
- package/src/Cli/commands/render.ts +43 -71
- package/src/Cli/commands/state.ts +113 -33
- package/src/Cli/components/capabilities.ts +20 -0
- package/src/Cli/components/types.ts +13 -99
- package/src/Cli/components/ui/Environment.tsx +5 -5
- package/src/Cli/components/ui/Interactive.tsx +24 -15
- package/src/Cli/components/ui/Layout.tsx +1 -1
- package/src/Cli/components/ui/Typography.tsx +1 -1
- package/src/Cli/components/ui/index.ts +2 -2
- package/src/Cli/components/view/ApprovePlan.tsx +2 -1
- package/src/Cli/components/view/Format.tsx +58 -0
- package/src/Cli/components/view/Help.tsx +14 -17
- package/src/Cli/components/view/Logo.tsx +1 -1
- package/src/Cli/components/view/Nuke.tsx +74 -49
- package/src/Cli/components/view/PlanDecision.tsx +1 -1
- package/src/Cli/components/view/PlanRow.tsx +1 -1
- package/src/Cli/components/view/PlanTree.ts +2 -2
- package/src/Cli/components/view/PlanView.tsx +2 -2
- package/src/Cli/components/view/Profile.tsx +2 -2
- package/src/Cli/components/view/ProfileDashboard.tsx +12 -11
- package/src/Cli/components/view/Prompts.tsx +37 -75
- package/src/Cli/components/view/Runtime.tsx +132 -238
- package/src/Cli/components/view/SigilCli.tsx +12 -12
- package/src/Cli/components/view/StateExplorer.tsx +2 -1
- package/src/Cli/components/view/statusStyle.ts +2 -2
- package/src/Cli/exec.ts +48 -41
- package/src/Cli/main.ts +52 -33
- package/src/Cli/selectCli.ts +3 -3
- package/src/Command/Command.ts +1 -1
- package/src/Command/Dev.ts +129 -36
- package/src/Command/Memo.ts +1 -1
- package/src/Contributions.ts +42 -8
- package/src/DNS/Adapter.ts +289 -0
- package/src/DNS/index.ts +1 -0
- package/src/Deploy.ts +11 -3
- package/src/Destroy.ts +19 -13
- package/src/Diff.ts +17 -4
- package/src/Drift.ts +256 -127
- package/src/EvalStack.ts +97 -0
- package/src/Events.ts +296 -0
- package/src/Interaction.ts +332 -97
- package/src/Local/LocalProvider.ts +40 -9
- package/src/Local/RpcProvider.ts +11 -1
- package/src/Local/RpcProviderProxy.ts +29 -21
- package/src/Local/RpcSerialization.ts +32 -17
- package/src/Local/RpcServer.ts +25 -17
- package/src/Local/RpcServerBun.ts +10 -6
- package/src/Local/RpcServerEnvironment.ts +2 -2
- package/src/Local/RpcServerNode.ts +8 -1
- package/src/Local/RpcServerSession.ts +2 -2
- package/src/Local/RpcSpawner.ts +61 -37
- package/src/Local/Sidecar.ts +10 -1
- package/src/Nuke.ts +66 -43
- package/src/Output.ts +120 -7
- package/src/Plan.ts +140 -52
- package/src/Platform.ts +47 -18
- package/src/Provider.ts +48 -3
- package/src/Report.ts +77 -275
- package/src/Runtime/ManagedHttpShutdown.ts +21 -4
- package/src/RuntimeContext.ts +1 -1
- package/src/Stack.ts +113 -135
- package/src/State/BucketState.ts +53 -21
- package/src/State/LocalState.ts +7 -9
- package/src/State/Provisioning.ts +8 -1
- package/src/State/ResourceState.ts +2 -0
- package/src/State/State.ts +30 -0
- package/src/State/StateEncoding.ts +22 -0
- package/src/State/index.ts +2 -2
- package/src/Telemetry/Layer.ts +3 -24
- package/src/Telemetry/Metrics.ts +1 -1
- package/src/TelemetryRelay.ts +1 -1
- package/src/TelemetryRuntime.ts +8 -8
- package/src/Util/ConsoleSink.ts +76 -13
- package/src/Util/LogAnnotation.ts +18 -0
- package/src/Util/LogRecord.ts +386 -0
- package/src/Util/Node.ts +20 -6
- package/src/Util/PlatformServices.ts +17 -4
- package/src/Util/ResourceOutput.ts +26 -25
- package/src/Util/Shutdown.ts +52 -0
- package/src/Util/Terminal.ts +3 -20
- package/src/Util/TraceParent.ts +70 -0
- package/src/Util/base64.ts +22 -0
- package/src/Util/cached-function.ts +30 -19
- package/src/Util/data.ts +2 -2
- package/src/Util/equal.ts +3 -2
- package/src/Util/extraFiles.ts +9 -8
- package/src/Util/interactive.ts +1 -1
- package/src/Website/AstroOutput.ts +83 -0
- package/src/Workflows.ts +11 -0
- package/src/index.ts +1 -0
- package/lib/Alchemist/Progress.d.ts +0 -16
- package/lib/Alchemist/Progress.d.ts.map +0 -1
- package/lib/Alchemist/Progress.js +0 -123
- package/lib/Alchemist/Progress.js.map +0 -1
- package/lib/Alchemist/Session.d.ts +0 -116
- package/lib/Alchemist/Session.d.ts.map +0 -1
- package/lib/Alchemist/Session.js +0 -212
- package/lib/Alchemist/Session.js.map +0 -1
- package/lib/Alchemist/routes/drift.d.ts +0 -55
- package/lib/Alchemist/routes/drift.d.ts.map +0 -1
- package/lib/Alchemist/routes/drift.js +0 -52
- package/lib/Alchemist/routes/drift.js.map +0 -1
- package/lib/Alchemist/routes/logs.d.ts +0 -41
- package/lib/Alchemist/routes/logs.d.ts.map +0 -1
- package/lib/Alchemist/routes/logs.js.map +0 -1
- package/lib/Alchemist/routes/nuke.d.ts +0 -46
- package/lib/Alchemist/routes/nuke.d.ts.map +0 -1
- package/lib/Alchemist/routes/nuke.js +0 -80
- package/lib/Alchemist/routes/nuke.js.map +0 -1
- package/lib/Alchemist/routes/profile.d.ts +0 -133
- package/lib/Alchemist/routes/profile.d.ts.map +0 -1
- package/lib/Alchemist/routes/profile.js.map +0 -1
- package/lib/Alchemist/routes/provider.d.ts.map +0 -1
- package/lib/Alchemist/routes/provider.js.map +0 -1
- package/lib/Alchemist/routes/stack.d.ts +0 -95
- package/lib/Alchemist/routes/stack.d.ts.map +0 -1
- package/lib/Alchemist/routes/stack.js +0 -73
- package/lib/Alchemist/routes/stack.js.map +0 -1
- package/lib/Alchemist/routes/state.d.ts.map +0 -1
- package/lib/Alchemist/routes/state.js.map +0 -1
- package/lib/Cli/CliKit/CliKit.d.ts +0 -92
- package/lib/Cli/CliKit/CliKit.d.ts.map +0 -1
- package/lib/Cli/CliKit/CliKit.js +0 -27
- package/lib/Cli/CliKit/CliKit.js.map +0 -1
- package/lib/Cli/CliKit/index.d.ts +0 -9
- package/lib/Cli/CliKit/index.d.ts.map +0 -1
- package/lib/Cli/CliKit/index.js +0 -9
- package/lib/Cli/CliKit/index.js.map +0 -1
- package/lib/Cli/CliKit/interaction.d.ts +0 -13
- package/lib/Cli/CliKit/interaction.d.ts.map +0 -1
- package/lib/Cli/CliKit/interaction.js +0 -17
- package/lib/Cli/CliKit/interaction.js.map +0 -1
- package/lib/Cli/CliKit/layer.d.ts +0 -7
- package/lib/Cli/CliKit/layer.d.ts.map +0 -1
- package/lib/Cli/CliKit/layer.js +0 -33
- package/lib/Cli/CliKit/layer.js.map +0 -1
- package/lib/Local/DevLog.d.ts +0 -32
- package/lib/Local/DevLog.d.ts.map +0 -1
- package/lib/Local/DevLog.js +0 -112
- package/lib/Local/DevLog.js.map +0 -1
- package/lib/Test/Alchemy.d.ts +0 -79
- package/lib/Test/Alchemy.d.ts.map +0 -1
- package/lib/Test/Alchemy.js +0 -193
- package/lib/Test/Alchemy.js.map +0 -1
- package/lib/Test/Bun.d.ts +0 -69
- package/lib/Test/Bun.d.ts.map +0 -1
- package/lib/Test/Bun.js +0 -126
- package/lib/Test/Bun.js.map +0 -1
- package/lib/Test/Core.d.ts +0 -277
- package/lib/Test/Core.d.ts.map +0 -1
- package/lib/Test/Core.js +0 -362
- package/lib/Test/Core.js.map +0 -1
- package/lib/Test/Http.d.ts +0 -109
- package/lib/Test/Http.d.ts.map +0 -1
- package/lib/Test/Http.js +0 -123
- package/lib/Test/Http.js.map +0 -1
- package/lib/Test/TestState.d.ts +0 -12
- package/lib/Test/TestState.d.ts.map +0 -1
- package/lib/Test/TestState.js +0 -15
- package/lib/Test/TestState.js.map +0 -1
- package/lib/Test/Vitest.d.ts +0 -60
- package/lib/Test/Vitest.d.ts.map +0 -1
- package/lib/Test/Vitest.js +0 -132
- package/lib/Test/Vitest.js.map +0 -1
- package/lib/Test/index.d.ts +0 -3
- package/lib/Test/index.d.ts.map +0 -1
- package/lib/Test/index.js +0 -3
- package/lib/Test/index.js.map +0 -1
- package/lib/Util/FileLogger.d.ts +0 -7
- package/lib/Util/FileLogger.d.ts.map +0 -1
- package/lib/Util/FileLogger.js +0 -16
- package/lib/Util/FileLogger.js.map +0 -1
- package/src/Alchemist/Progress.ts +0 -167
- package/src/Alchemist/Session.ts +0 -415
- package/src/Alchemist/routes/drift.ts +0 -87
- package/src/Alchemist/routes/nuke.ts +0 -131
- package/src/Alchemist/routes/stack.ts +0 -173
- package/src/Cli/CliKit/CliKit.ts +0 -159
- package/src/Cli/CliKit/index.ts +0 -41
- package/src/Cli/CliKit/interaction.ts +0 -19
- package/src/Cli/CliKit/layer.ts +0 -44
- package/src/Local/DevLog.ts +0 -122
- package/src/Test/Alchemy.ts +0 -334
- package/src/Test/Bun.ts +0 -230
- package/src/Test/Core.ts +0 -785
- package/src/Test/Http.ts +0 -201
- package/src/Test/TestState.ts +0 -35
- package/src/Test/Vitest.ts +0 -239
- package/src/Test/index.ts +0 -2
- package/src/Util/FileLogger.ts +0 -20
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import * as Clock from "effect/Clock";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import {} from "../Report.js";
|
|
4
|
-
// The event contract itself lives in Report.ts (one flat `_tag` union, the
|
|
5
|
-
// `Progress` reference the engine emits into). This module adds the
|
|
6
|
-
// Alchemist-side plumbing: the OTEL span-event bridge routes wrap their
|
|
7
|
-
// reporter with, and the adapter to the engine's apply-session contract.
|
|
8
|
-
export { Progress, } from "../Report.js";
|
|
9
|
-
/**
|
|
10
|
-
* The OTEL span-event shape of one {@link ProgressEvent}, or `undefined`
|
|
11
|
-
* for events that are renderer-only. Per-node plan events are deliberately
|
|
12
|
-
* excluded: a plan emits one per resource *including noops* on every
|
|
13
|
-
* (re)plan — dev-watch replans would flood the collector with rows that
|
|
14
|
-
* mostly say "noop", and the node's own `plan.diff.resource` span already
|
|
15
|
-
* carries the diff. The phase markers are enough to know planning started
|
|
16
|
-
* and where the time went.
|
|
17
|
-
*/
|
|
18
|
-
const spanEventOf = (event) => {
|
|
19
|
-
switch (event._tag) {
|
|
20
|
-
case "plan.phase":
|
|
21
|
-
return {
|
|
22
|
-
name: "alchemy.plan.phase",
|
|
23
|
-
attributes: { "alchemy.plan.phase": event.phase },
|
|
24
|
-
};
|
|
25
|
-
case "plan.resource.started":
|
|
26
|
-
case "plan.resource.completed":
|
|
27
|
-
case "plan.action.completed":
|
|
28
|
-
return undefined;
|
|
29
|
-
case "apply.resource.status":
|
|
30
|
-
return {
|
|
31
|
-
name: "alchemy.apply.resource.status",
|
|
32
|
-
attributes: {
|
|
33
|
-
"alchemy.resource.fqn": event.fqn,
|
|
34
|
-
"alchemy.resource.logical_id": event.id,
|
|
35
|
-
"alchemy.resource.type": event.type,
|
|
36
|
-
"alchemy.apply.resource.status": event.status,
|
|
37
|
-
...(event.message === undefined ? {} : { "alchemy.apply.message": event.message }),
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
case "apply.resource.note":
|
|
41
|
-
return {
|
|
42
|
-
name: "alchemy.apply.resource.note",
|
|
43
|
-
attributes: {
|
|
44
|
-
"alchemy.resource.fqn": event.fqn,
|
|
45
|
-
"alchemy.resource.logical_id": event.id,
|
|
46
|
-
"alchemy.apply.message": event.message,
|
|
47
|
-
...(event.kind === undefined ? {} : { "alchemy.apply.note.kind": event.kind }),
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
case "state.bootstrap.started":
|
|
51
|
-
case "state.bootstrap.completed":
|
|
52
|
-
return {
|
|
53
|
-
name: `alchemy.${event._tag}`,
|
|
54
|
-
attributes: { "alchemy.state_store.name": event.store },
|
|
55
|
-
};
|
|
56
|
-
case "nuke.scan.started":
|
|
57
|
-
return {
|
|
58
|
-
name: "alchemy.nuke.scan.started",
|
|
59
|
-
attributes: { "alchemy.nuke.providers": event.total },
|
|
60
|
-
};
|
|
61
|
-
case "nuke.pass.started":
|
|
62
|
-
return {
|
|
63
|
-
name: "alchemy.nuke.pass.started",
|
|
64
|
-
attributes: { "alchemy.nuke.pass": event.pass },
|
|
65
|
-
};
|
|
66
|
-
case "nuke.scan.provider.started":
|
|
67
|
-
return {
|
|
68
|
-
name: "alchemy.nuke.scan.provider.started",
|
|
69
|
-
attributes: { "alchemy.provider": event.provider },
|
|
70
|
-
};
|
|
71
|
-
case "nuke.scan.provider.completed":
|
|
72
|
-
return {
|
|
73
|
-
name: "alchemy.nuke.scan.provider.completed",
|
|
74
|
-
attributes: {
|
|
75
|
-
"alchemy.provider": event.provider,
|
|
76
|
-
"alchemy.nuke.resources": event.resources,
|
|
77
|
-
...(event.error === undefined ? {} : { "alchemy.nuke.message": event.error }),
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
case "nuke.resource.deleted":
|
|
81
|
-
return {
|
|
82
|
-
name: "alchemy.nuke.resource.deleted",
|
|
83
|
-
attributes: { "alchemy.resource.display_name": event.resource },
|
|
84
|
-
};
|
|
85
|
-
case "nuke.resource.failed":
|
|
86
|
-
return {
|
|
87
|
-
name: "alchemy.nuke.resource.failed",
|
|
88
|
-
attributes: {
|
|
89
|
-
"alchemy.resource.display_name": event.resource,
|
|
90
|
-
"alchemy.nuke.message": event.message,
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
case "provider.configure.started":
|
|
94
|
-
case "provider.configure.completed":
|
|
95
|
-
case "provider.refresh.started":
|
|
96
|
-
case "provider.refresh.completed":
|
|
97
|
-
return {
|
|
98
|
-
name: `alchemy.${event._tag}`,
|
|
99
|
-
attributes: { "alchemy.provider": event.provider },
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Decorate a reporter so a {@link ProgressEvent} with a span-event shape is
|
|
105
|
-
* also recorded on the currently active span before it reaches the
|
|
106
|
-
* renderer. Emission happens inside the engine's instrumented fibers, so
|
|
107
|
-
* apply events land on `apply.resource` / `provider.<op>` spans — giving
|
|
108
|
-
* traces a within-span timeline of status transitions. A no-op when no
|
|
109
|
-
* span is active (tracing disabled), and independent of whether a renderer
|
|
110
|
-
* is attached, so `--yes` and CI runs still produce the events.
|
|
111
|
-
*/
|
|
112
|
-
export const withSpanEvents = (report) => (event) => {
|
|
113
|
-
const spanEvent = spanEventOf(event);
|
|
114
|
-
if (spanEvent === undefined)
|
|
115
|
-
return report(event);
|
|
116
|
-
return Effect.currentSpan.pipe(Effect.flatMap((span) => Effect.flatMap(Clock.currentTimeNanos, (now) => Effect.sync(() => span.event(spanEvent.name, now, spanEvent.attributes)))), Effect.ignore, Effect.andThen(report(event)));
|
|
117
|
-
};
|
|
118
|
-
/** Adapt the ambient reporter to the engine's apply-session contract. */
|
|
119
|
-
export const applySession = (report) => ({
|
|
120
|
-
emit: (event) => report(event),
|
|
121
|
-
done: () => Effect.void,
|
|
122
|
-
});
|
|
123
|
-
//# sourceMappingURL=Progress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../src/Alchemist/Progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as FileSystem from "effect/FileSystem";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
|
-
import { AlchemyContext } from "../AlchemyContext.ts";
|
|
7
|
-
import { ArtifactStore } from "../Artifacts.ts";
|
|
8
|
-
import { AuthError, AuthProviders } from "../Auth/AuthProvider.ts";
|
|
9
|
-
import * as Contributions from "../Contributions.ts";
|
|
10
|
-
import * as Stack from "../Stack.ts";
|
|
11
|
-
import { Stage } from "../Stage.ts";
|
|
12
|
-
import { DEFAULT_ENTRYPOINT, resolveStackEntrypoint, StackEntrypointError } from "./Entrypoint.ts";
|
|
13
|
-
export { DEFAULT_ENTRYPOINT, resolveStackEntrypoint, StackEntrypointError };
|
|
14
|
-
/** Stage used by routes that inspect a project without addressing a deployment. */
|
|
15
|
-
export declare const PLACEHOLDER_STAGE = "placeholder";
|
|
16
|
-
/**
|
|
17
|
-
* The default export of an `alchemy.run.ts` entrypoint: the stack effect
|
|
18
|
-
* `Alchemy.Stack(...)` returns, carrying the metadata the factory attaches.
|
|
19
|
-
*/
|
|
20
|
-
export type StackModule = ReturnType<ReturnType<typeof Stack.make>> & {
|
|
21
|
-
readonly stackName: string;
|
|
22
|
-
readonly providers: Layer.Layer<never> | undefined;
|
|
23
|
-
readonly state: Layer.Layer<never> | undefined;
|
|
24
|
-
readonly secrets: Stack.StackSecrets | undefined;
|
|
25
|
-
};
|
|
26
|
-
export interface StackModuleLoader {
|
|
27
|
-
readonly import: (url: string) => Promise<{
|
|
28
|
-
readonly default?: unknown;
|
|
29
|
-
}>;
|
|
30
|
-
}
|
|
31
|
-
export declare const StackModuleLoader: Context.Reference<StackModuleLoader>;
|
|
32
|
-
export declare const importStack: (main: string) => Effect.Effect<StackModule, import("effect/PlatformError").PlatformError | StackEntrypointError, FileSystem.FileSystem | import("effect/Path").Path>;
|
|
33
|
-
/**
|
|
34
|
-
* Which project, stage, and credentials a route acts under. Every route that
|
|
35
|
-
* touches the user's program takes one of these; the optional fields fall back
|
|
36
|
-
* to the same defaults the CLI uses.
|
|
37
|
-
*/
|
|
38
|
-
export interface Target {
|
|
39
|
-
/** Stack entrypoint. @default "alchemy.run.ts" */
|
|
40
|
-
readonly entrypoint?: string;
|
|
41
|
-
/** Stage the run addresses. @default "placeholder" (routes that never deploy) */
|
|
42
|
-
readonly stage?: string;
|
|
43
|
-
/** Profile whose credentials the run uses. Falls back to the active profile. */
|
|
44
|
-
readonly profile?: string;
|
|
45
|
-
/** `.env` file layered under the process environment. */
|
|
46
|
-
readonly envFile?: string;
|
|
47
|
-
}
|
|
48
|
-
/** A {@link Target} for a route that genuinely acts on one stack instance. */
|
|
49
|
-
export interface StackTarget extends Target {
|
|
50
|
-
readonly entrypoint: string;
|
|
51
|
-
readonly stage: string;
|
|
52
|
-
}
|
|
53
|
-
export interface OpenOptions {
|
|
54
|
-
/** Run local (emulated) providers instead of the real cloud. */
|
|
55
|
-
readonly dev?: boolean;
|
|
56
|
-
/** Adopt pre-existing cloud resources instead of failing on conflict. */
|
|
57
|
-
readonly adopt?: boolean;
|
|
58
|
-
/** Upgrade an out-of-date state store without prompting. */
|
|
59
|
-
readonly updateStateStore?: boolean;
|
|
60
|
-
}
|
|
61
|
-
export interface CollectAuthProvidersOptions {
|
|
62
|
-
readonly main: string;
|
|
63
|
-
readonly envFile: Option.Option<string>;
|
|
64
|
-
readonly profile: string;
|
|
65
|
-
}
|
|
66
|
-
/** Memoize stack sessions and auth registries for one command or API scope. */
|
|
67
|
-
export declare const routeCacheLayer: Layer.Layer<never, never, never>;
|
|
68
|
-
/**
|
|
69
|
-
* Import the user's stack module and build the services its resources run
|
|
70
|
-
* under. This is the one place that decides what a stack run sees — plan,
|
|
71
|
-
* apply, drift, logs, and state inspection all come through here.
|
|
72
|
-
*
|
|
73
|
-
* The session lives in the surrounding `Scope`; run stack-scoped effects by
|
|
74
|
-
* providing `session.context` (`Effect.provide(effect, session.context)`).
|
|
75
|
-
*/
|
|
76
|
-
declare const openUncached: (target: Target, options?: OpenOptions | undefined) => Effect.Effect<{
|
|
77
|
-
stack: Stack.CompiledStack<unknown, unknown>;
|
|
78
|
-
/**
|
|
79
|
-
* Everything a stack-scoped effect runs under: the stack's own providers
|
|
80
|
-
* and state store over this session's services.
|
|
81
|
-
*/
|
|
82
|
-
context: Context.Context<unknown>;
|
|
83
|
-
}, unknown, AlchemyContext | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("../Auth/Credentials.ts").CredentialsStore | import("effect/Crypto").Crypto | FileSystem.FileSystem | import("effect/http/HttpClient").HttpClient | import("../Interaction.ts").Interaction | import("effect/Path").Path | import("../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope>;
|
|
84
|
-
/** An imported, fully-configured stack instance. */
|
|
85
|
-
export type Session = Effect.Success<ReturnType<typeof openUncached>>;
|
|
86
|
-
export declare const open: (target: Target, options?: OpenOptions | undefined) => Effect.Effect<{
|
|
87
|
-
stack: Stack.CompiledStack<unknown, unknown>;
|
|
88
|
-
/**
|
|
89
|
-
* Everything a stack-scoped effect runs under: the stack's own providers
|
|
90
|
-
* and state store over this session's services.
|
|
91
|
-
*/
|
|
92
|
-
context: Context.Context<unknown>;
|
|
93
|
-
}, unknown, AlchemyContext | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("../Auth/Credentials.ts").CredentialsStore | import("effect/Crypto").Crypto | FileSystem.FileSystem | import("effect/http/HttpClient").HttpClient | import("../Interaction.ts").Interaction | import("effect/Path").Path | import("../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope>;
|
|
94
|
-
export interface BuildStackProvidersOptions {
|
|
95
|
-
readonly main: string;
|
|
96
|
-
readonly envFile: Option.Option<string>;
|
|
97
|
-
readonly profile?: string;
|
|
98
|
-
readonly registry?: AuthProviders["Service"];
|
|
99
|
-
readonly logger?: Layer.Layer<never, never, never>;
|
|
100
|
-
readonly extra?: Layer.Layer<never, never, never>;
|
|
101
|
-
}
|
|
102
|
-
export declare const buildStackProviders: (options: BuildStackProvidersOptions) => Effect.Effect<{
|
|
103
|
-
authProviders: {
|
|
104
|
-
[providerName: string]: import("../Auth/AuthProvider.ts").AuthProvider<{
|
|
105
|
-
method: string;
|
|
106
|
-
}, unknown>;
|
|
107
|
-
};
|
|
108
|
-
context: Context.Context<AuthProviders | Stack.Stack | Stage>;
|
|
109
|
-
stackEffect: StackModule;
|
|
110
|
-
}, import("effect/Config").ConfigError | import("effect/PlatformError").PlatformError | StackEntrypointError, AlchemyContext | ArtifactStore | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("../Auth/Credentials.ts").CredentialsStore | import("effect/Crypto").Crypto | FileSystem.FileSystem | import("effect/http/HttpClient").HttpClient | import("../Interaction.ts").Interaction | import("effect/Path").Path | import("../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope>;
|
|
111
|
-
export declare const collectAuthProviders: (options: CollectAuthProvidersOptions) => Effect.Effect<{
|
|
112
|
-
[providerName: string]: import("../Auth/AuthProvider.ts").AuthProvider<{
|
|
113
|
-
method: string;
|
|
114
|
-
}, unknown>;
|
|
115
|
-
}, AuthError | Contributions.ContributionError | import("effect/PlatformError").PlatformError, AlchemyContext | ArtifactStore | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("../Auth/Credentials.ts").CredentialsStore | import("effect/Crypto").Crypto | FileSystem.FileSystem | import("effect/http/HttpClient").HttpClient | import("../Interaction.ts").Interaction | import("effect/Path").Path | import("../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope>;
|
|
116
|
-
//# sourceMappingURL=Session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/Alchemist/Session.ts"],"names":[],"mappings":"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"}
|
package/lib/Alchemist/Session.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
|
-
import { pathToFileURL } from "node:url";
|
|
10
|
-
import * as Cause from "effect/Cause";
|
|
11
|
-
import * as ConfigProvider from "effect/ConfigProvider";
|
|
12
|
-
import * as Context from "effect/Context";
|
|
13
|
-
import * as Duration from "effect/Duration";
|
|
14
|
-
import * as Effect from "effect/Effect";
|
|
15
|
-
import * as FileSystem from "effect/FileSystem";
|
|
16
|
-
import * as Layer from "effect/Layer";
|
|
17
|
-
import * as Logger from "effect/Logger";
|
|
18
|
-
import * as Option from "effect/Option";
|
|
19
|
-
import * as Predicate from "effect/Predicate";
|
|
20
|
-
import * as Schema from "effect/Schema";
|
|
21
|
-
import * as Semaphore from "effect/Semaphore";
|
|
22
|
-
import { AdoptPolicy } from "../AdoptPolicy.js";
|
|
23
|
-
import { AlchemyContext } from "../AlchemyContext.js";
|
|
24
|
-
import { ArtifactStore, createArtifactStore } from "../Artifacts.js";
|
|
25
|
-
import { AuthError, AuthProviders } from "../Auth/AuthProvider.js";
|
|
26
|
-
import { SuppressMissingProviderConfig } from "../Auth/Profile.js";
|
|
27
|
-
import { withProfileOverride } from "../Auth/Resolve.js";
|
|
28
|
-
import * as Contributions from "../Contributions.js";
|
|
29
|
-
import * as Stack from "../Stack.js";
|
|
30
|
-
import { Stage } from "../Stage.js";
|
|
31
|
-
import { loadConfigProvider, stackConfigLayer, StackConfigOverrides, } from "../Util/ConfigProvider.js";
|
|
32
|
-
import { fileLogger } from "../Util/FileLogger.js";
|
|
33
|
-
import { DEFAULT_ENTRYPOINT, resolveStackEntrypoint, StackEntrypointError } from "./Entrypoint.js";
|
|
34
|
-
import { Progress } from "./Progress.js";
|
|
35
|
-
export { DEFAULT_ENTRYPOINT, resolveStackEntrypoint, StackEntrypointError };
|
|
36
|
-
/** Stage used by routes that inspect a project without addressing a deployment. */
|
|
37
|
-
export const PLACEHOLDER_STAGE = "placeholder";
|
|
38
|
-
export const StackModuleLoader = Context.Reference("Alchemy/Alchemist/StackModuleLoader", { defaultValue: () => ({ import: (url) => import(__rewriteRelativeImportExtension(url)) }) });
|
|
39
|
-
export const importStack = Effect.fn(function* (main) {
|
|
40
|
-
const absolutePath = yield* resolveStackEntrypoint(main);
|
|
41
|
-
const loader = yield* StackModuleLoader;
|
|
42
|
-
const module = yield* Effect.promise(() => loader.import(pathToFileURL(absolutePath).href));
|
|
43
|
-
if (!Effect.isEffect(module.default) ||
|
|
44
|
-
!Predicate.hasProperty(module.default, "stackName") ||
|
|
45
|
-
typeof module.default.stackName !== "string") {
|
|
46
|
-
return yield* new StackEntrypointError({
|
|
47
|
-
message: `Stack entrypoint '${main}' must export a default stack definition (export default Alchemy.Stack({...})).`,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
// oxlint-disable-next-line effecttsgo/unsafe-effect-type-assertion -- default export shape validated at runtime above
|
|
51
|
-
return module.default;
|
|
52
|
-
});
|
|
53
|
-
/** Shared config and logging services used by every stack/auth build path. */
|
|
54
|
-
const sessionServices = Effect.fn("sessionServices")(function* (options) {
|
|
55
|
-
const commandConfig = yield* loadConfigProvider(options.envFile);
|
|
56
|
-
// `--env-file` only steers a stack's default secrets list and `--profile`
|
|
57
|
-
// pins the profile inside it; see stackConfigLayer.
|
|
58
|
-
return Layer.mergeAll(Layer.succeed(StackConfigOverrides, {
|
|
59
|
-
envFile: Option.getOrUndefined(options.envFile),
|
|
60
|
-
profile: options.profile,
|
|
61
|
-
}), ConfigProvider.layer(withProfileOverride(commandConfig, options.profile)), options.logger ?? Logger.layer([fileLogger("out")], { mergeWithExisting: true }), options.extra ?? Layer.empty);
|
|
62
|
-
});
|
|
63
|
-
const RouteCache = Context.Reference("Alchemy/Alchemist/RouteCache", {
|
|
64
|
-
defaultValue: () => ({
|
|
65
|
-
open: (target, options) => openUncached(target, options),
|
|
66
|
-
authProviders: collectAuthProvidersUncached,
|
|
67
|
-
}),
|
|
68
|
-
});
|
|
69
|
-
const stackSessionKey = (target, options) => JSON.stringify([
|
|
70
|
-
target.entrypoint ?? DEFAULT_ENTRYPOINT,
|
|
71
|
-
target.stage ?? PLACEHOLDER_STAGE,
|
|
72
|
-
target.profile ?? null,
|
|
73
|
-
target.envFile ?? null,
|
|
74
|
-
options.dev ?? false,
|
|
75
|
-
options.adopt ?? false,
|
|
76
|
-
options.updateStateStore ?? false,
|
|
77
|
-
]);
|
|
78
|
-
const authRegistryKey = (options) => JSON.stringify([options.main, Option.getOrNull(options.envFile), options.profile]);
|
|
79
|
-
const cached = (lock, entries, key, load) => Semaphore.withPermits(lock, 1)(Effect.suspend(() => {
|
|
80
|
-
const existing = entries.get(key);
|
|
81
|
-
if (existing !== undefined)
|
|
82
|
-
return Effect.succeed(existing);
|
|
83
|
-
return Effect.cached(load).pipe(Effect.tap((effect) => Effect.sync(() => {
|
|
84
|
-
entries.set(key, effect);
|
|
85
|
-
})));
|
|
86
|
-
})).pipe(Effect.flatten);
|
|
87
|
-
/** Memoize stack sessions and auth registries for one command or API scope. */
|
|
88
|
-
export const routeCacheLayer = Layer.effect(RouteCache, Effect.sync(() => {
|
|
89
|
-
const lock = Semaphore.makeUnsafe(1);
|
|
90
|
-
const sessions = new Map();
|
|
91
|
-
const registries = new Map();
|
|
92
|
-
return {
|
|
93
|
-
open: (target, options) => cached(lock, sessions, stackSessionKey(target, options), openUncached(target, options)),
|
|
94
|
-
authProviders: (options) => cached(lock, registries, authRegistryKey(options), collectAuthProvidersUncached(options)),
|
|
95
|
-
};
|
|
96
|
-
}));
|
|
97
|
-
/**
|
|
98
|
-
* Import the user's stack module and build the services its resources run
|
|
99
|
-
* under. This is the one place that decides what a stack run sees — plan,
|
|
100
|
-
* apply, drift, logs, and state inspection all come through here.
|
|
101
|
-
*
|
|
102
|
-
* The session lives in the surrounding `Scope`; run stack-scoped effects by
|
|
103
|
-
* providing `session.context` (`Effect.provide(effect, session.context)`).
|
|
104
|
-
*/
|
|
105
|
-
const openUncached = Effect.fn("openStackSessionUncached")(function* (target, options = {}) {
|
|
106
|
-
// Phases are emitted here, at the actual work boundaries, rather than by
|
|
107
|
-
// callers around `open` — the import and the service build both happen
|
|
108
|
-
// inside this function, so only it can time them honestly.
|
|
109
|
-
const report = yield* Progress;
|
|
110
|
-
yield* report({ _tag: "plan.phase", phase: "importing-module" });
|
|
111
|
-
const stackEffect = yield* importStack(target.entrypoint ?? DEFAULT_ENTRYPOINT);
|
|
112
|
-
yield* report({ _tag: "plan.phase", phase: "resolving-services" });
|
|
113
|
-
const shared = yield* sessionServices({
|
|
114
|
-
envFile: Option.fromNullishOr(target.envFile),
|
|
115
|
-
profile: target.profile,
|
|
116
|
-
});
|
|
117
|
-
const services = Layer.mergeAll(Layer.effect(AlchemyContext, Effect.map(AlchemyContext, (context) => ({
|
|
118
|
-
...context,
|
|
119
|
-
dev: options.dev ?? context.dev,
|
|
120
|
-
adopt: options.adopt ?? false,
|
|
121
|
-
updateStateStore: options.updateStateStore ?? false,
|
|
122
|
-
}))), Layer.succeedContext(Context.make(AdoptPolicy, options.adopt ?? false).pipe(Context.add(ArtifactStore, createArtifactStore()), Context.add(AuthProviders, yield* Effect.serviceOption(AuthProviders).pipe(Effect.map(Option.getOrElse(() => ({}))))), Context.add(Stage, target.stage ?? PLACEHOLDER_STAGE))), shared);
|
|
123
|
-
const sessionContext = yield* Layer.build(services);
|
|
124
|
-
const stack = yield* Effect.provide(stackEffect, sessionContext);
|
|
125
|
-
return {
|
|
126
|
-
stack,
|
|
127
|
-
/**
|
|
128
|
-
* Everything a stack-scoped effect runs under: the stack's own providers
|
|
129
|
-
* and state store over this session's services.
|
|
130
|
-
*/
|
|
131
|
-
context: Context.merge(sessionContext, stack.services),
|
|
132
|
-
};
|
|
133
|
-
});
|
|
134
|
-
export const open = Effect.fn("openStackSession")(function* (target, options = {}) {
|
|
135
|
-
return yield* (yield* RouteCache).open(target, options);
|
|
136
|
-
});
|
|
137
|
-
const placeholderStack = (name) => ({
|
|
138
|
-
actions: {},
|
|
139
|
-
bindings: {},
|
|
140
|
-
name,
|
|
141
|
-
resources: {},
|
|
142
|
-
stage: PLACEHOLDER_STAGE,
|
|
143
|
-
});
|
|
144
|
-
export const buildStackProviders = Effect.fn("buildStackProviders")(function* (options) {
|
|
145
|
-
const authProviders = options.registry ?? {};
|
|
146
|
-
const stackEffect = yield* importStack(options.main);
|
|
147
|
-
const shared = yield* sessionServices(options);
|
|
148
|
-
const valueServices = Layer.succeedContext(Context.make(AuthProviders, authProviders).pipe(Context.add(Stage, PLACEHOLDER_STAGE), Context.add(Stack.Stack, placeholderStack(stackEffect.stackName))));
|
|
149
|
-
const context = yield* Layer.build((stackEffect.providers ?? Layer.empty).pipe(Layer.provideMerge(stackEffect.state ?? Layer.empty), Layer.provideMerge(stackConfigLayer(stackEffect.secrets)), Layer.provideMerge(Layer.mergeAll(valueServices, shared))));
|
|
150
|
-
return { authProviders, context, stackEffect };
|
|
151
|
-
});
|
|
152
|
-
/**
|
|
153
|
-
* Every provider's auth provider, merged into one registering layer. One
|
|
154
|
-
* provider whose auth fails to load is skipped with a warning, so it can't
|
|
155
|
-
* take every other provider's auth down with it.
|
|
156
|
-
*/
|
|
157
|
-
const contributedAuth = Effect.fn("contributedAuth")(function* () {
|
|
158
|
-
const layers = yield* Effect.forEach(yield* Contributions.load(), (provider) => provider.auth
|
|
159
|
-
? Contributions.resolve(provider, "auth", provider.auth).pipe(Effect.catch((error) => Effect.as(Effect.logWarning(error.message), undefined)))
|
|
160
|
-
: Effect.void, { concurrency: "unbounded" });
|
|
161
|
-
return Layer.mergeAll(Layer.empty, ...layers.filter((layer) => layer !== undefined));
|
|
162
|
-
});
|
|
163
|
-
const buildContributedAuthProviders = Effect.fn("buildContributedAuthProviders")(function* (options) {
|
|
164
|
-
const authProviders = options.registry ?? {};
|
|
165
|
-
const shared = yield* sessionServices(options);
|
|
166
|
-
yield* Layer.build(Layer.provide(yield* contributedAuth(), Layer.mergeAll(Layer.succeed(AuthProviders, authProviders), shared)));
|
|
167
|
-
return authProviders;
|
|
168
|
-
});
|
|
169
|
-
const isMissingProviderConfig = Schema.is(Schema.Struct({ _tag: Schema.Literals(["MissingProviderConfig"]) }));
|
|
170
|
-
/**
|
|
171
|
-
* Every auth provider reachable from the current project: the built-ins, plus
|
|
172
|
-
* whatever the user's stack module registers when it is importable.
|
|
173
|
-
*/
|
|
174
|
-
const collectAuthProvidersUncached = Effect.fn("collectAuthProvidersUncached")(function* (options) {
|
|
175
|
-
const authProviders = {};
|
|
176
|
-
yield* buildContributedAuthProviders({
|
|
177
|
-
envFile: options.envFile,
|
|
178
|
-
profile: options.profile,
|
|
179
|
-
registry: authProviders,
|
|
180
|
-
});
|
|
181
|
-
const fs = yield* FileSystem.FileSystem;
|
|
182
|
-
const entrypointExists = yield* fs.exists(options.main);
|
|
183
|
-
const missingDefault = options.main === DEFAULT_ENTRYPOINT && !entrypointExists;
|
|
184
|
-
if (!entrypointExists && !missingDefault) {
|
|
185
|
-
return yield* AuthError.make({
|
|
186
|
-
message: `Stack entrypoint '${options.main}' does not exist.`,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
if (!missingDefault) {
|
|
190
|
-
yield* buildStackProviders({ ...options, registry: authProviders }).pipe(Effect.timeoutOption(Duration.seconds(15)), Effect.catchCause((cause) => {
|
|
191
|
-
const suppressed = cause.reasons.some((reason) => {
|
|
192
|
-
const error = Cause.isFailReason(reason)
|
|
193
|
-
? reason.error
|
|
194
|
-
: Cause.isDieReason(reason)
|
|
195
|
-
? reason.defect
|
|
196
|
-
: undefined;
|
|
197
|
-
return isMissingProviderConfig(error);
|
|
198
|
-
});
|
|
199
|
-
return suppressed
|
|
200
|
-
? Effect.void
|
|
201
|
-
: Effect.fail(AuthError.make({
|
|
202
|
-
message: `Could not load auth providers from '${options.main}'.`,
|
|
203
|
-
cause,
|
|
204
|
-
}));
|
|
205
|
-
}));
|
|
206
|
-
}
|
|
207
|
-
return authProviders;
|
|
208
|
-
}, Effect.provideService(SuppressMissingProviderConfig, true));
|
|
209
|
-
export const collectAuthProviders = Effect.fn("collectAuthProviders")(function* (options) {
|
|
210
|
-
return yield* (yield* RouteCache).authProviders(options);
|
|
211
|
-
});
|
|
212
|
-
//# sourceMappingURL=Session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/Alchemist/Session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as EngineDrift from "../../Drift.ts";
|
|
3
|
-
import type { Plan } from "../../Plan.ts";
|
|
4
|
-
import { type Session, type StackTarget } from "../Session.ts";
|
|
5
|
-
import * as Stack from "./stack.ts";
|
|
6
|
-
export interface DriftedResource {
|
|
7
|
-
readonly fqn: string;
|
|
8
|
-
readonly logicalId: string;
|
|
9
|
-
readonly resourceType: string;
|
|
10
|
-
readonly status: "in-sync" | "drifted" | "missing";
|
|
11
|
-
readonly actual?: unknown;
|
|
12
|
-
}
|
|
13
|
-
export interface DriftSnapshot {
|
|
14
|
-
readonly stack: {
|
|
15
|
-
readonly name: string;
|
|
16
|
-
readonly stage: string;
|
|
17
|
-
};
|
|
18
|
-
readonly resources: ReadonlyArray<DriftedResource>;
|
|
19
|
-
readonly repairPlan: {
|
|
20
|
-
readonly summary: Stack.PlanSummary;
|
|
21
|
-
readonly native: Plan;
|
|
22
|
-
};
|
|
23
|
-
/** The session drift was inspected under; {@link repair} runs in it. */
|
|
24
|
-
readonly session: Session;
|
|
25
|
-
}
|
|
26
|
-
/** Whether the drift check found anything worth repairing. */
|
|
27
|
-
export declare const hasDrift: (snapshot: DriftSnapshot) => boolean;
|
|
28
|
-
/** Compare deployed state against the real cloud and plan the repair. */
|
|
29
|
-
export declare const inspect: (target: StackTarget) => Effect.Effect<{
|
|
30
|
-
stack: {
|
|
31
|
-
name: string;
|
|
32
|
-
stage: string;
|
|
33
|
-
};
|
|
34
|
-
resources: {
|
|
35
|
-
fqn: string;
|
|
36
|
-
logicalId: string;
|
|
37
|
-
resourceType: string;
|
|
38
|
-
status: "drifted" | "in-sync" | "missing";
|
|
39
|
-
actual: any;
|
|
40
|
-
}[];
|
|
41
|
-
repairPlan: {
|
|
42
|
-
summary: Stack.PlanSummary;
|
|
43
|
-
native: Plan;
|
|
44
|
-
};
|
|
45
|
-
session: {
|
|
46
|
-
stack: import("../../Stack.ts").CompiledStack<unknown, unknown>;
|
|
47
|
-
context: import("effect/Context").Context<unknown>;
|
|
48
|
-
};
|
|
49
|
-
}, any, import("../../AlchemyContext.ts").AlchemyContext | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("../../Auth/Credentials.ts").CredentialsStore | import("effect/Crypto").Crypto | import("effect/FileSystem").FileSystem | import("effect/http/HttpClient").HttpClient | import("../../Interaction.ts").Interaction | import("effect/Path").Path | import("../../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope>;
|
|
50
|
-
/**
|
|
51
|
-
* Converge state back to the cloud's actual shape. Engine apply events are
|
|
52
|
-
* reported through {@link Progress}.
|
|
53
|
-
*/
|
|
54
|
-
export declare const repair: (snapshot: DriftSnapshot) => Effect.Effect<EngineDrift.DriftResult, any, never>;
|
|
55
|
-
//# sourceMappingURL=drift.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../../src/Alchemist/routes/drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;KACvB,CAAC;IACF,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,aAAc,aAAa,KAAG,OAGhD,CAAC;AASJ,yEAAyE;AACzE,eAAO,MAAM,OAAO;;;;;;;;;;;;;QA4BF,OAAO;QAAyB,MAAM;;;;;;mcAGtD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM,iFASjB,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as EngineDrift from "../../Drift.js";
|
|
3
|
-
import { applySession, Progress, withSpanEvents } from "../Progress.js";
|
|
4
|
-
import { open } from "../Session.js";
|
|
5
|
-
import * as Stack from "./stack.js";
|
|
6
|
-
/** Whether the drift check found anything worth repairing. */
|
|
7
|
-
export const hasDrift = (snapshot) => snapshot.resources.some((resource) => resource.status === "drifted" || resource.status === "missing");
|
|
8
|
-
const status = (action) => action === "unchanged"
|
|
9
|
-
? "in-sync"
|
|
10
|
-
: action === "missing"
|
|
11
|
-
? "missing"
|
|
12
|
-
: "drifted";
|
|
13
|
-
/** Compare deployed state against the real cloud and plan the repair. */
|
|
14
|
-
export const inspect = Effect.fn("Alchemist.drift.inspect")(function* (target) {
|
|
15
|
-
const report = withSpanEvents(yield* Progress);
|
|
16
|
-
// `open` emits importing-module / resolving-services at the real work
|
|
17
|
-
// boundaries; hand it the wrapped reporter so they land in traces too.
|
|
18
|
-
const session = yield* open(target).pipe(Effect.provideService(Progress, report));
|
|
19
|
-
const identity = {
|
|
20
|
-
name: session.stack.name,
|
|
21
|
-
stage: session.stack.stage,
|
|
22
|
-
};
|
|
23
|
-
const { result, plan } = yield* EngineDrift.plan(identity).pipe(
|
|
24
|
-
// The engine's phase and per-resource observation events flow through
|
|
25
|
-
// the same wrapped reporter; drift-flavored wording is the renderer's
|
|
26
|
-
// job (renderPlanning's computingLabel).
|
|
27
|
-
Effect.provideService(Progress, report), Effect.provide(session.context));
|
|
28
|
-
yield* report({ _tag: "plan.phase", phase: "plan-ready" });
|
|
29
|
-
return {
|
|
30
|
-
stack: identity,
|
|
31
|
-
resources: Object.values(result.resources)
|
|
32
|
-
.filter((resource) => resource.action !== "skipped")
|
|
33
|
-
.map((resource) => ({
|
|
34
|
-
fqn: resource.fqn,
|
|
35
|
-
logicalId: resource.logicalId,
|
|
36
|
-
resourceType: resource.resourceType,
|
|
37
|
-
status: status(resource.action),
|
|
38
|
-
actual: resource.attr,
|
|
39
|
-
})),
|
|
40
|
-
repairPlan: { summary: Stack.summarize(plan), native: plan },
|
|
41
|
-
session,
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
/**
|
|
45
|
-
* Converge state back to the cloud's actual shape. Engine apply events are
|
|
46
|
-
* reported through {@link Progress}.
|
|
47
|
-
*/
|
|
48
|
-
export const repair = Effect.fn("Alchemist.drift.repair")(function* (snapshot) {
|
|
49
|
-
const report = withSpanEvents(yield* Progress);
|
|
50
|
-
return yield* Effect.provide(EngineDrift.repair({ name: snapshot.stack.name, stage: snapshot.stack.stage }, { session: applySession(report) }), snapshot.session.context);
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=drift.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../../src/Alchemist/routes/drift.ts"],"names":[],"mappings":"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"}
|