deepline 0.3.284 → 0.3.286

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 (46) hide show
  1. package/dist/bundling-sources/sdk/src/client.ts +1 -2
  2. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  3. package/dist/bundling-sources/shared_libs/play-runtime/activity-observation.ts +26 -2
  4. package/dist/bundling-sources/shared_libs/play-runtime/batch-runtime.ts +7 -0
  5. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +836 -2234
  6. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +19 -6
  7. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +127 -789
  8. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +18 -0
  9. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +16 -0
  10. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +180 -14
  11. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +1 -0
  12. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +3 -22
  13. package/dist/bundling-sources/shared_libs/play-runtime/runtime-incident-drills.ts +26 -0
  14. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +59 -8
  15. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +122 -18
  16. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +458 -130
  17. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +60 -9
  18. package/dist/bundling-sources/shared_libs/play-runtime/test-async-batching.ts +4 -1
  19. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +13 -2
  20. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +181 -326
  21. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/runtime-step-receipts-adapter.ts +38 -151
  22. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +68 -0
  23. package/dist/bundling-sources/shared_libs/play-runtime/worker-api-types.ts +8 -0
  24. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +10 -1
  25. package/dist/bundling-sources/shared_libs/plays/enrich-compat-adapter.ts +2 -0
  26. package/dist/cli/index.js +30579 -34364
  27. package/dist/cli/index.mjs +30647 -34443
  28. package/dist/{client-BCXQ_Ftc.d.ts → client-B7ic-kY5.d.ts} +6 -3
  29. package/dist/{client-B0AjIkgb.d.mts → client-Dzf_KovW.d.mts} +6 -3
  30. package/dist/{compiler-manifest-B1zo3igW.d.mts → compiler-manifest-9SQtUuKb.d.mts} +1 -1
  31. package/dist/{compiler-manifest-B1zo3igW.d.ts → compiler-manifest-9SQtUuKb.d.ts} +1 -1
  32. package/dist/index.d.mts +4 -4
  33. package/dist/index.d.ts +4 -4
  34. package/dist/index.js +34 -4
  35. package/dist/index.mjs +34 -4
  36. package/dist/install-integrity.json +4 -4
  37. package/dist/plays/bundle-play-file.d.mts +2 -2
  38. package/dist/plays/bundle-play-file.d.ts +2 -2
  39. package/dist/plays/bundle-play-file.mjs +8 -1
  40. package/dist/plays/run-request.d.mts +2 -2
  41. package/dist/plays/run-request.d.ts +2 -2
  42. package/dist/release.d.mts +1 -1
  43. package/dist/release.d.ts +1 -1
  44. package/dist/release.js +1 -1
  45. package/dist/release.mjs +1 -1
  46. package/package.json +1 -1
@@ -3681,8 +3681,7 @@ export class DeeplineClient {
3681
3681
  /**
3682
3682
  * Compile legacy enrich command arguments into a runtime plan.
3683
3683
  *
3684
- * This is primarily used by CLI compatibility paths that translate older
3685
- * enrichment commands onto the play runtime.
3684
+ * @deprecated Retained for older clients. Use Plays for new enrichment workflows.
3686
3685
  */
3687
3686
  async compileEnrichPlan(input: {
3688
3687
  plan_args?: string[];
@@ -200,7 +200,7 @@ export const SDK_RELEASE = {
200
200
  // getters keep their established compatibility behavior.
201
201
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
202
202
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
203
- version: '0.3.284',
203
+ version: '0.3.286',
204
204
  updateSummary:
205
205
  '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.',
206
206
  packageCapabilities: {
@@ -44,6 +44,10 @@ export type PlayActivityProgress = {
44
44
  completed?: number;
45
45
  total?: number;
46
46
  failed?: number;
47
+ /** Admitted row resolvers, including those awaiting a tool result. */
48
+ activeRows?: number;
49
+ /** Rows whose resolver has not started yet. */
50
+ waitingRows?: number;
47
51
  message?: string;
48
52
  };
49
53
 
@@ -311,7 +315,11 @@ export function summarizePlayActivity(
311
315
  typeof progress.total === 'number'
312
316
  ? ` (${progress.completed}/${progress.total})`
313
317
  : '';
314
- return `Active: ${label}${counts}.`;
318
+ const rows =
319
+ typeof progress?.activeRows === 'number'
320
+ ? ` · ${progress.activeRows.toLocaleString()} rows processing${typeof progress.waitingRows === 'number' ? ` · ${progress.waitingRows.toLocaleString()} not started` : ''}`
321
+ : '';
322
+ return `Active: ${label}${counts}${rows}.`;
315
323
  }
316
324
  case 'queued':
317
325
  return `Queued: waiting for ${label}.`;
@@ -462,6 +470,13 @@ export function projectPlayRunActivity(input: {
462
470
  return projection(publicProviderCapacityObservation(explicit), now);
463
471
 
464
472
  if (input.waitKind === 'detached_runner') {
473
+ const activeStep =
474
+ input.nodeStates?.find(
475
+ (candidate) =>
476
+ candidate.nodeId === input.activeNodeId &&
477
+ candidate.status === 'running',
478
+ ) ??
479
+ input.nodeStates?.find((candidate) => candidate.status === 'running');
465
480
  return projection(
466
481
  {
467
482
  activityId: 'runner:managed',
@@ -470,7 +485,10 @@ export function projectPlayRunActivity(input: {
470
485
  backend: input.runtimeBackend ?? 'managed',
471
486
  label: 'managed play runner',
472
487
  },
473
- state: { kind: 'active' },
488
+ state: {
489
+ kind: 'active',
490
+ ...(activeStep?.progress ? { progress: activeStep.progress } : {}),
491
+ },
474
492
  observedAt,
475
493
  },
476
494
  now,
@@ -583,6 +601,12 @@ export function projectPlayRunActivity(input: {
583
601
  (pendingDataset.failedRows ?? 0)
584
602
  : undefined),
585
603
  failed: datasetProgress?.failed ?? pendingDataset.failedRows,
604
+ ...(datasetProgress?.activeRows !== undefined
605
+ ? { activeRows: datasetProgress.activeRows }
606
+ : {}),
607
+ ...(datasetProgress?.waitingRows !== undefined
608
+ ? { waitingRows: datasetProgress.waitingRows }
609
+ : {}),
586
610
  },
587
611
  },
588
612
  observedAt:
@@ -175,6 +175,7 @@ export function compileRequestsWithStrategy<TRequest>(input: {
175
175
 
176
176
  for (const bucketRequests of bucketedRequests.values()) {
177
177
  let currentBatch: TRequest[] = [];
178
+ const currentItemKeys = new Set<string>();
178
179
 
179
180
  const flushBatch = () => {
180
181
  if (currentBatch.length === 0) {
@@ -200,13 +201,18 @@ export function compileRequestsWithStrategy<TRequest>(input: {
200
201
  },
201
202
  });
202
203
  currentBatch = [];
204
+ currentItemKeys.clear();
203
205
  };
204
206
 
205
207
  for (const request of bucketRequests) {
206
208
  const payload = input.getPayload(request);
209
+ const itemKey = input.strategy.toItemKey(payload);
207
210
  const canAppend =
208
211
  currentBatch.length > 0 &&
209
212
  currentBatch.length < input.strategy.maxBatchSize &&
213
+ // Providers may deduplicate identifiers or correlate by this key.
214
+ // Independent misses must each retain their own provider item/result.
215
+ !currentItemKeys.has(itemKey) &&
210
216
  currentBatch.every((existing) =>
211
217
  input.strategy.canBatchWith(input.getPayload(existing), payload),
212
218
  );
@@ -216,6 +222,7 @@ export function compileRequestsWithStrategy<TRequest>(input: {
216
222
  }
217
223
 
218
224
  currentBatch.push(request);
225
+ currentItemKeys.add(itemKey);
219
226
  }
220
227
 
221
228
  flushBatch();