@cat-factory/contracts 0.173.0 → 0.175.0
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/dist/entities.d.ts +1 -1
- package/dist/environments.d.ts +320 -13
- package/dist/environments.d.ts.map +1 -1
- package/dist/environments.js +77 -1
- package/dist/environments.js.map +1 -1
- package/dist/execution.d.ts +8 -8
- package/dist/pr-report.d.ts +44 -2
- package/dist/pr-report.d.ts.map +1 -1
- package/dist/pr-report.js +24 -2
- package/dist/pr-report.js.map +1 -1
- package/dist/requests.d.ts +7 -7
- package/dist/routes/agent-runs.d.ts +6 -6
- package/dist/routes/board.d.ts +19 -19
- package/dist/routes/environmentUserHandlers.d.ts +37 -4
- package/dist/routes/environmentUserHandlers.d.ts.map +1 -1
- package/dist/routes/environments.d.ts +129 -19
- package/dist/routes/environments.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +26 -26
- package/dist/routes/human-review.d.ts +3 -3
- package/dist/routes/human-test.d.ts +15 -15
- package/dist/routes/initiative.d.ts +1 -1
- package/dist/routes/tasks.d.ts +3 -3
- package/dist/routes/visual-confirm.d.ts +9 -9
- package/dist/routes/workspaces.d.ts +14 -14
- package/dist/snapshot.d.ts +8 -8
- package/package.json +1 -1
package/dist/entities.d.ts
CHANGED
|
@@ -287,7 +287,7 @@ export declare const blockSchema: v.ObjectSchema<{
|
|
|
287
287
|
* runs with no infra stood up.
|
|
288
288
|
*/
|
|
289
289
|
readonly provisioning: v.OptionalSchema<v.ObjectSchema<{
|
|
290
|
-
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
290
|
+
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
291
291
|
readonly manifestSource: v.OptionalSchema<v.VariantSchema<"type", [v.ObjectSchema<{
|
|
292
292
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
293
293
|
readonly path: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
package/dist/environments.d.ts
CHANGED
|
@@ -259,8 +259,13 @@ export type EnvironmentManifest = v.InferOutput<typeof environmentManifestSchema
|
|
|
259
259
|
* The provision type a service declares — the INPUT SHAPE it produces. `infraless` means
|
|
260
260
|
* the service stands up no environment (the Tester runs with no infra). A `custom` service
|
|
261
261
|
* additionally pins a `manifestId` (see {@link serviceProvisioningSchema}).
|
|
262
|
+
*
|
|
263
|
+
* `cloudflare` is the per-PR Cloudflare Workers preview: unlike every other type the service
|
|
264
|
+
* declares NOTHING repo-specific here, because the recipe lives in the repo's own preview
|
|
265
|
+
* workflow rather than in a compose file or a manifest tree the platform reads. Declaring the
|
|
266
|
+
* type is the whole service side of it.
|
|
262
267
|
*/
|
|
263
|
-
export declare const provisionTypeSchema: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
268
|
+
export declare const provisionTypeSchema: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
264
269
|
export type ProvisionType = v.InferOutput<typeof provisionTypeSchema>;
|
|
265
270
|
/**
|
|
266
271
|
* Machine-readable cause of an environment-provisioning failure, surfaced on the run's
|
|
@@ -277,9 +282,10 @@ export type EnvironmentFailureReason = v.InferOutput<typeof environmentFailureRe
|
|
|
277
282
|
* The engine a workspace/user handler uses to stand up / connect to an environment for a
|
|
278
283
|
* provision type. `none` is the synthetic engine for `infraless`. `local-docker` runs a
|
|
279
284
|
* compose stack locally; `local-k3s`/`remote-kubernetes` drive a kube apiserver;
|
|
285
|
+
* `cloudflare` drives a repo's preview workflow over the VCS deployments API;
|
|
280
286
|
* `remote-custom` is the generic BYO HTTP management API.
|
|
281
287
|
*/
|
|
282
|
-
export declare const infraEngineSchema: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>;
|
|
288
|
+
export declare const infraEngineSchema: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "cloudflare", "remote-custom", "none"], undefined>;
|
|
283
289
|
export type InfraEngine = v.InferOutput<typeof infraEngineSchema>;
|
|
284
290
|
/** A custom-manifest-type identifier (lower-kebab slug). */
|
|
285
291
|
export declare const manifestIdSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>;
|
|
@@ -950,8 +956,49 @@ export declare const eksProvisionConfigSchema: v.ObjectSchema<{
|
|
|
950
956
|
}, undefined>], undefined>, undefined>, undefined>;
|
|
951
957
|
}, undefined>;
|
|
952
958
|
export type EksProvisionConfig = v.InferOutput<typeof eksProvisionConfigSchema>;
|
|
959
|
+
/** The secret-bundle key the Cloudflare env backend reads its VCS API token from. */
|
|
960
|
+
export declare const CLOUDFLARE_ENV_TOKEN_SECRET_KEY = "githubToken";
|
|
961
|
+
/** Default templates, exported so the provider, the UI hints and the docs cannot drift apart. */
|
|
962
|
+
export declare const CLOUDFLARE_DEFAULT_WORKER_NAME_TEMPLATE = "cat-factory-pr-{{pullNumber}}";
|
|
963
|
+
export declare const CLOUDFLARE_DEFAULT_ENVIRONMENT_NAME_TEMPLATE = "pr-{{pullNumber}}";
|
|
964
|
+
/**
|
|
965
|
+
* The Cloudflare preview engine connection (the "how"). Everything here is non-secret; the
|
|
966
|
+
* VCS API token rides the encrypted secret bundle under
|
|
967
|
+
* {@link CLOUDFLARE_ENV_TOKEN_SECRET_KEY}.
|
|
968
|
+
*
|
|
969
|
+
* The two name templates are the CONTRACT WITH THE WORKFLOW, which is why they are config and
|
|
970
|
+
* not constants: the platform derives the environment name it deploys under and the Worker
|
|
971
|
+
* URL it hands the tester, and the workflow names its resources from the same values. Change
|
|
972
|
+
* one and you must change the other. They default to the reference workflow's shape, so a
|
|
973
|
+
* deployment that copied `deploy/preview` unmodified sets neither.
|
|
974
|
+
*/
|
|
975
|
+
export declare const cloudflareEnvironmentConfigSchema: v.ObjectSchema<{
|
|
976
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
977
|
+
/**
|
|
978
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
979
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
980
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
981
|
+
* takes minutes.
|
|
982
|
+
*/
|
|
983
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
984
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
985
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
986
|
+
/**
|
|
987
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
988
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
989
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
990
|
+
*/
|
|
991
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
992
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
993
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
994
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
995
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
996
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
997
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
998
|
+
}, undefined>;
|
|
999
|
+
export type CloudflareEnvironmentConfig = v.InferOutput<typeof cloudflareEnvironmentConfigSchema>;
|
|
953
1000
|
/** Built-in environment backend kinds the contract knows by name. */
|
|
954
|
-
export declare const RESERVED_ENVIRONMENT_BACKEND_KINDS: readonly ['manifest', 'kubernetes', 'eks'];
|
|
1001
|
+
export declare const RESERVED_ENVIRONMENT_BACKEND_KINDS: readonly ['manifest', 'kubernetes', 'eks', 'cloudflare'];
|
|
955
1002
|
/**
|
|
956
1003
|
* The `kind` slug of a CUSTOM (third-party, programmatically-registered) environment
|
|
957
1004
|
* backend: any lower-kebab slug that isn't a reserved built-in. A custom backend stores
|
|
@@ -1461,6 +1508,32 @@ export declare const environmentBackendConfigSchema: v.VariantSchema<"kind", [v.
|
|
|
1461
1508
|
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
1462
1509
|
}, undefined>], undefined>, undefined>, undefined>;
|
|
1463
1510
|
}, undefined>;
|
|
1511
|
+
}, undefined>, v.ObjectSchema<{
|
|
1512
|
+
readonly kind: v.LiteralSchema<"cloudflare", undefined>;
|
|
1513
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
1514
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
1515
|
+
/**
|
|
1516
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
1517
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
1518
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
1519
|
+
* takes minutes.
|
|
1520
|
+
*/
|
|
1521
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
1522
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
1523
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
1524
|
+
/**
|
|
1525
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
1526
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
1527
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
1528
|
+
*/
|
|
1529
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
1530
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
1531
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
1532
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
1533
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
1534
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
1535
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
1536
|
+
}, undefined>;
|
|
1464
1537
|
}, undefined>, v.ObjectSchema<{
|
|
1465
1538
|
readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">, v.CheckAction<string, "reserved backend kind">]>;
|
|
1466
1539
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -1602,7 +1675,7 @@ export type EnvironmentBackendKind = EnvironmentBackendConfig['kind'];
|
|
|
1602
1675
|
* handler (the "how") at provision time.
|
|
1603
1676
|
*/
|
|
1604
1677
|
export declare const serviceProvisioningSchema: v.ObjectSchema<{
|
|
1605
|
-
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
1678
|
+
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
1606
1679
|
/** `kubernetes`: where the per-PR manifests live (colocated in the PR repo, or a separate repo). */
|
|
1607
1680
|
readonly manifestSource: v.OptionalSchema<v.VariantSchema<"type", [v.ObjectSchema<{
|
|
1608
1681
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
@@ -2293,6 +2366,32 @@ export declare const infraHandlerConfigSchema: v.VariantSchema<"engine", [v.Obje
|
|
|
2293
2366
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
2294
2367
|
}, undefined>, undefined>, undefined>;
|
|
2295
2368
|
}, undefined>;
|
|
2369
|
+
}, undefined>, v.ObjectSchema<{
|
|
2370
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
2371
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
2372
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
2373
|
+
/**
|
|
2374
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
2375
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
2376
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
2377
|
+
* takes minutes.
|
|
2378
|
+
*/
|
|
2379
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
2380
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
2381
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
2382
|
+
/**
|
|
2383
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
2384
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
2385
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
2386
|
+
*/
|
|
2387
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
2388
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
2389
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
2390
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
2391
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
2392
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
2393
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
2394
|
+
}, undefined>;
|
|
2296
2395
|
}, undefined>, v.ObjectSchema<{
|
|
2297
2396
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
2298
2397
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -2464,10 +2563,10 @@ export declare const upsertCustomManifestTypeSchema: v.ObjectSchema<{
|
|
|
2464
2563
|
export type UpsertCustomManifestTypeInput = v.InferOutput<typeof upsertCustomManifestTypeSchema>;
|
|
2465
2564
|
/** One registered infra handler, as exposed to clients (never secret VALUES). */
|
|
2466
2565
|
export declare const environmentHandlerViewSchema: v.ObjectSchema<{
|
|
2467
|
-
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
2566
|
+
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
2468
2567
|
/** For `custom`: the manifest id this handler is keyed to; `null` otherwise. */
|
|
2469
2568
|
readonly manifestId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
2470
|
-
readonly engine: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>;
|
|
2569
|
+
readonly engine: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "cloudflare", "remote-custom", "none"], undefined>;
|
|
2471
2570
|
readonly providerId: v.StringSchema<undefined>;
|
|
2472
2571
|
readonly label: v.StringSchema<undefined>;
|
|
2473
2572
|
readonly baseUrl: v.StringSchema<undefined>;
|
|
@@ -2807,6 +2906,32 @@ export declare const environmentHandlerViewSchema: v.ObjectSchema<{
|
|
|
2807
2906
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
2808
2907
|
}, undefined>, undefined>, undefined>;
|
|
2809
2908
|
}, undefined>;
|
|
2909
|
+
}, undefined>, v.ObjectSchema<{
|
|
2910
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
2911
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
2912
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
2913
|
+
/**
|
|
2914
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
2915
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
2916
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
2917
|
+
* takes minutes.
|
|
2918
|
+
*/
|
|
2919
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
2920
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
2921
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
2922
|
+
/**
|
|
2923
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
2924
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
2925
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
2926
|
+
*/
|
|
2927
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
2928
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
2929
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
2930
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
2931
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
2932
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
2933
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
2934
|
+
}, undefined>;
|
|
2810
2935
|
}, undefined>, v.ObjectSchema<{
|
|
2811
2936
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
2812
2937
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -2950,7 +3075,7 @@ export type EnvironmentHandlerView = v.InferOutput<typeof environmentHandlerView
|
|
|
2950
3075
|
* the engine). Every secret key the chosen backend references must be supplied.
|
|
2951
3076
|
*/
|
|
2952
3077
|
export declare const registerEnvironmentHandlerSchema: v.ObjectSchema<{
|
|
2953
|
-
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
3078
|
+
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
2954
3079
|
readonly manifestId: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>, undefined>;
|
|
2955
3080
|
readonly config: v.VariantSchema<"engine", [v.ObjectSchema<{
|
|
2956
3081
|
readonly engine: v.LiteralSchema<"local-docker", undefined>;
|
|
@@ -3275,6 +3400,32 @@ export declare const registerEnvironmentHandlerSchema: v.ObjectSchema<{
|
|
|
3275
3400
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
3276
3401
|
}, undefined>, undefined>, undefined>;
|
|
3277
3402
|
}, undefined>;
|
|
3403
|
+
}, undefined>, v.ObjectSchema<{
|
|
3404
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
3405
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
3406
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
3407
|
+
/**
|
|
3408
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
3409
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
3410
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
3411
|
+
* takes minutes.
|
|
3412
|
+
*/
|
|
3413
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
3414
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
3415
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
3416
|
+
/**
|
|
3417
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
3418
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
3419
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
3420
|
+
*/
|
|
3421
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
3422
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
3423
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
3424
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
3425
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
3426
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
3427
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
3428
|
+
}, undefined>;
|
|
3278
3429
|
}, undefined>, v.ObjectSchema<{
|
|
3279
3430
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
3280
3431
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -3743,6 +3894,32 @@ export declare const testEnvironmentHandlerSchema: v.ObjectSchema<{
|
|
|
3743
3894
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
3744
3895
|
}, undefined>, undefined>, undefined>;
|
|
3745
3896
|
}, undefined>;
|
|
3897
|
+
}, undefined>, v.ObjectSchema<{
|
|
3898
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
3899
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
3900
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
3901
|
+
/**
|
|
3902
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
3903
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
3904
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
3905
|
+
* takes minutes.
|
|
3906
|
+
*/
|
|
3907
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
3908
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
3909
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
3910
|
+
/**
|
|
3911
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
3912
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
3913
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
3914
|
+
*/
|
|
3915
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
3916
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
3917
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
3918
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
3919
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
3920
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
3921
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
3922
|
+
}, undefined>;
|
|
3746
3923
|
}, undefined>, v.ObjectSchema<{
|
|
3747
3924
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
3748
3925
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -4212,6 +4389,32 @@ export declare const upsertEnvironmentUserHandlerBodySchema: v.ObjectSchema<{
|
|
|
4212
4389
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
4213
4390
|
}, undefined>, undefined>, undefined>;
|
|
4214
4391
|
}, undefined>;
|
|
4392
|
+
}, undefined>, v.ObjectSchema<{
|
|
4393
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
4394
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
4395
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
4396
|
+
/**
|
|
4397
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
4398
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
4399
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
4400
|
+
* takes minutes.
|
|
4401
|
+
*/
|
|
4402
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
4403
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
4404
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
4405
|
+
/**
|
|
4406
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
4407
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
4408
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
4409
|
+
*/
|
|
4410
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
4411
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
4412
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
4413
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
4414
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
4415
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
4416
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
4417
|
+
}, undefined>;
|
|
4215
4418
|
}, undefined>, v.ObjectSchema<{
|
|
4216
4419
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
4217
4420
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -4353,10 +4556,10 @@ export type UpsertEnvironmentUserHandlerBody = v.InferOutput<typeof upsertEnviro
|
|
|
4353
4556
|
/** The batched per-type handler bundle: every workspace handler + the custom-type catalog. */
|
|
4354
4557
|
export declare const environmentHandlersBundleSchema: v.ObjectSchema<{
|
|
4355
4558
|
readonly handlers: v.ArraySchema<v.ObjectSchema<{
|
|
4356
|
-
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
4559
|
+
readonly provisionType: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
4357
4560
|
/** For `custom`: the manifest id this handler is keyed to; `null` otherwise. */
|
|
4358
4561
|
readonly manifestId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
4359
|
-
readonly engine: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>;
|
|
4562
|
+
readonly engine: v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "cloudflare", "remote-custom", "none"], undefined>;
|
|
4360
4563
|
readonly providerId: v.StringSchema<undefined>;
|
|
4361
4564
|
readonly label: v.StringSchema<undefined>;
|
|
4362
4565
|
readonly baseUrl: v.StringSchema<undefined>;
|
|
@@ -4696,6 +4899,32 @@ export declare const environmentHandlersBundleSchema: v.ObjectSchema<{
|
|
|
4696
4899
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["per-environment", "shared"], undefined>, undefined>;
|
|
4697
4900
|
}, undefined>, undefined>, undefined>;
|
|
4698
4901
|
}, undefined>;
|
|
4902
|
+
}, undefined>, v.ObjectSchema<{
|
|
4903
|
+
readonly engine: v.LiteralSchema<"cloudflare", undefined>;
|
|
4904
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
4905
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
4906
|
+
/**
|
|
4907
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
4908
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
4909
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
4910
|
+
* takes minutes.
|
|
4911
|
+
*/
|
|
4912
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
4913
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
4914
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
4915
|
+
/**
|
|
4916
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
4917
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
4918
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
4919
|
+
*/
|
|
4920
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
4921
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
4922
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
4923
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
4924
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
4925
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
4926
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
4927
|
+
}, undefined>;
|
|
4699
4928
|
}, undefined>, v.ObjectSchema<{
|
|
4700
4929
|
readonly engine: v.LiteralSchema<"remote-custom", undefined>;
|
|
4701
4930
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -4899,13 +5128,13 @@ export declare const environmentHandleSchema: v.ObjectSchema<{
|
|
|
4899
5128
|
* (`kubernetes` | `docker-compose` | `custom` | `infraless`). Recorded at provision
|
|
4900
5129
|
* time so run details can show exactly what was provisioned. Null for legacy rows.
|
|
4901
5130
|
*/
|
|
4902
|
-
readonly provisionType: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>, undefined>, undefined>;
|
|
5131
|
+
readonly provisionType: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>, undefined>;
|
|
4903
5132
|
/**
|
|
4904
5133
|
* The resolved engine that handled the provisioning (`local-docker` | `local-k3s` |
|
|
4905
5134
|
* `remote-kubernetes` | `remote-custom` | `none`). Surfaced in run details alongside
|
|
4906
5135
|
* the provider label. Null for legacy rows.
|
|
4907
5136
|
*/
|
|
4908
|
-
readonly engine: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>, undefined>, undefined>;
|
|
5137
|
+
readonly engine: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "cloudflare", "remote-custom", "none"], undefined>, undefined>, undefined>;
|
|
4909
5138
|
}, undefined>;
|
|
4910
5139
|
export type EnvironmentHandle = v.InferOutput<typeof environmentHandleSchema>;
|
|
4911
5140
|
/** A workspace's provider binding, as exposed to clients (never secret values). */
|
|
@@ -5413,6 +5642,32 @@ export declare const environmentConnectionSchema: v.ObjectSchema<{
|
|
|
5413
5642
|
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
5414
5643
|
}, undefined>], undefined>, undefined>, undefined>;
|
|
5415
5644
|
}, undefined>;
|
|
5645
|
+
}, undefined>, v.ObjectSchema<{
|
|
5646
|
+
readonly kind: v.LiteralSchema<"cloudflare", undefined>;
|
|
5647
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
5648
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
5649
|
+
/**
|
|
5650
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
5651
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
5652
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
5653
|
+
* takes minutes.
|
|
5654
|
+
*/
|
|
5655
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
5656
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
5657
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
5658
|
+
/**
|
|
5659
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
5660
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
5661
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
5662
|
+
*/
|
|
5663
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
5664
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
5665
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
5666
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
5667
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
5668
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
5669
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
5670
|
+
}, undefined>;
|
|
5416
5671
|
}, undefined>, v.ObjectSchema<{
|
|
5417
5672
|
readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">, v.CheckAction<string, "reserved backend kind">]>;
|
|
5418
5673
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -6046,6 +6301,32 @@ export declare const registerEnvironmentProviderSchema: v.ObjectSchema<{
|
|
|
6046
6301
|
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
6047
6302
|
}, undefined>], undefined>, undefined>, undefined>;
|
|
6048
6303
|
}, undefined>;
|
|
6304
|
+
}, undefined>, v.ObjectSchema<{
|
|
6305
|
+
readonly kind: v.LiteralSchema<"cloudflare", undefined>;
|
|
6306
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
6307
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
6308
|
+
/**
|
|
6309
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
6310
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
6311
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
6312
|
+
* takes minutes.
|
|
6313
|
+
*/
|
|
6314
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
6315
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
6316
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
6317
|
+
/**
|
|
6318
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
6319
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
6320
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
6321
|
+
*/
|
|
6322
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
6323
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
6324
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
6325
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
6326
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
6327
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
6328
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
6329
|
+
}, undefined>;
|
|
6049
6330
|
}, undefined>, v.ObjectSchema<{
|
|
6050
6331
|
readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">, v.CheckAction<string, "reserved backend kind">]>;
|
|
6051
6332
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -6681,6 +6962,32 @@ export declare const testEnvironmentConnectionSchema: v.ObjectSchema<{
|
|
|
6681
6962
|
}, "a secret entry must set exactly one of secretRef or valueTemplate.">]>, undefined>;
|
|
6682
6963
|
}, undefined>], undefined>, undefined>, undefined>;
|
|
6683
6964
|
}, undefined>;
|
|
6965
|
+
}, undefined>, v.ObjectSchema<{
|
|
6966
|
+
readonly kind: v.LiteralSchema<"cloudflare", undefined>;
|
|
6967
|
+
readonly cloudflare: v.ObjectSchema<{
|
|
6968
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
6969
|
+
/**
|
|
6970
|
+
* The account's `*.workers.dev` subdomain — the preview URL is
|
|
6971
|
+
* `https://<worker>.<subdomain>.workers.dev`. The platform can DERIVE that before anything
|
|
6972
|
+
* is built, which is what lets a tester be handed a URL without waiting on a deploy that
|
|
6973
|
+
* takes minutes.
|
|
6974
|
+
*/
|
|
6975
|
+
readonly workersSubdomain: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 63, undefined>, v.RegexAction<string, "must be a bare workers.dev subdomain label, e.g. \"my-account\"">]>;
|
|
6976
|
+
/** VCS API root. Absent ⇒ `https://api.github.com`. Set it for GitHub Enterprise Server. */
|
|
6977
|
+
readonly apiBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
6978
|
+
/**
|
|
6979
|
+
* `owner/repo` carrying the preview workflow. Absent ⇒ THE BLOCK'S OWN REPO, resolved per
|
|
6980
|
+
* provision — which is the point of a built-in backend over a pasted manifest: one handler
|
|
6981
|
+
* serves every repository in the workspace instead of being pinned to one.
|
|
6982
|
+
*/
|
|
6983
|
+
readonly repo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "must be \"owner/repo\"">]>, undefined>;
|
|
6984
|
+
/** Worker name template; the URL is derived from it. Absent ⇒ `cat-factory-pr-{{pullNumber}}`. */
|
|
6985
|
+
readonly workerNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
6986
|
+
/** Deployment environment name template. Absent ⇒ `pr-{{pullNumber}}`. */
|
|
6987
|
+
readonly environmentNameTemplate: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>, v.RegexAction<string, "may contain only lowercase letters, digits, hyphens and {{placeholders}}">]>, undefined>;
|
|
6988
|
+
/** Fallback TTL (ms) after which the env is swept + torn down. */
|
|
6989
|
+
readonly defaultTtlMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 60000, undefined>]>, undefined>;
|
|
6990
|
+
}, undefined>;
|
|
6684
6991
|
}, undefined>, v.ObjectSchema<{
|
|
6685
6992
|
readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">, v.CheckAction<string, "reserved backend kind">]>;
|
|
6686
6993
|
readonly manifest: v.ObjectSchema<{
|
|
@@ -7067,7 +7374,7 @@ export declare const provisioningRecommendationSchema: v.ObjectSchema<{
|
|
|
7067
7374
|
readonly detected: v.BooleanSchema<undefined>;
|
|
7068
7375
|
/** The prefilled service provisioning the user confirms/edits (the "what + where"). */
|
|
7069
7376
|
readonly provisioning: v.ObjectSchema<{
|
|
7070
|
-
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>;
|
|
7377
|
+
readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
|
|
7071
7378
|
/** `kubernetes`: where the per-PR manifests live (colocated in the PR repo, or a separate repo). */
|
|
7072
7379
|
readonly manifestSource: v.OptionalSchema<v.VariantSchema<"type", [v.ObjectSchema<{
|
|
7073
7380
|
readonly type: v.LiteralSchema<"colocated", undefined>;
|
|
@@ -7496,7 +7803,7 @@ export declare const detectServiceProvisioningSchema: v.ObjectSchema<{
|
|
|
7496
7803
|
* manifests are also present. Only `kubernetes`/`docker-compose`/`custom` change the search
|
|
7497
7804
|
* order (the others have nothing to auto-detect); absent ⇒ prefer `kubernetes` (richer).
|
|
7498
7805
|
*/
|
|
7499
|
-
readonly prefer: v.OptionalSchema<v.PicklistSchema<["kubernetes", "docker-compose", "custom", "infraless"], undefined>, undefined>;
|
|
7806
|
+
readonly prefer: v.OptionalSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
|
|
7500
7807
|
/**
|
|
7501
7808
|
* `custom` only: the selected custom-manifest-type id. When PRESENT, that type's `detect()`
|
|
7502
7809
|
* hook runs (or its `defaultManifestPath` seeds the path search when it has no hook — see
|