@vibesdotdev/infra-core 0.0.2 → 1.0.0-rc.5
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 +27 -1
- 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 +35 -21
- 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 +21 -32
- 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 +327 -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 +139 -33
- package/dist/kinds/package-registry.kind.d.ts.map +1 -1
- package/dist/kinds/package-registry.kind.js +55 -25
- 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 +293 -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 +87 -36
- 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
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
/** USD a script may spend in the trailing hour and in the calendar month. */
|
|
3
|
+
export declare const SpendBudgetSchema: z.ZodObject<{
|
|
4
|
+
hourlyUsd: z.ZodNumber;
|
|
5
|
+
monthlyUsd: z.ZodNumber;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type SpendBudget = z.infer<typeof SpendBudgetSchema>;
|
|
8
|
+
/** A script with no declared budget is capped at this ceiling. */
|
|
9
|
+
export declare const DEFAULT_SPEND_BUDGET: SpendBudget;
|
|
10
|
+
/**
|
|
11
|
+
* `stub` takes the script out of service; `alert` only reports. A script
|
|
12
|
+
* is `alert` when stopping it would stop the guard itself.
|
|
13
|
+
*/
|
|
14
|
+
export declare const SpendActionSchema: z.ZodEnum<{
|
|
15
|
+
stub: "stub";
|
|
16
|
+
alert: "alert";
|
|
17
|
+
}>;
|
|
18
|
+
export type SpendAction = z.infer<typeof SpendActionSchema>;
|
|
19
|
+
export declare const SpendGuardScriptSchema: z.ZodObject<{
|
|
20
|
+
script: z.ZodString;
|
|
21
|
+
budget: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
hourlyUsd: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
monthlyUsd: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
action: z.ZodOptional<z.ZodEnum<{
|
|
26
|
+
stub: "stub";
|
|
27
|
+
alert: "alert";
|
|
28
|
+
}>>;
|
|
29
|
+
reason: z.ZodString;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export type SpendGuardScript = z.infer<typeof SpendGuardScriptSchema>;
|
|
32
|
+
export declare const SpendGuardDescriptorSchema: z.ZodObject<{
|
|
33
|
+
id: z.ZodString;
|
|
34
|
+
name: z.ZodOptional<z.ZodString>;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
37
|
+
hardware: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
38
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
capabilityId: z.ZodOptional<z.ZodString>;
|
|
41
|
+
requiredContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
optionalContext: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
config: z.ZodOptional<z.ZodUnknown>;
|
|
44
|
+
retention: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
45
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
47
|
+
maxBytes: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
cascadeFrom: z.ZodOptional<z.ZodString>;
|
|
49
|
+
ageField: z.ZodOptional<z.ZodString>;
|
|
50
|
+
reason: z.ZodString;
|
|
51
|
+
enforcedBy: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, z.core.$strip>]>>;
|
|
53
|
+
kind: z.ZodLiteral<"infra/spend-guard">;
|
|
54
|
+
adapter: z.ZodString;
|
|
55
|
+
adapterConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
56
|
+
environment: z.ZodDefault<z.ZodString>;
|
|
57
|
+
budget: z.ZodDefault<z.ZodObject<{
|
|
58
|
+
hourlyUsd: z.ZodNumber;
|
|
59
|
+
monthlyUsd: z.ZodNumber;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
action: z.ZodDefault<z.ZodEnum<{
|
|
62
|
+
stub: "stub";
|
|
63
|
+
alert: "alert";
|
|
64
|
+
}>>;
|
|
65
|
+
scripts: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
66
|
+
script: z.ZodString;
|
|
67
|
+
budget: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
hourlyUsd: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
monthlyUsd: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
}, z.core.$strip>>;
|
|
71
|
+
action: z.ZodOptional<z.ZodEnum<{
|
|
72
|
+
stub: "stub";
|
|
73
|
+
alert: "alert";
|
|
74
|
+
}>>;
|
|
75
|
+
reason: z.ZodString;
|
|
76
|
+
}, z.core.$strip>>>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type SpendGuardDescriptor = z.infer<typeof SpendGuardDescriptorSchema>;
|
|
79
|
+
export type SpendGuardDescriptorInput = z.input<typeof SpendGuardDescriptorSchema>;
|
|
80
|
+
/** One script's priced usage. `breakdownUsd` is per billed meter. */
|
|
81
|
+
export declare const ScriptSpendSchema: z.ZodObject<{
|
|
82
|
+
script: z.ZodString;
|
|
83
|
+
hourUsd: z.ZodNumber;
|
|
84
|
+
monthUsd: z.ZodNumber;
|
|
85
|
+
breakdownUsd: z.ZodObject<{
|
|
86
|
+
hour: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
87
|
+
month: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
export type ScriptSpend = z.infer<typeof ScriptSpendSchema>;
|
|
91
|
+
export declare const SpendMeasurementSchema: z.ZodObject<{
|
|
92
|
+
provider: z.ZodString;
|
|
93
|
+
collectedAt: z.ZodISODateTime;
|
|
94
|
+
hourStart: z.ZodISODateTime;
|
|
95
|
+
monthStart: z.ZodISODateTime;
|
|
96
|
+
pricing: z.ZodString;
|
|
97
|
+
scripts: z.ZodArray<z.ZodObject<{
|
|
98
|
+
script: z.ZodString;
|
|
99
|
+
hourUsd: z.ZodNumber;
|
|
100
|
+
monthUsd: z.ZodNumber;
|
|
101
|
+
breakdownUsd: z.ZodObject<{
|
|
102
|
+
hour: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
103
|
+
month: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
}, z.core.$strip>>;
|
|
106
|
+
stubbed: z.ZodArray<z.ZodString>;
|
|
107
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
108
|
+
source: z.ZodString;
|
|
109
|
+
message: z.ZodString;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
export type SpendMeasurement = z.infer<typeof SpendMeasurementSchema>;
|
|
113
|
+
export interface SpendVerdict {
|
|
114
|
+
script: string;
|
|
115
|
+
state: 'ok' | 'over' | 'stubbed';
|
|
116
|
+
action: SpendAction;
|
|
117
|
+
budget: SpendBudget;
|
|
118
|
+
hourUsd: number;
|
|
119
|
+
monthUsd: number;
|
|
120
|
+
/** Set when over: which window broke. */
|
|
121
|
+
window?: 'hour' | 'month';
|
|
122
|
+
}
|
|
123
|
+
export declare const SpendTripReceiptSchema: z.ZodObject<{
|
|
124
|
+
script: z.ZodString;
|
|
125
|
+
stubVersionId: z.ZodString;
|
|
126
|
+
previous: z.ZodArray<z.ZodObject<{
|
|
127
|
+
versionId: z.ZodString;
|
|
128
|
+
percentage: z.ZodNumber;
|
|
129
|
+
}, z.core.$strip>>;
|
|
130
|
+
reason: z.ZodString;
|
|
131
|
+
trippedAt: z.ZodISODateTime;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
export type SpendTripReceipt = z.infer<typeof SpendTripReceiptSchema>;
|
|
134
|
+
export interface SpendGuardImplementation {
|
|
135
|
+
measure(): Promise<SpendMeasurement>;
|
|
136
|
+
/** Deploy the stub to 100% of traffic. Idempotent for an already-stubbed script. */
|
|
137
|
+
trip(script: string, reason: string): Promise<SpendTripReceipt>;
|
|
138
|
+
}
|
|
139
|
+
export interface SpendGuardRun {
|
|
140
|
+
measurement: SpendMeasurement;
|
|
141
|
+
verdicts: SpendVerdict[];
|
|
142
|
+
tripped: SpendTripReceipt[];
|
|
143
|
+
alerted: SpendVerdict[];
|
|
144
|
+
failures: Array<{
|
|
145
|
+
script: string;
|
|
146
|
+
message: string;
|
|
147
|
+
}>;
|
|
148
|
+
}
|
|
149
|
+
export type SpendGuardRegistration = SpendGuardImplementation & {
|
|
150
|
+
create?(options: {
|
|
151
|
+
environment?: string;
|
|
152
|
+
descriptor?: SpendGuardDescriptor;
|
|
153
|
+
}): Promise<SpendGuardImplementation>;
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=spend-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-guard.d.ts","sourceRoot":"","sources":["../../src/schemas/spend-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,EAAE,WAAgD,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;EAA4B,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;;;;;;;iBAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;iBAcjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,WAAW,wBAAwB;IACxC,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC,oFAAoF;IACpF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,GAAG;IAC/D,MAAM,CAAC,CAAC,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,oBAAoB,CAAA;KAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACjH,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { RuntimeDescriptorSchema } from '@vibesdotdev/kernel/schemas/descriptor';
|
|
3
|
+
/** USD a script may spend in the trailing hour and in the calendar month. */
|
|
4
|
+
export const SpendBudgetSchema = z.object({
|
|
5
|
+
hourlyUsd: z.number().positive(),
|
|
6
|
+
monthlyUsd: z.number().positive()
|
|
7
|
+
});
|
|
8
|
+
/** A script with no declared budget is capped at this ceiling. */
|
|
9
|
+
export const DEFAULT_SPEND_BUDGET = { hourlyUsd: 25, monthlyUsd: 250 };
|
|
10
|
+
/**
|
|
11
|
+
* `stub` takes the script out of service; `alert` only reports. A script
|
|
12
|
+
* is `alert` when stopping it would stop the guard itself.
|
|
13
|
+
*/
|
|
14
|
+
export const SpendActionSchema = z.enum(['stub', 'alert']);
|
|
15
|
+
export const SpendGuardScriptSchema = z.object({
|
|
16
|
+
script: z.string().min(1),
|
|
17
|
+
budget: SpendBudgetSchema.partial().optional(),
|
|
18
|
+
action: SpendActionSchema.optional(),
|
|
19
|
+
/** Why this script differs from the default; required so overrides stay explained. */
|
|
20
|
+
reason: z.string().min(1)
|
|
21
|
+
});
|
|
22
|
+
export const SpendGuardDescriptorSchema = RuntimeDescriptorSchema.extend({
|
|
23
|
+
kind: z.literal('infra/spend-guard'),
|
|
24
|
+
adapter: z.string().min(1),
|
|
25
|
+
adapterConfig: z.record(z.string(), z.unknown()).optional(),
|
|
26
|
+
environment: z.string().default('local'),
|
|
27
|
+
budget: SpendBudgetSchema.default(DEFAULT_SPEND_BUDGET),
|
|
28
|
+
action: SpendActionSchema.default('stub'),
|
|
29
|
+
scripts: z.array(SpendGuardScriptSchema).refine((scripts) => new Set(scripts.map(({ script }) => script)).size === scripts.length, 'Script budget overrides must be unique.').default([])
|
|
30
|
+
});
|
|
31
|
+
/** One script's priced usage. `breakdownUsd` is per billed meter. */
|
|
32
|
+
export const ScriptSpendSchema = z.object({
|
|
33
|
+
script: z.string().min(1),
|
|
34
|
+
hourUsd: z.number().nonnegative(),
|
|
35
|
+
monthUsd: z.number().nonnegative(),
|
|
36
|
+
breakdownUsd: z.object({
|
|
37
|
+
hour: z.record(z.string(), z.number().nonnegative()),
|
|
38
|
+
month: z.record(z.string(), z.number().nonnegative())
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
export const SpendMeasurementSchema = z.object({
|
|
42
|
+
provider: z.string().min(1),
|
|
43
|
+
collectedAt: z.iso.datetime({ offset: true }),
|
|
44
|
+
hourStart: z.iso.datetime({ offset: true }),
|
|
45
|
+
monthStart: z.iso.datetime({ offset: true }),
|
|
46
|
+
/** How prices were applied, so a reader can check the arithmetic. */
|
|
47
|
+
pricing: z.string().min(1),
|
|
48
|
+
scripts: z.array(ScriptSpendSchema).refine((scripts) => new Set(scripts.map(({ script }) => script)).size === scripts.length, 'Script measurements must be unique.'),
|
|
49
|
+
/** Scripts the guard already stubbed; they are not tripped twice. */
|
|
50
|
+
stubbed: z.array(z.string()),
|
|
51
|
+
errors: z.array(z.object({ source: z.string(), message: z.string() }))
|
|
52
|
+
});
|
|
53
|
+
export const SpendTripReceiptSchema = z.object({
|
|
54
|
+
script: z.string().min(1),
|
|
55
|
+
stubVersionId: z.string().min(1),
|
|
56
|
+
/** The versions that were serving, with their traffic share — the rollback target. */
|
|
57
|
+
previous: z.array(z.object({ versionId: z.string().min(1), percentage: z.number().min(0).max(100) })),
|
|
58
|
+
reason: z.string().min(1),
|
|
59
|
+
trippedAt: z.iso.datetime({ offset: true })
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=spend-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-guard.js","sourceRoot":"","sources":["../../src/schemas/spend-guard.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
import * as z from 'zod/v4';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* - digitalocean-app: via infra-doks
|
|
7
|
-
*/
|
|
8
|
-
export declare const deploymentProviderSchema: z.ZodEnum<{
|
|
9
|
-
"cloudflare-workers": "cloudflare-workers";
|
|
10
|
-
"digitalocean-app": "digitalocean-app";
|
|
11
|
-
}>;
|
|
2
|
+
export { deploymentOriginKindSchema } from '@vibesdotdev/infra-contracts';
|
|
3
|
+
export type { DeploymentOriginKind } from '@vibesdotdev/infra-contracts';
|
|
4
|
+
/** Provider IDs are open; the handed runtime admits registered capabilities. */
|
|
5
|
+
export declare const deploymentProviderSchema: z.ZodString;
|
|
12
6
|
export type DeploymentProvider = z.infer<typeof deploymentProviderSchema>;
|
|
13
7
|
export declare const appRuntimeSchema: z.ZodEnum<{
|
|
14
|
-
|
|
8
|
+
browser: "browser";
|
|
15
9
|
worker: "worker";
|
|
10
|
+
edge: "edge";
|
|
16
11
|
node: "node";
|
|
17
|
-
browser: "browser";
|
|
18
12
|
}>;
|
|
19
13
|
export type AppRuntime = z.infer<typeof appRuntimeSchema>;
|
|
14
|
+
/** The environment variables an upstream's origin is published as (`NAME` → origin). */
|
|
15
|
+
export declare const deploymentOriginEnvSchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
16
|
+
export type DeploymentOriginEnv = z.infer<typeof deploymentOriginEnvSchema>;
|
|
20
17
|
export declare const deploymentOriginSchema: z.ZodObject<{
|
|
21
18
|
hostname: z.ZodString;
|
|
22
19
|
origin: z.ZodString;
|
|
23
20
|
kind: z.ZodDefault<z.ZodEnum<{
|
|
21
|
+
internal: "internal";
|
|
24
22
|
primary: "primary";
|
|
25
23
|
redirect: "redirect";
|
|
26
24
|
preview: "preview";
|
|
27
|
-
|
|
25
|
+
alias: "alias";
|
|
28
26
|
}>>;
|
|
29
27
|
description: z.ZodOptional<z.ZodString>;
|
|
30
28
|
}, z.core.$strip>;
|
|
@@ -45,11 +43,13 @@ export declare const deploymentEnvRequirementSchema: z.ZodObject<{
|
|
|
45
43
|
secret: z.ZodOptional<z.ZodBoolean>;
|
|
46
44
|
description: z.ZodOptional<z.ZodString>;
|
|
47
45
|
storeKey: z.ZodOptional<z.ZodString>;
|
|
46
|
+
storeBinding: z.ZodOptional<z.ZodBoolean>;
|
|
48
47
|
}, z.core.$strip>;
|
|
49
48
|
export type DeploymentEnvRequirement = z.infer<typeof deploymentEnvRequirementSchema>;
|
|
50
49
|
export declare const deploymentDependencySchema: z.ZodObject<{
|
|
51
50
|
appId: z.ZodString;
|
|
52
51
|
reason: z.ZodString;
|
|
52
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
53
53
|
}, z.core.$strip>;
|
|
54
54
|
export type DeploymentDependency = z.infer<typeof deploymentDependencySchema>;
|
|
55
55
|
export declare const deploymentUpstreamSchema: z.ZodObject<{
|
|
@@ -59,18 +59,23 @@ export declare const deploymentUpstreamSchema: z.ZodObject<{
|
|
|
59
59
|
originEnvVar: z.ZodOptional<z.ZodString>;
|
|
60
60
|
}, z.core.$strip>;
|
|
61
61
|
export type DeploymentUpstream = z.infer<typeof deploymentUpstreamSchema>;
|
|
62
|
+
/** Execution requirements validated against the registered provider at admission. */
|
|
63
|
+
export declare const deploymentExecutionSchema: z.ZodOptional<z.ZodObject<{
|
|
64
|
+
pty: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
shell: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
maxSessions: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strip>>;
|
|
68
|
+
export type DeploymentExecution = z.infer<typeof deploymentExecutionSchema>;
|
|
62
69
|
export declare const appDeploymentSchema: z.ZodObject<{
|
|
63
70
|
appId: z.ZodString;
|
|
64
71
|
appName: z.ZodString;
|
|
65
|
-
provider: z.
|
|
66
|
-
|
|
67
|
-
"digitalocean-app": "digitalocean-app";
|
|
68
|
-
}>;
|
|
72
|
+
provider: z.ZodString;
|
|
73
|
+
providerPlugin: z.ZodOptional<z.ZodString>;
|
|
69
74
|
runtime: z.ZodEnum<{
|
|
70
|
-
|
|
75
|
+
browser: "browser";
|
|
71
76
|
worker: "worker";
|
|
77
|
+
edge: "edge";
|
|
72
78
|
node: "node";
|
|
73
|
-
browser: "browser";
|
|
74
79
|
}>;
|
|
75
80
|
build: z.ZodObject<{
|
|
76
81
|
workspaceRootDir: z.ZodDefault<z.ZodString>;
|
|
@@ -83,10 +88,11 @@ export declare const appDeploymentSchema: z.ZodObject<{
|
|
|
83
88
|
hostname: z.ZodString;
|
|
84
89
|
origin: z.ZodString;
|
|
85
90
|
kind: z.ZodDefault<z.ZodEnum<{
|
|
91
|
+
internal: "internal";
|
|
86
92
|
primary: "primary";
|
|
87
93
|
redirect: "redirect";
|
|
88
94
|
preview: "preview";
|
|
89
|
-
|
|
95
|
+
alias: "alias";
|
|
90
96
|
}>>;
|
|
91
97
|
description: z.ZodOptional<z.ZodString>;
|
|
92
98
|
}, z.core.$strip>>;
|
|
@@ -98,10 +104,12 @@ export declare const appDeploymentSchema: z.ZodObject<{
|
|
|
98
104
|
secret: z.ZodOptional<z.ZodBoolean>;
|
|
99
105
|
description: z.ZodOptional<z.ZodString>;
|
|
100
106
|
storeKey: z.ZodOptional<z.ZodString>;
|
|
107
|
+
storeBinding: z.ZodOptional<z.ZodBoolean>;
|
|
101
108
|
}, z.core.$strip>>>;
|
|
102
109
|
dependsOn: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
103
110
|
appId: z.ZodString;
|
|
104
111
|
reason: z.ZodString;
|
|
112
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
105
113
|
}, z.core.$strip>>>;
|
|
106
114
|
upstreams: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
107
115
|
name: z.ZodString;
|
|
@@ -119,7 +127,169 @@ export declare const appDeploymentSchema: z.ZodObject<{
|
|
|
119
127
|
command: z.ZodString;
|
|
120
128
|
description: z.ZodOptional<z.ZodString>;
|
|
121
129
|
}, z.core.$strip>>>;
|
|
130
|
+
execution: z.ZodOptional<z.ZodObject<{
|
|
131
|
+
pty: z.ZodOptional<z.ZodBoolean>;
|
|
132
|
+
shell: z.ZodOptional<z.ZodBoolean>;
|
|
133
|
+
maxSessions: z.ZodOptional<z.ZodNumber>;
|
|
134
|
+
}, z.core.$strip>>;
|
|
135
|
+
migrations: z.ZodOptional<z.ZodObject<{
|
|
136
|
+
requiredForLocalDev: z.ZodDefault<z.ZodBoolean>;
|
|
137
|
+
}, z.core.$strip>>;
|
|
122
138
|
}, z.core.$strip>;
|
|
123
139
|
export type AppDeploymentInput = z.input<typeof appDeploymentSchema>;
|
|
124
140
|
export type AppDeployment = z.infer<typeof appDeploymentSchema>;
|
|
141
|
+
/** Default preview TTL in hours. Redeploys refresh `expiresAt` from this. */
|
|
142
|
+
export declare const DEFAULT_PREVIEW_TTL_HOURS = 72;
|
|
143
|
+
export declare const PreviewRecordStatusSchema: z.ZodEnum<{
|
|
144
|
+
building: "building";
|
|
145
|
+
failed: "failed";
|
|
146
|
+
live: "live";
|
|
147
|
+
destroyed: "destroyed";
|
|
148
|
+
}>;
|
|
149
|
+
export type PreviewRecordStatus = z.infer<typeof PreviewRecordStatusSchema>;
|
|
150
|
+
export declare const PreviewRepoOfRecordSchema: z.ZodEnum<{
|
|
151
|
+
forge: "forge";
|
|
152
|
+
github: "github";
|
|
153
|
+
}>;
|
|
154
|
+
export type PreviewRepoOfRecord = z.infer<typeof PreviewRepoOfRecordSchema>;
|
|
155
|
+
export declare const PreviewSecretsModeSchema: z.ZodEnum<{
|
|
156
|
+
namespace: "namespace";
|
|
157
|
+
"script-pushed": "script-pushed";
|
|
158
|
+
}>;
|
|
159
|
+
export type PreviewSecretsMode = z.infer<typeof PreviewSecretsModeSchema>;
|
|
160
|
+
/** Provider-reported availability for one declared preview capability. */
|
|
161
|
+
export declare const PreviewCapabilityStatusSchema: z.ZodEnum<{
|
|
162
|
+
unavailable: "unavailable";
|
|
163
|
+
available: "available";
|
|
164
|
+
degraded: "degraded";
|
|
165
|
+
"not-declared": "not-declared";
|
|
166
|
+
}>;
|
|
167
|
+
export type PreviewCapabilityStatus = z.infer<typeof PreviewCapabilityStatusSchema>;
|
|
168
|
+
/** Resource isolation achieved by a rendered preview binding. */
|
|
169
|
+
export declare const PreviewCapabilityIsolationSchema: z.ZodEnum<{
|
|
170
|
+
none: "none";
|
|
171
|
+
"preview-tier": "preview-tier";
|
|
172
|
+
"shared-external": "shared-external";
|
|
173
|
+
"not-applicable": "not-applicable";
|
|
174
|
+
}>;
|
|
175
|
+
export type PreviewCapabilityIsolation = z.infer<typeof PreviewCapabilityIsolationSchema>;
|
|
176
|
+
/** Machine-readable proof of what one preview capability actually renders. */
|
|
177
|
+
export declare const PreviewCapabilitySchema: z.ZodObject<{
|
|
178
|
+
status: z.ZodEnum<{
|
|
179
|
+
unavailable: "unavailable";
|
|
180
|
+
available: "available";
|
|
181
|
+
degraded: "degraded";
|
|
182
|
+
"not-declared": "not-declared";
|
|
183
|
+
}>;
|
|
184
|
+
isolation: z.ZodEnum<{
|
|
185
|
+
none: "none";
|
|
186
|
+
"preview-tier": "preview-tier";
|
|
187
|
+
"shared-external": "shared-external";
|
|
188
|
+
"not-applicable": "not-applicable";
|
|
189
|
+
}>;
|
|
190
|
+
critical: z.ZodBoolean;
|
|
191
|
+
declared: z.ZodArray<z.ZodString>;
|
|
192
|
+
rendered: z.ZodArray<z.ZodString>;
|
|
193
|
+
reason: z.ZodString;
|
|
194
|
+
}, z.core.$strip>;
|
|
195
|
+
export type PreviewCapability = z.infer<typeof PreviewCapabilitySchema>;
|
|
196
|
+
export declare const PreviewFidelityLevelSchema: z.ZodEnum<{
|
|
197
|
+
degraded: "degraded";
|
|
198
|
+
full: "full";
|
|
199
|
+
}>;
|
|
200
|
+
export type PreviewFidelityLevel = z.infer<typeof PreviewFidelityLevelSchema>;
|
|
201
|
+
/**
|
|
202
|
+
* Provider-neutral preview fidelity envelope. Providers own the capability
|
|
203
|
+
* facts; orchestration surfaces expose this exact shape and may require
|
|
204
|
+
* `level: 'full'` before any build or upload begins.
|
|
205
|
+
*/
|
|
206
|
+
export declare const PreviewFidelitySchema: z.ZodObject<{
|
|
207
|
+
level: z.ZodEnum<{
|
|
208
|
+
degraded: "degraded";
|
|
209
|
+
full: "full";
|
|
210
|
+
}>;
|
|
211
|
+
fullFidelity: z.ZodBoolean;
|
|
212
|
+
criticalMissing: z.ZodArray<z.ZodString>;
|
|
213
|
+
capabilities: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
214
|
+
status: z.ZodEnum<{
|
|
215
|
+
unavailable: "unavailable";
|
|
216
|
+
available: "available";
|
|
217
|
+
degraded: "degraded";
|
|
218
|
+
"not-declared": "not-declared";
|
|
219
|
+
}>;
|
|
220
|
+
isolation: z.ZodEnum<{
|
|
221
|
+
none: "none";
|
|
222
|
+
"preview-tier": "preview-tier";
|
|
223
|
+
"shared-external": "shared-external";
|
|
224
|
+
"not-applicable": "not-applicable";
|
|
225
|
+
}>;
|
|
226
|
+
critical: z.ZodBoolean;
|
|
227
|
+
declared: z.ZodArray<z.ZodString>;
|
|
228
|
+
rendered: z.ZodArray<z.ZodString>;
|
|
229
|
+
reason: z.ZodString;
|
|
230
|
+
}, z.core.$strip>>;
|
|
231
|
+
}, z.core.$strip>;
|
|
232
|
+
export type PreviewFidelity = z.infer<typeof PreviewFidelitySchema>;
|
|
233
|
+
/**
|
|
234
|
+
* Current-state record for one preview deployment (one per previewId).
|
|
235
|
+
* Persisted as the `infra-deploy.previews` storage manifest (infra-deploy);
|
|
236
|
+
* `runId` references the matching `deployment_runs` history row.
|
|
237
|
+
*/
|
|
238
|
+
export declare const PreviewRecordSchema: z.ZodObject<{
|
|
239
|
+
previewId: z.ZodString;
|
|
240
|
+
appId: z.ZodString;
|
|
241
|
+
branch: z.ZodString;
|
|
242
|
+
worktreePath: z.ZodOptional<z.ZodString>;
|
|
243
|
+
previewRef: z.ZodOptional<z.ZodString>;
|
|
244
|
+
sha: z.ZodString;
|
|
245
|
+
repoOfRecord: z.ZodDefault<z.ZodEnum<{
|
|
246
|
+
forge: "forge";
|
|
247
|
+
github: "github";
|
|
248
|
+
}>>;
|
|
249
|
+
buildJobId: z.ZodOptional<z.ZodString>;
|
|
250
|
+
status: z.ZodEnum<{
|
|
251
|
+
building: "building";
|
|
252
|
+
failed: "failed";
|
|
253
|
+
live: "live";
|
|
254
|
+
destroyed: "destroyed";
|
|
255
|
+
}>;
|
|
256
|
+
url: z.ZodString;
|
|
257
|
+
dispatchScript: z.ZodString;
|
|
258
|
+
secretsMode: z.ZodDefault<z.ZodEnum<{
|
|
259
|
+
namespace: "namespace";
|
|
260
|
+
"script-pushed": "script-pushed";
|
|
261
|
+
}>>;
|
|
262
|
+
fidelity: z.ZodOptional<z.ZodObject<{
|
|
263
|
+
level: z.ZodEnum<{
|
|
264
|
+
degraded: "degraded";
|
|
265
|
+
full: "full";
|
|
266
|
+
}>;
|
|
267
|
+
fullFidelity: z.ZodBoolean;
|
|
268
|
+
criticalMissing: z.ZodArray<z.ZodString>;
|
|
269
|
+
capabilities: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
270
|
+
status: z.ZodEnum<{
|
|
271
|
+
unavailable: "unavailable";
|
|
272
|
+
available: "available";
|
|
273
|
+
degraded: "degraded";
|
|
274
|
+
"not-declared": "not-declared";
|
|
275
|
+
}>;
|
|
276
|
+
isolation: z.ZodEnum<{
|
|
277
|
+
none: "none";
|
|
278
|
+
"preview-tier": "preview-tier";
|
|
279
|
+
"shared-external": "shared-external";
|
|
280
|
+
"not-applicable": "not-applicable";
|
|
281
|
+
}>;
|
|
282
|
+
critical: z.ZodBoolean;
|
|
283
|
+
declared: z.ZodArray<z.ZodString>;
|
|
284
|
+
rendered: z.ZodArray<z.ZodString>;
|
|
285
|
+
reason: z.ZodString;
|
|
286
|
+
}, z.core.$strip>>;
|
|
287
|
+
}, z.core.$strip>>;
|
|
288
|
+
ttlHours: z.ZodDefault<z.ZodNumber>;
|
|
289
|
+
expiresAt: z.ZodString;
|
|
290
|
+
createdBy: z.ZodString;
|
|
291
|
+
runId: z.ZodString;
|
|
292
|
+
}, z.core.$strip>;
|
|
293
|
+
export type PreviewRecordInput = z.input<typeof PreviewRecordSchema>;
|
|
294
|
+
export type PreviewRecord = z.infer<typeof PreviewRecordSchema>;
|
|
125
295
|
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,aAAoB,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;EAAgD,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,uCAAyD,CAAC;AAChG,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAI5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,8BAA8B;;;;;;;;;iBAqBzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;;;;iBAQnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,qFAAqF;AACrF,eAAO,MAAM,yBAAyB;;;;kBAS1B,CAAC;AAEb,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqD7B,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,yBAAyB;;;;;EAAsD,CAAC;AAC7F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;EAA8B,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;;EAAyC,CAAC;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,iEAAiE;AACjE,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;EAA+B,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;iBA+B/B,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|