@boxrouter/sdk 0.0.0-stage → 0.12.190
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 +202 -0
- package/NOTICE +40 -0
- package/README.md +508 -2
- package/dist/addresses.d.ts +5 -0
- package/dist/addresses.js +10 -0
- package/dist/api-error.d.ts +62 -0
- package/dist/api-error.js +264 -0
- package/dist/boxrouter.d.ts +68 -0
- package/dist/boxrouter.js +291 -0
- package/dist/browser-session/index.d.ts +17 -0
- package/dist/browser-session/index.js +48 -0
- package/dist/browser-session/operations.gen.d.ts +272 -0
- package/dist/browser-session/operations.gen.js +58 -0
- package/dist/browser-session/responseContracts/api_keys.d.ts +2 -0
- package/dist/browser-session/responseContracts/api_keys.js +10 -0
- package/dist/browser-session/responseContracts/credits.d.ts +2 -0
- package/dist/browser-session/responseContracts/credits.js +8 -0
- package/dist/browser-session/responseContracts/github.d.ts +2 -0
- package/dist/browser-session/responseContracts/github.js +11 -0
- package/dist/browser-session/responseContracts/identity.d.ts +2 -0
- package/dist/browser-session/responseContracts/identity.js +30 -0
- package/dist/browser-session/responseContracts/organizations.d.ts +2 -0
- package/dist/browser-session/responseContracts/organizations.js +17 -0
- package/dist/browser-session/responseContracts/privacy.d.ts +2 -0
- package/dist/browser-session/responseContracts/privacy.js +7 -0
- package/dist/browser-session/responseContracts.gen.d.ts +3 -0
- package/dist/browser-session/responseContracts.gen.js +10 -0
- package/dist/browser-session/responseValidators/api_keys-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/api_keys-diagnostics.d.cts +4 -0
- package/dist/browser-session/responseValidators/api_keys.cjs +2 -0
- package/dist/browser-session/responseValidators/api_keys.d.cts +4 -0
- package/dist/browser-session/responseValidators/credits-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/credits-diagnostics.d.cts +3 -0
- package/dist/browser-session/responseValidators/credits.cjs +2 -0
- package/dist/browser-session/responseValidators/credits.d.cts +3 -0
- package/dist/browser-session/responseValidators/github-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/github-diagnostics.d.cts +3 -0
- package/dist/browser-session/responseValidators/github.cjs +2 -0
- package/dist/browser-session/responseValidators/github.d.cts +3 -0
- package/dist/browser-session/responseValidators/identity-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/identity-diagnostics.d.cts +23 -0
- package/dist/browser-session/responseValidators/identity.cjs +2 -0
- package/dist/browser-session/responseValidators/identity.d.cts +23 -0
- package/dist/browser-session/responseValidators/organizations-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/organizations-diagnostics.d.cts +15 -0
- package/dist/browser-session/responseValidators/organizations.cjs +2 -0
- package/dist/browser-session/responseValidators/organizations.d.cts +15 -0
- package/dist/browser-session/responseValidators/privacy-diagnostics.cjs +1 -0
- package/dist/browser-session/responseValidators/privacy-diagnostics.d.cts +2 -0
- package/dist/browser-session/responseValidators/privacy.cjs +2 -0
- package/dist/browser-session/responseValidators/privacy.d.cts +2 -0
- package/dist/client/client.gen.d.ts +2 -0
- package/dist/client/client.gen.js +168 -0
- package/dist/client/index.d.ts +10 -0
- package/dist/client/index.js +17 -0
- package/dist/client/types.gen.d.ts +120 -0
- package/dist/client/types.gen.js +3 -0
- package/dist/client/utils.gen.d.ts +37 -0
- package/dist/client/utils.gen.js +239 -0
- package/dist/client.gen.d.ts +12 -0
- package/dist/client.gen.js +6 -0
- package/dist/command-check.gen.d.ts +14 -0
- package/dist/command-check.gen.js +23 -0
- package/dist/command-input.gen.d.ts +6 -0
- package/dist/command-input.gen.js +45 -0
- package/dist/core/auth.gen.d.ts +25 -0
- package/dist/core/auth.gen.js +18 -0
- package/dist/core/binaryStream.d.ts +8 -0
- package/dist/core/binaryStream.js +76 -0
- package/dist/core/bodySerializer.gen.d.ts +25 -0
- package/dist/core/bodySerializer.gen.js +60 -0
- package/dist/core/commandValidators.cjs +1 -0
- package/dist/core/commandValidators.d.cts +14 -0
- package/dist/core/eventValidation.d.ts +17 -0
- package/dist/core/eventValidation.js +56 -0
- package/dist/core/eventValidators.cjs +1 -0
- package/dist/core/eventValidators.d.cts +2 -0
- package/dist/core/json.d.ts +3 -0
- package/dist/core/json.js +33 -0
- package/dist/core/params.gen.d.ts +43 -0
- package/dist/core/params.gen.js +112 -0
- package/dist/core/pathSerializer.gen.d.ts +33 -0
- package/dist/core/pathSerializer.gen.js +115 -0
- package/dist/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/core/queryKeySerializer.gen.js +98 -0
- package/dist/core/responseContracts/actions.d.ts +2 -0
- package/dist/core/responseContracts/actions.js +30 -0
- package/dist/core/responseContracts/agents.d.ts +2 -0
- package/dist/core/responseContracts/agents.js +7 -0
- package/dist/core/responseContracts/artifacts.d.ts +2 -0
- package/dist/core/responseContracts/artifacts.js +8 -0
- package/dist/core/responseContracts/commands.d.ts +2 -0
- package/dist/core/responseContracts/commands.js +6 -0
- package/dist/core/responseContracts/credits.d.ts +2 -0
- package/dist/core/responseContracts/credits.js +27 -0
- package/dist/core/responseContracts/files.d.ts +2 -0
- package/dist/core/responseContracts/files.js +15 -0
- package/dist/core/responseContracts/github.d.ts +2 -0
- package/dist/core/responseContracts/github.js +8 -0
- package/dist/core/responseContracts/images.d.ts +2 -0
- package/dist/core/responseContracts/images.js +8 -0
- package/dist/core/responseContracts/launchRuns.d.ts +2 -0
- package/dist/core/responseContracts/launchRuns.js +10 -0
- package/dist/core/responseContracts/launches.d.ts +2 -0
- package/dist/core/responseContracts/launches.js +10 -0
- package/dist/core/responseContracts/operations.d.ts +2 -0
- package/dist/core/responseContracts/operations.js +7 -0
- package/dist/core/responseContracts/previews.d.ts +2 -0
- package/dist/core/responseContracts/previews.js +8 -0
- package/dist/core/responseContracts/pricing.d.ts +2 -0
- package/dist/core/responseContracts/pricing.js +6 -0
- package/dist/core/responseContracts/processes.d.ts +2 -0
- package/dist/core/responseContracts/processes.js +11 -0
- package/dist/core/responseContracts/provider_accounts.d.ts +2 -0
- package/dist/core/responseContracts/provider_accounts.js +13 -0
- package/dist/core/responseContracts/providers.d.ts +2 -0
- package/dist/core/responseContracts/providers.js +6 -0
- package/dist/core/responseContracts/routing.d.ts +2 -0
- package/dist/core/responseContracts/routing.js +8 -0
- package/dist/core/responseContracts/sandboxes.d.ts +2 -0
- package/dist/core/responseContracts/sandboxes.js +15 -0
- package/dist/core/responseContracts/secrets.d.ts +2 -0
- package/dist/core/responseContracts/secrets.js +8 -0
- package/dist/core/responseContracts/spend_limits.d.ts +2 -0
- package/dist/core/responseContracts/spend_limits.js +8 -0
- package/dist/core/responseContracts/terminals.d.ts +2 -0
- package/dist/core/responseContracts/terminals.js +11 -0
- package/dist/core/responseContracts/usage.d.ts +2 -0
- package/dist/core/responseContracts/usage.js +7 -0
- package/dist/core/responseContracts/volumes.d.ts +2 -0
- package/dist/core/responseContracts/volumes.js +19 -0
- package/dist/core/responseContracts.gen.d.ts +3 -0
- package/dist/core/responseContracts.gen.js +27 -0
- package/dist/core/responseModes.d.ts +19 -0
- package/dist/core/responseModes.js +13 -0
- package/dist/core/responseValidation.d.ts +44 -0
- package/dist/core/responseValidation.js +174 -0
- package/dist/core/responseValidators/actions-diagnostics.cjs +4 -0
- package/dist/core/responseValidators/actions-diagnostics.d.cts +24 -0
- package/dist/core/responseValidators/actions.cjs +2 -0
- package/dist/core/responseValidators/actions.d.cts +24 -0
- package/dist/core/responseValidators/agents-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/agents-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/agents.cjs +2 -0
- package/dist/core/responseValidators/agents.d.cts +2 -0
- package/dist/core/responseValidators/artifacts-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/artifacts-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/artifacts.cjs +2 -0
- package/dist/core/responseValidators/artifacts.d.cts +2 -0
- package/dist/core/responseValidators/commands-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/commands-diagnostics.d.cts +1 -0
- package/dist/core/responseValidators/commands.cjs +2 -0
- package/dist/core/responseValidators/commands.d.cts +1 -0
- package/dist/core/responseValidators/compact.cjs +122 -0
- package/dist/core/responseValidators/credits-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/credits-diagnostics.d.cts +21 -0
- package/dist/core/responseValidators/credits.cjs +2 -0
- package/dist/core/responseValidators/credits.d.cts +21 -0
- package/dist/core/responseValidators/files-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/files-diagnostics.d.cts +5 -0
- package/dist/core/responseValidators/files.cjs +2 -0
- package/dist/core/responseValidators/files.d.cts +5 -0
- package/dist/core/responseValidators/github-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/github-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/github.cjs +2 -0
- package/dist/core/responseValidators/github.d.cts +2 -0
- package/dist/core/responseValidators/images-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/images-diagnostics.d.cts +3 -0
- package/dist/core/responseValidators/images.cjs +2 -0
- package/dist/core/responseValidators/images.d.cts +3 -0
- package/dist/core/responseValidators/launchRuns-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/launchRuns-diagnostics.d.cts +5 -0
- package/dist/core/responseValidators/launchRuns.cjs +2 -0
- package/dist/core/responseValidators/launchRuns.d.cts +5 -0
- package/dist/core/responseValidators/launches-diagnostics.cjs +10 -0
- package/dist/core/responseValidators/launches-diagnostics.d.cts +5 -0
- package/dist/core/responseValidators/launches.cjs +2 -0
- package/dist/core/responseValidators/launches.d.cts +5 -0
- package/dist/core/responseValidators/operations-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/operations-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/operations.cjs +2 -0
- package/dist/core/responseValidators/operations.d.cts +2 -0
- package/dist/core/responseValidators/previews-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/previews-diagnostics.d.cts +3 -0
- package/dist/core/responseValidators/previews.cjs +2 -0
- package/dist/core/responseValidators/previews.d.cts +3 -0
- package/dist/core/responseValidators/pricing-diagnostics.cjs +7 -0
- package/dist/core/responseValidators/pricing-diagnostics.d.cts +1 -0
- package/dist/core/responseValidators/pricing.cjs +2 -0
- package/dist/core/responseValidators/pricing.d.cts +1 -0
- package/dist/core/responseValidators/processes-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/processes-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/processes.cjs +2 -0
- package/dist/core/responseValidators/processes.d.cts +2 -0
- package/dist/core/responseValidators/provider_accounts-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/provider_accounts-diagnostics.d.cts +8 -0
- package/dist/core/responseValidators/provider_accounts.cjs +2 -0
- package/dist/core/responseValidators/provider_accounts.d.cts +8 -0
- package/dist/core/responseValidators/providers-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/providers-diagnostics.d.cts +1 -0
- package/dist/core/responseValidators/providers.cjs +2 -0
- package/dist/core/responseValidators/providers.d.cts +1 -0
- package/dist/core/responseValidators/routing-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/routing-diagnostics.d.cts +3 -0
- package/dist/core/responseValidators/routing.cjs +2 -0
- package/dist/core/responseValidators/routing.d.cts +3 -0
- package/dist/core/responseValidators/sandboxes-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/sandboxes-diagnostics.d.cts +10 -0
- package/dist/core/responseValidators/sandboxes.cjs +2 -0
- package/dist/core/responseValidators/sandboxes.d.cts +10 -0
- package/dist/core/responseValidators/secrets-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/secrets-diagnostics.d.cts +1 -0
- package/dist/core/responseValidators/secrets.cjs +2 -0
- package/dist/core/responseValidators/secrets.d.cts +1 -0
- package/dist/core/responseValidators/spend_limits-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/spend_limits-diagnostics.d.cts +3 -0
- package/dist/core/responseValidators/spend_limits.cjs +2 -0
- package/dist/core/responseValidators/spend_limits.d.cts +3 -0
- package/dist/core/responseValidators/terminals-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/terminals-diagnostics.d.cts +2 -0
- package/dist/core/responseValidators/terminals.cjs +2 -0
- package/dist/core/responseValidators/terminals.d.cts +2 -0
- package/dist/core/responseValidators/usage-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/usage-diagnostics.d.cts +1 -0
- package/dist/core/responseValidators/usage.cjs +2 -0
- package/dist/core/responseValidators/usage.d.cts +1 -0
- package/dist/core/responseValidators/volumes-diagnostics.cjs +1 -0
- package/dist/core/responseValidators/volumes-diagnostics.d.cts +10 -0
- package/dist/core/responseValidators/volumes.cjs +2 -0
- package/dist/core/responseValidators/volumes.d.cts +10 -0
- package/dist/core/serverSentEvents.gen.d.ts +30 -0
- package/dist/core/serverSentEvents.gen.js +313 -0
- package/dist/core/streamErrors.d.ts +32 -0
- package/dist/core/streamErrors.js +51 -0
- package/dist/core/types.gen.d.ts +83 -0
- package/dist/core/types.gen.js +3 -0
- package/dist/core/utils.gen.d.ts +19 -0
- package/dist/core/utils.gen.js +93 -0
- package/dist/creation.gen.d.ts +21 -0
- package/dist/creation.gen.js +35 -0
- package/dist/data-origin.d.ts +25 -0
- package/dist/data-origin.js +57 -0
- package/dist/error-codes.gen.d.ts +2 -0
- package/dist/error-codes.gen.js +2 -0
- package/dist/idempotency.gen.d.ts +1 -0
- package/dist/idempotency.gen.js +60 -0
- package/dist/images.d.ts +74 -0
- package/dist/images.js +88 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +80 -0
- package/dist/launch-input.gen.d.ts +9 -0
- package/dist/launch-input.gen.js +83 -0
- package/dist/launch.d.ts +28 -0
- package/dist/launch.js +222 -0
- package/dist/namespace-actions.d.mts +307 -0
- package/dist/namespace-actions.mjs +595 -0
- package/dist/namespace-agents.d.mts +33 -0
- package/dist/namespace-agents.mjs +40 -0
- package/dist/namespace-artifacts.d.mts +46 -0
- package/dist/namespace-artifacts.mjs +69 -0
- package/dist/namespace-base.d.mts +7 -0
- package/dist/namespace-base.mjs +7 -0
- package/dist/namespace-commands.d.mts +57 -0
- package/dist/namespace-commands.mjs +57 -0
- package/dist/namespace-credits.d.mts +213 -0
- package/dist/namespace-credits.mjs +476 -0
- package/dist/namespace-files.d.mts +203 -0
- package/dist/namespace-files.mjs +334 -0
- package/dist/namespace-github.d.mts +50 -0
- package/dist/namespace-github.mjs +68 -0
- package/dist/namespace-images.d.mts +52 -0
- package/dist/namespace-images.mjs +78 -0
- package/dist/namespace-launch_runs.d.mts +89 -0
- package/dist/namespace-launch_runs.mjs +133 -0
- package/dist/namespace-launches.d.mts +89 -0
- package/dist/namespace-launches.mjs +133 -0
- package/dist/namespace-operations.d.mts +45 -0
- package/dist/namespace-operations.mjs +52 -0
- package/dist/namespace-previews.d.mts +79 -0
- package/dist/namespace-previews.mjs +101 -0
- package/dist/namespace-pricing.d.mts +31 -0
- package/dist/namespace-pricing.mjs +22 -0
- package/dist/namespace-processes.d.mts +125 -0
- package/dist/namespace-processes.mjs +184 -0
- package/dist/namespace-provider_accounts.d.mts +156 -0
- package/dist/namespace-provider_accounts.mjs +241 -0
- package/dist/namespace-providers.d.mts +28 -0
- package/dist/namespace-providers.mjs +24 -0
- package/dist/namespace-routing.d.mts +64 -0
- package/dist/namespace-routing.mjs +86 -0
- package/dist/namespace-sandboxes.d.mts +287 -0
- package/dist/namespace-sandboxes.mjs +402 -0
- package/dist/namespace-secrets.d.mts +46 -0
- package/dist/namespace-secrets.mjs +68 -0
- package/dist/namespace-spend_limits.d.mts +48 -0
- package/dist/namespace-spend_limits.mjs +70 -0
- package/dist/namespace-terminals.d.mts +112 -0
- package/dist/namespace-terminals.mjs +177 -0
- package/dist/namespace-usage.d.mts +46 -0
- package/dist/namespace-usage.mjs +53 -0
- package/dist/namespace-volumes.d.mts +110 -0
- package/dist/namespace-volumes.mjs +269 -0
- package/dist/operations.d.ts +14 -0
- package/dist/operations.js +31 -0
- package/dist/retry.d.ts +8 -0
- package/dist/retry.js +63 -0
- package/dist/routing-choices.gen.d.ts +132 -0
- package/dist/routing-choices.gen.js +136 -0
- package/dist/routing.d.ts +23 -0
- package/dist/routing.js +38 -0
- package/dist/sandbox-handle.gen.d.ts +8 -0
- package/dist/sandbox-handle.gen.js +14 -0
- package/dist/sandboxes.d.ts +213 -0
- package/dist/sandboxes.js +507 -0
- package/dist/sdk.gen.d.ts +2029 -0
- package/dist/sdk.gen.js +3862 -0
- package/dist/server-timing.d.ts +19 -0
- package/dist/server-timing.gen.d.ts +265 -0
- package/dist/server-timing.gen.js +254 -0
- package/dist/server-timing.js +421 -0
- package/dist/spend-limits.d.ts +17 -0
- package/dist/spend-limits.js +26 -0
- package/dist/telemetry.d.ts +51 -0
- package/dist/telemetry.gen.d.ts +1 -0
- package/dist/telemetry.gen.js +5 -0
- package/dist/telemetry.js +438 -0
- package/dist/terminal.d.ts +61 -0
- package/dist/terminal.js +266 -0
- package/dist/transfer.d.ts +75 -0
- package/dist/transfer.js +389 -0
- package/dist/types.gen.d.ts +15016 -0
- package/dist/types.gen.js +3 -0
- package/dist/user-agent.d.ts +2 -0
- package/dist/user-agent.js +18 -0
- package/dist/version.gen.d.ts +1 -0
- package/dist/version.gen.js +5 -0
- package/dist/volumes.d.ts +33 -0
- package/dist/volumes.js +221 -0
- package/dist/waits.d.ts +31 -0
- package/dist/waits.js +42 -0
- package/dist/workflow-policy.gen.d.ts +41 -0
- package/dist/workflow-policy.gen.js +45 -0
- package/package.json +135 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const validate0: (value: unknown) => boolean;
|
|
2
|
+
export declare const validate1: (value: unknown) => boolean;
|
|
3
|
+
export declare const validate2: (value: unknown) => boolean;
|
|
4
|
+
export declare const validate3: (value: unknown) => boolean;
|
|
5
|
+
export declare const validate4: (value: unknown) => boolean;
|
|
6
|
+
export declare const validate5: (value: unknown) => boolean;
|
|
7
|
+
export declare const validate6: (value: unknown) => boolean;
|
|
8
|
+
export declare const validate7: (value: unknown) => boolean;
|
|
9
|
+
export declare const validate8: (value: unknown) => boolean;
|
|
10
|
+
export declare const validate9: (value: unknown) => boolean;
|
|
11
|
+
export declare const validate10: (value: unknown) => boolean;
|
|
12
|
+
export declare const validate11: (value: unknown) => boolean;
|
|
13
|
+
export declare const validate12: (value: unknown) => boolean;
|
|
14
|
+
export declare const validate13: (value: unknown) => boolean;
|
|
15
|
+
export declare const validate14: (value: unknown) => boolean;
|
|
16
|
+
export declare const validate15: (value: unknown) => boolean;
|
|
17
|
+
export declare const validate16: (value: unknown) => boolean;
|
|
18
|
+
export declare const validate17: (value: unknown) => boolean;
|
|
19
|
+
export declare const validate18: (value: unknown) => boolean;
|
|
20
|
+
export declare const validate19: (value: unknown) => boolean;
|
|
21
|
+
export declare const validate20: (value: unknown) => boolean;
|
|
22
|
+
export declare const validate21: (value: unknown) => boolean;
|
|
23
|
+
export declare const validate22: (value: unknown) => boolean;
|
|
24
|
+
export declare const validate23: (value: unknown) => boolean;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = require("./compact.cjs")({"roots":{"validate0":{"$":0},"validate1":{"$":0},"validate2":{"$":1},"validate3":{"$":8},"validate4":{"$":11},"validate5":{"$":12},"validate6":{"$":12},"validate7":{"$":12},"validate8":{"$":16},"validate9":{"$":19},"validate10":{"$":43},"validate11":{"$":46},"validate12":{"$":20},"validate13":{"$":48},"validate14":{"$":64},"validate15":{"$":49},"validate16":{"$":67},"validate17":{"$":69},"validate18":{"$":69},"validate19":{"$":70},"validate20":{"$":65},"validate21":{"$":72},"validate22":{"$":72},"validate23":{"$":72}},"definitions":[{"type":"object","required":["repository_id","exists","enabled","policy_id","state","default_label","revision","updated_at"],"properties":{"resolved_profile":{"type":"string"},"repository_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"exists":{"type":"boolean"},"enabled":{"type":"boolean"},"policy_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"state":{"type":"string","enum":["disabled","preparing","ready","attention_required"]},"reason_code":{"type":["string","null"],"maxLength":128,"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"message":{"type":["string","null"],"minLength":1,"maxLength":512},"link_target":{"type":["string","null"],"enum":["byok","credits",null]},"default_label":{"type":"string","minLength":1,"maxLength":128},"revision":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"updated_at":{"type":"string","format":"date-time"}}},{"type":"object","required":["readiness"],"properties":{"readiness":{"$":2},"runner_catalog":{"$":8}}},{"type":"object","required":["runners_ready"],"properties":{"profile":{"type":"string"},"runners_ready":{"type":"boolean"},"providers":{"type":"array","items":{"$":3}},"runner_labels":{"type":"array","items":{"$":6}},"reason_code":{"type":["string","null"]},"disk_min_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"message":{"type":["string","null"],"minLength":1,"maxLength":512},"link_target":{"type":["string","null"],"enum":["byok","credits",null]}}},{"type":"object","required":["provider","provider_label","account_id","account_label","supply","ready","region","size","reason_code","message","link_target"],"properties":{"profile":{"type":"string"},"provider":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"provider_label":{"type":"string","minLength":1,"maxLength":128},"account_id":{"type":["string","null"],"minLength":1,"maxLength":128},"account_label":{"type":["string","null"],"minLength":1,"maxLength":128},"supply":{"type":["string","null"],"enum":["byok","managed",null]},"ready":{"type":"boolean"},"region":{"type":["string","null"],"minLength":1,"maxLength":128},"size":{"anyOf":[{"$":4},{"type":"null"}]},"cpu_options":{"type":"array","uniqueItems":true,"items":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}},"vcpu_options":{"type":"array","uniqueItems":true,"items":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}},"unavailable_shapes":{"type":"array","maxItems":16,"items":{"$":5}},"max_job_minutes":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"reason_code":{"type":["string","null"]},"message":{"type":["string","null"],"minLength":1,"maxLength":512},"link_target":{"type":["string","null"],"enum":["byok","credits",null]}}},{"type":"object","required":["cpu","memory_mib"],"properties":{"cpu":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}}},{"type":"object","required":["cpu","memory_mib","reason_code","message"],"properties":{"cpu":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"reason_code":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string","minLength":1,"maxLength":512}}},{"type":"object","required":["label","providers"],"properties":{"profile":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":128},"objective":{"type":["string","null"],"enum":["any",null]},"size":{"$":7},"providers":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"}},"objective_ranked":{"type":"boolean"},"vcpu":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_gb":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"os_label":{"type":["string","null"],"minLength":1,"maxLength":128}},"anyOf":[{"required":["size"]},{"required":["vcpu","memory_gb"]}]},{"type":"object","required":["memory_mib"],"properties":{"cpu":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}}},{"type":"object","required":["version","runners","profiles","profile_source","standard_labels","default_label"],"properties":{"version":{"const":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}]},"runners":{"type":"array","minItems":1,"items":{"$":9}},"profiles":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1}},"profile_source":{"type":"string","const":"runner_label"},"standard_labels":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1}},"default_label":{"type":"string","minLength":1,"maxLength":200}}},{"type":"object","required":["label","shape","profile"],"properties":{"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$"},"shape":{"$":10},"profile":{"type":"string"}}},{"type":"object","required":["name","cpu","memory_mib","architecture","operating_system"],"properties":{"name":{"type":"string","minLength":1},"cpu":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"architecture":{"type":"string","minLength":1},"operating_system":{"type":"string","minLength":1}}},{"type":"object","required":["data","next_cursor"],"properties":{"data":{"type":"array","items":{"$":12}},"next_cursor":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}}},{"type":"object","required":["id","name","settings","revision","updated_at"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"},"settings":{"$":13},"revision":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"updated_at":{"type":"string","format":"date-time"}}},{"type":"object","properties":{"profile":{"type":"string","enum":["linux-basic","full"]},"preferences":{"$":14},"allowed_providers":{"type":"array","uniqueItems":true,"minItems":1,"items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"}},"allowed_regions":{"type":"array","uniqueItems":true,"minItems":1,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"allowed_route_ids":{"type":"array","uniqueItems":true,"minItems":1,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"max_runtime_seconds":{"minimum":1,"maximum":1800,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1,"maximum":1800}},"max_customer_charge_usd":{"type":["string","null"],"pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"}}},{"type":"object","properties":{"order":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"only":{"$":15},"ignore":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"sort":{"type":"string","enum":["price","time"]},"allow_fallbacks":{"type":"boolean"}}},{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},{"type":"object","required":["repository_id","label","status","eligible_routes","exclusions","reason"],"properties":{"repository_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"label":{"type":"string","minLength":1,"maxLength":128},"status":{"type":"string","enum":["eligible","refused","unknown"]},"eligible_routes":{"type":"array","items":{"$":17}},"exclusions":{"type":"array","items":{"$":18}},"reason":{"type":["string","null"],"minLength":1,"maxLength":1024}}},{"type":"object","required":["provider","region"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"region":{"type":["string","null"],"minLength":1,"maxLength":128}}},{"type":"object","required":["provider","code","reason"],"properties":{"provider":{"type":["string","null"],"minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"code":{"type":"string","minLength":1,"maxLength":128},"reason":{"type":"string","minLength":1,"maxLength":1024}}},{"type":"object","required":["data","next_cursor"],"properties":{"data":{"type":"array","items":{"$":20}},"next_cursor":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"counts":{"$":42},"total":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}}}},{"type":"object","required":["id","github_run_id","run_attempt","repository_id","workflow_name","state","result","created_at","updated_at","billing"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"github_run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_attempt":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"repository_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"repository":{"type":"string","minLength":1,"maxLength":255},"workflow_name":{"type":["string","null"],"minLength":1,"maxLength":255},"workflow":{"type":"string","minLength":1,"maxLength":255},"branch":{"type":"string","minLength":1,"maxLength":255},"run_url":{"type":"string","format":"uri","maxLength":2048},"head_branch":{"type":["string","null"],"minLength":1,"maxLength":255},"head_sha":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_number":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"display_title":{"type":"string","minLength":1},"actor":{"$":21},"triggering_actor":{"$":21},"state":{"$":22},"result":{"$":23},"failure":{"$":24},"waiting":{"$":25},"sources":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"providers":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"}},"started_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"billing":{"$":26},"controls":{"$":38},"cost":{"anyOf":[{"$":40},{"type":"null"}]}}},{"type":"object","required":["login","profile_url"],"properties":{"login":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\u0000]*$"},"profile_url":{"type":["string","null"],"format":"uri","maxLength":2048,"pattern":"^https://github\\.com/(apps/)?[^/?#]+$"}}},{"type":"string","enum":["queued","preparing","starting","running","stopping","ended","attention_required"]},{"type":["string","null"],"enum":["success","workload_failure","cancelled","timed_out","infrastructure_failure","skipped","neutral","unknown",null]},{"type":"object","required":["kind","reason_code","message","link_target"],"properties":{"kind":{"type":"string","enum":["workflow","boxrouter"]},"reason_code":{"type":["string","null"],"maxLength":128,"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"message":{"type":["string","null"],"minLength":1,"maxLength":1024},"link_target":{"type":["string","null"],"enum":["byok","credits","github",null]}}},{"type":"object","required":["job_count","reason_code","since"],"properties":{"job_count":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"reason_code":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"since":{"type":"string","format":"date-time"}}},{"type":"object","required":["provider_cost","customer_charge"],"properties":{"provider_cost":{"anyOf":[{"type":"object","required":["label","total"],"properties":{"label":{"$":27},"total":{"$":28},"summary":{"$":31}},"if":{"properties":{"label":{"const":"unknown"}},"required":["label"]},"then":{"properties":{"total":{"type":"null"}}},"else":{"properties":{"total":{"type":"object"}}},"additionalProperties":false},{"type":"object","required":["label","total","lines","held_back_by","exclusions","price_version","as_of"],"properties":{"label":{"enum":["reported","calculated","unknown"]},"total":{"anyOf":[{"$":29},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","required":["what","quantity","unit","rate","amount","quantity_source"],"properties":{"what":{"enum":["cpu","memory","disk","gpu","machine","creation","egress","snapshot_storage"]},"quantity":{"$":30},"unit":{"type":"string","minLength":1},"rate":{"$":30},"amount":{"$":30},"quantity_source":{"$":32},"text":{"type":"string","minLength":1},"sources":{"type":"object","required":["amount"],"properties":{"quantity":{"type":"string","minLength":1},"rate":{"type":"string","minLength":1},"amount":{"type":"string","minLength":1}}}}}},"held_back_by":{"type":"array","items":{"type":"string","minLength":1}},"exclusions":{"type":"array","items":{"type":"string","minLength":1}},"price_version":{"type":["string","null"],"pattern":"^[a-z][a-z0-9-]*@[0-9]{4}-[0-9]{2}-[0-9]{2}(?:-([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]Z)?$"},"as_of":{"$":33},"per_hour":{"$":34},"reported_figure":{"type":"object","required":["source","observed_at","how"],"properties":{"source":{"$":32,"const":"provider"},"observed_at":{"$":33},"how":{"type":"string","minLength":1}}},"summary":{"type":"string","minLength":1}},"allOf":[{"if":{"properties":{"label":{"const":"unknown"}},"required":["label"]},"then":{"properties":{"total":{"type":"null"}}},"else":{"properties":{"total":{"type":"object"}}}},{"if":{"properties":{"label":{"const":"reported"}},"required":["label"]},"then":{"required":["reported_figure"]},"else":{"not":{"required":["reported_figure"]}}}],"additionalProperties":false},{"type":"null"}]},"customer_charge":{"$":36}}},{"enum":["reported","calculated","unknown"]},{"anyOf":[{"$":29},{"type":"null"}]},{"type":"object","required":["low","high"],"properties":{"low":{"$":30},"high":{"$":30}}},{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},{"type":"string","minLength":1},{"type":"string","enum":["provider","published","measured","recorded","calculated","unknown"]},{"type":"string","format":"date-time","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?Z$"},{"$":35},{"type":"object","required":["low","high"],"properties":{"low":{"$":30},"high":{"$":30}}},{"type":"object","required":["state","held","final"],"properties":{"state":{"type":"string","enum":["pending","final","unknown"]},"held":{"anyOf":[{"$":37},{"type":"null"}]},"final":{"anyOf":[{"$":37},{"type":"null"}]},"reason":{"type":["string","null"]}},"allOf":[{"if":{"properties":{"state":{"const":"final"}},"required":["state"]},"then":{"properties":{"final":{"$":37}}},"else":{"properties":{"final":{"type":"null"}}}},{"if":{"properties":{"state":{"const":"unknown"}},"required":["state"]},"then":{"properties":{"held":{"type":"null"},"final":{"type":"null"}}}}]},{"type":"object","required":["currency","amount"],"properties":{"currency":{"type":"string","const":"usd"},"amount":{"type":"string","minLength":1,"pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"}}},{"type":"object","required":["cancel","rerun"],"properties":{"cancel":{"$":39},"rerun":{"$":39},"rerun_failed_jobs":{"$":39}}},{"type":"object","required":["allowed"],"properties":{"allowed":{"type":"boolean"},"reason_code":{"type":"string","enum":["not_authorized","already_finished","not_current_attempt","not_finished","github_unavailable","no_failed_jobs"]}}},{"type":"object","required":["amount","currency","status","basis","evidence"],"properties":{"amount":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},{"type":"null"}]},"currency":{"type":"string","const":"USD"},"status":{"type":"string","enum":["final","pending"]},"basis":{"type":"string","enum":["provider_reported","calculated"]},"per_hour":{"type":["string","null"],"pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},"evidence":{"type":"array","minItems":1,"items":{"$":41}}},"allOf":[{"if":{"properties":{"status":{"const":"pending"}},"required":["status"]},"then":{"properties":{"amount":{"type":"null"}}},"else":{"properties":{"amount":{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"}}}},{"if":{"properties":{"status":{"const":"final"}},"required":["status"]},"then":{"properties":{"evidence":{"items":{"properties":{"ended_at":{"type":"string","format":"date-time"},"usage_source":{"const":"provider"}}}}}}},{"if":{"properties":{"basis":{"const":"calculated"},"amount":{"type":"string"}},"required":["basis","amount"]},"then":{"properties":{"evidence":{"items":{"properties":{"price_version":{"type":"string"}}}}}}}]},{"type":"object","required":["sandbox_id","usage_source","price_version","started_at","ended_at"],"properties":{"sandbox_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"usage_source":{"$":32},"price_version":{"type":["string","null"],"minLength":1,"maxLength":128},"started_at":{"type":"string","format":"date-time"},"ended_at":{"type":["string","null"],"format":"date-time"}}},{"type":"object","required":["live","all"],"properties":{"live":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"all":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}}}},{"type":"object","required":["state","repository","workflow","triggered_by","branch","job","runner_label"],"properties":{"state":{"$":44},"repository":{"$":44},"workflow":{"$":44},"triggered_by":{"$":44},"branch":{"$":44},"job":{"$":44},"runner_label":{"$":44}}},{"type":"array","items":{"$":45}},{"type":"object","required":["value","label","count"],"properties":{"value":{"type":"string","minLength":1,"maxLength":513},"label":{"type":"string","minLength":1,"maxLength":256},"count":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}}}},{"type":"object","required":["since","until","runner_count","idle_seconds","billing","pools"],"properties":{"since":{"type":"string","format":"date-time"},"until":{"type":"string","format":"date-time"},"runner_count":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"idle_seconds":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"billing":{"$":26},"pools":{"type":"array","maxItems":1000,"items":{"$":47}}}},{"type":"object","required":["pool_id","labels","runner_count","idle_seconds","billing"],"properties":{"pool_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"labels":{"type":"array","maxItems":64,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"runner_count":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"idle_seconds":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"billing":{"$":26}}},{"type":"object","required":["data","next_cursor"],"properties":{"data":{"type":"array","items":{"$":49}},"next_cursor":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}}},{"type":"object","required":["id","run_id","github_job_id","name","state","result","placement_ids"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"github_job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"name":{"type":"string","minLength":1,"maxLength":255},"repository":{"type":"string","minLength":1,"maxLength":255},"workflow":{"type":"string","minLength":1,"maxLength":255},"job_name":{"type":"string","minLength":1,"maxLength":255},"job_url":{"type":"string","format":"uri","maxLength":2048},"run_url":{"type":"string","format":"uri","maxLength":2048},"branch":{"type":"string","minLength":1,"maxLength":255},"head_sha":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"requested_environment":{"$":50},"requested_labels":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"state":{"$":22},"result":{"$":23},"failure":{"$":24},"waiting":{"$":51},"machine":{"$":52},"billing":{"$":26},"cost":{"anyOf":[{"$":40},{"type":"null"}]},"lifetime_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"sources":{"type":"object","additionalProperties":true,"properties":{"region":{"$":54}}},"sandbox":{"anyOf":[{"$":55},{"type":"null"}]},"placement_ids":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"route_selection":{"$":56},"creation":{"$":59},"ordered_routes":{"type":"array","items":{"$":63}}}},{"type":"object","required":["profile","cpu","memory_mib","disk_mib"],"properties":{"profile":{"type":["string","null"]},"cpu":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"disk_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}}},{"type":"object","required":["reason_code","since"],"properties":{"reason_code":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"since":{"type":"string","format":"date-time"},"action":{"type":["string","null"]},"required_nanodollars":{"type":"string","maxLength":19,"pattern":"^(0|[1-9][0-9]{0,18})$"},"available_nanodollars":{"type":"string","maxLength":19,"pattern":"^(0|[1-9][0-9]{0,18})$"}},"dependentRequired":{"available_nanodollars":["required_nanodollars"]}},{"type":"object","required":["integrity"],"properties":{"cpu_model":{"type":["string","null"],"maxLength":96},"effective_cpus":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"score":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"integrity":{"type":"string"},"steal_ratio":{"minimum":0,"maximum":1,"allOf":[{"anyOf":[{"type":["number","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0,"maximum":1}},"typical_score":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"speed_ratio":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":["number","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"disk_write_mbps":{"minimum":0,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"disk_read_mbps":{"minimum":0,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"facts":{"$":53}}},{"type":"object","properties":{"cpu":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string"}}},"memory":{"type":"object","required":["kind","basis"],"properties":{"kind":{"type":"string"},"basis":{"type":"string"}}},"disk":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string"},"observed_at":{"type":"string","format":"date-time"}}}}},{"type":"object","additionalProperties":true,"properties":{"kind":{"type":"string"},"url":{"type":"string","format":"uri","maxLength":2048},"read_at":{"type":"string","format":"date"}}},{"type":"object","required":["id","state","removed_at"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"state":{"type":"string"},"removed_at":{"type":["string","null"],"format":"date-time"}}},{"type":"object","required":["objective","ordered_route_ids","selected_route_id","reason","basis","considered","list_price_usd_per_hour","ready_ms_p50","readiness_scope","fallback"],"properties":{"objective":{"type":"string","enum":["default","fastest","cheapest"]},"ordered_route_ids":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"selected_route_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"reason":{"type":"string","minLength":1,"maxLength":256},"basis":{"type":"string","enum":["observed","static"]},"considered":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"list_price_usd_per_hour":{"type":["string","null"],"minLength":1,"pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},"ready_ms_p50":{"minimum":0,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"readiness_scope":{"type":["string","null"],"enum":["route","provider_region","provider","none",null]},"fallback":{"type":"boolean"},"routed_away":{"type":"object","required":["provider","size_cpu","signal","window_minutes"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"size_cpu":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"signal":{"type":"string"},"window_minutes":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}},"allOf":[{"if":{"properties":{"signal":{"const":"slow_machines"}}},"then":{"properties":{"window_minutes":{"const":60}}}},{"if":{"properties":{"signal":{"const":"slow_starts"}}},"then":{"properties":{"window_minutes":{"const":15}}}}]},"fallbacks_allowed":{"type":"boolean"},"stopped_reason":{"$":57},"funding_group":{"$":58},"workspace_mode":{"type":"string"}}},{"type":["string","null"]},{"type":"string"},{"type":"object","properties":{"fallbacks_allowed":{"type":"boolean"},"stopped_reason":{"$":57},"attempts":{"type":"array","maxItems":64,"items":{"$":60}},"attempts_truncated":{"type":"boolean"},"attempts_total":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"preparation_skips":{"type":"array","maxItems":64,"items":{"$":62}},"preparation_skips_truncated":{"type":"boolean"},"preparation_skips_total":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}}},"allOf":[{"if":{"properties":{"attempts_truncated":{"const":true}},"required":["attempts_truncated"]},"then":{"required":["attempts_total"]}},{"if":{"properties":{"preparation_skips_truncated":{"const":true}},"required":["preparation_skips_truncated"]},"then":{"required":["preparation_skips_total"]}}]},{"type":"object","required":["provider","outcome","native_code","native_status"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":64},"outcome":{"type":"string"},"native_code":{"type":["string","null"],"maxLength":128},"native_status":{"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}]},"route_id":{"type":["string","null"],"maxLength":128},"account_id":{"type":["string","null"],"maxLength":128},"supply":{"type":["string","null"],"maxLength":32},"cause":{"$":61}},"allOf":[{"if":{"properties":{"outcome":{"not":{"const":"not_started"}}},"required":["outcome"]},"then":{"properties":{"native_code":{"type":"null"},"native_status":{"type":"null"}}}}]},{"type":"string","minLength":1,"maxLength":64},{"type":"object","required":["provider","reason_code"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":64},"route_id":{"type":["string","null"],"maxLength":128},"account_id":{"type":["string","null"],"maxLength":128},"reason_code":{"type":"string","minLength":1,"maxLength":128},"cause":{"$":61}}},{"type":"object","required":["route_id","provider","provider_label","region"],"properties":{"route_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"provider":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"provider_label":{"type":"string","minLength":1,"maxLength":128},"region":{"type":["string","null"],"minLength":1,"maxLength":128}}},{"type":"object","required":["data","next_cursor"],"properties":{"data":{"type":"array","items":{"$":65}},"next_cursor":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}}},{"type":"object","required":["id","run_id","job_id","requested_job_id","assigned_job_id","provider","sandbox_id","state","result","cleanup_state","started_at","ended_at","billing","created_at","updated_at"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"requested_job_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"assigned_job_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"route_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"provider":{"type":["string","null"],"minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"sandbox_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"sandbox_link":{"type":["string","null"],"minLength":1,"maxLength":2048,"pattern":"^/(?!/)[^\\u0000]*$"},"region":{"type":["string","null"],"minLength":1,"maxLength":128},"size":{"anyOf":[{"$":4},{"type":"null"}]},"supply":{"type":["string","null"],"enum":["byok","managed",null]},"sources":{"type":"object","additionalProperties":true,"properties":{"region":{"$":54}}},"state":{"$":22},"result":{"$":23},"cleanup_state":{"$":66},"started_at":{"type":["string","null"],"format":"date-time"},"ended_at":{"type":["string","null"],"format":"date-time"},"billing":{"$":26},"creation":{"$":59},"lifetime_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},{"type":"string","enum":["pending","confirmed","unknown"]},{"type":"object","required":["job_id","run_id","github_job_id","run_attempt","availability","steps","observed_at","source"],"properties":{"job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"github_job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_attempt":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"availability":{"type":"string","enum":["available","pending","unavailable","forbidden","removed"]},"steps":{"type":"array","maxItems":1000,"items":{"$":68}},"observed_at":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["github_workflow_job"]},"reason_code":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"}}},{"type":"object","required":["position","number","name","status","conclusion","started_at","completed_at"],"properties":{"position":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"number":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"name":{"type":"string","minLength":1,"maxLength":255},"status":{"type":"string","minLength":1,"maxLength":64},"conclusion":{"type":["string","null"],"maxLength":64},"started_at":{"type":["string","null"],"format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"}}},{"type":"object","required":["job_id","run_id","github_job_id","run_attempt","observed_at","source","availability","text","byte_count","partial"],"properties":{"job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"github_job_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_attempt":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"observed_at":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["github_job_log","github_step_log"]},"availability":{"type":"string","enum":["available","pending","unavailable","forbidden","removed"]},"text":{"type":["string","null"],"maxLength":1048576},"byte_count":{"minimum":0,"maximum":1048576,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0,"maximum":1048576}},"partial":{"type":"boolean"},"step_position":{"minimum":0,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"reason_code":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"}},"allOf":[{"if":{"properties":{"availability":{"const":"available"}},"required":["availability"]},"then":{"properties":{"text":{"type":"string"}}}}]},{"type":"object","required":["events","next_cursor"],"properties":{"events":{"type":"array","maxItems":1000,"items":{"$":71}},"next_cursor":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}}},{"type":"object","required":["event_id","ts","step","outcome","reason_code","duration_ms","delivery_id","workspace_id","installation_id","repository_id","run_id","run_attempt","job_id","demand_id","route_id","sandbox_id","mutation_id","request_id","trace_id"],"properties":{"event_id":{"type":"string","format":"uuid"},"ts":{"type":"string","format":"date-time"},"step":{"type":"string","enum":["webhook_received","admission","registration","image_verification","controller_pass","sandbox_create","launch","assignment","result","cleanup"]},"outcome":{"type":"string","enum":["ok","refused","ignored","deferred","unknown","error"]},"reason_code":{"type":["string","null"],"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"duration_ms":{"minimum":0,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"delivery_id":{"type":["string","null"]},"request_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"trace_id":{"type":["string","null"],"minLength":32,"maxLength":32,"pattern":"^[0-9a-f]{32}$"},"workspace_id":{"type":"string","minLength":1},"installation_id":{"type":["string","null"]},"repository_id":{"type":["string","null"]},"run_id":{"type":["string","null"]},"run_attempt":{"minimum":0,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":0}},"job_id":{"type":["string","null"]},"demand_id":{"type":["string","null"]},"route_id":{"type":["string","null"]},"sandbox_id":{"type":["string","null"]},"mutation_id":{"type":["string","null"]}}},{"type":"object","required":["operation_id","run_id","action","scope","outcome","github_run_id","run_attempt"],"properties":{"operation_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"action":{"type":"string","enum":["cancel","rerun","rerun_failed_jobs"]},"scope":{"type":"string","const":"entire_workflow"},"outcome":{"type":"string","enum":["accepted","unknown"]},"github_run_id":{"type":["string","null"],"minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"},"run_attempt":{"minimum":1,"allOf":[{"anyOf":[{"type":["integer","null"]},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}}}]});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const validate0: (value: unknown) => boolean;
|
|
2
|
+
export declare const validate1: (value: unknown) => boolean;
|
|
3
|
+
export declare const validate2: (value: unknown) => boolean;
|
|
4
|
+
export declare const validate3: (value: unknown) => boolean;
|
|
5
|
+
export declare const validate4: (value: unknown) => boolean;
|
|
6
|
+
export declare const validate5: (value: unknown) => boolean;
|
|
7
|
+
export declare const validate6: (value: unknown) => boolean;
|
|
8
|
+
export declare const validate7: (value: unknown) => boolean;
|
|
9
|
+
export declare const validate8: (value: unknown) => boolean;
|
|
10
|
+
export declare const validate9: (value: unknown) => boolean;
|
|
11
|
+
export declare const validate10: (value: unknown) => boolean;
|
|
12
|
+
export declare const validate11: (value: unknown) => boolean;
|
|
13
|
+
export declare const validate12: (value: unknown) => boolean;
|
|
14
|
+
export declare const validate13: (value: unknown) => boolean;
|
|
15
|
+
export declare const validate14: (value: unknown) => boolean;
|
|
16
|
+
export declare const validate15: (value: unknown) => boolean;
|
|
17
|
+
export declare const validate16: (value: unknown) => boolean;
|
|
18
|
+
export declare const validate17: (value: unknown) => boolean;
|
|
19
|
+
export declare const validate18: (value: unknown) => boolean;
|
|
20
|
+
export declare const validate19: (value: unknown) => boolean;
|
|
21
|
+
export declare const validate20: (value: unknown) => boolean;
|
|
22
|
+
export declare const validate21: (value: unknown) => boolean;
|
|
23
|
+
export declare const validate22: (value: unknown) => boolean;
|
|
24
|
+
export declare const validate23: (value: unknown) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.validate0 = validate16;const schema38 = {"type":"object","required":["agents"],"properties":{"agents":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}}}};const schema39 = {"type":"object","required":["name","description","secrets","ports"],"properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$"},"description":{"type":["string","null"]},"secrets":{"type":"array","items":{"$ref":"#/components/schemas/SecretName"}},"interactive":{"type":"boolean","default":true},"required_env":{"$ref":"#/components/schemas/AgentRequiredEnvironment"},"max_copies":{"$ref":"#/components/schemas/AgentMaximumCopies"},"model_access":{"type":"array","items":{"$ref":"#/components/schemas/ModelAccess"}},"sign_in":{"type":"string","minLength":1,"maxLength":256},"ports":{"type":"array","items":{"minimum":1,"maximum":65535,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1,"maximum":65535}}}}};const schema40 = {"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z][A-Z0-9_]{0,127}$"};const schema43 = {"minimum":1,"description":"Maximum copies of this resolved manifest in one launch run. Omission adds no manifest-specific ceiling. Interactive manifests remain ineligible for launch runs.","allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}};const func1 = require("ajv/dist/runtime/ucs2length").default;const pattern4 = new RegExp("^[a-z][a-z0-9-]{0,62}$", "u");const pattern5 = new RegExp("^[A-Z][A-Z0-9_]{0,127}$", "u");const schema41 = {"type":"array","default":[],"items":{"$ref":"#/components/schemas/AgentEnvironmentRequirement"},"description":"Names of environment variables that must have nonblank values when launching the agent. BoxRouter checks them after merging env overrides and resolving credentials, before reservation. Values remain unchanged; this does not verify an external session or credential."};const schema42 = {"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":{"type":"string","minLength":1,"maxLength":1024,"description":"Plain-text setup guidance, never an input value or executable markup."}}};const pattern6 = new RegExp("^[A-Za-z_][A-Za-z0-9_]*$", "u");function validate18(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate18.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;const _errs2 = errors;if(errors === _errs2){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing0;if((data0.name === undefined) && (missing0 = "name")){validate18.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/components/schemas/AgentEnvironmentRequirement/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data0.name !== undefined){let data1 = data0.name;const _errs4 = errors;if(errors === _errs4){if(typeof data1 === "string"){if(!pattern6.test(data1)){validate18.errors = [{instancePath:instancePath+"/" + i0+"/name",schemaPath:"#/components/schemas/AgentEnvironmentRequirement/properties/name/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_]*$"+"\""}];return false;}}else {validate18.errors = [{instancePath:instancePath+"/" + i0+"/name",schemaPath:"#/components/schemas/AgentEnvironmentRequirement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data0.description !== undefined){let data2 = data0.description;const _errs6 = errors;if(errors === _errs6){if(typeof data2 === "string"){if(func1(data2) > 1024){validate18.errors = [{instancePath:instancePath+"/" + i0+"/description",schemaPath:"#/components/schemas/AgentEnvironmentRequirement/properties/description/maxLength",keyword:"maxLength",params:{limit: 1024},message:"must NOT have more than 1024 characters"}];return false;}else {if(func1(data2) < 1){validate18.errors = [{instancePath:instancePath+"/" + i0+"/description",schemaPath:"#/components/schemas/AgentEnvironmentRequirement/properties/description/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate18.errors = [{instancePath:instancePath+"/" + i0+"/description",schemaPath:"#/components/schemas/AgentEnvironmentRequirement/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate18.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/components/schemas/AgentEnvironmentRequirement/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate18.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate18.errors = vErrors;return errors === 0;}validate18.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};const schema44 = {"type":"object","required":["secret","provider","label"],"properties":{"secret":{"$ref":"#/components/schemas/SecretName"},"provider":{"type":"string","x-boxrouter-open-enum":true},"label":{"type":"string","minLength":1,"maxLength":128}}};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.secret === undefined) && (missing0 = "secret")) || ((data.provider === undefined) && (missing0 = "provider"))) || ((data.label === undefined) && (missing0 = "label"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.secret !== undefined){let data0 = data.secret;const _errs1 = errors;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(func1(data0) > 128){validate20.errors = [{instancePath:instancePath+"/secret",schemaPath:"#/components/schemas/SecretName/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data0) < 1){validate20.errors = [{instancePath:instancePath+"/secret",schemaPath:"#/components/schemas/SecretName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern5.test(data0)){validate20.errors = [{instancePath:instancePath+"/secret",schemaPath:"#/components/schemas/SecretName/pattern",keyword:"pattern",params:{pattern: "^[A-Z][A-Z0-9_]{0,127}$"},message:"must match pattern \""+"^[A-Z][A-Z0-9_]{0,127}$"+"\""}];return false;}}}}else {validate20.errors = [{instancePath:instancePath+"/secret",schemaPath:"#/components/schemas/SecretName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.provider !== undefined){const _errs4 = errors;if(typeof data.provider !== "string"){validate20.errors = [{instancePath:instancePath+"/provider",schemaPath:"#/properties/provider/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.label !== undefined){let data2 = data.label;const _errs6 = errors;if(errors === _errs6){if(typeof data2 === "string"){if(func1(data2) > 128){validate20.errors = [{instancePath:instancePath+"/label",schemaPath:"#/properties/label/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data2) < 1){validate20.errors = [{instancePath:instancePath+"/label",schemaPath:"#/properties/label/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate20.errors = [{instancePath:instancePath+"/label",schemaPath:"#/properties/label/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs6 === errors;}else {var valid0 = true;}}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"secret":true,"provider":true,"label":true},"dynamicProps":false,"dynamicItems":false};function validate17(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate17.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.name === undefined) && (missing0 = "name")) || ((data.description === undefined) && (missing0 = "description"))) || ((data.secrets === undefined) && (missing0 = "secrets"))) || ((data.ports === undefined) && (missing0 = "ports"))){validate17.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){let data0 = data.name;const _errs1 = errors;if(errors === _errs1){if(typeof data0 === "string"){if(func1(data0) > 63){validate17.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/maxLength",keyword:"maxLength",params:{limit: 63},message:"must NOT have more than 63 characters"}];return false;}else {if(func1(data0) < 1){validate17.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern4.test(data0)){validate17.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9-]{0,62}$"},message:"must match pattern \""+"^[a-z][a-z0-9-]{0,62}$"+"\""}];return false;}}}}else {validate17.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.description !== undefined){let data1 = data.description;const _errs3 = errors;if((typeof data1 !== "string") && (data1 !== null)){validate17.errors = [{instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: schema39.properties.description.type},message:"must be string,null"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.secrets !== undefined){let data2 = data.secrets;const _errs5 = errors;if(errors === _errs5){if(Array.isArray(data2)){var valid1 = true;const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];const _errs7 = errors;const _errs8 = errors;if(errors === _errs8){if(typeof data3 === "string"){if(func1(data3) > 128){validate17.errors = [{instancePath:instancePath+"/secrets/" + i0,schemaPath:"#/components/schemas/SecretName/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data3) < 1){validate17.errors = [{instancePath:instancePath+"/secrets/" + i0,schemaPath:"#/components/schemas/SecretName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern5.test(data3)){validate17.errors = [{instancePath:instancePath+"/secrets/" + i0,schemaPath:"#/components/schemas/SecretName/pattern",keyword:"pattern",params:{pattern: "^[A-Z][A-Z0-9_]{0,127}$"},message:"must match pattern \""+"^[A-Z][A-Z0-9_]{0,127}$"+"\""}];return false;}}}}else {validate17.errors = [{instancePath:instancePath+"/secrets/" + i0,schemaPath:"#/components/schemas/SecretName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs7 === errors;if(!valid1){break;}}}else {validate17.errors = [{instancePath:instancePath+"/secrets",schemaPath:"#/properties/secrets/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.interactive !== undefined){const _errs10 = errors;if(typeof data.interactive !== "boolean"){validate17.errors = [{instancePath:instancePath+"/interactive",schemaPath:"#/properties/interactive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid0 = _errs10 === errors;}else {var valid0 = true;}if(valid0){if(data.required_env !== undefined){const _errs12 = errors;if(!(validate18(data.required_env, {instancePath:instancePath+"/required_env",parentData:data,parentDataProperty:"required_env",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate18.errors : vErrors.concat(validate18.errors);errors = vErrors.length;}var valid0 = _errs12 === errors;}else {var valid0 = true;}if(valid0){if(data.max_copies !== undefined){let data6 = data.max_copies;const _errs13 = errors;const _errs14 = errors;const _errs15 = errors;const _errs16 = errors;let valid5 = false;const _errs17 = errors;if(!(((typeof data6 == "number") && (!(data6 % 1) && !isNaN(data6))) && (isFinite(data6)))){const err0 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs17 === errors;valid5 = valid5 || _valid0;const _errs19 = errors;if(typeof data6 !== "bigint"){const err1 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var _valid0 = _errs19 === errors;valid5 = valid5 || _valid0;if(!valid5){const err2 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate17.errors = vErrors;return false;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}var valid4 = _errs15 === errors;if(valid4){if(typeof data6 === "bigint"){if(data6 < 1){validate17.errors = [{instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs14){if((typeof data6 == "number") && (isFinite(data6))){if(data6 < 1 || isNaN(data6)){validate17.errors = [{instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs13 === errors;}else {var valid0 = true;}if(valid0){if(data.model_access !== undefined){let data7 = data.model_access;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data7)){var valid6 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs22 = errors;if(!(validate20(data7[i1], {instancePath:instancePath+"/model_access/" + i1,parentData:data7,parentDataProperty:i1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate20.errors : vErrors.concat(validate20.errors);errors = vErrors.length;}var valid6 = _errs22 === errors;if(!valid6){break;}}}else {validate17.errors = [{instancePath:instancePath+"/model_access",schemaPath:"#/properties/model_access/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs20 === errors;}else {var valid0 = true;}if(valid0){if(data.sign_in !== undefined){let data9 = data.sign_in;const _errs23 = errors;if(errors === _errs23){if(typeof data9 === "string"){if(func1(data9) > 256){validate17.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/maxLength",keyword:"maxLength",params:{limit: 256},message:"must NOT have more than 256 characters"}];return false;}else {if(func1(data9) < 1){validate17.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate17.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs23 === errors;}else {var valid0 = true;}if(valid0){if(data.ports !== undefined){let data10 = data.ports;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data10)){var valid7 = true;const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];const _errs27 = errors;const _errs28 = errors;const _errs29 = errors;let valid9 = false;const _errs30 = errors;if(!(((typeof data11 == "number") && (!(data11 % 1) && !isNaN(data11))) && (isFinite(data11)))){const err3 = {instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}var _valid1 = _errs30 === errors;valid9 = valid9 || _valid1;const _errs32 = errors;if(typeof data11 !== "bigint"){const err4 = {instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var _valid1 = _errs32 === errors;valid9 = valid9 || _valid1;if(!valid9){const err5 = {instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;validate17.errors = vErrors;return false;}else {errors = _errs29;if(vErrors !== null){if(_errs29){vErrors.length = _errs29;}else {vErrors = null;}}}var valid8 = _errs28 === errors;if(valid8){if(typeof data11 === "bigint"){if(data11 < 1){validate17.errors = [{instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}else {if(data11 > 65535){validate17.errors = [{instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}}if(errors === _errs27){if((typeof data11 == "number") && (isFinite(data11))){if(data11 > 65535 || isNaN(data11)){validate17.errors = [{instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/maximum",keyword:"maximum",params:{comparison: "<=", limit: 65535},message:"must be <= 65535"}];return false;}else {if(data11 < 1 || isNaN(data11)){validate17.errors = [{instancePath:instancePath+"/ports/" + i2,schemaPath:"#/properties/ports/items/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}}var valid7 = _errs27 === errors;if(!valid7){break;}}}else {validate17.errors = [{instancePath:instancePath+"/ports",schemaPath:"#/properties/ports/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs25 === errors;}else {var valid0 = true;}}}}}}}}}}}else {validate17.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate17.errors = vErrors;return errors === 0;}validate17.evaluated = {"props":{"name":true,"description":true,"secrets":true,"interactive":true,"required_env":true,"max_copies":true,"model_access":true,"sign_in":true,"ports":true},"dynamicProps":false,"dynamicItems":false};function validate16(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate16.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.agents === undefined) && (missing0 = "agents")){validate16.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.agents !== undefined){let data0 = data.agents;const _errs1 = errors;if(errors === _errs1){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){const _errs3 = errors;if(!(validate17(data0[i0], {instancePath:instancePath+"/agents/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate17.errors : vErrors.concat(validate17.errors);errors = vErrors.length;}var valid1 = _errs3 === errors;if(!valid1){break;}}}else {validate16.errors = [{instancePath:instancePath+"/agents",schemaPath:"#/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}}}}else {validate16.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate16.errors = vErrors;return errors === 0;}validate16.evaluated = {"props":{"agents":true},"dynamicProps":false,"dynamicItems":false};exports.validate1 = validate23;const schema46 = {"type":"object","required":["name","description","manifest"],"properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$"},"description":{"type":["string","null"]},"manifest":{"$ref":"#/components/schemas/AgentManifest"}}};const schema47 = {"type":"object","required":["name","command"],"description":"A reusable agent environment and command. A field this schema does not list is refused\nwith 400 before the launch is accepted. interactive defaults to true. When false, launch\nstarts the command unattended after preparation.\n","properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$","description":"A lowercase identifier for the agent."},"description":{"type":"string","description":"Optional text describing the agent."},"image":{"anyOf":[{"type":"string","minLength":1,"description":"OCI image reference."},{"$ref":"#/components/schemas/DockerfileBuild"},{"type":"object","required":["private_oci"],"properties":{"private_oci":{"type":"string","minLength":1,"description":"OCI image reference in a registry that needs a login; send registry_credentials with the launch request."}}}],"description":"Omit to use the standard image. {private_oci} names an image whose registry needs a\nlogin, sent as `registry_credentials` on the launch request; it launches only on\nroutes that use your own provider keys, and not as an unattended run.\n"},"setup":{"type":"array","items":{"type":"string","pattern":"^[^\\u0000]*$"},"description":"Shell commands run in order before files and background commands."},"command":{"type":"string","minLength":1,"pattern":"^[^\\u0000]*$","description":"Command to run in an attached terminal or as an unattended process after preparation succeeds."},"env":{"$ref":"#/components/schemas/LaunchEnvironment","description":"Non-secret environment values applied to setup and the launch."},"secrets":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/SecretName"},"description":"Names whose values are resolved by the server and added only to the create environment."},"required_env":{"$ref":"#/components/schemas/AgentRequiredEnvironment"},"max_copies":{"$ref":"#/components/schemas/AgentMaximumCopies"},"model_access":{"type":"array","items":{"$ref":"#/components/schemas/ModelAccess"},"description":"Ordered named secrets that configure this catalog agent for model access."},"sign_in":{"type":"string","minLength":1,"maxLength":256,"description":"What to do inside the agent when no recognized model secret is selected."},"files":{"type":"object","propertyNames":{"pattern":"^(?:~/)?(?!/)(?!~/?$)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\/$)[^\\u0000]+$"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]},"description":"Relative sandbox paths mapped to UTF-8 text or JSON objects, written before background commands."},"background":{"type":"array","items":{"type":"string","pattern":"^[^\\u0000]*$"},"description":"Shell commands started detached during preparation before the launch command starts."},"ports":{"type":"array","uniqueItems":true,"items":{"minimum":1,"maximum":65535,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1,"maximum":65535}},"description":"Ports to expose as previews. Naming ports adds the previews requirement to routing."},"interactive":{"type":"boolean","default":true,"description":"When true, a client can attach a terminal; when false, launch starts the command unattended."},"resources":{"$ref":"#/components/schemas/SandboxProviderSpecResources"},"lifetime_seconds":{"minimum":1,"default":3600,"description":"Requested sandbox lifetime in seconds for this launch. The sandbox may run past its lifetime deadline.","allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"placement":{"$ref":"#/components/schemas/LaunchPlacement"},"code":{"$ref":"#/components/schemas/LaunchCode"},"source":{"type":"object","required":["repo","ref","path"],"description":"For a launch, fetch this manifest file at the selected repository ref, then apply the other supplied manifest fields as overrides.","properties":{"repo":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"path":{"type":"string","minLength":1,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"}}},"volume":{"$ref":"#/components/schemas/AttachVolume","description":"BoxRouter-managed volume reference and access mode attached to the created sandbox."}}};const schema48 = {"type":"object","required":["dockerfile"],"properties":{"dockerfile":{"type":"string","minLength":1,"description":"Dockerfile source sent to the provider's builder; never executed on the BoxRouter host."},"context_artifact_id":{"type":"string","minLength":1,"description":"Workspace-owned tar build context. Reject paths escaping the context,\nspecial device files and unsafe links; enforce compressed and expanded\nsize limits before using it. Source file and directory builder helpers\npackage their inputs into this context rather than sending host paths.\n"}}};const schema49 = {"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"additionalProperties":{"type":"string","pattern":"^[^\\u0000]*$"},"description":"Non-secret environment values applied to setup and the launch."};const schema56 = {"type":"object","required":["repo","ref"],"description":"Clone a GitHub repository at the requested ref before setup.","properties":{"repo":{"type":"string","minLength":1,"pattern":"^(?:https://github\\.com/)?[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+(?:\\.git)?$"},"ref":{"type":"string","minLength":1},"directory":{"type":"string","minLength":1,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$","description":"Relative directory in the checked-out repository."}}};const func0 = require("ajv/dist/runtime/equal").default;const pattern10 = new RegExp("^[^\\u0000]*$", "u");const pattern15 = new RegExp("^(?:~/)?(?!/)(?!~/?$)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\/$)[^\\u0000]+$", "u");const pattern20 = new RegExp("^(?:https://github\\.com/)?[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+(?:\\.git)?$", "u");const pattern21 = new RegExp("^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$", "u");const schema52 = {"type":"object","properties":{"cpu_min":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_min_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"disk_min_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"extendable_lifetime":{"type":"boolean","const":true,"description":"Needed before POST /sandboxes/{sandbox_id}/lifetime may be called."},"region":{"type":"string","minLength":1,"description":"One value from the region registry: a provider's region (for example `provider:eu-west`),\nan area (EU) or a country (US). Never a list.\n"},"kernel":{"anyOf":[{"enum":["shared","filtered","dedicated"]},{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["shared","filtered","dedicated"]}}]},"paused_retention_seconds":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"arch":{"anyOf":[{"enum":["amd64","arm64"]},{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["amd64","arm64"]}}]},"run_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"process_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}},"description":"Resource constraints, execution limits, and environment facts that must hold for this\nsandbox. The matcher compares each named value with declared resources and capabilities;\nfields left out impose no requirement.\n"};function validate27(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate27.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.cpu_min !== undefined){let data0 = data.cpu_min;const _errs1 = errors;const _errs2 = errors;const _errs3 = errors;let valid2 = false;const _errs4 = errors;if(!((typeof data0 == "number") && (isFinite(data0)))){const err0 = {instancePath:instancePath+"/cpu_min",schemaPath:"#/properties/cpu_min/allOf/0/anyOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs4 === errors;valid2 = valid2 || _valid0;const _errs6 = errors;if(typeof data0 !== "bigint"){const err1 = {instancePath:instancePath+"/cpu_min",schemaPath:"#/properties/cpu_min/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var _valid0 = _errs6 === errors;valid2 = valid2 || _valid0;if(!valid2){const err2 = {instancePath:instancePath+"/cpu_min",schemaPath:"#/properties/cpu_min/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}var valid1 = _errs2 === errors;if(valid1){if(typeof data0 === "bigint"){if(data0 <= 0){validate27.errors = [{instancePath:instancePath+"/cpu_min",schemaPath:"#/properties/cpu_min/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs1){if((typeof data0 == "number") && (isFinite(data0))){if(data0 <= 0 || isNaN(data0)){validate27.errors = [{instancePath:instancePath+"/cpu_min",schemaPath:"#/properties/cpu_min/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison: ">", limit: 0},message:"must be > 0"}];return false;}}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.memory_min_mib !== undefined){let data1 = data.memory_min_mib;const _errs7 = errors;const _errs8 = errors;const _errs9 = errors;let valid4 = false;const _errs10 = errors;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){const err3 = {instancePath:instancePath+"/memory_min_mib",schemaPath:"#/properties/memory_min_mib/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}var _valid1 = _errs10 === errors;valid4 = valid4 || _valid1;const _errs12 = errors;if(typeof data1 !== "bigint"){const err4 = {instancePath:instancePath+"/memory_min_mib",schemaPath:"#/properties/memory_min_mib/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var _valid1 = _errs12 === errors;valid4 = valid4 || _valid1;if(!valid4){const err5 = {instancePath:instancePath+"/memory_min_mib",schemaPath:"#/properties/memory_min_mib/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs9;if(vErrors !== null){if(_errs9){vErrors.length = _errs9;}else {vErrors = null;}}}var valid3 = _errs8 === errors;if(valid3){if(typeof data1 === "bigint"){if(data1 < 1){validate27.errors = [{instancePath:instancePath+"/memory_min_mib",schemaPath:"#/properties/memory_min_mib/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs7){if((typeof data1 == "number") && (isFinite(data1))){if(data1 < 1 || isNaN(data1)){validate27.errors = [{instancePath:instancePath+"/memory_min_mib",schemaPath:"#/properties/memory_min_mib/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.disk_min_mib !== undefined){let data2 = data.disk_min_mib;const _errs13 = errors;const _errs14 = errors;const _errs15 = errors;let valid6 = false;const _errs16 = errors;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err6 = {instancePath:instancePath+"/disk_min_mib",schemaPath:"#/properties/disk_min_mib/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid2 = _errs16 === errors;valid6 = valid6 || _valid2;const _errs18 = errors;if(typeof data2 !== "bigint"){const err7 = {instancePath:instancePath+"/disk_min_mib",schemaPath:"#/properties/disk_min_mib/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var _valid2 = _errs18 === errors;valid6 = valid6 || _valid2;if(!valid6){const err8 = {instancePath:instancePath+"/disk_min_mib",schemaPath:"#/properties/disk_min_mib/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs15;if(vErrors !== null){if(_errs15){vErrors.length = _errs15;}else {vErrors = null;}}}var valid5 = _errs14 === errors;if(valid5){if(typeof data2 === "bigint"){if(data2 < 1){validate27.errors = [{instancePath:instancePath+"/disk_min_mib",schemaPath:"#/properties/disk_min_mib/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs13){if((typeof data2 == "number") && (isFinite(data2))){if(data2 < 1 || isNaN(data2)){validate27.errors = [{instancePath:instancePath+"/disk_min_mib",schemaPath:"#/properties/disk_min_mib/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs13 === errors;}else {var valid0 = true;}if(valid0){if(data.extendable_lifetime !== undefined){let data3 = data.extendable_lifetime;const _errs19 = errors;if(typeof data3 !== "boolean"){validate27.errors = [{instancePath:instancePath+"/extendable_lifetime",schemaPath:"#/properties/extendable_lifetime/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}if(true !== data3){validate27.errors = [{instancePath:instancePath+"/extendable_lifetime",schemaPath:"#/properties/extendable_lifetime/const",keyword:"const",params:{allowedValue: true},message:"must be equal to constant"}];return false;}var valid0 = _errs19 === errors;}else {var valid0 = true;}if(valid0){if(data.region !== undefined){let data4 = data.region;const _errs21 = errors;if(errors === _errs21){if(typeof data4 === "string"){if(func1(data4) < 1){validate27.errors = [{instancePath:instancePath+"/region",schemaPath:"#/properties/region/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate27.errors = [{instancePath:instancePath+"/region",schemaPath:"#/properties/region/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs21 === errors;}else {var valid0 = true;}if(valid0){if(data.kernel !== undefined){let data5 = data.kernel;const _errs23 = errors;const _errs24 = errors;let valid7 = false;const _errs25 = errors;if(!(((data5 === "shared") || (data5 === "filtered")) || (data5 === "dedicated"))){const err9 = {instancePath:instancePath+"/kernel",schemaPath:"#/properties/kernel/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema52.properties.kernel.anyOf[0].enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid3 = _errs25 === errors;valid7 = valid7 || _valid3;const _errs26 = errors;if(errors === _errs26){if(Array.isArray(data5)){if(data5.length < 1){const err10 = {instancePath:instancePath+"/kernel",schemaPath:"#/properties/kernel/anyOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}else {var valid8 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs28 = errors;if(!(((data6 === "shared") || (data6 === "filtered")) || (data6 === "dedicated"))){const err11 = {instancePath:instancePath+"/kernel/" + i0,schemaPath:"#/properties/kernel/anyOf/1/items/enum",keyword:"enum",params:{allowedValues: schema52.properties.kernel.anyOf[1].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var valid8 = _errs28 === errors;if(!valid8){break;}}if(valid8){let i1 = data5.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data5[i1], data5[j0])){const err12 = {instancePath:instancePath+"/kernel",schemaPath:"#/properties/kernel/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;break outer0;}}}}}}}else {const err13 = {instancePath:instancePath+"/kernel",schemaPath:"#/properties/kernel/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var _valid3 = _errs26 === errors;valid7 = valid7 || _valid3;if(!valid7){const err14 = {instancePath:instancePath+"/kernel",schemaPath:"#/properties/kernel/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs24;if(vErrors !== null){if(_errs24){vErrors.length = _errs24;}else {vErrors = null;}}}var valid0 = _errs23 === errors;}else {var valid0 = true;}if(valid0){if(data.paused_retention_seconds !== undefined){let data7 = data.paused_retention_seconds;const _errs29 = errors;const _errs30 = errors;const _errs31 = errors;let valid11 = false;const _errs32 = errors;if(!((typeof data7 == "number") && (isFinite(data7)))){const err15 = {instancePath:instancePath+"/paused_retention_seconds",schemaPath:"#/properties/paused_retention_seconds/allOf/0/anyOf/0/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid4 = _errs32 === errors;valid11 = valid11 || _valid4;const _errs34 = errors;if(typeof data7 !== "bigint"){const err16 = {instancePath:instancePath+"/paused_retention_seconds",schemaPath:"#/properties/paused_retention_seconds/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid4 = _errs34 === errors;valid11 = valid11 || _valid4;if(!valid11){const err17 = {instancePath:instancePath+"/paused_retention_seconds",schemaPath:"#/properties/paused_retention_seconds/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs31;if(vErrors !== null){if(_errs31){vErrors.length = _errs31;}else {vErrors = null;}}}var valid10 = _errs30 === errors;if(valid10){if(typeof data7 === "bigint"){if(data7 <= 0){validate27.errors = [{instancePath:instancePath+"/paused_retention_seconds",schemaPath:"#/properties/paused_retention_seconds/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs29){if((typeof data7 == "number") && (isFinite(data7))){if(data7 <= 0 || isNaN(data7)){validate27.errors = [{instancePath:instancePath+"/paused_retention_seconds",schemaPath:"#/properties/paused_retention_seconds/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison: ">", limit: 0},message:"must be > 0"}];return false;}}}var valid0 = _errs29 === errors;}else {var valid0 = true;}if(valid0){if(data.arch !== undefined){let data8 = data.arch;const _errs35 = errors;const _errs36 = errors;let valid12 = false;const _errs37 = errors;if(!((data8 === "amd64") || (data8 === "arm64"))){const err18 = {instancePath:instancePath+"/arch",schemaPath:"#/properties/arch/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema52.properties.arch.anyOf[0].enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid5 = _errs37 === errors;valid12 = valid12 || _valid5;const _errs38 = errors;if(errors === _errs38){if(Array.isArray(data8)){if(data8.length < 1){const err19 = {instancePath:instancePath+"/arch",schemaPath:"#/properties/arch/anyOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {var valid13 = true;const len1 = data8.length;for(let i2=0; i2<len1; i2++){let data9 = data8[i2];const _errs40 = errors;if(!((data9 === "amd64") || (data9 === "arm64"))){const err20 = {instancePath:instancePath+"/arch/" + i2,schemaPath:"#/properties/arch/anyOf/1/items/enum",keyword:"enum",params:{allowedValues: schema52.properties.arch.anyOf[1].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var valid13 = _errs40 === errors;if(!valid13){break;}}if(valid13){let i3 = data8.length;let j1;if(i3 > 1){outer1:for(;i3--;){for(j1 = i3; j1--;){if(func0(data8[i3], data8[j1])){const err21 = {instancePath:instancePath+"/arch",schemaPath:"#/properties/arch/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i: i3, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i3+" are identical)"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;break outer1;}}}}}}}else {const err22 = {instancePath:instancePath+"/arch",schemaPath:"#/properties/arch/anyOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}var _valid5 = _errs38 === errors;valid12 = valid12 || _valid5;if(!valid12){const err23 = {instancePath:instancePath+"/arch",schemaPath:"#/properties/arch/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs36;if(vErrors !== null){if(_errs36){vErrors.length = _errs36;}else {vErrors = null;}}}var valid0 = _errs35 === errors;}else {var valid0 = true;}if(valid0){if(data.run_seconds !== undefined){let data10 = data.run_seconds;const _errs41 = errors;const _errs42 = errors;const _errs43 = errors;let valid16 = false;const _errs44 = errors;if(!(((typeof data10 == "number") && (!(data10 % 1) && !isNaN(data10))) && (isFinite(data10)))){const err24 = {instancePath:instancePath+"/run_seconds",schemaPath:"#/properties/run_seconds/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}var _valid6 = _errs44 === errors;valid16 = valid16 || _valid6;const _errs46 = errors;if(typeof data10 !== "bigint"){const err25 = {instancePath:instancePath+"/run_seconds",schemaPath:"#/properties/run_seconds/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid6 = _errs46 === errors;valid16 = valid16 || _valid6;if(!valid16){const err26 = {instancePath:instancePath+"/run_seconds",schemaPath:"#/properties/run_seconds/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs43;if(vErrors !== null){if(_errs43){vErrors.length = _errs43;}else {vErrors = null;}}}var valid15 = _errs42 === errors;if(valid15){if(typeof data10 === "bigint"){if(data10 < 1){validate27.errors = [{instancePath:instancePath+"/run_seconds",schemaPath:"#/properties/run_seconds/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs41){if((typeof data10 == "number") && (isFinite(data10))){if(data10 < 1 || isNaN(data10)){validate27.errors = [{instancePath:instancePath+"/run_seconds",schemaPath:"#/properties/run_seconds/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs41 === errors;}else {var valid0 = true;}if(valid0){if(data.process_seconds !== undefined){let data11 = data.process_seconds;const _errs47 = errors;const _errs48 = errors;const _errs49 = errors;let valid18 = false;const _errs50 = errors;if(!(((typeof data11 == "number") && (!(data11 % 1) && !isNaN(data11))) && (isFinite(data11)))){const err27 = {instancePath:instancePath+"/process_seconds",schemaPath:"#/properties/process_seconds/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid7 = _errs50 === errors;valid18 = valid18 || _valid7;const _errs52 = errors;if(typeof data11 !== "bigint"){const err28 = {instancePath:instancePath+"/process_seconds",schemaPath:"#/properties/process_seconds/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid7 = _errs52 === errors;valid18 = valid18 || _valid7;if(!valid18){const err29 = {instancePath:instancePath+"/process_seconds",schemaPath:"#/properties/process_seconds/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;validate27.errors = vErrors;return false;}else {errors = _errs49;if(vErrors !== null){if(_errs49){vErrors.length = _errs49;}else {vErrors = null;}}}var valid17 = _errs48 === errors;if(valid17){if(typeof data11 === "bigint"){if(data11 < 1){validate27.errors = [{instancePath:instancePath+"/process_seconds",schemaPath:"#/properties/process_seconds/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs47){if((typeof data11 == "number") && (isFinite(data11))){if(data11 < 1 || isNaN(data11)){validate27.errors = [{instancePath:instancePath+"/process_seconds",schemaPath:"#/properties/process_seconds/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs47 === errors;}else {var valid0 = true;}}}}}}}}}}}else {validate27.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate27.errors = vErrors;return errors === 0;}validate27.evaluated = {"props":{"cpu_min":true,"memory_min_mib":true,"disk_min_mib":true,"extendable_lifetime":true,"region":true,"kernel":true,"paused_retention_seconds":true,"arch":true,"run_seconds":true,"process_seconds":true},"dynamicProps":false,"dynamicItems":false};const schema53 = {"type":"object","description":"Provider preferences for which routes to use and how to rank them.","properties":{"preferences":{"$ref":"#/components/schemas/ProviderPreferences"}}};const schema54 = {"type":"object","description":"The one provider-preference contract shared by sandbox creation, launch placement and\nActions policy settings. Every property is optional; omitted properties inherit.\nPrecedence, narrowest last: workspace restrictions are the ceiling, then a repository\ndefault or named Actions policy, then a workflow, then request controls. Hard\nrestrictions (provider allowlists, route, account, supply, region, privacy, origin and\nspend) intersect and can only narrow; request ignore unions with workspace exclusions.\nA request true never lifts a workspace allow_fallbacks false. When workspace\nprevent_overrides is on, containing order, sort or allow_fallbacks is refused with\nrouting_overrides_forbidden even if the value matches the workspace; `only` still\nnarrows as a set and cannot reorder workspace ranking. Otherwise soft preference values\nreplace inherited values without widening authority. `order: []` and `ignore: []` are valid empty soft\narrays that name no preference and no exclusion; inherited hard authority is unchanged.\nEach list must hold distinct values; null is never valid for any property.\n`order` prioritizes named providers in listed order; eligible providers omitted from\nit remain candidates afterward, ranked by the existing router order. When `only`\nis supplied, it remains the hard ordered allowlist and caps eligible providers; `order`\nmay rearrange its members, while omitted members retain `only` order. `ignore`\nexcludes providers even when named by `only` or `order`. `sort` ranks routes\nwithin a provider. `allow_fallbacks` defaults to true and controls whether\ncreation may dispatch a later eligible route after a provider definitively refuses before\ncreating a sandbox. This includes another account for the same provider. False stops after\nthe first route dispatch. Eligibility and preparation may skip a route before dispatch.\nProvider, account, supply, payer and requirements constraints remain binding.\n","properties":{"order":{"type":"array","uniqueItems":true,"description":"Softly prioritize these providers in the listed order. Eligible providers omitted\nfrom this list remain candidates afterward using the existing router order. When\n`only` is supplied, it remains the ordered hard allowlist and caps eligibility;\nthis order rearranges its members and omitted members retain their `only` order.\n","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"only":{"$ref":"#/components/schemas/ProviderAllowlist"},"ignore":{"type":"array","uniqueItems":true,"description":"Providers to exclude from routing, even if also named in `only` or `order`.","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"sort":{"type":"string","enum":["price","time"],"x-boxrouter-choices":{"price":{"label":"Price","line":"Lowest hourly price first.","measure":"price","better":"lower"},"time":{"label":"Time","line":"Shortest run time measured on reference workloads first.","measure":"time","better":"lower"}},"description":"How eligible routes are ranked. `price` picks the lowest hourly price. `time` picks the shortest run time, measured on reference workloads.\n"},"allow_fallbacks":{"type":"boolean","default":true,"description":"Whether Cloud may dispatch a later eligible route after a provider definitively\nrefuses before creating a sandbox; defaults to true and continues until a route\ncreates the sandbox or no eligible route remains. If `only` is supplied, it\nlimits eligible providers; `preferences.order` takes precedence for their order, with\n`preferences.sort` ranking routes within each provider.\nFalse stops after the first route dispatch, including when a later route uses another\naccount for the same provider. Local eligibility or preparation failures may skip a\nroute before dispatch. This does not expand the provider allowlist or relax route,\naccount, supply, payer or requirements restrictions.\n"}}};const schema55 = {"type":"array","minItems":1,"uniqueItems":true,"description":"Used as `preferences.only`, this is the hard allowlist of eligible providers. `preferences.order`\ntakes precedence for their order; otherwise this list's order applies. `preferences.sort`\nranks eligible routes within each provider. Route, account, supply,\npayer and requirements restrictions still constrain every route, and unlisted providers\nare never considered. A one-provider list prevents cross-provider fallback while allowing\nlater eligible routes for that provider when `preferences.allow_fallbacks` is true.\nSetting it to false stops after the first route dispatch, including a later account for\nthe same provider.\n","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}};function validate30(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate30.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.order !== undefined){let data0 = data.order;const _errs1 = errors;if(errors === _errs1){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs3 = errors;if(errors === _errs3){if(typeof data1 === "string"){if(func1(data1) > 128){validate30.errors = [{instancePath:instancePath+"/order/" + i0,schemaPath:"#/properties/order/items/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data1) < 1){validate30.errors = [{instancePath:instancePath+"/order/" + i0,schemaPath:"#/properties/order/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern10.test(data1)){validate30.errors = [{instancePath:instancePath+"/order/" + i0,schemaPath:"#/properties/order/items/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}}}else {validate30.errors = [{instancePath:instancePath+"/order/" + i0,schemaPath:"#/properties/order/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs3 === errors;if(!valid1){break;}}if(valid1){let i1 = data0.length;let j0;if(i1 > 1){const indices0 = {};for(;i1--;){let item0 = data0[i1];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate30.errors = [{instancePath:instancePath+"/order",schemaPath:"#/properties/order/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break;}indices0[item0] = i1;}}}}else {validate30.errors = [{instancePath:instancePath+"/order",schemaPath:"#/properties/order/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.only !== undefined){let data2 = data.only;const _errs5 = errors;const _errs6 = errors;if(errors === _errs6){if(Array.isArray(data2)){if(data2.length < 1){validate30.errors = [{instancePath:instancePath+"/only",schemaPath:"#/components/schemas/ProviderAllowlist/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid4 = true;const len1 = data2.length;for(let i2=0; i2<len1; i2++){let data3 = data2[i2];const _errs8 = errors;if(errors === _errs8){if(typeof data3 === "string"){if(func1(data3) > 128){validate30.errors = [{instancePath:instancePath+"/only/" + i2,schemaPath:"#/components/schemas/ProviderAllowlist/items/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data3) < 1){validate30.errors = [{instancePath:instancePath+"/only/" + i2,schemaPath:"#/components/schemas/ProviderAllowlist/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern10.test(data3)){validate30.errors = [{instancePath:instancePath+"/only/" + i2,schemaPath:"#/components/schemas/ProviderAllowlist/items/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}}}else {validate30.errors = [{instancePath:instancePath+"/only/" + i2,schemaPath:"#/components/schemas/ProviderAllowlist/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid4 = _errs8 === errors;if(!valid4){break;}}if(valid4){let i3 = data2.length;let j1;if(i3 > 1){const indices1 = {};for(;i3--;){let item1 = data2[i3];if(typeof item1 !== "string"){continue;}if(typeof indices1[item1] == "number"){j1 = indices1[item1];validate30.errors = [{instancePath:instancePath+"/only",schemaPath:"#/components/schemas/ProviderAllowlist/uniqueItems",keyword:"uniqueItems",params:{i: i3, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i3+" are identical)"}];return false;break;}indices1[item1] = i3;}}}}}else {validate30.errors = [{instancePath:instancePath+"/only",schemaPath:"#/components/schemas/ProviderAllowlist/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.ignore !== undefined){let data4 = data.ignore;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data4)){var valid6 = true;const len2 = data4.length;for(let i4=0; i4<len2; i4++){let data5 = data4[i4];const _errs12 = errors;if(errors === _errs12){if(typeof data5 === "string"){if(func1(data5) > 128){validate30.errors = [{instancePath:instancePath+"/ignore/" + i4,schemaPath:"#/properties/ignore/items/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data5) < 1){validate30.errors = [{instancePath:instancePath+"/ignore/" + i4,schemaPath:"#/properties/ignore/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern10.test(data5)){validate30.errors = [{instancePath:instancePath+"/ignore/" + i4,schemaPath:"#/properties/ignore/items/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}}}else {validate30.errors = [{instancePath:instancePath+"/ignore/" + i4,schemaPath:"#/properties/ignore/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid6 = _errs12 === errors;if(!valid6){break;}}if(valid6){let i5 = data4.length;let j2;if(i5 > 1){const indices2 = {};for(;i5--;){let item2 = data4[i5];if(typeof item2 !== "string"){continue;}if(typeof indices2[item2] == "number"){j2 = indices2[item2];validate30.errors = [{instancePath:instancePath+"/ignore",schemaPath:"#/properties/ignore/uniqueItems",keyword:"uniqueItems",params:{i: i5, j: j2},message:"must NOT have duplicate items (items ## "+j2+" and "+i5+" are identical)"}];return false;break;}indices2[item2] = i5;}}}}else {validate30.errors = [{instancePath:instancePath+"/ignore",schemaPath:"#/properties/ignore/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs10 === errors;}else {var valid0 = true;}if(valid0){if(data.sort !== undefined){let data6 = data.sort;const _errs14 = errors;if(typeof data6 !== "string"){validate30.errors = [{instancePath:instancePath+"/sort",schemaPath:"#/properties/sort/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}if(!((data6 === "price") || (data6 === "time"))){validate30.errors = [{instancePath:instancePath+"/sort",schemaPath:"#/properties/sort/enum",keyword:"enum",params:{allowedValues: schema54.properties.sort.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs14 === errors;}else {var valid0 = true;}if(valid0){if(data.allow_fallbacks !== undefined){const _errs16 = errors;if(typeof data.allow_fallbacks !== "boolean"){validate30.errors = [{instancePath:instancePath+"/allow_fallbacks",schemaPath:"#/properties/allow_fallbacks/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid0 = _errs16 === errors;}else {var valid0 = true;}}}}}}else {validate30.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate30.errors = vErrors;return errors === 0;}validate30.evaluated = {"props":{"order":true,"only":true,"ignore":true,"sort":true,"allow_fallbacks":true},"dynamicProps":false,"dynamicItems":false};function validate29(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate29.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.preferences !== undefined){if(!(validate30(data.preferences, {instancePath:instancePath+"/preferences",parentData:data,parentDataProperty:"preferences",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate30.errors : vErrors.concat(validate30.errors);errors = vErrors.length;}}}else {validate29.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate29.errors = vErrors;return errors === 0;}validate29.evaluated = {"props":{"preferences":true},"dynamicProps":false,"dynamicItems":false};const schema57 = {"type":"object","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/VolumeId"},"path":{"type":"string","pattern":"^/[^\\u0000]*$","default":"/workspace","description":"Absolute folder the checkpoint is restored into, replacing what the image has there. Repeated\nseparators and `.` path components are normalized; any `..` component is rejected. The path\nmust not be `/`, under /proc, /sys, /dev, /etc, /usr, /bin, /sbin, /lib or /run, or equal to\nor an ancestor of the internal `/tmp/boxrouter-volume` scratch path.\n"},"checkpoint":{"minimum":1,"description":"Checkpoint to restore; omitted means the head. An empty volume restores nothing. A\ncheckpoint saved from a branch sandbox is not the head and can be selected by number with\nwrite, branch or read access; read mounts exactly that checkpoint's files, never the head.\n","allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"access":{"type":"string","enum":["write","read","shared","branch"],"default":"write","description":"The access mode requested for this sandbox. Omitted means write. Launch modes are write,\nread, shared, and branch. Checkpoints and branches remain capability-gated.\n"}}};const schema58 = {"type":"string","pattern":"^vol_[0-9a-f]{32}$","description":"BoxRouter-managed Volume ID. Provider-native volume requirements are not accepted."};const pattern23 = new RegExp("^vol_[0-9a-f]{32}$", "u");const pattern24 = new RegExp("^/[^\\u0000]*$", "u");function validate33(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate33.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.id === undefined) && (missing0 = "id")){validate33.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.id !== undefined){let data0 = data.id;const _errs1 = errors;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(!pattern23.test(data0)){validate33.errors = [{instancePath:instancePath+"/id",schemaPath:"#/components/schemas/VolumeId/pattern",keyword:"pattern",params:{pattern: "^vol_[0-9a-f]{32}$"},message:"must match pattern \""+"^vol_[0-9a-f]{32}$"+"\""}];return false;}}else {validate33.errors = [{instancePath:instancePath+"/id",schemaPath:"#/components/schemas/VolumeId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.path !== undefined){let data1 = data.path;const _errs4 = errors;if(errors === _errs4){if(typeof data1 === "string"){if(!pattern24.test(data1)){validate33.errors = [{instancePath:instancePath+"/path",schemaPath:"#/properties/path/pattern",keyword:"pattern",params:{pattern: "^/[^\\u0000]*$"},message:"must match pattern \""+"^/[^\\u0000]*$"+"\""}];return false;}}else {validate33.errors = [{instancePath:instancePath+"/path",schemaPath:"#/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.checkpoint !== undefined){let data2 = data.checkpoint;const _errs6 = errors;const _errs7 = errors;const _errs8 = errors;let valid3 = false;const _errs9 = errors;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err0 = {instancePath:instancePath+"/checkpoint",schemaPath:"#/properties/checkpoint/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs9 === errors;valid3 = valid3 || _valid0;const _errs11 = errors;if(typeof data2 !== "bigint"){const err1 = {instancePath:instancePath+"/checkpoint",schemaPath:"#/properties/checkpoint/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var _valid0 = _errs11 === errors;valid3 = valid3 || _valid0;if(!valid3){const err2 = {instancePath:instancePath+"/checkpoint",schemaPath:"#/properties/checkpoint/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate33.errors = vErrors;return false;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}var valid2 = _errs7 === errors;if(valid2){if(typeof data2 === "bigint"){if(data2 < 1){validate33.errors = [{instancePath:instancePath+"/checkpoint",schemaPath:"#/properties/checkpoint/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs6){if((typeof data2 == "number") && (isFinite(data2))){if(data2 < 1 || isNaN(data2)){validate33.errors = [{instancePath:instancePath+"/checkpoint",schemaPath:"#/properties/checkpoint/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.access !== undefined){let data3 = data.access;const _errs12 = errors;if(typeof data3 !== "string"){validate33.errors = [{instancePath:instancePath+"/access",schemaPath:"#/properties/access/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}if(!((((data3 === "write") || (data3 === "read")) || (data3 === "shared")) || (data3 === "branch"))){validate33.errors = [{instancePath:instancePath+"/access",schemaPath:"#/properties/access/enum",keyword:"enum",params:{allowedValues: schema57.properties.access.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs12 === errors;}else {var valid0 = true;}}}}}}else {validate33.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate33.errors = vErrors;return errors === 0;}validate33.evaluated = {"props":{"id":true,"path":true,"checkpoint":true,"access":true},"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.command === undefined) && (missing0 = "command"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){let data0 = data.name;const _errs1 = errors;if(errors === _errs1){if(typeof data0 === "string"){if(func1(data0) > 63){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/maxLength",keyword:"maxLength",params:{limit: 63},message:"must NOT have more than 63 characters"}];return false;}else {if(func1(data0) < 1){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern4.test(data0)){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9-]{0,62}$"},message:"must match pattern \""+"^[a-z][a-z0-9-]{0,62}$"+"\""}];return false;}}}}else {validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.description !== undefined){const _errs3 = errors;if(typeof data.description !== "string"){validate24.errors = [{instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.image !== undefined){let data2 = data.image;const _errs5 = errors;const _errs6 = errors;let valid1 = false;const _errs7 = errors;if(errors === _errs7){if(typeof data2 === "string"){if(func1(data2) < 1){const err0 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/anyOf/0/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}else {const err1 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs7 === errors;valid1 = valid1 || _valid0;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(data2 && typeof data2 == "object" && !Array.isArray(data2)){let missing1;if((data2.dockerfile === undefined) && (missing1 = "dockerfile")){const err2 = {instancePath:instancePath+"/image",schemaPath:"#/components/schemas/DockerfileBuild/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}else {if(data2.dockerfile !== undefined){let data3 = data2.dockerfile;const _errs12 = errors;if(errors === _errs12){if(typeof data3 === "string"){if(func1(data3) < 1){const err3 = {instancePath:instancePath+"/image/dockerfile",schemaPath:"#/components/schemas/DockerfileBuild/properties/dockerfile/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}else {const err4 = {instancePath:instancePath+"/image/dockerfile",schemaPath:"#/components/schemas/DockerfileBuild/properties/dockerfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var valid3 = _errs12 === errors;}else {var valid3 = true;}if(valid3){if(data2.context_artifact_id !== undefined){let data4 = data2.context_artifact_id;const _errs14 = errors;if(errors === _errs14){if(typeof data4 === "string"){if(func1(data4) < 1){const err5 = {instancePath:instancePath+"/image/context_artifact_id",schemaPath:"#/components/schemas/DockerfileBuild/properties/context_artifact_id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/image/context_artifact_id",schemaPath:"#/components/schemas/DockerfileBuild/properties/context_artifact_id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var valid3 = _errs14 === errors;}else {var valid3 = true;}}}}else {const err7 = {instancePath:instancePath+"/image",schemaPath:"#/components/schemas/DockerfileBuild/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid0 = _errs9 === errors;valid1 = valid1 || _valid0;if(_valid0){var props0 = {};props0.dockerfile = true;props0.context_artifact_id = true;}const _errs16 = errors;if(errors === _errs16){if(data2 && typeof data2 == "object" && !Array.isArray(data2)){let missing2;if((data2.private_oci === undefined) && (missing2 = "private_oci")){const err8 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/anyOf/2/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {if(data2.private_oci !== undefined){let data5 = data2.private_oci;const _errs18 = errors;if(errors === _errs18){if(typeof data5 === "string"){if(func1(data5) < 1){const err9 = {instancePath:instancePath+"/image/private_oci",schemaPath:"#/properties/image/anyOf/2/properties/private_oci/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {instancePath:instancePath+"/image/private_oci",schemaPath:"#/properties/image/anyOf/2/properties/private_oci/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}}}else {const err11 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/anyOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}var _valid0 = _errs16 === errors;valid1 = valid1 || _valid0;if(_valid0){if(props0 !== true){props0 = props0 || {};props0.private_oci = true;}}if(!valid1){const err12 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;validate24.errors = vErrors;return false;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.setup !== undefined){let data6 = data.setup;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data6)){var valid5 = true;const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];const _errs22 = errors;if(errors === _errs22){if(typeof data7 === "string"){if(!pattern10.test(data7)){validate24.errors = [{instancePath:instancePath+"/setup/" + i0,schemaPath:"#/properties/setup/items/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/setup/" + i0,schemaPath:"#/properties/setup/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid5 = _errs22 === errors;if(!valid5){break;}}}else {validate24.errors = [{instancePath:instancePath+"/setup",schemaPath:"#/properties/setup/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs20 === errors;}else {var valid0 = true;}if(valid0){if(data.command !== undefined){let data8 = data.command;const _errs24 = errors;if(errors === _errs24){if(typeof data8 === "string"){if(func1(data8) < 1){validate24.errors = [{instancePath:instancePath+"/command",schemaPath:"#/properties/command/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern10.test(data8)){validate24.errors = [{instancePath:instancePath+"/command",schemaPath:"#/properties/command/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}}else {validate24.errors = [{instancePath:instancePath+"/command",schemaPath:"#/properties/command/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs24 === errors;}else {var valid0 = true;}if(valid0){if(data.env !== undefined){let data9 = data.env;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(data9 && typeof data9 == "object" && !Array.isArray(data9)){for(const key0 in data9){const _errs29 = errors;if(typeof key0 === "string"){if(!pattern6.test(key0)){const err13 = {instancePath:instancePath+"/env",schemaPath:"#/components/schemas/LaunchEnvironment/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_]*$"+"\"",propertyName:key0};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var valid7 = _errs29 === errors;if(!valid7){const err14 = {instancePath:instancePath+"/env",schemaPath:"#/components/schemas/LaunchEnvironment/propertyNames",keyword:"propertyNames",params:{propertyName: key0},message:"property name must be valid"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;validate24.errors = vErrors;return false;break;}}if(valid7){for(const key1 in data9){let data10 = data9[key1];const _errs31 = errors;if(errors === _errs31){if(typeof data10 === "string"){if(!pattern10.test(data10)){validate24.errors = [{instancePath:instancePath+"/env/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/components/schemas/LaunchEnvironment/additionalProperties/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/env/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/components/schemas/LaunchEnvironment/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid8 = _errs31 === errors;if(!valid8){break;}}}}else {validate24.errors = [{instancePath:instancePath+"/env",schemaPath:"#/components/schemas/LaunchEnvironment/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs26 === errors;}else {var valid0 = true;}if(valid0){if(data.secrets !== undefined){let data11 = data.secrets;const _errs33 = errors;if(errors === _errs33){if(Array.isArray(data11)){var valid9 = true;const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];const _errs35 = errors;const _errs36 = errors;if(errors === _errs36){if(typeof data12 === "string"){if(func1(data12) > 128){validate24.errors = [{instancePath:instancePath+"/secrets/" + i1,schemaPath:"#/components/schemas/SecretName/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func1(data12) < 1){validate24.errors = [{instancePath:instancePath+"/secrets/" + i1,schemaPath:"#/components/schemas/SecretName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern5.test(data12)){validate24.errors = [{instancePath:instancePath+"/secrets/" + i1,schemaPath:"#/components/schemas/SecretName/pattern",keyword:"pattern",params:{pattern: "^[A-Z][A-Z0-9_]{0,127}$"},message:"must match pattern \""+"^[A-Z][A-Z0-9_]{0,127}$"+"\""}];return false;}}}}else {validate24.errors = [{instancePath:instancePath+"/secrets/" + i1,schemaPath:"#/components/schemas/SecretName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid9 = _errs35 === errors;if(!valid9){break;}}if(valid9){let i2 = data11.length;let j0;if(i2 > 1){outer0:for(;i2--;){for(j0 = i2; j0--;){if(func0(data11[i2], data11[j0])){validate24.errors = [{instancePath:instancePath+"/secrets",schemaPath:"#/properties/secrets/uniqueItems",keyword:"uniqueItems",params:{i: i2, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i2+" are identical)"}];return false;break outer0;}}}}}}else {validate24.errors = [{instancePath:instancePath+"/secrets",schemaPath:"#/properties/secrets/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs33 === errors;}else {var valid0 = true;}if(valid0){if(data.required_env !== undefined){const _errs38 = errors;if(!(validate18(data.required_env, {instancePath:instancePath+"/required_env",parentData:data,parentDataProperty:"required_env",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate18.errors : vErrors.concat(validate18.errors);errors = vErrors.length;}var valid0 = _errs38 === errors;}else {var valid0 = true;}if(valid0){if(data.max_copies !== undefined){let data14 = data.max_copies;const _errs39 = errors;const _errs40 = errors;const _errs41 = errors;const _errs42 = errors;let valid14 = false;const _errs43 = errors;if(!(((typeof data14 == "number") && (!(data14 % 1) && !isNaN(data14))) && (isFinite(data14)))){const err15 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid1 = _errs43 === errors;valid14 = valid14 || _valid1;const _errs45 = errors;if(typeof data14 !== "bigint"){const err16 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid1 = _errs45 === errors;valid14 = valid14 || _valid1;if(!valid14){const err17 = {instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;validate24.errors = vErrors;return false;}else {errors = _errs42;if(vErrors !== null){if(_errs42){vErrors.length = _errs42;}else {vErrors = null;}}}var valid13 = _errs41 === errors;if(valid13){if(typeof data14 === "bigint"){if(data14 < 1){validate24.errors = [{instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs40){if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 1 || isNaN(data14)){validate24.errors = [{instancePath:instancePath+"/max_copies",schemaPath:"#/components/schemas/AgentMaximumCopies/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs39 === errors;}else {var valid0 = true;}if(valid0){if(data.model_access !== undefined){let data15 = data.model_access;const _errs46 = errors;if(errors === _errs46){if(Array.isArray(data15)){var valid15 = true;const len2 = data15.length;for(let i3=0; i3<len2; i3++){const _errs48 = errors;if(!(validate20(data15[i3], {instancePath:instancePath+"/model_access/" + i3,parentData:data15,parentDataProperty:i3,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate20.errors : vErrors.concat(validate20.errors);errors = vErrors.length;}var valid15 = _errs48 === errors;if(!valid15){break;}}}else {validate24.errors = [{instancePath:instancePath+"/model_access",schemaPath:"#/properties/model_access/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs46 === errors;}else {var valid0 = true;}if(valid0){if(data.sign_in !== undefined){let data17 = data.sign_in;const _errs49 = errors;if(errors === _errs49){if(typeof data17 === "string"){if(func1(data17) > 256){validate24.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/maxLength",keyword:"maxLength",params:{limit: 256},message:"must NOT have more than 256 characters"}];return false;}else {if(func1(data17) < 1){validate24.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate24.errors = [{instancePath:instancePath+"/sign_in",schemaPath:"#/properties/sign_in/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs49 === errors;}else {var valid0 = true;}if(valid0){if(data.files !== undefined){let data18 = data.files;const _errs51 = errors;if(errors === _errs51){if(data18 && typeof data18 == "object" && !Array.isArray(data18)){for(const key2 in data18){const _errs53 = errors;if(typeof key2 === "string"){if(!pattern15.test(key2)){const err18 = {instancePath:instancePath+"/files",schemaPath:"#/properties/files/propertyNames/pattern",keyword:"pattern",params:{pattern: "^(?:~/)?(?!/)(?!~/?$)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\/$)[^\\u0000]+$"},message:"must match pattern \""+"^(?:~/)?(?!/)(?!~/?$)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\/$)[^\\u0000]+$"+"\"",propertyName:key2};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}var valid16 = _errs53 === errors;if(!valid16){const err19 = {instancePath:instancePath+"/files",schemaPath:"#/properties/files/propertyNames",keyword:"propertyNames",params:{propertyName: key2},message:"property name must be valid"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;validate24.errors = vErrors;return false;break;}}if(valid16){for(const key3 in data18){let data19 = data18[key3];const _errs55 = errors;const _errs56 = errors;let valid18 = false;const _errs57 = errors;if(typeof data19 !== "string"){const err20 = {instancePath:instancePath+"/files/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/files/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid2 = _errs57 === errors;valid18 = valid18 || _valid2;const _errs59 = errors;if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err21 = {instancePath:instancePath+"/files/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/files/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}var _valid2 = _errs59 === errors;valid18 = valid18 || _valid2;if(!valid18){const err22 = {instancePath:instancePath+"/files/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/files/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;validate24.errors = vErrors;return false;}else {errors = _errs56;if(vErrors !== null){if(_errs56){vErrors.length = _errs56;}else {vErrors = null;}}}var valid17 = _errs55 === errors;if(!valid17){break;}}}}else {validate24.errors = [{instancePath:instancePath+"/files",schemaPath:"#/properties/files/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs51 === errors;}else {var valid0 = true;}if(valid0){if(data.background !== undefined){let data20 = data.background;const _errs61 = errors;if(errors === _errs61){if(Array.isArray(data20)){var valid19 = true;const len3 = data20.length;for(let i4=0; i4<len3; i4++){let data21 = data20[i4];const _errs63 = errors;if(errors === _errs63){if(typeof data21 === "string"){if(!pattern10.test(data21)){validate24.errors = [{instancePath:instancePath+"/background/" + i4,schemaPath:"#/properties/background/items/pattern",keyword:"pattern",params:{pattern: "^[^\\u0000]*$"},message:"must match pattern \""+"^[^\\u0000]*$"+"\""}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/background/" + i4,schemaPath:"#/properties/background/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid19 = _errs63 === errors;if(!valid19){break;}}}else {validate24.errors = [{instancePath:instancePath+"/background",schemaPath:"#/properties/background/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs61 === errors;}else {var valid0 = true;}if(valid0){if(data.ports !== undefined){let data22 = data.ports;const _errs65 = errors;if(errors === _errs65){if(Array.isArray(data22)){var valid20 = true;const len4 = data22.length;for(let i5=0; i5<len4; i5++){let data23 = data22[i5];const _errs67 = errors;const _errs68 = errors;const _errs69 = errors;let valid22 = false;const _errs70 = errors;if(!(((typeof data23 == "number") && (!(data23 % 1) && !isNaN(data23))) && (isFinite(data23)))){const err23 = {instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid3 = _errs70 === errors;valid22 = valid22 || _valid3;const _errs72 = errors;if(typeof data23 !== "bigint"){const err24 = {instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}var _valid3 = _errs72 === errors;valid22 = valid22 || _valid3;if(!valid22){const err25 = {instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;validate24.errors = vErrors;return false;}else {errors = _errs69;if(vErrors !== null){if(_errs69){vErrors.length = _errs69;}else {vErrors = null;}}}var valid21 = _errs68 === errors;if(valid21){if(typeof data23 === "bigint"){if(data23 < 1){validate24.errors = [{instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}else {if(data23 > 65535){validate24.errors = [{instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}}if(errors === _errs67){if((typeof data23 == "number") && (isFinite(data23))){if(data23 > 65535 || isNaN(data23)){validate24.errors = [{instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/maximum",keyword:"maximum",params:{comparison: "<=", limit: 65535},message:"must be <= 65535"}];return false;}else {if(data23 < 1 || isNaN(data23)){validate24.errors = [{instancePath:instancePath+"/ports/" + i5,schemaPath:"#/properties/ports/items/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}}var valid20 = _errs67 === errors;if(!valid20){break;}}if(valid20){let i6 = data22.length;let j1;if(i6 > 1){outer1:for(;i6--;){for(j1 = i6; j1--;){if(func0(data22[i6], data22[j1])){validate24.errors = [{instancePath:instancePath+"/ports",schemaPath:"#/properties/ports/uniqueItems",keyword:"uniqueItems",params:{i: i6, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i6+" are identical)"}];return false;break outer1;}}}}}}else {validate24.errors = [{instancePath:instancePath+"/ports",schemaPath:"#/properties/ports/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs65 === errors;}else {var valid0 = true;}if(valid0){if(data.interactive !== undefined){const _errs73 = errors;if(typeof data.interactive !== "boolean"){validate24.errors = [{instancePath:instancePath+"/interactive",schemaPath:"#/properties/interactive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid0 = _errs73 === errors;}else {var valid0 = true;}if(valid0){if(data.resources !== undefined){const _errs75 = errors;if(!(validate27(data.resources, {instancePath:instancePath+"/resources",parentData:data,parentDataProperty:"resources",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);errors = vErrors.length;}var valid0 = _errs75 === errors;}else {var valid0 = true;}if(valid0){if(data.lifetime_seconds !== undefined){let data26 = data.lifetime_seconds;const _errs76 = errors;const _errs77 = errors;const _errs78 = errors;let valid25 = false;const _errs79 = errors;if(!(((typeof data26 == "number") && (!(data26 % 1) && !isNaN(data26))) && (isFinite(data26)))){const err26 = {instancePath:instancePath+"/lifetime_seconds",schemaPath:"#/properties/lifetime_seconds/allOf/0/anyOf/0/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid4 = _errs79 === errors;valid25 = valid25 || _valid4;const _errs81 = errors;if(typeof data26 !== "bigint"){const err27 = {instancePath:instancePath+"/lifetime_seconds",schemaPath:"#/properties/lifetime_seconds/allOf/0/anyOf/1/x-boxrouter-bigint",keyword:"x-boxrouter-bigint",params:{},message:"must pass \"x-boxrouter-bigint\" keyword validation"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid4 = _errs81 === errors;valid25 = valid25 || _valid4;if(!valid25){const err28 = {instancePath:instancePath+"/lifetime_seconds",schemaPath:"#/properties/lifetime_seconds/allOf/0/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;validate24.errors = vErrors;return false;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}var valid24 = _errs77 === errors;if(valid24){if(typeof data26 === "bigint"){if(data26 < 1){validate24.errors = [{instancePath:instancePath+"/lifetime_seconds",schemaPath:"#/properties/lifetime_seconds/x-boxrouter-bigint-range",keyword:"x-boxrouter-bigint-range",params:{},message:"must pass \"x-boxrouter-bigint-range\" keyword validation"}];return false;}}}if(errors === _errs76){if((typeof data26 == "number") && (isFinite(data26))){if(data26 < 1 || isNaN(data26)){validate24.errors = [{instancePath:instancePath+"/lifetime_seconds",schemaPath:"#/properties/lifetime_seconds/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs76 === errors;}else {var valid0 = true;}if(valid0){if(data.placement !== undefined){const _errs82 = errors;if(!(validate29(data.placement, {instancePath:instancePath+"/placement",parentData:data,parentDataProperty:"placement",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate29.errors : vErrors.concat(validate29.errors);errors = vErrors.length;}var valid0 = _errs82 === errors;}else {var valid0 = true;}if(valid0){if(data.code !== undefined){let data28 = data.code;const _errs83 = errors;const _errs84 = errors;if(errors === _errs84){if(data28 && typeof data28 == "object" && !Array.isArray(data28)){let missing3;if(((data28.repo === undefined) && (missing3 = "repo")) || ((data28.ref === undefined) && (missing3 = "ref"))){validate24.errors = [{instancePath:instancePath+"/code",schemaPath:"#/components/schemas/LaunchCode/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data28.repo !== undefined){let data29 = data28.repo;const _errs86 = errors;if(errors === _errs86){if(typeof data29 === "string"){if(func1(data29) < 1){validate24.errors = [{instancePath:instancePath+"/code/repo",schemaPath:"#/components/schemas/LaunchCode/properties/repo/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern20.test(data29)){validate24.errors = [{instancePath:instancePath+"/code/repo",schemaPath:"#/components/schemas/LaunchCode/properties/repo/pattern",keyword:"pattern",params:{pattern: "^(?:https://github\\.com/)?[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+(?:\\.git)?$"},message:"must match pattern \""+"^(?:https://github\\.com/)?[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+(?:\\.git)?$"+"\""}];return false;}}}else {validate24.errors = [{instancePath:instancePath+"/code/repo",schemaPath:"#/components/schemas/LaunchCode/properties/repo/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid27 = _errs86 === errors;}else {var valid27 = true;}if(valid27){if(data28.ref !== undefined){let data30 = data28.ref;const _errs88 = errors;if(errors === _errs88){if(typeof data30 === "string"){if(func1(data30) < 1){validate24.errors = [{instancePath:instancePath+"/code/ref",schemaPath:"#/components/schemas/LaunchCode/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/code/ref",schemaPath:"#/components/schemas/LaunchCode/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid27 = _errs88 === errors;}else {var valid27 = true;}if(valid27){if(data28.directory !== undefined){let data31 = data28.directory;const _errs90 = errors;if(errors === _errs90){if(typeof data31 === "string"){if(func1(data31) < 1){validate24.errors = [{instancePath:instancePath+"/code/directory",schemaPath:"#/components/schemas/LaunchCode/properties/directory/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern21.test(data31)){validate24.errors = [{instancePath:instancePath+"/code/directory",schemaPath:"#/components/schemas/LaunchCode/properties/directory/pattern",keyword:"pattern",params:{pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"},message:"must match pattern \""+"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"+"\""}];return false;}}}else {validate24.errors = [{instancePath:instancePath+"/code/directory",schemaPath:"#/components/schemas/LaunchCode/properties/directory/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid27 = _errs90 === errors;}else {var valid27 = true;}}}}}else {validate24.errors = [{instancePath:instancePath+"/code",schemaPath:"#/components/schemas/LaunchCode/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs83 === errors;}else {var valid0 = true;}if(valid0){if(data.source !== undefined){let data32 = data.source;const _errs92 = errors;if(errors === _errs92){if(data32 && typeof data32 == "object" && !Array.isArray(data32)){let missing4;if((((data32.repo === undefined) && (missing4 = "repo")) || ((data32.ref === undefined) && (missing4 = "ref"))) || ((data32.path === undefined) && (missing4 = "path"))){validate24.errors = [{instancePath:instancePath+"/source",schemaPath:"#/properties/source/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data32.repo !== undefined){let data33 = data32.repo;const _errs94 = errors;if(errors === _errs94){if(typeof data33 === "string"){if(func1(data33) < 1){validate24.errors = [{instancePath:instancePath+"/source/repo",schemaPath:"#/properties/source/properties/repo/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/source/repo",schemaPath:"#/properties/source/properties/repo/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid28 = _errs94 === errors;}else {var valid28 = true;}if(valid28){if(data32.ref !== undefined){let data34 = data32.ref;const _errs96 = errors;if(errors === _errs96){if(typeof data34 === "string"){if(func1(data34) < 1){validate24.errors = [{instancePath:instancePath+"/source/ref",schemaPath:"#/properties/source/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate24.errors = [{instancePath:instancePath+"/source/ref",schemaPath:"#/properties/source/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid28 = _errs96 === errors;}else {var valid28 = true;}if(valid28){if(data32.path !== undefined){let data35 = data32.path;const _errs98 = errors;if(errors === _errs98){if(typeof data35 === "string"){if(func1(data35) < 1){validate24.errors = [{instancePath:instancePath+"/source/path",schemaPath:"#/properties/source/properties/path/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern21.test(data35)){validate24.errors = [{instancePath:instancePath+"/source/path",schemaPath:"#/properties/source/properties/path/pattern",keyword:"pattern",params:{pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"},message:"must match pattern \""+"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"+"\""}];return false;}}}else {validate24.errors = [{instancePath:instancePath+"/source/path",schemaPath:"#/properties/source/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid28 = _errs98 === errors;}else {var valid28 = true;}}}}}else {validate24.errors = [{instancePath:instancePath+"/source",schemaPath:"#/properties/source/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs92 === errors;}else {var valid0 = true;}if(valid0){if(data.volume !== undefined){const _errs100 = errors;if(!(validate33(data.volume, {instancePath:instancePath+"/volume",parentData:data,parentDataProperty:"volume",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}var valid0 = _errs100 === errors;}else {var valid0 = true;}}}}}}}}}}}}}}}}}}}}}}}else {validate24.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":{"name":true,"description":true,"image":true,"setup":true,"command":true,"env":true,"secrets":true,"required_env":true,"max_copies":true,"model_access":true,"sign_in":true,"files":true,"background":true,"ports":true,"interactive":true,"resources":true,"lifetime_seconds":true,"placement":true,"code":true,"source":true,"volume":true},"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.name === undefined) && (missing0 = "name")) || ((data.description === undefined) && (missing0 = "description"))) || ((data.manifest === undefined) && (missing0 = "manifest"))){validate23.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){let data0 = data.name;const _errs1 = errors;if(errors === _errs1){if(typeof data0 === "string"){if(func1(data0) > 63){validate23.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/maxLength",keyword:"maxLength",params:{limit: 63},message:"must NOT have more than 63 characters"}];return false;}else {if(func1(data0) < 1){validate23.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}else {if(!pattern4.test(data0)){validate23.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9-]{0,62}$"},message:"must match pattern \""+"^[a-z][a-z0-9-]{0,62}$"+"\""}];return false;}}}}else {validate23.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.description !== undefined){let data1 = data.description;const _errs3 = errors;if((typeof data1 !== "string") && (data1 !== null)){validate23.errors = [{instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: schema46.properties.description.type},message:"must be string,null"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.manifest !== undefined){const _errs5 = errors;if(!(validate24(data.manifest, {instancePath:instancePath+"/manifest",parentData:data,parentDataProperty:"manifest",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var valid0 = _errs5 === errors;}else {var valid0 = true;}}}}}else {validate23.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"props":{"name":true,"description":true,"manifest":true},"dynamicProps":false,"dynamicItems":false};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = require("./compact.cjs")({"roots":{"validate0":{"$":0},"validate1":{"$":7}},"definitions":[{"type":"object","required":["agents"],"properties":{"agents":{"type":"array","items":{"$":1}}}},{"type":"object","required":["name","description","secrets","ports"],"properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$"},"description":{"type":["string","null"]},"secrets":{"type":"array","items":{"$":2}},"interactive":{"type":"boolean"},"required_env":{"$":3},"max_copies":{"$":5},"model_access":{"type":"array","items":{"$":6}},"sign_in":{"type":"string","minLength":1,"maxLength":256},"ports":{"type":"array","items":{"minimum":1,"maximum":65535,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1,"maximum":65535}}}}},{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z][A-Z0-9_]{0,127}$"},{"type":"array","items":{"$":4}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":{"type":"string","minLength":1,"maxLength":1024}}},{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},{"type":"object","required":["secret","provider","label"],"properties":{"secret":{"$":2},"provider":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":128}}},{"type":"object","required":["name","description","manifest"],"properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$"},"description":{"type":["string","null"]},"manifest":{"$":8}}},{"type":"object","required":["name","command"],"properties":{"name":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9-]{0,62}$"},"description":{"type":"string"},"image":{"anyOf":[{"type":"string","minLength":1},{"$":9},{"type":"object","required":["private_oci"],"properties":{"private_oci":{"type":"string","minLength":1}}}]},"setup":{"type":"array","items":{"type":"string","pattern":"^[^\\u0000]*$"}},"command":{"type":"string","minLength":1,"pattern":"^[^\\u0000]*$"},"env":{"$":10},"secrets":{"type":"array","uniqueItems":true,"items":{"$":2}},"required_env":{"$":3},"max_copies":{"$":5},"model_access":{"type":"array","items":{"$":6}},"sign_in":{"type":"string","minLength":1,"maxLength":256},"files":{"type":"object","propertyNames":{"pattern":"^(?:~/)?(?!/)(?!~/?$)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\/$)[^\\u0000]+$"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object"}]}},"background":{"type":"array","items":{"type":"string","pattern":"^[^\\u0000]*$"}},"ports":{"type":"array","uniqueItems":true,"items":{"minimum":1,"maximum":65535,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1,"maximum":65535}}},"interactive":{"type":"boolean"},"resources":{"$":11},"lifetime_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"placement":{"$":12},"code":{"$":15},"source":{"type":"object","required":["repo","ref","path"],"properties":{"repo":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"path":{"type":"string","minLength":1,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"}}},"volume":{"$":16}}},{"type":"object","required":["dockerfile"],"properties":{"dockerfile":{"type":"string","minLength":1},"context_artifact_id":{"type":"string","minLength":1}}},{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"additionalProperties":{"type":"string","pattern":"^[^\\u0000]*$"}},{"type":"object","properties":{"cpu_min":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"memory_min_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"disk_min_mib":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"extendable_lifetime":{"type":"boolean","const":true},"region":{"type":"string","minLength":1},"kernel":{"anyOf":[{"enum":["shared","filtered","dedicated"]},{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["shared","filtered","dedicated"]}}]},"paused_retention_seconds":{"exclusiveMinimum":0,"allOf":[{"anyOf":[{"type":"number"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"exclusiveMinimum":0}},"arch":{"anyOf":[{"enum":["amd64","arm64"]},{"type":"array","minItems":1,"uniqueItems":true,"items":{"enum":["amd64","arm64"]}}]},"run_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"process_seconds":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}}}},{"type":"object","properties":{"preferences":{"$":13}}},{"type":"object","properties":{"order":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"only":{"$":14},"ignore":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},"sort":{"type":"string","enum":["price","time"]},"allow_fallbacks":{"type":"boolean"}}},{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[^\\u0000]*$"}},{"type":"object","required":["repo","ref"],"properties":{"repo":{"type":"string","minLength":1,"pattern":"^(?:https://github\\.com/)?[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+(?:\\.git)?$"},"ref":{"type":"string","minLength":1},"directory":{"type":"string","minLength":1,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[^\\u0000]*$"}}},{"type":"object","required":["id"],"properties":{"id":{"$":17},"path":{"type":"string","pattern":"^/[^\\u0000]*$"},"checkpoint":{"minimum":1,"allOf":[{"anyOf":[{"type":"integer"},{"x-boxrouter-bigint":true}]}],"x-boxrouter-bigint-range":{"minimum":1}},"access":{"type":"string","enum":["write","read","shared","branch"]}}},{"type":"string","pattern":"^vol_[0-9a-f]{32}$"}]});
|