deepline 0.1.175 → 0.1.176

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.
package/dist/index.mjs CHANGED
@@ -351,10 +351,10 @@ var SDK_RELEASE = {
351
351
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
352
352
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
353
353
  // fields shipped in 0.1.153.
354
- version: "0.1.175",
354
+ version: "0.1.176",
355
355
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
356
356
  supportPolicy: {
357
- latest: "0.1.175",
357
+ latest: "0.1.176",
358
358
  minimumSupported: "0.1.53",
359
359
  deprecatedBelow: "0.1.53",
360
360
  commandMinimumSupported: [
@@ -615,9 +615,10 @@ var HttpClient = class {
615
615
  headers["Content-Type"] = "application/json";
616
616
  }
617
617
  let lastError = null;
618
- const candidateUrls = buildCandidateUrls(url);
618
+ const candidateUrls = options?.exactUrlOnly ? [url] : buildCandidateUrls(url);
619
619
  let retryAfterDelayMs = null;
620
- for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
620
+ const maxRetries = options?.maxRetries ?? this.config.maxRetries;
621
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
621
622
  if (attempt > 0) {
622
623
  const backoffMs = Math.min(1e3 * Math.pow(2, attempt - 1), 3e4);
623
624
  const delayMs = retryAfterDelayMs === null ? backoffMs : Math.max(backoffMs, retryAfterDelayMs);
@@ -644,7 +645,7 @@ var HttpClient = class {
644
645
  if (response.status === 429) {
645
646
  const retryAfter = parseRetryAfter(response);
646
647
  lastError = new RateLimitError(retryAfter);
647
- if (attempt < this.config.maxRetries) {
648
+ if (attempt < maxRetries) {
648
649
  retryAfterDelayMs = retryAfter;
649
650
  break;
650
651
  }
@@ -674,7 +675,7 @@ var HttpClient = class {
674
675
  ...htmlError.workerThrewException ? { workerThrewException: true } : {}
675
676
  }
676
677
  );
677
- if (retryableApiError && attempt < this.config.maxRetries) {
678
+ if (retryableApiError && attempt < maxRetries) {
678
679
  retryAfterDelayMs = parseOptionalRetryAfter(response);
679
680
  break;
680
681
  }
@@ -686,7 +687,7 @@ var HttpClient = class {
686
687
  lastError = new DeeplineError(msg, response.status, apiErrorCode, {
687
688
  response: parsed
688
689
  });
689
- if (retryableApiError && attempt < this.config.maxRetries) {
690
+ if (retryableApiError && attempt < maxRetries) {
690
691
  retryAfterDelayMs = parseOptionalRetryAfter(response);
691
692
  break;
692
693
  }
@@ -705,7 +706,7 @@ var HttpClient = class {
705
706
  lastError = error instanceof Error ? error : new Error(String(error));
706
707
  }
707
708
  }
708
- if (attempt < this.config.maxRetries) continue;
709
+ if (attempt < maxRetries) continue;
709
710
  }
710
711
  if (lastError instanceof DeeplineError) {
711
712
  throw lastError;
@@ -1840,6 +1841,7 @@ var COMPILE_MANIFEST_RETRY_DELAYS_MS = [250, 1e3];
1840
1841
  var REGISTER_PLAY_ARTIFACTS_COMPILE_CONCURRENCY = 3;
1841
1842
  var REGISTER_PLAY_ARTIFACTS_MAX_BATCH_COUNT = 3;
1842
1843
  var REGISTER_PLAY_ARTIFACTS_MAX_BATCH_BYTES = 25e5;
1844
+ var DEEPLINEAGENT_EXECUTE_TIMEOUT_MS = 15 * 60 * 1e3;
1843
1845
  function normalizePlayRunIntegrationMode(value) {
1844
1846
  if (value === "live" || value === "eval_stub" || value === "fixture") {
1845
1847
  return value;
@@ -1914,6 +1916,10 @@ function chunkRegisterPlayArtifacts(artifacts) {
1914
1916
  }
1915
1917
  return chunks;
1916
1918
  }
1919
+ function resolveToolExecuteTimeoutMs(toolId) {
1920
+ const normalized = toolId.trim().toLowerCase();
1921
+ return normalized === "deeplineagent" || normalized === "deeplineagent_deeplineagent" || normalized === "ai_inference" || normalized === "deeplineagent_ai_inference" || normalized === "aiinference" ? DEEPLINEAGENT_EXECUTE_TIMEOUT_MS : void 0;
1922
+ }
1917
1923
  var RUN_LOGS_PAGE_LIMIT = 1e3;
1918
1924
  function isRecord3(value) {
1919
1925
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
@@ -2353,7 +2359,12 @@ var DeeplineClient = class {
2353
2359
  `/api/v2/integrations/${encodeURIComponent(toolId)}/execute`,
2354
2360
  { payload: input },
2355
2361
  headers,
2356
- { forbiddenAsApiError: true }
2362
+ {
2363
+ forbiddenAsApiError: true,
2364
+ timeout: options?.timeout ?? resolveToolExecuteTimeoutMs(toolId),
2365
+ maxRetries: options?.maxRetries ?? 0,
2366
+ exactUrlOnly: true
2367
+ }
2357
2368
  );
2358
2369
  }
2359
2370
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.175",
3
+ "version": "0.1.176",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {