alchemy 2.0.0-beta.14 → 2.0.0-beta.16
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.js +2243 -1359
- package/bin/alchemy.js.map +1 -1
- package/bin/alchemy.ts +4 -0
- package/bin/commands/deploy.ts +0 -1
- package/bin/commands/login.ts +6 -3
- package/bin/commands/profile.ts +86 -0
- package/bin/commands/state.ts +8 -5
- 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/Agent/lsp/client.d.ts +2 -2
- package/lib/Cli/InkCLI.d.ts +0 -1
- package/lib/Cli/InkCLI.d.ts.map +1 -1
- package/lib/Cli/InkCLI.js +0 -5
- package/lib/Cli/InkCLI.js.map +1 -1
- package/lib/Cli/index.d.ts +0 -1
- package/lib/Cli/index.d.ts.map +1 -1
- package/lib/Cli/index.js +4 -1
- package/lib/Cli/index.js.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +57 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +141 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -0
- package/lib/Cloudflare/ApiToken/Common.d.ts +96 -0
- package/lib/Cloudflare/ApiToken/Common.d.ts.map +1 -0
- package/lib/Cloudflare/ApiToken/Common.js +61 -0
- package/lib/Cloudflare/ApiToken/Common.js.map +1 -0
- package/lib/Cloudflare/ApiToken/PermissionGroups.d.ts +1549 -0
- package/lib/Cloudflare/ApiToken/PermissionGroups.d.ts.map +1 -0
- package/lib/Cloudflare/ApiToken/PermissionGroups.js +1856 -0
- package/lib/Cloudflare/ApiToken/PermissionGroups.js.map +1 -0
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +48 -0
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -0
- package/lib/Cloudflare/ApiToken/UserApiToken.js +113 -0
- package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -0
- package/lib/Cloudflare/ApiToken/index.d.ts +5 -0
- package/lib/Cloudflare/ApiToken/index.d.ts.map +1 -0
- package/lib/Cloudflare/ApiToken/index.js +5 -0
- package/lib/Cloudflare/ApiToken/index.js.map +1 -0
- package/lib/Cloudflare/Artifacts/Artifacts.d.ts +101 -0
- package/lib/Cloudflare/Artifacts/Artifacts.d.ts.map +1 -0
- package/lib/Cloudflare/Artifacts/Artifacts.js +92 -0
- package/lib/Cloudflare/Artifacts/Artifacts.js.map +1 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts +83 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts.map +1 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +65 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -0
- package/lib/Cloudflare/Artifacts/index.d.ts +3 -0
- package/lib/Cloudflare/Artifacts/index.d.ts.map +1 -0
- package/lib/Cloudflare/Artifacts/index.js +3 -0
- package/lib/Cloudflare/Artifacts/index.js.map +1 -0
- package/lib/Cloudflare/Auth/AuthProvider.js +2 -2
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerBinding.d.ts +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +6 -1
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +7 -8
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +6 -4
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Store.d.ts +2 -2
- package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Store.js +6 -4
- package/lib/Cloudflare/StateStore/Store.js.map +1 -1
- package/lib/Cloudflare/StateStore/Token.d.ts +6 -4
- package/lib/Cloudflare/StateStore/Token.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Token.js +8 -4
- package/lib/Cloudflare/StateStore/Token.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.js +0 -1
- package/lib/Cloudflare/Workers/InferEnv.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +2 -1
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +25 -18
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/index.d.ts +2 -0
- package/lib/Cloudflare/index.d.ts.map +1 -1
- package/lib/Cloudflare/index.js +2 -0
- package/lib/Cloudflare/index.js.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 +37 -0
- package/lib/GitHub/AuthProvider.d.ts.map +1 -0
- package/lib/GitHub/AuthProvider.js +154 -0
- package/lib/GitHub/AuthProvider.js.map +1 -0
- package/lib/GitHub/Credentials.d.ts +29 -0
- package/lib/GitHub/Credentials.d.ts.map +1 -0
- package/lib/GitHub/Credentials.js +54 -0
- package/lib/GitHub/Credentials.js.map +1 -0
- package/lib/GitHub/Providers.d.ts +14 -0
- package/lib/GitHub/Providers.d.ts.map +1 -0
- package/lib/GitHub/Providers.js +15 -0
- package/lib/GitHub/Providers.js.map +1 -0
- package/lib/GitHub/Secret.d.ts +8 -10
- package/lib/GitHub/Secret.d.ts.map +1 -1
- package/lib/GitHub/Secret.js +16 -14
- package/lib/GitHub/Secret.js.map +1 -1
- package/lib/GitHub/Variable.d.ts +8 -10
- package/lib/GitHub/Variable.d.ts.map +1 -1
- package/lib/GitHub/Variable.js +12 -13
- package/lib/GitHub/Variable.js.map +1 -1
- package/lib/GitHub/index.d.ts +3 -0
- package/lib/GitHub/index.d.ts.map +1 -1
- package/lib/GitHub/index.js +3 -0
- package/lib/GitHub/index.js.map +1 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +4 -0
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +4 -0
- package/lib/Plan.js.map +1 -1
- package/lib/Stack.d.ts +5 -4
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +27 -8
- package/lib/Stack.js.map +1 -1
- package/lib/State/HttpStateStore.js +1 -1
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/Test/Bun.d.ts +2 -2
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +2 -4
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Vitest.d.ts +1 -1
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +11 -7
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/cli/index.d.ts +2 -6
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +2 -43050
- package/lib/cli/index.js.map +1 -1
- package/package.json +5 -5
- package/src/Cli/InkCLI.tsx +0 -10
- package/src/Cli/index.ts +4 -1
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +207 -0
- package/src/Cloudflare/ApiToken/Common.ts +153 -0
- package/src/Cloudflare/ApiToken/PermissionGroups.ts +1910 -0
- package/src/Cloudflare/ApiToken/UserApiToken.ts +166 -0
- package/src/Cloudflare/ApiToken/index.ts +4 -0
- package/src/Cloudflare/Artifacts/Artifacts.ts +139 -0
- package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +188 -0
- package/src/Cloudflare/Artifacts/index.ts +2 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +2 -2
- package/src/Cloudflare/Providers.ts +8 -0
- package/src/Cloudflare/StateStore/Api.ts +6 -4
- package/src/Cloudflare/StateStore/Store.ts +6 -4
- package/src/Cloudflare/StateStore/Token.ts +10 -4
- package/src/Cloudflare/Workers/InferEnv.ts +5 -4
- package/src/Cloudflare/Workers/Worker.ts +12 -1
- package/src/Cloudflare/index.ts +2 -0
- package/src/GitHub/AuthProvider.ts +309 -0
- package/src/GitHub/Credentials.ts +99 -0
- package/src/GitHub/Providers.ts +26 -0
- package/src/GitHub/Secret.ts +22 -24
- package/src/GitHub/Variable.ts +16 -23
- package/src/GitHub/index.ts +3 -0
- package/src/Output.ts +3 -0
- package/src/Plan.ts +3 -0
- package/src/Stack.ts +33 -7
- package/src/State/HttpStateStore.ts +1 -0
- package/src/Test/Bun.ts +2 -2
- package/src/Test/Vitest.ts +11 -7
package/bin/alchemy.ts
CHANGED
|
@@ -6,6 +6,7 @@ import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
|
6
6
|
|
|
7
7
|
import packageJson from "../package.json" with { type: "json" };
|
|
8
8
|
import { AlchemyContextLive } from "../src/AlchemyContext.ts";
|
|
9
|
+
import { inkCLI } from "../src/Cli/InkCLI.tsx";
|
|
9
10
|
import { PlatformServices, runMain } from "../src/Util/PlatformServices.ts";
|
|
10
11
|
|
|
11
12
|
import { handleCancellation } from "./commands/_shared.ts";
|
|
@@ -17,6 +18,7 @@ import {
|
|
|
17
18
|
} from "./commands/deploy.ts";
|
|
18
19
|
import { loginCommand } from "./commands/login.ts";
|
|
19
20
|
import { logsCommand } from "./commands/logs.ts";
|
|
21
|
+
import { profileCommand } from "./commands/profile.ts";
|
|
20
22
|
import { stateCommand } from "./commands/state.ts";
|
|
21
23
|
import { tailCommand } from "./commands/tail.ts";
|
|
22
24
|
|
|
@@ -29,6 +31,7 @@ const root = Command.make("alchemy", {}).pipe(
|
|
|
29
31
|
tailCommand,
|
|
30
32
|
logsCommand,
|
|
31
33
|
loginCommand,
|
|
34
|
+
profileCommand,
|
|
32
35
|
stateCommand,
|
|
33
36
|
]),
|
|
34
37
|
);
|
|
@@ -42,6 +45,7 @@ const services = Layer.mergeAll(
|
|
|
42
45
|
Layer.provideMerge(AlchemyContextLive, PlatformServices),
|
|
43
46
|
FetchHttpClient.layer,
|
|
44
47
|
ConfigProvider.layer(ConfigProvider.fromEnv()),
|
|
48
|
+
inkCLI(),
|
|
45
49
|
);
|
|
46
50
|
|
|
47
51
|
cli.pipe(
|
package/bin/commands/deploy.ts
CHANGED
package/bin/commands/login.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Cause from "effect/Cause";
|
|
1
2
|
import * as Config from "effect/Config";
|
|
2
3
|
import * as ConfigProvider from "effect/ConfigProvider";
|
|
3
4
|
import * as Console from "effect/Console";
|
|
@@ -51,9 +52,11 @@ export const loginCommand = Command.make(
|
|
|
51
52
|
);
|
|
52
53
|
|
|
53
54
|
yield* Effect.gen(function* () {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
yield* Effect.catchCause(stackEffect, (cause) =>
|
|
56
|
+
Console.warn(
|
|
57
|
+
`Ignoring error while building stack for login (likely due to missing or broken credentials):\n${Cause.pretty(cause)}`,
|
|
58
|
+
),
|
|
59
|
+
);
|
|
57
60
|
|
|
58
61
|
const ci = yield* Config.boolean("CI").pipe(Config.withDefault(false));
|
|
59
62
|
const providers = Object.values(authProviders);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as ConfigProvider from "effect/ConfigProvider";
|
|
2
|
+
import * as Console from "effect/Console";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as Logger from "effect/Logger";
|
|
6
|
+
import { Command } from "effect/unstable/cli";
|
|
7
|
+
|
|
8
|
+
import { AuthProviders } from "../../src/Auth/AuthProvider.ts";
|
|
9
|
+
import {
|
|
10
|
+
getProfile,
|
|
11
|
+
readConfig,
|
|
12
|
+
withProfileOverride,
|
|
13
|
+
} from "../../src/Auth/Profile.ts";
|
|
14
|
+
import { AwsAuth } from "../../src/AWS/AuthProvider.ts";
|
|
15
|
+
import { CloudflareAuth } from "../../src/Cloudflare/Auth/AuthProvider.ts";
|
|
16
|
+
import { loadConfigProvider } from "../../src/Util/ConfigProvider.ts";
|
|
17
|
+
import { fileLogger } from "../../src/Util/FileLogger.ts";
|
|
18
|
+
|
|
19
|
+
import { envFile, profile } from "./_shared.ts";
|
|
20
|
+
|
|
21
|
+
const showCommand = Command.make(
|
|
22
|
+
"show",
|
|
23
|
+
{ profile, envFile },
|
|
24
|
+
Effect.fnUntraced(function* ({ profile, envFile }) {
|
|
25
|
+
const stored = yield* getProfile(profile);
|
|
26
|
+
if (stored == null) {
|
|
27
|
+
const config = yield* readConfig;
|
|
28
|
+
const names = Object.keys(config.profiles);
|
|
29
|
+
yield* Console.log(`Profile '${profile}' not found.`);
|
|
30
|
+
if (names.length > 0) {
|
|
31
|
+
yield* Console.log(`Available profiles: ${names.sort().join(", ")}`);
|
|
32
|
+
} else {
|
|
33
|
+
yield* Console.log("No profiles configured. Run `alchemy login`.");
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
yield* Console.log(`Profile: ${profile}`);
|
|
39
|
+
|
|
40
|
+
const providerNames = Object.keys(stored).sort();
|
|
41
|
+
if (providerNames.length === 0) {
|
|
42
|
+
yield* Console.log("(no providers configured)");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const authProviders: AuthProviders["Service"] = {};
|
|
47
|
+
const authRegistry = Layer.succeed(AuthProviders, authProviders);
|
|
48
|
+
const services = Layer.mergeAll(
|
|
49
|
+
authRegistry,
|
|
50
|
+
ConfigProvider.layer(
|
|
51
|
+
withProfileOverride(yield* loadConfigProvider(envFile), profile),
|
|
52
|
+
),
|
|
53
|
+
Logger.layer([fileLogger("out")]),
|
|
54
|
+
// Building these layers triggers their AuthProviderLayer effect, which
|
|
55
|
+
// registers the provider into the shared `authProviders` registry.
|
|
56
|
+
Layer.provide(Layer.mergeAll(CloudflareAuth, AwsAuth), authRegistry),
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
yield* Effect.gen(function* () {
|
|
60
|
+
for (const name of providerNames) {
|
|
61
|
+
const cfg = stored[name]!;
|
|
62
|
+
yield* Console.log("");
|
|
63
|
+
yield* Console.log(`── ${name} ──`);
|
|
64
|
+
const provider = authProviders[name];
|
|
65
|
+
if (provider == null) {
|
|
66
|
+
// Unknown provider — fall back to a JSON dump so the user can still
|
|
67
|
+
// see what's stored even if its module isn't bundled into the CLI.
|
|
68
|
+
yield* Console.log(`method: ${cfg.method}`);
|
|
69
|
+
const { method: _method, ...rest } = cfg as Record<string, unknown> &
|
|
70
|
+
{ method: string };
|
|
71
|
+
for (const [k, v] of Object.entries(rest)) {
|
|
72
|
+
yield* Console.log(
|
|
73
|
+
`${k}: ${typeof v === "string" ? v : JSON.stringify(v)}`,
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
yield* provider.prettyPrint(profile, cfg);
|
|
79
|
+
}
|
|
80
|
+
}).pipe(Effect.provide(services));
|
|
81
|
+
}),
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
export const profileCommand = Command.make("profile", {}).pipe(
|
|
85
|
+
Command.withSubcommands([showCommand]),
|
|
86
|
+
);
|
package/bin/commands/state.ts
CHANGED
|
@@ -23,7 +23,9 @@ import { envFile, importStack, main, profile, stage } from "./_shared.ts";
|
|
|
23
23
|
* bootstrap.
|
|
24
24
|
*/
|
|
25
25
|
const localFlag = Flag.boolean("local").pipe(
|
|
26
|
-
Flag.withDescription(
|
|
26
|
+
Flag.withDescription(
|
|
27
|
+
"Read from local .alchemy/state instead of the stack's configured state store",
|
|
28
|
+
),
|
|
27
29
|
Flag.withDefault(false),
|
|
28
30
|
);
|
|
29
31
|
|
|
@@ -62,7 +64,10 @@ const withStateService = <A, E>(
|
|
|
62
64
|
const services = Layer.mergeAll(
|
|
63
65
|
Layer.succeed(AuthProviders, {}),
|
|
64
66
|
ConfigProvider.layer(
|
|
65
|
-
withProfileOverride(
|
|
67
|
+
withProfileOverride(
|
|
68
|
+
yield* loadConfigProvider(args.envFile),
|
|
69
|
+
args.profile,
|
|
70
|
+
),
|
|
66
71
|
),
|
|
67
72
|
Logger.layer([fileLogger("out")]),
|
|
68
73
|
Layer.succeed(Stage, args.stage),
|
|
@@ -171,9 +176,7 @@ const getCommand = Command.make(
|
|
|
171
176
|
fqn,
|
|
172
177
|
});
|
|
173
178
|
if (value === undefined) {
|
|
174
|
-
yield* Console.log(
|
|
175
|
-
`(not found: ${stackName}/${stageName}/${fqn})`,
|
|
176
|
-
);
|
|
179
|
+
yield* Console.log(`(not found: ${stackName}/${stageName}/${fqn})`);
|
|
177
180
|
return;
|
|
178
181
|
}
|
|
179
182
|
// encodeState produces a JSON-friendly view: redacted secrets
|
|
@@ -22,7 +22,7 @@ import type { S3EventType } from "../S3/S3Event.ts";
|
|
|
22
22
|
* );
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
export declare const BucketEventSource: Layer.Layer<S3BucketEventSource, 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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
25
|
+
export declare const BucketEventSource: Layer.Layer<S3BucketEventSource, 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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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>;
|
|
26
26
|
declare const BucketEventSourcePolicy_base: Binding.Policy<BucketEventSourcePolicy, "Policy<AWS.S3.BucketEventSource>", (bucket: Bucket, props?: NotificationsProps<S3EventType[]>) => Effect.Effect<void>>;
|
|
27
27
|
/**
|
|
28
28
|
* Deploy-time policy for attaching an S3 bucket as a Lambda event source.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BucketEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/BucketEventSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EAEzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BucketEventSource.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/BucketEventSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EAEzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,2wBAqD7B,CAAC;iIAYU,MAAM,UACN,kBAAkB,CAAC,WAAW,EAAE,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAR1B;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,4BAMd;CAAG;AAElC,eAAO,MAAM,2BAA2B,oDAuCvC,CAAC"}
|
|
@@ -93,7 +93,7 @@ export declare const isEventBridgeEvent: (event: any) => event is lambda.EventBr
|
|
|
93
93
|
* );
|
|
94
94
|
* ```
|
|
95
95
|
*/
|
|
96
|
-
export declare const EventSource: Layer.Layer<EventBridgeEventSource, 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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
96
|
+
export declare const EventSource: Layer.Layer<EventBridgeEventSource, 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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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>;
|
|
97
97
|
declare const EventSourcePolicy_base: Binding.Policy<EventSourcePolicy, "Policy<AWS.EventBridge.EventSource>", (descriptor: Parameters<EventSourceService>[0]) => Effect.Effect<void, never, any>>;
|
|
98
98
|
/**
|
|
99
99
|
* Deploy-time policy/service bridge for EventBridge subscriptions.
|
|
@@ -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,8wBAqCvB,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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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,2wBA8B5B,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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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,gxBAsC7B,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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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,gxBAuC5B,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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Binding.PolicyLike | import("../../Provider.ts").Provider<any> | import("../../Provider.ts").ProviderCollectionLike | import("@distilled.cloud/aws/Region").Region | import("@distilled.cloud/aws/Credentials").Credentials>;
|
|
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("../../Auth/AuthProvider.ts").AuthProviders | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("../../Cli/Cli.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,2wBAwC5B,CAAC;8HAIQ,KAAK,UAAU,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAFtE,qBAAa,sBAAuB,SAAQ,2BAGb;CAAG;AAElC,eAAO,MAAM,0BAA0B,mDAqCtC,CAAC"}
|
|
@@ -96,9 +96,9 @@ export declare const makeLSPClient: (id: string, proc: Subprocess, root: string)
|
|
|
96
96
|
readonly character: number;
|
|
97
97
|
};
|
|
98
98
|
};
|
|
99
|
-
readonly source?: string | undefined;
|
|
100
99
|
readonly code?: string | number | undefined;
|
|
101
100
|
readonly severity?: number | undefined;
|
|
101
|
+
readonly source?: string | undefined;
|
|
102
102
|
}[], never, never>;
|
|
103
103
|
getDiagnostics: (path: string) => Effect.Effect<never[] | {
|
|
104
104
|
readonly message: string;
|
|
@@ -112,9 +112,9 @@ export declare const makeLSPClient: (id: string, proc: Subprocess, root: string)
|
|
|
112
112
|
readonly character: number;
|
|
113
113
|
};
|
|
114
114
|
};
|
|
115
|
-
readonly source?: string | undefined;
|
|
116
115
|
readonly code?: string | number | undefined;
|
|
117
116
|
readonly severity?: number | undefined;
|
|
117
|
+
readonly source?: string | undefined;
|
|
118
118
|
}[], never, never>;
|
|
119
119
|
onDiagnostics: (callback: (uri: string, diagnostics: Diagnostic[]) => Effect.Effect<void>) => Effect.Effect<void, never, never>;
|
|
120
120
|
shutdown: Effect.Effect<void, never, never>;
|
package/lib/Cli/InkCLI.d.ts
CHANGED
package/lib/Cli/InkCLI.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InkCLI.d.ts","sourceRoot":"","sources":["../../src/Cli/InkCLI.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAA0B,GAAG,EAAE,MAAM,UAAU,CAAC;AAMvD,eAAO,MAAM,MAAM,sCAQhB,CAAC
|
|
1
|
+
{"version":3,"file":"InkCLI.d.ts","sourceRoot":"","sources":["../../src/Cli/InkCLI.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAA0B,GAAG,EAAE,MAAM,UAAU,CAAC;AAMvD,eAAO,MAAM,MAAM,sCAQhB,CAAC"}
|
package/lib/Cli/InkCLI.js
CHANGED
|
@@ -12,11 +12,6 @@ export const inkCLI = () => Layer.succeed(Cli, Cli.of({
|
|
|
12
12
|
displayPlan,
|
|
13
13
|
startApplySession,
|
|
14
14
|
}));
|
|
15
|
-
export const inkCLIAutoApprove = () => Layer.succeed(Cli, Cli.of({
|
|
16
|
-
approvePlan: () => Effect.succeed(true),
|
|
17
|
-
displayPlan,
|
|
18
|
-
startApplySession,
|
|
19
|
-
}));
|
|
20
15
|
const approvePlan = Effect.fn(function* (plan) {
|
|
21
16
|
let approved = false;
|
|
22
17
|
const { waitUntilExit } = render(_jsx(ApprovePlan, { plan: plan, approve: (a) => (approved = a) }));
|
package/lib/Cli/InkCLI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InkCLI.js","sourceRoot":"","sources":["../../src/Cli/InkCLI.tsx"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAA0B,GAAG,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA8B,CAAC;AAC3D,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,sBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CACzB,KAAK,CAAC,OAAO,CACX,GAAG,EACH,GAAG,CAAC,EAAE,CAAC;IACL,WAAW;IACX,WAAW;IACX,iBAAiB;CAClB,CAAC,CACH,CAAC;AAEJ,MAAM,
|
|
1
|
+
{"version":3,"file":"InkCLI.js","sourceRoot":"","sources":["../../src/Cli/InkCLI.tsx"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAA0B,GAAG,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA8B,CAAC;AAC3D,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,sBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CACzB,KAAK,CAAC,OAAO,CACX,GAAG,EACH,GAAG,CAAC,EAAE,CAAC;IACL,WAAW;IACX,WAAW;IACX,iBAAiB;CAClB,CAAC,CACH,CAAC;AAEJ,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAkB,IAAO;IAC9D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAI,CAC5D,CAAC;IACF,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAiB,IAAO,EAAuB,EAAE,CACnE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAkB,IAAO;IACpE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IACzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CACxB,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;YACN,SAAS,CAAC,QAAQ;gBAChB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;SACF,GACD,CACH,CAAC;IACF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;YACvB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,8CAA8C;YACvE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;KACuB,CAAC;AAChC,CAAC,CAAC,CAAC"}
|
package/lib/Cli/index.d.ts
CHANGED
package/lib/Cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
package/lib/Cli/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * from "./Cli.js";
|
|
2
|
-
|
|
2
|
+
// Note: do NOT re-export InkCLI here. The Ink-based renderer pulls in
|
|
3
|
+
// `react`/`ink`, which we do not want consumers of `alchemy/Cli` to
|
|
4
|
+
// transitively depend on. Import `alchemy/Cli/InkCLI` directly when needed
|
|
5
|
+
// (currently only from `bin/alchemy.ts`, which is bundled).
|
|
3
6
|
//# sourceMappingURL=index.js.map
|
package/lib/Cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,4DAA4D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as Redacted from "effect/Redacted";
|
|
2
|
+
import * as Provider from "../../Provider.ts";
|
|
3
|
+
import { Resource } from "../../Resource.ts";
|
|
4
|
+
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
5
|
+
import type { Providers } from "../Providers.ts";
|
|
6
|
+
import { type ApiTokenProps } from "./Common.ts";
|
|
7
|
+
export type AccountApiToken = Resource<"Cloudflare.AccountApiToken", ApiTokenProps, {
|
|
8
|
+
tokenId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
status: "active" | "disabled" | "expired";
|
|
11
|
+
/**
|
|
12
|
+
* The plaintext token value. Cloudflare returns this only once, on
|
|
13
|
+
* creation, so we persist it here for downstream consumers (e.g. a
|
|
14
|
+
* GitHub Actions secret).
|
|
15
|
+
*/
|
|
16
|
+
value: Redacted.Redacted<string>;
|
|
17
|
+
accountId: string;
|
|
18
|
+
}, never, Providers>;
|
|
19
|
+
/**
|
|
20
|
+
* A Cloudflare account-owned API token (`POST /accounts/{account_id}/tokens`).
|
|
21
|
+
*
|
|
22
|
+
* Account-owned tokens are managed at the account level and persist
|
|
23
|
+
* independently of any single user. Use these for CI tokens, third-party
|
|
24
|
+
* integrations, or anywhere the token should outlive an individual user's
|
|
25
|
+
* session.
|
|
26
|
+
*
|
|
27
|
+
* Creating account-owned tokens requires the caller to have the
|
|
28
|
+
* `API Tokens > Write` account permission.
|
|
29
|
+
*
|
|
30
|
+
* @section Creating a Token
|
|
31
|
+
* @example A token for managing Workers and KV from CI
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const token = yield* Cloudflare.AccountApiToken("ci-token", {
|
|
34
|
+
* name: "my-ci-token",
|
|
35
|
+
* policies: [
|
|
36
|
+
* {
|
|
37
|
+
* effect: "allow",
|
|
38
|
+
* permissionGroups: [
|
|
39
|
+
* "Workers Scripts Write",
|
|
40
|
+
* "Workers KV Storage Write",
|
|
41
|
+
* ],
|
|
42
|
+
* resources: { "com.cloudflare.api.account": "*" },
|
|
43
|
+
* },
|
|
44
|
+
* ],
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* yield* GitHub.Secret("cf-api-token", {
|
|
48
|
+
* owner: "me",
|
|
49
|
+
* repository: "my-repo",
|
|
50
|
+
* name: "CLOUDFLARE_API_TOKEN",
|
|
51
|
+
* value: token.value,
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare const AccountApiToken: import("../../Resource.ts").ResourceClass<AccountApiToken>;
|
|
56
|
+
export declare const AccountApiTokenProvider: () => import("effect/Layer").Layer<Provider.Provider<AccountApiToken>, never, import("effect/unstable/http/HttpClient").HttpClient | import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | import("@distilled.cloud/cloudflare").Credentials | CloudflareEnvironment>;
|
|
57
|
+
//# sourceMappingURL=AccountApiToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountApiToken.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/ApiToken/AccountApiToken.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC,4BAA4B,EAC5B,aAAa,EACb;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,eAAe,4DAE3B,CAAC;AASF,eAAO,MAAM,uBAAuB,mRA2HjC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import * as accounts from "@distilled.cloud/cloudflare/accounts";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Redacted from "effect/Redacted";
|
|
4
|
+
import { isResolved } from "../../Diff.js";
|
|
5
|
+
import { createPhysicalName } from "../../PhysicalName.js";
|
|
6
|
+
import * as Provider from "../../Provider.js";
|
|
7
|
+
import { Resource } from "../../Resource.js";
|
|
8
|
+
import { CloudflareEnvironment } from "../CloudflareEnvironment.js";
|
|
9
|
+
import { buildConditionPayload, conditionFingerprint, policyFingerprint, resolvePolicies, } from "./Common.js";
|
|
10
|
+
/**
|
|
11
|
+
* A Cloudflare account-owned API token (`POST /accounts/{account_id}/tokens`).
|
|
12
|
+
*
|
|
13
|
+
* Account-owned tokens are managed at the account level and persist
|
|
14
|
+
* independently of any single user. Use these for CI tokens, third-party
|
|
15
|
+
* integrations, or anywhere the token should outlive an individual user's
|
|
16
|
+
* session.
|
|
17
|
+
*
|
|
18
|
+
* Creating account-owned tokens requires the caller to have the
|
|
19
|
+
* `API Tokens > Write` account permission.
|
|
20
|
+
*
|
|
21
|
+
* @section Creating a Token
|
|
22
|
+
* @example A token for managing Workers and KV from CI
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const token = yield* Cloudflare.AccountApiToken("ci-token", {
|
|
25
|
+
* name: "my-ci-token",
|
|
26
|
+
* policies: [
|
|
27
|
+
* {
|
|
28
|
+
* effect: "allow",
|
|
29
|
+
* permissionGroups: [
|
|
30
|
+
* "Workers Scripts Write",
|
|
31
|
+
* "Workers KV Storage Write",
|
|
32
|
+
* ],
|
|
33
|
+
* resources: { "com.cloudflare.api.account": "*" },
|
|
34
|
+
* },
|
|
35
|
+
* ],
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* yield* GitHub.Secret("cf-api-token", {
|
|
39
|
+
* owner: "me",
|
|
40
|
+
* repository: "my-repo",
|
|
41
|
+
* name: "CLOUDFLARE_API_TOKEN",
|
|
42
|
+
* value: token.value,
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export const AccountApiToken = Resource("Cloudflare.AccountApiToken");
|
|
47
|
+
const resolveName = (id, name) => Effect.gen(function* () {
|
|
48
|
+
return name ?? (yield* createPhysicalName({ id }));
|
|
49
|
+
});
|
|
50
|
+
export const AccountApiTokenProvider = () => Provider.effect(AccountApiToken, Effect.gen(function* () {
|
|
51
|
+
const { accountId: defaultAccountId } = yield* CloudflareEnvironment;
|
|
52
|
+
const createToken = yield* accounts.createToken;
|
|
53
|
+
const updateToken = yield* accounts.updateToken;
|
|
54
|
+
const deleteToken = yield* accounts.deleteToken;
|
|
55
|
+
const getToken = yield* accounts.getToken;
|
|
56
|
+
const buildAttributes = (tokenData, value, accountId) => ({
|
|
57
|
+
tokenId: tokenData.id ?? "",
|
|
58
|
+
name: tokenData.name ?? "",
|
|
59
|
+
status: tokenData.status ?? "active",
|
|
60
|
+
value,
|
|
61
|
+
accountId,
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
stables: ["tokenId", "accountId"],
|
|
65
|
+
diff: Effect.fn(function* ({ id, olds, news, output }) {
|
|
66
|
+
if (!isResolved(news))
|
|
67
|
+
return undefined;
|
|
68
|
+
const newAccountId = news.accountId ?? defaultAccountId;
|
|
69
|
+
const oldAccountId = output?.accountId ?? olds?.accountId ?? defaultAccountId;
|
|
70
|
+
if (oldAccountId !== newAccountId) {
|
|
71
|
+
return { action: "replace" };
|
|
72
|
+
}
|
|
73
|
+
const oldName = output?.name ?? (yield* resolveName(id, olds?.name));
|
|
74
|
+
const newName = yield* resolveName(id, news.name);
|
|
75
|
+
const oldPolicyFp = policyFingerprint(resolvePolicies(olds?.policies ?? [], oldAccountId));
|
|
76
|
+
const newPolicyFp = policyFingerprint(resolvePolicies(news.policies, newAccountId));
|
|
77
|
+
const oldCondFp = conditionFingerprint(olds?.condition);
|
|
78
|
+
const newCondFp = conditionFingerprint(news.condition);
|
|
79
|
+
if (oldName !== newName ||
|
|
80
|
+
oldPolicyFp !== newPolicyFp ||
|
|
81
|
+
oldCondFp !== newCondFp ||
|
|
82
|
+
(olds?.expiresOn ?? undefined) !== (news.expiresOn ?? undefined) ||
|
|
83
|
+
(olds?.notBefore ?? undefined) !== (news.notBefore ?? undefined)) {
|
|
84
|
+
return { action: "update" };
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
create: Effect.fn(function* ({ id, news }) {
|
|
88
|
+
const accountId = news.accountId ?? defaultAccountId;
|
|
89
|
+
const name = yield* resolveName(id, news.name);
|
|
90
|
+
const policies = resolvePolicies(news.policies, accountId);
|
|
91
|
+
const result = yield* createToken({
|
|
92
|
+
accountId,
|
|
93
|
+
name,
|
|
94
|
+
policies,
|
|
95
|
+
condition: buildConditionPayload(news.condition),
|
|
96
|
+
expiresOn: news.expiresOn,
|
|
97
|
+
notBefore: news.notBefore,
|
|
98
|
+
});
|
|
99
|
+
if (!result.value) {
|
|
100
|
+
return yield* Effect.die(`Cloudflare did not return a value for token "${name}".`);
|
|
101
|
+
}
|
|
102
|
+
return buildAttributes(result, Redacted.make(result.value), accountId);
|
|
103
|
+
}),
|
|
104
|
+
update: Effect.fn(function* ({ id, news, output }) {
|
|
105
|
+
const accountId = news.accountId ?? defaultAccountId;
|
|
106
|
+
const name = yield* resolveName(id, news.name);
|
|
107
|
+
const policies = resolvePolicies(news.policies, accountId);
|
|
108
|
+
const result = yield* updateToken({
|
|
109
|
+
accountId,
|
|
110
|
+
tokenId: output.tokenId,
|
|
111
|
+
name,
|
|
112
|
+
policies,
|
|
113
|
+
condition: buildConditionPayload(news.condition),
|
|
114
|
+
expiresOn: news.expiresOn,
|
|
115
|
+
notBefore: news.notBefore,
|
|
116
|
+
});
|
|
117
|
+
// Cloudflare doesn't return the value on update; preserve the
|
|
118
|
+
// value captured at creation.
|
|
119
|
+
return buildAttributes(result, output.value, accountId);
|
|
120
|
+
}),
|
|
121
|
+
delete: Effect.fn(function* ({ output }) {
|
|
122
|
+
yield* deleteToken({
|
|
123
|
+
accountId: output.accountId,
|
|
124
|
+
tokenId: output.tokenId,
|
|
125
|
+
}).pipe(
|
|
126
|
+
// Already gone — Cloudflare may report this as either an
|
|
127
|
+
// `InvalidRoute` (token-id no longer routable) or a generic
|
|
128
|
+
// `TokenNotFound`. Either is fine; we just want the resource gone.
|
|
129
|
+
Effect.catchTag("InvalidRoute", () => Effect.void), Effect.catchTag("TokenNotFound", () => Effect.void));
|
|
130
|
+
}),
|
|
131
|
+
read: Effect.fn(function* ({ output }) {
|
|
132
|
+
if (!output?.tokenId)
|
|
133
|
+
return undefined;
|
|
134
|
+
return yield* getToken({
|
|
135
|
+
accountId: output.accountId,
|
|
136
|
+
tokenId: output.tokenId,
|
|
137
|
+
}).pipe(Effect.map((token) => buildAttributes(token, output.value, output.accountId)), Effect.catchTag("InvalidRoute", () => Effect.succeed(undefined)), Effect.catchTag("TokenNotFound", () => Effect.succeed(undefined)));
|
|
138
|
+
}),
|
|
139
|
+
};
|
|
140
|
+
}));
|
|
141
|
+
//# sourceMappingURL=AccountApiToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountApiToken.js","sourceRoot":"","sources":["../../../src/Cloudflare/ApiToken/AccountApiToken.ts"],"names":[],"mappings":"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"}
|