alchemy 2.0.0-beta.25 → 2.0.0-beta.27
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/bin/alchemy.d.ts +2 -0
- package/bin/alchemy.d.ts.map +1 -0
- package/bin/alchemy.js +3 -57288
- package/bin/alchemy.js.map +1 -1
- package/bin/alchemy.ts +3 -59
- package/bin/exec.d.ts +2 -0
- package/bin/exec.d.ts.map +1 -0
- package/bin/exec.js +2360 -0
- package/bin/exec.js.map +1 -0
- package/bin/exec.ts +3 -21
- package/lib/AWS/AuthProvider.d.ts +1 -1
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +20 -3
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Lock.d.ts +12 -0
- package/lib/Auth/Lock.d.ts.map +1 -0
- package/lib/Auth/Lock.js +27 -0
- package/lib/Auth/Lock.js.map +1 -0
- package/lib/Axiom/AuthProvider.d.ts +1 -1
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/Credentials.d.ts +1 -1
- package/lib/Axiom/Credentials.d.ts.map +1 -1
- package/lib/Bundle/Bundle.d.ts +3 -3
- package/lib/Cli/commands/_shared.d.ts +51 -0
- package/lib/Cli/commands/_shared.d.ts.map +1 -0
- package/lib/Cli/commands/_shared.js +176 -0
- package/lib/Cli/commands/_shared.js.map +1 -0
- package/lib/Cli/commands/bootstrap.d.ts +6 -0
- package/lib/Cli/commands/bootstrap.d.ts.map +1 -0
- package/lib/Cli/commands/bootstrap.js +106 -0
- package/lib/Cli/commands/bootstrap.js.map +1 -0
- package/lib/Cli/commands/deploy.d.ts +56 -0
- package/lib/Cli/commands/deploy.d.ts.map +1 -0
- package/lib/Cli/commands/deploy.js +128 -0
- package/lib/Cli/commands/deploy.js.map +1 -0
- package/lib/Cli/commands/dev.d.ts +10 -0
- package/lib/Cli/commands/dev.d.ts.map +1 -0
- package/lib/Cli/commands/dev.js +45 -0
- package/lib/Cli/commands/dev.js.map +1 -0
- package/lib/Cli/commands/login.d.ts +10 -0
- package/lib/Cli/commands/login.d.ts.map +1 -0
- package/lib/Cli/commands/login.js +59 -0
- package/lib/Cli/commands/login.js.map +1 -0
- package/lib/Cli/commands/logs.d.ts +12 -0
- package/lib/Cli/commands/logs.d.ts.map +1 -0
- package/lib/Cli/commands/logs.js +99 -0
- package/lib/Cli/commands/logs.js.map +1 -0
- package/lib/Cli/commands/profile.d.ts +3 -0
- package/lib/Cli/commands/profile.d.ts.map +1 -0
- package/lib/Cli/commands/profile.js +76 -0
- package/lib/Cli/commands/profile.js.map +1 -0
- package/lib/Cli/commands/state.d.ts +3 -0
- package/lib/Cli/commands/state.d.ts.map +1 -0
- package/lib/Cli/commands/state.js +221 -0
- package/lib/Cli/commands/state.js.map +1 -0
- package/lib/Cli/commands/tail.d.ts +9 -0
- package/lib/Cli/commands/tail.d.ts.map +1 -0
- package/lib/Cli/commands/tail.js +93 -0
- package/lib/Cli/commands/tail.js.map +1 -0
- package/lib/Cli/exec.d.ts +3 -0
- package/lib/Cli/exec.d.ts.map +1 -0
- package/lib/Cli/exec.js +12 -0
- package/lib/Cli/exec.js.map +1 -0
- package/lib/Cli/index.d.ts +2 -1
- package/lib/Cli/index.d.ts.map +1 -1
- package/lib/Cli/index.js +2 -5
- package/lib/Cli/index.js.map +1 -1
- package/lib/Cli/main.d.ts +3 -0
- package/lib/Cli/main.d.ts.map +1 -0
- package/lib/Cli/main.js +40 -0
- package/lib/Cli/main.js.map +1 -0
- package/lib/Cli/{InkCLI.d.ts → tui/InkCLI.d.ts} +1 -1
- package/lib/Cli/tui/InkCLI.d.ts.map +1 -0
- package/lib/Cli/{InkCLI.js → tui/InkCLI.js} +1 -1
- package/lib/Cli/tui/InkCLI.js.map +1 -0
- package/lib/Cli/{components → tui/components}/ApprovePlan.d.ts +1 -1
- package/lib/Cli/tui/components/ApprovePlan.d.ts.map +1 -0
- package/lib/Cli/tui/components/ApprovePlan.js.map +1 -0
- package/lib/Cli/{components → tui/components}/Plan.d.ts +1 -1
- package/lib/Cli/tui/components/Plan.d.ts.map +1 -0
- package/lib/Cli/{components → tui/components}/Plan.js +1 -1
- package/lib/Cli/tui/components/Plan.js.map +1 -0
- package/lib/Cli/{components → tui/components}/PlanProgress.d.ts +3 -3
- package/lib/Cli/tui/components/PlanProgress.d.ts.map +1 -0
- package/lib/Cli/{components → tui/components}/PlanProgress.js +1 -1
- package/lib/Cli/tui/components/PlanProgress.js.map +1 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +0 -4
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +1 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Import.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Import.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Migrations.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Migrations.d.ts.map +1 -1
- package/lib/Cloudflare/KV/KVNamespace.d.ts +1 -1
- package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.d.ts +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/Queue.d.ts +1 -1
- package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.js +5 -5
- package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +13 -0
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +15 -2
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +3 -3
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +2 -2
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +14 -12
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/Workflow.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.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/GitHub/AuthProvider.d.ts +1 -1
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/Credentials.d.ts +1 -1
- package/lib/GitHub/Credentials.d.ts.map +1 -1
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts.map +1 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +13 -2
- package/lib/Output.js.map +1 -1
- package/lib/Provider.d.ts +1 -1
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Stack.js +2 -2
- package/lib/Stack.js.map +1 -1
- package/lib/Telemetry/Layer.d.ts.map +1 -1
- package/lib/Telemetry/Layer.js +13 -1
- package/lib/Telemetry/Layer.js.map +1 -1
- package/lib/Test/Bun.d.ts +59 -28
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +77 -81
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Core.d.ts +73 -0
- package/lib/Test/Core.d.ts.map +1 -0
- package/lib/Test/Core.js +98 -0
- package/lib/Test/Core.js.map +1 -0
- package/lib/Test/Vitest.d.ts +53 -72
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +73 -232
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/Test/index.d.ts +0 -1
- package/lib/Test/index.d.ts.map +1 -1
- package/lib/Test/index.js +0 -1
- package/lib/Test/index.js.map +1 -1
- package/lib/Util/index.d.ts +1 -0
- package/lib/Util/index.d.ts.map +1 -1
- package/lib/Util/index.js +1 -0
- package/lib/Util/index.js.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -0
- package/package.json +68 -52
- package/src/Auth/AuthProvider.ts +22 -4
- package/src/Auth/Lock.ts +35 -0
- package/{bin → src/Cli}/commands/_shared.ts +5 -5
- package/{bin → src/Cli}/commands/bootstrap.ts +18 -14
- package/{bin → src/Cli}/commands/deploy.ts +16 -16
- package/{bin → src/Cli}/commands/dev.ts +13 -3
- package/{bin → src/Cli}/commands/login.ts +9 -9
- package/{bin → src/Cli}/commands/logs.ts +11 -11
- package/{bin → src/Cli}/commands/profile.ts +8 -8
- package/{bin → src/Cli}/commands/state.ts +47 -26
- package/{bin → src/Cli}/commands/tail.ts +11 -11
- package/src/Cli/exec.ts +23 -0
- package/src/Cli/index.ts +2 -5
- package/src/Cli/main.ts +60 -0
- package/src/Cli/{InkCLI.tsx → tui/InkCLI.tsx} +3 -3
- package/src/Cli/{components → tui/components}/ApprovePlan.tsx +1 -1
- package/src/Cli/{components → tui/components}/Plan.tsx +6 -2
- package/src/Cli/{components → tui/components}/PlanProgress.tsx +7 -3
- package/src/Cloudflare/Auth/AuthProvider.ts +0 -5
- package/src/Cloudflare/SecretsStore/SecretsStore.ts +5 -5
- package/src/Cloudflare/StateStore/Api.ts +15 -2
- package/src/Cloudflare/StateStore/State.ts +3 -9
- package/src/Cloudflare/Workers/Worker.ts +29 -44
- package/src/Output.ts +10 -2
- package/src/Provider.ts +1 -1
- package/src/Stack.ts +2 -2
- package/src/Telemetry/Layer.ts +13 -1
- package/src/Test/Bun.ts +164 -140
- package/src/Test/Core.ts +225 -0
- package/src/Test/Vitest.ts +157 -509
- package/src/Test/index.ts +0 -1
- package/src/Util/index.ts +1 -0
- package/src/index.ts +14 -0
- package/lib/Cli/InkCLI.d.ts.map +0 -1
- package/lib/Cli/InkCLI.js.map +0 -1
- package/lib/Cli/components/ApprovePlan.d.ts.map +0 -1
- package/lib/Cli/components/ApprovePlan.js.map +0 -1
- package/lib/Cli/components/Plan.d.ts.map +0 -1
- package/lib/Cli/components/Plan.js.map +0 -1
- package/lib/Cli/components/PlanProgress.d.ts.map +0 -1
- package/lib/Cli/components/PlanProgress.js.map +0 -1
- package/lib/cli/index.d.ts +0 -413
- package/lib/cli/index.d.ts.map +0 -1
- package/lib/cli/index.js +0 -10
- package/lib/cli/index.js.map +0 -1
- /package/lib/Cli/{components → tui/components}/ApprovePlan.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBridgeEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/EventBridgeEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,WAAW,IAAI,sBAAsB,EAKrC,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAEH,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"EventBridgeEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/EventBridgeEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,WAAW,IAAI,sBAAsB,EAKrC,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAEH,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,eAAO,MAAM,WAAW,gwBAqCvB,CAAC;4HAWc,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;AAVtC;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBAKL;CAAG;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,8CAYjC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import * as Binding from "../../Binding.ts";
|
|
|
5
5
|
import type { Queue } from "../SQS/Queue.ts";
|
|
6
6
|
import { QueueEventSource as SQSQueueEventSource, type QueueEventSourceProps } from "../SQS/QueueEventSource.ts";
|
|
7
7
|
export declare const isSQSEvent: (event: any) => event is lambda.SQSEvent;
|
|
8
|
-
export declare const QueueEventSource: Layer.Layer<SQSQueueEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../
|
|
8
|
+
export declare const QueueEventSource: Layer.Layer<SQSQueueEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../index.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../index.ts").Cli | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
9
9
|
declare const QueueEventSourcePolicy_base: Binding.Policy<QueueEventSourcePolicy, "Policy<AWS.SQS.QueueEventSourcePolicy>", (queue: Queue, props: QueueEventSourceProps) => Effect.Effect<void>>;
|
|
10
10
|
export declare class QueueEventSourcePolicy extends QueueEventSourcePolicy_base {
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/QueueEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,KAAK,qBAAqB,EAE3B,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAM,CAAC,QAGZ,CAAC;AAE7C,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"QueueEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/QueueEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,KAAK,qBAAqB,EAE3B,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAM,CAAC,QAGZ,CAAC;AAE7C,eAAO,MAAM,gBAAgB,6vBA8B5B,CAAC;oIAIQ,KAAK,SAAS,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAFrE,qBAAa,sBAAuB,SAAQ,2BAGP;CAAG;AAExC,eAAO,MAAM,0BAA0B,mDAsCtC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import * as Binding from "../../Binding.ts";
|
|
|
5
5
|
import type { Stream as KinesisStream } from "../Kinesis/Stream.ts";
|
|
6
6
|
import { StreamEventSource as KinesisStreamEventSource, type StreamEventSourceProps } from "../Kinesis/StreamEventSource.ts";
|
|
7
7
|
export declare const isKinesisStreamEvent: (event: any) => event is lambda.KinesisStreamEvent;
|
|
8
|
-
export declare const StreamEventSource: Layer.Layer<KinesisStreamEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../
|
|
8
|
+
export declare const StreamEventSource: Layer.Layer<KinesisStreamEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../index.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../index.ts").Cli | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
9
9
|
declare const StreamEventSourcePolicy_base: Binding.Policy<StreamEventSourcePolicy, "Policy<AWS.Kinesis.StreamEventSource>", (stream: KinesisStream, props: StreamEventSourceProps) => Effect.Effect<void>>;
|
|
10
10
|
export declare class StreamEventSourcePolicy extends StreamEventSourcePolicy_base {
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/StreamEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,iBAAiB,IAAI,wBAAwB,EAE7C,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,oBAAoB,GAC/B,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,kBAG6B,CAAC;AAEjD,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"StreamEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/StreamEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,iBAAiB,IAAI,wBAAwB,EAE7C,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,oBAAoB,GAC/B,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,kBAG6B,CAAC;AAEjD,eAAO,MAAM,iBAAiB,kwBAsC7B,CAAC;sIAIS,aAAa,SAAS,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAF/E,qBAAa,uBAAwB,SAAQ,4BAGT;CAAG;AAEvC,eAAO,MAAM,2BAA2B,oDAuDvC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import * as Binding from "../../Binding.ts";
|
|
|
5
5
|
import { TableEventSource as DynamoDBTableEventSource, type StreamsProps } from "../DynamoDB/Stream.ts";
|
|
6
6
|
import type { Table } from "../DynamoDB/Table.ts";
|
|
7
7
|
export declare const isDynamoDBStreamEvent: (event: any) => event is lambda.DynamoDBStreamEvent;
|
|
8
|
-
export declare const TableEventSource: Layer.Layer<DynamoDBTableEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../
|
|
8
|
+
export declare const TableEventSource: Layer.Layer<DynamoDBTableEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../index.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../index.ts").Cli | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
9
9
|
declare const TableEventSourcePolicy_base: Binding.Policy<TableEventSourcePolicy, "Policy<AWS.DynamoDB.TableEventSource>", (table: Table, props: StreamsProps) => Effect.Effect<void>>;
|
|
10
10
|
export declare class TableEventSourcePolicy extends TableEventSourcePolicy_base {
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/TableEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,gBAAgB,IAAI,wBAAwB,EAE5C,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,eAAO,MAAM,qBAAqB,GAChC,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,mBAG8B,CAAC;AAElD,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TableEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/TableEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,gBAAgB,IAAI,wBAAwB,EAE5C,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,eAAO,MAAM,qBAAqB,GAChC,OAAO,GAAG,KACT,KAAK,IAAI,MAAM,CAAC,mBAG8B,CAAC;AAElD,eAAO,MAAM,gBAAgB,kwBAuC5B,CAAC;mIAIQ,KAAK,SAAS,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAF5D,qBAAa,sBAAuB,SAAQ,2BAGR;CAAG;AAEvC,eAAO,MAAM,0BAA0B,mDAqFtC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import * as Binding from "../../Binding.ts";
|
|
|
5
5
|
import type { Topic } from "../SNS/Topic.ts";
|
|
6
6
|
import { TopicEventSource as SNSTopicEventSource, type TopicEventSourceProps } from "../SNS/TopicEventSource.ts";
|
|
7
7
|
export declare const isSNSEvent: (event: any) => event is lambda.SNSEvent;
|
|
8
|
-
export declare const TopicEventSource: Layer.Layer<SNSTopicEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../
|
|
8
|
+
export declare const TopicEventSource: Layer.Layer<SNSTopicEventSource, never, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | import("../../index.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../index.ts").Cli | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
9
9
|
declare const TopicEventSourcePolicy_base: Binding.Policy<TopicEventSourcePolicy, "Policy<AWS.SNS.TopicEventSource>", (topic: Topic, props?: TopicEventSourceProps) => Effect.Effect<void>>;
|
|
10
10
|
export declare class TopicEventSourcePolicy extends TopicEventSourcePolicy_base {
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopicEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/TopicEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,KAAK,qBAAqB,EAG3B,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAM,CAAC,QAEe,CAAC;AAExE,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TopicEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/TopicEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,KAAK,qBAAqB,EAG3B,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAM,CAAC,QAEe,CAAC;AAExE,eAAO,MAAM,gBAAgB,6vBAwC5B,CAAC;8HAIQ,KAAK,UAAU,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAFtE,qBAAa,sBAAuB,SAAQ,2BAGb;CAAG;AAElC,eAAO,MAAM,0BAA0B,mDAqCtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"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"}
|
package/lib/Auth/AuthProvider.js
CHANGED
|
@@ -2,6 +2,16 @@ import * as Context from "effect/Context";
|
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import * as Layer from "effect/Layer";
|
|
4
4
|
import * as Schema from "effect/Schema";
|
|
5
|
+
import { withLock } from "./Lock.js";
|
|
6
|
+
/**
|
|
7
|
+
* Methods on an {@link AuthProviderImpl} that mutate (or could trigger
|
|
8
|
+
* mutation of) on-disk credentials. The factory wraps these in a
|
|
9
|
+
* cross-process file lock keyed by `(profileName, providerName)` so that
|
|
10
|
+
* concurrent processes never refresh / write credentials simultaneously.
|
|
11
|
+
*
|
|
12
|
+
* `prettyPrint` is intentionally excluded: it's read-only display.
|
|
13
|
+
*/
|
|
14
|
+
const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
|
|
5
15
|
export class AuthError extends Schema.TaggedErrorClass()("AuthError", {
|
|
6
16
|
message: Schema.String,
|
|
7
17
|
cause: Schema.optional(Schema.Defect),
|
|
@@ -18,9 +28,16 @@ export const AuthProvider = () => (name, impl) => Effect.gen(function* () {
|
|
|
18
28
|
return yield* Effect.sync(() => (providers[name] = {
|
|
19
29
|
kind: "AuthProvider",
|
|
20
30
|
name,
|
|
21
|
-
...Object.fromEntries(Object.entries(service).map(([
|
|
22
|
-
|
|
23
|
-
(...args) =>
|
|
31
|
+
...Object.fromEntries(Object.entries(service).map(([methodName, fn]) => [
|
|
32
|
+
methodName,
|
|
33
|
+
(...args) => {
|
|
34
|
+
const eff = fn(...args).pipe(Effect.provideContext(ctx));
|
|
35
|
+
if (!LOCKED_METHODS.has(methodName))
|
|
36
|
+
return eff;
|
|
37
|
+
// First positional arg is always `profileName`.
|
|
38
|
+
const profileName = args[0];
|
|
39
|
+
return withLock(`${profileName}-${name}`, eff);
|
|
40
|
+
},
|
|
24
41
|
])),
|
|
25
42
|
}));
|
|
26
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzE,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,gBAAgB,EAAa,CACjE,WAAW,EACX;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAK/C,CAAC,eAAe,CAAC;CAAG;AAkEvB,MAAM,CAAC,MAAM,YAAY,GACvB,GAAmD,EAAE,CACrD,CAQE,IAAY,EACZ,IAsBK,EACL,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,GAAG,EAAE,CACH,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;QACjB,IAAI,EAAE,cAAc;QACpB,IAAI;QACJ,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,UAAU;YACV,CAAC,GAAG,IAA2B,EAAE,EAAE;gBACjC,MAAM,GAAG,GAAI,EAAU,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CACnC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAC3B,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;oBAAE,OAAO,GAAG,CAAC;gBAChD,gDAAgD;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;gBACtC,OAAO,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;SACF,CAAC,CACH;KACmC,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEP;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,GAAmD,EAAE,CACrD,CAQE,IAAY,EACZ,IAsBK,EACL,EAAE,CACF,KAAK,CAAC,aAAa,CACjB,YAAY,EAAuB,CAOjC,IAAI,EAAE,IAAI,CAAC,CACd,CAAC;AAEN;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAI7B,IAAY,EACgE,EAAE,CAC9E,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CACpD,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI;IACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,SAAS,CAAC;QACZ,OAAO,EAAE,iBAAiB,IAAI,6DAA6D;KAC5F,CAAC,CACH;IACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC,CAAC,CACxE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
/**
|
|
3
|
+
* Serialise execution of `effect` so no two callers ever run inside the
|
|
4
|
+
* critical section concurrently for the same `key`, both within this
|
|
5
|
+
* process and across other processes on the same machine.
|
|
6
|
+
*
|
|
7
|
+
* Uses `proper-lockfile` for both: it tracks in-process holders by path
|
|
8
|
+
* (so same-process callers wait via `retries`) and uses an OS file lock
|
|
9
|
+
* for cross-process coordination, with stale-lock detection at 60s.
|
|
10
|
+
*/
|
|
11
|
+
export declare const withLock: <A, E, R>(key: string, effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
12
|
+
//# sourceMappingURL=Lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lock.d.ts","sourceRoot":"","sources":["../../src/Auth/Lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,KAAK,MAAM,EACX,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAcvB,CAAC"}
|
package/lib/Auth/Lock.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as fs from "node:fs/promises";
|
|
3
|
+
import * as path from "pathe";
|
|
4
|
+
import lockfile from "proper-lockfile";
|
|
5
|
+
import { rootDir } from "./Profile.js";
|
|
6
|
+
const lockDir = path.join(rootDir, "lock");
|
|
7
|
+
/**
|
|
8
|
+
* Serialise execution of `effect` so no two callers ever run inside the
|
|
9
|
+
* critical section concurrently for the same `key`, both within this
|
|
10
|
+
* process and across other processes on the same machine.
|
|
11
|
+
*
|
|
12
|
+
* Uses `proper-lockfile` for both: it tracks in-process holders by path
|
|
13
|
+
* (so same-process callers wait via `retries`) and uses an OS file lock
|
|
14
|
+
* for cross-process coordination, with stale-lock detection at 60s.
|
|
15
|
+
*/
|
|
16
|
+
export const withLock = (key, effect) => {
|
|
17
|
+
const lockPath = path.join(lockDir, `${key}.lock`);
|
|
18
|
+
return Effect.acquireUseRelease(Effect.promise(async () => {
|
|
19
|
+
await fs.mkdir(lockDir, { recursive: true });
|
|
20
|
+
await fs.writeFile(lockPath, "", { flag: "a" });
|
|
21
|
+
return await lockfile.lock(lockPath, {
|
|
22
|
+
retries: { retries: 600, minTimeout: 50, maxTimeout: 50 },
|
|
23
|
+
stale: 5_000,
|
|
24
|
+
});
|
|
25
|
+
}), () => effect, (release) => Effect.promise(() => release().catch(() => { })));
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=Lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../src/Auth/Lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,OAAO,CAAC;AAC9B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,GAAW,EACX,MAA8B,EACN,EAAE;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,iBAAiB,CAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACzD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,CAAC,EACF,GAAG,EAAE,CAAC,MAAM,EACZ,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -44,5 +44,5 @@ export declare const AXIOM_AUTH_PROVIDER_NAME = "Axiom";
|
|
|
44
44
|
* {@link AuthProviders} registry when built. Include this in the Axiom
|
|
45
45
|
* `providers()` layer so `alchemy login` can discover it.
|
|
46
46
|
*/
|
|
47
|
-
export declare const AxiomAuth: import("effect/Layer").Layer<never, never, import("../
|
|
47
|
+
export declare const AxiomAuth: import("effect/Layer").Layer<never, never, import("../index.ts").AuthProviders>;
|
|
48
48
|
//# sourceMappingURL=AuthProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/Axiom/AuthProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAmC5C,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,UAAU,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,CAAC;AAEN,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/Axiom/AuthProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAmC5C,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,UAAU,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,CAAC;AAEN,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,SAAS,iFASpB,CAAC"}
|
|
@@ -8,5 +8,5 @@ export { Credentials, CredentialsFromEnv, DEFAULT_API_BASE_URL, } from "@distill
|
|
|
8
8
|
* AuthProvider using the configured profile (defaults to "default", overridable
|
|
9
9
|
* with the `ALCHEMY_PROFILE` env/config value).
|
|
10
10
|
*/
|
|
11
|
-
export declare const fromAuthProvider: () => Layer.Layer<Credentials, Config.ConfigError | import("../Auth/AuthProvider.ts").AuthError | ConfigError, import("effect/FileSystem").FileSystem | import("../
|
|
11
|
+
export declare const fromAuthProvider: () => Layer.Layer<Credentials, Config.ConfigError | import("../Auth/AuthProvider.ts").AuthError | ConfigError, import("effect/FileSystem").FileSystem | import("../index.ts").AuthProviders>;
|
|
12
12
|
//# sourceMappingURL=Credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Credentials.d.ts","sourceRoot":"","sources":["../../src/Axiom/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAUtC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Credentials.d.ts","sourceRoot":"","sources":["../../src/Axiom/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAUtC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,8LAwC1B,CAAC"}
|
package/lib/Bundle/Bundle.d.ts
CHANGED
|
@@ -73,12 +73,12 @@ export declare const build: (inputOptions: rolldown.InputOptions, outputOptions?
|
|
|
73
73
|
export declare const watch: (inputOptions: rolldown.InputOptions, outputOptions?: rolldown.OutputOptions, extra?: BundleExtraOptions) => Stream.Stream<BundleWatchEvent>;
|
|
74
74
|
export declare const virtualEntryPlugin: Effect.Effect<(content: (importPath: string) => string) => {
|
|
75
75
|
name: string;
|
|
76
|
-
options(this: rolldown.MinimalPluginContext, inputOptions: rolldown.InputOptions):
|
|
76
|
+
options(this: rolldown.MinimalPluginContext, inputOptions: rolldown.InputOptions): undefined;
|
|
77
77
|
resolveId: {
|
|
78
78
|
filter: {
|
|
79
79
|
id: RegExp;
|
|
80
80
|
};
|
|
81
|
-
handler(
|
|
81
|
+
handler(): {
|
|
82
82
|
id: string;
|
|
83
83
|
};
|
|
84
84
|
};
|
|
@@ -86,7 +86,7 @@ export declare const virtualEntryPlugin: Effect.Effect<(content: (importPath: st
|
|
|
86
86
|
filter: {
|
|
87
87
|
id: RegExp;
|
|
88
88
|
};
|
|
89
|
-
handler(
|
|
89
|
+
handler(): {
|
|
90
90
|
code: string;
|
|
91
91
|
moduleType: "ts";
|
|
92
92
|
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as Config from "effect/Config";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Option from "effect/Option";
|
|
4
|
+
import * as Path from "effect/Path";
|
|
5
|
+
import * as Argument from "effect/unstable/cli/Argument";
|
|
6
|
+
import * as Flag from "effect/unstable/cli/Flag";
|
|
7
|
+
import type * as Stack from "../../Stack";
|
|
8
|
+
export declare const USER: Config.Config<string>;
|
|
9
|
+
export declare const STAGE: Effect.Effect<string | undefined, Config.ConfigError, never>;
|
|
10
|
+
/**
|
|
11
|
+
* Catches user cancellations (Ctrl+C inside a prompt, surfaced as
|
|
12
|
+
* {@link PromptCancelled} or wrapped in an {@link AuthError}) and exits
|
|
13
|
+
* the CLI cleanly with a friendly message instead of dumping a stack
|
|
14
|
+
* trace.
|
|
15
|
+
*/
|
|
16
|
+
export declare const handleCancellation: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void | A, E, R>;
|
|
17
|
+
export declare const stage: Flag.Flag<string>;
|
|
18
|
+
export declare const envFile: Flag.Flag<Option.Option<string>>;
|
|
19
|
+
export declare const dryRun: Flag.Flag<boolean>;
|
|
20
|
+
export declare const yes: Flag.Flag<boolean>;
|
|
21
|
+
export declare const force: Flag.Flag<boolean>;
|
|
22
|
+
export declare const script: Argument.Argument<string>;
|
|
23
|
+
export declare const profile: Flag.Flag<string>;
|
|
24
|
+
export declare const resourceFilter: Flag.Flag<string | undefined>;
|
|
25
|
+
export declare const TAIL_COLORS: string[];
|
|
26
|
+
export declare const TAIL_RESET = "\u001B[0m";
|
|
27
|
+
export declare const formatLocalTimestamp: (date: Date) => string;
|
|
28
|
+
export declare const parseResourceFilter: (filter: string | undefined) => ReadonlySet<string> | undefined;
|
|
29
|
+
export declare const parseSince: (value: string) => Date;
|
|
30
|
+
/**
|
|
31
|
+
* Wraps a CLI command handler with a top-level OpenTelemetry span
|
|
32
|
+
* (`cli.<command>`) and bumps the `alchemy.cli.invocations` counter.
|
|
33
|
+
*
|
|
34
|
+
* `attrs` runs against the parsed command args and contributes
|
|
35
|
+
* additional attributes to the span (e.g. stage, profile, dry-run flag).
|
|
36
|
+
*
|
|
37
|
+
* Usage:
|
|
38
|
+
* ```ts
|
|
39
|
+
* Command.make(
|
|
40
|
+
* "deploy",
|
|
41
|
+
* { ...flags },
|
|
42
|
+
* instrumentCommand("deploy", (a) => ({
|
|
43
|
+
* "alchemy.stage": a.stage,
|
|
44
|
+
* "alchemy.profile": a.profile,
|
|
45
|
+
* }))(execStack),
|
|
46
|
+
* );
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare const instrumentCommand: <AttrsArgs = unknown>(command: string, attrs?: (args: AttrsArgs) => Record<string, unknown>) => <Args extends AttrsArgs, A, E, R>(handler: (args: Args) => Effect.Effect<A, E, R>) => ((args: Args) => Effect.Effect<A, E, R>);
|
|
50
|
+
export declare const importStack: (main: string) => Effect.Effect<Effect.Effect<Stack.CompiledStack<unknown, unknown>, unknown, import("../..").AlchemyContext | Path.Path | import("effect/FileSystem").FileSystem | import("effect/Scope").Scope | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/unstable/http/HttpClient").HttpClient | import("../..").AuthProviders | import("../..").Stage | import("../Cli").Cli>, never, Path.Path>;
|
|
51
|
+
//# sourceMappingURL=_shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/_shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AAGjD,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAI1C,eAAO,MAAM,IAAI,uBAGhB,CAAC;AAEF,eAAO,MAAM,KAAK,8DAIjB,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kCAerE,CAAC;AAEJ,eAAO,MAAM,KAAK,mBA6BjB,CAAC;AAEF,eAAO,MAAM,OAAO,kCAKnB,CAAC;AAEF,eAAO,MAAM,MAAM,oBAGlB,CAAC;AAEF,eAAO,MAAM,GAAG,oBAGf,CAAC;AAEF,eAAO,MAAM,KAAK,oBAKjB,CAAC;AAEF,eAAO,MAAM,MAAM,2BAKlB,CAAC;AAEF,eAAO,MAAM,OAAO,mBAMnB,CAAC;AAEF,eAAO,MAAM,cAAc,+BAM1B,CAAC;AAEF,eAAO,MAAM,WAAW,UAWvB,CAAC;AACF,eAAO,MAAM,UAAU,cAAY,CAAC;AAEpC,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,KAAG,MAajD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,GAAG,SAAS,KACzB,WAAW,CAAC,MAAM,CAAC,GAAG,SAQxB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,IAsB1C,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,SAAS,GAAG,OAAO,EAClB,SAAS,MAAM,EACf,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAErD,IAAI,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC9C,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAOvC,CAAC;AAEN,eAAO,MAAM,WAAW,wbAgBtB,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import * as Cause from "effect/Cause";
|
|
10
|
+
import * as Config from "effect/Config";
|
|
11
|
+
import * as Console from "effect/Console";
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as Option from "effect/Option";
|
|
14
|
+
import * as Path from "effect/Path";
|
|
15
|
+
import * as S from "effect/Schema";
|
|
16
|
+
import * as Argument from "effect/unstable/cli/Argument";
|
|
17
|
+
import * as CliError from "effect/unstable/cli/CliError";
|
|
18
|
+
import * as Flag from "effect/unstable/cli/Flag";
|
|
19
|
+
import { AuthError } from "../../Auth/AuthProvider";
|
|
20
|
+
import { recordCli } from "../../Telemetry/Metrics";
|
|
21
|
+
import { PromptCancelled } from "../../Util/Clank";
|
|
22
|
+
export const USER = Config.string("USER").pipe(Config.orElse(() => Config.string("USERNAME")), Config.withDefault("unknown"));
|
|
23
|
+
export const STAGE = Config.string("stage").pipe(Config.option, (a) => a.asEffect(), Effect.map(Option.getOrUndefined));
|
|
24
|
+
/**
|
|
25
|
+
* `true` if `e` is a {@link PromptCancelled}, or an {@link AuthError} whose
|
|
26
|
+
* `cause` chain bottoms out in one. Schema-tagged errors don't always
|
|
27
|
+
* survive `instanceof` across module boundaries, so we also accept any
|
|
28
|
+
* object whose `_tag` matches.
|
|
29
|
+
*/
|
|
30
|
+
const isPromptCancellation = (e) => {
|
|
31
|
+
for (let cur = e, i = 0; cur != null && i < 16; i++) {
|
|
32
|
+
if (cur instanceof PromptCancelled)
|
|
33
|
+
return true;
|
|
34
|
+
if (typeof cur === "object" &&
|
|
35
|
+
cur._tag === "PromptCancelled") {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (cur instanceof AuthError ||
|
|
39
|
+
(typeof cur === "object" &&
|
|
40
|
+
cur._tag === "AuthError")) {
|
|
41
|
+
cur = cur.cause;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Catches user cancellations (Ctrl+C inside a prompt, surfaced as
|
|
50
|
+
* {@link PromptCancelled} or wrapped in an {@link AuthError}) and exits
|
|
51
|
+
* the CLI cleanly with a friendly message instead of dumping a stack
|
|
52
|
+
* trace.
|
|
53
|
+
*/
|
|
54
|
+
export const handleCancellation = (self) => self.pipe(Effect.catchCause((cause) => {
|
|
55
|
+
const cancelled = cause.reasons.some((r) => {
|
|
56
|
+
if (Cause.isFailReason(r))
|
|
57
|
+
return isPromptCancellation(r.error);
|
|
58
|
+
if (Cause.isDieReason(r))
|
|
59
|
+
return isPromptCancellation(r.defect);
|
|
60
|
+
return false;
|
|
61
|
+
});
|
|
62
|
+
return cancelled
|
|
63
|
+
? Console.log("\nCancelled.")
|
|
64
|
+
: Effect.failCause(cause);
|
|
65
|
+
}),
|
|
66
|
+
// A bare fiber interrupt (Ctrl+C while not inside a prompt) shouldn't
|
|
67
|
+
// dump a stack trace either.
|
|
68
|
+
Effect.onInterrupt(() => Console.log("\nInterrupted.")));
|
|
69
|
+
export const stage = Flag.string("stage").pipe(Flag.withSchema(S.String.check(S.isPattern(/^[a-z0-9]+([-_a-z0-9]+)*$/gi))), Flag.withDescription("Stage to deploy to, defaults to dev_${USER}"), Flag.optional, Flag.map(Option.getOrUndefined), Flag.mapEffect(Effect.fn(function* (stage) {
|
|
70
|
+
if (stage) {
|
|
71
|
+
return stage;
|
|
72
|
+
}
|
|
73
|
+
return yield* STAGE.pipe(Effect.catch(() => Effect.fail(new CliError.MissingOption({
|
|
74
|
+
option: "stage",
|
|
75
|
+
}))), Effect.flatMap((s) => s === undefined
|
|
76
|
+
? USER.asEffect().pipe(Effect.map((user) => `dev_${user}`), Effect.catch(() => Effect.succeed("unknown")))
|
|
77
|
+
: Effect.succeed(s)));
|
|
78
|
+
})));
|
|
79
|
+
export const envFile = Flag.file("env-file").pipe(Flag.optional, Flag.withDescription("File to load environment variables from, defaults to .env"));
|
|
80
|
+
export const dryRun = Flag.boolean("dry-run").pipe(Flag.withDescription("Dry run the deployment, do not actually deploy"), Flag.withDefault(false));
|
|
81
|
+
export const yes = Flag.boolean("yes").pipe(Flag.withDescription("Yes to all prompts"), Flag.withDefault(false));
|
|
82
|
+
export const force = Flag.boolean("force").pipe(Flag.withDescription("Force updates for resources that would otherwise no-op"), Flag.withDefault(false));
|
|
83
|
+
export const script = Argument.file("main", {
|
|
84
|
+
mustExist: true,
|
|
85
|
+
}).pipe(Argument.withDescription("Main file to deploy, defaults to alchemy.run.ts"), Argument.withDefault("alchemy.run.ts"));
|
|
86
|
+
export const profile = Flag.string("profile").pipe(Flag.withDescription("Auth profile to use (~/.alchemy/profiles.json). Defaults to 'default' or $ALCHEMY_PROFILE."), Flag.optional, Flag.map(Option.getOrElse(() => "default")));
|
|
87
|
+
export const resourceFilter = Flag.string("filter").pipe(Flag.withDescription("Comma-separated logical resource IDs (e.g. Api,Sandbox). Only those resources are included."), Flag.optional, Flag.map(Option.getOrUndefined));
|
|
88
|
+
export const TAIL_COLORS = [
|
|
89
|
+
"\x1b[36m", // cyan
|
|
90
|
+
"\x1b[35m", // magenta
|
|
91
|
+
"\x1b[33m", // yellow
|
|
92
|
+
"\x1b[32m", // green
|
|
93
|
+
"\x1b[34m", // blue
|
|
94
|
+
"\x1b[91m", // bright red
|
|
95
|
+
"\x1b[96m", // bright cyan
|
|
96
|
+
"\x1b[95m", // bright magenta
|
|
97
|
+
"\x1b[93m", // bright yellow
|
|
98
|
+
"\x1b[92m", // bright green
|
|
99
|
+
];
|
|
100
|
+
export const TAIL_RESET = "\x1b[0m";
|
|
101
|
+
export const formatLocalTimestamp = (date) => {
|
|
102
|
+
const y = date.getFullYear();
|
|
103
|
+
const mo = String(date.getMonth() + 1).padStart(2, "0");
|
|
104
|
+
const d = String(date.getDate()).padStart(2, "0");
|
|
105
|
+
const h = String(date.getHours()).padStart(2, "0");
|
|
106
|
+
const mi = String(date.getMinutes()).padStart(2, "0");
|
|
107
|
+
const s = String(date.getSeconds()).padStart(2, "0");
|
|
108
|
+
const ms = String(date.getMilliseconds()).padStart(3, "0");
|
|
109
|
+
const tz = new Intl.DateTimeFormat("en-US", { timeZoneName: "short" })
|
|
110
|
+
.formatToParts(date)
|
|
111
|
+
.find((p) => p.type === "timeZoneName")?.value ?? "";
|
|
112
|
+
return `${y}-${mo}-${d} ${h}:${mi}:${s}.${ms} ${tz}`;
|
|
113
|
+
};
|
|
114
|
+
export const parseResourceFilter = (filter) => {
|
|
115
|
+
if (filter === undefined)
|
|
116
|
+
return undefined;
|
|
117
|
+
const ids = filter
|
|
118
|
+
.split(",")
|
|
119
|
+
.map((s) => s.trim())
|
|
120
|
+
.filter((s) => s.length > 0);
|
|
121
|
+
if (ids.length === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
return new Set(ids);
|
|
124
|
+
};
|
|
125
|
+
export const parseSince = (value) => {
|
|
126
|
+
const match = value.match(/^(\d+)([smhd])$/);
|
|
127
|
+
if (match) {
|
|
128
|
+
const num = parseInt(match[1], 10);
|
|
129
|
+
const unit = match[2];
|
|
130
|
+
const ms = unit === "s"
|
|
131
|
+
? num * 1000
|
|
132
|
+
: unit === "m"
|
|
133
|
+
? num * 60_000
|
|
134
|
+
: unit === "h"
|
|
135
|
+
? num * 3_600_000
|
|
136
|
+
: num * 86_400_000;
|
|
137
|
+
return new Date(Date.now() - ms);
|
|
138
|
+
}
|
|
139
|
+
const parsed = new Date(value);
|
|
140
|
+
if (isNaN(parsed.getTime())) {
|
|
141
|
+
throw new Error(`Invalid --since value: '${value}'. Use a duration (e.g. '1h', '30m') or ISO date.`);
|
|
142
|
+
}
|
|
143
|
+
return parsed;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Wraps a CLI command handler with a top-level OpenTelemetry span
|
|
147
|
+
* (`cli.<command>`) and bumps the `alchemy.cli.invocations` counter.
|
|
148
|
+
*
|
|
149
|
+
* `attrs` runs against the parsed command args and contributes
|
|
150
|
+
* additional attributes to the span (e.g. stage, profile, dry-run flag).
|
|
151
|
+
*
|
|
152
|
+
* Usage:
|
|
153
|
+
* ```ts
|
|
154
|
+
* Command.make(
|
|
155
|
+
* "deploy",
|
|
156
|
+
* { ...flags },
|
|
157
|
+
* instrumentCommand("deploy", (a) => ({
|
|
158
|
+
* "alchemy.stage": a.stage,
|
|
159
|
+
* "alchemy.profile": a.profile,
|
|
160
|
+
* }))(execStack),
|
|
161
|
+
* );
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export const instrumentCommand = (command, attrs) => (handler) => (args) => handler(args).pipe(Effect.withSpan(`cli.${command}`, {
|
|
165
|
+
attributes: attrs ? attrs(args) : {},
|
|
166
|
+
}), recordCli(command));
|
|
167
|
+
export const importStack = Effect.fn(function* (main) {
|
|
168
|
+
const path = yield* Path.Path;
|
|
169
|
+
const module = yield* Effect.promise(() => import(__rewriteRelativeImportExtension(path.resolve(process.cwd(), main))));
|
|
170
|
+
const stackEffect = module.default;
|
|
171
|
+
if (!Effect.isEffect(stackEffect)) {
|
|
172
|
+
return yield* Effect.die(new Error(`Main file '${main}' must export a default stack definition (export default Alchemy.Stack({...}))`));
|
|
173
|
+
}
|
|
174
|
+
return stackEffect;
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=_shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/Cli/commands/_shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FileSystem } from "effect/FileSystem";
|
|
2
|
+
import { Path } from "effect/Path";
|
|
3
|
+
import * as Command from "effect/unstable/cli/Command";
|
|
4
|
+
import type { HttpClient } from "effect/unstable/http/HttpClient";
|
|
5
|
+
export declare const bootstrapCommand: Command.Command<"bootstrap", {} | {}, {}, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Config").ConfigError | import("../../Auth/AuthProvider").AuthError | import("../../Stage.ts").Stage | import("../../State/State.ts").StateStoreError | import("../../Output.ts").MissingSourceError | import("../../Output.ts").InvalidReferenceError | import("@distilled.cloud/aws/Errors").UnknownAwsError | import("@distilled.cloud/aws/Errors").AccessDeniedException | import("@distilled.cloud/aws/Errors").ExpiredTokenException | import("@distilled.cloud/aws/Errors").IncompleteSignature | import("@distilled.cloud/aws/Errors").InternalFailure | import("@distilled.cloud/aws/Errors").MalformedHttpRequestException | import("@distilled.cloud/aws/Errors").NotAuthorized | import("@distilled.cloud/aws/Errors").OptInRequired | import("@distilled.cloud/aws/Errors").RequestAbortedException | import("@distilled.cloud/aws/Errors").RequestEntityTooLargeException | import("@distilled.cloud/aws/Errors").RequestExpired | import("@distilled.cloud/aws/Errors").RequestTimeoutException | import("@distilled.cloud/aws/Errors").ServiceUnavailable | import("@distilled.cloud/aws/Errors").ThrottlingException | import("@distilled.cloud/aws/Errors").UnrecognizedClientException | import("@distilled.cloud/aws/Errors").UnknownOperationException | import("@distilled.cloud/aws/Errors").ValidationError | import("@distilled.cloud/aws/Errors").ValidationException | import("@distilled.cloud/aws/Errors").OperationAborted | import("@distilled.cloud/aws/Errors").EndpointError | import("@distilled.cloud/aws/Errors").NoMatchingRuleError | import("@distilled.cloud/aws/Credentials").CredentialsError | import("@distilled.cloud/aws/s3").RequestLimitExceeded | import("@distilled.cloud/aws/s3").RequestError | import("@distilled.cloud/aws/s3").NoSuchBucket | import("@distilled.cloud/aws/s3").PermanentRedirect | import("@distilled.cloud/aws/s3").BucketAlreadyExists | import("@distilled.cloud/aws/s3").IllegalLocationConstraintException | import("@distilled.cloud/aws/s3").InvalidArgument | import("@distilled.cloud/aws/s3").InvalidBucketName | import("@distilled.cloud/aws/s3").InvalidLocationConstraint | import("@distilled.cloud/aws/s3").NotFound | import("@distilled.cloud/aws/s3").ParseError | import("@distilled.cloud/aws/s3").BucketNotEmpty | import("@distilled.cloud/cloudflare/Errors").DefaultErrors | import("@distilled.cloud/cloudflare/workers").InvalidRoute | import("@distilled.cloud/cloudflare/secrets-store").InvalidAccountId, import("../../AlchemyContext.ts").AlchemyContext | Path | FileSystem | HttpClient | import("../Cli.ts").Cli>;
|
|
6
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/bootstrap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAwMlE,eAAO,MAAM,gBAAgB,2kFAE5B,CAAC"}
|