deepline 0.1.202 → 0.1.203

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.
@@ -106,10 +106,10 @@ export const SDK_RELEASE = {
106
106
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
107
107
  // fields shipped in 0.1.153.
108
108
  // 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
109
- version: '0.1.202',
109
+ version: '0.1.203',
110
110
  apiContract: '2026-06-dataset-handle-results-hard-cutover',
111
111
  supportPolicy: {
112
- latest: '0.1.202',
112
+ latest: '0.1.203',
113
113
  minimumSupported: '0.1.53',
114
114
  deprecatedBelow: '0.1.53',
115
115
  commandMinimumSupported: [
@@ -4006,6 +4006,7 @@ export class PlayContextImpl {
4006
4006
  {
4007
4007
  baseUrl: this.#options.baseUrl!,
4008
4008
  executorToken: this.#options.executorToken!,
4009
+ dbSessionStrategy: this.#options.dbSessionStrategy,
4009
4010
  playName: this.#options.playName!,
4010
4011
  userEmail: this.#options.userEmail,
4011
4012
  runId: this.#options.runId!,
@@ -4529,6 +4530,7 @@ export class PlayContextImpl {
4529
4530
  {
4530
4531
  baseUrl: this.#options.baseUrl!,
4531
4532
  executorToken: this.#options.executorToken!,
4533
+ dbSessionStrategy: this.#options.dbSessionStrategy,
4532
4534
  playName: this.#options.playName!,
4533
4535
  userEmail: this.#options.userEmail,
4534
4536
  runId: this.#options.runId!,
@@ -473,6 +473,11 @@ export interface ContextOptions {
473
473
  /** Short-lived HMAC-signed internal token for tool callbacks. Required for cloud execution. */
474
474
  executorToken?: string;
475
475
  baseUrl?: string;
476
+ /**
477
+ * Runtime-sheet transport selected by the runner. Daytona sandboxes use the
478
+ * execution gateway and must never fall back to minting direct DB sessions.
479
+ */
480
+ dbSessionStrategy?: 'preloaded' | 'sandbox_public_key' | 'gateway_only';
476
481
  vercelProtectionBypassToken?: string | null;
477
482
  /** Optional per-run integration execution mode for provider calls. */
478
483
  integrationMode?: 'live' | 'eval_stub' | 'fixture';
@@ -1,5 +1,7 @@
1
1
  export const PLAY_RUNTIME_API_COMPAT_PATH = '/api/v2/plays/internal/runtime';
2
2
  export const PLAY_RUNTIME_API_CURRENT_PATH = '/api/v2/internal/play-runtime';
3
+ export const PLAY_RUNTIME_ATTEMPT_EXECUTOR_TOKEN_PATH =
4
+ '/api/v2/internal/play-runtime/executor-token';
3
5
  export const PLAY_RUNTIME_CHILD_EXECUTOR_TOKEN_COMPAT_PATH =
4
6
  '/api/v2/plays/internal/child-executor-token';
5
7
  export const PLAY_RUNTIME_CHILD_EXECUTOR_TOKEN_CURRENT_PATH =
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.202",
626
+ version: "0.1.203",
627
627
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
628
628
  supportPolicy: {
629
- latest: "0.1.202",
629
+ latest: "0.1.203",
630
630
  minimumSupported: "0.1.53",
631
631
  deprecatedBelow: "0.1.53",
632
632
  commandMinimumSupported: [
@@ -18315,6 +18315,8 @@ var ENRICH_CELL_META_PATCH_FIELD = "__deeplineCellMetaPatch";
18315
18315
  var EXIT_SERVER2 = 5;
18316
18316
  var ENRICH_DEBUG_T0 = Date.now();
18317
18317
  var GENERATED_ENRICH_ROWS_TABLE_NAMESPACE = "deepline_enrich_rows";
18318
+ var SDK_ENRICH_TELEMETRY_TIMEOUT_MS = 1e4;
18319
+ var SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH = 2e4;
18318
18320
  var HEAVY_ENRICH_AUTO_BATCH_PLAYS = /* @__PURE__ */ new Set([
18319
18321
  "company-to-contact",
18320
18322
  "company-to-contact-by-role-waterfall",
@@ -18592,6 +18594,100 @@ function currentEnrichArgs() {
18592
18594
  const index = process.argv.findIndex((arg) => arg === "enrich");
18593
18595
  return index >= 0 ? process.argv.slice(index + 1) : [];
18594
18596
  }
18597
+ function shouldSuppressSdkEnrichTelemetry() {
18598
+ return ["1", "true", "yes", "on"].includes(
18599
+ String(process.env.DEEPLINE_SUPPRESS_ACTIVITY_EVENTS ?? "").trim().toLowerCase()
18600
+ );
18601
+ }
18602
+ function shellQuoteArg(value) {
18603
+ if (/^[A-Za-z0-9_/:=.,@%+-]+$/.test(value)) {
18604
+ return value;
18605
+ }
18606
+ return `'${value.replace(/'/g, "'\\''")}'`;
18607
+ }
18608
+ function sdkEnrichCommandText(args) {
18609
+ const command = ["deepline", "enrich", ...args].map(shellQuoteArg).join(" ");
18610
+ if (command.length <= SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH) {
18611
+ return command;
18612
+ }
18613
+ return `${command.slice(0, SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH - 3)}...`;
18614
+ }
18615
+ function countConfiguredEnrichColumns(config) {
18616
+ const count = (commands) => commands.reduce((total, command) => {
18617
+ if ("with_waterfall" in command) {
18618
+ return total + count(command.commands);
18619
+ }
18620
+ return total + (command.disabled ? 0 : 1);
18621
+ }, 0);
18622
+ return count(config.commands ?? []);
18623
+ }
18624
+ function createSdkEnrichTelemetryContext(input2) {
18625
+ if (shouldSuppressSdkEnrichTelemetry()) {
18626
+ return null;
18627
+ }
18628
+ const baseUrl = input2.client.baseUrl.replace(/\/$/, "");
18629
+ let apiKey = null;
18630
+ try {
18631
+ apiKey = resolveApiKeyForBaseUrl(baseUrl);
18632
+ } catch {
18633
+ apiKey = null;
18634
+ }
18635
+ return {
18636
+ baseUrl,
18637
+ apiKey,
18638
+ runId: `sdk-enrich-${process.pid}-${Date.now()}`,
18639
+ command: sdkEnrichCommandText(input2.args),
18640
+ rowsRange: input2.rowsRange,
18641
+ inputPath: (0, import_node_path12.basename)(input2.inputCsv),
18642
+ startedAtMs: Date.now(),
18643
+ rowsTargeted: input2.selectedRange.count,
18644
+ columnsTargeted: countConfiguredEnrichColumns(input2.config)
18645
+ };
18646
+ }
18647
+ async function emitSdkEnrichTelemetry(context, event, summary) {
18648
+ if (!context?.apiKey) {
18649
+ return;
18650
+ }
18651
+ const controller = new AbortController();
18652
+ const timeout = setTimeout(
18653
+ () => controller.abort(),
18654
+ SDK_ENRICH_TELEMETRY_TIMEOUT_MS
18655
+ );
18656
+ try {
18657
+ const body = {
18658
+ event,
18659
+ source: "cli_enrich",
18660
+ run_id: context.runId,
18661
+ command: context.command,
18662
+ input_path: context.inputPath,
18663
+ ...context.rowsRange ? { rows_range: context.rowsRange } : {},
18664
+ ...summary ? { summary } : {}
18665
+ };
18666
+ await fetch(new URL("/api/v2/telemetry/activity", context.baseUrl), {
18667
+ method: "POST",
18668
+ headers: {
18669
+ Authorization: `Bearer ${context.apiKey}`,
18670
+ "Content-Type": "application/json"
18671
+ },
18672
+ body: JSON.stringify(body),
18673
+ signal: controller.signal
18674
+ });
18675
+ } catch {
18676
+ } finally {
18677
+ clearTimeout(timeout);
18678
+ }
18679
+ }
18680
+ async function completeSdkEnrichTelemetry(context, input2) {
18681
+ await emitSdkEnrichTelemetry(context, "enrich_completed", {
18682
+ status: input2.status,
18683
+ rows_targeted: context?.rowsTargeted ?? 0,
18684
+ columns_targeted: context?.columnsTargeted ?? 0,
18685
+ failed_jobs: Math.max(0, Math.trunc(input2.failedJobs ?? 0)),
18686
+ skipped_cells: Math.max(0, Math.trunc(input2.skippedCells ?? 0)),
18687
+ duration_ms: Math.max(0, Date.now() - (context?.startedAtMs ?? Date.now())),
18688
+ rate_limits: null
18689
+ });
18690
+ }
18595
18691
  async function buildPlanArgs(args) {
18596
18692
  const passthrough = /* @__PURE__ */ new Set([
18597
18693
  "--with",
@@ -21754,7 +21850,25 @@ function registerEnrichCommand(program) {
21754
21850
  inlineRunJavascript: true,
21755
21851
  failFast: options.failFast
21756
21852
  });
21853
+ const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
21854
+ const sdkEnrichTelemetry = createSdkEnrichTelemetryContext({
21855
+ client: client2,
21856
+ args,
21857
+ inputCsv,
21858
+ rowsRange: options.rows ?? (options.all ? "all" : null),
21859
+ selectedRange,
21860
+ config
21861
+ });
21862
+ let sdkEnrichTelemetryCompleted = false;
21863
+ const completeTelemetry = async (input2) => {
21864
+ if (sdkEnrichTelemetryCompleted) {
21865
+ return;
21866
+ }
21867
+ sdkEnrichTelemetryCompleted = true;
21868
+ await completeSdkEnrichTelemetry(sdkEnrichTelemetry, input2);
21869
+ };
21757
21870
  const tempDir = await (0, import_promises3.mkdtemp)((0, import_node_path12.join)((0, import_node_os8.tmpdir)(), "deepline-enrich-play-"));
21871
+ await emitSdkEnrichTelemetry(sdkEnrichTelemetry, "enrich_started");
21758
21872
  const tempPlay = (0, import_node_path12.join)(tempDir, "deepline-enrich.play.ts");
21759
21873
  let inPlaceTempDir = null;
21760
21874
  let inPlaceTempOutputPath = null;
@@ -21853,7 +21967,6 @@ function registerEnrichCommand(program) {
21853
21967
  });
21854
21968
  return { captured: captured2, status: status2, exportResult: exportResult2 };
21855
21969
  };
21856
- const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
21857
21970
  const autoBatchRows = enrichAutoBatchRowsForConfig(config);
21858
21971
  if (outputPath && selectedRange.count > autoBatchRows) {
21859
21972
  const chunkCount = Math.ceil(selectedRange.count / autoBatchRows);
@@ -22034,6 +22147,10 @@ function registerEnrichCommand(program) {
22034
22147
  });
22035
22148
  }
22036
22149
  process.exitCode = failureReport3 ? EXIT_SERVER2 : chunk.captured.result;
22150
+ await completeTelemetry({
22151
+ status: "failed",
22152
+ failedJobs: failureReport3?.jobs.length ?? 1
22153
+ });
22037
22154
  return;
22038
22155
  }
22039
22156
  if (chunk.exportResult) {
@@ -22112,6 +22229,10 @@ function registerEnrichCommand(program) {
22112
22229
  if (failureReport2) {
22113
22230
  process.exitCode = EXIT_SERVER2;
22114
22231
  }
22232
+ await completeTelemetry({
22233
+ status: failureReport2 ? "completed_with_failures" : "completed",
22234
+ failedJobs: failureReport2?.jobs.length ?? 0
22235
+ });
22115
22236
  return;
22116
22237
  }
22117
22238
  const { captured, status, exportResult } = await runOne({
@@ -22154,6 +22275,10 @@ function registerEnrichCommand(program) {
22154
22275
  });
22155
22276
  }
22156
22277
  process.exitCode = failureReport2 ? EXIT_SERVER2 : captured.result;
22278
+ await completeTelemetry({
22279
+ status: "failed",
22280
+ failedJobs: failureReport2?.jobs.length ?? 1
22281
+ });
22157
22282
  return;
22158
22283
  }
22159
22284
  if (options.json) {
@@ -22190,6 +22315,10 @@ function registerEnrichCommand(program) {
22190
22315
  if (failureReport2) {
22191
22316
  process.exitCode = EXIT_SERVER2;
22192
22317
  }
22318
+ await completeTelemetry({
22319
+ status: failureReport2 ? "completed_with_failures" : "completed",
22320
+ failedJobs: failureReport2?.jobs.length ?? 0
22321
+ });
22193
22322
  return;
22194
22323
  }
22195
22324
  const failureReport = await maybeEmitEnrichFailureReport({
@@ -22220,6 +22349,13 @@ function registerEnrichCommand(program) {
22220
22349
  if (failureReport) {
22221
22350
  process.exitCode = EXIT_SERVER2;
22222
22351
  }
22352
+ await completeTelemetry({
22353
+ status: failureReport ? "completed_with_failures" : "completed",
22354
+ failedJobs: failureReport?.jobs.length ?? 0
22355
+ });
22356
+ } catch (error) {
22357
+ await completeTelemetry({ status: "failed", failedJobs: 1 });
22358
+ throw error;
22223
22359
  } finally {
22224
22360
  if (inPlaceTempDir) {
22225
22361
  await (0, import_promises3.rm)(inPlaceTempDir, { recursive: true, force: true });
@@ -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.202",
611
+ version: "0.1.203",
612
612
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
613
613
  supportPolicy: {
614
- latest: "0.1.202",
614
+ latest: "0.1.203",
615
615
  minimumSupported: "0.1.53",
616
616
  deprecatedBelow: "0.1.53",
617
617
  commandMinimumSupported: [
@@ -18344,6 +18344,8 @@ var ENRICH_CELL_META_PATCH_FIELD = "__deeplineCellMetaPatch";
18344
18344
  var EXIT_SERVER2 = 5;
18345
18345
  var ENRICH_DEBUG_T0 = Date.now();
18346
18346
  var GENERATED_ENRICH_ROWS_TABLE_NAMESPACE = "deepline_enrich_rows";
18347
+ var SDK_ENRICH_TELEMETRY_TIMEOUT_MS = 1e4;
18348
+ var SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH = 2e4;
18347
18349
  var HEAVY_ENRICH_AUTO_BATCH_PLAYS = /* @__PURE__ */ new Set([
18348
18350
  "company-to-contact",
18349
18351
  "company-to-contact-by-role-waterfall",
@@ -18621,6 +18623,100 @@ function currentEnrichArgs() {
18621
18623
  const index = process.argv.findIndex((arg) => arg === "enrich");
18622
18624
  return index >= 0 ? process.argv.slice(index + 1) : [];
18623
18625
  }
18626
+ function shouldSuppressSdkEnrichTelemetry() {
18627
+ return ["1", "true", "yes", "on"].includes(
18628
+ String(process.env.DEEPLINE_SUPPRESS_ACTIVITY_EVENTS ?? "").trim().toLowerCase()
18629
+ );
18630
+ }
18631
+ function shellQuoteArg(value) {
18632
+ if (/^[A-Za-z0-9_/:=.,@%+-]+$/.test(value)) {
18633
+ return value;
18634
+ }
18635
+ return `'${value.replace(/'/g, "'\\''")}'`;
18636
+ }
18637
+ function sdkEnrichCommandText(args) {
18638
+ const command = ["deepline", "enrich", ...args].map(shellQuoteArg).join(" ");
18639
+ if (command.length <= SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH) {
18640
+ return command;
18641
+ }
18642
+ return `${command.slice(0, SDK_ENRICH_TELEMETRY_COMMAND_MAX_LENGTH - 3)}...`;
18643
+ }
18644
+ function countConfiguredEnrichColumns(config) {
18645
+ const count = (commands) => commands.reduce((total, command) => {
18646
+ if ("with_waterfall" in command) {
18647
+ return total + count(command.commands);
18648
+ }
18649
+ return total + (command.disabled ? 0 : 1);
18650
+ }, 0);
18651
+ return count(config.commands ?? []);
18652
+ }
18653
+ function createSdkEnrichTelemetryContext(input2) {
18654
+ if (shouldSuppressSdkEnrichTelemetry()) {
18655
+ return null;
18656
+ }
18657
+ const baseUrl = input2.client.baseUrl.replace(/\/$/, "");
18658
+ let apiKey = null;
18659
+ try {
18660
+ apiKey = resolveApiKeyForBaseUrl(baseUrl);
18661
+ } catch {
18662
+ apiKey = null;
18663
+ }
18664
+ return {
18665
+ baseUrl,
18666
+ apiKey,
18667
+ runId: `sdk-enrich-${process.pid}-${Date.now()}`,
18668
+ command: sdkEnrichCommandText(input2.args),
18669
+ rowsRange: input2.rowsRange,
18670
+ inputPath: basename2(input2.inputCsv),
18671
+ startedAtMs: Date.now(),
18672
+ rowsTargeted: input2.selectedRange.count,
18673
+ columnsTargeted: countConfiguredEnrichColumns(input2.config)
18674
+ };
18675
+ }
18676
+ async function emitSdkEnrichTelemetry(context, event, summary) {
18677
+ if (!context?.apiKey) {
18678
+ return;
18679
+ }
18680
+ const controller = new AbortController();
18681
+ const timeout = setTimeout(
18682
+ () => controller.abort(),
18683
+ SDK_ENRICH_TELEMETRY_TIMEOUT_MS
18684
+ );
18685
+ try {
18686
+ const body = {
18687
+ event,
18688
+ source: "cli_enrich",
18689
+ run_id: context.runId,
18690
+ command: context.command,
18691
+ input_path: context.inputPath,
18692
+ ...context.rowsRange ? { rows_range: context.rowsRange } : {},
18693
+ ...summary ? { summary } : {}
18694
+ };
18695
+ await fetch(new URL("/api/v2/telemetry/activity", context.baseUrl), {
18696
+ method: "POST",
18697
+ headers: {
18698
+ Authorization: `Bearer ${context.apiKey}`,
18699
+ "Content-Type": "application/json"
18700
+ },
18701
+ body: JSON.stringify(body),
18702
+ signal: controller.signal
18703
+ });
18704
+ } catch {
18705
+ } finally {
18706
+ clearTimeout(timeout);
18707
+ }
18708
+ }
18709
+ async function completeSdkEnrichTelemetry(context, input2) {
18710
+ await emitSdkEnrichTelemetry(context, "enrich_completed", {
18711
+ status: input2.status,
18712
+ rows_targeted: context?.rowsTargeted ?? 0,
18713
+ columns_targeted: context?.columnsTargeted ?? 0,
18714
+ failed_jobs: Math.max(0, Math.trunc(input2.failedJobs ?? 0)),
18715
+ skipped_cells: Math.max(0, Math.trunc(input2.skippedCells ?? 0)),
18716
+ duration_ms: Math.max(0, Date.now() - (context?.startedAtMs ?? Date.now())),
18717
+ rate_limits: null
18718
+ });
18719
+ }
18624
18720
  async function buildPlanArgs(args) {
18625
18721
  const passthrough = /* @__PURE__ */ new Set([
18626
18722
  "--with",
@@ -21783,7 +21879,25 @@ function registerEnrichCommand(program) {
21783
21879
  inlineRunJavascript: true,
21784
21880
  failFast: options.failFast
21785
21881
  });
21882
+ const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
21883
+ const sdkEnrichTelemetry = createSdkEnrichTelemetryContext({
21884
+ client: client2,
21885
+ args,
21886
+ inputCsv,
21887
+ rowsRange: options.rows ?? (options.all ? "all" : null),
21888
+ selectedRange,
21889
+ config
21890
+ });
21891
+ let sdkEnrichTelemetryCompleted = false;
21892
+ const completeTelemetry = async (input2) => {
21893
+ if (sdkEnrichTelemetryCompleted) {
21894
+ return;
21895
+ }
21896
+ sdkEnrichTelemetryCompleted = true;
21897
+ await completeSdkEnrichTelemetry(sdkEnrichTelemetry, input2);
21898
+ };
21786
21899
  const tempDir = await mkdtemp(join7(tmpdir2(), "deepline-enrich-play-"));
21900
+ await emitSdkEnrichTelemetry(sdkEnrichTelemetry, "enrich_started");
21787
21901
  const tempPlay = join7(tempDir, "deepline-enrich.play.ts");
21788
21902
  let inPlaceTempDir = null;
21789
21903
  let inPlaceTempOutputPath = null;
@@ -21882,7 +21996,6 @@ function registerEnrichCommand(program) {
21882
21996
  });
21883
21997
  return { captured: captured2, status: status2, exportResult: exportResult2 };
21884
21998
  };
21885
- const selectedRange = selectedSourceCsvRange(sourceCsvPath, rows);
21886
21999
  const autoBatchRows = enrichAutoBatchRowsForConfig(config);
21887
22000
  if (outputPath && selectedRange.count > autoBatchRows) {
21888
22001
  const chunkCount = Math.ceil(selectedRange.count / autoBatchRows);
@@ -22063,6 +22176,10 @@ function registerEnrichCommand(program) {
22063
22176
  });
22064
22177
  }
22065
22178
  process.exitCode = failureReport3 ? EXIT_SERVER2 : chunk.captured.result;
22179
+ await completeTelemetry({
22180
+ status: "failed",
22181
+ failedJobs: failureReport3?.jobs.length ?? 1
22182
+ });
22066
22183
  return;
22067
22184
  }
22068
22185
  if (chunk.exportResult) {
@@ -22141,6 +22258,10 @@ function registerEnrichCommand(program) {
22141
22258
  if (failureReport2) {
22142
22259
  process.exitCode = EXIT_SERVER2;
22143
22260
  }
22261
+ await completeTelemetry({
22262
+ status: failureReport2 ? "completed_with_failures" : "completed",
22263
+ failedJobs: failureReport2?.jobs.length ?? 0
22264
+ });
22144
22265
  return;
22145
22266
  }
22146
22267
  const { captured, status, exportResult } = await runOne({
@@ -22183,6 +22304,10 @@ function registerEnrichCommand(program) {
22183
22304
  });
22184
22305
  }
22185
22306
  process.exitCode = failureReport2 ? EXIT_SERVER2 : captured.result;
22307
+ await completeTelemetry({
22308
+ status: "failed",
22309
+ failedJobs: failureReport2?.jobs.length ?? 1
22310
+ });
22186
22311
  return;
22187
22312
  }
22188
22313
  if (options.json) {
@@ -22219,6 +22344,10 @@ function registerEnrichCommand(program) {
22219
22344
  if (failureReport2) {
22220
22345
  process.exitCode = EXIT_SERVER2;
22221
22346
  }
22347
+ await completeTelemetry({
22348
+ status: failureReport2 ? "completed_with_failures" : "completed",
22349
+ failedJobs: failureReport2?.jobs.length ?? 0
22350
+ });
22222
22351
  return;
22223
22352
  }
22224
22353
  const failureReport = await maybeEmitEnrichFailureReport({
@@ -22249,6 +22378,13 @@ function registerEnrichCommand(program) {
22249
22378
  if (failureReport) {
22250
22379
  process.exitCode = EXIT_SERVER2;
22251
22380
  }
22381
+ await completeTelemetry({
22382
+ status: failureReport ? "completed_with_failures" : "completed",
22383
+ failedJobs: failureReport?.jobs.length ?? 0
22384
+ });
22385
+ } catch (error) {
22386
+ await completeTelemetry({ status: "failed", failedJobs: 1 });
22387
+ throw error;
22252
22388
  } finally {
22253
22389
  if (inPlaceTempDir) {
22254
22390
  await rm(inPlaceTempDir, { recursive: true, force: true });
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.202",
425
+ version: "0.1.203",
426
426
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
427
427
  supportPolicy: {
428
- latest: "0.1.202",
428
+ latest: "0.1.203",
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.202",
355
+ version: "0.1.203",
356
356
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
357
357
  supportPolicy: {
358
- latest: "0.1.202",
358
+ latest: "0.1.203",
359
359
  minimumSupported: "0.1.53",
360
360
  deprecatedBelow: "0.1.53",
361
361
  commandMinimumSupported: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.202",
3
+ "version": "0.1.203",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {