alchemy 2.0.0-beta.76 → 2.0.0-beta.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/THIRD_PARTY_LICENSES.md +11 -11
- package/bin/cli.js +88 -11
- package/bin/exec.js +11828 -5720
- package/bin/exec.js.map +1 -1
- package/bin/register-oxc.js +27 -0
- package/lib/AWS/AMP/Scraper.js +1 -1
- package/lib/AWS/AMP/Scraper.js.map +1 -1
- package/lib/AWS/AppRunner/Service.d.ts +11 -27
- package/lib/AWS/AppRunner/Service.d.ts.map +1 -1
- package/lib/AWS/AppRunner/Service.js +7 -21
- package/lib/AWS/AppRunner/Service.js.map +1 -1
- package/lib/AWS/Assets.d.ts +1 -1
- package/lib/AWS/Assets.js +2 -2
- package/lib/AWS/Assets.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts +40 -53
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +480 -215
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/Batch/JobDefinition.d.ts +11 -27
- package/lib/AWS/Batch/JobDefinition.d.ts.map +1 -1
- package/lib/AWS/Batch/JobDefinition.js +7 -21
- package/lib/AWS/Batch/JobDefinition.js.map +1 -1
- package/lib/AWS/EC2/GetAmi.d.ts +2 -0
- package/lib/AWS/EC2/GetAmi.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts +11 -27
- package/lib/AWS/EC2/Instance.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.js +7 -21
- package/lib/AWS/EC2/Instance.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts +5 -6
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Image.d.ts +1 -1
- package/lib/AWS/ECR/ImageSource.d.ts +4 -5
- package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts +7 -21
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +7 -21
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +7 -21
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +7 -21
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/ElastiCache/CacheCluster.d.ts +60 -0
- package/lib/AWS/ElastiCache/CacheCluster.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/CacheCluster.js +199 -0
- package/lib/AWS/ElastiCache/CacheCluster.js.map +1 -0
- package/lib/AWS/ElastiCache/ConnectCacheCluster.d.ts +46 -0
- package/lib/AWS/ElastiCache/ConnectCacheCluster.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/ConnectCacheCluster.js +5 -0
- package/lib/AWS/ElastiCache/ConnectCacheCluster.js.map +1 -0
- package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.d.ts +4 -0
- package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.js +52 -0
- package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.js.map +1 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroup.d.ts +47 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroup.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroup.js +5 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroup.js.map +1 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.d.ts +4 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.js +77 -0
- package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.js.map +1 -0
- package/lib/AWS/ElastiCache/ReplicationGroup.d.ts +95 -0
- package/lib/AWS/ElastiCache/ReplicationGroup.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/ReplicationGroup.js +383 -0
- package/lib/AWS/ElastiCache/ReplicationGroup.js.map +1 -0
- package/lib/AWS/ElastiCache/SubnetGroup.d.ts +39 -0
- package/lib/AWS/ElastiCache/SubnetGroup.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/SubnetGroup.js +136 -0
- package/lib/AWS/ElastiCache/SubnetGroup.js.map +1 -0
- package/lib/AWS/ElastiCache/index.d.ts +7 -0
- package/lib/AWS/ElastiCache/index.d.ts.map +1 -1
- package/lib/AWS/ElastiCache/index.js +7 -0
- package/lib/AWS/ElastiCache/index.js.map +1 -1
- package/lib/AWS/ElastiCache/internal.d.ts +13 -0
- package/lib/AWS/ElastiCache/internal.d.ts.map +1 -0
- package/lib/AWS/ElastiCache/internal.js +19 -0
- package/lib/AWS/ElastiCache/internal.js.map +1 -0
- package/lib/AWS/Environment.d.ts +2 -3
- package/lib/AWS/Environment.d.ts.map +1 -1
- package/lib/AWS/Environment.js +11 -41
- package/lib/AWS/Environment.js.map +1 -1
- package/lib/AWS/IAM/actions.generated.js +1 -1
- package/lib/AWS/IAM/actions.generated.js.map +1 -1
- package/lib/AWS/IdentityCenter/AccountAssignment.js +6 -0
- package/lib/AWS/IdentityCenter/AccountAssignment.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +14 -23
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +15 -20
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmImage.d.ts +12 -28
- package/lib/AWS/Lambda/MicrovmImage.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmImage.js +8 -22
- package/lib/AWS/Lambda/MicrovmImage.js.map +1 -1
- package/lib/AWS/Local/DevWatchProvider.d.ts.map +1 -1
- package/lib/AWS/Local/DevWatchProvider.js +10 -1
- package/lib/AWS/Local/DevWatchProvider.js.map +1 -1
- package/lib/AWS/Organizations/Account.d.ts +2 -2
- package/lib/AWS/Organizations/Account.d.ts.map +1 -1
- package/lib/AWS/Organizations/Account.js +16 -8
- package/lib/AWS/Organizations/Account.js.map +1 -1
- package/lib/AWS/Organizations/DelegatedAdministrator.d.ts +2 -3
- package/lib/AWS/Organizations/DelegatedAdministrator.d.ts.map +1 -1
- package/lib/AWS/Organizations/DelegatedAdministrator.js +5 -5
- package/lib/AWS/Organizations/DelegatedAdministrator.js.map +1 -1
- package/lib/AWS/Organizations/Organization.d.ts +1 -1
- package/lib/AWS/Organizations/Organization.d.ts.map +1 -1
- package/lib/AWS/Organizations/Organization.js +2 -2
- package/lib/AWS/Organizations/Organization.js.map +1 -1
- package/lib/AWS/Organizations/common.d.ts +9 -0
- package/lib/AWS/Organizations/common.d.ts.map +1 -1
- package/lib/AWS/Organizations/common.js +13 -0
- package/lib/AWS/Organizations/common.js.map +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +4 -1
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/StateStore/State.d.ts +1 -1
- package/lib/AWS/StateStore/State.d.ts.map +1 -1
- package/lib/Alchemist/Errors.d.ts +31 -0
- package/lib/Alchemist/Errors.d.ts.map +1 -0
- package/lib/Alchemist/Errors.js +19 -0
- package/lib/Alchemist/Errors.js.map +1 -0
- package/lib/Alchemist/Progress.d.ts +16 -0
- package/lib/Alchemist/Progress.d.ts.map +1 -0
- package/lib/Alchemist/Progress.js +129 -0
- package/lib/Alchemist/Progress.js.map +1 -0
- package/lib/Alchemist/Runtime.d.ts +22 -0
- package/lib/Alchemist/Runtime.d.ts.map +1 -0
- package/lib/Alchemist/Runtime.js +28 -0
- package/lib/Alchemist/Runtime.js.map +1 -0
- package/lib/Alchemist/Session.d.ts +124 -0
- package/lib/Alchemist/Session.d.ts.map +1 -0
- package/lib/Alchemist/Session.js +223 -0
- package/lib/Alchemist/Session.js.map +1 -0
- package/lib/Alchemist/index.d.ts +15 -0
- package/lib/Alchemist/index.d.ts.map +1 -0
- package/lib/Alchemist/index.js +15 -0
- package/lib/Alchemist/index.js.map +1 -0
- package/lib/Alchemist/routes/aws.d.ts +21 -0
- package/lib/Alchemist/routes/aws.d.ts.map +1 -0
- package/lib/Alchemist/routes/aws.js +54 -0
- package/lib/Alchemist/routes/aws.js.map +1 -0
- package/lib/Alchemist/routes/cloudflare.d.ts +63 -0
- package/lib/Alchemist/routes/cloudflare.d.ts.map +1 -0
- package/lib/Alchemist/routes/cloudflare.js +113 -0
- package/lib/Alchemist/routes/cloudflare.js.map +1 -0
- package/lib/Alchemist/routes/cloudflareToken.d.ts +93 -0
- package/lib/Alchemist/routes/cloudflareToken.d.ts.map +1 -0
- package/lib/Alchemist/routes/cloudflareToken.js +111 -0
- package/lib/Alchemist/routes/cloudflareToken.js.map +1 -0
- package/lib/Alchemist/routes/drift.d.ts +55 -0
- package/lib/Alchemist/routes/drift.d.ts.map +1 -0
- package/lib/Alchemist/routes/drift.js +52 -0
- package/lib/Alchemist/routes/drift.js.map +1 -0
- package/lib/Alchemist/routes/logs.d.ts +41 -0
- package/lib/Alchemist/routes/logs.d.ts.map +1 -0
- package/lib/Alchemist/routes/logs.js +112 -0
- package/lib/Alchemist/routes/logs.js.map +1 -0
- package/lib/Alchemist/routes/nuke.d.ts +46 -0
- package/lib/Alchemist/routes/nuke.d.ts.map +1 -0
- package/lib/Alchemist/routes/nuke.js +80 -0
- package/lib/Alchemist/routes/nuke.js.map +1 -0
- package/lib/Alchemist/routes/profile.d.ts +133 -0
- package/lib/Alchemist/routes/profile.d.ts.map +1 -0
- package/lib/Alchemist/routes/profile.js +257 -0
- package/lib/Alchemist/routes/profile.js.map +1 -0
- package/lib/Alchemist/routes/provider.d.ts +33 -0
- package/lib/Alchemist/routes/provider.d.ts.map +1 -0
- package/lib/Alchemist/routes/provider.js +65 -0
- package/lib/Alchemist/routes/provider.js.map +1 -0
- package/lib/Alchemist/routes/stack.d.ts +78 -0
- package/lib/Alchemist/routes/stack.d.ts.map +1 -0
- package/lib/Alchemist/routes/stack.js +67 -0
- package/lib/Alchemist/routes/stack.js.map +1 -0
- package/lib/Alchemist/routes/state.d.ts +35 -0
- package/lib/Alchemist/routes/state.d.ts.map +1 -0
- package/lib/Alchemist/routes/state.js +42 -0
- package/lib/Alchemist/routes/state.js.map +1 -0
- package/lib/Apply.d.ts +8 -6
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +209 -103
- package/lib/Apply.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts +201 -25
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +180 -40
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/BrowserOAuth.d.ts +27 -0
- package/lib/Auth/BrowserOAuth.d.ts.map +1 -0
- package/lib/Auth/BrowserOAuth.js +41 -0
- package/lib/Auth/BrowserOAuth.js.map +1 -0
- package/lib/Auth/Credentials.d.ts +11 -6
- package/lib/Auth/Credentials.d.ts.map +1 -1
- package/lib/Auth/Credentials.js +62 -23
- package/lib/Auth/Credentials.js.map +1 -1
- package/lib/Auth/CredentialsCache.d.ts +15 -0
- package/lib/Auth/CredentialsCache.d.ts.map +1 -0
- package/lib/Auth/CredentialsCache.js +34 -0
- package/lib/Auth/CredentialsCache.js.map +1 -0
- package/lib/Auth/Demand.d.ts +59 -34
- package/lib/Auth/Demand.d.ts.map +1 -1
- package/lib/Auth/Demand.js +150 -60
- package/lib/Auth/Demand.js.map +1 -1
- package/lib/Auth/Env.d.ts +4 -4
- package/lib/Auth/Env.d.ts.map +1 -1
- package/lib/Auth/Env.js +18 -9
- package/lib/Auth/Env.js.map +1 -1
- package/lib/Auth/Inspect.d.ts +33 -0
- package/lib/Auth/Inspect.d.ts.map +1 -0
- package/lib/Auth/Inspect.js +67 -0
- package/lib/Auth/Inspect.js.map +1 -0
- package/lib/Auth/Lock.d.ts +6 -0
- package/lib/Auth/Lock.d.ts.map +1 -1
- package/lib/Auth/Lock.js +22 -11
- package/lib/Auth/Lock.js.map +1 -1
- package/lib/Auth/OAuthFlow.d.ts +119 -0
- package/lib/Auth/OAuthFlow.d.ts.map +1 -0
- package/lib/Auth/OAuthFlow.js +314 -0
- package/lib/Auth/OAuthFlow.js.map +1 -0
- package/lib/Auth/Paths.d.ts +18 -0
- package/lib/Auth/Paths.d.ts.map +1 -0
- package/lib/Auth/Paths.js +20 -0
- package/lib/Auth/Paths.js.map +1 -0
- package/lib/Auth/Profile.d.ts +91 -67
- package/lib/Auth/Profile.d.ts.map +1 -1
- package/lib/Auth/Profile.js +449 -92
- package/lib/Auth/Profile.js.map +1 -1
- package/lib/Auth/Resolve.d.ts +42 -0
- package/lib/Auth/Resolve.d.ts.map +1 -0
- package/lib/Auth/Resolve.js +90 -0
- package/lib/Auth/Resolve.js.map +1 -0
- package/lib/Auth/StoredAuthProvider.d.ts +84 -0
- package/lib/Auth/StoredAuthProvider.d.ts.map +1 -0
- package/lib/Auth/StoredAuthProvider.js +179 -0
- package/lib/Auth/StoredAuthProvider.js.map +1 -0
- package/lib/Auth/index.d.ts +1 -0
- package/lib/Auth/index.d.ts.map +1 -1
- package/lib/Auth/index.js +1 -0
- package/lib/Auth/index.js.map +1 -1
- package/lib/Axiom/AuthProvider.d.ts +17 -26
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/AuthProvider.js +89 -172
- package/lib/Axiom/AuthProvider.js.map +1 -1
- package/lib/Axiom/Credentials.d.ts +2 -4
- package/lib/Axiom/Credentials.d.ts.map +1 -1
- package/lib/Axiom/Credentials.js +5 -10
- package/lib/Axiom/Credentials.js.map +1 -1
- package/lib/Axiom/Providers.d.ts +2 -2
- package/lib/Axiom/Providers.d.ts.map +1 -1
- package/lib/Axiom/Providers.js +3 -3
- package/lib/Axiom/Providers.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +3 -5
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Cli/CliKit/CliKit.d.ts +92 -0
- package/lib/Cli/CliKit/CliKit.d.ts.map +1 -0
- package/lib/Cli/CliKit/CliKit.js +27 -0
- package/lib/Cli/CliKit/CliKit.js.map +1 -0
- package/lib/Cli/CliKit/index.d.ts +9 -0
- package/lib/Cli/CliKit/index.d.ts.map +1 -0
- package/lib/Cli/CliKit/index.js +9 -0
- package/lib/Cli/CliKit/index.js.map +1 -0
- package/lib/Cli/CliKit/interaction.d.ts +13 -0
- package/lib/Cli/CliKit/interaction.d.ts.map +1 -0
- package/lib/Cli/CliKit/interaction.js +17 -0
- package/lib/Cli/CliKit/interaction.js.map +1 -0
- package/lib/Cli/CliKit/layer.d.ts +7 -0
- package/lib/Cli/CliKit/layer.d.ts.map +1 -0
- package/lib/Cli/CliKit/layer.js +34 -0
- package/lib/Cli/CliKit/layer.js.map +1 -0
- package/lib/Cli/DevOptions.d.ts +17 -0
- package/lib/Cli/DevOptions.d.ts.map +1 -0
- package/lib/Cli/DevOptions.js +16 -0
- package/lib/Cli/DevOptions.js.map +1 -0
- package/lib/Cli/Format.d.ts +5 -0
- package/lib/Cli/Format.d.ts.map +1 -0
- package/lib/Cli/Format.js +27 -0
- package/lib/Cli/Format.js.map +1 -0
- package/lib/Cli/GlobalLog.d.ts +41 -0
- package/lib/Cli/GlobalLog.d.ts.map +1 -0
- package/lib/Cli/GlobalLog.js +112 -0
- package/lib/Cli/GlobalLog.js.map +1 -0
- package/lib/Cli/LoggingCli.d.ts +4 -3
- package/lib/Cli/LoggingCli.d.ts.map +1 -1
- package/lib/Cli/LoggingCli.js +240 -100
- package/lib/Cli/LoggingCli.js.map +1 -1
- package/lib/Cli/ModeTag.d.ts +1 -1
- package/lib/Cli/ModeTag.js +1 -1
- package/lib/Cli/NamespaceTree.d.ts +18 -8
- package/lib/Cli/NamespaceTree.d.ts.map +1 -1
- package/lib/Cli/NamespaceTree.js +52 -11
- package/lib/Cli/NamespaceTree.js.map +1 -1
- package/lib/Cli/PlainCliFormatter.d.ts +11 -0
- package/lib/Cli/PlainCliFormatter.d.ts.map +1 -0
- package/lib/Cli/PlainCliFormatter.js +70 -0
- package/lib/Cli/PlainCliFormatter.js.map +1 -0
- package/lib/Cli/PropertyDiff.d.ts +37 -0
- package/lib/Cli/PropertyDiff.d.ts.map +1 -0
- package/lib/Cli/PropertyDiff.js +162 -0
- package/lib/Cli/PropertyDiff.js.map +1 -0
- package/lib/Cli/checkVersion.d.ts.map +1 -1
- package/lib/Cli/checkVersion.js +10 -6
- package/lib/Cli/checkVersion.js.map +1 -1
- package/lib/Cli/commands/aws.d.ts +2 -4
- package/lib/Cli/commands/aws.d.ts.map +1 -1
- package/lib/Cli/commands/aws.js +43 -55
- package/lib/Cli/commands/aws.js.map +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +6 -7
- package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
- package/lib/Cli/commands/cloudflare.js +149 -307
- package/lib/Cli/commands/cloudflare.js.map +1 -1
- package/lib/Cli/commands/compat.d.ts +11 -0
- package/lib/Cli/commands/compat.d.ts.map +1 -0
- package/lib/Cli/commands/compat.js +19 -0
- package/lib/Cli/commands/compat.js.map +1 -0
- package/lib/Cli/commands/confirm.d.ts +33 -0
- package/lib/Cli/commands/confirm.d.ts.map +1 -0
- package/lib/Cli/commands/confirm.js +39 -0
- package/lib/Cli/commands/confirm.js.map +1 -0
- package/lib/Cli/commands/deploy.d.ts +20 -32
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +140 -140
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/dev.d.ts +5 -4
- package/lib/Cli/commands/dev.d.ts.map +1 -1
- package/lib/Cli/commands/dev.js +52 -26
- package/lib/Cli/commands/dev.js.map +1 -1
- package/lib/Cli/commands/drift.d.ts +12 -0
- package/lib/Cli/commands/drift.d.ts.map +1 -0
- package/lib/Cli/commands/drift.js +68 -0
- package/lib/Cli/commands/drift.js.map +1 -0
- package/lib/Cli/commands/errors.d.ts +35 -0
- package/lib/Cli/commands/errors.d.ts.map +1 -0
- package/lib/Cli/commands/errors.js +106 -0
- package/lib/Cli/commands/errors.js.map +1 -0
- package/lib/Cli/commands/flags.d.ts +46 -0
- package/lib/Cli/commands/flags.d.ts.map +1 -0
- package/lib/Cli/commands/flags.js +98 -0
- package/lib/Cli/commands/flags.js.map +1 -0
- package/lib/Cli/commands/instrument.d.ts +3 -0
- package/lib/Cli/commands/instrument.d.ts.map +1 -0
- package/lib/Cli/commands/instrument.js +6 -0
- package/lib/Cli/commands/instrument.js.map +1 -0
- package/lib/Cli/commands/logs.d.ts +5 -4
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +63 -88
- 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 +89 -588
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/profile/commands.d.ts +9 -0
- package/lib/Cli/commands/profile/commands.d.ts.map +1 -0
- package/lib/Cli/commands/profile/commands.js +276 -0
- package/lib/Cli/commands/profile/commands.js.map +1 -0
- package/lib/Cli/commands/profile/flows.d.ts +36 -0
- package/lib/Cli/commands/profile/flows.d.ts.map +1 -0
- package/lib/Cli/commands/profile/flows.js +155 -0
- package/lib/Cli/commands/profile/flows.js.map +1 -0
- package/lib/Cli/commands/profile/hub.d.ts +8 -0
- package/lib/Cli/commands/profile/hub.d.ts.map +1 -0
- package/lib/Cli/commands/profile/hub.js +154 -0
- package/lib/Cli/commands/profile/hub.js.map +1 -0
- package/lib/Cli/commands/profile/index.d.ts +2 -0
- package/lib/Cli/commands/profile/index.d.ts.map +1 -0
- package/lib/Cli/commands/profile/index.js +2 -0
- package/lib/Cli/commands/profile/index.js.map +1 -0
- package/lib/Cli/commands/provider.d.ts +17 -0
- package/lib/Cli/commands/provider.d.ts.map +1 -0
- package/lib/Cli/commands/provider.js +44 -0
- package/lib/Cli/commands/provider.js.map +1 -0
- package/lib/Cli/commands/render.d.ts +12 -0
- package/lib/Cli/commands/render.d.ts.map +1 -0
- package/lib/Cli/commands/render.js +82 -0
- package/lib/Cli/commands/render.js.map +1 -0
- package/lib/Cli/commands/state.d.ts +8 -1
- package/lib/Cli/commands/state.d.ts.map +1 -1
- package/lib/Cli/commands/state.js +125 -248
- package/lib/Cli/commands/state.js.map +1 -1
- package/lib/Cli/components/types.d.ts +104 -0
- package/lib/Cli/components/types.d.ts.map +1 -0
- package/lib/Cli/components/types.js +4 -0
- package/lib/Cli/components/types.js.map +1 -0
- package/lib/Cli/components/ui/Data.d.ts +15 -0
- package/lib/Cli/components/ui/Data.d.ts.map +1 -0
- package/lib/Cli/components/ui/Data.js +8 -0
- package/lib/Cli/components/ui/Data.js.map +1 -0
- package/lib/Cli/components/ui/Environment.d.ts +45 -0
- package/lib/Cli/components/ui/Environment.d.ts.map +1 -0
- package/lib/Cli/components/ui/Environment.js +38 -0
- package/lib/Cli/components/ui/Environment.js.map +1 -0
- package/lib/Cli/components/ui/Feedback.d.ts +57 -0
- package/lib/Cli/components/ui/Feedback.d.ts.map +1 -0
- package/lib/Cli/components/ui/Feedback.js +83 -0
- package/lib/Cli/components/ui/Feedback.js.map +1 -0
- package/lib/Cli/components/ui/Interactive.d.ts +157 -0
- package/lib/Cli/components/ui/Interactive.d.ts.map +1 -0
- package/lib/Cli/components/ui/Interactive.js +527 -0
- package/lib/Cli/components/ui/Interactive.js.map +1 -0
- package/lib/Cli/components/ui/Layout.d.ts +74 -0
- package/lib/Cli/components/ui/Layout.d.ts.map +1 -0
- package/lib/Cli/components/ui/Layout.js +91 -0
- package/lib/Cli/components/ui/Layout.js.map +1 -0
- package/lib/Cli/components/ui/Live.d.ts +49 -0
- package/lib/Cli/components/ui/Live.d.ts.map +1 -0
- package/lib/Cli/components/ui/Live.js +43 -0
- package/lib/Cli/components/ui/Live.js.map +1 -0
- package/lib/Cli/components/ui/ProgressBar.d.ts +16 -0
- package/lib/Cli/components/ui/ProgressBar.d.ts.map +1 -0
- package/lib/Cli/components/ui/ProgressBar.js +17 -0
- package/lib/Cli/components/ui/ProgressBar.js.map +1 -0
- package/lib/Cli/components/ui/Transcript.d.ts +12 -0
- package/lib/Cli/components/ui/Transcript.d.ts.map +1 -0
- package/lib/Cli/components/ui/Transcript.js +14 -0
- package/lib/Cli/components/ui/Transcript.js.map +1 -0
- package/lib/Cli/components/ui/Typography.d.ts +17 -0
- package/lib/Cli/components/ui/Typography.d.ts.map +1 -0
- package/lib/Cli/components/ui/Typography.js +21 -0
- package/lib/Cli/components/ui/Typography.js.map +1 -0
- package/lib/Cli/components/ui/index.d.ts +16 -0
- package/lib/Cli/components/ui/index.d.ts.map +1 -0
- package/lib/Cli/components/ui/index.js +16 -0
- package/lib/Cli/components/ui/index.js.map +1 -0
- package/lib/Cli/components/view/ApprovePlan.d.ts +17 -0
- package/lib/Cli/components/view/ApprovePlan.d.ts.map +1 -0
- package/lib/Cli/components/view/ApprovePlan.js +59 -0
- package/lib/Cli/components/view/ApprovePlan.js.map +1 -0
- package/lib/Cli/components/view/Help.d.ts +4 -0
- package/lib/Cli/components/view/Help.d.ts.map +1 -0
- package/lib/Cli/components/view/Help.js +116 -0
- package/lib/Cli/components/view/Help.js.map +1 -0
- package/lib/Cli/components/view/Logo.d.ts +7 -0
- package/lib/Cli/components/view/Logo.d.ts.map +1 -0
- package/lib/Cli/components/view/Logo.js +118 -0
- package/lib/Cli/components/view/Logo.js.map +1 -0
- package/lib/Cli/components/view/Nuke.d.ts +36 -0
- package/lib/Cli/components/view/Nuke.d.ts.map +1 -0
- package/lib/Cli/components/view/Nuke.js +148 -0
- package/lib/Cli/components/view/Nuke.js.map +1 -0
- package/lib/Cli/components/view/PlanDecision.d.ts +15 -0
- package/lib/Cli/components/view/PlanDecision.d.ts.map +1 -0
- package/lib/Cli/components/view/PlanDecision.js +26 -0
- package/lib/Cli/components/view/PlanDecision.js.map +1 -0
- package/lib/Cli/components/view/PlanRow.d.ts +17 -0
- package/lib/Cli/components/view/PlanRow.d.ts.map +1 -0
- package/lib/Cli/components/view/PlanRow.js +14 -0
- package/lib/Cli/components/view/PlanRow.js.map +1 -0
- package/lib/Cli/components/view/PlanTree.d.ts +116 -0
- package/lib/Cli/components/view/PlanTree.d.ts.map +1 -0
- package/lib/Cli/components/view/PlanTree.js +207 -0
- package/lib/Cli/components/view/PlanTree.js.map +1 -0
- package/lib/Cli/components/view/PlanView.d.ts +42 -0
- package/lib/Cli/components/view/PlanView.d.ts.map +1 -0
- package/lib/Cli/components/view/PlanView.js +310 -0
- package/lib/Cli/components/view/PlanView.js.map +1 -0
- package/lib/Cli/components/view/Profile.d.ts +130 -0
- package/lib/Cli/components/view/Profile.d.ts.map +1 -0
- package/lib/Cli/components/view/Profile.js +147 -0
- package/lib/Cli/components/view/Profile.js.map +1 -0
- package/lib/Cli/components/view/ProfileDashboard.d.ts +152 -0
- package/lib/Cli/components/view/ProfileDashboard.d.ts.map +1 -0
- package/lib/Cli/components/view/ProfileDashboard.js +485 -0
- package/lib/Cli/components/view/ProfileDashboard.js.map +1 -0
- package/lib/Cli/components/view/Prompts.d.ts +10 -0
- package/lib/Cli/components/view/Prompts.d.ts.map +1 -0
- package/lib/Cli/components/view/Prompts.js +440 -0
- package/lib/Cli/components/view/Prompts.js.map +1 -0
- package/lib/Cli/components/view/Runtime.d.ts +8 -0
- package/lib/Cli/components/view/Runtime.d.ts.map +1 -0
- package/lib/Cli/components/view/Runtime.js +670 -0
- package/lib/Cli/components/view/Runtime.js.map +1 -0
- package/lib/Cli/components/view/SigilCli.d.ts +5 -0
- package/lib/Cli/components/view/SigilCli.d.ts.map +1 -0
- package/lib/Cli/components/view/SigilCli.js +134 -0
- package/lib/Cli/components/view/SigilCli.js.map +1 -0
- package/lib/Cli/components/view/StackOutputs.d.ts +10 -0
- package/lib/Cli/components/view/StackOutputs.d.ts.map +1 -0
- package/lib/Cli/components/view/StackOutputs.js +14 -0
- package/lib/Cli/components/view/StackOutputs.js.map +1 -0
- package/lib/Cli/components/view/StateExplorer.d.ts +118 -0
- package/lib/Cli/components/view/StateExplorer.d.ts.map +1 -0
- package/lib/Cli/components/view/StateExplorer.js +664 -0
- package/lib/Cli/components/view/StateExplorer.js.map +1 -0
- package/lib/Cli/components/view/statusStyle.d.ts +18 -0
- package/lib/Cli/components/view/statusStyle.d.ts.map +1 -0
- package/lib/Cli/components/view/statusStyle.js +69 -0
- package/lib/Cli/components/view/statusStyle.js.map +1 -0
- package/lib/Cli/components/view/usePlanPresentation.d.ts +25 -0
- package/lib/Cli/components/view/usePlanPresentation.d.ts.map +1 -0
- package/lib/Cli/components/view/usePlanPresentation.js +54 -0
- package/lib/Cli/components/view/usePlanPresentation.js.map +1 -0
- package/lib/Cli/components/view/usePlanViewport.d.ts +31 -0
- package/lib/Cli/components/view/usePlanViewport.d.ts.map +1 -0
- package/lib/Cli/components/view/usePlanViewport.js +113 -0
- package/lib/Cli/components/view/usePlanViewport.js.map +1 -0
- package/lib/Cli/exec.d.ts +5 -1
- package/lib/Cli/exec.d.ts.map +1 -1
- package/lib/Cli/exec.js +173 -19
- package/lib/Cli/exec.js.map +1 -1
- package/lib/Cli/main.d.ts +4 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +129 -38
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cli/selectCli.d.ts +5 -3
- package/lib/Cli/selectCli.d.ts.map +1 -1
- package/lib/Cli/selectCli.js +16 -9
- package/lib/Cli/selectCli.js.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.js +1 -1
- package/lib/Cloudflare/Auth/AuthConfig.d.ts +60 -0
- package/lib/Cloudflare/Auth/AuthConfig.d.ts.map +1 -0
- package/lib/Cloudflare/Auth/AuthConfig.js +68 -0
- package/lib/Cloudflare/Auth/AuthConfig.js.map +1 -0
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -142
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +473 -327
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts +16 -48
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +25 -260
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthScopes.d.ts +88 -0
- package/lib/Cloudflare/Auth/OAuthScopes.d.ts.map +1 -0
- package/lib/Cloudflare/Auth/OAuthScopes.js +887 -0
- package/lib/Cloudflare/Auth/OAuthScopes.js.map +1 -0
- package/lib/Cloudflare/Auth/TokenPolicy.d.ts +34 -0
- package/lib/Cloudflare/Auth/TokenPolicy.d.ts.map +1 -0
- package/lib/Cloudflare/Auth/TokenPolicy.js +51 -0
- package/lib/Cloudflare/Auth/TokenPolicy.js.map +1 -0
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +2 -3
- package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.js +7 -11
- package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
- package/lib/Cloudflare/Containers/Container.d.ts +10 -25
- package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/Container.js +9 -23
- package/lib/Cloudflare/Containers/Container.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +12 -27
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/StartContainer.d.ts +1 -1
- package/lib/Cloudflare/Containers/StartContainer.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +6 -20
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +12 -54
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/ImportDatabase.d.ts +1 -1
- package/lib/Cloudflare/D1/ImportDatabase.d.ts.map +1 -1
- package/lib/Cloudflare/EdgeSession.d.ts +1 -1
- package/lib/Cloudflare/EdgeSession.d.ts.map +1 -1
- package/lib/Cloudflare/EdgeSession.js +1 -1
- package/lib/Cloudflare/EdgeSession.js.map +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.js +10 -6
- package/lib/Cloudflare/Logs.js.map +1 -1
- package/lib/Cloudflare/Pages/Project.d.ts +1 -1
- package/lib/Cloudflare/Pages/Project.js +1 -1
- package/lib/Cloudflare/Providers.d.ts +2 -2
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +2 -2
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +3 -0
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +2 -2
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts +10 -6
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/CredentialsFile.js +23 -1
- package/lib/Cloudflare/StateStore/CredentialsFile.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +9 -5
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +132 -99
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js +1 -1
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.js +4 -12
- package/lib/Cloudflare/Website/Nextjs.js.map +1 -1
- package/lib/Cloudflare/Website/Vocs.d.ts +1 -1
- package/lib/Cloudflare/Website/Vocs.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vocs.js +3 -7
- package/lib/Cloudflare/Website/Vocs.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +74 -26
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts +2 -2
- package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/BrowserHttpClient.js +10 -3
- package/lib/Cloudflare/Workers/BrowserHttpClient.js.map +1 -1
- package/lib/Cloudflare/Workers/CloudflareTracer.d.ts +9 -0
- package/lib/Cloudflare/Workers/CloudflareTracer.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/CloudflareTracer.js +87 -0
- package/lib/Cloudflare/Workers/CloudflareTracer.js.map +1 -0
- package/lib/Cloudflare/Workers/Compatibility.d.ts +13 -0
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +31 -6
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +50 -4
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +44 -3
- package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.js +4 -0
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectState.d.ts +25 -2
- package/lib/Cloudflare/Workers/DurableObjectState.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectState.js +7 -2
- package/lib/Cloudflare/Workers/DurableObjectState.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts +7 -1
- package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectStorage.js +6 -1
- package/lib/Cloudflare/Workers/DurableObjectStorage.js.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +125 -58
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/RpcWorker.d.ts +12 -5
- package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/RpcWorker.js +8 -2
- package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
- package/lib/Cloudflare/Workers/Source.d.ts +3 -0
- package/lib/Cloudflare/Workers/Source.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Source.js +3 -1
- package/lib/Cloudflare/Workers/Source.js.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Python.d.ts +2 -0
- package/lib/Cloudflare/Workers/Sources/Python.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Python.js +16 -12
- package/lib/Cloudflare/Workers/Sources/Python.js.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Rolldown.js +1 -1
- package/lib/Cloudflare/Workers/Sources/Rolldown.js.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.d.ts +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.js +6 -4
- package/lib/Cloudflare/Workers/Sources/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Telemetry.d.ts +113 -0
- package/lib/Cloudflare/Workers/Telemetry.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/Telemetry.js +129 -0
- package/lib/Cloudflare/Workers/Telemetry.js.map +1 -0
- package/lib/Cloudflare/Workers/ViteBuildChildRunner.js +6 -1
- package/lib/Cloudflare/Workers/ViteBuildChildRunner.js.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.d.ts +2 -2
- package/lib/Cloudflare/Workers/ViteChild.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.js +19 -17
- package/lib/Cloudflare/Workers/ViteChild.js.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.shared.d.ts +1 -0
- package/lib/Cloudflare/Workers/ViteChild.shared.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.shared.js.map +1 -1
- package/lib/Cloudflare/Workers/ViteChildRunner.js +2 -1
- package/lib/Cloudflare/Workers/ViteChildRunner.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +101 -52
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +91 -50
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +9 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +23 -0
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +6 -0
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerLoader.d.ts +30 -4
- package/lib/Cloudflare/Workers/WorkerLoader.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerLoader.js +36 -5
- package/lib/Cloudflare/Workers/WorkerLoader.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +52 -45
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.js +4 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.js.map +1 -1
- package/lib/Cloudflare/Workers/index.d.ts +1 -0
- package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.js +1 -0
- package/lib/Cloudflare/Workers/index.js.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.d.ts +84 -0
- package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.js +47 -0
- package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +7 -4
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Command/Command.d.ts +1 -1
- package/lib/Command/Command.d.ts.map +1 -1
- package/lib/Command/Command.js +2 -2
- package/lib/Command/Command.js.map +1 -1
- package/lib/Command/Dev.d.ts +5 -2
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +31 -7
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Command/Providers.d.ts +1 -1
- package/lib/Command/Providers.d.ts.map +1 -1
- package/lib/Deploy.d.ts +1 -1
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Destroy.d.ts +1 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Docker/BuildHash.d.ts +13 -0
- package/lib/Docker/BuildHash.d.ts.map +1 -1
- package/lib/Docker/BuildHash.js +53 -3
- package/lib/Docker/BuildHash.js.map +1 -1
- package/lib/Docker/Docker.d.ts +1 -1
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js +1 -1
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Docker/Service.d.ts +7 -21
- package/lib/Docker/Service.d.ts.map +1 -1
- package/lib/Docker/Service.js +7 -21
- package/lib/Docker/Service.js.map +1 -1
- package/lib/Docker/ServiceImage.d.ts +4 -5
- package/lib/Docker/ServiceImage.d.ts.map +1 -1
- package/lib/Docker/ServiceImage.js.map +1 -1
- package/lib/Drift.d.ts +91 -0
- package/lib/Drift.d.ts.map +1 -0
- package/lib/{Sync.js → Drift.js} +98 -29
- package/lib/Drift.js.map +1 -0
- package/lib/Drizzle/Schema.d.ts.map +1 -1
- package/lib/Drizzle/Schema.js +5 -5
- package/lib/Drizzle/Schema.js.map +1 -1
- package/lib/Fly/App.d.ts +1 -1
- package/lib/Fly/App.d.ts.map +1 -1
- package/lib/Fly/AuthProvider.d.ts +6 -20
- package/lib/Fly/AuthProvider.d.ts.map +1 -1
- package/lib/Fly/AuthProvider.js +32 -124
- package/lib/Fly/AuthProvider.js.map +1 -1
- package/lib/Fly/Bucket.d.ts +1 -1
- package/lib/Fly/Bucket.d.ts.map +1 -1
- package/lib/Fly/Catalog.d.ts +1 -1
- package/lib/Fly/Catalog.d.ts.map +1 -1
- package/lib/Fly/CheckpointHttp.d.ts.map +1 -1
- package/lib/Fly/CheckpointHttp.js +2 -2
- package/lib/Fly/CheckpointHttp.js.map +1 -1
- package/lib/Fly/Credentials.d.ts +15 -6
- package/lib/Fly/Credentials.d.ts.map +1 -1
- package/lib/Fly/Credentials.js +25 -13
- package/lib/Fly/Credentials.js.map +1 -1
- package/lib/Fly/DecryptHttp.d.ts.map +1 -1
- package/lib/Fly/DecryptHttp.js +2 -2
- package/lib/Fly/DecryptHttp.js.map +1 -1
- package/lib/Fly/EncryptHttp.d.ts.map +1 -1
- package/lib/Fly/EncryptHttp.js +2 -2
- package/lib/Fly/EncryptHttp.js.map +1 -1
- package/lib/Fly/Environment.d.ts +1 -1
- package/lib/Fly/Environment.d.ts.map +1 -1
- package/lib/Fly/ExecHttp.d.ts.map +1 -1
- package/lib/Fly/ExecHttp.js +2 -2
- package/lib/Fly/ExecHttp.js.map +1 -1
- package/lib/Fly/GetSecretHttp.d.ts.map +1 -1
- package/lib/Fly/GetSecretHttp.js +2 -2
- package/lib/Fly/GetSecretHttp.js.map +1 -1
- package/lib/Fly/ListSecretsHttp.d.ts.map +1 -1
- package/lib/Fly/ListSecretsHttp.js +2 -2
- package/lib/Fly/ListSecretsHttp.js.map +1 -1
- package/lib/Fly/Machine.d.ts +65 -0
- package/lib/Fly/Machine.d.ts.map +1 -1
- package/lib/Fly/Machine.js +34 -19
- package/lib/Fly/Machine.js.map +1 -1
- package/lib/Fly/Postgres.d.ts +1 -1
- package/lib/Fly/Postgres.d.ts.map +1 -1
- package/lib/Fly/Providers.d.ts +1 -1
- package/lib/Fly/Providers.d.ts.map +1 -1
- package/lib/Fly/Providers.js +2 -2
- package/lib/Fly/Providers.js.map +1 -1
- package/lib/Fly/Redis.d.ts +1 -1
- package/lib/Fly/Redis.d.ts.map +1 -1
- package/lib/Fly/Service.d.ts +43 -0
- package/lib/Fly/Service.d.ts.map +1 -1
- package/lib/Fly/Service.js +44 -19
- package/lib/Fly/Service.js.map +1 -1
- package/lib/Fly/SignHttp.d.ts.map +1 -1
- package/lib/Fly/SignHttp.js +2 -2
- package/lib/Fly/SignHttp.js.map +1 -1
- package/lib/Fly/VerifyHttp.d.ts.map +1 -1
- package/lib/Fly/VerifyHttp.js +2 -2
- package/lib/Fly/VerifyHttp.js.map +1 -1
- package/lib/Fly/Volume.d.ts +8 -8
- package/lib/Fly/Volume.d.ts.map +1 -1
- package/lib/Fly/WriteSecretHttp.d.ts.map +1 -1
- package/lib/Fly/WriteSecretHttp.js +2 -2
- package/lib/Fly/WriteSecretHttp.js.map +1 -1
- package/lib/Fly/replicas.d.ts +12 -10
- package/lib/Fly/replicas.d.ts.map +1 -1
- package/lib/Fly/replicas.js +35 -0
- package/lib/Fly/replicas.js.map +1 -1
- package/lib/GitHub/AuthProvider.d.ts +20 -29
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/AuthProvider.js +141 -75
- package/lib/GitHub/AuthProvider.js.map +1 -1
- package/lib/GitHub/Credentials.d.ts +2 -3
- package/lib/GitHub/Credentials.d.ts.map +1 -1
- package/lib/GitHub/Credentials.js +6 -10
- package/lib/GitHub/Credentials.js.map +1 -1
- package/lib/GitHub/Providers.d.ts +3 -3
- package/lib/GitHub/Providers.d.ts.map +1 -1
- package/lib/GitHub/Providers.js +4 -4
- package/lib/GitHub/Providers.js.map +1 -1
- package/lib/Hetzner/AuthProvider.d.ts +7 -20
- package/lib/Hetzner/AuthProvider.d.ts.map +1 -1
- package/lib/Hetzner/AuthProvider.js +42 -130
- package/lib/Hetzner/AuthProvider.js.map +1 -1
- package/lib/Hetzner/Catalog.d.ts +5 -5
- package/lib/Hetzner/Catalog.d.ts.map +1 -1
- package/lib/Hetzner/Credentials.d.ts +1 -3
- package/lib/Hetzner/Credentials.d.ts.map +1 -1
- package/lib/Hetzner/Credentials.js +4 -9
- package/lib/Hetzner/Credentials.js.map +1 -1
- package/lib/Hetzner/PlacementGroup.d.ts +1 -1
- package/lib/Hetzner/PlacementGroup.d.ts.map +1 -1
- package/lib/Hetzner/Providers.d.ts +1 -1
- package/lib/Hetzner/Providers.d.ts.map +1 -1
- package/lib/Hetzner/Providers.js +2 -2
- package/lib/Hetzner/Providers.js.map +1 -1
- package/lib/Hetzner/hosted.d.ts +1 -1
- package/lib/Interaction.d.ts +186 -0
- package/lib/Interaction.d.ts.map +1 -0
- package/lib/Interaction.js +149 -0
- package/lib/Interaction.js.map +1 -0
- package/lib/Kubernetes/ClusterAdapter.d.ts +4 -5
- package/lib/Kubernetes/ClusterAdapter.d.ts.map +1 -1
- package/lib/Kubernetes/ClusterAdapter.js.map +1 -1
- package/lib/Kubernetes/Deployment.d.ts +7 -21
- package/lib/Kubernetes/Deployment.d.ts.map +1 -1
- package/lib/Kubernetes/Deployment.js +7 -21
- package/lib/Kubernetes/Deployment.js.map +1 -1
- package/lib/Kubernetes/Job.d.ts +7 -21
- package/lib/Kubernetes/Job.d.ts.map +1 -1
- package/lib/Kubernetes/Job.js +7 -21
- package/lib/Kubernetes/Job.js.map +1 -1
- package/lib/Local/DevLog.d.ts +32 -0
- package/lib/Local/DevLog.d.ts.map +1 -0
- package/lib/Local/DevLog.js +114 -0
- package/lib/Local/DevLog.js.map +1 -0
- package/lib/Local/LocalProvider.d.ts +1 -1
- package/lib/Local/LocalProvider.d.ts.map +1 -1
- package/lib/Local/LocalProvider.js +2 -2
- package/lib/Local/LocalProvider.js.map +1 -1
- package/lib/Local/RpcServer.d.ts.map +1 -1
- package/lib/Local/RpcServer.js +10 -1
- package/lib/Local/RpcServer.js.map +1 -1
- package/lib/Local/RpcServerEnvironment.d.ts +2 -2
- package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
- package/lib/Local/RpcServerEnvironment.js +3 -2
- package/lib/Local/RpcServerEnvironment.js.map +1 -1
- package/lib/Local/RpcSpawner.d.ts +14 -5
- package/lib/Local/RpcSpawner.d.ts.map +1 -1
- package/lib/Local/RpcSpawner.js +105 -38
- package/lib/Local/RpcSpawner.js.map +1 -1
- package/lib/Neon/AuthProvider.d.ts +4 -13
- package/lib/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +24 -107
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Credentials.d.ts +1 -3
- package/lib/Neon/Credentials.d.ts.map +1 -1
- package/lib/Neon/Credentials.js +4 -9
- package/lib/Neon/Credentials.js.map +1 -1
- package/lib/Neon/Providers.d.ts +1 -1
- package/lib/Neon/Providers.d.ts.map +1 -1
- package/lib/Neon/Providers.js +2 -2
- package/lib/Neon/Providers.js.map +1 -1
- package/lib/Nuke.d.ts +89 -0
- package/lib/Nuke.d.ts.map +1 -0
- package/lib/Nuke.js +265 -0
- package/lib/Nuke.js.map +1 -0
- package/lib/Plan.d.ts +27 -5
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +167 -21
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts +25 -37
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +267 -150
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Credentials.d.ts +2 -3
- package/lib/Planetscale/Credentials.d.ts.map +1 -1
- package/lib/Planetscale/Credentials.js +16 -13
- package/lib/Planetscale/Credentials.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +8 -52
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
- package/lib/Planetscale/OAuthClient.js +18 -240
- package/lib/Planetscale/OAuthClient.js.map +1 -1
- package/lib/Planetscale/Providers.d.ts +1 -1
- package/lib/Planetscale/Providers.d.ts.map +1 -1
- package/lib/Planetscale/Providers.js +2 -2
- package/lib/Planetscale/Providers.js.map +1 -1
- package/lib/Planetscale/Util.d.ts +1 -1
- package/lib/Planetscale/Util.d.ts.map +1 -1
- package/lib/Prisma/AuthProvider.d.ts +7 -15
- package/lib/Prisma/AuthProvider.d.ts.map +1 -1
- package/lib/Prisma/AuthProvider.js +54 -121
- package/lib/Prisma/AuthProvider.js.map +1 -1
- package/lib/Prisma/Compute.d.ts +7 -21
- package/lib/Prisma/Compute.d.ts.map +1 -1
- package/lib/Prisma/Compute.js +7 -21
- package/lib/Prisma/Compute.js.map +1 -1
- package/lib/Prisma/PrismaEnvironment.d.ts +1 -2
- package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -1
- package/lib/Prisma/PrismaEnvironment.js +3 -8
- package/lib/Prisma/PrismaEnvironment.js.map +1 -1
- package/lib/Prisma/Providers.d.ts +3 -3
- package/lib/Prisma/Providers.d.ts.map +1 -1
- package/lib/Prisma/Providers.js +7 -7
- package/lib/Prisma/Providers.js.map +1 -1
- package/lib/Provider.d.ts +10 -2
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +9 -10
- package/lib/Provider.js.map +1 -1
- package/lib/Railway/AuditLog.d.ts +2 -2
- package/lib/Railway/AuditLog.d.ts.map +1 -1
- package/lib/Railway/AuthProvider.d.ts +19 -19
- package/lib/Railway/AuthProvider.d.ts.map +1 -1
- package/lib/Railway/AuthProvider.js +193 -127
- package/lib/Railway/AuthProvider.js.map +1 -1
- package/lib/Railway/Bucket.js +2 -2
- package/lib/Railway/CloudAgent.js +2 -2
- package/lib/Railway/Credentials.d.ts +2 -5
- package/lib/Railway/Credentials.d.ts.map +1 -1
- package/lib/Railway/Credentials.js +5 -11
- package/lib/Railway/Credentials.js.map +1 -1
- package/lib/Railway/CustomDomain.js +3 -3
- package/lib/Railway/Function.js +6 -6
- package/lib/Railway/Group.js +2 -2
- package/lib/Railway/LoginSession.d.ts +3 -3
- package/lib/Railway/LoginSession.js +5 -5
- package/lib/Railway/Mongo.js +13 -13
- package/lib/Railway/MySQL.js +13 -13
- package/lib/Railway/Postgres.js +13 -13
- package/lib/Railway/PrivateNetwork.js +2 -2
- package/lib/Railway/Project.d.ts +3 -3
- package/lib/Railway/Project.d.ts.map +1 -1
- package/lib/Railway/Project.js +3 -3
- package/lib/Railway/ProjectEnvironment.js +3 -3
- package/lib/Railway/Providers.d.ts +1 -1
- package/lib/Railway/Providers.d.ts.map +1 -1
- package/lib/Railway/Providers.js +2 -2
- package/lib/Railway/Providers.js.map +1 -1
- package/lib/Railway/Redis.js +5 -5
- package/lib/Railway/Sandbox.d.ts +6 -6
- package/lib/Railway/Sandbox.js +5 -5
- package/lib/Railway/Service.d.ts +72 -1
- package/lib/Railway/Service.d.ts.map +1 -1
- package/lib/Railway/Service.js +42 -0
- package/lib/Railway/Service.js.map +1 -1
- package/lib/Railway/ServiceDomain.d.ts +28 -2
- package/lib/Railway/ServiceDomain.d.ts.map +1 -1
- package/lib/Railway/ServiceDomain.js +134 -17
- package/lib/Railway/ServiceDomain.js.map +1 -1
- package/lib/Railway/ServiceProvider.d.ts +2 -10
- package/lib/Railway/ServiceProvider.d.ts.map +1 -1
- package/lib/Railway/ServiceProvider.js +170 -64
- package/lib/Railway/ServiceProvider.js.map +1 -1
- package/lib/Railway/TcpProxy.js +2 -2
- package/lib/Railway/Template.js +2 -2
- package/lib/Railway/Usage.js +2 -2
- package/lib/Railway/Variable.js +2 -2
- package/lib/Railway/Volume.d.ts +1 -1
- package/lib/Railway/Volume.d.ts.map +1 -1
- package/lib/Railway/Volume.js +4 -4
- package/lib/Railway/VolumeBackup.d.ts +2 -2
- package/lib/Railway/VolumeBackup.js +8 -8
- package/lib/Railway/local-context.d.ts +125 -0
- package/lib/Railway/local-context.d.ts.map +1 -0
- package/lib/Railway/local-context.js +254 -0
- package/lib/Railway/local-context.js.map +1 -0
- package/lib/Report.d.ts +248 -0
- package/lib/Report.d.ts.map +1 -0
- package/lib/Report.js +18 -0
- package/lib/Report.js.map +1 -0
- package/lib/Stack.d.ts +7 -6
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +2 -4
- package/lib/Stack.js.map +1 -1
- package/lib/State/Export.d.ts +6 -4
- package/lib/State/Export.d.ts.map +1 -1
- package/lib/State/Export.js +13 -18
- package/lib/State/Export.js.map +1 -1
- package/lib/State/HttpStateStore.d.ts +1 -1
- package/lib/State/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +10 -6
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/State/LocalState.d.ts.map +1 -1
- package/lib/State/LocalState.js +6 -13
- package/lib/State/LocalState.js.map +1 -1
- package/lib/State/Tree.d.ts +62 -0
- package/lib/State/Tree.d.ts.map +1 -0
- package/lib/State/Tree.js +166 -0
- package/lib/State/Tree.js.map +1 -0
- package/lib/State/index.d.ts +1 -0
- package/lib/State/index.d.ts.map +1 -1
- package/lib/State/index.js +1 -0
- package/lib/State/index.js.map +1 -1
- package/lib/Telemetry/Layer.d.ts +6 -0
- package/lib/Telemetry/Layer.d.ts.map +1 -1
- package/lib/Telemetry/Layer.js +16 -5
- package/lib/Telemetry/Layer.js.map +1 -1
- package/lib/Telemetry.d.ts +5 -0
- package/lib/Telemetry.d.ts.map +1 -1
- package/lib/Telemetry.js +6 -1
- package/lib/Telemetry.js.map +1 -1
- package/lib/Test/Core.d.ts +4 -3
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +5 -3
- package/lib/Test/Core.js.map +1 -1
- package/lib/UserFacingError.d.ts +26 -0
- package/lib/UserFacingError.d.ts.map +1 -0
- package/lib/UserFacingError.js +25 -0
- package/lib/UserFacingError.js.map +1 -0
- package/lib/Util/AtomicFile.d.ts +19 -0
- package/lib/Util/AtomicFile.d.ts.map +1 -0
- package/lib/Util/AtomicFile.js +22 -0
- package/lib/Util/AtomicFile.js.map +1 -0
- package/lib/Util/ConsoleSink.d.ts +4 -0
- package/lib/Util/ConsoleSink.d.ts.map +1 -0
- package/lib/Util/ConsoleSink.js +24 -0
- package/lib/Util/ConsoleSink.js.map +1 -0
- package/lib/Util/LineBuffer.d.ts +9 -0
- package/lib/Util/LineBuffer.d.ts.map +1 -0
- package/lib/Util/LineBuffer.js +23 -0
- package/lib/Util/LineBuffer.js.map +1 -0
- package/lib/Util/Memoize.d.ts +20 -0
- package/lib/Util/Memoize.d.ts.map +1 -0
- package/lib/Util/Memoize.js +38 -0
- package/lib/Util/Memoize.js.map +1 -0
- package/lib/Util/Node.d.ts +22 -5
- package/lib/Util/Node.d.ts.map +1 -1
- package/lib/Util/Node.js +30 -10
- package/lib/Util/Node.js.map +1 -1
- package/lib/Util/PlatformServices.d.ts +6 -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 +30 -0
- package/lib/Util/ResourceOutput.d.ts.map +1 -0
- package/lib/Util/ResourceOutput.js +60 -0
- package/lib/Util/ResourceOutput.js.map +1 -0
- package/lib/Util/Terminal.d.ts +23 -0
- package/lib/Util/Terminal.d.ts.map +1 -0
- package/lib/Util/Terminal.js +57 -0
- package/lib/Util/Terminal.js.map +1 -0
- package/lib/Util/Theme.d.ts +123 -0
- package/lib/Util/Theme.d.ts.map +1 -0
- package/lib/Util/Theme.js +133 -0
- package/lib/Util/Theme.js.map +1 -0
- package/lib/Util/interactive.d.ts +17 -12
- package/lib/Util/interactive.d.ts.map +1 -1
- package/lib/Util/interactive.js +81 -13
- package/lib/Util/interactive.js.map +1 -1
- package/lib/Util/scc.d.ts +11 -3
- package/lib/Util/scc.d.ts.map +1 -1
- package/lib/Util/scc.js +35 -22
- package/lib/Util/scc.js.map +1 -1
- package/lib/Util/tarGzip.d.ts +3 -1
- package/lib/Util/tarGzip.d.ts.map +1 -1
- package/lib/Util/tarGzip.js +15 -5
- package/lib/Util/tarGzip.js.map +1 -1
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -2
- package/lib/index.js.map +1 -1
- package/package.json +40 -38
- package/src/AWS/AGENTS.md +1 -1
- package/src/AWS/AMP/Scraper.ts +1 -1
- package/src/AWS/AppRunner/Service.ts +11 -27
- package/src/AWS/Assets.ts +2 -2
- package/src/AWS/AuthProvider.ts +748 -429
- package/src/AWS/Batch/JobDefinition.ts +11 -27
- package/src/AWS/EC2/Instance.ts +12 -28
- package/src/AWS/EC2/InternetGateway.ts +1 -1
- package/src/AWS/EC2/NatGateway.ts +1 -1
- package/src/AWS/EC2/NetworkInterface.ts +1 -1
- package/src/AWS/EC2/NetworkInterfaceAttachment.ts +1 -1
- package/src/AWS/EC2/RouteTable.ts +1 -1
- package/src/AWS/EC2/RouteTableAssociation.ts +1 -1
- package/src/AWS/EC2/Snapshot.ts +1 -1
- package/src/AWS/EC2/Subnet.ts +1 -1
- package/src/AWS/EC2/Volume.ts +1 -1
- package/src/AWS/EC2/VolumeAttachment.ts +1 -1
- package/src/AWS/EC2/Vpc.ts +1 -1
- package/src/AWS/EC2/VpcEndpoint.ts +1 -1
- package/src/AWS/EC2/hosted.ts +5 -6
- package/src/AWS/ECR/ImageSource.ts +4 -5
- package/src/AWS/ECS/Service.ts +7 -21
- package/src/AWS/ECS/Task.ts +7 -21
- package/src/AWS/ElastiCache/CacheCluster.ts +323 -0
- package/src/AWS/ElastiCache/ConnectCacheCluster.ts +58 -0
- package/src/AWS/ElastiCache/ConnectCacheClusterHttp.ts +77 -0
- package/src/AWS/ElastiCache/ConnectReplicationGroup.ts +62 -0
- package/src/AWS/ElastiCache/ConnectReplicationGroupHttp.ts +110 -0
- package/src/AWS/ElastiCache/ReplicationGroup.ts +594 -0
- package/src/AWS/ElastiCache/SubnetGroup.ts +208 -0
- package/src/AWS/ElastiCache/index.ts +7 -0
- package/src/AWS/ElastiCache/internal.ts +36 -0
- package/src/AWS/Environment.ts +15 -48
- package/src/AWS/IAM/actions.generated.ts +1 -1
- package/src/AWS/IdentityCenter/AccountAssignment.ts +7 -0
- package/src/AWS/Lambda/Function.ts +26 -28
- package/src/AWS/Lambda/MicrovmImage.ts +12 -28
- package/src/AWS/Lambda/MicrovmProvider.ts +1 -1
- package/src/AWS/Lambda/NetworkConnector.ts +1 -1
- package/src/AWS/Local/DevWatchProvider.ts +10 -1
- package/src/AWS/Organizations/Account.ts +18 -10
- package/src/AWS/Organizations/DelegatedAdministrator.ts +7 -7
- package/src/AWS/Organizations/Organization.ts +3 -5
- package/src/AWS/Organizations/common.ts +17 -0
- package/src/AWS/Providers.ts +12 -0
- package/src/AWS/S3/Bucket.ts +1 -1
- package/src/Alchemist/Errors.ts +36 -0
- package/src/Alchemist/Progress.ts +175 -0
- package/src/Alchemist/Runtime.ts +40 -0
- package/src/Alchemist/Session.ts +460 -0
- package/src/Alchemist/index.ts +24 -0
- package/src/Alchemist/routes/aws.ts +88 -0
- package/src/Alchemist/routes/cloudflare.ts +188 -0
- package/src/Alchemist/routes/cloudflareToken.ts +215 -0
- package/src/Alchemist/routes/drift.ts +94 -0
- package/src/Alchemist/routes/logs.ts +185 -0
- package/src/Alchemist/routes/nuke.ts +146 -0
- package/src/Alchemist/routes/profile.ts +427 -0
- package/src/Alchemist/routes/provider.ts +107 -0
- package/src/Alchemist/routes/stack.ts +137 -0
- package/src/Alchemist/routes/state.ts +77 -0
- package/src/Apply.ts +312 -173
- package/src/Auth/AuthProvider.ts +416 -158
- package/src/Auth/BrowserOAuth.ts +68 -0
- package/src/Auth/Credentials.ts +155 -46
- package/src/Auth/CredentialsCache.ts +57 -0
- package/src/Auth/Demand.ts +208 -83
- package/src/Auth/Env.ts +38 -14
- package/src/Auth/Inspect.ts +129 -0
- package/src/Auth/Lock.ts +26 -11
- package/src/Auth/OAuthFlow.ts +551 -0
- package/src/Auth/Paths.ts +30 -0
- package/src/Auth/Profile.ts +768 -164
- package/src/Auth/Resolve.ts +136 -0
- package/src/Auth/StoredAuthProvider.ts +291 -0
- package/src/Auth/index.ts +1 -0
- package/src/Axiom/AuthProvider.ts +112 -314
- package/src/Axiom/Credentials.ts +5 -13
- package/src/Axiom/Providers.ts +3 -3
- package/src/Bundle/Bundle.ts +3 -5
- package/src/Cli/CliKit/CliKit.ts +183 -0
- package/src/Cli/CliKit/index.ts +50 -0
- package/src/Cli/CliKit/interaction.ts +19 -0
- package/src/Cli/CliKit/layer.ts +50 -0
- package/src/Cli/DevOptions.ts +19 -0
- package/src/Cli/Format.ts +31 -0
- package/src/Cli/GlobalLog.ts +147 -0
- package/src/Cli/LoggingCli.ts +312 -108
- package/src/Cli/ModeTag.ts +1 -1
- package/src/Cli/NamespaceTree.ts +94 -21
- package/src/Cli/PlainCliFormatter.ts +75 -0
- package/src/Cli/PropertyDiff.ts +229 -0
- package/src/Cli/checkVersion.ts +19 -6
- package/src/Cli/commands/aws.ts +67 -100
- package/src/Cli/commands/cloudflare.ts +195 -435
- package/src/Cli/commands/compat.ts +25 -0
- package/src/Cli/commands/confirm.ts +46 -0
- package/src/Cli/commands/deploy.ts +225 -212
- package/src/Cli/commands/dev.ts +72 -34
- package/src/Cli/commands/drift.ts +107 -0
- package/src/Cli/commands/errors.ts +162 -0
- package/src/Cli/commands/flags.ts +199 -0
- package/src/Cli/commands/instrument.ts +18 -0
- package/src/Cli/commands/logs.ts +125 -143
- package/src/Cli/commands/nuke.ts +138 -811
- package/src/Cli/commands/profile/commands.ts +482 -0
- package/src/Cli/commands/profile/flows.ts +218 -0
- package/src/Cli/commands/profile/hub.ts +191 -0
- package/src/Cli/commands/profile/index.ts +1 -0
- package/src/Cli/commands/provider.ts +63 -0
- package/src/Cli/commands/render.ts +121 -0
- package/src/Cli/commands/state.ts +250 -387
- package/src/Cli/components/types.ts +141 -0
- package/src/Cli/components/ui/Data.tsx +44 -0
- package/src/Cli/components/ui/Environment.tsx +86 -0
- package/src/Cli/components/ui/Feedback.tsx +269 -0
- package/src/Cli/components/ui/Interactive.tsx +1062 -0
- package/src/Cli/components/ui/Layout.tsx +252 -0
- package/src/Cli/components/ui/Live.tsx +131 -0
- package/src/Cli/components/ui/ProgressBar.tsx +57 -0
- package/src/Cli/components/ui/Transcript.tsx +42 -0
- package/src/Cli/components/ui/Typography.tsx +83 -0
- package/src/Cli/components/ui/index.ts +68 -0
- package/src/Cli/components/view/ApprovePlan.tsx +101 -0
- package/src/Cli/components/view/Help.tsx +381 -0
- package/src/Cli/components/view/Logo.tsx +168 -0
- package/src/Cli/components/view/Nuke.tsx +258 -0
- package/src/Cli/components/view/PlanDecision.tsx +80 -0
- package/src/Cli/components/view/PlanRow.tsx +39 -0
- package/src/Cli/components/view/PlanTree.ts +354 -0
- package/src/Cli/components/view/PlanView.tsx +825 -0
- package/src/Cli/components/view/Profile.tsx +446 -0
- package/src/Cli/components/view/ProfileDashboard.tsx +929 -0
- package/src/Cli/components/view/Prompts.tsx +793 -0
- package/src/Cli/components/view/Runtime.tsx +975 -0
- package/src/Cli/components/view/SigilCli.tsx +186 -0
- package/src/Cli/components/view/StackOutputs.tsx +38 -0
- package/src/Cli/components/view/StateExplorer.tsx +1179 -0
- package/src/Cli/components/view/statusStyle.ts +97 -0
- package/src/Cli/components/view/usePlanPresentation.ts +82 -0
- package/src/Cli/components/view/usePlanViewport.ts +172 -0
- package/src/Cli/exec.ts +278 -32
- package/src/Cli/main.ts +189 -42
- package/src/Cli/selectCli.ts +30 -15
- package/src/Cloudflare/ApiToken/UserApiToken.ts +1 -1
- package/src/Cloudflare/Auth/AuthConfig.ts +117 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +712 -608
- package/src/Cloudflare/Auth/OAuthClient.ts +40 -366
- package/src/Cloudflare/Auth/OAuthScopes.ts +921 -0
- package/src/Cloudflare/Auth/TokenPolicy.ts +79 -0
- package/src/Cloudflare/CloudflareEnvironment.ts +7 -17
- package/src/Cloudflare/Containers/Container.ts +12 -24
- package/src/Cloudflare/Containers/ContainerApplication.ts +12 -27
- package/src/Cloudflare/Credentials.ts +18 -72
- package/src/Cloudflare/EdgeSession.ts +2 -3
- package/src/Cloudflare/Logs.ts +16 -10
- package/src/Cloudflare/Pages/Project.ts +1 -1
- package/src/Cloudflare/Providers.ts +2 -2
- package/src/Cloudflare/StateStore/Api.ts +2 -2
- package/src/Cloudflare/StateStore/CredentialsFile.ts +11 -6
- package/src/Cloudflare/StateStore/State.ts +247 -194
- package/src/Cloudflare/Vectorize/SearchIndexHttpClient.ts +2 -2
- package/src/Cloudflare/Website/Nextjs.ts +4 -15
- package/src/Cloudflare/Website/Vocs.ts +3 -7
- package/src/Cloudflare/Workers/Assets.ts +106 -38
- package/src/Cloudflare/Workers/BrowserHttpClient.ts +10 -3
- package/src/Cloudflare/Workers/CloudflareTracer.ts +113 -0
- package/src/Cloudflare/Workers/Compatibility.ts +37 -7
- package/src/Cloudflare/Workers/DurableObject.ts +50 -4
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +8 -0
- package/src/Cloudflare/Workers/DurableObjectState.ts +46 -9
- package/src/Cloudflare/Workers/DurableObjectStorage.ts +25 -12
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +172 -58
- package/src/Cloudflare/Workers/RpcWorker.ts +44 -18
- package/src/Cloudflare/Workers/Source.ts +9 -1
- package/src/Cloudflare/Workers/Sources/Python.ts +18 -12
- package/src/Cloudflare/Workers/Sources/Rolldown.ts +1 -1
- package/src/Cloudflare/Workers/Sources/Vite.ts +42 -34
- package/src/Cloudflare/Workers/Telemetry.ts +170 -0
- package/src/Cloudflare/Workers/ViteBuildChildRunner.ts +6 -1
- package/src/Cloudflare/Workers/ViteChild.shared.ts +1 -0
- package/src/Cloudflare/Workers/ViteChild.ts +21 -19
- package/src/Cloudflare/Workers/ViteChildRunner.ts +2 -1
- package/src/Cloudflare/Workers/Worker.ts +101 -50
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +29 -0
- package/src/Cloudflare/Workers/WorkerLoader.ts +40 -8
- package/src/Cloudflare/Workers/WorkerProvider.ts +64 -29
- package/src/Cloudflare/Workers/cloudflare_workers.ts +5 -1
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/Workflows/Workflow.ts +105 -0
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +5 -3
- package/src/Command/Command.ts +11 -3
- package/src/Command/Dev.ts +33 -8
- package/src/Docker/BuildHash.ts +75 -8
- package/src/Docker/Docker.ts +7 -2
- package/src/Docker/Service.ts +7 -21
- package/src/Docker/ServiceImage.ts +4 -5
- package/src/{Sync.ts → Drift.ts} +161 -59
- package/src/Drizzle/Schema.ts +5 -7
- package/src/Fly/AuthProvider.ts +44 -232
- package/src/Fly/CheckpointHttp.ts +5 -2
- package/src/Fly/Credentials.ts +29 -16
- package/src/Fly/DecryptHttp.ts +5 -2
- package/src/Fly/EncryptHttp.ts +5 -2
- package/src/Fly/ExecHttp.ts +5 -2
- package/src/Fly/GetSecretHttp.ts +5 -2
- package/src/Fly/ListSecretsHttp.ts +5 -2
- package/src/Fly/Machine.ts +67 -20
- package/src/Fly/Providers.ts +2 -2
- package/src/Fly/Service.ts +44 -20
- package/src/Fly/SignHttp.ts +5 -2
- package/src/Fly/VerifyHttp.ts +5 -2
- package/src/Fly/WriteSecretHttp.ts +5 -2
- package/src/Fly/replicas.ts +47 -1
- package/src/GitHub/AuthProvider.ts +225 -143
- package/src/GitHub/Credentials.ts +6 -13
- package/src/GitHub/Providers.ts +4 -4
- package/src/Hetzner/AuthProvider.ts +50 -238
- package/src/Hetzner/Credentials.ts +4 -12
- package/src/Hetzner/Providers.ts +2 -2
- package/src/Interaction.ts +354 -0
- package/src/Kubernetes/ClusterAdapter.ts +4 -5
- package/src/Kubernetes/Deployment.ts +7 -21
- package/src/Kubernetes/Job.ts +7 -21
- package/src/Local/DevLog.ts +135 -0
- package/src/Local/LocalProvider.ts +3 -3
- package/src/Local/RpcServer.ts +11 -0
- package/src/Local/RpcServerEnvironment.ts +3 -2
- package/src/Local/RpcSpawner.ts +161 -78
- package/src/Neon/AuthProvider.ts +31 -203
- package/src/Neon/Credentials.ts +4 -12
- package/src/Neon/Providers.ts +2 -2
- package/src/Nuke.ts +463 -0
- package/src/Plan.ts +920 -708
- package/src/Planetscale/AuthProvider.ts +397 -324
- package/src/Planetscale/Credentials.ts +21 -19
- package/src/Planetscale/OAuthClient.ts +34 -328
- package/src/Planetscale/Providers.ts +2 -2
- package/src/Planetscale/Util.ts +1 -1
- package/src/Prisma/AuthProvider.ts +62 -240
- package/src/Prisma/Compute.ts +7 -21
- package/src/Prisma/PrismaEnvironment.ts +6 -14
- package/src/Prisma/Providers.ts +7 -7
- package/src/Provider.ts +12 -13
- package/src/Railway/AuthProvider.ts +291 -235
- package/src/Railway/Bucket.ts +6 -6
- package/src/Railway/CloudAgent.ts +4 -4
- package/src/Railway/Credentials.ts +5 -14
- package/src/Railway/CustomDomain.ts +5 -5
- package/src/Railway/Function.ts +10 -10
- package/src/Railway/Group.ts +2 -2
- package/src/Railway/LoginSession.ts +5 -5
- package/src/Railway/Mongo.ts +19 -19
- package/src/Railway/MySQL.ts +19 -19
- package/src/Railway/Postgres.ts +19 -19
- package/src/Railway/PrivateNetwork.ts +2 -2
- package/src/Railway/Project.ts +7 -7
- package/src/Railway/ProjectEnvironment.ts +7 -7
- package/src/Railway/Providers.ts +2 -2
- package/src/Railway/Redis.ts +9 -9
- package/src/Railway/Sandbox.ts +10 -10
- package/src/Railway/Service.ts +72 -1
- package/src/Railway/ServiceDomain.ts +253 -27
- package/src/Railway/ServiceProvider.ts +234 -87
- package/src/Railway/TcpProxy.ts +4 -4
- package/src/Railway/Template.ts +12 -12
- package/src/Railway/Usage.ts +2 -2
- package/src/Railway/Variable.ts +2 -2
- package/src/Railway/Volume.ts +4 -4
- package/src/Railway/VolumeBackup.ts +11 -11
- package/src/Railway/local-context.ts +333 -0
- package/src/Report.ts +365 -0
- package/src/Stack.ts +12 -8
- package/src/State/Export.ts +28 -47
- package/src/State/HttpStateStore.ts +15 -8
- package/src/State/LocalState.ts +6 -16
- package/src/State/Tree.ts +277 -0
- package/src/State/index.ts +1 -0
- package/src/Telemetry/Layer.ts +16 -5
- package/src/Telemetry.ts +6 -1
- package/src/Test/Core.ts +10 -4
- package/src/UserFacingError.ts +35 -0
- package/src/Util/AtomicFile.ts +36 -0
- package/src/Util/ConsoleSink.ts +23 -0
- package/src/Util/LineBuffer.ts +20 -0
- package/src/Util/Memoize.ts +48 -0
- package/src/Util/Node.ts +35 -14
- package/src/Util/PlatformServices.ts +11 -1
- package/src/Util/ResourceOutput.ts +77 -0
- package/src/Util/Terminal.ts +81 -0
- package/src/Util/Theme.ts +150 -0
- package/src/Util/interactive.ts +103 -16
- package/src/Util/scc.ts +43 -23
- package/src/Util/tarGzip.ts +33 -5
- package/src/index.ts +4 -2
- package/lib/Cli/Cli.d.ts +0 -21
- package/lib/Cli/Cli.d.ts.map +0 -1
- package/lib/Cli/Cli.js +0 -5
- package/lib/Cli/Cli.js.map +0 -1
- package/lib/Cli/Event.d.ts +0 -29
- package/lib/Cli/Event.d.ts.map +0 -1
- package/lib/Cli/Event.js +0 -1
- package/lib/Cli/Event.js.map +0 -1
- package/lib/Cli/commands/_shared.d.ts +0 -138
- package/lib/Cli/commands/_shared.d.ts.map +0 -1
- package/lib/Cli/commands/_shared.js +0 -298
- package/lib/Cli/commands/_shared.js.map +0 -1
- package/lib/Cli/commands/login.d.ts +0 -14
- package/lib/Cli/commands/login.d.ts.map +0 -1
- package/lib/Cli/commands/login.js +0 -115
- package/lib/Cli/commands/login.js.map +0 -1
- package/lib/Cli/commands/profile.d.ts +0 -25
- package/lib/Cli/commands/profile.d.ts.map +0 -1
- package/lib/Cli/commands/profile.js +0 -83
- package/lib/Cli/commands/profile.js.map +0 -1
- package/lib/Cli/commands/sync.d.ts +0 -22
- package/lib/Cli/commands/sync.d.ts.map +0 -1
- package/lib/Cli/commands/sync.js +0 -64
- package/lib/Cli/commands/sync.js.map +0 -1
- package/lib/Cli/commands/tail.d.ts +0 -9
- package/lib/Cli/commands/tail.d.ts.map +0 -1
- package/lib/Cli/commands/tail.js +0 -97
- package/lib/Cli/commands/tail.js.map +0 -1
- package/lib/Cli/tui/InkCLI.d.ts +0 -4
- package/lib/Cli/tui/InkCLI.d.ts.map +0 -1
- package/lib/Cli/tui/InkCLI.js +0 -53
- package/lib/Cli/tui/InkCLI.js.map +0 -1
- package/lib/Cli/tui/components/ApprovePlan.d.ts +0 -9
- package/lib/Cli/tui/components/ApprovePlan.d.ts.map +0 -1
- package/lib/Cli/tui/components/ApprovePlan.js +0 -21
- package/lib/Cli/tui/components/ApprovePlan.js.map +0 -1
- package/lib/Cli/tui/components/Nuke.d.ts +0 -36
- package/lib/Cli/tui/components/Nuke.d.ts.map +0 -1
- package/lib/Cli/tui/components/Nuke.js +0 -132
- package/lib/Cli/tui/components/Nuke.js.map +0 -1
- package/lib/Cli/tui/components/Plan.d.ts +0 -8
- package/lib/Cli/tui/components/Plan.d.ts.map +0 -1
- package/lib/Cli/tui/components/Plan.js +0 -87
- package/lib/Cli/tui/components/Plan.js.map +0 -1
- package/lib/Cli/tui/components/PlanProgress.d.ts +0 -55
- package/lib/Cli/tui/components/PlanProgress.d.ts.map +0 -1
- package/lib/Cli/tui/components/PlanProgress.js +0 -292
- package/lib/Cli/tui/components/PlanProgress.js.map +0 -1
- package/lib/Sync.d.ts +0 -109
- package/lib/Sync.d.ts.map +0 -1
- package/lib/Sync.js.map +0 -1
- package/lib/Util/Clank.d.ts +0 -45
- package/lib/Util/Clank.d.ts.map +0 -1
- package/lib/Util/Clank.js +0 -79
- package/lib/Util/Clank.js.map +0 -1
- package/src/Cli/Cli.ts +0 -23
- package/src/Cli/Event.ts +0 -51
- package/src/Cli/commands/_shared.ts +0 -498
- package/src/Cli/commands/login.ts +0 -169
- package/src/Cli/commands/profile.ts +0 -132
- package/src/Cli/commands/sync.ts +0 -123
- package/src/Cli/commands/tail.ts +0 -155
- package/src/Cli/tui/InkCLI.tsx +0 -69
- package/src/Cli/tui/components/ApprovePlan.tsx +0 -44
- package/src/Cli/tui/components/Nuke.tsx +0 -273
- package/src/Cli/tui/components/Plan.tsx +0 -211
- package/src/Cli/tui/components/PlanProgress.tsx +0 -455
- package/src/Util/Clank.ts +0 -103
package/src/Auth/AuthProvider.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
import { cachedFunction } from "../Util/cached-function.ts";
|
|
2
|
+
import * as Config from "effect/Config";
|
|
1
3
|
import * as Context from "effect/Context";
|
|
2
4
|
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as FileSystem from "effect/FileSystem";
|
|
3
6
|
import * as Layer from "effect/Layer";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import * as Path from "effect/Path";
|
|
4
9
|
import * as Schema from "effect/Schema";
|
|
10
|
+
|
|
5
11
|
import * as Semaphore from "effect/Semaphore";
|
|
6
|
-
import {
|
|
12
|
+
import { Interaction } from "../Interaction.ts";
|
|
13
|
+
import { UserFacingError } from "../UserFacingError.ts";
|
|
14
|
+
import { withProfileCredentialsLock } from "./Lock.ts";
|
|
7
15
|
|
|
8
16
|
/**
|
|
9
17
|
* Canonical web host for OAuth provider-agnostic landing pages
|
|
@@ -16,16 +24,6 @@ export const AUTH_LANDING_HOST = "https://alchemy.run";
|
|
|
16
24
|
export const AUTH_SUCCESS_URL = `${AUTH_LANDING_HOST}/auth/success`;
|
|
17
25
|
export const AUTH_ERROR_URL = `${AUTH_LANDING_HOST}/auth/error`;
|
|
18
26
|
|
|
19
|
-
/**
|
|
20
|
-
* Methods on an {@link AuthProviderImpl} that mutate (or could trigger
|
|
21
|
-
* mutation of) on-disk credentials. The factory wraps these in a
|
|
22
|
-
* cross-process file lock keyed by `(profileName, providerName)` so that
|
|
23
|
-
* concurrent processes never refresh / write credentials simultaneously.
|
|
24
|
-
*
|
|
25
|
-
* `prettyPrint` is intentionally excluded: it's read-only display.
|
|
26
|
-
*/
|
|
27
|
-
const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
|
|
28
|
-
|
|
29
27
|
/**
|
|
30
28
|
* Methods that may drive an interactive flow (prompts, browser-based
|
|
31
29
|
* OAuth, etc.). A process-wide mutex serializes these across providers
|
|
@@ -33,17 +31,56 @@ const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
|
|
|
33
31
|
* before Planetscale's begins — even when the two auth provider Layers
|
|
34
32
|
* are built in parallel as part of a single `providers()` Layer.
|
|
35
33
|
*
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
*
|
|
34
|
+
* The interactive renderer enforces per-prompt serialization; this mutex
|
|
35
|
+
* enforces per-flow serialization so the user sees one provider's prompts
|
|
36
|
+
* grouped together rather than interleaved.
|
|
39
37
|
*/
|
|
40
|
-
const INTERACTIVE_METHODS = new Set(["login", "configure"]);
|
|
41
38
|
const interactiveMutex = Semaphore.makeUnsafe(1);
|
|
42
39
|
|
|
43
40
|
export class AuthError extends Schema.TaggedError<AuthError>()("AuthError", {
|
|
44
41
|
message: Schema.String,
|
|
45
42
|
cause: Schema.optional(Schema.Defect()),
|
|
46
|
-
}) {
|
|
43
|
+
}) {
|
|
44
|
+
readonly [UserFacingError] = true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Stored credentials exist (or are expected) but cannot be used until the
|
|
49
|
+
* user re-authenticates: missing values, an expired/rotated
|
|
50
|
+
* token, or a session the provider can no longer refresh silently. The
|
|
51
|
+
* profile UI renders this as "needs re-login" instead of a generic error,
|
|
52
|
+
* and callers match it with `Effect.catchTag("NeedsReauth", ...)` — never
|
|
53
|
+
* by inspecting the message.
|
|
54
|
+
*/
|
|
55
|
+
export class NeedsReauth extends Schema.TaggedError<NeedsReauth>()(
|
|
56
|
+
"NeedsReauth",
|
|
57
|
+
{
|
|
58
|
+
provider: Schema.String,
|
|
59
|
+
profile: Schema.String,
|
|
60
|
+
message: Schema.String,
|
|
61
|
+
cause: Schema.optional(Schema.Defect()),
|
|
62
|
+
},
|
|
63
|
+
) {
|
|
64
|
+
readonly [UserFacingError] = true;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Standard remediation hint appended to stored-credential errors
|
|
69
|
+
* ("credentials not found", "refresh failed", ...). Deliberately generic —
|
|
70
|
+
* the explicit command is correct from any surface, including inside the
|
|
71
|
+
* profile dashboard (where `r` is merely the shortcut for it). Centralized
|
|
72
|
+
* so the phrasing lives in one place; surface-aware wording can layer on
|
|
73
|
+
* top later without touching call sites.
|
|
74
|
+
*/
|
|
75
|
+
export const refreshHint = (provider: string, profileName: string): string =>
|
|
76
|
+
`Run \`alchemy profile refresh --profile ${profileName} --provider ${provider}\`.`;
|
|
77
|
+
|
|
78
|
+
/** {@link refreshHint}'s sibling for reconfiguration. */
|
|
79
|
+
export const reconfigureHint = (
|
|
80
|
+
provider: string,
|
|
81
|
+
profileName: string,
|
|
82
|
+
): string =>
|
|
83
|
+
`Run \`alchemy profile edit --profile ${profileName} --reconfigure ${provider}\` to reconfigure.`;
|
|
47
84
|
|
|
48
85
|
export class AuthProviders extends Context.Service<
|
|
49
86
|
AuthProviders,
|
|
@@ -53,203 +90,420 @@ export class AuthProviders extends Context.Service<
|
|
|
53
90
|
>()("AuthProviders") {}
|
|
54
91
|
|
|
55
92
|
/**
|
|
56
|
-
*
|
|
93
|
+
* Declares one environment variable a provider's {@link AuthProviderImpl.readEnvironment}
|
|
94
|
+
* consumes. Profiles are not available in CI — environment variables are the
|
|
95
|
+
* only CI credential source — so this metadata is the machine-readable
|
|
96
|
+
* contract for "what must CI set": rendered in docs, surfaced by the CLI,
|
|
97
|
+
* and available to tooling through the {@link AuthProviders} registry.
|
|
57
98
|
*/
|
|
58
|
-
export
|
|
99
|
+
export const EnvironmentVariable = Schema.Struct({
|
|
100
|
+
/** Environment variable name, e.g. `CLOUDFLARE_API_TOKEN`. */
|
|
101
|
+
name: Schema.String,
|
|
102
|
+
/** What the variable configures and when it applies. */
|
|
103
|
+
description: Schema.optional(Schema.String),
|
|
104
|
+
/**
|
|
105
|
+
* Whether credential resolution fails when neither this variable nor one
|
|
106
|
+
* of its {@link alternatives} is set. Use `description` to explain
|
|
107
|
+
* conditional requirements (e.g. "required unless X is set").
|
|
108
|
+
*/
|
|
109
|
+
required: Schema.Boolean,
|
|
110
|
+
/** Holds a secret — display surfaces must redact its value. */
|
|
111
|
+
secret: Schema.optional(Schema.Boolean),
|
|
59
112
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* `{ method: "env" }`) so unattended runs work.
|
|
113
|
+
* Alternative variable names that satisfy the same requirement, in
|
|
114
|
+
* precedence order after {@link name} (e.g. `AWS_DEFAULT_REGION` for
|
|
115
|
+
* `AWS_REGION`).
|
|
64
116
|
*/
|
|
65
|
-
|
|
117
|
+
alternatives: Schema.optional(Schema.Array(Schema.String)),
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
export type EnvironmentVariable = typeof EnvironmentVariable.Type;
|
|
66
121
|
|
|
122
|
+
const EnvironmentVariables = Schema.Array(EnvironmentVariable);
|
|
123
|
+
|
|
124
|
+
/** Render a one-line summary of a provider's environment contract. */
|
|
125
|
+
export const describeEnvironment = (
|
|
126
|
+
environment: ReadonlyArray<EnvironmentVariable>,
|
|
127
|
+
): string =>
|
|
128
|
+
environment
|
|
129
|
+
.map((v) => {
|
|
130
|
+
const names = [v.name, ...(v.alternatives ?? [])].join(" | ");
|
|
131
|
+
return v.required ? names : `[${names}]`;
|
|
132
|
+
})
|
|
133
|
+
.join(", ");
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The variable names a provider's environment resolution would consume, or
|
|
137
|
+
* `undefined` when the declared contract is not fully satisfied (some
|
|
138
|
+
* required variable has no non-empty value). Reads through the ambient
|
|
139
|
+
* `ConfigProvider` — the process environment plus `.env` / `--env-file` —
|
|
140
|
+
* so it sees exactly what `readEnvironment` will. Environment credentials
|
|
141
|
+
* take precedence over any profile, CI or not; the returned names tell the
|
|
142
|
+
* user exactly which keys won.
|
|
143
|
+
*/
|
|
144
|
+
export const presentEnvironment = (
|
|
145
|
+
environment: ReadonlyArray<EnvironmentVariable>,
|
|
146
|
+
) =>
|
|
147
|
+
Effect.gen(function* () {
|
|
148
|
+
const used: string[] = [];
|
|
149
|
+
for (const variable of environment) {
|
|
150
|
+
let found: string | undefined;
|
|
151
|
+
for (const name of [variable.name, ...(variable.alternatives ?? [])]) {
|
|
152
|
+
const value = yield* Config.option(Config.string(name));
|
|
153
|
+
if (Option.isSome(value) && value.value !== "") {
|
|
154
|
+
found = name;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (found !== undefined) used.push(found);
|
|
159
|
+
else if (variable.required) return undefined;
|
|
160
|
+
}
|
|
161
|
+
return used.length > 0 ? used : undefined;
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* One rendered line of a provider's credential details: `key: value`.
|
|
166
|
+
* Values must arrive pre-redacted (see `displayRedacted`) — the display
|
|
167
|
+
* layer renders them verbatim.
|
|
168
|
+
*/
|
|
169
|
+
export interface ProviderDetailLine {
|
|
170
|
+
readonly key: string;
|
|
171
|
+
readonly value: string;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Structured result of {@link AuthProviderImpl.details} — what
|
|
176
|
+
* `alchemy profile show` and the dashboard render for a connected
|
|
177
|
+
* provider. Replaces the old `prettyPrint` Console-capture contract.
|
|
178
|
+
*/
|
|
179
|
+
export interface ProviderDetails {
|
|
180
|
+
readonly lines: ReadonlyArray<ProviderDetailLine>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* One input a provider's flag-driven (non-interactive) configuration
|
|
185
|
+
* accepts — the machine-readable half of `alchemy profile edit --add
|
|
186
|
+
* <provider> --method <m> --set <name>=<value>`.
|
|
187
|
+
*/
|
|
188
|
+
export interface ConfigureField {
|
|
189
|
+
/** `--set` key and, for stored-credential providers, the stored JSON property. */
|
|
190
|
+
readonly name: string;
|
|
191
|
+
/** Human prompt label, e.g. "Cloudflare API Token". */
|
|
192
|
+
readonly label: string;
|
|
193
|
+
/** Secondary guidance shown beneath the interactive input. */
|
|
194
|
+
readonly description?: string;
|
|
195
|
+
/** Masked during prompts and redacted in details. @default false */
|
|
196
|
+
readonly secret?: boolean;
|
|
197
|
+
/** May be omitted. @default false */
|
|
198
|
+
readonly optional?: boolean;
|
|
199
|
+
readonly placeholder?: string;
|
|
200
|
+
readonly defaultValue?: string;
|
|
201
|
+
/** Return an error message for an invalid value, undefined when valid. */
|
|
202
|
+
readonly validate?: (value: string) => string | undefined;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* The flag-driven configuration contract a provider exposes per method:
|
|
207
|
+
* which `--method` names are accepted and which `--set` fields each one
|
|
208
|
+
* takes. Interactive-only methods (browser OAuth, SSO) simply don't
|
|
209
|
+
* appear here.
|
|
210
|
+
*/
|
|
211
|
+
export interface ConfigureMethod {
|
|
67
212
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* implementations should display it before their first prompt so the
|
|
72
|
-
* user knows what triggered the flow.
|
|
213
|
+
* `--method` value. Always the same literal the provider persists as the
|
|
214
|
+
* config's `method` (`"stored"`, `"sso"`, `"local"`, `"env"`), so the
|
|
215
|
+
* flag and the credentials file speak one vocabulary.
|
|
73
216
|
*/
|
|
74
|
-
readonly
|
|
217
|
+
readonly method: string;
|
|
218
|
+
readonly fields: ReadonlyArray<ConfigureField>;
|
|
75
219
|
}
|
|
76
220
|
|
|
77
221
|
export interface AuthProviderImpl<
|
|
78
|
-
Config extends { method: string } =
|
|
79
|
-
Credentials =
|
|
80
|
-
|
|
81
|
-
LoginReq = any,
|
|
82
|
-
LogoutReq = any,
|
|
83
|
-
PrettyPrintReq = any,
|
|
84
|
-
ReadReq = any,
|
|
222
|
+
Config extends { method: string } = { method: string },
|
|
223
|
+
Credentials = unknown,
|
|
224
|
+
R = never,
|
|
85
225
|
> {
|
|
226
|
+
/**
|
|
227
|
+
* Schema for the provider-owned `values` object ({@link Config}). Stored
|
|
228
|
+
* entries are user-editable JSON that may also come from a newer or
|
|
229
|
+
* older alchemy, so every load decodes against this schema — an invalid
|
|
230
|
+
* entry fails with a reconfigure hint instead of reaching provider code
|
|
231
|
+
* that matches exhaustively on `method`.
|
|
232
|
+
*/
|
|
233
|
+
readonly configSchema: Schema.Codec<Config>;
|
|
234
|
+
|
|
86
235
|
configure(
|
|
87
236
|
profileName: string,
|
|
88
|
-
|
|
89
|
-
): Effect.Effect<Config, AuthError,
|
|
237
|
+
currentConfig?: Config,
|
|
238
|
+
): Effect.Effect<Config, AuthError, R | Interaction>;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Flag-driven configuration for scripts and agents: validated `--set`
|
|
242
|
+
* values for one of the methods declared in {@link configureMethods}.
|
|
243
|
+
* Optional — interactive-only providers omit it.
|
|
244
|
+
*/
|
|
245
|
+
configureWith?(
|
|
246
|
+
profileName: string,
|
|
247
|
+
input: {
|
|
248
|
+
readonly method: string;
|
|
249
|
+
readonly values: Record<string, string>;
|
|
250
|
+
},
|
|
251
|
+
): Effect.Effect<Config, AuthError, R | Interaction>;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* The methods {@link configureWith} accepts and their fields. Required
|
|
255
|
+
* whenever `configureWith` is implemented so the CLI can validate and
|
|
256
|
+
* document the flags.
|
|
257
|
+
*/
|
|
258
|
+
readonly configureMethods?: ReadonlyArray<ConfigureMethod>;
|
|
90
259
|
|
|
91
260
|
login(
|
|
92
261
|
profileName: string,
|
|
93
262
|
config: Config,
|
|
94
|
-
|
|
263
|
+
updateConfig?: (config: Config) => Effect.Effect<void, AuthError>,
|
|
264
|
+
): Effect.Effect<Config | void, AuthError, R | Interaction>;
|
|
95
265
|
|
|
96
266
|
logout(
|
|
97
267
|
profileName: string,
|
|
98
268
|
config: Config,
|
|
99
|
-
): Effect.Effect<void, AuthError,
|
|
269
|
+
): Effect.Effect<void, AuthError, R | Interaction>;
|
|
100
270
|
|
|
101
|
-
|
|
271
|
+
/**
|
|
272
|
+
* Structured credential details for display. Fails with
|
|
273
|
+
* {@link NeedsReauth} when stored credentials exist but require
|
|
274
|
+
* re-authentication, so the UI can render "needs re-login" instead of a
|
|
275
|
+
* generic error.
|
|
276
|
+
*/
|
|
277
|
+
details(
|
|
102
278
|
profileName: string,
|
|
103
279
|
config: Config,
|
|
104
|
-
|
|
280
|
+
updateConfig?: (config: Config) => Effect.Effect<void, AuthError>,
|
|
281
|
+
): Effect.Effect<ProviderDetails, AuthError | NeedsReauth, R | Interaction>;
|
|
105
282
|
|
|
283
|
+
/**
|
|
284
|
+
* Resolve credentials from the profile values, silently refreshing when the
|
|
285
|
+
* provider supports it. MUST be non-interactive — this is the only method
|
|
286
|
+
* (with {@link readEnvironment}) that child processes exercise, and their
|
|
287
|
+
* graphs carry no interaction services. When re-authentication is needed,
|
|
288
|
+
* fail with {@link NeedsReauth} instead of prompting.
|
|
289
|
+
*/
|
|
106
290
|
read(
|
|
107
291
|
profileName: string,
|
|
108
292
|
config: Config,
|
|
109
|
-
|
|
293
|
+
updateConfig?: (config: Config) => Effect.Effect<void, AuthError>,
|
|
294
|
+
): Effect.Effect<Credentials, AuthError | NeedsReauth, R>;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Resolve credentials directly from the process environment for CI.
|
|
298
|
+
* This never creates, selects, or mutates an Alchemy profile.
|
|
299
|
+
*/
|
|
300
|
+
readonly readEnvironment?: Effect.Effect<Credentials, AuthError, R>;
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* The environment variables {@link readEnvironment} consumes. Required
|
|
304
|
+
* whenever `readEnvironment` is implemented — profiles do not exist in CI,
|
|
305
|
+
* so this list is the provider's entire CI configuration contract. Names
|
|
306
|
+
* only, never values.
|
|
307
|
+
*/
|
|
308
|
+
readonly environment?: ReadonlyArray<EnvironmentVariable>;
|
|
110
309
|
}
|
|
111
310
|
|
|
112
311
|
export interface AuthProvider<
|
|
113
|
-
Config extends { method: string } =
|
|
114
|
-
Credentials =
|
|
115
|
-
> extends AuthProviderImpl<
|
|
116
|
-
Config,
|
|
117
|
-
Credentials,
|
|
118
|
-
never,
|
|
119
|
-
never,
|
|
120
|
-
never,
|
|
121
|
-
never,
|
|
122
|
-
never
|
|
123
|
-
> {
|
|
312
|
+
Config extends { method: string } = { method: string },
|
|
313
|
+
Credentials = unknown,
|
|
314
|
+
> extends AuthProviderImpl<Config, Credentials> {
|
|
124
315
|
readonly kind: "AuthProvider";
|
|
125
316
|
readonly name: string;
|
|
317
|
+
/** Log each environment contract once per built provider layer. */
|
|
318
|
+
readonly logEnvironmentCredentials: (
|
|
319
|
+
used: ReadonlyArray<string>,
|
|
320
|
+
) => Effect.Effect<void>;
|
|
321
|
+
/**
|
|
322
|
+
* The provider's declared CI environment contract. Empty when the
|
|
323
|
+
* provider does not support environment credentials.
|
|
324
|
+
*/
|
|
325
|
+
readonly environment: ReadonlyArray<EnvironmentVariable>;
|
|
326
|
+
/**
|
|
327
|
+
* Decode raw provider values against {@link AuthProviderImpl.configSchema}.
|
|
328
|
+
* Fails with an {@link AuthError} carrying the reconfigure hint, so every
|
|
329
|
+
* consumer of stored configuration reports invalid entries the same way.
|
|
330
|
+
*/
|
|
331
|
+
decodeConfig(
|
|
332
|
+
profileName: string,
|
|
333
|
+
config: unknown,
|
|
334
|
+
): Effect.Effect<Config, AuthError>;
|
|
126
335
|
}
|
|
127
336
|
|
|
128
337
|
export const AuthProvider =
|
|
129
338
|
<Config extends { method: string }, Credentials>() =>
|
|
130
|
-
<
|
|
131
|
-
ImplReq = never,
|
|
132
|
-
ConfigureReq = never,
|
|
133
|
-
LoginReq = never,
|
|
134
|
-
LogoutReq = never,
|
|
135
|
-
PrettyPrintReq = never,
|
|
136
|
-
ReadReq = never,
|
|
137
|
-
>(
|
|
339
|
+
<R = never, ImplReq = never>(
|
|
138
340
|
name: string,
|
|
139
341
|
impl:
|
|
140
|
-
| AuthProviderImpl<
|
|
141
|
-
|
|
142
|
-
Credentials,
|
|
143
|
-
ConfigureReq,
|
|
144
|
-
LoginReq,
|
|
145
|
-
LogoutReq,
|
|
146
|
-
PrettyPrintReq,
|
|
147
|
-
ReadReq
|
|
148
|
-
>
|
|
149
|
-
| Effect.Effect<
|
|
150
|
-
AuthProviderImpl<
|
|
151
|
-
Config,
|
|
152
|
-
Credentials,
|
|
153
|
-
ConfigureReq,
|
|
154
|
-
LoginReq,
|
|
155
|
-
LogoutReq,
|
|
156
|
-
PrettyPrintReq,
|
|
157
|
-
ReadReq
|
|
158
|
-
>,
|
|
159
|
-
never,
|
|
160
|
-
ImplReq
|
|
161
|
-
>,
|
|
342
|
+
| AuthProviderImpl<Config, Credentials, R>
|
|
343
|
+
| Effect.Effect<AuthProviderImpl<Config, Credentials, R>, never, ImplReq>,
|
|
162
344
|
) =>
|
|
163
345
|
Effect.gen(function* () {
|
|
164
|
-
|
|
346
|
+
// FileSystem/Path back the cross-process credentials lock that wraps
|
|
347
|
+
// `logout`/`read` below, so capture them with the impl's own services.
|
|
348
|
+
//
|
|
349
|
+
// `Effect.context()` snapshots the ENTIRE fiber context (the type
|
|
350
|
+
// parameter only narrows the type), and `Effect.provideContext` makes
|
|
351
|
+
// the provided side win — so an Interaction that happens to be
|
|
352
|
+
// ambient at REGISTRATION would silently shadow whatever the caller
|
|
353
|
+
// provides at call time, making the interactive methods' declared
|
|
354
|
+
// `Interaction` requirement a dead letter. Omit it from the snapshot:
|
|
355
|
+
// interactive flows resolve Interaction from the caller, exactly as
|
|
356
|
+
// their signatures promise (a scripted test Interaction, a
|
|
357
|
+
// browser-driven Alchemist login).
|
|
358
|
+
// SAFETY: the assertion restores the pre-omit type — tsc cannot reduce
|
|
359
|
+
// `Exclude<R, … Exclude<R, Interaction>>` over the generic R. It only
|
|
360
|
+
// over-promises Interaction, which every registered method signature
|
|
361
|
+
// re-declares as a requirement anyway, so no call site can rely on the
|
|
362
|
+
// capture satisfying it.
|
|
363
|
+
const ctx = Context.omit(Interaction)(
|
|
364
|
+
yield* Effect.context<
|
|
365
|
+
FileSystem.FileSystem | Path.Path | R | ImplReq
|
|
366
|
+
>(),
|
|
367
|
+
) as Context.Context<FileSystem.FileSystem | Path.Path | R | ImplReq>;
|
|
165
368
|
const providers = yield* AuthProviders;
|
|
166
369
|
const service = yield* Effect.isEffect(impl)
|
|
167
370
|
? impl
|
|
168
371
|
: Effect.succeed(impl);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
372
|
+
// Validate the declared environment contract at registration so a
|
|
373
|
+
// malformed declaration fails at layer build (programmer error), not
|
|
374
|
+
// when a CI run tries to render it.
|
|
375
|
+
const environment =
|
|
376
|
+
service.environment === undefined
|
|
377
|
+
? []
|
|
378
|
+
: Schema.decodeUnknownSync(EnvironmentVariables)(service.environment);
|
|
379
|
+
if (service.readEnvironment !== undefined && environment.length === 0) {
|
|
380
|
+
return yield* Effect.die(
|
|
381
|
+
`AuthProvider '${name}' implements readEnvironment but does not ` +
|
|
382
|
+
"declare its `environment` variables. Declare every variable " +
|
|
383
|
+
"readEnvironment consumes so CI requirements are discoverable.",
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
if (
|
|
387
|
+
service.configureWith !== undefined &&
|
|
388
|
+
(service.configureMethods === undefined ||
|
|
389
|
+
service.configureMethods.length === 0)
|
|
390
|
+
) {
|
|
391
|
+
return yield* Effect.die(
|
|
392
|
+
`AuthProvider '${name}' implements configureWith but does not ` +
|
|
393
|
+
"declare `configureMethods`. Declare each accepted --method and " +
|
|
394
|
+
"its --set fields so the CLI can validate and document them.",
|
|
395
|
+
);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
const provider: AuthProvider<Config, Credentials> = {
|
|
399
|
+
logEnvironmentCredentials: yield* cachedFunction(
|
|
400
|
+
(used: ReadonlyArray<string>) =>
|
|
401
|
+
Effect.logInfo(
|
|
402
|
+
`${name}: using environment variables (${used.join(", ")}) instead of the profile.`,
|
|
198
403
|
),
|
|
199
|
-
|
|
200
|
-
|
|
404
|
+
{ key: ([used]) => JSON.stringify(used.toSorted()) },
|
|
405
|
+
),
|
|
406
|
+
kind: "AuthProvider",
|
|
407
|
+
name,
|
|
408
|
+
// configure/login can wait minutes on a browser grant, so they hold
|
|
409
|
+
// only the process-level interactive mutex — never the per-profile
|
|
410
|
+
// credentials lock, which would starve every concurrent `read` (its
|
|
411
|
+
// waiters time out at ~120s). Providers whose login path performs a
|
|
412
|
+
// rotate-on-use silent refresh wrap that read-refresh-persist
|
|
413
|
+
// section (and only it) in `withProfileCredentialsLock` themselves;
|
|
414
|
+
// a post-browser persist is a benign whole-file swap where the last
|
|
415
|
+
// grant wins.
|
|
416
|
+
configure: (profileName, currentConfig) =>
|
|
417
|
+
Semaphore.withPermits(
|
|
418
|
+
interactiveMutex,
|
|
419
|
+
1,
|
|
420
|
+
)(
|
|
421
|
+
service
|
|
422
|
+
.configure(profileName, currentConfig)
|
|
423
|
+
.pipe(Effect.provideContext(ctx)),
|
|
424
|
+
),
|
|
425
|
+
login: (profileName, config, updateConfig) =>
|
|
426
|
+
Semaphore.withPermits(
|
|
427
|
+
interactiveMutex,
|
|
428
|
+
1,
|
|
429
|
+
)(
|
|
430
|
+
service
|
|
431
|
+
.login(profileName, config, updateConfig)
|
|
432
|
+
.pipe(Effect.provideContext(ctx)),
|
|
433
|
+
),
|
|
434
|
+
logout: (profileName, config) =>
|
|
435
|
+
withProfileCredentialsLock(
|
|
436
|
+
profileName,
|
|
437
|
+
service.logout(profileName, config),
|
|
438
|
+
).pipe(Effect.provideContext(ctx)),
|
|
439
|
+
details: (profileName, config, updateConfig) =>
|
|
440
|
+
withProfileCredentialsLock(
|
|
441
|
+
profileName,
|
|
442
|
+
service.details(profileName, config, updateConfig),
|
|
443
|
+
).pipe(Effect.provideContext(ctx)),
|
|
444
|
+
...(service.configureWith === undefined
|
|
445
|
+
? {}
|
|
446
|
+
: {
|
|
447
|
+
configureWith: (
|
|
448
|
+
profileName: string,
|
|
449
|
+
input: {
|
|
450
|
+
readonly method: string;
|
|
451
|
+
readonly values: Record<string, string>;
|
|
452
|
+
},
|
|
453
|
+
) =>
|
|
454
|
+
service.configureWith!(profileName, input).pipe(
|
|
455
|
+
Effect.provideContext(ctx),
|
|
456
|
+
),
|
|
457
|
+
configureMethods: service.configureMethods,
|
|
458
|
+
}),
|
|
459
|
+
read: (profileName, config, updateConfig) =>
|
|
460
|
+
withProfileCredentialsLock(
|
|
461
|
+
profileName,
|
|
462
|
+
service.read(profileName, config, updateConfig),
|
|
463
|
+
).pipe(Effect.provideContext(ctx)),
|
|
464
|
+
readEnvironment: service.readEnvironment?.pipe(
|
|
465
|
+
Effect.provideContext(ctx),
|
|
466
|
+
),
|
|
467
|
+
environment,
|
|
468
|
+
configSchema: service.configSchema,
|
|
469
|
+
decodeConfig: (profileName, config) =>
|
|
470
|
+
Effect.gen(function* () {
|
|
471
|
+
return yield* Schema.decodeUnknownEffect(service.configSchema)(
|
|
472
|
+
config,
|
|
473
|
+
).pipe(
|
|
474
|
+
Effect.mapError(
|
|
475
|
+
(cause) =>
|
|
476
|
+
new AuthError({
|
|
477
|
+
message:
|
|
478
|
+
`Stored ${name} configuration in profile '${profileName}' is not valid ` +
|
|
479
|
+
`for this version of alchemy. ` +
|
|
480
|
+
`${reconfigureHint(name, profileName)}`,
|
|
481
|
+
cause,
|
|
482
|
+
}),
|
|
483
|
+
),
|
|
484
|
+
);
|
|
485
|
+
}),
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
providers[name] = provider;
|
|
201
489
|
});
|
|
202
490
|
|
|
203
491
|
/**
|
|
204
492
|
* Build a Layer that registers an AuthProvider into the {@link AuthProviders}
|
|
205
493
|
* registry when its parent layer is built. Use this from a provider's
|
|
206
|
-
* top-level `providers()` Layer so that
|
|
494
|
+
* top-level `providers()` Layer so that the alchemy CLI can discover the
|
|
207
495
|
* provider via the registry without forcing credential resolution.
|
|
208
496
|
*/
|
|
209
497
|
export const AuthProviderLayer =
|
|
210
498
|
<Config extends { method: string }, Credentials>() =>
|
|
211
|
-
<
|
|
212
|
-
ImplReq = never,
|
|
213
|
-
ConfigureReq = never,
|
|
214
|
-
LoginReq = never,
|
|
215
|
-
LogoutReq = never,
|
|
216
|
-
PrettyPrintReq = never,
|
|
217
|
-
ReadReq = never,
|
|
218
|
-
>(
|
|
499
|
+
<R = never, ImplReq = never>(
|
|
219
500
|
name: string,
|
|
220
501
|
impl:
|
|
221
|
-
| AuthProviderImpl<
|
|
222
|
-
|
|
223
|
-
Credentials,
|
|
224
|
-
ConfigureReq,
|
|
225
|
-
LoginReq,
|
|
226
|
-
LogoutReq,
|
|
227
|
-
PrettyPrintReq,
|
|
228
|
-
ReadReq
|
|
229
|
-
>
|
|
230
|
-
| Effect.Effect<
|
|
231
|
-
AuthProviderImpl<
|
|
232
|
-
Config,
|
|
233
|
-
Credentials,
|
|
234
|
-
ConfigureReq,
|
|
235
|
-
LoginReq,
|
|
236
|
-
LogoutReq,
|
|
237
|
-
PrettyPrintReq,
|
|
238
|
-
ReadReq
|
|
239
|
-
>,
|
|
240
|
-
never,
|
|
241
|
-
ImplReq
|
|
242
|
-
>,
|
|
502
|
+
| AuthProviderImpl<Config, Credentials, R>
|
|
503
|
+
| Effect.Effect<AuthProviderImpl<Config, Credentials, R>, never, ImplReq>,
|
|
243
504
|
) =>
|
|
244
505
|
Layer.effectDiscard(
|
|
245
|
-
AuthProvider<Config, Credentials>()<
|
|
246
|
-
ImplReq,
|
|
247
|
-
ConfigureReq,
|
|
248
|
-
LoginReq,
|
|
249
|
-
LogoutReq,
|
|
250
|
-
PrettyPrintReq,
|
|
251
|
-
ReadReq
|
|
252
|
-
>(name, impl),
|
|
506
|
+
AuthProvider<Config, Credentials>()<R, ImplReq>(name, impl),
|
|
253
507
|
);
|
|
254
508
|
|
|
255
509
|
/**
|
|
@@ -258,8 +512,8 @@ export const AuthProviderLayer =
|
|
|
258
512
|
* its layer hasn't been built).
|
|
259
513
|
*/
|
|
260
514
|
export const getAuthProvider = <
|
|
261
|
-
Config extends { method: string } =
|
|
262
|
-
Credentials =
|
|
515
|
+
Config extends { method: string } = { method: string },
|
|
516
|
+
Credentials = unknown,
|
|
263
517
|
>(
|
|
264
518
|
name: string,
|
|
265
519
|
): Effect.Effect<AuthProvider<Config, Credentials>, AuthError, AuthProviders> =>
|
|
@@ -270,5 +524,9 @@ export const getAuthProvider = <
|
|
|
270
524
|
message: `AuthProvider '${name}' is not registered. Make sure its layer has been provided.`,
|
|
271
525
|
}),
|
|
272
526
|
)
|
|
273
|
-
: Effect.succeed(
|
|
527
|
+
: Effect.succeed(
|
|
528
|
+
// SAFETY: registration erases provider-specific generic parameters;
|
|
529
|
+
// callers restore the contract associated with the requested name.
|
|
530
|
+
registry[name] as AuthProvider<Config, Credentials>,
|
|
531
|
+
),
|
|
274
532
|
);
|