deepline 0.3.283 → 0.3.285

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.
Files changed (35) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/play-runtime/activity-observation.ts +26 -2
  3. package/dist/bundling-sources/shared_libs/play-runtime/batch-runtime.ts +7 -0
  4. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +817 -2236
  5. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +19 -6
  6. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +127 -789
  7. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +180 -14
  8. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +1 -0
  9. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +3 -22
  10. package/dist/bundling-sources/shared_libs/play-runtime/runtime-incident-drills.ts +26 -0
  11. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +50 -8
  12. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +122 -18
  13. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +218 -41
  14. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +20 -2
  15. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +13 -2
  16. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +181 -326
  17. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/runtime-step-receipts-adapter.ts +38 -151
  18. package/dist/bundling-sources/shared_libs/play-runtime/worker-api-types.ts +8 -0
  19. package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +89 -1
  20. package/dist/cli/index.js +28 -3
  21. package/dist/cli/index.mjs +28 -3
  22. package/dist/{client-B0AjIkgb.d.mts → client-Cl-zj2oS.d.mts} +4 -0
  23. package/dist/{client-BCXQ_Ftc.d.ts → client-T2jVnZrq.d.ts} +4 -0
  24. package/dist/index.d.mts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +25 -1
  27. package/dist/index.mjs +25 -1
  28. package/dist/install-integrity.json +2 -2
  29. package/dist/plays/run-request.d.mts +1 -1
  30. package/dist/plays/run-request.d.ts +1 -1
  31. package/dist/release.d.mts +1 -1
  32. package/dist/release.d.ts +1 -1
  33. package/dist/release.js +1 -1
  34. package/dist/release.mjs +1 -1
  35. package/package.json +1 -1
@@ -48,7 +48,7 @@ export type RuntimeStepToolResultReceiptsInput = {
48
48
  */
49
49
  executionLock?: {
50
50
  required?: boolean;
51
- /** Provider-operation identity; defaults to the result-cache receipt. */
51
+ /** Invocation/provider-operation identity; never the shared cache key. */
52
52
  key?: string;
53
53
  ttlMs?: number;
54
54
  waitMs?: number;
@@ -101,7 +101,6 @@ type OwnedReceipt = {
101
101
  executionLockOwnerId: string | null;
102
102
  executionLockKey: string | null;
103
103
  lockLost: boolean;
104
- completedByAnotherOwner: ToolExecuteResult | null;
105
104
  heartbeatTimer: ReturnType<typeof setTimeout> | null;
106
105
  heartbeatInFlight: Promise<void> | null;
107
106
  };
@@ -157,14 +156,13 @@ export function createRuntimeStepToolResultReceipts(
157
156
  resultReceiptKey: string,
158
157
  source: ToolCallReceiptRecoverySource | 'owner' = 'cache',
159
158
  ): Promise<ToolExecuteResult | null> => {
160
- const receipt =
161
- initialReceipt?.key === resultReceiptKey
162
- ? (() => {
163
- const value = initialReceipt!.receipt;
164
- initialReceipt = undefined;
165
- return value;
166
- })()
167
- : await hydrate(() => input.store.get(resultReceiptKey));
159
+ let receipt: RuntimeStepReceipt | null;
160
+ if (initialReceipt?.key === resultReceiptKey) {
161
+ receipt = initialReceipt.receipt;
162
+ initialReceipt = undefined;
163
+ } else {
164
+ receipt = await hydrate(() => input.store.get(resultReceiptKey));
165
+ }
168
166
  const result = completedResult(receipt, resultReceiptKey);
169
167
  return result
170
168
  ? (input.recover?.({ result, resultReceiptKey, source }) ?? result)
@@ -184,7 +182,7 @@ export function createRuntimeStepToolResultReceipts(
184
182
 
185
183
  const renewExecutionLock = async (
186
184
  record: OwnedReceipt,
187
- ): Promise<'active' | 'completed' | 'lost'> => {
185
+ ): Promise<'active' | 'lost'> => {
188
186
  if (!record.executionLockOwnerId || !input.store.acquireExecutionLock) {
189
187
  return 'active';
190
188
  }
@@ -196,16 +194,6 @@ export function createRuntimeStepToolResultReceipts(
196
194
  if (renewed?.ownerExecutionId === record.executionLockOwnerId) {
197
195
  return 'active';
198
196
  }
199
- if (!record.force && input.store.enabled) {
200
- const completed = await readCompleted(
201
- record.resultReceiptKey,
202
- 'in_flight',
203
- );
204
- if (completed) {
205
- record.completedByAnotherOwner = completed;
206
- return 'completed';
207
- }
208
- }
209
197
  record.lockLost = true;
210
198
  return 'lost';
211
199
  };
@@ -226,11 +214,7 @@ export function createRuntimeStepToolResultReceipts(
226
214
  .then(() => undefined)
227
215
  .finally(() => {
228
216
  record.heartbeatInFlight = null;
229
- if (
230
- !record.lockLost &&
231
- !record.completedByAnotherOwner &&
232
- record.executionLockOwnerId
233
- ) {
217
+ if (!record.lockLost && record.executionLockOwnerId) {
234
218
  schedule();
235
219
  }
236
220
  });
@@ -249,7 +233,6 @@ export function createRuntimeStepToolResultReceipts(
249
233
 
250
234
  const acquireExecutionLock = async (
251
235
  resultReceiptKey: string,
252
- force: boolean,
253
236
  ): Promise<{ ownerId: string; key: string } | null> => {
254
237
  if (!lock.required || !input.store.enabled) return null;
255
238
  if (
@@ -261,8 +244,9 @@ export function createRuntimeStepToolResultReceipts(
261
244
  );
262
245
  }
263
246
 
264
- const executionLockKey = lock.key || resultReceiptKey;
265
247
  const ownerExecutionId = `tool-result:${crypto.randomUUID()}`;
248
+ const executionLockKey =
249
+ lock.key || `${resultReceiptKey}:invocation:${ownerExecutionId}`;
266
250
  const deadline = Date.now() + lock.waitMs;
267
251
  while (true) {
268
252
  const acquired = await input.store.acquireExecutionLock({
@@ -271,26 +255,9 @@ export function createRuntimeStepToolResultReceipts(
271
255
  ttlMs: lock.ttlMs,
272
256
  });
273
257
  if (acquired?.ownerExecutionId === ownerExecutionId) {
274
- // Recheck after acquiring: a prior holder may have completed between
275
- // our cache read and lock acquisition. A forced call intentionally
276
- // bypasses that immutable completed fact, matching the legacy path.
277
- if (!force) {
278
- const cached = await readCompleted(resultReceiptKey, 'in_flight');
279
- if (cached) {
280
- await input.store.releaseExecutionLock({
281
- receiptKey: executionLockKey,
282
- ownerExecutionId,
283
- });
284
- return null;
285
- }
286
- }
287
258
  return { ownerId: ownerExecutionId, key: executionLockKey };
288
259
  }
289
260
 
290
- if (!force) {
291
- const cached = await readCompleted(resultReceiptKey, 'in_flight');
292
- if (cached) return null;
293
- }
294
261
  if (Date.now() >= deadline) {
295
262
  throw new RuntimeReceiptWaitTimeoutError(resultReceiptKey);
296
263
  }
@@ -312,16 +279,7 @@ export function createRuntimeStepToolResultReceipts(
312
279
  if (cached) return { kind: 'completed', result: cached };
313
280
  }
314
281
 
315
- const executionLock = await acquireExecutionLock(
316
- resultReceiptKey,
317
- candidate.force,
318
- );
319
- if (input.store.enabled && !candidate.force && !executionLock) {
320
- const cached = await readCompleted(resultReceiptKey, 'cache');
321
- if (cached) return { kind: 'completed', result: cached };
322
- // The only non-lock reason to get here is a store without a lock
323
- // requirement. In that case this caller is still the cache publisher.
324
- }
282
+ const executionLock = await acquireExecutionLock(resultReceiptKey);
325
283
 
326
284
  const leaseId =
327
285
  executionLock?.ownerId ?? `tool-result:${crypto.randomUUID()}`;
@@ -332,7 +290,6 @@ export function createRuntimeStepToolResultReceipts(
332
290
  executionLockOwnerId: executionLock?.ownerId ?? null,
333
291
  executionLockKey: executionLock?.key ?? null,
334
292
  lockLost: false,
335
- completedByAnotherOwner: null,
336
293
  heartbeatTimer: null,
337
294
  heartbeatInFlight: null,
338
295
  });
@@ -350,30 +307,9 @@ export function createRuntimeStepToolResultReceipts(
350
307
  if (candidate.ownerRunId !== ownerRunId) {
351
308
  throw new ToolCallReceiptLeaseLostError(resultReceiptKey);
352
309
  }
353
- const maxWaitMs = candidate.source === 'in_flight' ? lock.waitMs : 0;
354
- const deadline = Date.now() + maxWaitMs;
355
- while (true) {
356
- const receipt = await hydrate(() => input.store.get(resultReceiptKey));
357
- const completed = completedResult(receipt, resultReceiptKey);
358
- if (completed) {
359
- return (
360
- input.recover?.({
361
- result: completed,
362
- resultReceiptKey,
363
- source: candidate.source,
364
- }) ?? completed
365
- );
366
- }
367
- if (receipt?.status === 'failed') {
368
- throw new Error(
369
- `Tool Result Receipt ${resultReceiptKey} failed: ${receipt.error ?? 'unknown error'}.`,
370
- );
371
- }
372
- if (Date.now() >= deadline) {
373
- throw new RuntimeReceiptWaitTimeoutError(resultReceiptKey);
374
- }
375
- await sleep(lock.pollMs);
376
- }
310
+ const completed = await readCompleted(resultReceiptKey, candidate.source);
311
+ if (completed) return completed;
312
+ throw new RuntimeReceiptWaitTimeoutError(resultReceiptKey);
377
313
  },
378
314
 
379
315
  async heartbeat(candidate) {
@@ -381,13 +317,6 @@ export function createRuntimeStepToolResultReceipts(
381
317
  resultReceiptKey: candidate.resultReceiptKey,
382
318
  lease: candidate.lease,
383
319
  });
384
- if (!record.force && input.store.enabled) {
385
- const cached = await readCompleted(
386
- record.resultReceiptKey,
387
- 'in_flight',
388
- );
389
- if (cached) return 'completed';
390
- }
391
320
  if (!record.executionLockOwnerId) return 'active';
392
321
  if (record.lockLost) return 'lost';
393
322
  const renewal = await renewExecutionLock(record);
@@ -398,11 +327,6 @@ export function createRuntimeStepToolResultReceipts(
398
327
  startHeartbeat(record);
399
328
  return 'active';
400
329
  }
401
- if (renewal === 'completed') return 'completed';
402
- if (!record.force && input.store.enabled) {
403
- const cached = await readCompleted(record.resultReceiptKey);
404
- if (cached) return 'completed';
405
- }
406
330
  return 'lost';
407
331
  },
408
332
 
@@ -413,9 +337,6 @@ export function createRuntimeStepToolResultReceipts(
413
337
  });
414
338
  try {
415
339
  await stopHeartbeat(record);
416
- if (record.completedByAnotherOwner) {
417
- return { kind: 'existing', result: record.completedByAnotherOwner };
418
- }
419
340
  if (record.lockLost) {
420
341
  throw new ToolCallReceiptLeaseLostError(record.resultReceiptKey);
421
342
  }
@@ -434,53 +355,24 @@ export function createRuntimeStepToolResultReceipts(
434
355
  serializeToolExecuteResult(candidate.result),
435
356
  COMPLETED_RECEIPT_CACHE_INSERT_LEASE_ID,
436
357
  );
437
- // Completion transports may acknowledge only status/ownership. A
438
- // compact acknowledgement that says this insert won is complete
439
- // information: the immutable stored result is the one just written, so
440
- // the caller's own result is it. Nothing is read back and nothing
441
- // hydrates.
442
- if (
443
- (persisted?.status === 'completed' ||
444
- persisted?.status === 'skipped') &&
445
- persisted.output === undefined &&
446
- persisted.completionDisposition === 'persisted'
447
- ) {
448
- return { kind: 'stored', result: candidate.result };
449
- }
450
- // Anything else — a concurrent winner, or a gateway too old to say who
451
- // won — really does need the durable row, so it decodes under the gate
452
- // or is read back below.
453
- const result =
454
- persisted?.output === undefined
455
- ? null
456
- : await hydrate(async () =>
457
- completedResult(persisted, record.resultReceiptKey),
458
- );
459
- if (result) {
460
- await input.onStored?.({
461
- result,
462
- resultReceiptKey: record.resultReceiptKey,
463
- });
464
- return {
465
- // The legacy storage operation returns the converged completed row
466
- // for both an insert and a concurrent winner. The exact distinction
467
- // is intentionally unobservable; the public invariant is the
468
- // converged immutable ToolExecuteResult.
469
- kind: 'stored',
470
- result,
471
- };
472
- }
473
- const converged = await readCompleted(record.resultReceiptKey, 'owner');
474
- if (converged) {
475
- await input.onStored?.({
476
- result: converged,
477
- resultReceiptKey: record.resultReceiptKey,
478
- });
479
- return { kind: 'existing', result: converged };
358
+ // Publication is immutable, but an independent miss keeps the
359
+ // result it actually executed. Another caller winning this cache key
360
+ // only affects a later cache lookup.
361
+ const completed =
362
+ persisted?.status === 'completed' || persisted?.status === 'skipped';
363
+ if (!completed) {
364
+ const stored = await input.store.get(record.resultReceiptKey);
365
+ if (stored?.status !== 'completed' && stored?.status !== 'skipped') {
366
+ throw new Error(
367
+ `Tool Result Receipt ${record.resultReceiptKey} could not publish a completed result.`,
368
+ );
369
+ }
480
370
  }
481
- throw new Error(
482
- `Tool Result Receipt ${record.resultReceiptKey} could not publish a completed result.`,
483
- );
371
+ await input.onStored?.({
372
+ result: candidate.result,
373
+ resultReceiptKey: record.resultReceiptKey,
374
+ });
375
+ return { kind: 'stored', result: candidate.result };
484
376
  } finally {
485
377
  await stopHeartbeat(record);
486
378
  await releaseExecutionLock(record);
@@ -493,16 +385,11 @@ export function createRuntimeStepToolResultReceipts(
493
385
  resultReceiptKey: candidate.resultReceiptKey,
494
386
  lease: candidate.lease,
495
387
  });
496
- try {
497
- // Completed-cache-only mode has no owned in-flight row to mark failed.
498
- // Recording a terminal failure would let an old owner overwrite a
499
- // concurrent successful publisher. Releasing just our lock is safe;
500
- // the original provider error remains the caller-visible fact.
501
- } finally {
502
- await stopHeartbeat(record);
503
- await releaseExecutionLock(record);
504
- owned.delete(candidate.lease.leaseId);
505
- }
388
+ // A failed invocation releases only its own lock. It never publishes a
389
+ // failure over a concurrent successful cache entry.
390
+ await stopHeartbeat(record);
391
+ await releaseExecutionLock(record);
392
+ owned.delete(candidate.lease.leaseId);
506
393
  },
507
394
  };
508
395
  }
@@ -1,4 +1,5 @@
1
1
  import type { PlayDocflowNodeIoState } from './docflow-node-io';
2
+ import type { PlayMapRowActivitySource } from './run-ledger';
2
3
 
3
4
  export type PlayStagedFileRef = {
4
5
  storageKind: 'r2';
@@ -17,6 +18,13 @@ export type PlayVisualNodeProgress = {
17
18
  startedRows?: number;
18
19
  activeRows?: number;
19
20
  waitingRows?: number;
21
+ /** Internal row-sample authority; omitted by legacy progress writers. */
22
+ rowActivitySource?: PlayMapRowActivitySource;
23
+ /** Existing executor identity; stable through source pages and replay. */
24
+ mapInvocationId?: string;
25
+ /** Runner-owned source times, never gateway ingestion times. */
26
+ rowActivityStartedAt?: number;
27
+ rowActivityObservedAt?: number;
20
28
  completedRows?: number;
21
29
  supersededRows?: number;
22
30
  message?: string;
@@ -6,6 +6,7 @@ type SecretRedactionOptions = {
6
6
  keyPolicy?: 'strict' | 'public-result';
7
7
  /** Replace sample cursor values with a non-capability-bearing placeholder. */
8
8
  placeholderContinuationValues?: boolean;
9
+ redactJsonStrings?: boolean;
9
10
  };
10
11
 
11
12
  const SENSITIVE_KEY_PATTERNS = [
@@ -399,12 +400,83 @@ function maybeRedactString(value: string, options: SecretRedactionOptions) {
399
400
  : redacted.replace(HIGH_ENTROPY_VALUE_PATTERN, REDACTED_VALUE);
400
401
  }
401
402
 
403
+ function parseJsonContainerText(value: unknown): unknown {
404
+ if (typeof value !== 'string') return value;
405
+ const trimmed = value.trim();
406
+ if (!trimmed.startsWith('{') && !trimmed.startsWith('[')) return value;
407
+ try {
408
+ return JSON.parse(value);
409
+ } catch {
410
+ return value;
411
+ }
412
+ }
413
+
414
+ function jsonStringContainsSecrets(
415
+ value: string,
416
+ options: SecretRedactionOptions,
417
+ parentKey?: string,
418
+ path: readonly string[] = [],
419
+ ): boolean {
420
+ // Inspect parsed values, but never reserialize SQL text and round its numeric literals.
421
+ const parsed = parseJsonContainerText(value);
422
+ if (!parsed || typeof parsed !== 'object') return false;
423
+ const pending = [
424
+ {
425
+ value: parsed,
426
+ parentKey,
427
+ path: [...path],
428
+ },
429
+ ];
430
+ const textOptions = { ...options, redactJsonStrings: false };
431
+ while (pending.length > 0) {
432
+ const current = pending.pop()!;
433
+ const sourceIsArray = Array.isArray(current.value);
434
+ for (const [key, rawItem] of Object.entries(current.value)) {
435
+ const item = parseJsonContainerText(rawItem);
436
+ const parentKey = sourceIsArray ? current.parentKey : key;
437
+ if (
438
+ !sourceIsArray &&
439
+ options.keyPolicy === 'public-result' &&
440
+ isPublicResultSafeTokenKey(key, current.path, item) &&
441
+ (!item || typeof item !== 'object')
442
+ ) {
443
+ if (
444
+ typeof item === 'string' &&
445
+ maybeRedactString(item, textOptions) !== item
446
+ )
447
+ return true;
448
+ continue;
449
+ }
450
+ if (!sourceIsArray && shouldRedactKey(key)) return true;
451
+ if (item && typeof item === 'object') {
452
+ pending.push({
453
+ value: item,
454
+ parentKey,
455
+ path: sourceIsArray ? current.path : [...current.path, key],
456
+ });
457
+ } else if (
458
+ typeof item === 'string' &&
459
+ redactSecretsInValue(item, parentKey, textOptions) !== item
460
+ ) {
461
+ return true;
462
+ }
463
+ }
464
+ }
465
+ return false;
466
+ }
467
+
402
468
  export function redactSecretsInValue<T>(
403
469
  value: T,
404
470
  parentKey?: string,
405
471
  options: SecretRedactionOptions = {},
406
472
  ): T {
407
473
  if (typeof value === 'string') {
474
+ if (
475
+ options.redactJsonStrings &&
476
+ jsonStringContainsSecrets(value, options, parentKey)
477
+ ) {
478
+ return REDACTED_VALUE as T;
479
+ }
408
480
  if (hasExplicitSecretValue(value, options)) {
409
481
  return REDACTED_VALUE as T;
410
482
  }
@@ -447,8 +519,15 @@ export function redactSecretsInValue<T>(
447
519
  const redactNestedValue = (
448
520
  item: unknown,
449
521
  itemParentKey: string | undefined,
522
+ path: readonly string[],
450
523
  ): unknown => {
451
524
  if (typeof item !== 'string') return item;
525
+ if (
526
+ options.redactJsonStrings &&
527
+ jsonStringContainsSecrets(item, options, itemParentKey, path)
528
+ ) {
529
+ return REDACTED_VALUE;
530
+ }
452
531
  if (hasExplicitSecretValue(item, options)) {
453
532
  return REDACTED_VALUE;
454
533
  }
@@ -473,7 +552,15 @@ export function redactSecretsInValue<T>(
473
552
  (!item || typeof item !== 'object')
474
553
  ) {
475
554
  const redacted =
476
- typeof item === 'string' ? maybeRedactString(item, options) : item;
555
+ typeof item === 'string'
556
+ ? options.redactJsonStrings &&
557
+ jsonStringContainsSecrets(item, options, itemParentKey, [
558
+ ...current.path,
559
+ key,
560
+ ])
561
+ ? REDACTED_VALUE
562
+ : maybeRedactString(item, options)
563
+ : item;
477
564
  (current.target as Record<string, unknown>)[key] =
478
565
  options.placeholderContinuationValues &&
479
566
  isPublicResultCursorKey(key, current.path) &&
@@ -502,6 +589,7 @@ export function redactSecretsInValue<T>(
502
589
  (current.target as Record<string, unknown>)[key] = redactNestedValue(
503
590
  item,
504
591
  itemParentKey,
592
+ sourceIsArray ? current.path : [...current.path, key],
505
593
  );
506
594
  }
507
595
  }
package/dist/cli/index.js CHANGED
@@ -3515,7 +3515,7 @@ var SDK_RELEASE = {
3515
3515
  // getters keep their established compatibility behavior.
3516
3516
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
3517
3517
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
3518
- version: "0.3.283",
3518
+ version: "0.3.285",
3519
3519
  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.",
3520
3520
  packageCapabilities: {
3521
3521
  updatePreferences: 1
@@ -3893,6 +3893,7 @@ var RUNTIME_TEST_FAULT_IDS = [
3893
3893
  "receipt_fail_write_fail",
3894
3894
  "worker_receipt_complete_write_fail",
3895
3895
  "invocation_response_delivery_abort",
3896
+ "execution_upstream_response_loss",
3896
3897
  "receipt_gateway_hold_ms",
3897
3898
  "receipt_claim_query_hold_once_ms",
3898
3899
  "receipt_claim_response_timeout",
@@ -4033,6 +4034,29 @@ var RUNTIME_INCIDENT_DRILL_CATALOG = [
4033
4034
  target: "invocation-delivery-replay-e2e"
4034
4035
  }
4035
4036
  },
4037
+ {
4038
+ id: "execution_upstream_response_loss",
4039
+ description: "Lose the first response of each keyed execution after the upstream app durably stores it.",
4040
+ topologies: ["preview_fly"],
4041
+ control: {
4042
+ kind: "runtime_test_fault",
4043
+ defaultValue: 1,
4044
+ valueMeaning: "occurrence"
4045
+ },
4046
+ expected: {
4047
+ outcome: "The same invocation recovers the stored response without repeating provider work or customer charges, and every row retains its usable result.",
4048
+ safetyFacts: [
4049
+ "same_logical_run",
4050
+ "bounded_provider_execution",
4051
+ "all_rows_settle_once",
4052
+ "no_false_success"
4053
+ ]
4054
+ },
4055
+ verification: {
4056
+ kind: "preview_black_box",
4057
+ target: "101-agent-heavy-gateway-load-e2e"
4058
+ }
4059
+ },
4036
4060
  {
4037
4061
  id: "receipt_gateway_hold_ms",
4038
4062
  description: "Hold one checked-out receipt-gateway scheduler client.",
@@ -31309,8 +31333,9 @@ function formatRunStepProgress(progress, includeRowOutcomes = false) {
31309
31333
  for (const [key, label] of [
31310
31334
  ["reused", "reused"],
31311
31335
  ["skipped", "skipped"],
31312
- ["pending", "pending"],
31313
- ["activeRows", "active"],
31336
+ ["pending", "remaining"],
31337
+ ["activeRows", "rows processing"],
31338
+ ["waitingRows", "not started"],
31314
31339
  ["failed", "failed"]
31315
31340
  ]) {
31316
31341
  if (!includeRowOutcomes && (key === "skipped" || key === "failed"))
@@ -3510,7 +3510,7 @@ var SDK_RELEASE = {
3510
3510
  // getters keep their established compatibility behavior.
3511
3511
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
3512
3512
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
3513
- version: "0.3.283",
3513
+ version: "0.3.285",
3514
3514
  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.",
3515
3515
  packageCapabilities: {
3516
3516
  updatePreferences: 1
@@ -3888,6 +3888,7 @@ var RUNTIME_TEST_FAULT_IDS = [
3888
3888
  "receipt_fail_write_fail",
3889
3889
  "worker_receipt_complete_write_fail",
3890
3890
  "invocation_response_delivery_abort",
3891
+ "execution_upstream_response_loss",
3891
3892
  "receipt_gateway_hold_ms",
3892
3893
  "receipt_claim_query_hold_once_ms",
3893
3894
  "receipt_claim_response_timeout",
@@ -4028,6 +4029,29 @@ var RUNTIME_INCIDENT_DRILL_CATALOG = [
4028
4029
  target: "invocation-delivery-replay-e2e"
4029
4030
  }
4030
4031
  },
4032
+ {
4033
+ id: "execution_upstream_response_loss",
4034
+ description: "Lose the first response of each keyed execution after the upstream app durably stores it.",
4035
+ topologies: ["preview_fly"],
4036
+ control: {
4037
+ kind: "runtime_test_fault",
4038
+ defaultValue: 1,
4039
+ valueMeaning: "occurrence"
4040
+ },
4041
+ expected: {
4042
+ outcome: "The same invocation recovers the stored response without repeating provider work or customer charges, and every row retains its usable result.",
4043
+ safetyFacts: [
4044
+ "same_logical_run",
4045
+ "bounded_provider_execution",
4046
+ "all_rows_settle_once",
4047
+ "no_false_success"
4048
+ ]
4049
+ },
4050
+ verification: {
4051
+ kind: "preview_black_box",
4052
+ target: "101-agent-heavy-gateway-load-e2e"
4053
+ }
4054
+ },
4031
4055
  {
4032
4056
  id: "receipt_gateway_hold_ms",
4033
4057
  description: "Hold one checked-out receipt-gateway scheduler client.",
@@ -31382,8 +31406,9 @@ function formatRunStepProgress(progress, includeRowOutcomes = false) {
31382
31406
  for (const [key, label] of [
31383
31407
  ["reused", "reused"],
31384
31408
  ["skipped", "skipped"],
31385
- ["pending", "pending"],
31386
- ["activeRows", "active"],
31409
+ ["pending", "remaining"],
31410
+ ["activeRows", "rows processing"],
31411
+ ["waitingRows", "not started"],
31387
31412
  ["failed", "failed"]
31388
31413
  ]) {
31389
31414
  if (!includeRowOutcomes && (key === "skipped" || key === "failed"))
@@ -351,6 +351,10 @@ type PlayActivityProgress = {
351
351
  completed?: number;
352
352
  total?: number;
353
353
  failed?: number;
354
+ /** Admitted row resolvers, including those awaiting a tool result. */
355
+ activeRows?: number;
356
+ /** Rows whose resolver has not started yet. */
357
+ waitingRows?: number;
354
358
  message?: string;
355
359
  };
356
360
  type PlayActivityState = {
@@ -351,6 +351,10 @@ type PlayActivityProgress = {
351
351
  completed?: number;
352
352
  total?: number;
353
353
  failed?: number;
354
+ /** Admitted row resolvers, including those awaiting a tool result. */
355
+ activeRows?: number;
356
+ /** Rows whose resolver has not started yet. */
357
+ waitingRows?: number;
354
358
  message?: string;
355
359
  };
356
360
  type PlayActivityState = {
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference path="./text-imports.d.ts" />
2
- import { D as DeeplineClientOptions, B as BillingNamespace, T as ToolDefinition, a as ToolMetadata, E as ExecutionRecovery, b as ExecutionByKeyResult, P as PlayListItem, c as PlayDetail, d as PlayRunListItem, e as PlayRevisionSummary, f as PublishPlayVersionResult, C as ClearPlayHistoryResult, g as PlayStatus, S as StopPlayRunResult, R as ResolvedConfig } from './client-B0AjIkgb.mjs';
3
- export { h as BillingCreditPool, i as BillingInvoiceEntry, j as BillingInvoicesResult, k as BillingPaymentMethodSummary, l as BillingRecentUsageEntry, m as BillingSubscriptionCancelResult, n as BillingSubscriptionStatus, o as BillingTopUpReceipt, p as BillingTopUpResult, q as BillingUsageEvent, r as BillingUsageOptions, s as BillingUsageResult, t as ChildRunSummary, u as ClearPlayHistoryRequest, v as CreateNotificationGroupInput, w as CreateNotificationGroupResult, x as CustomerDbQueryResult, y as DEEPLINE_TOOL_CATEGORIES, z as DbNamespace, A as DeeplineClient, F as DeeplineToolCategory, I as IngestionStorageRepairResult, L as LegacyMonitorStatusFilter, G as LiveEventEnvelope, M as MONITOR_JOB_PHASES, H as MONITOR_JOB_RECONCILIATION_STATES, J as MONITOR_JOB_STATES, K as MonitorBatchNamespace, N as MonitorCheckResult, O as MonitorDefinition, Q as MonitorDeleteResult, U as MonitorDependents, V as MonitorDeployResult, W as MonitorDetail, X as MonitorFleetDeactivateOptions, Y as MonitorFleetGetOptions, Z as MonitorFleetReactivateOptions, _ as MonitorFleetResult, $ as MonitorFleetStatus, a0 as MonitorFleetSyncOptions, a1 as MonitorFleetWaitOptions, a2 as MonitorFleetsNamespace, a3 as MonitorJobDeployOptions, a4 as MonitorJobLogsOptions, a5 as MonitorJobPhase, a6 as MonitorJobReconciliationState, a7 as MonitorJobResult, a8 as MonitorJobState, a9 as MonitorJobWaitOptions, aa as MonitorJobsNamespace, ab as MonitorListEntry, ac as MonitorPayload, ad as MonitorReactivateResult, ae as MonitorSpec, af as MonitorState, ag as MonitorStateFilter, ah as MonitorUpdateChangeSummary, ai as MonitorUpdateResult, aj as MonitorsAccessStatus, ak as MonitorsAvailableOptions, al as MonitorsAvailableResult, am as MonitorsListOptions, an as MonitorsListResult, ao as MonitorsNamespace, ap as PLAY_BOOTSTRAP_COMPANY_FIELDS, aq as PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, ar as PLAY_BOOTSTRAP_CONTACT_FIELDS, as as PLAY_BOOTSTRAP_FINDER_KINDS, at as PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, au as PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, av as PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, aw as PLAY_BOOTSTRAP_SOURCE_KINDS, ax as PLAY_BOOTSTRAP_STAGE_KINDS, ay as PLAY_BOOTSTRAP_TEMPLATES, az as PlayActivityObservation, aA as PlayActivityState, aB as PlayActivityTarget, aC as PlayBootstrapEntityKind, aD as PlayBootstrapFinderKind, aE as PlayCostEstimate, aF as PlayCronTriggerConfig, aG as PlayLiveEvent, aH as PlayPath, aI as PlayRunActionPackage, aJ as PlayRunActivityProjection, aK as PlayRunDatasetActions, aL as PlayRunPackage, aM as PlayRunResult, aN as PlayRunStart, aO as PlaySettings, aP as PlaySettingsPatch, aQ as PlaySettingsPathsPage, aR as PlaySettingsResult, aS as PlaySheetRow, aT as PlaySheetRowsResult, aU as PlayTriggerConfigUpdate, aV as PlayTriggerConfigUpdateResult, aW as PlayTriggerConfigView, aX as PlayWebhookAuthConfig, aY as PlayWebhookTriggerConfig, aZ as PlaysActivityResponse, a_ as PlaysListOptions, a$ as PlaysListPage, b0 as PublishPlayVersionRequest, b1 as RerunOptions, b2 as RerunPlayRunResult, b3 as RunChildrenPage, b4 as RunLifecycleStatus, b5 as RunToolReceiptResult, b6 as RunToolReceiptsResponse, b7 as RunsChildrenOptions, b8 as RunsEventPayload, b9 as RunsEventSearchEntry, ba as RunsEventSearchOptions, bb as RunsEventSearchResult, bc as RunsHistoryItem, bd as RunsHistoryOptions, be as RunsHistoryPage, bf as RunsListOptions, bg as RunsListPage, bh as RunsLogsOptions, bi as RunsLogsResult, bj as RunsNamespace, bk as RunsTailOptions, bl as RunsWatchOptions, bm as StartPlayRunRequest, bn as StopAllCandidate, bo as StopAllPlayRunsDryRunResult, bp as StopAllPlayRunsResult, bq as StopAllPlayRunsStopResult, br as StopAllRunsOptions, bs as ToolExecution, bt as ToolSearchOptions, bu as ToolSearchResult, bv as WorkspaceCreateResult, bw as WorkspacesNamespace, bx as defineMonitor, by as formatPlayBootstrapFinderKinds, bz as formatPlayBootstrapFinderKindsForSentence, bA as formatPlayBootstrapTemplates, bB as isPlayBootstrapFinderKind, bC as isPlayBootstrapTemplate, bD as isStopAllPlayRunsDryRunResult } from './client-B0AjIkgb.mjs';
2
+ import { D as DeeplineClientOptions, B as BillingNamespace, T as ToolDefinition, a as ToolMetadata, E as ExecutionRecovery, b as ExecutionByKeyResult, P as PlayListItem, c as PlayDetail, d as PlayRunListItem, e as PlayRevisionSummary, f as PublishPlayVersionResult, C as ClearPlayHistoryResult, g as PlayStatus, S as StopPlayRunResult, R as ResolvedConfig } from './client-Cl-zj2oS.mjs';
3
+ export { h as BillingCreditPool, i as BillingInvoiceEntry, j as BillingInvoicesResult, k as BillingPaymentMethodSummary, l as BillingRecentUsageEntry, m as BillingSubscriptionCancelResult, n as BillingSubscriptionStatus, o as BillingTopUpReceipt, p as BillingTopUpResult, q as BillingUsageEvent, r as BillingUsageOptions, s as BillingUsageResult, t as ChildRunSummary, u as ClearPlayHistoryRequest, v as CreateNotificationGroupInput, w as CreateNotificationGroupResult, x as CustomerDbQueryResult, y as DEEPLINE_TOOL_CATEGORIES, z as DbNamespace, A as DeeplineClient, F as DeeplineToolCategory, I as IngestionStorageRepairResult, L as LegacyMonitorStatusFilter, G as LiveEventEnvelope, M as MONITOR_JOB_PHASES, H as MONITOR_JOB_RECONCILIATION_STATES, J as MONITOR_JOB_STATES, K as MonitorBatchNamespace, N as MonitorCheckResult, O as MonitorDefinition, Q as MonitorDeleteResult, U as MonitorDependents, V as MonitorDeployResult, W as MonitorDetail, X as MonitorFleetDeactivateOptions, Y as MonitorFleetGetOptions, Z as MonitorFleetReactivateOptions, _ as MonitorFleetResult, $ as MonitorFleetStatus, a0 as MonitorFleetSyncOptions, a1 as MonitorFleetWaitOptions, a2 as MonitorFleetsNamespace, a3 as MonitorJobDeployOptions, a4 as MonitorJobLogsOptions, a5 as MonitorJobPhase, a6 as MonitorJobReconciliationState, a7 as MonitorJobResult, a8 as MonitorJobState, a9 as MonitorJobWaitOptions, aa as MonitorJobsNamespace, ab as MonitorListEntry, ac as MonitorPayload, ad as MonitorReactivateResult, ae as MonitorSpec, af as MonitorState, ag as MonitorStateFilter, ah as MonitorUpdateChangeSummary, ai as MonitorUpdateResult, aj as MonitorsAccessStatus, ak as MonitorsAvailableOptions, al as MonitorsAvailableResult, am as MonitorsListOptions, an as MonitorsListResult, ao as MonitorsNamespace, ap as PLAY_BOOTSTRAP_COMPANY_FIELDS, aq as PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, ar as PLAY_BOOTSTRAP_CONTACT_FIELDS, as as PLAY_BOOTSTRAP_FINDER_KINDS, at as PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, au as PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, av as PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, aw as PLAY_BOOTSTRAP_SOURCE_KINDS, ax as PLAY_BOOTSTRAP_STAGE_KINDS, ay as PLAY_BOOTSTRAP_TEMPLATES, az as PlayActivityObservation, aA as PlayActivityState, aB as PlayActivityTarget, aC as PlayBootstrapEntityKind, aD as PlayBootstrapFinderKind, aE as PlayCostEstimate, aF as PlayCronTriggerConfig, aG as PlayLiveEvent, aH as PlayPath, aI as PlayRunActionPackage, aJ as PlayRunActivityProjection, aK as PlayRunDatasetActions, aL as PlayRunPackage, aM as PlayRunResult, aN as PlayRunStart, aO as PlaySettings, aP as PlaySettingsPatch, aQ as PlaySettingsPathsPage, aR as PlaySettingsResult, aS as PlaySheetRow, aT as PlaySheetRowsResult, aU as PlayTriggerConfigUpdate, aV as PlayTriggerConfigUpdateResult, aW as PlayTriggerConfigView, aX as PlayWebhookAuthConfig, aY as PlayWebhookTriggerConfig, aZ as PlaysActivityResponse, a_ as PlaysListOptions, a$ as PlaysListPage, b0 as PublishPlayVersionRequest, b1 as RerunOptions, b2 as RerunPlayRunResult, b3 as RunChildrenPage, b4 as RunLifecycleStatus, b5 as RunToolReceiptResult, b6 as RunToolReceiptsResponse, b7 as RunsChildrenOptions, b8 as RunsEventPayload, b9 as RunsEventSearchEntry, ba as RunsEventSearchOptions, bb as RunsEventSearchResult, bc as RunsHistoryItem, bd as RunsHistoryOptions, be as RunsHistoryPage, bf as RunsListOptions, bg as RunsListPage, bh as RunsLogsOptions, bi as RunsLogsResult, bj as RunsNamespace, bk as RunsTailOptions, bl as RunsWatchOptions, bm as StartPlayRunRequest, bn as StopAllCandidate, bo as StopAllPlayRunsDryRunResult, bp as StopAllPlayRunsResult, bq as StopAllPlayRunsStopResult, br as StopAllRunsOptions, bs as ToolExecution, bt as ToolSearchOptions, bu as ToolSearchResult, bv as WorkspaceCreateResult, bw as WorkspacesNamespace, bx as defineMonitor, by as formatPlayBootstrapFinderKinds, bz as formatPlayBootstrapFinderKindsForSentence, bA as formatPlayBootstrapTemplates, bB as isPlayBootstrapFinderKind, bC as isPlayBootstrapTemplate, bD as isStopAllPlayRunsDryRunResult } from './client-Cl-zj2oS.mjs';
4
4
  import { 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, T as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringAsyncCallOptions, y as PlayAuthoringBindings, z as PlayAuthoringCallExecution, B as PlayAuthoringCallOptions, C as PlayAuthoringFetchResponse, D as PlayAuthoringInputContract, E as PlayRunId$1, F as PlayAuthoringStepProgramStep, G as PlayAuthoringRuntimeStepOptions, H as PlaySqlListenerDeclaration, I as PlaySqlListenerEvent, J as PlaySqlListenerOperation, K as PlaySqlQuery, L as PlayAuthoringStepOptions, M as PlayAuthoringStepProgram, N as PlayAuthoringStepProgramResolver, O as PlayAuthoringStepResolver, Q as PlayToolExecutionRequest, R as PlayAuthoringStepProgramOptions, S as DeeplineError, U as ToolExecutionError, V as ToolExecutionErrorOptions } from './compiler-manifest-B1zo3igW.mjs';
5
5
  export { W as CtxFetchHttpError, X as DEEPLINE_EXTRACTOR_TARGETS, Y as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, Z as DeeplineEmailStatusGetterValue, _ as DeeplineExtractorTarget, $ as DeeplineGetterValue, a0 as DeeplineGetterValueMap, a1 as JOB_CHANGE_STATUS_VALUES, a2 as JobChangeStatus, a3 as PHONE_STATUS_VALUES, a4 as PhoneStatus, a5 as PlayDataset, a6 as PlayDatasetInput, a7 as PreviousCell, a8 as ProviderTransientError, a9 as ProviderTransientErrorCategory, aa as ProviderUnavailableError, ab as ProviderUnavailableReason, ac as ToolExecutionErrorCategory, ad as ToolExecutionErrorOrigin, ae as ToolExecutionFailureV1, af as ToolExecutionNetworkKind, ag as ToolExecutionNetworkScope, ah as ToolExecutionPublicDetails, ai as ToolResultBilling, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-B1zo3igW.mjs';
6
6
  export { BatchMonitorInput, MonitorInputIssue, MonitorSpec as MonitorInputSpec, lintMonitorBatchInput, lintMonitorSpecTemplate, renderMonitorSpecTemplate } from './monitor-input-contract.mjs';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference path="./text-imports.d.ts" />
2
- import { D as DeeplineClientOptions, B as BillingNamespace, T as ToolDefinition, a as ToolMetadata, E as ExecutionRecovery, b as ExecutionByKeyResult, P as PlayListItem, c as PlayDetail, d as PlayRunListItem, e as PlayRevisionSummary, f as PublishPlayVersionResult, C as ClearPlayHistoryResult, g as PlayStatus, S as StopPlayRunResult, R as ResolvedConfig } from './client-BCXQ_Ftc.js';
3
- export { h as BillingCreditPool, i as BillingInvoiceEntry, j as BillingInvoicesResult, k as BillingPaymentMethodSummary, l as BillingRecentUsageEntry, m as BillingSubscriptionCancelResult, n as BillingSubscriptionStatus, o as BillingTopUpReceipt, p as BillingTopUpResult, q as BillingUsageEvent, r as BillingUsageOptions, s as BillingUsageResult, t as ChildRunSummary, u as ClearPlayHistoryRequest, v as CreateNotificationGroupInput, w as CreateNotificationGroupResult, x as CustomerDbQueryResult, y as DEEPLINE_TOOL_CATEGORIES, z as DbNamespace, A as DeeplineClient, F as DeeplineToolCategory, I as IngestionStorageRepairResult, L as LegacyMonitorStatusFilter, G as LiveEventEnvelope, M as MONITOR_JOB_PHASES, H as MONITOR_JOB_RECONCILIATION_STATES, J as MONITOR_JOB_STATES, K as MonitorBatchNamespace, N as MonitorCheckResult, O as MonitorDefinition, Q as MonitorDeleteResult, U as MonitorDependents, V as MonitorDeployResult, W as MonitorDetail, X as MonitorFleetDeactivateOptions, Y as MonitorFleetGetOptions, Z as MonitorFleetReactivateOptions, _ as MonitorFleetResult, $ as MonitorFleetStatus, a0 as MonitorFleetSyncOptions, a1 as MonitorFleetWaitOptions, a2 as MonitorFleetsNamespace, a3 as MonitorJobDeployOptions, a4 as MonitorJobLogsOptions, a5 as MonitorJobPhase, a6 as MonitorJobReconciliationState, a7 as MonitorJobResult, a8 as MonitorJobState, a9 as MonitorJobWaitOptions, aa as MonitorJobsNamespace, ab as MonitorListEntry, ac as MonitorPayload, ad as MonitorReactivateResult, ae as MonitorSpec, af as MonitorState, ag as MonitorStateFilter, ah as MonitorUpdateChangeSummary, ai as MonitorUpdateResult, aj as MonitorsAccessStatus, ak as MonitorsAvailableOptions, al as MonitorsAvailableResult, am as MonitorsListOptions, an as MonitorsListResult, ao as MonitorsNamespace, ap as PLAY_BOOTSTRAP_COMPANY_FIELDS, aq as PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, ar as PLAY_BOOTSTRAP_CONTACT_FIELDS, as as PLAY_BOOTSTRAP_FINDER_KINDS, at as PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, au as PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, av as PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, aw as PLAY_BOOTSTRAP_SOURCE_KINDS, ax as PLAY_BOOTSTRAP_STAGE_KINDS, ay as PLAY_BOOTSTRAP_TEMPLATES, az as PlayActivityObservation, aA as PlayActivityState, aB as PlayActivityTarget, aC as PlayBootstrapEntityKind, aD as PlayBootstrapFinderKind, aE as PlayCostEstimate, aF as PlayCronTriggerConfig, aG as PlayLiveEvent, aH as PlayPath, aI as PlayRunActionPackage, aJ as PlayRunActivityProjection, aK as PlayRunDatasetActions, aL as PlayRunPackage, aM as PlayRunResult, aN as PlayRunStart, aO as PlaySettings, aP as PlaySettingsPatch, aQ as PlaySettingsPathsPage, aR as PlaySettingsResult, aS as PlaySheetRow, aT as PlaySheetRowsResult, aU as PlayTriggerConfigUpdate, aV as PlayTriggerConfigUpdateResult, aW as PlayTriggerConfigView, aX as PlayWebhookAuthConfig, aY as PlayWebhookTriggerConfig, aZ as PlaysActivityResponse, a_ as PlaysListOptions, a$ as PlaysListPage, b0 as PublishPlayVersionRequest, b1 as RerunOptions, b2 as RerunPlayRunResult, b3 as RunChildrenPage, b4 as RunLifecycleStatus, b5 as RunToolReceiptResult, b6 as RunToolReceiptsResponse, b7 as RunsChildrenOptions, b8 as RunsEventPayload, b9 as RunsEventSearchEntry, ba as RunsEventSearchOptions, bb as RunsEventSearchResult, bc as RunsHistoryItem, bd as RunsHistoryOptions, be as RunsHistoryPage, bf as RunsListOptions, bg as RunsListPage, bh as RunsLogsOptions, bi as RunsLogsResult, bj as RunsNamespace, bk as RunsTailOptions, bl as RunsWatchOptions, bm as StartPlayRunRequest, bn as StopAllCandidate, bo as StopAllPlayRunsDryRunResult, bp as StopAllPlayRunsResult, bq as StopAllPlayRunsStopResult, br as StopAllRunsOptions, bs as ToolExecution, bt as ToolSearchOptions, bu as ToolSearchResult, bv as WorkspaceCreateResult, bw as WorkspacesNamespace, bx as defineMonitor, by as formatPlayBootstrapFinderKinds, bz as formatPlayBootstrapFinderKindsForSentence, bA as formatPlayBootstrapTemplates, bB as isPlayBootstrapFinderKind, bC as isPlayBootstrapTemplate, bD as isStopAllPlayRunsDryRunResult } from './client-BCXQ_Ftc.js';
2
+ import { D as DeeplineClientOptions, B as BillingNamespace, T as ToolDefinition, a as ToolMetadata, E as ExecutionRecovery, b as ExecutionByKeyResult, P as PlayListItem, c as PlayDetail, d as PlayRunListItem, e as PlayRevisionSummary, f as PublishPlayVersionResult, C as ClearPlayHistoryResult, g as PlayStatus, S as StopPlayRunResult, R as ResolvedConfig } from './client-T2jVnZrq.js';
3
+ export { h as BillingCreditPool, i as BillingInvoiceEntry, j as BillingInvoicesResult, k as BillingPaymentMethodSummary, l as BillingRecentUsageEntry, m as BillingSubscriptionCancelResult, n as BillingSubscriptionStatus, o as BillingTopUpReceipt, p as BillingTopUpResult, q as BillingUsageEvent, r as BillingUsageOptions, s as BillingUsageResult, t as ChildRunSummary, u as ClearPlayHistoryRequest, v as CreateNotificationGroupInput, w as CreateNotificationGroupResult, x as CustomerDbQueryResult, y as DEEPLINE_TOOL_CATEGORIES, z as DbNamespace, A as DeeplineClient, F as DeeplineToolCategory, I as IngestionStorageRepairResult, L as LegacyMonitorStatusFilter, G as LiveEventEnvelope, M as MONITOR_JOB_PHASES, H as MONITOR_JOB_RECONCILIATION_STATES, J as MONITOR_JOB_STATES, K as MonitorBatchNamespace, N as MonitorCheckResult, O as MonitorDefinition, Q as MonitorDeleteResult, U as MonitorDependents, V as MonitorDeployResult, W as MonitorDetail, X as MonitorFleetDeactivateOptions, Y as MonitorFleetGetOptions, Z as MonitorFleetReactivateOptions, _ as MonitorFleetResult, $ as MonitorFleetStatus, a0 as MonitorFleetSyncOptions, a1 as MonitorFleetWaitOptions, a2 as MonitorFleetsNamespace, a3 as MonitorJobDeployOptions, a4 as MonitorJobLogsOptions, a5 as MonitorJobPhase, a6 as MonitorJobReconciliationState, a7 as MonitorJobResult, a8 as MonitorJobState, a9 as MonitorJobWaitOptions, aa as MonitorJobsNamespace, ab as MonitorListEntry, ac as MonitorPayload, ad as MonitorReactivateResult, ae as MonitorSpec, af as MonitorState, ag as MonitorStateFilter, ah as MonitorUpdateChangeSummary, ai as MonitorUpdateResult, aj as MonitorsAccessStatus, ak as MonitorsAvailableOptions, al as MonitorsAvailableResult, am as MonitorsListOptions, an as MonitorsListResult, ao as MonitorsNamespace, ap as PLAY_BOOTSTRAP_COMPANY_FIELDS, aq as PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, ar as PLAY_BOOTSTRAP_CONTACT_FIELDS, as as PLAY_BOOTSTRAP_FINDER_KINDS, at as PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, au as PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, av as PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, aw as PLAY_BOOTSTRAP_SOURCE_KINDS, ax as PLAY_BOOTSTRAP_STAGE_KINDS, ay as PLAY_BOOTSTRAP_TEMPLATES, az as PlayActivityObservation, aA as PlayActivityState, aB as PlayActivityTarget, aC as PlayBootstrapEntityKind, aD as PlayBootstrapFinderKind, aE as PlayCostEstimate, aF as PlayCronTriggerConfig, aG as PlayLiveEvent, aH as PlayPath, aI as PlayRunActionPackage, aJ as PlayRunActivityProjection, aK as PlayRunDatasetActions, aL as PlayRunPackage, aM as PlayRunResult, aN as PlayRunStart, aO as PlaySettings, aP as PlaySettingsPatch, aQ as PlaySettingsPathsPage, aR as PlaySettingsResult, aS as PlaySheetRow, aT as PlaySheetRowsResult, aU as PlayTriggerConfigUpdate, aV as PlayTriggerConfigUpdateResult, aW as PlayTriggerConfigView, aX as PlayWebhookAuthConfig, aY as PlayWebhookTriggerConfig, aZ as PlaysActivityResponse, a_ as PlaysListOptions, a$ as PlaysListPage, b0 as PublishPlayVersionRequest, b1 as RerunOptions, b2 as RerunPlayRunResult, b3 as RunChildrenPage, b4 as RunLifecycleStatus, b5 as RunToolReceiptResult, b6 as RunToolReceiptsResponse, b7 as RunsChildrenOptions, b8 as RunsEventPayload, b9 as RunsEventSearchEntry, ba as RunsEventSearchOptions, bb as RunsEventSearchResult, bc as RunsHistoryItem, bd as RunsHistoryOptions, be as RunsHistoryPage, bf as RunsListOptions, bg as RunsListPage, bh as RunsLogsOptions, bi as RunsLogsResult, bj as RunsNamespace, bk as RunsTailOptions, bl as RunsWatchOptions, bm as StartPlayRunRequest, bn as StopAllCandidate, bo as StopAllPlayRunsDryRunResult, bp as StopAllPlayRunsResult, bq as StopAllPlayRunsStopResult, br as StopAllRunsOptions, bs as ToolExecution, bt as ToolSearchOptions, bu as ToolSearchResult, bv as WorkspaceCreateResult, bw as WorkspacesNamespace, bx as defineMonitor, by as formatPlayBootstrapFinderKinds, bz as formatPlayBootstrapFinderKindsForSentence, bA as formatPlayBootstrapTemplates, bB as isPlayBootstrapFinderKind, bC as isPlayBootstrapTemplate, bD as isStopAllPlayRunsDryRunResult } from './client-T2jVnZrq.js';
4
4
  import { 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, T as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringAsyncCallOptions, y as PlayAuthoringBindings, z as PlayAuthoringCallExecution, B as PlayAuthoringCallOptions, C as PlayAuthoringFetchResponse, D as PlayAuthoringInputContract, E as PlayRunId$1, F as PlayAuthoringStepProgramStep, G as PlayAuthoringRuntimeStepOptions, H as PlaySqlListenerDeclaration, I as PlaySqlListenerEvent, J as PlaySqlListenerOperation, K as PlaySqlQuery, L as PlayAuthoringStepOptions, M as PlayAuthoringStepProgram, N as PlayAuthoringStepProgramResolver, O as PlayAuthoringStepResolver, Q as PlayToolExecutionRequest, R as PlayAuthoringStepProgramOptions, S as DeeplineError, U as ToolExecutionError, V as ToolExecutionErrorOptions } from './compiler-manifest-B1zo3igW.js';
5
5
  export { W as CtxFetchHttpError, X as DEEPLINE_EXTRACTOR_TARGETS, Y as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, Z as DeeplineEmailStatusGetterValue, _ as DeeplineExtractorTarget, $ as DeeplineGetterValue, a0 as DeeplineGetterValueMap, a1 as JOB_CHANGE_STATUS_VALUES, a2 as JobChangeStatus, a3 as PHONE_STATUS_VALUES, a4 as PhoneStatus, a5 as PlayDataset, a6 as PlayDatasetInput, a7 as PreviousCell, a8 as ProviderTransientError, a9 as ProviderTransientErrorCategory, aa as ProviderUnavailableError, ab as ProviderUnavailableReason, ac as ToolExecutionErrorCategory, ad as ToolExecutionErrorOrigin, ae as ToolExecutionFailureV1, af as ToolExecutionNetworkKind, ag as ToolExecutionNetworkScope, ah as ToolExecutionPublicDetails, ai as ToolResultBilling, aj as getProviderUnavailableReason, ak as isDeeplineExtractorTarget, al as isProviderUnavailable, am as isProviderWaterfallUnavailableError } from './compiler-manifest-B1zo3igW.js';
6
6
  export { BatchMonitorInput, MonitorInputIssue, MonitorSpec as MonitorInputSpec, lintMonitorBatchInput, lintMonitorSpecTemplate, renderMonitorSpecTemplate } from './monitor-input-contract.js';