alchemy 2.0.0-beta.70 → 2.0.0-beta.71
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/LICENSE +201 -0
- package/NOTICE +5 -0
- package/README.md +3 -1
- package/THIRD_PARTY_LICENSES.md +127 -0
- package/bin/exec.js +25 -9
- package/bin/exec.js.map +1 -1
- package/lib/AWS/DataZone/Domain.d.ts.map +1 -1
- package/lib/AWS/DataZone/Domain.js +7 -7
- package/lib/AWS/DataZone/Domain.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +14 -16
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/LingeringEnis.d.ts +2 -2
- package/lib/AWS/EC2/LingeringEnis.d.ts.map +1 -1
- package/lib/AWS/EC2/LingeringEnis.js +9 -7
- package/lib/AWS/EC2/LingeringEnis.js.map +1 -1
- package/lib/AWS/RDSData/Marshall.d.ts +23 -0
- package/lib/AWS/RDSData/Marshall.d.ts.map +1 -0
- package/lib/AWS/RDSData/Marshall.js +87 -0
- package/lib/AWS/RDSData/Marshall.js.map +1 -0
- package/lib/AWS/RDSData/index.d.ts +1 -0
- package/lib/AWS/RDSData/index.d.ts.map +1 -1
- package/lib/AWS/RDSData/index.js +1 -0
- package/lib/AWS/RDSData/index.js.map +1 -1
- package/lib/AWS/ResourceGroups/Group.d.ts.map +1 -1
- package/lib/AWS/ResourceGroups/Group.js +3 -1
- package/lib/AWS/ResourceGroups/Group.js.map +1 -1
- package/lib/AWS/S3Tables/Namespace.d.ts.map +1 -1
- package/lib/AWS/S3Tables/Namespace.js +3 -1
- package/lib/AWS/S3Tables/Namespace.js.map +1 -1
- package/lib/AWS/S3Tables/TableBucket.d.ts.map +1 -1
- package/lib/AWS/S3Tables/TableBucket.js +8 -2
- package/lib/AWS/S3Tables/TableBucket.js.map +1 -1
- package/lib/AWS/S3Vectors/VectorBucket.d.ts.map +1 -1
- package/lib/AWS/S3Vectors/VectorBucket.js +6 -1
- package/lib/AWS/S3Vectors/VectorBucket.js.map +1 -1
- package/lib/AWS/Website/cfcode.d.ts.map +1 -1
- package/lib/AWS/Website/cfcode.js +2 -0
- package/lib/AWS/Website/cfcode.js.map +1 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +22 -8
- package/lib/Apply.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +1 -1
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Bundle/Bundle.js +2 -2
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Cli/commands/cloudflare.js +1 -1
- package/lib/Cli/commands/cloudflare.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +2 -1
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/nuke.js +1 -1
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +2 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cloudflare/AI/LanguageModel.js +1 -1
- package/lib/Cloudflare/AI/LanguageModel.js.map +1 -1
- package/lib/Cloudflare/Access.js +1 -1
- package/lib/Cloudflare/Access.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +24 -2
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.js +1 -1
- package/lib/Cloudflare/D1/Database.d.ts +2 -2
- package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +3 -3
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -1
- package/lib/Cloudflare/D1/LocalD1Gateway.js +3 -3
- package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -1
- package/lib/Cloudflare/KV/LocalKVGateway.js +2 -2
- package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -1
- package/lib/Cloudflare/LocalGateway.d.ts +1 -1
- package/lib/Cloudflare/LocalGateway.d.ts.map +1 -1
- package/lib/Cloudflare/LocalGateway.js +1 -1
- package/lib/Cloudflare/LocalGateway.js.map +1 -1
- package/lib/Cloudflare/LocalRuntime.d.ts +1 -1
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +5 -4
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts +22 -5
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +129 -38
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +115 -6
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/R2/LocalR2Gateway.js +2 -2
- package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/LocalSecretsStoreGateway.d.ts +4 -4
- package/lib/Cloudflare/SecretsStore/LocalSecretsStoreGateway.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/LocalSecretsStoreGateway.js +2 -2
- package/lib/Cloudflare/SecretsStore/LocalSecretsStoreGateway.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts +2 -2
- package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +7 -0
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/Website/Astro.d.ts +19 -11
- package/lib/Cloudflare/Website/Astro.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Astro.js +16 -9
- package/lib/Cloudflare/Website/Astro.js.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.d.ts +7 -4
- package/lib/Cloudflare/Website/Nextjs.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.js +10 -8
- package/lib/Cloudflare/Website/Nextjs.js.map +1 -1
- package/lib/Cloudflare/Website/Nuxt.d.ts +5 -4
- package/lib/Cloudflare/Website/Nuxt.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Nuxt.js +4 -3
- package/lib/Cloudflare/Website/Nuxt.js.map +1 -1
- package/lib/Cloudflare/Website/Octane.d.ts +4 -3
- package/lib/Cloudflare/Website/Octane.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Octane.js +5 -4
- package/lib/Cloudflare/Website/Octane.js.map +1 -1
- package/lib/Cloudflare/Website/SvelteKit.d.ts +17 -10
- package/lib/Cloudflare/Website/SvelteKit.d.ts.map +1 -1
- package/lib/Cloudflare/Website/SvelteKit.js +9 -5
- package/lib/Cloudflare/Website/SvelteKit.js.map +1 -1
- package/lib/Cloudflare/Website/Waku.d.ts +20 -9
- package/lib/Cloudflare/Website/Waku.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Waku.js +10 -4
- package/lib/Cloudflare/Website/Waku.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +54 -1
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +60 -26
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +2 -2
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +153 -49
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/RuntimeBindings.d.ts +3 -3
- package/lib/Cloudflare/Workers/RuntimeBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/RuntimeBindings.js +2 -2
- package/lib/Cloudflare/Workers/RuntimeBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/Source.d.ts +1 -1
- package/lib/Cloudflare/Workers/Source.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Source.js +1 -1
- package/lib/Cloudflare/Workers/Source.js.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Rolldown.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Rolldown.js +3 -4
- package/lib/Cloudflare/Workers/Sources/Rolldown.js.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.d.ts +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Sources/Vite.js +36 -17
- package/lib/Cloudflare/Workers/Sources/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.js +6 -0
- package/lib/Cloudflare/Workers/ViteChild.js.map +1 -1
- package/lib/Cloudflare/Workers/ViteChild.shared.d.ts +1 -1
- package/lib/Cloudflare/Workers/ViteChild.shared.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ViteChildRunner.js +5 -10
- package/lib/Cloudflare/Workers/ViteChildRunner.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +11 -4
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +12 -2
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js +6 -2
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Drizzle/{DurableObject.d.ts → Cloudflare.d.ts} +2 -1
- package/lib/Drizzle/Cloudflare.d.ts.map +1 -0
- package/lib/Drizzle/{DurableObject.js → Cloudflare.js} +2 -1
- package/lib/Drizzle/Cloudflare.js.map +1 -0
- package/lib/Drizzle/MySQL.d.ts +2 -2
- package/lib/Drizzle/MySQL.d.ts.map +1 -1
- package/lib/Drizzle/MySQL.js +5 -3
- package/lib/Drizzle/MySQL.js.map +1 -1
- package/lib/Drizzle/Postgres.d.ts +1 -1
- package/lib/Drizzle/Postgres.d.ts.map +1 -1
- package/lib/Drizzle/Postgres.js +4 -2
- package/lib/Drizzle/Postgres.js.map +1 -1
- package/lib/Drizzle/index.d.ts +0 -3
- package/lib/Drizzle/index.d.ts.map +1 -1
- package/lib/Drizzle/index.js +5 -3
- package/lib/Drizzle/index.js.map +1 -1
- package/lib/Neon/Migrations.d.ts.map +1 -1
- package/lib/Neon/Migrations.js +1 -5
- package/lib/Neon/Migrations.js.map +1 -1
- package/lib/PhysicalName.d.ts +8 -0
- package/lib/PhysicalName.d.ts.map +1 -1
- package/lib/PhysicalName.js +5 -2
- package/lib/PhysicalName.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +16 -9
- package/lib/Plan.js.map +1 -1
- package/lib/ProviderMode.d.ts +45 -0
- package/lib/ProviderMode.d.ts.map +1 -1
- package/lib/ProviderMode.js +51 -0
- package/lib/ProviderMode.js.map +1 -1
- package/lib/SQL/ConnectionSource.d.ts +45 -0
- package/lib/SQL/ConnectionSource.d.ts.map +1 -0
- package/lib/SQL/ConnectionSource.js +51 -0
- package/lib/SQL/ConnectionSource.js.map +1 -0
- package/lib/SQL/MySQLDriver.d.ts +21 -0
- package/lib/SQL/MySQLDriver.d.ts.map +1 -0
- package/lib/SQL/MySQLDriver.js +31 -0
- package/lib/SQL/MySQLDriver.js.map +1 -0
- package/lib/SQL/PostgresDriver.d.ts +21 -0
- package/lib/SQL/PostgresDriver.d.ts.map +1 -0
- package/lib/SQL/PostgresDriver.js +29 -0
- package/lib/SQL/PostgresDriver.js.map +1 -0
- package/lib/State/HttpStateApi.d.ts +11 -11
- package/lib/State/LocalState.d.ts.map +1 -1
- package/lib/State/LocalState.js +17 -1
- package/lib/State/LocalState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +6 -2
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/StateEncoding.d.ts +8 -0
- package/lib/State/StateEncoding.d.ts.map +1 -1
- package/lib/State/StateEncoding.js +38 -0
- package/lib/State/StateEncoding.js.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +4 -2
- package/lib/Sync.js.map +1 -1
- package/lib/Test/Alchemy.d.ts.map +1 -1
- package/lib/Test/Alchemy.js +24 -14
- package/lib/Test/Alchemy.js.map +1 -1
- package/lib/Test/Core.d.ts +25 -8
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +24 -7
- package/lib/Test/Core.js.map +1 -1
- package/package.json +49 -40
- package/src/AWS/DataZone/Domain.ts +15 -13
- package/src/AWS/EC2/InternetGateway.ts +28 -32
- package/src/AWS/EC2/LingeringEnis.ts +11 -9
- package/src/AWS/RDSData/Marshall.ts +106 -0
- package/src/AWS/RDSData/index.ts +1 -0
- package/src/AWS/ResourceGroups/Group.ts +5 -1
- package/src/AWS/S3Tables/Namespace.ts +3 -1
- package/src/AWS/S3Tables/TableBucket.ts +8 -2
- package/src/AWS/S3Vectors/VectorBucket.ts +6 -1
- package/src/AWS/Website/cfcode.ts +2 -0
- package/src/Apply.ts +22 -9
- package/src/Auth/AuthProvider.ts +4 -7
- package/src/Bundle/Bundle.ts +2 -2
- package/src/Cli/commands/cloudflare.ts +1 -1
- package/src/Cli/commands/logs.ts +2 -1
- package/src/Cli/commands/nuke.ts +1 -1
- package/src/Cli/commands/tail.ts +2 -1
- package/src/Cloudflare/AI/LanguageModel.ts +3 -0
- package/src/Cloudflare/Access.ts +1 -1
- package/src/Cloudflare/Containers/ContainerBundle.ts +1 -1
- package/src/Cloudflare/Containers/ContainerProvider.ts +35 -5
- package/src/Cloudflare/Containers/LocalContainerProvider.ts +1 -1
- package/src/Cloudflare/D1/Database.ts +1 -1
- package/src/Cloudflare/D1/LocalD1Gateway.ts +4 -4
- package/src/Cloudflare/KV/LocalKVGateway.ts +2 -2
- package/src/Cloudflare/LocalGateway.ts +1 -1
- package/src/Cloudflare/LocalRuntime.ts +6 -4
- package/src/Cloudflare/Queues/Consumer.ts +183 -45
- package/src/Cloudflare/Queues/Queue.ts +157 -5
- package/src/Cloudflare/R2/LocalR2Gateway.ts +2 -2
- package/src/Cloudflare/SecretsStore/LocalSecretsStoreGateway.ts +2 -2
- package/src/Cloudflare/SecretsStore/Secret.ts +1 -1
- package/src/Cloudflare/StateStore/Api.ts +7 -0
- package/src/Cloudflare/Website/Astro.ts +20 -12
- package/src/Cloudflare/Website/Nextjs.ts +13 -8
- package/src/Cloudflare/Website/Nuxt.ts +6 -5
- package/src/Cloudflare/Website/Octane.ts +6 -4
- package/src/Cloudflare/Website/SvelteKit.ts +18 -11
- package/src/Cloudflare/Website/Waku.ts +21 -10
- package/src/Cloudflare/Workers/Assets.ts +122 -20
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +228 -81
- package/src/Cloudflare/Workers/RuntimeBindings.ts +3 -3
- package/src/Cloudflare/Workers/Source.ts +2 -2
- package/src/Cloudflare/Workers/Sources/Rolldown.ts +3 -4
- package/src/Cloudflare/Workers/Sources/Vite.ts +46 -24
- package/src/Cloudflare/Workers/ViteChild.shared.ts +1 -1
- package/src/Cloudflare/Workers/ViteChild.ts +6 -0
- package/src/Cloudflare/Workers/ViteChildRunner.ts +5 -10
- package/src/Cloudflare/Workers/Worker.ts +26 -6
- package/src/Cloudflare/Workers/WorkerProvider.ts +19 -2
- package/src/Docker/Docker.ts +17 -11
- package/src/Drizzle/{DurableObject.ts → Cloudflare.ts} +1 -0
- package/src/Drizzle/MySQL.ts +13 -3
- package/src/Drizzle/Postgres.ts +10 -2
- package/src/Drizzle/index.ts +6 -3
- package/src/Neon/Migrations.ts +1 -10
- package/src/PhysicalName.ts +17 -1
- package/src/Plan.ts +20 -9
- package/src/ProviderMode.ts +56 -0
- package/src/SQL/ConnectionSource.ts +101 -0
- package/src/SQL/MySQLDriver.ts +49 -0
- package/src/SQL/PostgresDriver.ts +45 -0
- package/src/State/LocalState.ts +24 -0
- package/src/State/ResourceState.ts +6 -2
- package/src/State/StateEncoding.ts +37 -0
- package/src/Sync.ts +4 -2
- package/src/Test/Alchemy.ts +17 -6
- package/src/Test/Core.ts +42 -15
- package/lib/Drizzle/DurableObject.d.ts.map +0 -1
- package/lib/Drizzle/DurableObject.js.map +0 -1
package/lib/Test/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.71",
|
|
4
|
+
"description": "Infrastructure as Effects for TypeScript.",
|
|
4
5
|
"homepage": "https://alchemy.run",
|
|
5
6
|
"license": "Apache-2.0",
|
|
6
7
|
"author": "Sam Goodwin <sam@alchemy.run>",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"alchemy",
|
|
10
|
+
"effect",
|
|
11
|
+
"infrastructure-as-code"
|
|
12
|
+
],
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
9
15
|
"url": "git+https://github.com/alchemy-run/alchemy.git",
|
|
10
16
|
"directory": "packages/alchemy"
|
|
11
17
|
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/alchemy-run/alchemy/issues"
|
|
20
|
+
},
|
|
12
21
|
"bin": {
|
|
13
22
|
"alchemy": "./bin/cli.js"
|
|
14
23
|
},
|
|
15
24
|
"files": [
|
|
16
25
|
"bin",
|
|
17
26
|
"lib",
|
|
18
|
-
"src"
|
|
27
|
+
"src",
|
|
28
|
+
"NOTICE",
|
|
29
|
+
"THIRD_PARTY_LICENSES.md"
|
|
19
30
|
],
|
|
20
31
|
"type": "module",
|
|
21
32
|
"sideEffects": false,
|
|
22
33
|
"scripts": {
|
|
23
34
|
"clear:state": "cd ../../ && bun clear:state",
|
|
24
35
|
"dev": "tsdown --watch",
|
|
25
|
-
"build": "rm -rf lib && tsc -b --force && tsc -b tsconfig.bin.json --force && bun bundle",
|
|
36
|
+
"build": "rm -rf lib && tsc -b --force && tsc -b tsconfig.bin.json --force && bun bundle && bun ../../scripts/copy-package-files.ts alchemy",
|
|
26
37
|
"bundle": "tsdown",
|
|
27
38
|
"bundle:watch": "tsdown --watch",
|
|
28
|
-
"publish:npm": "
|
|
39
|
+
"publish:npm": "bun publish",
|
|
29
40
|
"test": "alchemy-test",
|
|
30
41
|
"test:benchmark": "tsx --tsconfig tsconfig.test.json test/types.benchmark.ts",
|
|
31
42
|
"nuke": "cd ../../ && bun nuke"
|
|
@@ -169,6 +180,12 @@
|
|
|
169
180
|
"worker": "./src/Drizzle/index.ts",
|
|
170
181
|
"import": "./lib/Drizzle/index.js"
|
|
171
182
|
},
|
|
183
|
+
"./Drizzle/*": {
|
|
184
|
+
"types": "./lib/Drizzle/*.d.ts",
|
|
185
|
+
"bun": "./src/Drizzle/*.ts",
|
|
186
|
+
"worker": "./src/Drizzle/*.ts",
|
|
187
|
+
"import": "./lib/Drizzle/*.js"
|
|
188
|
+
},
|
|
172
189
|
"./Axiom": {
|
|
173
190
|
"types": "./lib/Axiom/index.d.ts",
|
|
174
191
|
"bun": "./src/Axiom/index.ts",
|
|
@@ -350,18 +367,16 @@
|
|
|
350
367
|
"@alchemy.run/node-utils": "0.0.5",
|
|
351
368
|
"@aws-sdk/credential-providers": "^3.0.0",
|
|
352
369
|
"@clack/prompts": "^1.7.0",
|
|
353
|
-
"@distilled.cloud/aws": "1.0.0-rc.
|
|
354
|
-
"@distilled.cloud/axiom": "1.0.0-rc.
|
|
355
|
-
"@
|
|
356
|
-
"@distilled.cloud/cloudflare
|
|
357
|
-
"@distilled.cloud/
|
|
358
|
-
"@distilled.cloud/
|
|
359
|
-
"@distilled.cloud/
|
|
360
|
-
"@
|
|
361
|
-
"@
|
|
362
|
-
"@effect/
|
|
363
|
-
"@effect/sql-sqlite-do": ">=4.0.0-beta.102 || >=4.0.0",
|
|
364
|
-
"@effect/vitest": ">=4.0.0-beta.102 || >=4.0.0",
|
|
370
|
+
"@distilled.cloud/aws": "1.0.0-rc.4",
|
|
371
|
+
"@distilled.cloud/axiom": "1.0.0-rc.4",
|
|
372
|
+
"@alchemy.run/cloudflare-runtime": "2.0.0-beta.71",
|
|
373
|
+
"@distilled.cloud/cloudflare": "1.0.0-rc.4",
|
|
374
|
+
"@distilled.cloud/core": "1.0.0-rc.4",
|
|
375
|
+
"@distilled.cloud/neon": "1.0.0-rc.4",
|
|
376
|
+
"@distilled.cloud/planetscale": "1.0.0-rc.4",
|
|
377
|
+
"@effect/sql-d1": ">=4.0.0-beta.105 || >=4.0.0",
|
|
378
|
+
"@effect/sql-sqlite-do": ">=4.0.0-beta.105 || >=4.0.0",
|
|
379
|
+
"@effect/vitest": ">=4.0.0-beta.105 || >=4.0.0",
|
|
365
380
|
"@libsql/client": "^0.17.0",
|
|
366
381
|
"@octokit/rest": "^22.0.1",
|
|
367
382
|
"@octokit/webhooks": "^14.2.0",
|
|
@@ -389,15 +404,10 @@
|
|
|
389
404
|
"@cloudflare/containers": "^0.3.7",
|
|
390
405
|
"@cloudflare/puppeteer": "^1.1.0",
|
|
391
406
|
"@cloudflare/workers-types": "^4.20250805.0",
|
|
392
|
-
"@
|
|
393
|
-
"@
|
|
394
|
-
"@
|
|
395
|
-
"@
|
|
396
|
-
"@distilled.cloud/sveltekit": "0.13.7",
|
|
397
|
-
"@distilled.cloud/waku": "0.13.7",
|
|
398
|
-
"@effect/platform-bun": ">=4.0.0-beta.102 || >=4.0.0",
|
|
399
|
-
"@effect/platform-node-shared": ">=4.0.0-beta.102 || >=4.0.0",
|
|
400
|
-
"@effect/platform-node": ">=4.0.0-beta.102 || >=4.0.0",
|
|
407
|
+
"@alchemy.run/cloudflare-frameworks": "2.0.0-beta.71",
|
|
408
|
+
"@effect/platform-bun": ">=4.0.0-beta.105 || >=4.0.0",
|
|
409
|
+
"@effect/platform-node": ">=4.0.0-beta.105 || >=4.0.0",
|
|
410
|
+
"@effect/platform-node-shared": ">=4.0.0-beta.105 || >=4.0.0",
|
|
401
411
|
"@foldkit/vite-plugin": "^0.11.3",
|
|
402
412
|
"@octanejs/adapter-cloudflare": "0.0.12",
|
|
403
413
|
"@octanejs/vite-plugin": "0.1.22",
|
|
@@ -410,7 +420,7 @@
|
|
|
410
420
|
"@types/aws-lambda": "^8.10.152",
|
|
411
421
|
"@types/bun": "latest",
|
|
412
422
|
"@types/node": "latest",
|
|
413
|
-
"@types/pg": "^8.
|
|
423
|
+
"@types/pg": "^8.20.0",
|
|
414
424
|
"@types/picomatch": "^4.0.0",
|
|
415
425
|
"@types/react-dom": "^19.2.2",
|
|
416
426
|
"@types/react": "^19.2.2",
|
|
@@ -419,19 +429,18 @@
|
|
|
419
429
|
"@vitejs/plugin-react": "^6.0.2",
|
|
420
430
|
"@vitejs/plugin-rsc": "^0.5.27",
|
|
421
431
|
"alchemy-test": "0.0.0",
|
|
422
|
-
"astro": "7.
|
|
423
|
-
"
|
|
424
|
-
"effect": ">=4.0.0-beta.102 || >=4.0.0",
|
|
432
|
+
"astro": "7.2.0",
|
|
433
|
+
"effect": ">=4.0.0-beta.105 || >=4.0.0",
|
|
425
434
|
"foldkit": "^0.137.0",
|
|
426
435
|
"hono": "^4.12.14",
|
|
427
436
|
"iovalkey": "^0.3.3",
|
|
428
437
|
"mongodb": "^6.10.0",
|
|
429
|
-
"mysql2": "^3.
|
|
438
|
+
"mysql2": "^3.23.2",
|
|
430
439
|
"next": "16.2.10",
|
|
431
440
|
"nitropack": "2.13.4",
|
|
432
441
|
"nuxt": "4.5.1",
|
|
433
442
|
"octane": "0.1.22",
|
|
434
|
-
"pg": "^8.
|
|
443
|
+
"pg": "^8.22.0",
|
|
435
444
|
"react-devtools-core": "^7.0.1",
|
|
436
445
|
"react-dom": "^19.2.7",
|
|
437
446
|
"react-router": "7.16.0",
|
|
@@ -450,17 +459,17 @@
|
|
|
450
459
|
},
|
|
451
460
|
"peerDependencies": {
|
|
452
461
|
"@aws/durable-execution-sdk-js": "^2.1.0",
|
|
453
|
-
"@effect/platform-bun": ">=4.0.0-beta.
|
|
454
|
-
"@effect/platform-node": ">=4.0.0-beta.
|
|
455
|
-
"@effect/sql-mysql2": ">=4.0.0-beta.
|
|
456
|
-
"@effect/sql-pg": ">=4.0.0-beta.
|
|
462
|
+
"@effect/platform-bun": ">=4.0.0-beta.105 || >=4.0.0",
|
|
463
|
+
"@effect/platform-node": ">=4.0.0-beta.105 || >=4.0.0",
|
|
464
|
+
"@effect/sql-mysql2": ">=4.0.0-beta.105 || >=4.0.0",
|
|
465
|
+
"@effect/sql-pg": ">=4.0.0-beta.105 || >=4.0.0",
|
|
457
466
|
"@vercel/nft": "^1.10.2",
|
|
458
|
-
"drizzle-kit": "1.0.0-rc.
|
|
459
|
-
"drizzle-orm": "1.0.0-rc.
|
|
460
|
-
"effect": ">=4.0.0-beta.
|
|
467
|
+
"drizzle-kit": "1.0.0-rc.5-ab785fc",
|
|
468
|
+
"drizzle-orm": "1.0.0-rc.5-ab785fc",
|
|
469
|
+
"effect": ">=4.0.0-beta.105 || >=4.0.0",
|
|
461
470
|
"mongodb": "^6.10.0",
|
|
462
|
-
"mysql2": "^3.
|
|
463
|
-
"pg": "^8.
|
|
471
|
+
"mysql2": "^3.23.2",
|
|
472
|
+
"pg": "^8.22.0",
|
|
464
473
|
"vite": "^8.0.7",
|
|
465
474
|
"ws": "^8.20.0"
|
|
466
475
|
},
|
|
@@ -148,11 +148,11 @@ export class DomainCreationFailed extends Data.TaggedError(
|
|
|
148
148
|
const DOMAIN_TRANSIENT = new Set(["CREATING", "DELETING"]);
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
|
-
* A freshly created IAM role is eventually consistent;
|
|
152
|
-
* transiently reject a role
|
|
153
|
-
* explicitly-typed helper so the
|
|
154
|
-
* not leak into declaration emit
|
|
155
|
-
* to `unknown` (see PATTERNS §7).
|
|
151
|
+
* A freshly created (or re-observed) IAM role is eventually consistent;
|
|
152
|
+
* `createDomain` / `updateDomain` can transiently reject a role DataZone
|
|
153
|
+
* cannot yet assume. Wrapped in an explicitly-typed helper so the
|
|
154
|
+
* `Effect.retry` conditional return type does not leak into declaration emit
|
|
155
|
+
* and widen the provider layer's requirement to `unknown` (see PATTERNS §7).
|
|
156
156
|
*/
|
|
157
157
|
const retryWhileRoleAssumeFails = <A, E extends { _tag: string }, R>(
|
|
158
158
|
self: Effect.Effect<A, E, R>,
|
|
@@ -426,14 +426,16 @@ export const DomainProvider = () =>
|
|
|
426
426
|
(news.serviceRole !== undefined &&
|
|
427
427
|
domain.serviceRole !== news.serviceRole);
|
|
428
428
|
if (drifted) {
|
|
429
|
-
yield*
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
429
|
+
yield* retryWhileRoleAssumeFails(
|
|
430
|
+
datazone.updateDomain({
|
|
431
|
+
identifier: domain.id,
|
|
432
|
+
name,
|
|
433
|
+
description: news.description,
|
|
434
|
+
domainExecutionRole: executionRoleArn,
|
|
435
|
+
serviceRole: news.serviceRole,
|
|
436
|
+
singleSignOn: news.singleSignOn,
|
|
437
|
+
}),
|
|
438
|
+
);
|
|
437
439
|
domain = (yield* getDomainOrUndefined(domain.id)) ?? domain;
|
|
438
440
|
}
|
|
439
441
|
}
|
|
@@ -16,6 +16,7 @@ import { AWSEnvironment, type AccountID } from "../Environment.ts";
|
|
|
16
16
|
import type { Providers } from "../Providers.ts";
|
|
17
17
|
import type { RegionID } from "../Region.ts";
|
|
18
18
|
import { getDefaultVpcScope } from "./defaultVpcScope.ts";
|
|
19
|
+
import { retryWhileLingeringEnis } from "./LingeringEnis.ts";
|
|
19
20
|
import type { VpcId } from "./Vpc.ts";
|
|
20
21
|
|
|
21
22
|
export type InternetGatewayId<ID extends string = string> = `igw-${ID}`;
|
|
@@ -376,41 +377,36 @@ export const InternetGatewayProvider = () =>
|
|
|
376
377
|
}
|
|
377
378
|
const attachments = igw.Attachments ?? [];
|
|
378
379
|
|
|
379
|
-
// 1. Detach from all VPCs first
|
|
380
|
+
// 1. Detach from all VPCs first. DetachInternetGateway fails with
|
|
381
|
+
// DependencyViolation ("has some mapped public address(es)") while
|
|
382
|
+
// any ENI in the VPC still holds a public IP — a just-deleted VPC
|
|
383
|
+
// Lambda's Hyperplane ENIs or draining Fargate task ENIs can hold
|
|
384
|
+
// theirs for 5-20 minutes after the owner is gone. Ride that
|
|
385
|
+
// window out on the same budget the subnet delete uses, reaping
|
|
386
|
+
// detached Lambda ENIs between attempts to accelerate the release.
|
|
380
387
|
if (attachments.length > 0) {
|
|
381
388
|
for (const attachment of attachments) {
|
|
382
|
-
yield*
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
// Retry on dependency violations (e.g., NAT Gateway with EIP still attached)
|
|
395
|
-
Effect.retry({
|
|
396
|
-
while: (e) => {
|
|
397
|
-
return e._tag === "DependencyViolation";
|
|
398
|
-
},
|
|
399
|
-
// Public addresses on a draining EKS/HyperPod control
|
|
400
|
-
// plane's ENIs can take several minutes to release —
|
|
401
|
-
// 5s x 60 = ~5 min.
|
|
402
|
-
schedule: Schedule.max([
|
|
403
|
-
Schedule.fixed(5000),
|
|
404
|
-
Schedule.recurs(60),
|
|
405
|
-
]).pipe(
|
|
406
|
-
Schedule.tap(({ attempt }) =>
|
|
407
|
-
session.note(
|
|
408
|
-
`Waiting for VPC dependencies to clear before detaching... (attempt ${attempt})`,
|
|
409
|
-
),
|
|
410
|
-
),
|
|
389
|
+
yield* retryWhileLingeringEnis(
|
|
390
|
+
ec2
|
|
391
|
+
.detachInternetGateway({
|
|
392
|
+
InternetGatewayId: internetGatewayId,
|
|
393
|
+
VpcId: attachment.VpcId!,
|
|
394
|
+
})
|
|
395
|
+
.pipe(
|
|
396
|
+
Effect.tapError(Effect.logDebug),
|
|
397
|
+
Effect.catchTag("Gateway.NotAttached", () => Effect.void),
|
|
398
|
+
Effect.catchTag(
|
|
399
|
+
"InvalidInternetGatewayID.NotFound",
|
|
400
|
+
() => Effect.void,
|
|
411
401
|
),
|
|
412
|
-
|
|
413
|
-
|
|
402
|
+
),
|
|
403
|
+
{
|
|
404
|
+
scope: { name: "vpc-id", value: attachment.VpcId! },
|
|
405
|
+
isDependencyViolation: (e) =>
|
|
406
|
+
e._tag === "DependencyViolation",
|
|
407
|
+
session,
|
|
408
|
+
},
|
|
409
|
+
);
|
|
414
410
|
yield* session.note(`Detached from VPC: ${attachment.VpcId}`);
|
|
415
411
|
}
|
|
416
412
|
}
|
|
@@ -13,13 +13,15 @@ import * as Result from "effect/Result";
|
|
|
13
13
|
* gone, `DeleteSubnet`/`DeleteSecurityGroup` fail with `DependencyViolation`
|
|
14
14
|
* — historically forcing users to run `destroy` twice, minutes apart.
|
|
15
15
|
*
|
|
16
|
-
* `retryWhileLingeringEnis` wraps a subnet/security-group delete call
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
16
|
+
* `retryWhileLingeringEnis` wraps a subnet/security-group delete call (or an
|
|
17
|
+
* internet-gateway detach, which `DependencyViolation`s while any ENI in the
|
|
18
|
+
* VPC still holds a mapped public address): on every `DependencyViolation`
|
|
19
|
+
* it observes the ENIs still occupying the resource, explicitly deletes any
|
|
20
|
+
* *detached* (status `available`) Lambda ENI instead of waiting for Lambda's
|
|
21
|
+
* reaper, and — while the blockers are exclusively Lambda ENIs that are
|
|
22
|
+
* provably on their way out — keeps waiting on an extended budget that
|
|
23
|
+
* covers AWS's worst-case release window. Any other lingering dependency
|
|
24
|
+
* keeps today's shorter budget.
|
|
23
25
|
*/
|
|
24
26
|
|
|
25
27
|
/**
|
|
@@ -40,8 +42,8 @@ const isReapableEni = (eni: ec2.NetworkInterface): boolean =>
|
|
|
40
42
|
(eni.Description?.startsWith("AWS Lambda VPC ENI") ?? false);
|
|
41
43
|
|
|
42
44
|
export interface LingeringEniScope {
|
|
43
|
-
/** ENI filter naming the resource being deleted. */
|
|
44
|
-
readonly name: "subnet-id" | "group-id";
|
|
45
|
+
/** ENI filter naming the resource being deleted or detached. */
|
|
46
|
+
readonly name: "subnet-id" | "group-id" | "vpc-id";
|
|
45
47
|
readonly value: string;
|
|
46
48
|
}
|
|
47
49
|
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type * as rdsdata from "@distilled.cloud/aws/rds-data";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JS value → Data API `SqlParameter` marshalling, matching the Postgres
|
|
5
|
+
* wire expectations: integers as `longValue`, floats as `doubleValue`,
|
|
6
|
+
* `Date`s as `TIMESTAMP`-hinted strings, `Uint8Array` as blobs, and
|
|
7
|
+
* anything else JSON-stringified.
|
|
8
|
+
*/
|
|
9
|
+
export const toSqlParameter = (
|
|
10
|
+
name: string,
|
|
11
|
+
value: unknown,
|
|
12
|
+
): rdsdata.SqlParameter => {
|
|
13
|
+
if (value === null || value === undefined) {
|
|
14
|
+
return { name, value: { isNull: true } };
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === "string") {
|
|
17
|
+
return { name, value: { stringValue: value } };
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === "number") {
|
|
20
|
+
return Number.isInteger(value)
|
|
21
|
+
? { name, value: { longValue: value } }
|
|
22
|
+
: { name, value: { doubleValue: value } };
|
|
23
|
+
}
|
|
24
|
+
if (typeof value === "bigint") {
|
|
25
|
+
return { name, value: { longValue: Number(value) } };
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === "boolean") {
|
|
28
|
+
return { name, value: { booleanValue: value } };
|
|
29
|
+
}
|
|
30
|
+
if (value instanceof Date) {
|
|
31
|
+
return {
|
|
32
|
+
name,
|
|
33
|
+
typeHint: "TIMESTAMP",
|
|
34
|
+
value: {
|
|
35
|
+
stringValue: value.toISOString().replace("T", " ").replace("Z", ""),
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (value instanceof Uint8Array) {
|
|
40
|
+
return { name, value: { blobValue: value } as rdsdata.Field };
|
|
41
|
+
}
|
|
42
|
+
return { name, value: { stringValue: JSON.stringify(value) } };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const TIMESTAMP_TYPES = new Set([
|
|
46
|
+
"timestamp",
|
|
47
|
+
"timestamptz",
|
|
48
|
+
"date",
|
|
49
|
+
"datetime",
|
|
50
|
+
]);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Data API `Field` → JS value. Timestamp-typed columns (per the response's
|
|
54
|
+
* `columnMetadata.typeName`) revive as `Date`s — the Data API returns UTC
|
|
55
|
+
* timestamps as `"YYYY-MM-DD HH:MM:SS[.FFF]"` strings.
|
|
56
|
+
*/
|
|
57
|
+
export const fromField = (
|
|
58
|
+
field: rdsdata.Field,
|
|
59
|
+
typeName: string | undefined,
|
|
60
|
+
): unknown => {
|
|
61
|
+
const f = field as {
|
|
62
|
+
stringValue?: string;
|
|
63
|
+
longValue?: number;
|
|
64
|
+
doubleValue?: number;
|
|
65
|
+
booleanValue?: boolean;
|
|
66
|
+
blobValue?: unknown;
|
|
67
|
+
isNull?: boolean;
|
|
68
|
+
};
|
|
69
|
+
if (f.isNull) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
if (f.stringValue !== undefined) {
|
|
73
|
+
if (typeName !== undefined && TIMESTAMP_TYPES.has(typeName.toLowerCase())) {
|
|
74
|
+
const iso = f.stringValue.replace(" ", "T");
|
|
75
|
+
return new Date(/[Z+]/.test(iso.slice(10)) ? iso : `${iso}Z`);
|
|
76
|
+
}
|
|
77
|
+
return f.stringValue;
|
|
78
|
+
}
|
|
79
|
+
if (f.longValue !== undefined) return f.longValue;
|
|
80
|
+
if (f.doubleValue !== undefined) return f.doubleValue;
|
|
81
|
+
if (f.booleanValue !== undefined) return f.booleanValue;
|
|
82
|
+
if (f.blobValue !== undefined) return f.blobValue;
|
|
83
|
+
return null;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Map an `executeStatement` response (with `includeResultMetadata: true`)
|
|
88
|
+
* to rows keyed by column label.
|
|
89
|
+
*/
|
|
90
|
+
export const toRows = (response: {
|
|
91
|
+
records?: rdsdata.Field[][];
|
|
92
|
+
columnMetadata?: rdsdata.ColumnMetadata[];
|
|
93
|
+
}): Record<string, unknown>[] => {
|
|
94
|
+
const metadata = response.columnMetadata ?? [];
|
|
95
|
+
return (response.records ?? []).map((record) => {
|
|
96
|
+
const row: Record<string, unknown> = {};
|
|
97
|
+
record.forEach((field, index) => {
|
|
98
|
+
const column = metadata[index];
|
|
99
|
+
row[column?.label ?? column?.name ?? `column${index}`] = fromField(
|
|
100
|
+
field,
|
|
101
|
+
column?.typeName ?? undefined,
|
|
102
|
+
);
|
|
103
|
+
});
|
|
104
|
+
return row;
|
|
105
|
+
});
|
|
106
|
+
};
|
package/src/AWS/RDSData/index.ts
CHANGED
|
@@ -8,5 +8,6 @@ export * from "./ExecuteSql.ts";
|
|
|
8
8
|
export * from "./ExecuteSqlHttp.ts";
|
|
9
9
|
export * from "./ExecuteStatement.ts";
|
|
10
10
|
export * from "./ExecuteStatementHttp.ts";
|
|
11
|
+
export * from "./Marshall.ts";
|
|
11
12
|
export * from "./RollbackTransaction.ts";
|
|
12
13
|
export * from "./RollbackTransactionHttp.ts";
|
|
@@ -242,7 +242,11 @@ export const GroupProvider = () =>
|
|
|
242
242
|
Group,
|
|
243
243
|
Effect.gen(function* () {
|
|
244
244
|
const createName = Effect.fn(function* (id: string, props: GroupProps) {
|
|
245
|
-
|
|
245
|
+
// Group names must not start with 'AWS' (reserved by the service).
|
|
246
|
+
return (
|
|
247
|
+
props.groupName ??
|
|
248
|
+
(yield* createPhysicalName({ id, forbiddenPrefixes: ["aws"] }))
|
|
249
|
+
);
|
|
246
250
|
});
|
|
247
251
|
|
|
248
252
|
const readGroupTags = (groupArn: string) =>
|
|
@@ -72,11 +72,13 @@ const createNamespaceName = (
|
|
|
72
72
|
return props.namespace;
|
|
73
73
|
}
|
|
74
74
|
// Namespace names allow lowercase letters, numbers, and underscores only —
|
|
75
|
-
// no hyphens — so translate the DNS-style physical name.
|
|
75
|
+
// no hyphens — so translate the DNS-style physical name. Namespace names
|
|
76
|
+
// must not start with the reserved prefix `aws`.
|
|
76
77
|
const base = yield* createPhysicalName({
|
|
77
78
|
id,
|
|
78
79
|
maxLength: 60,
|
|
79
80
|
lowercase: true,
|
|
81
|
+
forbiddenPrefixes: ["aws"],
|
|
80
82
|
});
|
|
81
83
|
return base.replaceAll("-", "_");
|
|
82
84
|
});
|
|
@@ -100,8 +100,14 @@ const createBucketName = (id: string, props: { name?: string | undefined }) =>
|
|
|
100
100
|
if (props.name) {
|
|
101
101
|
return props.name;
|
|
102
102
|
}
|
|
103
|
-
// Table-bucket names follow S3-bucket DNS rules: lowercase, 3-63 chars
|
|
104
|
-
|
|
103
|
+
// Table-bucket names follow S3-bucket DNS rules: lowercase, 3-63 chars,
|
|
104
|
+
// and must not start with the service-reserved prefixes.
|
|
105
|
+
return yield* createPhysicalName({
|
|
106
|
+
id,
|
|
107
|
+
maxLength: 63,
|
|
108
|
+
lowercase: true,
|
|
109
|
+
forbiddenPrefixes: ["xn--", "sthree-", "amzn-s3-demo-", "aws"],
|
|
110
|
+
});
|
|
105
111
|
});
|
|
106
112
|
|
|
107
113
|
export const TableBucketProvider = () =>
|
|
@@ -128,9 +128,14 @@ export const VectorBucketProvider = () =>
|
|
|
128
128
|
id: string,
|
|
129
129
|
props: Pick<VectorBucketProps, "vectorBucketName">,
|
|
130
130
|
) {
|
|
131
|
+
// The service rejects bucket names starting with `aws` as reserved.
|
|
131
132
|
return (
|
|
132
133
|
props.vectorBucketName ??
|
|
133
|
-
(yield* createPhysicalName({
|
|
134
|
+
(yield* createPhysicalName({
|
|
135
|
+
id,
|
|
136
|
+
maxLength: 63,
|
|
137
|
+
forbiddenPrefixes: ["aws"],
|
|
138
|
+
})).toLowerCase()
|
|
134
139
|
);
|
|
135
140
|
});
|
|
136
141
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Alchemy modifications are licensed under Apache-2.0.
|
|
2
|
+
// This file includes third-party code; see /THIRD_PARTY_LICENSES.md.
|
|
1
3
|
/**
|
|
2
4
|
* CloudFront Function injection code ported from SST's Router component.
|
|
3
5
|
* These are JavaScript code strings that get injected into CloudFront Function handlers.
|
package/src/Apply.ts
CHANGED
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
missingProviderError,
|
|
37
37
|
tryFindProviderByType,
|
|
38
38
|
} from "./Provider.ts";
|
|
39
|
-
import type
|
|
39
|
+
import { stampedMode, type ProviderMode } from "./ProviderMode.ts";
|
|
40
40
|
import type { ResourceBinding } from "./Resource.ts";
|
|
41
41
|
import { Stack } from "./Stack.ts";
|
|
42
42
|
import { Stage } from "./Stage.ts";
|
|
@@ -550,6 +550,16 @@ const executeNode = (
|
|
|
550
550
|
status,
|
|
551
551
|
providerMode: node.mode,
|
|
552
552
|
});
|
|
553
|
+
// A local dev instance announces where it's serving: any
|
|
554
|
+
// local-mode row whose fresh Attributes carry a string `url`
|
|
555
|
+
// (Workers expose their dev-proxy URL this way) gets a
|
|
556
|
+
// `[id] ready at http://localhost:1337` line.
|
|
557
|
+
if (node.mode === "local") {
|
|
558
|
+
const url = (tracker[fqn]?.output as { url?: unknown })?.url;
|
|
559
|
+
if (typeof url === "string" && url.length > 0) {
|
|
560
|
+
yield* scopedSession.note(`ready at ${url}`);
|
|
561
|
+
}
|
|
562
|
+
}
|
|
553
563
|
// Emit immediately so the CLI surfaces the terminal status as soon
|
|
554
564
|
// as the resource is actually done — instead of batching every
|
|
555
565
|
// resource's "created"/"updated" event to the end of apply(), which
|
|
@@ -1037,12 +1047,12 @@ const executeNode = (
|
|
|
1037
1047
|
// Delete each old generation with the provider variant of the
|
|
1038
1048
|
// mode that created it — after a local ⇄ live switch,
|
|
1039
1049
|
// `node.provider` (the new mode) cannot tear down the other
|
|
1040
|
-
// runtime's instance.
|
|
1041
|
-
// mode-agnostic provider)
|
|
1042
|
-
//
|
|
1050
|
+
// runtime's instance. Unstamped rows (legacy or written by a
|
|
1051
|
+
// mode-agnostic provider) are physically live, unless their
|
|
1052
|
+
// attrs carry the `dev:` identity marker — see stampedMode.
|
|
1043
1053
|
const oldProvider = yield* findProviderByType(
|
|
1044
1054
|
node.resource.Type,
|
|
1045
|
-
old
|
|
1055
|
+
stampedMode(old),
|
|
1046
1056
|
);
|
|
1047
1057
|
yield* oldProvider
|
|
1048
1058
|
.delete({
|
|
@@ -1813,8 +1823,9 @@ const collectGarbage = Effect.fn(function* (
|
|
|
1813
1823
|
downstream: node.downstream,
|
|
1814
1824
|
props: node.state.props,
|
|
1815
1825
|
attr: node.state.attr,
|
|
1816
|
-
// Plan resolved this provider for the row's persisted
|
|
1817
|
-
// `providerMode` (see the deletions builder
|
|
1826
|
+
// Plan resolved this provider for the row's persisted (or
|
|
1827
|
+
// marker-inferred) `providerMode` (see the deletions builder
|
|
1828
|
+
// in Plan.ts).
|
|
1818
1829
|
provider: node.provider,
|
|
1819
1830
|
providerMode: node.state.providerMode,
|
|
1820
1831
|
}
|
|
@@ -1831,10 +1842,12 @@ const collectGarbage = Effect.fn(function* (
|
|
|
1831
1842
|
// rows (see the deletions builder in Plan.ts); this guards
|
|
1832
1843
|
// the replaced-chain generations that bypass plan. The old
|
|
1833
1844
|
// generation is torn down with the provider variant of the
|
|
1834
|
-
// mode that created it (local ⇄ live replacements)
|
|
1845
|
+
// mode that created it (local ⇄ live replacements);
|
|
1846
|
+
// unstamped rows are physically live unless their attrs
|
|
1847
|
+
// carry the `dev:` identity marker (see stampedMode).
|
|
1835
1848
|
provider: yield* tryFindProviderByType(
|
|
1836
1849
|
node.old.resourceType,
|
|
1837
|
-
node.old
|
|
1850
|
+
stampedMode(node.old),
|
|
1838
1851
|
).pipe(
|
|
1839
1852
|
Effect.flatMap(
|
|
1840
1853
|
Option.match({
|
package/src/Auth/AuthProvider.ts
CHANGED
|
@@ -40,13 +40,10 @@ const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
|
|
|
40
40
|
const INTERACTIVE_METHODS = new Set(["login", "configure"]);
|
|
41
41
|
const interactiveMutex = Semaphore.makeUnsafe(1);
|
|
42
42
|
|
|
43
|
-
export class AuthError extends Schema.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
cause: Schema.optional(Schema.Defect()),
|
|
48
|
-
},
|
|
49
|
-
) {}
|
|
43
|
+
export class AuthError extends Schema.TaggedError<AuthError>()("AuthError", {
|
|
44
|
+
message: Schema.String,
|
|
45
|
+
cause: Schema.optional(Schema.Defect()),
|
|
46
|
+
}) {}
|
|
50
47
|
|
|
51
48
|
export class AuthProviders extends Context.Service<
|
|
52
49
|
AuthProviders,
|