deepline 0.3.128 → 0.3.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundling-sources/sdk/src/client.ts +34 -9
- package/dist/bundling-sources/sdk/src/http.ts +22 -0
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +22 -0
- package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +265 -2
- package/dist/bundling-sources/shared_libs/play-runtime/bounded-batch-function.ts +682 -0
- package/dist/bundling-sources/shared_libs/play-runtime/child-execution-strategy.ts +21 -5
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +5390 -1732
- package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +107 -1
- package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-janitor.ts +4 -1
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/commands/roll-execution-relay.ts +7 -0
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-machines.ts +229 -7
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-registry.ts +25 -4
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/runtime-gateway-capacity.ts +71 -0
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/runtime-gateway-drain.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/runtime-topology.ts +4 -1
- package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +694 -28
- package/dist/bundling-sources/shared_libs/play-runtime/egress-bandwidth-probe.ts +167 -0
- package/dist/bundling-sources/shared_libs/play-runtime/execute-server-timing.ts +103 -0
- package/dist/bundling-sources/shared_libs/play-runtime/execution-gateway-receipt-output-reference.ts +34 -0
- package/dist/bundling-sources/shared_libs/play-runtime/execution-gateway-response-size.ts +27 -0
- package/dist/bundling-sources/shared_libs/play-runtime/gateway-postgres-admission.ts +66 -1
- package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +425 -71
- package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +210 -32
- package/dist/bundling-sources/shared_libs/play-runtime/governor/in-memory-rate-state-backend.ts +27 -13
- package/dist/bundling-sources/shared_libs/play-runtime/governor/policy.ts +19 -6
- package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +61 -2
- package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/contracts.ts +33 -1
- package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/job.ts +42 -1
- package/dist/bundling-sources/shared_libs/play-runtime/launch-source-policy.ts +11 -11
- package/dist/bundling-sources/shared_libs/play-runtime/ledger-safe-payload.ts +49 -16
- package/dist/bundling-sources/shared_libs/play-runtime/map-memory-limits.ts +1653 -98
- package/dist/bundling-sources/shared_libs/play-runtime/memory-ledger.ts +807 -0
- package/dist/bundling-sources/shared_libs/play-runtime/memory-pressure-signal.ts +138 -0
- package/dist/bundling-sources/shared_libs/play-runtime/output-size-limits.ts +85 -3
- package/dist/bundling-sources/shared_libs/play-runtime/persistence-latch.ts +60 -2
- package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +46 -1
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/contracts.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/job.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/ports.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/postgres-adapter.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +70 -27
- package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +56 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/adaptive-provider-capacity-controller.ts +192 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/epoch-aimd-rate-controller.ts +194 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/fixture-capacity-simulator.ts +220 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/gradient2-concurrency-controller.ts +214 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/provider-capacity-policy.ts +43 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/provider-concurrency-policy.ts +30 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/provider-rate-policy.ts +95 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-capacity/provider-throttle-classifier.ts +40 -0
- package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +1535 -11
- package/dist/bundling-sources/shared_libs/play-runtime/run-failure.ts +49 -2
- package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +6 -1
- package/dist/bundling-sources/shared_libs/play-runtime/run-log-buffer.ts +55 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/egress-probe.ts +221 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +339 -29
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-deadline.ts +28 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-progress-push.ts +192 -165
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +6 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +90 -5
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +281 -6
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +27 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/local-process.ts +19 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/modal.ts +108 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/runtime-sandbox-reconciliation.ts +40 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/types.ts +11 -5
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-actions.ts +30 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-api-compression.ts +276 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +723 -115
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-capacity-policy.ts +114 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-contract.ts +3 -2
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-environment.ts +41 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-flow.ts +448 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-map-row-feed.ts +215 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-operation-contract.ts +11 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-store-adapter.ts +161 -14
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-value.ts +184 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-writer.ts +607 -121
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-sandbox-placement-policy.ts +4 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-sheet-row-writer.ts +21 -0
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +15 -2
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +71 -14
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-play-deploy-task.ts +2 -2
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +288 -119
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-shared.ts +8 -6
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-required-env.ts +28 -3
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd.ts +28 -8
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/canonical-integration-operation-store.ts +179 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/gateway-heavy-request-admission.ts +80 -2
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/gateway-progress-registry.ts +31 -2
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/integration-operation-store-contract.ts +104 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/integration-operation-value-reference.ts +47 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/integration-operation-value-retirement.ts +193 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/integration-operation-value-storage.ts +420 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-pool.ts +146 -15
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +134 -3
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +1657 -95
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +904 -77
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-completion-coalescer.ts +452 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-gateway.ts +601 -42
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-terminal-transition.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-receipt-value-storage.ts +371 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/worker-resource-metrics.ts +86 -7
- package/dist/bundling-sources/shared_libs/play-runtime/secret-redaction.ts +153 -22
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/index.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +188 -38
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/runtime-step-receipts-adapter.ts +28 -13
- package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +44 -1
- package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +56 -4
- package/dist/bundling-sources/shared_libs/play-runtime/work-receipts.ts +2 -0
- package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +16 -10
- package/dist/bundling-sources/shared_libs/plays/dataset.ts +4 -1
- package/dist/cli/index.js +250 -38
- package/dist/cli/index.mjs +250 -38
- package/dist/{compiler-manifest-DfSnbCTW.d.mts → compiler-manifest-BIqRyj5m.d.mts} +1 -1
- package/dist/{compiler-manifest-DfSnbCTW.d.ts → compiler-manifest-BIqRyj5m.d.ts} +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +231 -35
- package/dist/index.mjs +231 -35
- package/dist/install-integrity.json +31 -2
- package/dist/plays/bundle-play-file.d.mts +2 -2
- package/dist/plays/bundle-play-file.d.ts +2 -2
- package/dist/plays/bundle-play-file.mjs +65 -1
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +1 -1
- package/dist/release.mjs +1 -1
- package/package.json +1 -1
package/dist/cli/index.mjs
CHANGED
|
@@ -3063,7 +3063,7 @@ var SDK_RELEASE = {
|
|
|
3063
3063
|
// getters keep their established compatibility behavior.
|
|
3064
3064
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3065
3065
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3066
|
-
version: "0.3.
|
|
3066
|
+
version: "0.3.130",
|
|
3067
3067
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
3068
3068
|
packageCapabilities: {
|
|
3069
3069
|
updatePreferences: 1
|
|
@@ -3901,6 +3901,20 @@ var HttpClient = class {
|
|
|
3901
3901
|
}
|
|
3902
3902
|
throw lastError;
|
|
3903
3903
|
}
|
|
3904
|
+
if (typeof parsed === "string") {
|
|
3905
|
+
const interstitial = detectHtmlErrorBody(
|
|
3906
|
+
body,
|
|
3907
|
+
response.headers.get("content-type")
|
|
3908
|
+
);
|
|
3909
|
+
if (interstitial) {
|
|
3910
|
+
throw new DeeplineError(
|
|
3911
|
+
`${this.config.baseUrl} returned a deployment-protection page instead of JSON. Set VERCEL_PROTECTION_BYPASS_TOKEN, or run \`vercel login\` if the CLI session expired.`,
|
|
3912
|
+
response.status,
|
|
3913
|
+
"DEPLOYMENT_PROTECTED",
|
|
3914
|
+
{ htmlErrorPage: true }
|
|
3915
|
+
);
|
|
3916
|
+
}
|
|
3917
|
+
}
|
|
3904
3918
|
return parsed;
|
|
3905
3919
|
} catch (error) {
|
|
3906
3920
|
clearTimeout(timeoutId);
|
|
@@ -4397,6 +4411,11 @@ function normalizePlayRunLedgerTerminalSource(value) {
|
|
|
4397
4411
|
) ? value : null;
|
|
4398
4412
|
}
|
|
4399
4413
|
|
|
4414
|
+
// ../play-runtime/run-log-buffer.ts
|
|
4415
|
+
var RUNNER_LOG_MAX_BYTES = 5 * 1024 * 1024;
|
|
4416
|
+
var TERMINAL_RESERVE_BYTES = 64 * 1024;
|
|
4417
|
+
var encoder = new TextEncoder();
|
|
4418
|
+
|
|
4400
4419
|
// ../play-runtime/secret-redaction.ts
|
|
4401
4420
|
var SECRET_REDACTION_PLACEHOLDER = "[REDACTED_SECRET]";
|
|
4402
4421
|
var BEARER_TOKEN_RE = /\bBearer\s+[A-Za-z0-9._~+/=-]{12,}\b/g;
|
|
@@ -4414,6 +4433,18 @@ var SENSITIVE_FIELD_NAME_RE = new RegExp(
|
|
|
4414
4433
|
`(^|[._-])(?:${SENSITIVE_FIELD_NAME})$`,
|
|
4415
4434
|
"i"
|
|
4416
4435
|
);
|
|
4436
|
+
var SENSITIVE_FIELD_NAME_CACHE_MAX_ENTRIES = 4096;
|
|
4437
|
+
var sensitiveFieldNameCache = /* @__PURE__ */ new Map();
|
|
4438
|
+
function isSensitiveFieldName(key) {
|
|
4439
|
+
const cached = sensitiveFieldNameCache.get(key);
|
|
4440
|
+
if (cached !== void 0) return cached;
|
|
4441
|
+
const sensitive = SENSITIVE_FIELD_NAME_RE.test(key);
|
|
4442
|
+
if (sensitiveFieldNameCache.size >= SENSITIVE_FIELD_NAME_CACHE_MAX_ENTRIES) {
|
|
4443
|
+
sensitiveFieldNameCache.clear();
|
|
4444
|
+
}
|
|
4445
|
+
sensitiveFieldNameCache.set(key, sensitive);
|
|
4446
|
+
return sensitive;
|
|
4447
|
+
}
|
|
4417
4448
|
var SERIALIZED_SECRET_FIELD_RE = new RegExp(
|
|
4418
4449
|
`"(${SENSITIVE_FIELD_NAME})"\\s*:\\s*(?:"[^"\\\\]*"|\\{[^{}]*\\})`,
|
|
4419
4450
|
"gi"
|
|
@@ -4421,7 +4452,45 @@ var SERIALIZED_SECRET_FIELD_RE = new RegExp(
|
|
|
4421
4452
|
function escapeRegExp(value) {
|
|
4422
4453
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
4423
4454
|
}
|
|
4455
|
+
var REDACTION_TRIGGER_RE = new RegExp(
|
|
4456
|
+
[
|
|
4457
|
+
// Sensitive field names, in object keys and in `name=`/`"name":` text.
|
|
4458
|
+
"token",
|
|
4459
|
+
"secret",
|
|
4460
|
+
"password",
|
|
4461
|
+
"authorization",
|
|
4462
|
+
"cookie",
|
|
4463
|
+
"credential",
|
|
4464
|
+
// One `key` branch instead of `api[_-]?key`, `private[_-]?key` and `key_`.
|
|
4465
|
+
// A regex alternation costs roughly one substring scan per branch, and a
|
|
4466
|
+
// broader branch can only send more payloads down the exact path.
|
|
4467
|
+
"key",
|
|
4468
|
+
// Self-identifying credential prefixes.
|
|
4469
|
+
"bearer",
|
|
4470
|
+
"basic",
|
|
4471
|
+
"-----BEGIN",
|
|
4472
|
+
"xox[baprs]-",
|
|
4473
|
+
"[prs]k_",
|
|
4474
|
+
"pat_",
|
|
4475
|
+
"ghp_",
|
|
4476
|
+
// URL credentials: `//user:pass@host` userinfo and sensitive query params.
|
|
4477
|
+
// The userinfo class excludes `/` exactly as the rule it guards does.
|
|
4478
|
+
"//[^\\s/]{0,256}@",
|
|
4479
|
+
"[?#&]sig",
|
|
4480
|
+
// JWTs carry no keyword at all, so the shape itself is the marker. Anchor
|
|
4481
|
+
// on the separating dot and drop JWT_RE's leading `{8,}` segment: a dot is
|
|
4482
|
+
// rare enough for the engine to skip between candidates, which makes this
|
|
4483
|
+
// gate roughly ten times cheaper than re-running JWT_RE itself, and
|
|
4484
|
+
// dropping a required segment can only widen what it accepts.
|
|
4485
|
+
"\\.[A-Za-z0-9_-]{1,16384}\\.[A-Za-z0-9_-]{8}"
|
|
4486
|
+
].join("|"),
|
|
4487
|
+
"i"
|
|
4488
|
+
);
|
|
4489
|
+
function mightContainRedactableSecret(value) {
|
|
4490
|
+
return REDACTION_TRIGGER_RE.test(value);
|
|
4491
|
+
}
|
|
4424
4492
|
function redactSecretLikeString(value) {
|
|
4493
|
+
if (!mightContainRedactableSecret(value)) return value;
|
|
4425
4494
|
const serializedRedacted = value.replace(
|
|
4426
4495
|
SERIALIZED_SECRET_FIELD_RE,
|
|
4427
4496
|
`"$1":"${SECRET_REDACTION_PLACEHOLDER}"`
|
|
@@ -4443,9 +4512,26 @@ function redactSecretLikeString(value) {
|
|
|
4443
4512
|
}
|
|
4444
4513
|
function createSecretRedactionContext(initialValues = []) {
|
|
4445
4514
|
const exactSecrets = /* @__PURE__ */ new Set();
|
|
4515
|
+
const exactSecretMatchers = /* @__PURE__ */ new Map();
|
|
4446
4516
|
function register(value) {
|
|
4447
4517
|
if (value.length > 0) exactSecrets.add(value);
|
|
4448
4518
|
}
|
|
4519
|
+
function matchersForSecret(secret) {
|
|
4520
|
+
const cached = exactSecretMatchers.get(secret);
|
|
4521
|
+
if (cached) return cached;
|
|
4522
|
+
const literals = [secret];
|
|
4523
|
+
try {
|
|
4524
|
+
const encoded = encodeURIComponent(secret);
|
|
4525
|
+
if (encoded !== secret) literals.push(encoded);
|
|
4526
|
+
} catch {
|
|
4527
|
+
}
|
|
4528
|
+
const built = literals.map((literal) => ({
|
|
4529
|
+
literal,
|
|
4530
|
+
matcher: new RegExp(escapeRegExp(literal), "g")
|
|
4531
|
+
}));
|
|
4532
|
+
exactSecretMatchers.set(secret, built);
|
|
4533
|
+
return built;
|
|
4534
|
+
}
|
|
4449
4535
|
for (const value of initialValues) register(value);
|
|
4450
4536
|
function containsRegisteredSecret(value, {
|
|
4451
4537
|
includeEncoded = false,
|
|
@@ -4468,21 +4554,13 @@ function createSecretRedactionContext(initialValues = []) {
|
|
|
4468
4554
|
return exactSecrets.has(value);
|
|
4469
4555
|
}
|
|
4470
4556
|
function redactRegisteredSecrets(value) {
|
|
4557
|
+
if (exactSecrets.size === 0) return value;
|
|
4471
4558
|
let output2 = value;
|
|
4472
4559
|
for (const secret of exactSecrets) {
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
try {
|
|
4478
|
-
const encoded = encodeURIComponent(secret);
|
|
4479
|
-
if (encoded !== secret) {
|
|
4480
|
-
output2 = output2.replace(
|
|
4481
|
-
new RegExp(escapeRegExp(encoded), "g"),
|
|
4482
|
-
SECRET_REDACTION_PLACEHOLDER
|
|
4483
|
-
);
|
|
4484
|
-
}
|
|
4485
|
-
} catch {
|
|
4560
|
+
for (const { literal, matcher } of matchersForSecret(secret)) {
|
|
4561
|
+
if (!output2.includes(literal)) continue;
|
|
4562
|
+
matcher.lastIndex = 0;
|
|
4563
|
+
output2 = output2.replace(matcher, SECRET_REDACTION_PLACEHOLDER);
|
|
4486
4564
|
}
|
|
4487
4565
|
}
|
|
4488
4566
|
return output2;
|
|
@@ -4493,13 +4571,33 @@ function createSecretRedactionContext(initialValues = []) {
|
|
|
4493
4571
|
}
|
|
4494
4572
|
function redact(value) {
|
|
4495
4573
|
if (typeof value === "string") return redactString2(value);
|
|
4496
|
-
if (Array.isArray(value))
|
|
4574
|
+
if (Array.isArray(value)) {
|
|
4575
|
+
let changed = false;
|
|
4576
|
+
const next = new Array(value.length);
|
|
4577
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
4578
|
+
const entry = value[index];
|
|
4579
|
+
const redacted = redact(entry);
|
|
4580
|
+
next[index] = redacted;
|
|
4581
|
+
if (redacted !== entry) changed = true;
|
|
4582
|
+
}
|
|
4583
|
+
return changed ? next : value;
|
|
4584
|
+
}
|
|
4497
4585
|
if (value && typeof value === "object") {
|
|
4586
|
+
const prototype = Object.getPrototypeOf(value);
|
|
4587
|
+
let changed = prototype !== Object.prototype && prototype !== null;
|
|
4588
|
+
const source = value;
|
|
4589
|
+
const keys = Object.keys(source);
|
|
4590
|
+
const redactedValues = new Array(keys.length);
|
|
4591
|
+
for (let index = 0; index < keys.length; index += 1) {
|
|
4592
|
+
const key = keys[index];
|
|
4593
|
+
const entry = source[key];
|
|
4594
|
+
const redacted = isSensitiveFieldName(key) ? SECRET_REDACTION_PLACEHOLDER : redact(entry);
|
|
4595
|
+
redactedValues[index] = redacted;
|
|
4596
|
+
if (redacted !== entry) changed = true;
|
|
4597
|
+
}
|
|
4598
|
+
if (!changed) return value;
|
|
4498
4599
|
return Object.fromEntries(
|
|
4499
|
-
|
|
4500
|
-
key,
|
|
4501
|
-
SENSITIVE_FIELD_NAME_RE.test(key) ? SECRET_REDACTION_PLACEHOLDER : redact(entry)
|
|
4502
|
-
])
|
|
4600
|
+
keys.map((key, index) => [key, redactedValues[index]])
|
|
4503
4601
|
);
|
|
4504
4602
|
}
|
|
4505
4603
|
return value;
|
|
@@ -4537,9 +4635,10 @@ var CUSTOMER_OUTPUT_VALUE_MAX_BYTES = 5 * 1024 * 1024;
|
|
|
4537
4635
|
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES = 5 * 1024 * 1024;
|
|
4538
4636
|
var RUNTIME_RECEIPT_OUTPUT_MAX_BYTES = 10 * 1024 * 1024;
|
|
4539
4637
|
var RUNTIME_RECEIPT_COMPLETION_BUFFER_MAX_BYTES = 32 * 1024 * 1024;
|
|
4638
|
+
var RUNTIME_RECEIPT_CONTROL_BUFFER_MAX_BYTES = 2 * 1024 * 1024;
|
|
4540
4639
|
var RUNNER_TERMINAL_PUSH_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
4541
4640
|
var RUNTIME_RECEIPT_GATEWAY_BATCH_MAX_BYTES = 12 * 1024 * 1024;
|
|
4542
|
-
var RUNTIME_RECEIPT_WRITER_TARGET_BATCH_BYTES =
|
|
4641
|
+
var RUNTIME_RECEIPT_WRITER_TARGET_BATCH_BYTES = 8 * 1024 * 1024;
|
|
4543
4642
|
var RUNNER_POST_TERMINAL_DIAGNOSTIC_MAX_BYTES = 64 * 1024;
|
|
4544
4643
|
var JSON_SIZE_LIMIT_REACHED = Symbol("JSON_SIZE_LIMIT_REACHED");
|
|
4545
4644
|
|
|
@@ -5347,7 +5446,11 @@ function normalizePlayRunLedgerSnapshot(value, fallback) {
|
|
|
5347
5446
|
finiteNumber(value.totalLogCount) ?? logTail.length,
|
|
5348
5447
|
logTail.length
|
|
5349
5448
|
),
|
|
5350
|
-
|
|
5449
|
+
// A persisted snapshot carrying more lines than the tail keeps is
|
|
5450
|
+
// truncated here, whatever the stored flag says. Reporting `false` while
|
|
5451
|
+
// dropping lines is silent loss: a reader would take the tail for the
|
|
5452
|
+
// whole log.
|
|
5453
|
+
logsTruncated: value.logsTruncated === true || logTail.length > LOG_TAIL_LIMIT,
|
|
5351
5454
|
activeStepId: optionalNullableString(value.activeStepId),
|
|
5352
5455
|
activeActivityId: optionalNullableString(value.activeActivityId),
|
|
5353
5456
|
activeArtifactTableNamespace: optionalNullableString(
|
|
@@ -6338,28 +6441,42 @@ var PLAY_BACKEND_DESCRIPTORS = {
|
|
|
6338
6441
|
// ../play-runtime/runtime-environment.ts
|
|
6339
6442
|
var PLAY_RUNTIME_ENVIRONMENTS = ["preview"];
|
|
6340
6443
|
var PLAY_RUNTIME_NAMESPACE_PATTERN = /^[a-z][a-z0-9-]{0,30}$/;
|
|
6444
|
+
var PLAY_RUNTIME_SANDBOX_PLACEMENT_POLICY_PATTERN = /^[a-z][a-z0-9_]*@[1-9][0-9]*$/;
|
|
6341
6445
|
function normalizePlayRuntimeNamespace(value) {
|
|
6342
6446
|
if (typeof value !== "string") return null;
|
|
6343
6447
|
const normalized = value.trim();
|
|
6344
6448
|
return PLAY_RUNTIME_NAMESPACE_PATTERN.test(normalized) ? normalized : null;
|
|
6345
6449
|
}
|
|
6450
|
+
function normalizePlayRuntimeSandboxPlacementPolicy(value) {
|
|
6451
|
+
if (typeof value !== "string") return null;
|
|
6452
|
+
const normalized = value.trim();
|
|
6453
|
+
return PLAY_RUNTIME_SANDBOX_PLACEMENT_POLICY_PATTERN.test(normalized) ? normalized : null;
|
|
6454
|
+
}
|
|
6346
6455
|
function normalizePlayRuntimeSelection(value) {
|
|
6347
6456
|
if (!value || typeof value !== "object" || Array.isArray(value)) return null;
|
|
6348
6457
|
const record3 = value;
|
|
6349
6458
|
if (Object.keys(record3).some(
|
|
6350
|
-
(key) => key !== "environment" && key !== "namespace" && key !== "backend"
|
|
6459
|
+
(key) => key !== "environment" && key !== "namespace" && key !== "backend" && key !== "sandboxPlacementPolicy"
|
|
6351
6460
|
) || record3.environment !== "preview") {
|
|
6352
6461
|
return null;
|
|
6353
6462
|
}
|
|
6354
6463
|
const namespace = normalizePlayRuntimeNamespace(record3.namespace);
|
|
6355
6464
|
if (!namespace) return null;
|
|
6356
|
-
|
|
6357
|
-
|
|
6465
|
+
const sandboxPlacementPolicy = record3.sandboxPlacementPolicy === void 0 ? void 0 : normalizePlayRuntimeSandboxPlacementPolicy(
|
|
6466
|
+
record3.sandboxPlacementPolicy
|
|
6467
|
+
);
|
|
6468
|
+
if (record3.sandboxPlacementPolicy !== void 0 && sandboxPlacementPolicy === null) {
|
|
6469
|
+
return null;
|
|
6358
6470
|
}
|
|
6359
|
-
if (record3.backend !== PLAY_RUNTIME_BACKENDS.daytona && record3.backend !== PLAY_RUNTIME_BACKENDS.modal) {
|
|
6471
|
+
if (record3.backend !== void 0 && record3.backend !== PLAY_RUNTIME_BACKENDS.daytona && record3.backend !== PLAY_RUNTIME_BACKENDS.modal) {
|
|
6360
6472
|
return null;
|
|
6361
6473
|
}
|
|
6362
|
-
return {
|
|
6474
|
+
return {
|
|
6475
|
+
environment: "preview",
|
|
6476
|
+
namespace,
|
|
6477
|
+
...record3.backend === void 0 ? {} : { backend: record3.backend },
|
|
6478
|
+
...sandboxPlacementPolicy ? { sandboxPlacementPolicy } : {}
|
|
6479
|
+
};
|
|
6363
6480
|
}
|
|
6364
6481
|
function normalizePlayRuntimeEnvironment(value) {
|
|
6365
6482
|
return typeof value === "string" && PLAY_RUNTIME_ENVIRONMENTS.includes(value) ? value : null;
|
|
@@ -6453,7 +6570,7 @@ function resolvePlayRunRuntimeSelection(request) {
|
|
|
6453
6570
|
const runtime = normalizePlayRuntimeSelection(request.runtime);
|
|
6454
6571
|
if (!runtime) {
|
|
6455
6572
|
throw new DeeplineError(
|
|
6456
|
-
'runtime must be { environment: "preview", namespace, backend?: "daytona" | "modal" } with namespace matching ^[a-z][a-z0-9-]{0,30}$.',
|
|
6573
|
+
'runtime must be { environment: "preview", namespace, backend?: "daytona" | "modal", sandboxPlacementPolicy?: "policy_name@1" } with namespace matching ^[a-z][a-z0-9-]{0,30}$.',
|
|
6457
6574
|
void 0,
|
|
6458
6575
|
"INVALID_RUNTIME_SELECTION"
|
|
6459
6576
|
);
|
|
@@ -6463,11 +6580,15 @@ function resolvePlayRunRuntimeSelection(request) {
|
|
|
6463
6580
|
const configured = process.env.DEEPLINE_RUNTIME_ENVIRONMENT?.trim();
|
|
6464
6581
|
const configuredNamespace = process.env.DEEPLINE_RUNTIME_NAMESPACE?.trim();
|
|
6465
6582
|
const configuredToken = process.env.DEEPLINE_RUNTIME_ENVIRONMENT_TOKEN?.trim();
|
|
6583
|
+
const configuredPlacementPolicy = process.env.DEEPLINE_RUNTIME_SANDBOX_PLACEMENT_POLICY?.trim();
|
|
6466
6584
|
if (!configured) {
|
|
6467
|
-
if (configuredNamespace || configuredToken) {
|
|
6585
|
+
if (configuredNamespace || configuredToken || configuredPlacementPolicy) {
|
|
6468
6586
|
const present = [];
|
|
6469
6587
|
if (configuredNamespace) present.push("DEEPLINE_RUNTIME_NAMESPACE");
|
|
6470
6588
|
if (configuredToken) present.push("DEEPLINE_RUNTIME_ENVIRONMENT_TOKEN");
|
|
6589
|
+
if (configuredPlacementPolicy) {
|
|
6590
|
+
present.push("DEEPLINE_RUNTIME_SANDBOX_PLACEMENT_POLICY");
|
|
6591
|
+
}
|
|
6471
6592
|
const isPlural = present.length > 1;
|
|
6472
6593
|
throw new DeeplineError(
|
|
6473
6594
|
[
|
|
@@ -6498,18 +6619,28 @@ function resolvePlayRunRuntimeSelection(request) {
|
|
|
6498
6619
|
"INVALID_RUNTIME_NAMESPACE"
|
|
6499
6620
|
);
|
|
6500
6621
|
}
|
|
6501
|
-
const
|
|
6502
|
-
|
|
6503
|
-
|
|
6504
|
-
}
|
|
6505
|
-
if (configuredBackend !== "daytona" && configuredBackend !== "modal") {
|
|
6622
|
+
const configuredBackendValue = process.env.DEEPLINE_PLAY_RUNNER_BACKEND?.trim();
|
|
6623
|
+
const configuredBackend = configuredBackendValue === "daytona" || configuredBackendValue === "modal" ? configuredBackendValue : void 0;
|
|
6624
|
+
if (configuredBackendValue && !configuredBackend) {
|
|
6506
6625
|
throw new DeeplineError(
|
|
6507
|
-
`DEEPLINE_PLAY_RUNNER_BACKEND must be daytona or modal for preview runtime selection. Received "${
|
|
6626
|
+
`DEEPLINE_PLAY_RUNNER_BACKEND must be daytona or modal for preview runtime selection. Received "${configuredBackendValue}".`,
|
|
6508
6627
|
void 0,
|
|
6509
6628
|
"INVALID_RUNTIME_BACKEND"
|
|
6510
6629
|
);
|
|
6511
6630
|
}
|
|
6512
|
-
|
|
6631
|
+
if (configuredPlacementPolicy && !normalizePlayRuntimeSandboxPlacementPolicy(configuredPlacementPolicy)) {
|
|
6632
|
+
throw new DeeplineError(
|
|
6633
|
+
`DEEPLINE_RUNTIME_SANDBOX_PLACEMENT_POLICY must be a versioned placement policy id such as daytona_only@1. Received "${configuredPlacementPolicy}".`,
|
|
6634
|
+
void 0,
|
|
6635
|
+
"INVALID_RUNTIME_SANDBOX_PLACEMENT_POLICY"
|
|
6636
|
+
);
|
|
6637
|
+
}
|
|
6638
|
+
return {
|
|
6639
|
+
environment,
|
|
6640
|
+
namespace,
|
|
6641
|
+
...configuredBackend ? { backend: configuredBackend } : {},
|
|
6642
|
+
...configuredPlacementPolicy ? { sandboxPlacementPolicy: configuredPlacementPolicy } : {}
|
|
6643
|
+
};
|
|
6513
6644
|
}
|
|
6514
6645
|
function runtimeSelectionHeaders(runtime) {
|
|
6515
6646
|
if (!runtime) return void 0;
|
|
@@ -16880,6 +17011,70 @@ import {
|
|
|
16880
17011
|
// ../plays/authoring-contract.ts
|
|
16881
17012
|
import { Type } from "@sinclair/typebox";
|
|
16882
17013
|
import { Value } from "@sinclair/typebox/value";
|
|
17014
|
+
var SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS = [
|
|
17015
|
+
1,
|
|
17016
|
+
2,
|
|
17017
|
+
3,
|
|
17018
|
+
4,
|
|
17019
|
+
5,
|
|
17020
|
+
6,
|
|
17021
|
+
7,
|
|
17022
|
+
8
|
|
17023
|
+
];
|
|
17024
|
+
var PLAY_AUTHORING_CONTRACT_CHANGELOG_DETAILS = [
|
|
17025
|
+
{
|
|
17026
|
+
changed: "Historical extraction semantics. Invalid or unresolved optional authoring fields may normalize to absence.",
|
|
17027
|
+
compatibilityOwner: "Plays Runtime",
|
|
17028
|
+
newWritesEnd: "2026-11-03",
|
|
17029
|
+
readerRemoval: "After every retained edition 1 artifact has a materialized admitted snapshot."
|
|
17030
|
+
},
|
|
17031
|
+
{
|
|
17032
|
+
changed: "Pins admitted authoring snapshots and rejects ambiguous billing, secret, webhook, fetch, timeout, receipt-wait, and freshness contracts.",
|
|
17033
|
+
compatibilityOwner: "Plays Runtime",
|
|
17034
|
+
newWritesEnd: "2026-08-03",
|
|
17035
|
+
readerRemoval: "After every retained edition 2 artifact has an admitted input schema or has been republished."
|
|
17036
|
+
},
|
|
17037
|
+
{
|
|
17038
|
+
changed: "Materializes the declared input schema in the admitted snapshot so launch never reparses current source.",
|
|
17039
|
+
compatibilityOwner: "Plays Runtime",
|
|
17040
|
+
newWritesEnd: "2026-08-19",
|
|
17041
|
+
readerRemoval: null
|
|
17042
|
+
},
|
|
17043
|
+
{
|
|
17044
|
+
changed: "ctx.secrets.get(name) resolves an allowed secret to a plaintext string for ordinary Play code. Editions 1\u20133 retain opaque secret handles.",
|
|
17045
|
+
compatibilityOwner: "Plays Runtime",
|
|
17046
|
+
newWritesEnd: null,
|
|
17047
|
+
readerRemoval: null
|
|
17048
|
+
},
|
|
17049
|
+
{
|
|
17050
|
+
changed: "ctx.fetch throws a typed, redacted CtxFetchHttpError for non-2xx responses. Editions 1\u20134 continue to return the response record for every HTTP status.",
|
|
17051
|
+
compatibilityOwner: "Plays Runtime",
|
|
17052
|
+
newWritesEnd: null,
|
|
17053
|
+
readerRemoval: null
|
|
17054
|
+
},
|
|
17055
|
+
{
|
|
17056
|
+
changed: "Adds static cron input and rejects unknown definePlay and binding fields during new admission. Editions 1\u20135 retain their admitted binding semantics.",
|
|
17057
|
+
compatibilityOwner: "Plays Runtime",
|
|
17058
|
+
newWritesEnd: null,
|
|
17059
|
+
readerRemoval: null
|
|
17060
|
+
},
|
|
17061
|
+
{
|
|
17062
|
+
changed: "Slack HITL calls that omit timeout wait one week. Editions 1\u20136 retain the historical 24-hour default.",
|
|
17063
|
+
compatibilityOwner: "Plays Runtime",
|
|
17064
|
+
newWritesEnd: null,
|
|
17065
|
+
readerRemoval: null
|
|
17066
|
+
},
|
|
17067
|
+
{
|
|
17068
|
+
changed: "Lets an inline scalar child execute without a stored static pipeline. Dataset creation and suspension remain rejected by the authoritative runtime capability boundary; editions 1\u20137 retain static-contract preflight rejection.",
|
|
17069
|
+
compatibilityOwner: "Plays Runtime",
|
|
17070
|
+
newWritesEnd: null,
|
|
17071
|
+
readerRemoval: null
|
|
17072
|
+
}
|
|
17073
|
+
];
|
|
17074
|
+
var PLAY_AUTHORING_CONTRACT_CHANGELOG = SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS.map((edition, index) => ({
|
|
17075
|
+
edition,
|
|
17076
|
+
...PLAY_AUTHORING_CONTRACT_CHANGELOG_DETAILS[index]
|
|
17077
|
+
}));
|
|
16883
17078
|
var PLAY_SQL_LISTENER_WHERE_OPERATORS = [
|
|
16884
17079
|
"eq",
|
|
16885
17080
|
"neq",
|
|
@@ -23532,7 +23727,7 @@ function assertPlayWaitNotTimedOut(input2) {
|
|
|
23532
23727
|
if (input2.waitTimeoutMs !== null && Date.now() - input2.startedAt >= input2.waitTimeoutMs) {
|
|
23533
23728
|
const hasRealRunId = input2.workflowId.length > 0 && input2.workflowId !== "pending";
|
|
23534
23729
|
const phaseSuffix = input2.lastPhase && input2.lastPhase.trim() ? ` (last observed phase: ${input2.lastPhase.trim()})` : "";
|
|
23535
|
-
const tailHint = hasRealRunId ? `
|
|
23730
|
+
const tailHint = hasRealRunId ? ` The CLI stopped waiting; it did not cancel the run. Check its current state with 'deepline runs get ${input2.workflowId} --json', or reattach with 'deepline runs tail ${input2.workflowId} --json'. Do not start another run just to retrieve results.` : ` No run id was received, so acceptance is unknown. Check recent runs with 'deepline runs list --play <play-name> --json' before submitting again.`;
|
|
23536
23731
|
throw new DeeplineError(
|
|
23537
23732
|
`Timed out waiting for play ${hasRealRunId ? input2.workflowId : "<no run id>"} after ${Math.ceil(input2.waitTimeoutMs / 1e3)}s${phaseSuffix}.${tailHint}`,
|
|
23538
23733
|
void 0,
|
|
@@ -25097,6 +25292,18 @@ function buildRunPackageTextLines(packaged) {
|
|
|
25097
25292
|
const lines = [
|
|
25098
25293
|
`${status === "completed" ? "\u2713" : status === "failed" ? "\u2717" : "\u2022"} ${status} ${runId}`
|
|
25099
25294
|
];
|
|
25295
|
+
const isRuntimeTimeout = status === "failed" && (readRecordArray(packaged.errors).some(
|
|
25296
|
+
(error) => error.code === "RUNTIME_LIMIT_EXCEEDED"
|
|
25297
|
+
) || typeof run.error === "string" && /RUNTIME_LIMIT_EXCEEDED/.test(run.error));
|
|
25298
|
+
if (isRuntimeTimeout) {
|
|
25299
|
+
lines.push(" RUNTIME_LIMIT_EXCEEDED: the Play stopped before returning.");
|
|
25300
|
+
lines.push(
|
|
25301
|
+
" Inspect the dataset catalog below and export saved data before rerunning unfinished work."
|
|
25302
|
+
);
|
|
25303
|
+
lines.push(
|
|
25304
|
+
" Adjust runtime.timeout in the Play (maximum 4h), remove the override for the 30-minute default, or use fewer rows."
|
|
25305
|
+
);
|
|
25306
|
+
}
|
|
25100
25307
|
const runError = typeof run.error === "string" && run.error.trim() ? run.error.trim() : null;
|
|
25101
25308
|
if (runError && (status === "failed" || status === "cancelled")) {
|
|
25102
25309
|
lines.push(` error: ${truncateErrorForDisplay(runError, runId)}`);
|
|
@@ -25173,14 +25380,19 @@ function buildRunPackageTextLines(packaged) {
|
|
|
25173
25380
|
const legacyExportCommand = hasCatalogExportAction ? null : actionToCommand(next.export);
|
|
25174
25381
|
const runAgainCommand = typeof next.run === "string" && next.run.trim() ? next.run.trim() : null;
|
|
25175
25382
|
if (inspectCommand) lines.push(` inspect: ${inspectCommand}`);
|
|
25176
|
-
if (fullResultCommand)
|
|
25383
|
+
if (fullResultCommand)
|
|
25384
|
+
lines.push(
|
|
25385
|
+
` ${isRuntimeTimeout ? "full run details" : "full result"}: ${fullResultCommand}`
|
|
25386
|
+
);
|
|
25177
25387
|
if (logsCommand) lines.push(` logs: ${logsCommand}`);
|
|
25178
25388
|
if (billingCommand) lines.push(` billing: ${billingCommand}`);
|
|
25179
25389
|
if (legacyExportCommand) {
|
|
25180
25390
|
lines.push(` export CSV: ${legacyExportCommand}`);
|
|
25181
25391
|
}
|
|
25182
25392
|
if (runAgainCommand) {
|
|
25183
|
-
lines.push(
|
|
25393
|
+
lines.push(
|
|
25394
|
+
isRuntimeTimeout ? " run again after adjusting the deadline or batch (compatible completed work may be reused):" : " run again (completed work is reused):"
|
|
25395
|
+
);
|
|
25184
25396
|
lines.push(` ${runAgainCommand}`);
|
|
25185
25397
|
}
|
|
25186
25398
|
return lines;
|
|
@@ -729,7 +729,7 @@ type PlaySandboxRuntimeDeclaration = {
|
|
|
729
729
|
size?: PlaySandboxSize;
|
|
730
730
|
};
|
|
731
731
|
|
|
732
|
-
declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3, 4, 5, 6, 7];
|
|
732
|
+
declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3, 4, 5, 6, 7, 8];
|
|
733
733
|
type PlayAuthoringContractEdition = (typeof SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS)[number];
|
|
734
734
|
type PlaySqlListenerOperation = 'INSERT' | 'UPDATE' | 'DELETE';
|
|
735
735
|
type PlayStandardWebhookHeaderFamily = 'standard' | 'svix';
|
|
@@ -729,7 +729,7 @@ type PlaySandboxRuntimeDeclaration = {
|
|
|
729
729
|
size?: PlaySandboxSize;
|
|
730
730
|
};
|
|
731
731
|
|
|
732
|
-
declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3, 4, 5, 6, 7];
|
|
732
|
+
declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3, 4, 5, 6, 7, 8];
|
|
733
733
|
type PlayAuthoringContractEdition = (typeof SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS)[number];
|
|
734
734
|
type PlaySqlListenerOperation = 'INSERT' | 'UPDATE' | 'DELETE';
|
|
735
735
|
type PlayStandardWebhookHeaderFamily = 'standard' | 'svix';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference path="./text-imports.d.ts" />
|
|
2
|
-
import { c as PlayCompilerManifest, T as ToolResultBilling, A as AsyncPlayRunRef$1, i as PlayAuthoringColumnMap, j as PlayAuthoringColumnResolver, k as PlayAuthoringRuntimeContext, l as PlayAuthoringConditionalStepResolver, m as PlayAuthoringCsvInput, n as PlayAuthoringCsvOptions, o as PlayAuthoringDatasetBuilder, p as PlayAuthoringDatasetColumnDefinition, q as PlayAuthoringDatasetColumnRunInput, r as ToolExecuteResult, s as PlayAuthoringReferenceLike, t as PlayReturnObject$1, u as PlayAuthoringDefineConfig, v as PlayAuthoringDefinedPlay, w as PlayAuthoringFetchOptions, x as PlayAuthoringFileInput, y as PlayAuthoringAsyncCallOptions, z as PlayAuthoringBindings, B as PlayAuthoringCallExecution, C as PlayAuthoringCallOptions, D as PlayAuthoringFetchResponse, E as PlayAuthoringInputContract, F as PlayRunId$1, G as PlayAuthoringStepProgramStep, H as PlayAuthoringRuntimeStepOptions, I as PlaySqlListenerDeclaration, J as PlaySqlListenerEvent, K as PlaySqlListenerOperation, L as PlaySqlQuery, M as PlayAuthoringStepOptions, N as PlayAuthoringStepProgram, O as PlayAuthoringStepProgramResolver, Q as PlayAuthoringStepResolver, R as PlayToolExecutionRequest, S as PlayAuthoringStepProgramOptions, U as DeeplineError, V as ToolExecutionError, W as ToolExecutionErrorOptions } from './compiler-manifest-
|
|
3
|
-
export { X as CtxFetchHttpError, Y as DEEPLINE_EXTRACTOR_TARGETS, Z as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, _ as DeeplineEmailStatusGetterValue, $ as DeeplineExtractorTarget, a0 as DeeplineGetterValue, a1 as DeeplineGetterValueMap, a2 as JOB_CHANGE_STATUS_VALUES, a3 as JobChangeStatus, a4 as PHONE_STATUS_VALUES, a5 as PhoneStatus, a6 as PlayDataset, a7 as PlayDatasetInput, a8 as PreviousCell, a9 as ProviderTransientError, aa as ProviderTransientErrorCategory, ab as ProviderUnavailableError, ac as ProviderUnavailableReason, ad as ToolExecutionErrorCategory, ae as ToolExecutionErrorOrigin, af as ToolExecutionFailureV1, ag as ToolExecutionNetworkKind, ah as ToolExecutionNetworkScope, ai as ToolExecutionPublicDetails, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-
|
|
2
|
+
import { c as PlayCompilerManifest, T as ToolResultBilling, A as AsyncPlayRunRef$1, i as PlayAuthoringColumnMap, j as PlayAuthoringColumnResolver, k as PlayAuthoringRuntimeContext, l as PlayAuthoringConditionalStepResolver, m as PlayAuthoringCsvInput, n as PlayAuthoringCsvOptions, o as PlayAuthoringDatasetBuilder, p as PlayAuthoringDatasetColumnDefinition, q as PlayAuthoringDatasetColumnRunInput, r as ToolExecuteResult, s as PlayAuthoringReferenceLike, t as PlayReturnObject$1, u as PlayAuthoringDefineConfig, v as PlayAuthoringDefinedPlay, w as PlayAuthoringFetchOptions, x as PlayAuthoringFileInput, y as PlayAuthoringAsyncCallOptions, z as PlayAuthoringBindings, B as PlayAuthoringCallExecution, C as PlayAuthoringCallOptions, D as PlayAuthoringFetchResponse, E as PlayAuthoringInputContract, F as PlayRunId$1, G as PlayAuthoringStepProgramStep, H as PlayAuthoringRuntimeStepOptions, I as PlaySqlListenerDeclaration, J as PlaySqlListenerEvent, K as PlaySqlListenerOperation, L as PlaySqlQuery, M as PlayAuthoringStepOptions, N as PlayAuthoringStepProgram, O as PlayAuthoringStepProgramResolver, Q as PlayAuthoringStepResolver, R as PlayToolExecutionRequest, S as PlayAuthoringStepProgramOptions, U as DeeplineError, V as ToolExecutionError, W as ToolExecutionErrorOptions } from './compiler-manifest-BIqRyj5m.mjs';
|
|
3
|
+
export { X as CtxFetchHttpError, Y as DEEPLINE_EXTRACTOR_TARGETS, Z as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, _ as DeeplineEmailStatusGetterValue, $ as DeeplineExtractorTarget, a0 as DeeplineGetterValue, a1 as DeeplineGetterValueMap, a2 as JOB_CHANGE_STATUS_VALUES, a3 as JobChangeStatus, a4 as PHONE_STATUS_VALUES, a5 as PhoneStatus, a6 as PlayDataset, a7 as PlayDatasetInput, a8 as PreviousCell, a9 as ProviderTransientError, aa as ProviderTransientErrorCategory, ab as ProviderUnavailableError, ac as ProviderUnavailableReason, ad as ToolExecutionErrorCategory, ae as ToolExecutionErrorOrigin, af as ToolExecutionFailureV1, ag as ToolExecutionNetworkKind, ah as ToolExecutionNetworkScope, ai as ToolExecutionPublicDetails, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-BIqRyj5m.mjs';
|
|
4
4
|
import { MonitorFleetDefinition } from './monitor-fleet-contract.mjs';
|
|
5
5
|
export { AdmittedMonitorFleetAuthoringContract, MONITOR_FLEET_AUTHORING_CONTRACT_CHANGELOG, MONITOR_FLEET_AUTHORING_CONTRACT_EDITION, MONITOR_FLEET_DOCUMENTATION, MONITOR_FLEET_FRONTIER_MAX_ROWS, MONITOR_FLEET_MAX_MEMBERS, MonitorFleetAuthoringContractEdition, MonitorFleetAuthoringContractResult, MonitorFleetColumn, MonitorFleetContractIssue, MonitorFleetExpression, MonitorFleetTemplate, admitMonitorFleetAuthoringContract, defineMonitorFleet, fleetColumn, fleetKey, lintMonitorFleetInput, validateMonitorFleetDefinition } from './monitor-fleet-contract.mjs';
|
|
6
6
|
export { BatchMonitorInput, MonitorInputIssue, MonitorSpec as MonitorInputSpec, lintMonitorBatchInput, lintMonitorSpecTemplate, renderMonitorSpecTemplate } from './monitor-input-contract.mjs';
|
|
@@ -178,6 +178,8 @@ type PlayRuntimeSelection = {
|
|
|
178
178
|
namespace: string;
|
|
179
179
|
/** Explicit managed-sandbox executor. Omission preserves Daytona compatibility. */
|
|
180
180
|
backend?: Extract<PlayRuntimeBackendId, 'daytona' | 'modal'>;
|
|
181
|
+
/** Durable placement contract for the selected Preview worker lane. */
|
|
182
|
+
sandboxPlacementPolicy?: string;
|
|
181
183
|
};
|
|
182
184
|
|
|
183
185
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference path="./text-imports.d.ts" />
|
|
2
|
-
import { c as PlayCompilerManifest, T as ToolResultBilling, A as AsyncPlayRunRef$1, i as PlayAuthoringColumnMap, j as PlayAuthoringColumnResolver, k as PlayAuthoringRuntimeContext, l as PlayAuthoringConditionalStepResolver, m as PlayAuthoringCsvInput, n as PlayAuthoringCsvOptions, o as PlayAuthoringDatasetBuilder, p as PlayAuthoringDatasetColumnDefinition, q as PlayAuthoringDatasetColumnRunInput, r as ToolExecuteResult, s as PlayAuthoringReferenceLike, t as PlayReturnObject$1, u as PlayAuthoringDefineConfig, v as PlayAuthoringDefinedPlay, w as PlayAuthoringFetchOptions, x as PlayAuthoringFileInput, y as PlayAuthoringAsyncCallOptions, z as PlayAuthoringBindings, B as PlayAuthoringCallExecution, C as PlayAuthoringCallOptions, D as PlayAuthoringFetchResponse, E as PlayAuthoringInputContract, F as PlayRunId$1, G as PlayAuthoringStepProgramStep, H as PlayAuthoringRuntimeStepOptions, I as PlaySqlListenerDeclaration, J as PlaySqlListenerEvent, K as PlaySqlListenerOperation, L as PlaySqlQuery, M as PlayAuthoringStepOptions, N as PlayAuthoringStepProgram, O as PlayAuthoringStepProgramResolver, Q as PlayAuthoringStepResolver, R as PlayToolExecutionRequest, S as PlayAuthoringStepProgramOptions, U as DeeplineError, V as ToolExecutionError, W as ToolExecutionErrorOptions } from './compiler-manifest-
|
|
3
|
-
export { X as CtxFetchHttpError, Y as DEEPLINE_EXTRACTOR_TARGETS, Z as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, _ as DeeplineEmailStatusGetterValue, $ as DeeplineExtractorTarget, a0 as DeeplineGetterValue, a1 as DeeplineGetterValueMap, a2 as JOB_CHANGE_STATUS_VALUES, a3 as JobChangeStatus, a4 as PHONE_STATUS_VALUES, a5 as PhoneStatus, a6 as PlayDataset, a7 as PlayDatasetInput, a8 as PreviousCell, a9 as ProviderTransientError, aa as ProviderTransientErrorCategory, ab as ProviderUnavailableError, ac as ProviderUnavailableReason, ad as ToolExecutionErrorCategory, ae as ToolExecutionErrorOrigin, af as ToolExecutionFailureV1, ag as ToolExecutionNetworkKind, ah as ToolExecutionNetworkScope, ai as ToolExecutionPublicDetails, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-
|
|
2
|
+
import { c as PlayCompilerManifest, T as ToolResultBilling, A as AsyncPlayRunRef$1, i as PlayAuthoringColumnMap, j as PlayAuthoringColumnResolver, k as PlayAuthoringRuntimeContext, l as PlayAuthoringConditionalStepResolver, m as PlayAuthoringCsvInput, n as PlayAuthoringCsvOptions, o as PlayAuthoringDatasetBuilder, p as PlayAuthoringDatasetColumnDefinition, q as PlayAuthoringDatasetColumnRunInput, r as ToolExecuteResult, s as PlayAuthoringReferenceLike, t as PlayReturnObject$1, u as PlayAuthoringDefineConfig, v as PlayAuthoringDefinedPlay, w as PlayAuthoringFetchOptions, x as PlayAuthoringFileInput, y as PlayAuthoringAsyncCallOptions, z as PlayAuthoringBindings, B as PlayAuthoringCallExecution, C as PlayAuthoringCallOptions, D as PlayAuthoringFetchResponse, E as PlayAuthoringInputContract, F as PlayRunId$1, G as PlayAuthoringStepProgramStep, H as PlayAuthoringRuntimeStepOptions, I as PlaySqlListenerDeclaration, J as PlaySqlListenerEvent, K as PlaySqlListenerOperation, L as PlaySqlQuery, M as PlayAuthoringStepOptions, N as PlayAuthoringStepProgram, O as PlayAuthoringStepProgramResolver, Q as PlayAuthoringStepResolver, R as PlayToolExecutionRequest, S as PlayAuthoringStepProgramOptions, U as DeeplineError, V as ToolExecutionError, W as ToolExecutionErrorOptions } from './compiler-manifest-BIqRyj5m.js';
|
|
3
|
+
export { X as CtxFetchHttpError, Y as DEEPLINE_EXTRACTOR_TARGETS, Z as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, _ as DeeplineEmailStatusGetterValue, $ as DeeplineExtractorTarget, a0 as DeeplineGetterValue, a1 as DeeplineGetterValueMap, a2 as JOB_CHANGE_STATUS_VALUES, a3 as JobChangeStatus, a4 as PHONE_STATUS_VALUES, a5 as PhoneStatus, a6 as PlayDataset, a7 as PlayDatasetInput, a8 as PreviousCell, a9 as ProviderTransientError, aa as ProviderTransientErrorCategory, ab as ProviderUnavailableError, ac as ProviderUnavailableReason, ad as ToolExecutionErrorCategory, ae as ToolExecutionErrorOrigin, af as ToolExecutionFailureV1, ag as ToolExecutionNetworkKind, ah as ToolExecutionNetworkScope, ai as ToolExecutionPublicDetails, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-BIqRyj5m.js';
|
|
4
4
|
import { MonitorFleetDefinition } from './monitor-fleet-contract.js';
|
|
5
5
|
export { AdmittedMonitorFleetAuthoringContract, MONITOR_FLEET_AUTHORING_CONTRACT_CHANGELOG, MONITOR_FLEET_AUTHORING_CONTRACT_EDITION, MONITOR_FLEET_DOCUMENTATION, MONITOR_FLEET_FRONTIER_MAX_ROWS, MONITOR_FLEET_MAX_MEMBERS, MonitorFleetAuthoringContractEdition, MonitorFleetAuthoringContractResult, MonitorFleetColumn, MonitorFleetContractIssue, MonitorFleetExpression, MonitorFleetTemplate, admitMonitorFleetAuthoringContract, defineMonitorFleet, fleetColumn, fleetKey, lintMonitorFleetInput, validateMonitorFleetDefinition } from './monitor-fleet-contract.js';
|
|
6
6
|
export { BatchMonitorInput, MonitorInputIssue, MonitorSpec as MonitorInputSpec, lintMonitorBatchInput, lintMonitorSpecTemplate, renderMonitorSpecTemplate } from './monitor-input-contract.js';
|
|
@@ -178,6 +178,8 @@ type PlayRuntimeSelection = {
|
|
|
178
178
|
namespace: string;
|
|
179
179
|
/** Explicit managed-sandbox executor. Omission preserves Daytona compatibility. */
|
|
180
180
|
backend?: Extract<PlayRuntimeBackendId, 'daytona' | 'modal'>;
|
|
181
|
+
/** Durable placement contract for the selected Preview worker lane. */
|
|
182
|
+
sandboxPlacementPolicy?: string;
|
|
181
183
|
};
|
|
182
184
|
|
|
183
185
|
/**
|