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
|
@@ -2,16 +2,16 @@ import * as Command from "effect/cli/Command";
|
|
|
2
2
|
import * as Flag from "effect/cli/Flag";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Option from "effect/Option";
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
5
|
+
import * as Alchemist from "../../Alchemist/index.js";
|
|
6
|
+
import * as Interaction from "../../Interaction.js";
|
|
7
7
|
import { Cli } from "../../Report.js";
|
|
8
|
-
import
|
|
8
|
+
import { renderApply } from "../../Report.js";
|
|
9
9
|
import { planDecisionScreen } from "../components/view/PlanDecision.js";
|
|
10
10
|
import { stackOutputsView } from "../components/view/StackOutputs.js";
|
|
11
11
|
import { exitDeclined } from "./errors.js";
|
|
12
12
|
import { configPath, dryRun as dryRunFlag, envFile, force, include, exclude, validateSelectionOptions, optionalConfig, profile, resolveStackArgs, stage, yes, } from "./flags.js";
|
|
13
13
|
import { instrumentCommand } from "./instrument.js";
|
|
14
|
-
import {
|
|
14
|
+
import { renderPlanning } from "./render.js";
|
|
15
15
|
const stackSpanAttrs = (args) => ({
|
|
16
16
|
"alchemy.stage": args.stage,
|
|
17
17
|
"alchemy.profile": args.profile,
|
|
@@ -27,30 +27,30 @@ const adopt = Flag.Boolean("adopt").pipe(Flag.withDescription("Adopt pre-existin
|
|
|
27
27
|
"Useful for re-importing infrastructure into a fresh state store."), Flag.withDefault(false));
|
|
28
28
|
const detailed = Flag.Boolean("detailed").pipe(Flag.withDescription("Show declared resource properties as YAML"), Flag.withDefault(false));
|
|
29
29
|
const detectDrift = Flag.Boolean("detect-drift").pipe(Flag.withDescription("Detect infrastructure drift and offer to repair it before deploying"), Flag.withDefault(false));
|
|
30
|
-
const detectAndMaybeRepairDrift = Effect.fn(function* (
|
|
30
|
+
const detectAndMaybeRepairDrift = Effect.fn(function* (scanDrift, options) {
|
|
31
31
|
const cli = yield* Cli;
|
|
32
|
-
const snapshot = yield*
|
|
32
|
+
const snapshot = yield* scanDrift.pipe(renderPlanning({
|
|
33
33
|
operation: "Drift",
|
|
34
|
-
stage:
|
|
34
|
+
stage: options.stage,
|
|
35
35
|
computingLabel: "Checking drift",
|
|
36
36
|
readyLabel: "Drift check complete",
|
|
37
37
|
}));
|
|
38
|
-
if (!Drift.hasDrift(snapshot))
|
|
38
|
+
if (!Alchemist.Drift.hasDrift(snapshot))
|
|
39
39
|
return true;
|
|
40
40
|
if (options.dryRun) {
|
|
41
|
-
yield* cli.displayPlan(snapshot.
|
|
41
|
+
yield* cli.displayPlan(snapshot.native, {
|
|
42
42
|
detailed: options.detailed,
|
|
43
|
-
stage:
|
|
43
|
+
stage: options.stage,
|
|
44
44
|
});
|
|
45
45
|
return true;
|
|
46
46
|
}
|
|
47
47
|
let decision = options.yes ? "repair" : "cancel";
|
|
48
48
|
if (!options.yes) {
|
|
49
|
-
const terminal = yield*
|
|
49
|
+
const terminal = yield* Interaction.Interaction;
|
|
50
50
|
if (terminal.terminal.input) {
|
|
51
51
|
decision = yield* terminal.prompt
|
|
52
|
-
.
|
|
53
|
-
plan: snapshot.
|
|
52
|
+
.screen(planDecisionScreen({
|
|
53
|
+
plan: snapshot.native,
|
|
54
54
|
message: "Drift detected",
|
|
55
55
|
choices: [
|
|
56
56
|
{
|
|
@@ -71,17 +71,17 @@ const detectAndMaybeRepairDrift = Effect.fn(function* (target, options) {
|
|
|
71
71
|
.pipe(Effect.catchTag("TerminalCancelled", () => Effect.succeed("cancel")));
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
|
-
yield* cli.displayPlan(snapshot.
|
|
74
|
+
yield* cli.displayPlan(snapshot.native, {
|
|
75
75
|
detailed: options.detailed,
|
|
76
|
-
stage:
|
|
76
|
+
stage: options.stage,
|
|
77
77
|
});
|
|
78
|
-
yield*
|
|
78
|
+
yield* Interaction.warning("Drift detected in a non-interactive terminal. Re-run with --yes to repair and deploy.");
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
if (decision === "repair") {
|
|
82
|
-
yield* Drift.
|
|
82
|
+
yield* Alchemist.Drift.execute(snapshot).pipe(renderApply(snapshot.native, {
|
|
83
83
|
detailed: options.detailed,
|
|
84
|
-
stage:
|
|
84
|
+
stage: options.stage,
|
|
85
85
|
}));
|
|
86
86
|
}
|
|
87
87
|
return decision !== "cancel";
|
|
@@ -90,48 +90,49 @@ const runStack = Effect.fn(function* (options) {
|
|
|
90
90
|
yield* validateSelectionOptions(options);
|
|
91
91
|
const cli = yield* Cli;
|
|
92
92
|
const display = { detailed: options.detailed, stage: options.stage };
|
|
93
|
-
const
|
|
94
|
-
entrypoint: options.main,
|
|
93
|
+
const buildOptions = {
|
|
95
94
|
stage: options.stage,
|
|
96
95
|
profile: options.profile,
|
|
97
96
|
envFile: Option.getOrUndefined(options.envFile),
|
|
97
|
+
adopt: options.adopt,
|
|
98
|
+
updateStateStore: options.yes,
|
|
98
99
|
};
|
|
100
|
+
const stack = Alchemist.importStack(options.main);
|
|
99
101
|
const operation = options.destroy ? "Destroy" : options.dryRun ? "Plan" : "Deploy";
|
|
100
102
|
const withPlanningProgress = renderPlanning({
|
|
101
103
|
operation,
|
|
102
104
|
stage: options.stage,
|
|
103
105
|
});
|
|
104
106
|
if (options.detectDrift && !options.destroy) {
|
|
105
|
-
|
|
107
|
+
// The drift check closes its build before the deploy builds again: a
|
|
108
|
+
// remote state store holds one lease per stage per build.
|
|
109
|
+
const proceed = yield* detectAndMaybeRepairDrift(Effect.flatMap(stack, (stack) => Alchemist.Drift.scan({ ...buildOptions, stack })), options).pipe(Effect.scoped);
|
|
106
110
|
if (!proceed) {
|
|
107
|
-
yield*
|
|
111
|
+
yield* Interaction.info("Deploy aborted: drift was detected and not approved.");
|
|
108
112
|
return yield* exitDeclined;
|
|
109
113
|
}
|
|
110
114
|
}
|
|
111
|
-
const snapshot = yield*
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
const snapshot = yield* Effect.flatMap(stack, (stack) => Alchemist.plan(options.destroy
|
|
116
|
+
? { ...buildOptions, stack, operation: "destroy" }
|
|
117
|
+
: {
|
|
118
|
+
...buildOptions,
|
|
119
|
+
stack,
|
|
120
|
+
operation: "deploy",
|
|
121
|
+
force: options.force,
|
|
122
|
+
include: options.include,
|
|
123
|
+
exclude: options.exclude,
|
|
124
|
+
})).pipe(withPlanningProgress);
|
|
120
125
|
if (options.dryRun) {
|
|
121
126
|
return yield* cli.displayPlan(snapshot.native, display);
|
|
122
127
|
}
|
|
123
|
-
if (!options.yes &&
|
|
124
|
-
const approved = yield* cli.approvePlan(snapshot.native, display).pipe(Effect.tap((approved) => approved
|
|
125
|
-
? Effect.void
|
|
126
|
-
: CliKit.accessors.output.info(`${operation} aborted: plan declined.`)), Effect.catchTag("NonInteractiveTerminal", () => CliKit.accessors.output
|
|
127
|
-
.warning(`Cannot prompt for approval in a non-interactive terminal. Nothing was changed — re-run with --yes to ${operation.toLowerCase()}.`)
|
|
128
|
-
.pipe(Effect.as(false))));
|
|
128
|
+
if (!options.yes && Alchemist.hasChanges(snapshot)) {
|
|
129
|
+
const approved = yield* cli.approvePlan(snapshot.native, display).pipe(Effect.tap((approved) => approved ? Effect.void : Interaction.info(`${operation} aborted: plan declined.`)), Effect.catchTag("NonInteractiveTerminal", () => Interaction.warning(`Cannot prompt for approval in a non-interactive terminal. Nothing was changed — re-run with --yes to ${operation.toLowerCase()}.`).pipe(Effect.as(false))));
|
|
129
130
|
if (!approved)
|
|
130
131
|
return yield* exitDeclined;
|
|
131
132
|
}
|
|
132
|
-
const result = yield*
|
|
133
|
+
const result = yield* Alchemist.apply(snapshot).pipe(renderApply(snapshot.native, display));
|
|
133
134
|
if (result !== undefined) {
|
|
134
|
-
const kit = yield*
|
|
135
|
+
const kit = yield* Interaction.Interaction;
|
|
135
136
|
yield* kit.output.print(stackOutputsView(result));
|
|
136
137
|
}
|
|
137
138
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/Cli/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/Cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/dev.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/dev.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAI9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA0BxC;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,UAAU;;;;;;;;;0WAkJ4C,CAAC"}
|
package/lib/Cli/commands/dev.js
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { fileURLToPath } from "node:url";
|
|
2
2
|
import * as Command from "effect/cli/Command";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Fiber from "effect/Fiber";
|
|
5
|
+
import * as Logger from "effect/Logger";
|
|
4
6
|
import * as Option from "effect/Option";
|
|
5
7
|
import * as ChildProcess from "effect/process/ChildProcess";
|
|
6
8
|
import * as Schema from "effect/Schema";
|
|
9
|
+
import * as Stream from "effect/Stream";
|
|
7
10
|
import { resolveStackEntrypoint } from "../../Alchemist/Entrypoint.js";
|
|
8
11
|
import * as Contributions from "../../Contributions.js";
|
|
9
12
|
import { SPAWNER_URL_ENV_KEY } from "../../Local/RpcProviderProxy.js";
|
|
10
13
|
import * as RpcSpawner from "../../Local/RpcSpawner.js";
|
|
14
|
+
import { LOG_FD_ENV, parseRecord, replayRecord } from "../../Util/LogRecord.js";
|
|
11
15
|
import { nodeLoaderArgs } from "../../Util/Node.js";
|
|
16
|
+
import { timedShutdownStep } from "../../Util/Shutdown.js";
|
|
17
|
+
import { traceParentEnv } from "../../Util/TraceParent.js";
|
|
12
18
|
import { DEV_RELOAD_EXIT_CODE, DevOptions } from "../DevOptions.js";
|
|
19
|
+
import { consoleSettingsEnv, currentConsoleSettings, RunLog } from "../GlobalLog.js";
|
|
13
20
|
import { suppressInterruptMessages } from "./errors.js";
|
|
14
21
|
import { configPath, envFile, force, include, exclude, devStage, optionalConfig, profile, resolveStackArgs, } from "./flags.js";
|
|
22
|
+
import { logCommandFailure, VersionCheck } from "./instrument.js";
|
|
15
23
|
/**
|
|
16
24
|
* Trust the Floci emulator CA in `alchemy dev` so cross-cloud data planes
|
|
17
25
|
* terminated by the emulator's self-signed cert (e.g. an AWS Lambda MicroVM
|
|
@@ -77,6 +85,10 @@ export const devCommand = Command.make("dev", {
|
|
|
77
85
|
entry,
|
|
78
86
|
];
|
|
79
87
|
}
|
|
88
|
+
const runLog = yield* RunLog;
|
|
89
|
+
const consoleSettings = yield* currentConsoleSettings;
|
|
90
|
+
// The child's records and spans join this command's trace.
|
|
91
|
+
const traceEnv = yield* traceParentEnv;
|
|
80
92
|
const runChild = ChildProcess.make(command[0], command.slice(1), {
|
|
81
93
|
stdin: "inherit",
|
|
82
94
|
stdout: "inherit",
|
|
@@ -84,24 +96,50 @@ export const devCommand = Command.make("dev", {
|
|
|
84
96
|
env: {
|
|
85
97
|
ALCHEMY_EXEC_OPTIONS: JSON.stringify(options),
|
|
86
98
|
ALCHEMY_DEV: "true",
|
|
99
|
+
[LOG_FD_ENV]: "3",
|
|
100
|
+
// The exec child renders the run's logs but never sees this argv.
|
|
101
|
+
...consoleSettingsEnv(consoleSettings),
|
|
87
102
|
...(process.env.NODE_EXTRA_CA_CERTS
|
|
88
103
|
? { NODE_EXTRA_CA_CERTS: process.env.NODE_EXTRA_CA_CERTS }
|
|
89
104
|
: {}),
|
|
90
105
|
[SPAWNER_URL_ENV_KEY]: spawner.url,
|
|
106
|
+
...traceEnv,
|
|
91
107
|
},
|
|
92
108
|
extendEnv: true,
|
|
93
109
|
// Same process group as this supervisor: the exec child owns the
|
|
94
110
|
// terminal (TUI stdin), so the tty's Ctrl+C must reach it directly.
|
|
95
111
|
detached: false,
|
|
96
|
-
|
|
112
|
+
// The child's log records, for the run log this process writes.
|
|
113
|
+
additionalFds: { fd3: { type: "output" } },
|
|
114
|
+
}).pipe(Effect.flatMap((child) => Effect.gen(function* () {
|
|
115
|
+
const records = yield* child.getOutputFd(3).pipe(Stream.decodeText(), Stream.splitLines,
|
|
116
|
+
// Already rendered by the child: into the run log only. A line
|
|
117
|
+
// that doesn't decode is skipped, never ends the reader.
|
|
118
|
+
Stream.runForEach((line) => {
|
|
119
|
+
const record = parseRecord(line);
|
|
120
|
+
return record === undefined
|
|
121
|
+
? Effect.void
|
|
122
|
+
: replayRecord(record).pipe(Effect.provideService(Logger.CurrentLoggers, new Set([runLog])));
|
|
123
|
+
}), Effect.ignore, Effect.forkScoped);
|
|
124
|
+
// The pipe closes with the child: take its last records before
|
|
125
|
+
// this scope (and the reader with it) closes.
|
|
126
|
+
const drain = Fiber.join(records).pipe(Effect.timeout("2 seconds"), Effect.ignore);
|
|
127
|
+
const code = yield* child.exitCode.pipe(
|
|
128
|
+
// Ctrl+C reaches the child too (same process group): let it
|
|
129
|
+
// finish its own shutdown and report it before this scope
|
|
130
|
+
// kills whatever is left.
|
|
131
|
+
Effect.onInterrupt(() => child.exitCode.pipe(Effect.timeout("5 seconds"), Effect.ignore, Effect.andThen(drain), timedShutdownStep("stopped exec child"))));
|
|
132
|
+
yield* drain;
|
|
133
|
+
return code;
|
|
134
|
+
})), Effect.scoped);
|
|
97
135
|
// Each child gets its own scope so a reload exit releases the old
|
|
98
136
|
// handle before the replacement starts; the sidecar spawner lives in
|
|
99
137
|
// the command scope and survives every restart.
|
|
100
138
|
yield* Effect.repeat(runChild, {
|
|
101
139
|
until: (code) => code !== DEV_RELOAD_EXIT_CODE,
|
|
102
140
|
});
|
|
103
|
-
}, (effect, args) => Effect.provide(RpcSpawner.layerServer({
|
|
141
|
+
}, (effect, args) => Effect.andThen(Effect.flatten(VersionCheck), Effect.provide(RpcSpawner.layerServer({
|
|
104
142
|
profile: args.profile,
|
|
105
143
|
envFile: Option.getOrUndefined(args.envFile),
|
|
106
|
-
}))(effect))).pipe(Command.withDescription("Develop a stack with live reload"));
|
|
144
|
+
}))(effect)).pipe(logCommandFailure))).pipe(Command.withDescription("Develop a stack with live reload"));
|
|
107
145
|
//# sourceMappingURL=dev.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/Cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,cAAc,EACd,OAAO,EACP,gBAAgB,GACjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/Cli/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as Command from "effect/cli/Command";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
+
import * as Interaction from "../../Interaction.ts";
|
|
3
4
|
import { Cli } from "../../Report.ts";
|
|
4
|
-
import * as CliKit from "../CliKit/index.ts";
|
|
5
5
|
export declare const driftCommand: Command.Command<"drift", {
|
|
6
6
|
readonly repair: boolean;
|
|
7
7
|
readonly main: string;
|
|
8
8
|
readonly envFile: Option.Option<string>;
|
|
9
9
|
readonly stage: string | undefined;
|
|
10
10
|
readonly profile: string | undefined;
|
|
11
|
-
}, {}, any, import("../../AlchemyContext.ts").AlchemyContext | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | Cli |
|
|
11
|
+
}, {}, any, import("../../AlchemyContext.ts").AlchemyContext | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | Cli | import("../../Auth/Credentials.ts").CredentialsStore | import("effect/crypto/Digest").Digest | import("effect/FileSystem").FileSystem | import("effect/http/HttpClient").HttpClient | Interaction.Interaction | import("effect/Path").Path | import("../../Auth/Profile.ts").ProfileStore | import("effect/Scope").Scope | import("effect/crypto/SecureRandom").SecureRandom>;
|
|
12
12
|
//# sourceMappingURL=drift.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AA8EtC,eAAO,MAAM,YAAY;;;;;;qfAoBqC,CAAC"}
|
|
@@ -2,38 +2,39 @@ import * as Command from "effect/cli/Command";
|
|
|
2
2
|
import * as Flag from "effect/cli/Flag";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Option from "effect/Option";
|
|
5
|
-
import * as
|
|
5
|
+
import * as Alchemist from "../../Alchemist/index.js";
|
|
6
|
+
import * as Interaction from "../../Interaction.js";
|
|
6
7
|
import { Cli } from "../../Report.js";
|
|
7
|
-
import
|
|
8
|
+
import { renderApply } from "../../Report.js";
|
|
8
9
|
import { planDecisionScreen } from "../components/view/PlanDecision.js";
|
|
9
10
|
import { config, envFile, profile, resolveStage, stage } from "./flags.js";
|
|
10
11
|
import { instrumentCommand } from "./instrument.js";
|
|
11
|
-
import {
|
|
12
|
+
import { renderPlanning } from "./render.js";
|
|
12
13
|
const repairFlag = Flag.Boolean("repair").pipe(Flag.withDescription("Repair detected drift without prompting"), Flag.withDefault(false));
|
|
13
14
|
const routeDrift = Effect.fn(function* ({ main, stage, envFile, profile, repair = false, }) {
|
|
14
15
|
const cli = yield* Cli;
|
|
15
|
-
const snapshot = yield* Drift.
|
|
16
|
-
|
|
16
|
+
const snapshot = yield* Alchemist.importStack(main).pipe(Effect.flatMap((stack) => Alchemist.Drift.scan({
|
|
17
|
+
stack,
|
|
17
18
|
stage,
|
|
18
19
|
profile,
|
|
19
20
|
envFile: Option.getOrUndefined(envFile),
|
|
20
|
-
})
|
|
21
|
+
})), renderPlanning({
|
|
21
22
|
operation: "Drift",
|
|
22
23
|
stage,
|
|
23
24
|
computingLabel: "Checking drift",
|
|
24
25
|
readyLabel: "Drift check complete",
|
|
25
26
|
}));
|
|
26
|
-
if (!Drift.hasDrift(snapshot)) {
|
|
27
|
-
return yield* cli.displayPlan(snapshot.
|
|
27
|
+
if (!Alchemist.Drift.hasDrift(snapshot)) {
|
|
28
|
+
return yield* cli.displayPlan(snapshot.native);
|
|
28
29
|
}
|
|
29
30
|
if (!repair) {
|
|
30
|
-
const terminal = yield*
|
|
31
|
+
const terminal = yield* Interaction.Interaction;
|
|
31
32
|
if (!terminal.terminal.input) {
|
|
32
|
-
return yield* cli.displayPlan(snapshot.
|
|
33
|
+
return yield* cli.displayPlan(snapshot.native);
|
|
33
34
|
}
|
|
34
35
|
const decision = yield* terminal.prompt
|
|
35
|
-
.
|
|
36
|
-
plan: snapshot.
|
|
36
|
+
.screen(planDecisionScreen({
|
|
37
|
+
plan: snapshot.native,
|
|
37
38
|
message: "Drift detected",
|
|
38
39
|
choices: [
|
|
39
40
|
{
|
|
@@ -51,7 +52,7 @@ const routeDrift = Effect.fn(function* ({ main, stage, envFile, profile, repair
|
|
|
51
52
|
if (decision === "cancel")
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
|
-
yield* Drift.
|
|
55
|
+
yield* Alchemist.Drift.execute(snapshot).pipe(renderApply(snapshot.native));
|
|
55
56
|
});
|
|
56
57
|
export const driftCommand = Command.make("drift", {
|
|
57
58
|
repair: repairFlag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../../src/Cli/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../../src/Cli/commands/drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAGhD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAgB,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAGhD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAgB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAoBzE,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OAOrD,CAAC;AAEF,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,WAAW,SAAU,MAAM,sCAGpC,CAAC;AAEL,eAAO,MAAM,YAAY,mCAAiB,CAAC;AAG3C,eAAO,MAAM,yBAAyB,mCAEpC,CAAC;AAIH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,mCAclC,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kCAmBrE,CAAC;AAEJ,cAAM,gBAAgB;IAER,QAAQ,CAAC,KAAK,EAAE,OAAO;IADnC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS;IACzC,YAAqB,KAAK,EAAE,OAAO,EAAI;CACxC;;;;AAeD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;IACA,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ;CACnC;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CAsBnE,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,qDACpB,CAAC;AAElD,eAAO,MAAM,YAAY,gBAAiB,aAAa,CAAC,MAAM,CAAC,mDAK5D,CAAC"}
|
|
@@ -6,7 +6,8 @@ import * as Effect from "effect/Effect";
|
|
|
6
6
|
import * as Runtime from "effect/Runtime";
|
|
7
7
|
import * as Schema from "effect/Schema";
|
|
8
8
|
import { isUserFacing, UserFacingError } from "../../UserFacingError.js";
|
|
9
|
-
import { ANSI_DIM, ANSI_RESET, ansiFg, colorsEnabled,
|
|
9
|
+
import { ANSI_DIM, ANSI_RESET, ansiFg, colorsEnabled, unicodeEnabled, } from "../../Util/Terminal.js";
|
|
10
|
+
import { glyphsFor, theme } from "../../Util/Theme.js";
|
|
10
11
|
const isTerminalCancelled = Schema.is(Schema.Struct({ _tag: Schema.Literals(["TerminalCancelled"]) }));
|
|
11
12
|
const isAuthErrorLike = Schema.is(Schema.Struct({
|
|
12
13
|
_tag: Schema.Literals(["AuthError"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/Cli/commands/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/Cli/commands/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
1
2
|
import * as Effect from "effect/Effect";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
* The terminal shows a failed command's friendly message; this keeps its
|
|
5
|
+
* full cause chain in the command's run log.
|
|
6
|
+
*/
|
|
7
|
+
export declare const logCommandFailure: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
8
|
+
/**
|
|
9
|
+
* The pre-command version check. The CLI entrypoint sets it with its
|
|
10
|
+
* services already provided; elsewhere (tests, the API) it does nothing.
|
|
11
|
+
*/
|
|
12
|
+
export declare const VersionCheck: Context.Reference<Effect.Effect<void, never, never>>;
|
|
13
|
+
/**
|
|
14
|
+
* Wraps a command handler as one traced, metered unit. A best-effort check
|
|
15
|
+
* for a newer published version runs first, so its warning prints before
|
|
16
|
+
* any interactive prompt; it is cached for a day and bounded by a short
|
|
17
|
+
* timeout, so this stays fast.
|
|
8
18
|
*/
|
|
9
19
|
export declare const instrumentCommand: <AttrsArgs = unknown>(command: string, attrs?: (args: AttrsArgs) => Record<string, unknown>) => <Args extends AttrsArgs, A, E, R>(handler: (args: Args) => Effect.Effect<A, E, R>) => ((args: Args) => Effect.Effect<A, E, R>);
|
|
10
20
|
//# sourceMappingURL=instrument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/instrument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/instrument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAgBxC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BACuB,CAAC;AAEjG;;;GAGG;AACH,eAAO,MAAM,YAAY,sDAEvB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC3B,SAAS,GAAG,OAAO,WAAW,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAC1F,IAAI,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WACrB,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC9C,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAWvC,CAAC"}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
|
+
import * as Cause from "effect/Cause";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
1
3
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import {
|
|
4
|
+
import { identity } from "effect/Function";
|
|
5
|
+
import { authRegistryLayer } from "../../Alchemist/AuthRegistry.js";
|
|
3
6
|
import { recordCli } from "../../Telemetry/Metrics.js";
|
|
7
|
+
import { globalLogs } from "../../Util/LogRecord.js";
|
|
4
8
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* never open a session (`dev`, which only supervises the exec child) stay
|
|
9
|
-
* off this wrapper and therefore never load `Alchemist/Session`.
|
|
9
|
+
* Commands about the account, not a project: their logs go to the global run
|
|
10
|
+
* log (`~/.alchemy/logs`), so running one outside a project creates nothing
|
|
11
|
+
* there.
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
const isGlobalCommand = (command) => /^(profile|provider)(\.|$)/.test(command) ||
|
|
14
|
+
command === "state.bootstrap" ||
|
|
15
|
+
command === "state.teardown";
|
|
16
|
+
/**
|
|
17
|
+
* The terminal shows a failed command's friendly message; this keeps its
|
|
18
|
+
* full cause chain in the command's run log.
|
|
19
|
+
*/
|
|
20
|
+
export const logCommandFailure = (effect) => Effect.tapCause(effect, (cause) => Effect.logDebug(`command failed:\n${Cause.pretty(cause)}`));
|
|
21
|
+
/**
|
|
22
|
+
* The pre-command version check. The CLI entrypoint sets it with its
|
|
23
|
+
* services already provided; elsewhere (tests, the API) it does nothing.
|
|
24
|
+
*/
|
|
25
|
+
export const VersionCheck = Context.Reference("alchemy/Cli/VersionCheck", {
|
|
26
|
+
defaultValue: () => Effect.void,
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Wraps a command handler as one traced, metered unit. A best-effort check
|
|
30
|
+
* for a newer published version runs first, so its warning prints before
|
|
31
|
+
* any interactive prompt; it is cached for a day and bounded by a short
|
|
32
|
+
* timeout, so this stays fast.
|
|
33
|
+
*/
|
|
34
|
+
export const instrumentCommand = (command, attrs) => (handler) => (args) => Effect.andThen(Effect.flatten(VersionCheck), handler(args)).pipe(Effect.withSpan(`cli.${command}`, {
|
|
12
35
|
attributes: attrs ? attrs(args) : {},
|
|
13
|
-
}), recordCli(command),
|
|
36
|
+
}), recordCli(command), logCommandFailure, isGlobalCommand(command) ? globalLogs : identity,
|
|
37
|
+
// Auth registries are memoized for the command's duration.
|
|
38
|
+
Effect.provide(authRegistryLayer));
|
|
14
39
|
//# sourceMappingURL=instrument.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../src/Cli/commands/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../../src/Cli/commands/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAC1C,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;IACzC,OAAO,KAAK,iBAAiB;IAC7B,OAAO,KAAK,gBAAgB,CAAC;AAE/B;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAU,MAA8B,EAAE,EAAE,CAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjG;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAsB,0BAA0B,EAAE;IAC7F,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CAChC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAsB,OAAe,EAAE,KAAoD,EAAE,EAAE,CAC/F,CACE,OAA+C,EACL,EAAE,CAC9C,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,QAAQ,CAAC,OAAO,OAAO,EAAE,EAAE;IAChC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;CACrC,CAAC,EACF,SAAS,CAAC,OAAO,CAAC,EAClB,iBAAiB,EACjB,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;AAChD,2DAA2D;AAC3D,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAClC,CAAC"}
|
|
@@ -9,5 +9,5 @@ export declare const logsCommand: Command.Command<"logs", {
|
|
|
9
9
|
readonly limit: number;
|
|
10
10
|
readonly since: string | undefined;
|
|
11
11
|
readonly tail: boolean;
|
|
12
|
-
}, {}, any, import("../../AlchemyContext.ts").AlchemyContext | import("effect/
|
|
12
|
+
}, {}, any, import("../../AlchemyContext.ts").AlchemyContext | import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
|
|
13
13
|
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAoGxC,eAAO,MAAM,WAAW;;;;;;;;;mIAwBkD,CAAC"}
|