@vibesdotdev/infra-core 0.0.1 → 1.0.0-rc.4
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 +18 -0
- package/README.md +33 -63
- package/dist/bootstrap/seed.descriptor.d.ts +1 -1
- package/dist/bootstrap/seed.descriptor.d.ts.map +1 -1
- package/dist/bootstrap/seed.descriptor.js +1 -1
- package/dist/bootstrap/seed.descriptor.js.map +1 -1
- package/dist/bootstrap/seed.impl-shape.d.ts +1 -1
- package/dist/bootstrap/seed.impl-shape.d.ts.map +1 -1
- package/dist/bootstrap/seed.kind.d.ts +1 -3
- package/dist/bootstrap/seed.kind.d.ts.map +1 -1
- package/dist/bootstrap/seed.kind.js +17 -4
- package/dist/bootstrap/seed.kind.js.map +1 -1
- package/dist/bootstrap/seed.runner.d.ts +9 -2
- package/dist/bootstrap/seed.runner.d.ts.map +1 -1
- package/dist/bootstrap/seed.runner.js +37 -18
- package/dist/bootstrap/seed.runner.js.map +1 -1
- package/dist/capped-id.d.ts +19 -0
- package/dist/capped-id.d.ts.map +1 -0
- package/dist/capped-id.js +64 -0
- package/dist/capped-id.js.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts +23 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js +33 -0
- package/dist/cli/generate/artifact/artifact.cli-command.descriptor.js.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts +24 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.js +73 -0
- package/dist/cli/generate/artifact/artifact.cli-command.impl.js.map +1 -0
- package/dist/cli/generate/context.d.ts +17 -0
- package/dist/cli/generate/context.d.ts.map +1 -0
- package/dist/cli/generate/context.js +24 -0
- package/dist/cli/generate/context.js.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts +30 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.js +25 -0
- package/dist/cli/generate/generate/generate.cli-command.descriptor.js.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.d.ts +25 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.d.ts.map +1 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.js +64 -0
- package/dist/cli/generate/generate/generate.cli-command.impl.js.map +1 -0
- package/dist/cli/generate/generate-core.d.ts +51 -0
- package/dist/cli/generate/generate-core.d.ts.map +1 -0
- package/dist/cli/generate/generate-core.js +172 -0
- package/dist/cli/generate/generate-core.js.map +1 -0
- package/dist/cli/generate/index.d.ts +5 -0
- package/dist/cli/generate/index.d.ts.map +1 -0
- package/dist/cli/generate/index.js +5 -0
- package/dist/cli/generate/index.js.map +1 -0
- package/dist/credentials/resolve.d.ts +82 -22
- package/dist/credentials/resolve.d.ts.map +1 -1
- package/dist/credentials/resolve.js +251 -77
- package/dist/credentials/resolve.js.map +1 -1
- package/dist/deployment-environment.d.ts +30 -0
- package/dist/deployment-environment.d.ts.map +1 -0
- package/dist/deployment-environment.js +53 -0
- package/dist/deployment-environment.js.map +1 -0
- package/dist/deployment.d.ts +8 -4
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +30 -0
- package/dist/deployment.js.map +1 -1
- package/dist/doks/cloud/base.d.ts +49 -0
- package/dist/doks/cloud/base.d.ts.map +1 -0
- package/dist/doks/cloud/base.js +138 -0
- package/dist/doks/cloud/base.js.map +1 -0
- package/dist/doks/cloud/factory.d.ts +18 -0
- package/dist/doks/cloud/factory.d.ts.map +1 -0
- package/dist/doks/cloud/factory.js +22 -0
- package/dist/doks/cloud/factory.js.map +1 -0
- package/dist/doks/cloud/index.d.ts +5 -0
- package/dist/doks/cloud/index.d.ts.map +1 -0
- package/dist/doks/cloud/index.js +4 -0
- package/dist/doks/cloud/index.js.map +1 -0
- package/dist/doks/types.d.ts +95 -0
- package/dist/doks/types.d.ts.map +1 -0
- package/dist/doks/types.js +14 -0
- package/dist/doks/types.js.map +1 -0
- package/dist/generate/index.d.ts +29 -0
- package/dist/generate/index.d.ts.map +1 -0
- package/dist/generate/index.js +28 -0
- package/dist/generate/index.js.map +1 -0
- package/dist/generate/infra-generate.plugin.d.ts +3 -0
- package/dist/generate/infra-generate.plugin.d.ts.map +1 -0
- package/dist/generate/infra-generate.plugin.js +23 -0
- package/dist/generate/infra-generate.plugin.js.map +1 -0
- package/dist/generate/plugin.d.ts +2 -0
- package/dist/generate/plugin.d.ts.map +1 -0
- package/dist/generate/plugin.js +2 -0
- package/dist/generate/plugin.js.map +1 -0
- package/dist/heartbeat/cron-heartbeat.d.ts +97 -0
- package/dist/heartbeat/cron-heartbeat.d.ts.map +1 -0
- package/dist/heartbeat/cron-heartbeat.js +200 -0
- package/dist/heartbeat/cron-heartbeat.js.map +1 -0
- package/dist/index.d.ts +34 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -14
- package/dist/index.js.map +1 -1
- package/dist/infra.plugin.d.ts +1 -1
- package/dist/infra.plugin.d.ts.map +1 -1
- package/dist/infra.plugin.js +62 -12
- package/dist/infra.plugin.js.map +1 -1
- package/dist/kinds/alerts.kind.d.ts +64 -25
- package/dist/kinds/alerts.kind.d.ts.map +1 -1
- package/dist/kinds/alerts.kind.js +43 -16
- package/dist/kinds/alerts.kind.js.map +1 -1
- package/dist/kinds/artifact.kind.d.ts +58 -10
- package/dist/kinds/artifact.kind.d.ts.map +1 -1
- package/dist/kinds/artifact.kind.js +26 -9
- package/dist/kinds/artifact.kind.js.map +1 -1
- package/dist/kinds/billing.kind.d.ts +88 -0
- package/dist/kinds/billing.kind.d.ts.map +1 -0
- package/dist/kinds/billing.kind.js +48 -0
- package/dist/kinds/billing.kind.js.map +1 -0
- package/dist/kinds/build-job.kind.d.ts +381 -0
- package/dist/kinds/build-job.kind.d.ts.map +1 -0
- package/dist/kinds/build-job.kind.js +216 -0
- package/dist/kinds/build-job.kind.js.map +1 -0
- package/dist/kinds/cache.kind.d.ts +39 -92
- package/dist/kinds/cache.kind.d.ts.map +1 -1
- package/dist/kinds/cache.kind.js +26 -51
- package/dist/kinds/cache.kind.js.map +1 -1
- package/dist/kinds/cluster.kind.d.ts +154 -0
- package/dist/kinds/cluster.kind.d.ts.map +1 -0
- package/dist/kinds/cluster.kind.js +99 -0
- package/dist/kinds/cluster.kind.js.map +1 -0
- package/dist/kinds/compute-source.kind.d.ts +138 -0
- package/dist/kinds/compute-source.kind.d.ts.map +1 -0
- package/dist/kinds/compute-source.kind.js +145 -0
- package/dist/kinds/compute-source.kind.js.map +1 -0
- package/dist/kinds/compute-sources.descriptors.d.ts +45 -0
- package/dist/kinds/compute-sources.descriptors.d.ts.map +1 -0
- package/dist/kinds/compute-sources.descriptors.js +93 -0
- package/dist/kinds/compute-sources.descriptors.js.map +1 -0
- package/dist/kinds/container-registry.kind.d.ts +62 -0
- package/dist/kinds/container-registry.kind.d.ts.map +1 -0
- package/dist/kinds/container-registry.kind.js +47 -0
- package/dist/kinds/container-registry.kind.js.map +1 -0
- package/dist/kinds/database-migrator.kind.d.ts +6 -0
- package/dist/kinds/database-migrator.kind.d.ts.map +1 -0
- package/dist/kinds/database-migrator.kind.js +28 -0
- package/dist/kinds/database-migrator.kind.js.map +1 -0
- package/dist/kinds/database.kind.d.ts +114 -93
- package/dist/kinds/database.kind.d.ts.map +1 -1
- package/dist/kinds/database.kind.js +93 -54
- package/dist/kinds/database.kind.js.map +1 -1
- package/dist/kinds/deployment-provider.kind.d.ts +5 -0
- package/dist/kinds/deployment-provider.kind.d.ts.map +1 -0
- package/dist/kinds/deployment-provider.kind.js +11 -0
- package/dist/kinds/deployment-provider.kind.js.map +1 -0
- package/dist/kinds/discovery.d.ts +5 -12
- package/dist/kinds/discovery.d.ts.map +1 -1
- package/dist/kinds/discovery.js +5 -17
- package/dist/kinds/discovery.js.map +1 -1
- package/dist/kinds/dns.kind.d.ts +162 -0
- package/dist/kinds/dns.kind.d.ts.map +1 -0
- package/dist/kinds/dns.kind.js +54 -0
- package/dist/kinds/dns.kind.js.map +1 -0
- package/dist/kinds/drift.kind.d.ts +115 -0
- package/dist/kinds/drift.kind.d.ts.map +1 -0
- package/dist/kinds/drift.kind.js +60 -0
- package/dist/kinds/drift.kind.js.map +1 -0
- package/dist/kinds/edge-tls.kind.d.ts +194 -0
- package/dist/kinds/edge-tls.kind.d.ts.map +1 -0
- package/dist/kinds/edge-tls.kind.js +58 -0
- package/dist/kinds/edge-tls.kind.js.map +1 -0
- package/dist/kinds/firewall.kind.d.ts +92 -0
- package/dist/kinds/firewall.kind.d.ts.map +1 -0
- package/dist/kinds/firewall.kind.js +59 -0
- package/dist/kinds/firewall.kind.js.map +1 -0
- package/dist/kinds/git-hosting.kind.d.ts +36 -38
- package/dist/kinds/git-hosting.kind.d.ts.map +1 -1
- package/dist/kinds/git-hosting.kind.js +23 -34
- package/dist/kinds/git-hosting.kind.js.map +1 -1
- package/dist/kinds/index.d.ts +40 -15
- package/dist/kinds/index.d.ts.map +1 -1
- package/dist/kinds/index.js +39 -14
- package/dist/kinds/index.js.map +1 -1
- package/dist/kinds/inventory.kind.d.ts +326 -0
- package/dist/kinds/inventory.kind.d.ts.map +1 -0
- package/dist/kinds/inventory.kind.js +188 -0
- package/dist/kinds/inventory.kind.js.map +1 -0
- package/dist/kinds/load-balancer.kind.d.ts +135 -0
- package/dist/kinds/load-balancer.kind.d.ts.map +1 -0
- package/dist/kinds/load-balancer.kind.js +71 -0
- package/dist/kinds/load-balancer.kind.js.map +1 -0
- package/dist/kinds/logs.kind.d.ts +74 -3
- package/dist/kinds/logs.kind.d.ts.map +1 -1
- package/dist/kinds/logs.kind.js +26 -17
- package/dist/kinds/logs.kind.js.map +1 -1
- package/dist/kinds/nfs.kind.d.ts +67 -0
- package/dist/kinds/nfs.kind.d.ts.map +1 -0
- package/dist/kinds/nfs.kind.js +45 -0
- package/dist/kinds/nfs.kind.js.map +1 -0
- package/dist/kinds/node-pool.kind.d.ts +134 -0
- package/dist/kinds/node-pool.kind.d.ts.map +1 -0
- package/dist/kinds/node-pool.kind.js +88 -0
- package/dist/kinds/node-pool.kind.js.map +1 -0
- package/dist/kinds/object-storage.kind.d.ts +50 -24
- package/dist/kinds/object-storage.kind.d.ts.map +1 -1
- package/dist/kinds/object-storage.kind.js +40 -23
- package/dist/kinds/object-storage.kind.js.map +1 -1
- package/dist/kinds/observability.kind.d.ts +104 -6
- package/dist/kinds/observability.kind.d.ts.map +1 -1
- package/dist/kinds/observability.kind.js +67 -9
- package/dist/kinds/observability.kind.js.map +1 -1
- package/dist/kinds/package-registry.kind.d.ts +27 -31
- package/dist/kinds/package-registry.kind.d.ts.map +1 -1
- package/dist/kinds/package-registry.kind.js +13 -26
- package/dist/kinds/package-registry.kind.js.map +1 -1
- package/dist/kinds/queue.kind.d.ts +67 -63
- package/dist/kinds/queue.kind.d.ts.map +1 -1
- package/dist/kinds/queue.kind.js +55 -33
- package/dist/kinds/queue.kind.js.map +1 -1
- package/dist/kinds/read-descriptor.d.ts +15 -0
- package/dist/kinds/read-descriptor.d.ts.map +1 -0
- package/dist/kinds/read-descriptor.js +11 -0
- package/dist/kinds/read-descriptor.js.map +1 -0
- package/dist/kinds/rum.kind.d.ts +36 -6
- package/dist/kinds/rum.kind.d.ts.map +1 -1
- package/dist/kinds/rum.kind.js +6 -7
- package/dist/kinds/rum.kind.js.map +1 -1
- package/dist/kinds/sandbox.kind.d.ts +136 -36
- package/dist/kinds/sandbox.kind.d.ts.map +1 -1
- package/dist/kinds/sandbox.kind.js +80 -34
- package/dist/kinds/sandbox.kind.js.map +1 -1
- package/dist/kinds/select-compute-source.d.ts +72 -0
- package/dist/kinds/select-compute-source.d.ts.map +1 -0
- package/dist/kinds/select-compute-source.js +170 -0
- package/dist/kinds/select-compute-source.js.map +1 -0
- package/dist/kinds/service-release.kind.d.ts +771 -0
- package/dist/kinds/service-release.kind.d.ts.map +1 -0
- package/dist/kinds/service-release.kind.js +676 -0
- package/dist/kinds/service-release.kind.js.map +1 -0
- package/dist/kinds/spend-guard.kind.d.ts +40 -0
- package/dist/kinds/spend-guard.kind.d.ts.map +1 -0
- package/dist/kinds/spend-guard.kind.js +133 -0
- package/dist/kinds/spend-guard.kind.js.map +1 -0
- package/dist/kinds/utilization.kind.d.ts +88 -0
- package/dist/kinds/utilization.kind.d.ts.map +1 -0
- package/dist/kinds/utilization.kind.js +62 -0
- package/dist/kinds/utilization.kind.js.map +1 -0
- package/dist/kinds/volume.kind.d.ts +54 -0
- package/dist/kinds/volume.kind.d.ts.map +1 -0
- package/dist/kinds/volume.kind.js +39 -0
- package/dist/kinds/volume.kind.js.map +1 -0
- package/dist/kinds/vpc.kind.d.ts +61 -0
- package/dist/kinds/vpc.kind.d.ts.map +1 -0
- package/dist/kinds/vpc.kind.js +51 -0
- package/dist/kinds/vpc.kind.js.map +1 -0
- package/dist/kinds/web-app.kind.d.ts +115 -45
- package/dist/kinds/web-app.kind.d.ts.map +1 -1
- package/dist/kinds/web-app.kind.js +69 -42
- package/dist/kinds/web-app.kind.js.map +1 -1
- package/dist/kinds/worker.kind.d.ts +291 -188
- package/dist/kinds/worker.kind.d.ts.map +1 -1
- package/dist/kinds/worker.kind.js +45 -123
- package/dist/kinds/worker.kind.js.map +1 -1
- package/dist/schemas/database-migration.d.ts +173 -0
- package/dist/schemas/database-migration.d.ts.map +1 -0
- package/dist/schemas/database-migration.js +88 -0
- package/dist/schemas/database-migration.js.map +1 -0
- package/dist/schemas/deployment-environment.d.ts +11 -0
- package/dist/schemas/deployment-environment.d.ts.map +1 -0
- package/dist/schemas/deployment-environment.js +9 -0
- package/dist/schemas/deployment-environment.js.map +1 -0
- package/dist/schemas/deployment-provider.d.ts +336 -0
- package/dist/schemas/deployment-provider.d.ts.map +1 -0
- package/dist/schemas/deployment-provider.js +198 -0
- package/dist/schemas/deployment-provider.js.map +1 -0
- package/dist/schemas/log-stream.d.ts +27 -0
- package/dist/schemas/log-stream.d.ts.map +1 -0
- package/dist/schemas/log-stream.js +31 -0
- package/dist/schemas/log-stream.js.map +1 -0
- package/dist/schemas/spend-guard.d.ts +155 -0
- package/dist/schemas/spend-guard.d.ts.map +1 -0
- package/dist/schemas/spend-guard.js +61 -0
- package/dist/schemas/spend-guard.js.map +1 -0
- package/dist/schemas.d.ts +190 -20
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +137 -31
- package/dist/schemas.js.map +1 -1
- package/dist/service.d.ts +87 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +199 -0
- package/dist/service.js.map +1 -0
- package/dist/settle-work.d.ts +20 -0
- package/dist/settle-work.d.ts.map +1 -0
- package/dist/settle-work.js +22 -0
- package/dist/settle-work.js.map +1 -0
- package/dist/web-app-projection.d.ts +132 -0
- package/dist/web-app-projection.d.ts.map +1 -0
- package/dist/web-app-projection.js +93 -0
- package/dist/web-app-projection.js.map +1 -0
- package/package.json +89 -39
- package/SPEC.md +0 -169
- package/src/bootstrap/index.ts +0 -15
- package/src/bootstrap/seed.descriptor.ts +0 -24
- package/src/bootstrap/seed.impl-shape.ts +0 -5
- package/src/bootstrap/seed.kind.ts +0 -26
- package/src/bootstrap/seed.runner.ts +0 -87
- package/src/credentials/resolve.ts +0 -205
- package/src/deployment.ts +0 -57
- package/src/index.ts +0 -149
- package/src/infra.plugin.ts +0 -54
- package/src/kinds/alerts.kind.ts +0 -164
- package/src/kinds/artifact.kind.ts +0 -96
- package/src/kinds/cache.kind.ts +0 -104
- package/src/kinds/database.kind.ts +0 -120
- package/src/kinds/discovery.ts +0 -26
- package/src/kinds/git-hosting.kind.ts +0 -100
- package/src/kinds/index.ts +0 -139
- package/src/kinds/logs.kind.ts +0 -104
- package/src/kinds/object-storage.kind.ts +0 -101
- package/src/kinds/observability.kind.ts +0 -178
- package/src/kinds/package-registry.kind.ts +0 -95
- package/src/kinds/queue.kind.ts +0 -102
- package/src/kinds/rum.kind.ts +0 -135
- package/src/kinds/sandbox.kind.ts +0 -115
- package/src/kinds/web-app.kind.ts +0 -103
- package/src/kinds/worker.kind.ts +0 -203
- package/src/schemas.ts +0 -127
|
@@ -3,27 +3,51 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Describes a background worker process.
|
|
5
5
|
*
|
|
6
|
-
* Schema shape: strict common base + `config
|
|
6
|
+
* Schema shape: strict common base + an open, adapter-keyed `config`.
|
|
7
7
|
*
|
|
8
8
|
* - The base defines fields universal across adapters: id/kind/name +
|
|
9
9
|
* the worker shape (entrypoint, queues, concurrency, scaling, env).
|
|
10
10
|
* - Adapter-specific fields (namespace, image, healthPort, …) live under
|
|
11
|
-
* `config
|
|
11
|
+
* `config`, keyed by a non-empty `adapter` discriminator. Each adapter
|
|
12
|
+
* package defines and parses its own concrete schema (DOKS deployment and
|
|
13
|
+
* DigitalOcean Functions configs live in
|
|
14
|
+
* `@vibesdotdev/integrations-digitalocean`; Cloudflare Workers' in
|
|
15
|
+
* `@vibesdotdev/integrations-cloudflare`); this kind names no provider,
|
|
16
|
+
* so a descriptor contributed by an adapter it has never heard of still
|
|
17
|
+
* parses and the adapter validates its own grammar at resolution time.
|
|
12
18
|
*/
|
|
13
19
|
import * as z from 'zod/v4';
|
|
14
|
-
import { createRuntimeKind } from '@vibesdotdev/
|
|
15
|
-
import { RuntimeDescriptorSchema } from '@vibesdotdev/
|
|
20
|
+
import { createRuntimeKind } from '@vibesdotdev/kernel/factory/kind';
|
|
21
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
22
|
+
import { readKindDescriptor } from "./read-descriptor.js";
|
|
23
|
+
import { RuntimeScopeSchema } from '@vibesdotdev/kernel/schemas/scope';
|
|
16
24
|
import { deploymentEnvRequirementSchema } from "../schemas.js";
|
|
17
|
-
import {
|
|
25
|
+
import { INFRA_DISCOVERY_PATTERNS } from "./discovery.js";
|
|
18
26
|
export const WorkerScalingSchema = z.object({
|
|
19
27
|
min: z.number().int().nonnegative().default(1),
|
|
20
28
|
max: z.number().int().positive().default(1),
|
|
21
29
|
cpu: z.string().optional(),
|
|
22
30
|
memory: z.string().optional()
|
|
23
31
|
});
|
|
32
|
+
export const KubernetesTolerationSchema = z.object({
|
|
33
|
+
key: z.string().min(1).optional(),
|
|
34
|
+
operator: z.enum(['Exists', 'Equal']).optional(),
|
|
35
|
+
value: z.string().optional(),
|
|
36
|
+
effect: z.enum(['NoSchedule', 'PreferNoSchedule', 'NoExecute']).optional()
|
|
37
|
+
});
|
|
38
|
+
export const WorkerHostedRuntimeSchema = z.object({
|
|
39
|
+
/**
|
|
40
|
+
* Runtime scope this worker process hosts. This is distinct from the
|
|
41
|
+
* descriptor's own top-level `hardware` field, which scopes the infra
|
|
42
|
+
* descriptor/resolver itself.
|
|
43
|
+
*/
|
|
44
|
+
scope: RuntimeScopeSchema,
|
|
45
|
+
/** Queue/runtime adapter that this host should resolve explicitly, when any. */
|
|
46
|
+
adapter: z.string().min(1).optional()
|
|
47
|
+
});
|
|
24
48
|
const WorkerBaseSchema = RuntimeDescriptorSchema.extend({
|
|
25
49
|
kind: z.literal('infra/worker'),
|
|
26
|
-
/** Path to worker entrypoint (e.g., '
|
|
50
|
+
/** Path to worker entrypoint (e.g., 'workers/src/ai/entrypoint.ts'). */
|
|
27
51
|
entrypoint: z.string().min(1).optional(),
|
|
28
52
|
/** Queue names this worker consumes from. */
|
|
29
53
|
queues: z.array(z.string().min(1)).optional(),
|
|
@@ -31,141 +55,39 @@ const WorkerBaseSchema = RuntimeDescriptorSchema.extend({
|
|
|
31
55
|
concurrency: z.number().int().positive().optional(),
|
|
32
56
|
/** Scaling configuration. */
|
|
33
57
|
scaling: WorkerScalingSchema.optional(),
|
|
58
|
+
/** Runtime hosted by this worker process. */
|
|
59
|
+
runtime: WorkerHostedRuntimeSchema.optional(),
|
|
34
60
|
/** Environment variable requirements. */
|
|
35
61
|
env: z.array(deploymentEnvRequirementSchema).optional()
|
|
36
62
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
healthPath: z.string().min(1).default('/healthz'),
|
|
46
|
-
/** Readiness probe path (default: /readyz). */
|
|
47
|
-
readyPath: z.string().min(1).default('/readyz')
|
|
48
|
-
});
|
|
49
|
-
export const CloudflareWorkersWorkerConfigSchema = z.object({
|
|
50
|
-
/** Cloudflare Workers script name (e.g., "vibes-jobs"). */
|
|
51
|
-
cfWorkerName: z.string().min(1),
|
|
52
|
-
/** Path to the `_worker.js` entry point relative to outputDir. */
|
|
53
|
-
workerEntry: z.string().min(1).default('_worker.js'),
|
|
54
|
-
/** Compatibility date for wrangler. */
|
|
55
|
-
compatibilityDate: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
56
|
-
/** Compatibility flags for wrangler. */
|
|
57
|
-
compatibilityFlags: z.array(z.string()).default(['nodejs_compat']),
|
|
58
|
-
/** Environment variables to include. */
|
|
59
|
-
env: z.record(z.string(), z.string()).default({}),
|
|
60
|
-
/** Cloudflare Secrets Store ID for secret bindings. */
|
|
61
|
-
secretsStoreId: z.string().min(1).optional(),
|
|
62
|
-
/**
|
|
63
|
-
* Detailed queue-consumer config. When present, these override the
|
|
64
|
-
* coarse `queues: string[]` field on the base descriptor and let
|
|
65
|
-
* declarations control batch size, retries, and dead-letter routing.
|
|
66
|
-
*/
|
|
67
|
-
consumers: z
|
|
68
|
-
.array(z.object({
|
|
69
|
-
queue: z.string().min(1),
|
|
70
|
-
maxBatchSize: z.number().int().positive().default(10),
|
|
71
|
-
maxRetries: z.number().int().min(0).default(3),
|
|
72
|
-
deadLetterQueue: z.string().optional()
|
|
73
|
-
}))
|
|
74
|
-
.default([]),
|
|
75
|
-
/** Durable Object class bindings. */
|
|
76
|
-
durableObjects: z
|
|
77
|
-
.array(z.object({
|
|
78
|
-
binding: z.string().regex(/^[_A-Z0-9]+$/),
|
|
79
|
-
className: z.string().min(1),
|
|
80
|
-
scriptName: z.string().min(1).optional()
|
|
81
|
-
}))
|
|
82
|
-
.default([]),
|
|
83
|
-
/** Durable Object migrations. */
|
|
84
|
-
migrations: z
|
|
85
|
-
.array(z.object({
|
|
86
|
-
tag: z.string().min(1),
|
|
87
|
-
newClasses: z.array(z.string().min(1)).optional(),
|
|
88
|
-
renamedClasses: z
|
|
89
|
-
.array(z.object({ from: z.string().min(1), to: z.string().min(1) }))
|
|
90
|
-
.optional(),
|
|
91
|
-
deletedClasses: z.array(z.string().min(1)).optional(),
|
|
92
|
-
newSqliteClasses: z.array(z.string().min(1)).optional()
|
|
93
|
-
}))
|
|
94
|
-
.default([]),
|
|
95
|
-
/** Service bindings — call other Workers from this Worker. */
|
|
96
|
-
services: z
|
|
97
|
-
.array(z.object({
|
|
98
|
-
binding: z.string().regex(/^[_A-Z0-9]+$/),
|
|
99
|
-
service: z.string().min(1),
|
|
100
|
-
environment: z.string().min(1).optional()
|
|
101
|
-
}))
|
|
102
|
-
.default([]),
|
|
103
|
-
/** D1 database bindings. */
|
|
104
|
-
d1Databases: z
|
|
105
|
-
.array(z.object({
|
|
106
|
-
binding: z.string().regex(/^[_A-Z0-9]+$/),
|
|
107
|
-
databaseName: z.string().min(1),
|
|
108
|
-
databaseId: z.string().min(1)
|
|
109
|
-
}))
|
|
110
|
-
.default([]),
|
|
111
|
-
/** KV namespace bindings. */
|
|
112
|
-
kvNamespaces: z
|
|
113
|
-
.array(z.object({
|
|
114
|
-
binding: z.string().min(1),
|
|
115
|
-
id: z.string().min(1)
|
|
116
|
-
}))
|
|
117
|
-
.default([]),
|
|
118
|
-
/** R2 bucket bindings. */
|
|
119
|
-
r2Buckets: z
|
|
120
|
-
.array(z.object({
|
|
121
|
-
binding: z.string().min(1),
|
|
122
|
-
bucketName: z.string().min(1)
|
|
123
|
-
}))
|
|
124
|
-
.default([]),
|
|
125
|
-
/** Queue producer bindings (worker can also produce to queues). */
|
|
126
|
-
queueProducers: z
|
|
127
|
-
.array(z.object({
|
|
128
|
-
queue: z.string().min(1),
|
|
129
|
-
binding: z.string().min(1)
|
|
130
|
-
}))
|
|
131
|
-
.default([]),
|
|
132
|
-
/** Enable smart placement. */
|
|
133
|
-
smartPlacement: z.boolean().default(false),
|
|
134
|
-
/**
|
|
135
|
-
* Whether this is a job-consumer Worker. When true, deploy step
|
|
136
|
-
* auto-injects the JOB_RESULT_STORE Durable Object binding +
|
|
137
|
-
* initial migration via `generateJobConsumerWorkerConfig` from
|
|
138
|
-
* `@vibesdotdev/infra-cloudflare`.
|
|
139
|
-
*/
|
|
140
|
-
jobConsumer: z.boolean().default(false)
|
|
63
|
+
/**
|
|
64
|
+
* Adapter-specific configuration: the adapter id plus its own fields. Each
|
|
65
|
+
* adapter package defines and parses its own config schema; this kind names
|
|
66
|
+
* no provider, so a config for any adapter — including one contributed by a
|
|
67
|
+
* user plugin — parses here, and the adapter validates its own grammar.
|
|
68
|
+
*/
|
|
69
|
+
export const WorkerConfigSchema = z.looseObject({
|
|
70
|
+
adapter: z.string().min(1)
|
|
141
71
|
});
|
|
142
|
-
export const WorkerConfigSchema = z.union([
|
|
143
|
-
DoksDeploymentWorkerConfigSchema.extend({ adapter: z.literal('doks-deployment') }),
|
|
144
|
-
CloudflareWorkersWorkerConfigSchema.extend({ adapter: z.literal('cloudflare-workers') })
|
|
145
|
-
]);
|
|
146
72
|
export const WorkerDescriptorSchema = WorkerBaseSchema.extend({
|
|
147
|
-
/**
|
|
148
|
-
* Adapter-specific configuration. Discriminated union — each adapter
|
|
149
|
-
* package defines its own config schema under its discriminator key.
|
|
150
|
-
*/
|
|
73
|
+
/** Adapter-specific configuration, parsed by the adapter that owns it. */
|
|
151
74
|
config: WorkerConfigSchema.optional()
|
|
152
75
|
});
|
|
153
76
|
class DefaultWorkerImplementation {
|
|
154
77
|
descriptor;
|
|
155
78
|
context;
|
|
79
|
+
/** The descriptor as this kind's schema reads it. */
|
|
80
|
+
config;
|
|
156
81
|
constructor(descriptor, context) {
|
|
157
82
|
this.descriptor = descriptor;
|
|
158
83
|
this.context = context;
|
|
159
|
-
|
|
160
|
-
get config() {
|
|
161
|
-
return this.descriptor;
|
|
84
|
+
this.config = readKindDescriptor(WorkerDescriptorSchema, descriptor);
|
|
162
85
|
}
|
|
163
86
|
}
|
|
164
87
|
export const workerKind = createRuntimeKind({
|
|
165
88
|
id: 'infra/worker',
|
|
166
89
|
descriptorSchema: WorkerDescriptorSchema,
|
|
167
90
|
defaultImplementation: DefaultWorkerImplementation,
|
|
168
|
-
|
|
169
|
-
extractStem
|
|
91
|
+
discoveryPatterns: INFRA_DISCOVERY_PATTERNS
|
|
170
92
|
});
|
|
171
93
|
//# sourceMappingURL=worker.kind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.kind.js","sourceRoot":"","sources":["../../src/kinds/worker.kind.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"worker.kind.js","sourceRoot":"","sources":["../../src/kinds/worker.kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD;;;;OAIG;IACH,KAAK,EAAE,kBAAkB;IACzB,gFAAgF;IAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAE/B,wEAAwE;IACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAExC,6CAA6C;IAC7C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE7C,0BAA0B;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAEnD,6BAA6B;IAC7B,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAEvC,6CAA6C;IAC7C,OAAO,EAAE,yBAAyB,CAAC,QAAQ,EAAE;IAE7C,yCAAyC;IACzC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC7D,0EAA0E;IAC1E,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,2BAA2B;IAIf;IACA;IAJjB,qDAAqD;IAC5C,MAAM,CAAmB;IAClC,YACiB,UAA6B,EAC7B,OAAoB;QADpB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAa;QAEpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;CAED;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,CAAgD;IAC1F,EAAE,EAAE,cAAc;IAClB,gBAAgB,EAAE,sBAAsB;IACxC,qBAAqB,EAAE,2BAA2B;IAClD,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contracts of the `infra/database-migrator` kind: the targets a migrator
|
|
3
|
+
* serves, the operations a session runs, and the implementation interface
|
|
4
|
+
* every engine registers.
|
|
5
|
+
*/
|
|
6
|
+
import * as z from 'zod/v4';
|
|
7
|
+
import { type JsonObject } from '@vibesdotdev/kernel/schemas/json';
|
|
8
|
+
/** Where a migration runs: the developer's local emulation or the provider's live database. */
|
|
9
|
+
export declare const DatabaseMigrationLocationSchema: z.ZodEnum<{
|
|
10
|
+
local: "local";
|
|
11
|
+
remote: "remote";
|
|
12
|
+
}>;
|
|
13
|
+
export type DatabaseMigrationLocation = z.infer<typeof DatabaseMigrationLocationSchema>;
|
|
14
|
+
/** The migration files one database declares: a format id and its directory (absolute). */
|
|
15
|
+
export declare const DatabaseMigrationSourceSchema: z.ZodObject<{
|
|
16
|
+
format: z.ZodString;
|
|
17
|
+
directory: z.ZodString;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export type DatabaseMigrationSource = z.infer<typeof DatabaseMigrationSourceSchema>;
|
|
20
|
+
/** One database an app declares, as the migrator that serves it describes it. */
|
|
21
|
+
export declare const DatabaseMigrationTargetSchema: z.ZodObject<{
|
|
22
|
+
migrator: z.ZodString;
|
|
23
|
+
database: z.ZodString;
|
|
24
|
+
binding: z.ZodOptional<z.ZodString>;
|
|
25
|
+
appDir: z.ZodString;
|
|
26
|
+
configFile: z.ZodOptional<z.ZodString>;
|
|
27
|
+
providerEnvironment: z.ZodNullable<z.ZodString>;
|
|
28
|
+
migrations: z.ZodOptional<z.ZodObject<{
|
|
29
|
+
format: z.ZodString;
|
|
30
|
+
directory: z.ZodString;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export type DatabaseMigrationTarget = z.infer<typeof DatabaseMigrationTargetSchema>;
|
|
34
|
+
/** What the driver asks a migrator for one app. */
|
|
35
|
+
export declare const DatabaseMigrationTargetQuerySchema: z.ZodObject<{
|
|
36
|
+
appDir: z.ZodString;
|
|
37
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
38
|
+
configFile: z.ZodOptional<z.ZodString>;
|
|
39
|
+
rendered: z.ZodOptional<z.ZodType<JsonObject, JsonObject, z.core.$ZodTypeInternals<JsonObject, JsonObject>>>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export type DatabaseMigrationTargetQuery = z.infer<typeof DatabaseMigrationTargetQuerySchema>;
|
|
42
|
+
/** One applied migration as the ledger records it. */
|
|
43
|
+
export declare const DatabaseMigrationReceiptSchema: z.ZodObject<{
|
|
44
|
+
tag: z.ZodString;
|
|
45
|
+
idx: z.ZodNumber;
|
|
46
|
+
checksum: z.ZodString;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export type DatabaseMigrationReceipt = z.infer<typeof DatabaseMigrationReceiptSchema>;
|
|
49
|
+
/** One operation a session runs or describes. */
|
|
50
|
+
export declare const DatabaseMigrationOperationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
51
|
+
kind: z.ZodLiteral<"ledger-bootstrap">;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
kind: z.ZodLiteral<"ledger-read">;
|
|
54
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
55
|
+
kind: z.ZodLiteral<"ledger-record">;
|
|
56
|
+
receipts: z.ZodArray<z.ZodObject<{
|
|
57
|
+
tag: z.ZodString;
|
|
58
|
+
idx: z.ZodNumber;
|
|
59
|
+
checksum: z.ZodString;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
appliedAt: z.ZodNumber;
|
|
62
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
63
|
+
kind: z.ZodLiteral<"file">;
|
|
64
|
+
file: z.ZodString;
|
|
65
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
66
|
+
kind: z.ZodLiteral<"command">;
|
|
67
|
+
sql: z.ZodString;
|
|
68
|
+
}, z.core.$strip>], "kind">;
|
|
69
|
+
export type DatabaseMigrationOperation = z.infer<typeof DatabaseMigrationOperationSchema>;
|
|
70
|
+
/**
|
|
71
|
+
* Where an engine takes its provider credentials from. `secrets-store` (the
|
|
72
|
+
* default) resolves them through the runtime's secrets stores for the
|
|
73
|
+
* session's environment; `ambient` is the operator's explicit opt-in to the
|
|
74
|
+
* provider's own shell credentials, and never consults a store.
|
|
75
|
+
*/
|
|
76
|
+
export declare const DatabaseMigrationCredentialSourceSchema: z.ZodEnum<{
|
|
77
|
+
"secrets-store": "secrets-store";
|
|
78
|
+
ambient: "ambient";
|
|
79
|
+
}>;
|
|
80
|
+
export type DatabaseMigrationCredentialSource = z.infer<typeof DatabaseMigrationCredentialSourceSchema>;
|
|
81
|
+
/** The driver's progress sink; engines report their tooling's output through it. */
|
|
82
|
+
export interface DatabaseMigrationLog {
|
|
83
|
+
info(message: string): void;
|
|
84
|
+
warn(message: string): void;
|
|
85
|
+
log(message: string): void;
|
|
86
|
+
error(message: string): void;
|
|
87
|
+
}
|
|
88
|
+
/** The data of one session request, parsed at the driver's boundary. */
|
|
89
|
+
export declare const DatabaseMigrationSessionRequestSchema: z.ZodObject<{
|
|
90
|
+
target: z.ZodObject<{
|
|
91
|
+
migrator: z.ZodString;
|
|
92
|
+
database: z.ZodString;
|
|
93
|
+
binding: z.ZodOptional<z.ZodString>;
|
|
94
|
+
appDir: z.ZodString;
|
|
95
|
+
configFile: z.ZodOptional<z.ZodString>;
|
|
96
|
+
providerEnvironment: z.ZodNullable<z.ZodString>;
|
|
97
|
+
migrations: z.ZodOptional<z.ZodObject<{
|
|
98
|
+
format: z.ZodString;
|
|
99
|
+
directory: z.ZodString;
|
|
100
|
+
}, z.core.$strip>>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
location: z.ZodEnum<{
|
|
103
|
+
local: "local";
|
|
104
|
+
remote: "remote";
|
|
105
|
+
}>;
|
|
106
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
107
|
+
credentialSource: z.ZodDefault<z.ZodEnum<{
|
|
108
|
+
"secrets-store": "secrets-store";
|
|
109
|
+
ambient: "ambient";
|
|
110
|
+
}>>;
|
|
111
|
+
workspaceRoot: z.ZodOptional<z.ZodString>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
export type DatabaseMigrationSessionRequest = z.infer<typeof DatabaseMigrationSessionRequestSchema>;
|
|
114
|
+
export interface DatabaseMigrationSessionOptions extends DatabaseMigrationSessionRequest {
|
|
115
|
+
readonly log: DatabaseMigrationLog;
|
|
116
|
+
/**
|
|
117
|
+
* The provider environment a deploy already resolved for this session's
|
|
118
|
+
* environment. When present the engine runs its tooling under exactly these
|
|
119
|
+
* variables and resolves no credentials of its own.
|
|
120
|
+
*/
|
|
121
|
+
readonly providerVariables?: Readonly<Record<string, string>>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* One target bound at one location. Every method refuses with a typed
|
|
125
|
+
* CapabilityError carrying the tooling's diagnostic; none treats failure text
|
|
126
|
+
* as success.
|
|
127
|
+
*/
|
|
128
|
+
export interface DatabaseMigrationSession {
|
|
129
|
+
readonly target: DatabaseMigrationTarget;
|
|
130
|
+
/** The exact command a dry-run prints for `operation`; runs nothing. */
|
|
131
|
+
describe(operation: DatabaseMigrationOperation): string;
|
|
132
|
+
execute(operation: DatabaseMigrationOperation): Promise<void>;
|
|
133
|
+
/** Tags recorded in the ledger. */
|
|
134
|
+
appliedTags(): Promise<Set<string>>;
|
|
135
|
+
/** Which of `names` exist as tables. */
|
|
136
|
+
existingTables(names: readonly string[]): Promise<Set<string>>;
|
|
137
|
+
/** Rows a read-only query returns. */
|
|
138
|
+
rows(sql: string): Promise<JsonObject[]>;
|
|
139
|
+
/** Exact receipts the engine's own native ledger holds (e.g. wrangler's `d1_migrations`); empty when it keeps none. */
|
|
140
|
+
nativeAppliedTags(): Promise<Set<string>>;
|
|
141
|
+
}
|
|
142
|
+
export interface DatabaseMigratorImplementation {
|
|
143
|
+
/** The databases this migrator serves for one app; empty when the app declares none of its kind. */
|
|
144
|
+
targets(query: DatabaseMigrationTargetQuery): Promise<DatabaseMigrationTarget[]>;
|
|
145
|
+
open(options: DatabaseMigrationSessionOptions): Promise<DatabaseMigrationSession>;
|
|
146
|
+
}
|
|
147
|
+
export declare const DatabaseMigratorDescriptorSchema: z.ZodObject<{
|
|
148
|
+
id: z.ZodString;
|
|
149
|
+
name: z.ZodOptional<z.ZodString>;
|
|
150
|
+
description: z.ZodOptional<z.ZodString>;
|
|
151
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
152
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
153
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
154
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
155
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
156
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
157
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
158
|
+
config: z.ZodOptional<z.ZodUnknown>;
|
|
159
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
160
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
161
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
162
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
163
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
164
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
165
|
+
reason: z.ZodString;
|
|
166
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
167
|
+
}, z.core.$strip>]>>;
|
|
168
|
+
kind: z.ZodLiteral<"infra/database-migrator">;
|
|
169
|
+
engine: z.ZodString;
|
|
170
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
171
|
+
}, z.core.$strip>;
|
|
172
|
+
export type DatabaseMigratorDescriptor = z.infer<typeof DatabaseMigratorDescriptorSchema>;
|
|
173
|
+
//# sourceMappingURL=database-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-migration.d.ts","sourceRoot":"","sources":["../../src/schemas/database-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contracts of the `infra/database-migrator` kind: the targets a migrator
|
|
3
|
+
* serves, the operations a session runs, and the implementation interface
|
|
4
|
+
* every engine registers.
|
|
5
|
+
*/
|
|
6
|
+
import * as z from 'zod/v4';
|
|
7
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
8
|
+
import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
9
|
+
/** Where a migration runs: the developer's local emulation or the provider's live database. */
|
|
10
|
+
export const DatabaseMigrationLocationSchema = z.enum(['local', 'remote']);
|
|
11
|
+
/** The migration files one database declares: a format id and its directory (absolute). */
|
|
12
|
+
export const DatabaseMigrationSourceSchema = z.object({
|
|
13
|
+
format: z.string().min(1),
|
|
14
|
+
directory: z.string().min(1)
|
|
15
|
+
});
|
|
16
|
+
/** One database an app declares, as the migrator that serves it describes it. */
|
|
17
|
+
export const DatabaseMigrationTargetSchema = z.object({
|
|
18
|
+
/** The `infra/database-migrator` implementation id that serves this database. */
|
|
19
|
+
migrator: z.string().min(1),
|
|
20
|
+
/** The database's name at its provider. */
|
|
21
|
+
database: z.string().min(1),
|
|
22
|
+
/** The binding name the app reaches the database through, when the provider has one. */
|
|
23
|
+
binding: z.string().optional(),
|
|
24
|
+
appDir: z.string().min(1),
|
|
25
|
+
/** Alternate provider config file the target was read from, relative to `appDir`. */
|
|
26
|
+
configFile: z.string().optional(),
|
|
27
|
+
/** The provider's own name for the selected environment block; null for its top level. */
|
|
28
|
+
providerEnvironment: z.string().nullable(),
|
|
29
|
+
/** Absent when the database declares no migrations; ad-hoc SQL can still run against it. */
|
|
30
|
+
migrations: DatabaseMigrationSourceSchema.optional()
|
|
31
|
+
});
|
|
32
|
+
/** What the driver asks a migrator for one app. */
|
|
33
|
+
export const DatabaseMigrationTargetQuerySchema = z.object({
|
|
34
|
+
appDir: z.string().min(1),
|
|
35
|
+
/** The Vibes deployment environment (`production`, `staging`, `local`, ...). */
|
|
36
|
+
environment: z.string().optional(),
|
|
37
|
+
configFile: z.string().optional(),
|
|
38
|
+
/** The provider artifact the app's deployment module renders, read when the app commits none. */
|
|
39
|
+
rendered: JsonObjectSchema.optional()
|
|
40
|
+
});
|
|
41
|
+
/** One applied migration as the ledger records it. */
|
|
42
|
+
export const DatabaseMigrationReceiptSchema = z.object({
|
|
43
|
+
tag: z.string().min(1),
|
|
44
|
+
idx: z.number().int(),
|
|
45
|
+
checksum: z.string().min(1)
|
|
46
|
+
});
|
|
47
|
+
/** One operation a session runs or describes. */
|
|
48
|
+
export const DatabaseMigrationOperationSchema = z.discriminatedUnion('kind', [
|
|
49
|
+
/** Create the ledger when absent (idempotent). */
|
|
50
|
+
z.object({ kind: z.literal('ledger-bootstrap') }),
|
|
51
|
+
/** Read the ledger's applied tags. */
|
|
52
|
+
z.object({ kind: z.literal('ledger-read') }),
|
|
53
|
+
/** Record receipts after their files applied. */
|
|
54
|
+
z.object({
|
|
55
|
+
kind: z.literal('ledger-record'),
|
|
56
|
+
receipts: z.array(DatabaseMigrationReceiptSchema).min(1),
|
|
57
|
+
appliedAt: z.number().int().nonnegative()
|
|
58
|
+
}),
|
|
59
|
+
/** Run one SQL file (absolute path). */
|
|
60
|
+
z.object({ kind: z.literal('file'), file: z.string().min(1) }),
|
|
61
|
+
/** Run inline SQL. */
|
|
62
|
+
z.object({ kind: z.literal('command'), sql: z.string().min(1) })
|
|
63
|
+
]);
|
|
64
|
+
/**
|
|
65
|
+
* Where an engine takes its provider credentials from. `secrets-store` (the
|
|
66
|
+
* default) resolves them through the runtime's secrets stores for the
|
|
67
|
+
* session's environment; `ambient` is the operator's explicit opt-in to the
|
|
68
|
+
* provider's own shell credentials, and never consults a store.
|
|
69
|
+
*/
|
|
70
|
+
export const DatabaseMigrationCredentialSourceSchema = z.enum(['secrets-store', 'ambient']);
|
|
71
|
+
/** The data of one session request, parsed at the driver's boundary. */
|
|
72
|
+
export const DatabaseMigrationSessionRequestSchema = z.object({
|
|
73
|
+
target: DatabaseMigrationTargetSchema,
|
|
74
|
+
location: DatabaseMigrationLocationSchema,
|
|
75
|
+
/** The Vibes deployment environment the session acts in (credentials select by it). */
|
|
76
|
+
environment: z.string().min(1).optional(),
|
|
77
|
+
credentialSource: DatabaseMigrationCredentialSourceSchema.default('secrets-store'),
|
|
78
|
+
/** The directory the engine's tooling runs from (defaults to the target's app directory). */
|
|
79
|
+
workspaceRoot: z.string().min(1).optional()
|
|
80
|
+
});
|
|
81
|
+
export const DatabaseMigratorDescriptorSchema = RuntimeDescriptorSchema.extend({
|
|
82
|
+
kind: z.literal('infra/database-migrator'),
|
|
83
|
+
/** The SQL engine the migrator drives (`sqlite`, `postgres`, ...). */
|
|
84
|
+
engine: z.string().min(1),
|
|
85
|
+
/** The provider that hosts the databases, when one does. */
|
|
86
|
+
provider: z.string().min(1).optional()
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=database-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-migration.js","sourceRoot":"","sources":["../../src/schemas/database-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
/** An admitted provider config object: a record of arbitrary provider-defined values. */
|
|
3
|
+
export declare const ProviderConfigSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
4
|
+
export type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
|
|
5
|
+
/** What selecting one provider block yields: the block, or null when it is absent. */
|
|
6
|
+
export declare const ResolvedProviderConfigSchema: z.ZodObject<{
|
|
7
|
+
config: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
8
|
+
providerEnvironment: z.ZodNullable<z.ZodString>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export type ResolvedProviderConfig = z.infer<typeof ResolvedProviderConfigSchema>;
|
|
11
|
+
//# sourceMappingURL=deployment-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-environment.d.ts","sourceRoot":"","sources":["../../src/schemas/deployment-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,wCAAoC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,sFAAsF;AACtF,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
/** An admitted provider config object: a record of arbitrary provider-defined values. */
|
|
3
|
+
export const ProviderConfigSchema = z.record(z.string(), z.unknown());
|
|
4
|
+
/** What selecting one provider block yields: the block, or null when it is absent. */
|
|
5
|
+
export const ResolvedProviderConfigSchema = z.object({
|
|
6
|
+
config: ProviderConfigSchema.nullable(),
|
|
7
|
+
providerEnvironment: z.string().nullable()
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=deployment-environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-environment.js","sourceRoot":"","sources":["../../src/schemas/deployment-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,yFAAyF;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAGtE,sFAAsF;AACtF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
|