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
|
@@ -107,33 +107,33 @@ export declare const VersionResponse: Schema.Struct<{
|
|
|
107
107
|
export declare const GetVersion: HttpApiEndpoint.HttpApiEndpoint<"getVersion", "GET", "/version", never, never, never, never, Schema.toCodecJson<Schema.Struct<{
|
|
108
108
|
readonly version: Schema.Number;
|
|
109
109
|
}>>, never, never, never>;
|
|
110
|
-
declare const StateGroup_base: HttpApiGroup.HttpApiGroup<"state", HttpApiEndpoint.HttpApiEndpoint<"
|
|
110
|
+
declare const StateGroup_base: HttpApiGroup.HttpApiGroup<"state", HttpApiEndpoint.HttpApiEndpoint<"deleteStack", "DELETE", "/state/stacks/:stack", Schema.toCodecStringTree<Schema.Struct<{
|
|
111
111
|
readonly stack: Schema.String;
|
|
112
112
|
}>>, Schema.toCodecStringTree<Schema.Struct<{
|
|
113
113
|
readonly stage: Schema.optional<Schema.String>;
|
|
114
|
-
}>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"
|
|
114
|
+
}>>, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"deleteState", "DELETE", "/state/stacks/:stack/stages/:stage/resources/:fqn", Schema.toCodecStringTree<Schema.Struct<{
|
|
115
115
|
readonly stack: Schema.String;
|
|
116
|
-
|
|
116
|
+
readonly stage: Schema.String;
|
|
117
|
+
readonly fqn: Schema.String;
|
|
118
|
+
}>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getReplacedResources", "GET", "/state/stacks/:stack/stages/:stage/replaced-resources", Schema.toCodecStringTree<Schema.Struct<{
|
|
117
119
|
readonly stack: Schema.String;
|
|
118
120
|
readonly stage: Schema.String;
|
|
119
121
|
}>>, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.Any>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getStackOutput", "GET", "/state/stacks/:stack/stages/:stage/output", Schema.toCodecStringTree<Schema.Struct<{
|
|
120
122
|
readonly stack: Schema.String;
|
|
121
123
|
readonly stage: Schema.String;
|
|
122
|
-
}>>, never, never, never, Schema.toCodecJson<Schema.UndefinedOr<Schema.Any>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"
|
|
124
|
+
}>>, never, never, never, Schema.toCodecJson<Schema.UndefinedOr<Schema.Any>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getState", "GET", "/state/stacks/:stack/stages/:stage/resources/:fqn", Schema.toCodecStringTree<Schema.Struct<{
|
|
123
125
|
readonly stack: Schema.String;
|
|
124
126
|
readonly stage: Schema.String;
|
|
125
|
-
|
|
127
|
+
readonly fqn: Schema.String;
|
|
128
|
+
}>>, never, never, never, Schema.toCodecJson<Schema.UndefinedOr<Schema.Any>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"listResources", "GET", "/state/stacks/:stack/stages/:stage/resources", Schema.toCodecStringTree<Schema.Struct<{
|
|
126
129
|
readonly stack: Schema.String;
|
|
127
130
|
readonly stage: Schema.String;
|
|
128
|
-
}>>, never, Schema.toCodecJson<Schema.
|
|
131
|
+
}>>, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.String>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"listStacks", "GET", "/state/stacks", never, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.String>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"listStages", "GET", "/state/stacks/:stack/stages", Schema.toCodecStringTree<Schema.Struct<{
|
|
129
132
|
readonly stack: Schema.String;
|
|
130
|
-
|
|
131
|
-
readonly fqn: Schema.String;
|
|
132
|
-
}>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getState", "GET", "/state/stacks/:stack/stages/:stage/resources/:fqn", Schema.toCodecStringTree<Schema.Struct<{
|
|
133
|
+
}>>, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.String>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"setStackOutput", "PUT", "/state/stacks/:stack/stages/:stage/output", Schema.toCodecStringTree<Schema.Struct<{
|
|
133
134
|
readonly stack: Schema.String;
|
|
134
135
|
readonly stage: Schema.String;
|
|
135
|
-
|
|
136
|
-
}>>, never, never, never, Schema.toCodecJson<Schema.UndefinedOr<Schema.Any>>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"setState", "PUT", "/state/stacks/:stack/stages/:stage/resources/:fqn", Schema.toCodecStringTree<Schema.Struct<{
|
|
136
|
+
}>>, never, Schema.toCodecJson<Schema.Any>, never, Schema.toCodecJson<Schema.Any>, never, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"setState", "PUT", "/state/stacks/:stack/stages/:stage/resources/:fqn", Schema.toCodecStringTree<Schema.Struct<{
|
|
137
137
|
readonly stack: Schema.String;
|
|
138
138
|
readonly stage: Schema.String;
|
|
139
139
|
readonly fqn: Schema.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAMpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAiBvE,eAAO,MAAM,UAAU,oEAepB,CAAC;AAEJ,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAMpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAiBvE,eAAO,MAAM,UAAU,oEAepB,CAAC;AAEJ,eAAO,MAAM,cAAc,6EA6OvB,CAAC"}
|
package/lib/State/LocalState.js
CHANGED
|
@@ -120,7 +120,23 @@ export const makeLocalState = () => Effect.gen(function* () {
|
|
|
120
120
|
created.delete(cached);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
}))
|
|
123
|
+
})),
|
|
124
|
+
// Deleting the last stage leaves an empty `{stack}/` husk that
|
|
125
|
+
// `listStacks` would keep reporting forever (and durable
|
|
126
|
+
// per-test scratch stacks would accumulate one per test). Prune
|
|
127
|
+
// it when no stages remain. The read-then-remove is not racy:
|
|
128
|
+
// nothing recreates a stage dir concurrently with the session
|
|
129
|
+
// that is deleting it (same invariant as recoverMissingDir).
|
|
130
|
+
Effect.tap(() => {
|
|
131
|
+
if (stage === undefined)
|
|
132
|
+
return Effect.void;
|
|
133
|
+
const stackDir = path.join(stateDir, stack);
|
|
134
|
+
return fs.readDirectory(stackDir).pipe(Effect.flatMap((entries) => entries.length === 0
|
|
135
|
+
? fs
|
|
136
|
+
.remove(stackDir, { recursive: true })
|
|
137
|
+
.pipe(Effect.tap(() => Effect.sync(() => created.delete(stackDir))))
|
|
138
|
+
: Effect.void), Effect.ignore);
|
|
139
|
+
}));
|
|
124
140
|
}),
|
|
125
141
|
list: (request) => fs.readDirectory(stageDir(request)).pipe((eff) => recoverMissingDir(stageDir(request), eff), Effect.map((files) => (files ?? [])
|
|
126
142
|
// Only decode committed state files. Exclude:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAC7B,KAAK,CAAC,MAAM,CACV,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAElC,CAAC;IAEJ,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC,IAAI,CAChC,oBAAoB,EACpB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAC/B,CAAC;IAEF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,GAAkB,EAAE,EAAE,CAClC,MAAM,CAAC,IAAI,CACT,IAAI,eAAe,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG;KACX,CAAC,CACH,CAAC;IAEJ,MAAM,OAAO,GAAG,CAAI,MAA8C,EAAE,EAAE,CACpE,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrD,CACF,CAAC;IAEJ,mEAAmE;IACnE,EAAE;IACF,oEAAoE;IACpE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,qEAAqE;IACrE,gEAAgE;IAChE,qEAAqE;IACrE,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,CACxB,GAAW,EACX,MAA8C,EAC9C,EAAE,CACF,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAClC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;YACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,eAAe,CAAC;gBAClB,OAAO,EACL,sCAAsC,GAAG,gCAAgC;oBACzE,yEAAyE;oBACzE,gDAAgD;gBAClD,KAAK,EAAE,CAAC;aACT,CAAC,CACH;YACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAClB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC,EAAE,EAAE,CACtE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,EACL,KAAK,EACL,GAAG,GAKJ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC,EAAE,EAAE,CACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAE7D,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE,CACrD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;aAChD,QAAQ,CAAC,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE,CACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,EAAE;aACC,aAAa,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAiB;QAC1B,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACrD,UAAU,EAAE,GAAG,EAAE,CACf,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7B,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CACnC;QACH,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAC5B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAC/C,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CACnC;QACH,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CACf,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EACjD,OAAO,CACR;QACH,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO;YAChD,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACvB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,KAAK,CAAC,GAAG,CAAC;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG;aACJ,CAAC,CACH,CACF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,WAAW,CACT,QAAQ,CAAC,OAAO,CAAC,EACjB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACpD,CACF,EACD,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAChC;QACH,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/D,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,GAAG,GACP,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC,iEAAiE;YACjE,kEAAkE;YAClE,mEAAmE;YACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC;QACJ,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACtC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAClD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,CAAC,KAAK,IAAI,EAAE,CAAC;YACX,8CAA8C;YAC9C,gEAAgE;YAChE,iEAAiE;YACjE,sDAAsD;YACtD,4BAA4B;YAC5B,+DAA+D;YAC/D,wDAAwD;aACvD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,uBAAuB,CAC7D;aACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CACzD,CACF;QACH,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CACrB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EACjD,OAAO,CACR;QACH,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,WAAW,CACT,UAAU,CAAC,OAAO,CAAC,EACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,KAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC3D,CACF,EACD,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAChC;KACJ,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,8 +49,12 @@ interface BaseResourceState {
|
|
|
49
49
|
*
|
|
50
50
|
* `undefined` means either a mode-agnostic provider (single
|
|
51
51
|
* implementation serves both dev and deploy) or a legacy row written
|
|
52
|
-
* before modes were persisted — both
|
|
53
|
-
*
|
|
52
|
+
* before modes were persisted — both acted on the real cloud, so an
|
|
53
|
+
* unstamped row is assumed **live**, unless its attrs carry a local
|
|
54
|
+
* identity marker (`dev:`-prefixed ids) proving it was reconciled
|
|
55
|
+
* locally, in which case it is assumed **local** (see `stampedMode`).
|
|
56
|
+
* Same-mode runs see no churn; a run in the other mode replaces it like
|
|
57
|
+
* any stamped row.
|
|
54
58
|
*/
|
|
55
59
|
providerMode?: ProviderMode;
|
|
56
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceState.d.ts","sourceRoot":"","sources":["../../src/State/ResourceState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAChC,sBAAsB,GACtB,qBAAqB,CAAC;AAC1B,MAAM,MAAM,2BAA2B,GACnC,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,GACrB,wBAAwB,CAAC;AAE7B,UAAU,iBAAiB;IACzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,MAAM,EAAE,cAAc,CAAC;IACvB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iDAAiD;IACjD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,sEAAsE;IACtE,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,yCAAyC;IACzC,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC
|
|
1
|
+
{"version":3,"file":"ResourceState.d.ts","sourceRoot":"","sources":["../../src/State/ResourceState.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,14 @@ export declare const REDACTED_MARKER = "__redacted__";
|
|
|
12
12
|
* decoding `Duration.toJSON`'s `{_id,_tag,...}` shape.
|
|
13
13
|
*/
|
|
14
14
|
export declare const DURATION_MARKER = "__duration__";
|
|
15
|
+
/**
|
|
16
|
+
* JSON marker used to tag a `Date` value when writing state. The reviver
|
|
17
|
+
* recognises objects with exactly this key and rebuilds a real `Date`
|
|
18
|
+
* instance on read, so a Date-typed prop read back out of persisted state
|
|
19
|
+
* (`olds` in provider `diff`/`delete`/`read`) is a `Date` again — not the
|
|
20
|
+
* bare ISO string `JSON.stringify` would otherwise leave behind.
|
|
21
|
+
*/
|
|
22
|
+
export declare const DATE_MARKER = "__date__";
|
|
15
23
|
/**
|
|
16
24
|
* Recursively encode a state value for JSON serialisation.
|
|
17
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateEncoding.d.ts","sourceRoot":"","sources":["../../src/State/StateEncoding.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"StateEncoding.d.ts","sourceRoot":"","sources":["../../src/State/StateEncoding.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aAAa,CAAC;AAiCtC;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,OAmD5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,SAAS,OAAO,KAAG,OAoB1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OAqBrD,CAAC"}
|
|
@@ -15,6 +15,20 @@ export const REDACTED_MARKER = "__redacted__";
|
|
|
15
15
|
* decoding `Duration.toJSON`'s `{_id,_tag,...}` shape.
|
|
16
16
|
*/
|
|
17
17
|
export const DURATION_MARKER = "__duration__";
|
|
18
|
+
/**
|
|
19
|
+
* JSON marker used to tag a `Date` value when writing state. The reviver
|
|
20
|
+
* recognises objects with exactly this key and rebuilds a real `Date`
|
|
21
|
+
* instance on read, so a Date-typed prop read back out of persisted state
|
|
22
|
+
* (`olds` in provider `diff`/`delete`/`read`) is a `Date` again — not the
|
|
23
|
+
* bare ISO string `JSON.stringify` would otherwise leave behind.
|
|
24
|
+
*/
|
|
25
|
+
export const DATE_MARKER = "__date__";
|
|
26
|
+
const decodeDate = (encoded) => {
|
|
27
|
+
if (typeof encoded !== "string")
|
|
28
|
+
return undefined;
|
|
29
|
+
const date = new Date(encoded);
|
|
30
|
+
return Number.isNaN(date.getTime()) ? undefined : date;
|
|
31
|
+
};
|
|
18
32
|
const decodeDuration = (encoded) => {
|
|
19
33
|
if (encoded === null || typeof encoded !== "object")
|
|
20
34
|
return undefined;
|
|
@@ -68,6 +82,16 @@ export const encodeState = (value) => {
|
|
|
68
82
|
[DURATION_MARKER]: value.toJSON(),
|
|
69
83
|
};
|
|
70
84
|
}
|
|
85
|
+
// Dates are serializable leaves and must round-trip: walking one
|
|
86
|
+
// structurally would persist `{}` (`Object.entries(new Date())` is empty)
|
|
87
|
+
// — and every later plan would then diff the empty object against the
|
|
88
|
+
// program's Date and churn a phantom update forever. Tag with our marker
|
|
89
|
+
// so the reviver rebuilds a real Date instance; rows written before the
|
|
90
|
+
// marker carry a bare ISO string, which `canonicalize` in Diff.ts still
|
|
91
|
+
// compares as equal to a live Date, so legacy rows never churn either.
|
|
92
|
+
if (value instanceof Date) {
|
|
93
|
+
return { [DATE_MARKER]: value.toJSON() };
|
|
94
|
+
}
|
|
71
95
|
if (isResource(value)) {
|
|
72
96
|
return {
|
|
73
97
|
id: value.LogicalId,
|
|
@@ -102,6 +126,15 @@ export const reviveState = (_key, value) => {
|
|
|
102
126
|
if (decoded !== undefined)
|
|
103
127
|
return decoded;
|
|
104
128
|
}
|
|
129
|
+
// Exact single-key match only — unlike the legacy REDACTED/DURATION
|
|
130
|
+
// markers there is no pre-marker data to tolerate, so a user object
|
|
131
|
+
// that merely CONTAINS the key alongside other fields is never
|
|
132
|
+
// collapsed into a Date (mirrors reviveStateRecursive's strictness).
|
|
133
|
+
if (DATE_MARKER in obj && Object.keys(obj).length === 1) {
|
|
134
|
+
const decoded = decodeDate(obj[DATE_MARKER]);
|
|
135
|
+
if (decoded !== undefined)
|
|
136
|
+
return decoded;
|
|
137
|
+
}
|
|
105
138
|
}
|
|
106
139
|
return value;
|
|
107
140
|
};
|
|
@@ -127,6 +160,11 @@ export const reviveStateRecursive = (value) => {
|
|
|
127
160
|
if (decoded !== undefined)
|
|
128
161
|
return decoded;
|
|
129
162
|
}
|
|
163
|
+
if (keys.length === 1 && keys[0] === DATE_MARKER) {
|
|
164
|
+
const decoded = decodeDate(obj[DATE_MARKER]);
|
|
165
|
+
if (decoded !== undefined)
|
|
166
|
+
return decoded;
|
|
167
|
+
}
|
|
130
168
|
const result = {};
|
|
131
169
|
for (const [k, v] of Object.entries(obj)) {
|
|
132
170
|
result[k] = reviveStateRecursive(v);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateEncoding.js","sourceRoot":"","sources":["../../src/State/StateEncoding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StateEncoding.js","sourceRoot":"","sources":["../../src/State/StateEncoding.ts"],"names":[],"mappings":"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"}
|
package/lib/Sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sync.d.ts","sourceRoot":"","sources":["../src/Sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Sync.d.ts","sourceRoot":"","sources":["../src/Sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,EAEL,KAAK,EAIN,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,IAAI,UACR;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,YAC7B,WAAW,KACnB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAyPpC,CAAC;AAqCJ,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,UAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CA+EnC,CAAC"}
|
package/lib/Sync.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Artifacts, ArtifactStore, createArtifactStore, ensureArtifactStore, mak
|
|
|
7
7
|
import { deepEqual } from "./Diff.js";
|
|
8
8
|
import { InstanceId } from "./InstanceId.js";
|
|
9
9
|
import { findProviderByType, Provider } from "./Provider.js";
|
|
10
|
+
import { stampedMode } from "./ProviderMode.js";
|
|
10
11
|
import { isActionState, State, } from "./State/index.js";
|
|
11
12
|
import { recordResourceOp } from "./Telemetry/Metrics.js";
|
|
12
13
|
const noopSession = {
|
|
@@ -96,7 +97,8 @@ export const sync = (stack, options = {}) => Effect.gen(function* () {
|
|
|
96
97
|
}
|
|
97
98
|
// Observe with the provider variant of the mode that created the row —
|
|
98
99
|
// a local dev worker's state must be read by the local provider.
|
|
99
|
-
|
|
100
|
+
// Legacy unstamped rows infer "local" from a `dev:` identity marker.
|
|
101
|
+
const provider = yield* findProviderByType(resourceType, stampedMode(old));
|
|
100
102
|
if (!provider.read) {
|
|
101
103
|
return yield* skip(`provider '${resourceType}' does not implement read`);
|
|
102
104
|
}
|
|
@@ -261,7 +263,7 @@ export const plan = (stack) => Effect.gen(function* () {
|
|
|
261
263
|
continue;
|
|
262
264
|
// Repair the row with the provider mode that created it (sync never
|
|
263
265
|
// switches modes — a local ⇄ live switch is a plan-time replacement).
|
|
264
|
-
const provider = yield* findProviderByType(persisted.resourceType, persisted
|
|
266
|
+
const provider = yield* findProviderByType(persisted.resourceType, stampedMode(persisted));
|
|
265
267
|
const action = r.action === "drifted"
|
|
266
268
|
? "update"
|
|
267
269
|
: r.action === "missing"
|
package/lib/Sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sync.js","sourceRoot":"","sources":["../src/Sync.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Sync.js","sourceRoot":"","sources":["../src/Sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alchemy.d.ts","sourceRoot":"","sources":["../../src/Test/Alchemy.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;;GAOG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"Alchemy.d.ts","sourceRoot":"","sources":["../../src/Test/Alchemy.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;;GAOG;AACH,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,WAAW,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC7C,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,UAAU,MAAM;IACd,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3E,MAAM,EAAE,CACN,SAAS,EAAE,OAAO,KACf,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3E,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,CACE,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1D,OAAO,CAAC,EAAE,WAAW,GACpB,IAAI,CAAC;IACR,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1D,OAAO,CAAC,EAAE,WAAW,KAClB,IAAI,CAAC;IACV,MAAM,EAAE,CACN,SAAS,EAAE,OAAO,KACf,CACH,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1D,OAAO,CAAC,EAAE,WAAW,KAClB,IAAI,CAAC;CACX;AAED,UAAU,WAAW;IACnB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtD;AAED,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,CACN,SAAS,EAAE,OAAO,KACf,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5D;AAED,UAAU,WAAW;IACnB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,EACR,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,EAC3D,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,EAAE,CACP,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,GAAG,cAAc,CAAC,EACxD,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;CACtC;AAID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,GAAG,GAAG,WAAW,WAAW,CAAC,IAAI,CAAC,KAAG,OA0L7D,CAAC"}
|
package/lib/Test/Alchemy.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* runner can inject a buffering Logger/Console per test and manage
|
|
8
8
|
* concurrency + timeouts itself.
|
|
9
9
|
*/
|
|
10
|
-
import { exclusiveOf, registerHook, registerTest, retryOf, timeoutOf, } from "alchemy-test";
|
|
10
|
+
import { currentFile, exclusiveOf, registerHook, registerTest, retryOf, timeoutOf, } from "alchemy-test";
|
|
11
11
|
import * as Effect from "effect/Effect";
|
|
12
12
|
import * as Exit from "effect/Exit";
|
|
13
13
|
import * as Scope from "effect/Scope";
|
|
@@ -57,28 +57,38 @@ export const make = (options) => {
|
|
|
57
57
|
test.skipIf = (condition) => (name, eff, opts) => addTest(name, eff, opts, condition ? "skip" : "run");
|
|
58
58
|
test.only = (name, eff, opts) => addTest(name, eff, opts, "only");
|
|
59
59
|
test.todo = (name, eff, opts) => addTest(name, eff, opts, "todo");
|
|
60
|
-
const wrapProvider = (name, fn) => {
|
|
61
|
-
|
|
60
|
+
const wrapProvider = (name, fn, file) => {
|
|
61
|
+
// Durable, file-namespaced scratch state (`.alchemy/state`). A run that
|
|
62
|
+
// dies mid-delete — e.g. the runner abandons teardown 10s after a test
|
|
63
|
+
// timeout while a CloudFront disable-wait is still in flight — leaves
|
|
64
|
+
// its `deleting` rows on disk, so the NEXT run's leading
|
|
65
|
+
// `stack.destroy()` (or the ensuring teardown below) resumes and drains
|
|
66
|
+
// them instead of planning "no changes" and silently orphaning the
|
|
67
|
+
// cloud resource.
|
|
68
|
+
const scratch = Core.scratchStack(options, name, file);
|
|
62
69
|
// Guarantee teardown. `test.provider` has no built-in cleanup, so a body
|
|
63
70
|
// that fails (assertion, API error like a 409/Unauthorized) or is
|
|
64
71
|
// interrupted (timeout) BEFORE its trailing `stack.destroy()` would
|
|
65
|
-
// otherwise leak every cloud resource it deployed
|
|
66
|
-
// in-memory state is discarded with the process, so no later run can
|
|
67
|
-
// reclaim the orphan (only an account-wide `nuke` can).
|
|
72
|
+
// otherwise leak every cloud resource it deployed.
|
|
68
73
|
// `scratch.destroy()` is idempotent — a no-op when the body already
|
|
69
74
|
// destroyed, and it reclaims the orphans otherwise. `Effect.ensuring`
|
|
70
75
|
// runs the finalizer on success, failure, AND interruption.
|
|
71
76
|
const body = Core.withProviders(fn(scratch), options, scratch.name).pipe(Effect.ensuring(scratch.destroy().pipe(Effect.ignore)));
|
|
72
77
|
return Core.toEffect(body, { ...options, state: scratch.state }, sharedScope, sidecar);
|
|
73
78
|
};
|
|
74
|
-
const addProvider = (name, fn, opts, mode) =>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
const addProvider = (name, fn, opts, mode) => {
|
|
80
|
+
// Captured at registration (module evaluation during collection) — the
|
|
81
|
+
// AsyncLocalStorage file context is gone by the time the body runs.
|
|
82
|
+
const file = currentFile();
|
|
83
|
+
registerTest({
|
|
84
|
+
name,
|
|
85
|
+
mode,
|
|
86
|
+
exclusive: exclusiveOf(opts),
|
|
87
|
+
retry: retryOf(opts),
|
|
88
|
+
timeout: timeoutOf(opts),
|
|
89
|
+
body: mode === "skip" ? undefined : () => wrapProvider(name, fn, file),
|
|
90
|
+
});
|
|
91
|
+
};
|
|
82
92
|
const provider = ((name, fn, opts) => {
|
|
83
93
|
addProvider(name, fn, opts, "run");
|
|
84
94
|
});
|
package/lib/Test/Alchemy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alchemy.js","sourceRoot":"","sources":["../../src/Test/Alchemy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Alchemy.js","sourceRoot":"","sources":["../../src/Test/Alchemy.ts"],"names":[],"mappings":"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"}
|
package/lib/Test/Core.d.ts
CHANGED
|
@@ -144,11 +144,21 @@ export declare const destroy: (options: MakeOptions, stack: TestEffect<CompiledS
|
|
|
144
144
|
/**
|
|
145
145
|
* In-test scratch stack handed to `test.provider(name, (stack) => ...)`.
|
|
146
146
|
*
|
|
147
|
-
* Each scratch stack owns a private
|
|
148
|
-
*
|
|
149
|
-
*
|
|
147
|
+
* Each scratch stack owns a private state store that is shared between
|
|
148
|
+
* successive `deploy`/`destroy` calls AND visible to the user's test body
|
|
149
|
+
* (so `yield* State` / `state.get(...)` see the same store the deploys
|
|
150
150
|
* mutated). This makes create / update / replace / delete paths exercisable
|
|
151
|
-
* without polluting
|
|
151
|
+
* without polluting other tests in the same file.
|
|
152
|
+
*
|
|
153
|
+
* When the adapter can name the test file (the alchemy-test runner), the
|
|
154
|
+
* store is DURABLE — rows live under `.alchemy/state/{file}-{test}/{stage}`
|
|
155
|
+
* on disk. Durability is what makes an interrupted destroy recoverable: the
|
|
156
|
+
* engine persists a `deleting` row before every `provider.delete` and only
|
|
157
|
+
* drops it on success, so a run killed mid-delete (e.g. the runner's
|
|
158
|
+
* teardown-abandonment after a test timeout) leaves resumable rows that the
|
|
159
|
+
* NEXT run's leading `stack.destroy()` (or the `Effect.ensuring` teardown)
|
|
160
|
+
* picks up and drains. An in-memory scratch dies with the process, silently
|
|
161
|
+
* orphaning every cloud resource whose delete was still in flight.
|
|
152
162
|
*/
|
|
153
163
|
export interface ScratchStack<ROut = any> {
|
|
154
164
|
readonly name: string;
|
|
@@ -167,9 +177,16 @@ export interface ScratchStack<ROut = any> {
|
|
|
167
177
|
destroy(): Effect.Effect<void, any, never>;
|
|
168
178
|
}
|
|
169
179
|
/**
|
|
170
|
-
* Build a fresh `ScratchStack` for `test.provider`.
|
|
171
|
-
*
|
|
172
|
-
*
|
|
180
|
+
* Build a fresh `ScratchStack` for `test.provider`.
|
|
181
|
+
*
|
|
182
|
+
* With `file` (the registration-time test file, supplied by the
|
|
183
|
+
* alchemy-test adapter): the store is the durable `.alchemy/state` local
|
|
184
|
+
* store and the stack name is namespaced by file so interrupted destroys
|
|
185
|
+
* leave resumable rows for the next run (see {@link ScratchStack}).
|
|
186
|
+
*
|
|
187
|
+
* Without `file` (bun/vitest adapters, which cannot name their file at
|
|
188
|
+
* registration time): falls back to a private in-memory store — isolated,
|
|
189
|
+
* but discarded with the process.
|
|
173
190
|
*/
|
|
174
|
-
export declare const scratchStack: <ROut>(options: MakeOptions<ROut>, name: string) => ScratchStack<ROut>;
|
|
191
|
+
export declare const scratchStack: <ROut>(options: MakeOptions<ROut>, name: string, file?: string) => ScratchStack<ROut>;
|
|
175
192
|
//# sourceMappingURL=Core.d.ts.map
|
package/lib/Test/Core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAS1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAK3C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,IAAI,GAAG,GAAG;IACrC,uFAAuF;IACvF,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACnD,0GAA0G;IAC1G,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACvD,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,YAAa;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,wQAYvD,CAAC;AAEJ,+EAA+E;AAC/E,eAAO,MAAM,UAAU,YAAa;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,OAIvD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,OACd,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,YACnB,WAAW,KACnB,aAAa,GAAG,SAmClB,CAAC;AAQF,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAWlE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,UAChB,UAAU,CAAC,CAAC,CAAC,WACZ,WAAW,UACZ,KAAK,CAAC,KAAK,YACT,aAAa,KACtB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAuB7B,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,GAAG,GAAI,CAAC,UACX,UAAU,CAAC,CAAC,CAAC,WACZ,WAAW,UACZ,KAAK,CAAC,KAAK,YACT,aAAa,KACtB,OAAO,CAAC,CAAC,CAAiE,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,UACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WACrB,WAAW,CAAC,IAAI,CAAC,aACf,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAgBK,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,WACb,WAAW,SACb,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,gBAC7C;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,0bAOf,CAAC;AAEzC,eAAO,MAAM,OAAO,YACT,WAAW,SACb,UAAU,CAAC,aAAa,EAAE,KAAK,GAAG,cAAc,CAAC,gBAC1C;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,mbAOf,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY,CAAC,IAAI,GAAG,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;IACtE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;CAC5C;AAgBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,WACtB,WAAW,CAAC,IAAI,CAAC,QACpB,MAAM,SACL,MAAM,KACZ,YAAY,CAAC,IAAI,CAmEnB,CAAC"}
|
package/lib/Test/Core.js
CHANGED
|
@@ -137,15 +137,32 @@ export const destroy = (options, stack, callOptions) => _destroy({
|
|
|
137
137
|
}).pipe(Effect.provide(TelemetryLive));
|
|
138
138
|
const sanitizeStackName = (name) => name.replaceAll(/[^a-zA-Z0-9_]/g, "-").replace(/-+/g, "-");
|
|
139
139
|
/**
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
140
|
+
* Turn a test-file path (relative to the run root) into a stack-name
|
|
141
|
+
* namespace: `test/AWS/Website/Router.test.ts` -> `AWS/Website/Router`.
|
|
142
|
+
* Test names repeat across files (e.g. "create and delete bucket with
|
|
143
|
+
* default props"), so the durable per-test store MUST be namespaced by file
|
|
144
|
+
* or two concurrently-running same-named tests would read, write and — far
|
|
145
|
+
* worse — destroy each other's rows.
|
|
143
146
|
*/
|
|
144
|
-
|
|
147
|
+
const scratchNamespace = (file) => file.replace(/^test[/\\]/, "").replace(/\.test\.ts$/, "");
|
|
148
|
+
/**
|
|
149
|
+
* Build a fresh `ScratchStack` for `test.provider`.
|
|
150
|
+
*
|
|
151
|
+
* With `file` (the registration-time test file, supplied by the
|
|
152
|
+
* alchemy-test adapter): the store is the durable `.alchemy/state` local
|
|
153
|
+
* store and the stack name is namespaced by file so interrupted destroys
|
|
154
|
+
* leave resumable rows for the next run (see {@link ScratchStack}).
|
|
155
|
+
*
|
|
156
|
+
* Without `file` (bun/vitest adapters, which cannot name their file at
|
|
157
|
+
* registration time): falls back to a private in-memory store — isolated,
|
|
158
|
+
* but discarded with the process.
|
|
159
|
+
*/
|
|
160
|
+
export const scratchStack = (options, name, file) => {
|
|
145
161
|
const stage = options.stage ?? "test";
|
|
146
|
-
const stackName = sanitizeStackName(name);
|
|
147
|
-
const
|
|
148
|
-
|
|
162
|
+
const stackName = sanitizeStackName(file === undefined ? name : `${scratchNamespace(file)}-${name}`);
|
|
163
|
+
const stateLayer = file === undefined
|
|
164
|
+
? Layer.succeed(State.State, State.InMemoryService({}))
|
|
165
|
+
: Layer.provide(State.localState(), PlatformServices);
|
|
149
166
|
const buildAndApply = (effect) => effect.pipe(makeStack({
|
|
150
167
|
name: stackName,
|
|
151
168
|
providers: options.providers,
|