deepline 0.3.285 → 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 (33) 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/context.ts +21 -0
  4. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +18 -0
  5. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +16 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +9 -0
  7. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +240 -89
  8. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +40 -7
  9. package/dist/bundling-sources/shared_libs/play-runtime/test-async-batching.ts +4 -1
  10. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +68 -0
  11. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +10 -1
  12. package/dist/bundling-sources/shared_libs/plays/enrich-compat-adapter.ts +2 -0
  13. package/dist/cli/index.js +30130 -33940
  14. package/dist/cli/index.mjs +30166 -33987
  15. package/dist/{client-T2jVnZrq.d.ts → client-B7ic-kY5.d.ts} +2 -3
  16. package/dist/{client-Cl-zj2oS.d.mts → client-Dzf_KovW.d.mts} +2 -3
  17. package/dist/{compiler-manifest-B1zo3igW.d.mts → compiler-manifest-9SQtUuKb.d.mts} +1 -1
  18. package/dist/{compiler-manifest-B1zo3igW.d.ts → compiler-manifest-9SQtUuKb.d.ts} +1 -1
  19. package/dist/index.d.mts +4 -4
  20. package/dist/index.d.ts +4 -4
  21. package/dist/index.js +10 -4
  22. package/dist/index.mjs +10 -4
  23. package/dist/install-integrity.json +4 -4
  24. package/dist/plays/bundle-play-file.d.mts +2 -2
  25. package/dist/plays/bundle-play-file.d.ts +2 -2
  26. package/dist/plays/bundle-play-file.mjs +8 -1
  27. package/dist/plays/run-request.d.mts +2 -2
  28. package/dist/plays/run-request.d.ts +2 -2
  29. package/dist/release.d.mts +1 -1
  30. package/dist/release.d.ts +1 -1
  31. package/dist/release.js +1 -1
  32. package/dist/release.mjs +1 -1
  33. 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.285',
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: {
@@ -160,6 +160,7 @@ import {
160
160
  attachRelayPublishedToolResultReference,
161
161
  attachToolResultListDataset,
162
162
  createToolExecuteResult,
163
+ projectNativeBatchToolResponse,
163
164
  parseToolExecuteResponse,
164
165
  isToolExecuteResult,
165
166
  isSerializedToolExecuteResult,
@@ -1449,6 +1450,18 @@ function publicToolResponseEnvelope(value: unknown): {
1449
1450
  };
1450
1451
  }
1451
1452
 
1453
+ function nativeBatchResponseMeta(result: unknown): Record<string, unknown> {
1454
+ return {
1455
+ nativeBatchResponseView:
1456
+ result &&
1457
+ typeof result === 'object' &&
1458
+ !Array.isArray(result) &&
1459
+ Object.prototype.hasOwnProperty.call(result, 'data')
1460
+ ? 'data'
1461
+ : 'rawV2',
1462
+ };
1463
+ }
1464
+
1452
1465
  /**
1453
1466
  * A batched provider request returns one envelope for several logical source
1454
1467
  * tool calls. Each source call persists only its own item-shaped canonical
@@ -7362,6 +7375,10 @@ export class PlayContextImpl implements ScalarPlayAuthoringRuntimeContext {
7362
7375
  private materializeToolExecutionResult(
7363
7376
  result: ToolExecuteResult,
7364
7377
  ): ToolExecuteResult {
7378
+ result = projectNativeBatchToolResponse(
7379
+ result,
7380
+ this.currentRuntimeContract.semantics.tools.nativeBatchResponse,
7381
+ );
7365
7382
  if (
7366
7383
  this.currentToolResponseContract === RAW_V2_TOOL_RESPONSE_CONTRACT ||
7367
7384
  !this.hasPinnedToolResponseContract ||
@@ -16157,6 +16174,7 @@ export class PlayContextImpl implements ScalarPlayAuthoringRuntimeContext {
16157
16174
  toolId,
16158
16175
  status: aggregate.status,
16159
16176
  result: item,
16177
+ meta: nativeBatchResponseMeta(item),
16160
16178
  toolResponse: publicToolResponseForBatchedItem(
16161
16179
  aggregate,
16162
16180
  item,
@@ -16601,6 +16619,9 @@ export class PlayContextImpl implements ScalarPlayAuthoringRuntimeContext {
16601
16619
  request,
16602
16620
  result: splitResults[index] ?? null,
16603
16621
  status: batchExecution?.execution.status,
16622
+ meta: nativeBatchResponseMeta(
16623
+ splitResults[index] ?? null,
16624
+ ),
16604
16625
  toolResponse:
16605
16626
  batchExecution == null
16606
16627
  ? undefined
@@ -57,6 +57,24 @@ export function createSandboxCleanupJob(
57
57
  return await scheduleRetry(ports, input, deletion.detail);
58
58
  }
59
59
 
60
+ const expectedRoutingDomain =
61
+ input.resource.routingDomain?.trim() || null;
62
+ const observedRoutingDomain = deletion.routingDomain?.trim() || null;
63
+ // Confirmed deletion can establish a missing legacy domain; absence cannot.
64
+ const confirmedRoutingDomain =
65
+ deletion.kind === 'deleted'
66
+ ? expectedRoutingDomain === null ||
67
+ expectedRoutingDomain === observedRoutingDomain
68
+ : expectedRoutingDomain !== null &&
69
+ expectedRoutingDomain === observedRoutingDomain;
70
+ if (!confirmedRoutingDomain) {
71
+ return await scheduleRetry(
72
+ ports,
73
+ input,
74
+ `${input.resource.provider} sandbox ${input.resource.sandboxId} cleanup confirmation used the wrong routing domain.`,
75
+ );
76
+ }
77
+
60
78
  // A control-plane retry must never keep a provider-confirmed-deleted
61
79
  // resource consuming capacity. This precedes cleanup row completion.
62
80
  await ports.store.releaseCapacity({ resource: input.resource });
@@ -42,6 +42,9 @@ export type PlayRuntimeSemantics = Readonly<{
42
42
  */
43
43
  runtimeOnly: boolean;
44
44
  }>;
45
+ tools: Readonly<{
46
+ nativeBatchResponse: 'legacy_envelope' | 'logical_response';
47
+ }>;
45
48
  slackHitl: Readonly<{
46
49
  defaultTimeoutMs: number;
47
50
  }>;
@@ -60,6 +63,7 @@ function definePlayRuntimeSemantics(
60
63
  secrets: Object.freeze({ ...semantics.secrets }),
61
64
  fetch: Object.freeze({ ...semantics.fetch }),
62
65
  inlineChild: Object.freeze({ ...semantics.inlineChild }),
66
+ tools: Object.freeze({ ...semantics.tools }),
63
67
  slackHitl: Object.freeze({ ...semantics.slackHitl }),
64
68
  });
65
69
  }
@@ -73,6 +77,7 @@ const LEGACY_SEMANTICS = {
73
77
  receiptIdentityEdition: null,
74
78
  },
75
79
  inlineChild: { runtimeOnly: false },
80
+ tools: { nativeBatchResponse: 'legacy_envelope' },
76
81
  } as const;
77
82
 
78
83
  const STRICT_SEMANTICS = {
@@ -164,6 +169,17 @@ const PLAY_RUNTIME_SEMANTICS_BY_AUTHORING = {
164
169
  inlineChild: { runtimeOnly: true },
165
170
  slackHitl: WEEK_LONG_SLACK_HITL_SEMANTICS,
166
171
  },
172
+ 9: {
173
+ ...PLAINTEXT_SECRET_SEMANTICS,
174
+ fetch: {
175
+ httpFailure: 'throw_typed_error',
176
+ persistHttpFailure: false,
177
+ receiptIdentityEdition: FETCH_RECEIPT_IDENTITIES.typedHttpFailure,
178
+ },
179
+ inlineChild: { runtimeOnly: true },
180
+ tools: { nativeBatchResponse: 'logical_response' },
181
+ slackHitl: WEEK_LONG_SLACK_HITL_SEMANTICS,
182
+ },
167
183
  } satisfies Record<PlayAuthoringContractEdition, PlayRuntimeSemanticsTemplate>;
168
184
 
169
185
  const PLAY_RUNTIME_SEMANTICS = Object.fromEntries(
@@ -4102,6 +4102,15 @@ async function executeAssignedAbsurdAttempt(input: {
4102
4102
  runnerResource.kind,
4103
4103
  ),
4104
4104
  sandboxId: runnerResource.sandboxId,
4105
+ environment:
4106
+ runnerResource.runtimeEnvironment ??
4107
+ runnerResource.daytonaEnvironment ??
4108
+ 'production',
4109
+ routingDomain:
4110
+ runnerResource.kind === 'daytona_sandbox'
4111
+ ? runnerResource.daytonaOrganizationId?.trim() ||
4112
+ null
4113
+ : runnerResource.modalAppId?.trim() || null,
4105
4114
  },
4106
4115
  options,
4107
4116
  );