deepline 0.1.212 → 0.1.213

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 (36) hide show
  1. package/dist/bundling-sources/apps/play-runner-workers/src/entry.ts +167 -329
  2. package/dist/bundling-sources/sdk/src/index.ts +2 -0
  3. package/dist/bundling-sources/sdk/src/play.ts +8 -1
  4. package/dist/bundling-sources/sdk/src/plays/harness-stub.ts +11 -1
  5. package/dist/bundling-sources/sdk/src/release.ts +2 -2
  6. package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +49 -0
  7. package/dist/bundling-sources/shared_libs/play-runtime/child-execution-placement.ts +14 -0
  8. package/dist/bundling-sources/shared_libs/play-runtime/child-execution-strategy.ts +57 -23
  9. package/dist/bundling-sources/shared_libs/play-runtime/completed-receipt-cache.ts +166 -0
  10. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +142 -101
  11. package/dist/bundling-sources/shared_libs/play-runtime/ctx-contract.ts +2 -0
  12. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +30 -1
  13. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +160 -2
  14. package/dist/bundling-sources/shared_libs/play-runtime/gateway-auth-session.ts +93 -0
  15. package/dist/bundling-sources/shared_libs/play-runtime/play-call-execution.ts +1 -0
  16. package/dist/bundling-sources/shared_libs/play-runtime/receipt-completion-sink.ts +16 -1
  17. package/dist/bundling-sources/shared_libs/play-runtime/receipt-state-sink.ts +10 -0
  18. package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +80 -3
  19. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +94 -0
  20. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +54 -1
  21. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +477 -85
  22. package/dist/bundling-sources/shared_libs/play-runtime/runtime-postgres-admission.ts +162 -0
  23. package/dist/bundling-sources/shared_libs/play-runtime/sheet-attempt-sql.ts +16 -17
  24. package/dist/bundling-sources/shared_libs/play-runtime/work-receipts.ts +1 -0
  25. package/dist/bundling-sources/shared_libs/plays/static-pipeline.ts +2 -4
  26. package/dist/cli/index.js +2 -2
  27. package/dist/cli/index.mjs +2 -2
  28. package/dist/{compiler-manifest-j6z8qzpd.d.mts → compiler-manifest-BhgZ23A4.d.mts} +1 -0
  29. package/dist/{compiler-manifest-j6z8qzpd.d.ts → compiler-manifest-BhgZ23A4.d.ts} +1 -0
  30. package/dist/index.d.mts +8 -5
  31. package/dist/index.d.ts +8 -5
  32. package/dist/index.js +2 -2
  33. package/dist/index.mjs +2 -2
  34. package/dist/plays/bundle-play-file.d.mts +2 -2
  35. package/dist/plays/bundle-play-file.d.ts +2 -2
  36. package/package.json +1 -1
@@ -0,0 +1,162 @@
1
+ export type RuntimePostgresLane = 'receipts' | 'sheets';
2
+
3
+ export type RuntimePostgresLaneTelemetry = {
4
+ active: number;
5
+ queued: number;
6
+ acquired: number;
7
+ waited: number;
8
+ timedOut: number;
9
+ rejected: number;
10
+ totalWaitMs: number;
11
+ maxWaitMs: number;
12
+ };
13
+
14
+ export type RuntimePostgresAdmissionSnapshot = Record<
15
+ RuntimePostgresLane,
16
+ RuntimePostgresLaneTelemetry
17
+ >;
18
+
19
+ export class RuntimePostgresAdmissionTimeoutError extends Error {
20
+ constructor(
21
+ readonly lane: RuntimePostgresLane,
22
+ readonly queueDepth: number,
23
+ readonly timeoutMs: number,
24
+ ) {
25
+ super(
26
+ `Runtime Postgres ${lane} admission timed out after ${timeoutMs}ms (${queueDepth} queued).`,
27
+ );
28
+ this.name = 'RuntimePostgresAdmissionTimeoutError';
29
+ }
30
+ }
31
+
32
+ export class RuntimePostgresAdmissionQueueFullError extends Error {
33
+ constructor(
34
+ readonly lane: RuntimePostgresLane,
35
+ readonly queueDepth: number,
36
+ ) {
37
+ super(
38
+ `Runtime Postgres ${lane} admission queue is full (${queueDepth} queued).`,
39
+ );
40
+ this.name = 'RuntimePostgresAdmissionQueueFullError';
41
+ }
42
+ }
43
+
44
+ type Waiter = {
45
+ enqueuedAt: number;
46
+ timeout: ReturnType<typeof setTimeout>;
47
+ resolve: (release: () => void) => void;
48
+ reject: (error: Error) => void;
49
+ };
50
+
51
+ type LaneState = RuntimePostgresLaneTelemetry & { waiters: Waiter[] };
52
+
53
+ function createLaneState(): LaneState {
54
+ return {
55
+ active: 0,
56
+ queued: 0,
57
+ acquired: 0,
58
+ waited: 0,
59
+ timedOut: 0,
60
+ rejected: 0,
61
+ totalWaitMs: 0,
62
+ maxWaitMs: 0,
63
+ waiters: [],
64
+ };
65
+ }
66
+
67
+ export class RuntimePostgresAdmission {
68
+ readonly #maxActivePerLane: number;
69
+ readonly #maxQueuedPerLane: number;
70
+ readonly #acquireTimeoutMs: number;
71
+ readonly #lanes: Record<RuntimePostgresLane, LaneState> = {
72
+ receipts: createLaneState(),
73
+ sheets: createLaneState(),
74
+ };
75
+
76
+ constructor(input: {
77
+ maxActivePerLane: number;
78
+ maxQueuedPerLane: number;
79
+ acquireTimeoutMs: number;
80
+ }) {
81
+ this.#maxActivePerLane = Math.max(1, Math.floor(input.maxActivePerLane));
82
+ this.#maxQueuedPerLane = Math.max(0, Math.floor(input.maxQueuedPerLane));
83
+ this.#acquireTimeoutMs = Math.max(1, Math.floor(input.acquireTimeoutMs));
84
+ }
85
+
86
+ async acquire(lane: RuntimePostgresLane): Promise<() => void> {
87
+ const state = this.#lanes[lane];
88
+ if (state.active < this.#maxActivePerLane && state.waiters.length === 0) {
89
+ state.active += 1;
90
+ state.acquired += 1;
91
+ return this.#releaseFor(lane);
92
+ }
93
+ if (state.waiters.length >= this.#maxQueuedPerLane) {
94
+ state.rejected += 1;
95
+ throw new RuntimePostgresAdmissionQueueFullError(
96
+ lane,
97
+ state.waiters.length,
98
+ );
99
+ }
100
+ state.waited += 1;
101
+ return await new Promise<() => void>((resolve, reject) => {
102
+ const waiter: Waiter = {
103
+ enqueuedAt: Date.now(),
104
+ timeout: setTimeout(() => {
105
+ const index = state.waiters.indexOf(waiter);
106
+ if (index < 0) return;
107
+ state.waiters.splice(index, 1);
108
+ state.queued = state.waiters.length;
109
+ state.timedOut += 1;
110
+ reject(
111
+ new RuntimePostgresAdmissionTimeoutError(
112
+ lane,
113
+ state.waiters.length,
114
+ this.#acquireTimeoutMs,
115
+ ),
116
+ );
117
+ }, this.#acquireTimeoutMs),
118
+ resolve,
119
+ reject,
120
+ };
121
+ state.waiters.push(waiter);
122
+ state.queued = state.waiters.length;
123
+ });
124
+ }
125
+
126
+ snapshot(): RuntimePostgresAdmissionSnapshot {
127
+ const snapshotLane = (state: LaneState): RuntimePostgresLaneTelemetry => ({
128
+ active: state.active,
129
+ queued: state.waiters.length,
130
+ acquired: state.acquired,
131
+ waited: state.waited,
132
+ timedOut: state.timedOut,
133
+ rejected: state.rejected,
134
+ totalWaitMs: state.totalWaitMs,
135
+ maxWaitMs: state.maxWaitMs,
136
+ });
137
+ return {
138
+ receipts: snapshotLane(this.#lanes.receipts),
139
+ sheets: snapshotLane(this.#lanes.sheets),
140
+ };
141
+ }
142
+
143
+ #releaseFor(lane: RuntimePostgresLane): () => void {
144
+ let released = false;
145
+ return () => {
146
+ if (released) return;
147
+ released = true;
148
+ const state = this.#lanes[lane];
149
+ state.active -= 1;
150
+ const waiter = state.waiters.shift();
151
+ state.queued = state.waiters.length;
152
+ if (!waiter) return;
153
+ clearTimeout(waiter.timeout);
154
+ const waitMs = Math.max(0, Date.now() - waiter.enqueuedAt);
155
+ state.totalWaitMs += waitMs;
156
+ state.maxWaitMs = Math.max(state.maxWaitMs, waitMs);
157
+ state.active += 1;
158
+ state.acquired += 1;
159
+ waiter.resolve(this.#releaseFor(lane));
160
+ };
161
+ }
162
+ }
@@ -5,23 +5,14 @@ export function activeRuntimeSheetAttemptFenceSql(
5
5
  attemptExpiresAtExpression: string,
6
6
  attemptSeqExpression?: string,
7
7
  ): string {
8
- const activeSameOwnerNewerAttempt =
9
- attemptSeqExpression === undefined
10
- ? `${tableAlias}._attempt_expires_at < ${attemptExpiresAtExpression}`
11
- // Same owner + same sequence is a retry of the same logical run attempt.
12
- // It may reclaim non-terminal rows; terminal rows are still guarded by
13
- // newerTerminalRuntimeSheetRowSql before this predicate is considered.
14
- : `COALESCE(${tableAlias}._attempt_seq, 0) <= ${attemptSeqExpression}::integer`;
15
- return `(
16
- /* owner: runtime; remove null-attempt compat after ledger cutover M1 */
17
- ${tableAlias}._attempt_id IS NULL
18
- OR ${tableAlias}._attempt_id = ${attemptIdExpression}
19
- OR ${tableAlias}._attempt_expires_at <= now()
20
- OR (
21
- coalesce(${tableAlias}._attempt_owner_run_id, ${tableAlias}._run_id) = ${attemptOwnerRunIdExpression}
22
- AND ${activeSameOwnerNewerAttempt}
23
- )
24
- )`;
8
+ void tableAlias;
9
+ void attemptIdExpression;
10
+ void attemptOwnerRunIdExpression;
11
+ void attemptExpiresAtExpression;
12
+ void attemptSeqExpression;
13
+ // Legacy attempt columns remain during the rolling migration only. They are
14
+ // not row admission or correctness state; schedule-time write versions are.
15
+ return 'TRUE';
25
16
  }
26
17
 
27
18
  /**
@@ -68,6 +59,13 @@ export function newerTerminalRuntimeSheetRowSql(
68
59
  attemptIdExpression?: string,
69
60
  attemptOwnerRunIdExpression?: string,
70
61
  ): string {
62
+ void tableAlias;
63
+ void attemptExpiresAtExpression;
64
+ void attemptSeqExpression;
65
+ void attemptIdExpression;
66
+ void attemptOwnerRunIdExpression;
67
+ return 'FALSE';
68
+ /* legacy implementation intentionally unreachable during rolling cleanup
71
69
  if (attemptSeqExpression !== undefined) {
72
70
  const sameSeqDifferentAttemptSql = attemptOwnerRunIdExpression
73
71
  ? `OR (
@@ -100,4 +98,5 @@ export function newerTerminalRuntimeSheetRowSql(
100
98
  AND ${attemptExpiresAtExpression} IS NOT NULL
101
99
  AND ${tableAlias}._attempt_expires_at > ${attemptExpiresAtExpression}
102
100
  )`;
101
+ */
103
102
  }
@@ -63,6 +63,7 @@ export type WorkReceiptBatchClaimCommand = {
63
63
  playName: string;
64
64
  runId: string;
65
65
  keys: string[];
66
+ leaseIds?: string[];
66
67
  leaseAware?: boolean;
67
68
  reclaimRunning?: boolean;
68
69
  forceRefresh?: boolean;
@@ -308,10 +308,7 @@ function truncateStaticSubstepsForStorage(
308
308
  return truncateStaticSubstepShallowForStorage(base);
309
309
  }
310
310
 
311
- if (
312
- base.type !== 'play_call' &&
313
- 'pipeline' in substepWithoutSourceText
314
- ) {
311
+ if (base.type !== 'play_call' && 'pipeline' in substepWithoutSourceText) {
315
312
  const nestedPipeline = substepWithoutSourceText.pipeline;
316
313
  (base as { pipeline?: PlayStaticPipeline | null }).pipeline =
317
314
  nestedPipeline
@@ -588,6 +585,7 @@ export type PlayStaticSubstep = PlayStaticSubstepMetadata &
588
585
  | {
589
586
  type: 'play_call';
590
587
  playId: string;
588
+ execution?: 'inline' | 'child-workflow';
591
589
  field: string;
592
590
  inLoop?: boolean;
593
591
  pipeline?: PlayStaticPipeline | null;
package/dist/cli/index.js CHANGED
@@ -623,10 +623,10 @@ var SDK_RELEASE = {
623
623
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
624
624
  // fields shipped in 0.1.153.
625
625
  // 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
626
- version: "0.1.212",
626
+ version: "0.1.213",
627
627
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
628
628
  supportPolicy: {
629
- latest: "0.1.212",
629
+ latest: "0.1.213",
630
630
  minimumSupported: "0.1.53",
631
631
  deprecatedBelow: "0.1.53",
632
632
  commandMinimumSupported: [
@@ -608,10 +608,10 @@ var SDK_RELEASE = {
608
608
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
609
609
  // fields shipped in 0.1.153.
610
610
  // 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
611
- version: "0.1.212",
611
+ version: "0.1.213",
612
612
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
613
613
  supportPolicy: {
614
- latest: "0.1.212",
614
+ latest: "0.1.213",
615
615
  minimumSupported: "0.1.53",
616
616
  deprecatedBelow: "0.1.53",
617
617
  commandMinimumSupported: [
@@ -181,6 +181,7 @@ type PlayStaticSubstep = PlayStaticSubstepMetadata & ({
181
181
  } | {
182
182
  type: 'play_call';
183
183
  playId: string;
184
+ execution?: 'inline' | 'child-workflow';
184
185
  field: string;
185
186
  inLoop?: boolean;
186
187
  pipeline?: PlayStaticPipeline | null;
@@ -181,6 +181,7 @@ type PlayStaticSubstep = PlayStaticSubstepMetadata & ({
181
181
  } | {
182
182
  type: 'play_call';
183
183
  playId: string;
184
+ execution?: 'inline' | 'child-workflow';
184
185
  field: string;
185
186
  inLoop?: boolean;
186
187
  pipeline?: PlayStaticPipeline | null;
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as PlayCompilerManifest } from './compiler-manifest-j6z8qzpd.mjs';
1
+ import { a as PlayCompilerManifest } from './compiler-manifest-BhgZ23A4.mjs';
2
2
 
3
3
  declare const DEEPLINE_TOOL_CATEGORIES: readonly ["company_search", "people_search", "people_enrich", "email_finder", "email_verify", "phone_finder", "phone_verify", "identity_resolution", "reverse_lookup", "enrichment", "batch", "premium", "free"];
4
4
  type DeeplineToolCategory = (typeof DEEPLINE_TOOL_CATEGORIES)[number] | (string & {});
@@ -3063,6 +3063,11 @@ type PreviousCell<Value = unknown> = {
3063
3063
  staleAfterSeconds?: number;
3064
3064
  };
3065
3065
 
3066
+ type PlayCallExecution = 'inline' | 'child-workflow';
3067
+ interface PlayCallOptions {
3068
+ description?: string;
3069
+ execution?: PlayCallExecution;
3070
+ }
3066
3071
  /**
3067
3072
  * Optional trigger bindings for a play.
3068
3073
  *
@@ -3691,9 +3696,7 @@ interface DeeplinePlayRuntimeContext {
3691
3696
  *
3692
3697
  * @sdkReference runtime 140 ctx.runPlay(key, playRef, input, options)
3693
3698
  */
3694
- runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options: {
3695
- description: string;
3696
- }): Promise<TOutput>;
3699
+ runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options?: PlayCallOptions): Promise<TOutput>;
3697
3700
  /**
3698
3701
  * Emit a log line visible in `play tail` and the play's progress logs.
3699
3702
  *
@@ -4384,4 +4387,4 @@ declare function writeCsvOutputFile(rows: Array<Record<string, unknown>>, stem:
4384
4387
  */
4385
4388
  declare function extractSummaryFields(payload: unknown): Record<string, Scalar>;
4386
4389
 
4387
- export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, PLAY_BOOTSTRAP_COMPANY_FIELDS, PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_CONTACT_FIELDS, PLAY_BOOTSTRAP_FINDER_KINDS, PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, PLAY_BOOTSTRAP_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
4390
+ export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, PLAY_BOOTSTRAP_COMPANY_FIELDS, PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_CONTACT_FIELDS, PLAY_BOOTSTRAP_FINDER_KINDS, PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, PLAY_BOOTSTRAP_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as PlayCompilerManifest } from './compiler-manifest-j6z8qzpd.js';
1
+ import { a as PlayCompilerManifest } from './compiler-manifest-BhgZ23A4.js';
2
2
 
3
3
  declare const DEEPLINE_TOOL_CATEGORIES: readonly ["company_search", "people_search", "people_enrich", "email_finder", "email_verify", "phone_finder", "phone_verify", "identity_resolution", "reverse_lookup", "enrichment", "batch", "premium", "free"];
4
4
  type DeeplineToolCategory = (typeof DEEPLINE_TOOL_CATEGORIES)[number] | (string & {});
@@ -3063,6 +3063,11 @@ type PreviousCell<Value = unknown> = {
3063
3063
  staleAfterSeconds?: number;
3064
3064
  };
3065
3065
 
3066
+ type PlayCallExecution = 'inline' | 'child-workflow';
3067
+ interface PlayCallOptions {
3068
+ description?: string;
3069
+ execution?: PlayCallExecution;
3070
+ }
3066
3071
  /**
3067
3072
  * Optional trigger bindings for a play.
3068
3073
  *
@@ -3691,9 +3696,7 @@ interface DeeplinePlayRuntimeContext {
3691
3696
  *
3692
3697
  * @sdkReference runtime 140 ctx.runPlay(key, playRef, input, options)
3693
3698
  */
3694
- runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options: {
3695
- description: string;
3696
- }): Promise<TOutput>;
3699
+ runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options?: PlayCallOptions): Promise<TOutput>;
3697
3700
  /**
3698
3701
  * Emit a log line visible in `play tail` and the play's progress logs.
3699
3702
  *
@@ -4384,4 +4387,4 @@ declare function writeCsvOutputFile(rows: Array<Record<string, unknown>>, stem:
4384
4387
  */
4385
4388
  declare function extractSummaryFields(payload: unknown): Record<string, Scalar>;
4386
4389
 
4387
- export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, PLAY_BOOTSTRAP_COMPANY_FIELDS, PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_CONTACT_FIELDS, PLAY_BOOTSTRAP_FINDER_KINDS, PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, PLAY_BOOTSTRAP_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
4390
+ export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, PLAY_BOOTSTRAP_COMPANY_FIELDS, PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_CONTACT_FIELDS, PLAY_BOOTSTRAP_FINDER_KINDS, PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, PLAY_BOOTSTRAP_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
package/dist/index.js CHANGED
@@ -422,10 +422,10 @@ var SDK_RELEASE = {
422
422
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
423
423
  // fields shipped in 0.1.153.
424
424
  // 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
425
- version: "0.1.212",
425
+ version: "0.1.213",
426
426
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
427
427
  supportPolicy: {
428
- latest: "0.1.212",
428
+ latest: "0.1.213",
429
429
  minimumSupported: "0.1.53",
430
430
  deprecatedBelow: "0.1.53",
431
431
  commandMinimumSupported: [
package/dist/index.mjs CHANGED
@@ -352,10 +352,10 @@ var SDK_RELEASE = {
352
352
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
353
353
  // fields shipped in 0.1.153.
354
354
  // 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
355
- version: "0.1.212",
355
+ version: "0.1.213",
356
356
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
357
357
  supportPolicy: {
358
- latest: "0.1.212",
358
+ latest: "0.1.213",
359
359
  minimumSupported: "0.1.53",
360
360
  deprecatedBelow: "0.1.53",
361
361
  commandMinimumSupported: [
@@ -1,5 +1,5 @@
1
- import { P as PlayArtifactKind$1, a as PlayCompilerManifest } from '../compiler-manifest-j6z8qzpd.mjs';
2
- export { b as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-j6z8qzpd.mjs';
1
+ import { P as PlayArtifactKind$1, a as PlayCompilerManifest } from '../compiler-manifest-BhgZ23A4.mjs';
2
+ export { b as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-BhgZ23A4.mjs';
3
3
 
4
4
  type PlayPackageImport = {
5
5
  name: string;
@@ -1,5 +1,5 @@
1
- import { P as PlayArtifactKind$1, a as PlayCompilerManifest } from '../compiler-manifest-j6z8qzpd.js';
2
- export { b as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-j6z8qzpd.js';
1
+ import { P as PlayArtifactKind$1, a as PlayCompilerManifest } from '../compiler-manifest-BhgZ23A4.js';
2
+ export { b as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-BhgZ23A4.js';
3
3
 
4
4
  type PlayPackageImport = {
5
5
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.212",
3
+ "version": "0.1.213",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {