deepline 0.3.389 → 0.3.391

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 (124) hide show
  1. package/dist/bundling-sources/sdk/src/agent-runtime.ts +21 -16
  2. package/dist/bundling-sources/sdk/src/billing-idempotency.ts +1 -1
  3. package/dist/bundling-sources/sdk/src/cli-invocation-id.ts +1 -1
  4. package/dist/bundling-sources/sdk/src/client.ts +75 -52
  5. package/dist/bundling-sources/sdk/src/config.ts +3 -2
  6. package/dist/bundling-sources/sdk/src/db/query.ts +3 -3
  7. package/dist/bundling-sources/sdk/src/deployment-protection.ts +7 -5
  8. package/dist/bundling-sources/sdk/src/http.ts +31 -41
  9. package/dist/bundling-sources/sdk/src/index.ts +26 -26
  10. package/dist/bundling-sources/sdk/src/play.ts +5 -5
  11. package/dist/bundling-sources/sdk/src/plays/bundle-play-file.ts +1 -1
  12. package/dist/bundling-sources/sdk/src/plays/local-play-execution.ts +2 -2
  13. package/dist/bundling-sources/sdk/src/plays/run-request.ts +2 -2
  14. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  15. package/dist/bundling-sources/sdk/src/runs/read-errors.ts +1 -1
  16. package/dist/bundling-sources/sdk/src/runs/watch-polling.ts +1 -1
  17. package/dist/bundling-sources/sdk/src/skills-version.ts +2 -2
  18. package/dist/bundling-sources/sdk/src/tool-calls.ts +3 -3
  19. package/dist/bundling-sources/sdk/src/types.ts +10 -1
  20. package/dist/bundling-sources/sdk/src/version.ts +1 -1
  21. package/dist/bundling-sources/shared_libs/play-runtime/async-operation.ts +87 -1
  22. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +19 -11
  23. package/dist/bundling-sources/shared_libs/plays/local-file-discovery.ts +1 -1
  24. package/dist/cli/{auth-DEASEYUJ.mjs → auth-6QET7NFP.mjs} +4 -4
  25. package/dist/cli/auth-6ZUH42ZA.js +39 -0
  26. package/dist/cli/{billing-TUTB4H6F.mjs → billing-HAQ2VDQX.mjs} +4 -4
  27. package/dist/cli/{billing-QIWD5GYZ.js → billing-KJAGTCFR.js} +73 -73
  28. package/dist/cli/{chunk-WRLYF4DS.js → chunk-4S6X74A3.js} +2 -2
  29. package/dist/cli/{chunk-HXENYWVS.js → chunk-4TCT77UF.js} +485 -114
  30. package/dist/cli/{chunk-KWGB3RWA.js → chunk-556BMGEB.js} +235 -220
  31. package/dist/cli/{chunk-CCIEPJSX.mjs → chunk-6L4P7Z6C.mjs} +2 -2
  32. package/dist/cli/{chunk-M6BQYSV3.mjs → chunk-DRZFTRZJ.mjs} +46 -31
  33. package/dist/cli/{chunk-7IPMWJNZ.js → chunk-ED42XCOW.js} +226 -226
  34. package/dist/cli/{chunk-B6BQ6EAR.mjs → chunk-H2ER7QWR.mjs} +6 -6
  35. package/dist/cli/{chunk-HHRQYYHK.mjs → chunk-H3DCZOXR.mjs} +5 -5
  36. package/dist/cli/{chunk-63ZXA57X.mjs → chunk-HFTOOZGN.mjs} +3 -3
  37. package/dist/cli/{chunk-PPKNOVMF.mjs → chunk-I3MKXASV.mjs} +2 -2
  38. package/dist/cli/{chunk-CLOICRTK.js → chunk-I7EVBLTW.js} +6 -6
  39. package/dist/cli/{chunk-7WQGDKNO.mjs → chunk-K3ODOHOI.mjs} +34 -26
  40. package/dist/cli/{chunk-MCWGQIDV.js → chunk-KA7X75HC.js} +48 -48
  41. package/dist/cli/{chunk-NBXJJBBT.mjs → chunk-KWF4HJF7.mjs} +1 -1
  42. package/dist/cli/{chunk-CMWDXAQH.js → chunk-ME2DZAHC.js} +26 -26
  43. package/dist/cli/{chunk-Z43SUQUL.js → chunk-MHLCMJ2E.js} +99 -91
  44. package/dist/cli/{chunk-MP7FWY76.mjs → chunk-PFPP4BKS.mjs} +2 -2
  45. package/dist/cli/{chunk-HVDBGPDP.mjs → chunk-PQSA443V.mjs} +485 -114
  46. package/dist/cli/{chunk-RHAP7ZW5.mjs → chunk-QCWIORKR.mjs} +2 -2
  47. package/dist/cli/{chunk-FZXZLFNC.js → chunk-RA2SDTSX.js} +15 -15
  48. package/dist/cli/{chunk-ABLS54ZL.js → chunk-RTH26NF3.js} +61 -61
  49. package/dist/cli/{chunk-Z4ZB2CDV.mjs → chunk-TLHF54VX.mjs} +1 -1
  50. package/dist/cli/{chunk-FZZC3A7J.js → chunk-UOSKJIXE.js} +8 -8
  51. package/dist/cli/{chunk-GB3KEA34.mjs → chunk-VH4B5OYM.mjs} +1 -1
  52. package/dist/cli/{chunk-RPGSXBS3.js → chunk-WLODHQ7S.js} +1 -1
  53. package/dist/cli/{chunk-OWP6SI5W.js → chunk-XBPLTHGB.js} +8 -8
  54. package/dist/cli/{chunk-5VCRXKAU.js → chunk-XEV5LMS2.js} +50 -50
  55. package/dist/cli/{chunk-2L6BBM7Z.mjs → chunk-YBZY3EZF.mjs} +4 -4
  56. package/dist/cli/command-docs.d.mts +24 -1
  57. package/dist/cli/command-docs.d.ts +24 -1
  58. package/dist/cli/command-docs.js +8 -2
  59. package/dist/cli/command-docs.mjs +9 -3
  60. package/dist/cli/{csv-FYI4XWEA.js → csv-2WSF5TEM.js} +12 -12
  61. package/dist/cli/{csv-GQ5K6MDD.mjs → csv-V7UHOBFE.mjs} +3 -3
  62. package/dist/cli/{db-WYSI3J43.js → db-42RL4FZD.js} +29 -29
  63. package/dist/cli/{db-DYXQOAWZ.mjs → db-TD375E4N.mjs} +4 -4
  64. package/dist/cli/{describe-T25AHZEJ.js → describe-7WFCBZUY.js} +18 -18
  65. package/dist/cli/{describe-YIIUMAZF.mjs → describe-GPUKAWOZ.mjs} +8 -8
  66. package/dist/cli/{executions-3D7KAJ2C.js → executions-LGVG3FPH.js} +6 -6
  67. package/dist/cli/{executions-RYFSOPMQ.mjs → executions-M7O63JNA.mjs} +4 -4
  68. package/dist/cli/{feedback-CIZXMDMJ.mjs → feedback-6PBSKVB2.mjs} +3 -3
  69. package/dist/cli/{feedback-I7FWPC7V.js → feedback-PZZA2M4S.js} +7 -7
  70. package/dist/cli/{git-JCURDXPQ.mjs → git-2VIFM5DI.mjs} +4 -4
  71. package/dist/cli/git-ZSJD3BID.js +23 -0
  72. package/dist/cli/index.js +93 -93
  73. package/dist/cli/index.mjs +33 -33
  74. package/dist/cli/{legacy-noops-4BW4EZJG.mjs → legacy-noops-DPUBZI7N.mjs} +4 -4
  75. package/dist/cli/{legacy-noops-G6F5LNUM.js → legacy-noops-IQ6QTZNZ.js} +7 -7
  76. package/dist/cli/{monitors-43UXU5C3.js → monitors-6GWAZFYV.js} +85 -85
  77. package/dist/cli/{monitors-LTKH5IWE.mjs → monitors-KBZVQG2U.mjs} +4 -4
  78. package/dist/cli/{org-I3WHUV67.mjs → org-CP3VSJBX.mjs} +4 -4
  79. package/dist/cli/{org-7MSUEPXL.js → org-JKGTHXOZ.js} +64 -64
  80. package/dist/cli/{play-HRZXSNXV.mjs → play-DD2ME4L4.mjs} +7 -7
  81. package/dist/cli/play-G5GVMIBN.js +157 -0
  82. package/dist/cli/{providers-BY6JPMKP.mjs → providers-JUNOFKI7.mjs} +4 -4
  83. package/dist/cli/{providers-DWLWK5VX.js → providers-P34QYYG6.js} +7 -7
  84. package/dist/cli/{quickstart-E647CKUQ.mjs → quickstart-N6SWOK7E.mjs} +3 -3
  85. package/dist/cli/{quickstart-QO6GCK4U.js → quickstart-UL3DEFA4.js} +5 -5
  86. package/dist/cli/{search-3WUQBHRV.mjs → search-SC7I56HX.mjs} +5 -5
  87. package/dist/cli/search-W4GXWTOM.js +26 -0
  88. package/dist/cli/{secrets-CPNHE5XI.js → secrets-6ZJE7ZPM.js} +13 -13
  89. package/dist/cli/{secrets-WTGMFFP7.mjs → secrets-RTARNYF5.mjs} +4 -4
  90. package/dist/cli/{sessions-UFGGEDZP.js → sessions-6IZ2XHGW.js} +5 -5
  91. package/dist/cli/{sessions-6Q5E7GSY.mjs → sessions-7RKV2T3O.mjs} +4 -4
  92. package/dist/cli/{settings-QMEIKOUI.mjs → settings-V6PXA6HY.mjs} +7 -7
  93. package/dist/cli/{settings-NF5726RU.js → settings-YX3XJDXE.js} +74 -74
  94. package/dist/cli/{setup-J35MMJ7C.js → setup-CQ5VRNNU.js} +41 -41
  95. package/dist/cli/{setup-ZOQOJMJ7.mjs → setup-V2O4UJNT.mjs} +6 -6
  96. package/dist/cli/skills-LBZPJTPI.js +28 -0
  97. package/dist/cli/{skills-UFDKCSYR.mjs → skills-VHJZWEHA.mjs} +4 -4
  98. package/dist/cli/{tools-3SU3EUQT.mjs → tools-OD5WKEWY.mjs} +6 -6
  99. package/dist/cli/tools-TQNM473H.js +40 -0
  100. package/dist/cli/{update-SXYX4PMC.mjs → update-CRMNOMJ3.mjs} +6 -6
  101. package/dist/cli/update-QY6GAK6B.js +28 -0
  102. package/dist/cli/{workflow-2LINUMOP.mjs → workflow-EVDYNCDD.mjs} +5 -5
  103. package/dist/cli/{workflow-XAIEXDUI.js → workflow-XHORSD5T.js} +15 -15
  104. package/dist/{client-DEKvymBI.d.ts → client-BhK9kix9.d.ts} +19 -0
  105. package/dist/{client-0avPvYBP.d.mts → client-DpzZi4fU.d.mts} +19 -0
  106. package/dist/index.d.mts +2 -2
  107. package/dist/index.d.ts +2 -2
  108. package/dist/index.js +6 -6
  109. package/dist/index.mjs +3 -3
  110. package/dist/install-integrity.json +76 -76
  111. package/dist/plays/run-request.d.mts +1 -1
  112. package/dist/plays/run-request.d.ts +1 -1
  113. package/dist/release.d.mts +1 -1
  114. package/dist/release.d.ts +1 -1
  115. package/dist/release.js +2 -2
  116. package/dist/release.mjs +1 -1
  117. package/package.json +1 -1
  118. package/dist/cli/auth-AOM2LA73.js +0 -39
  119. package/dist/cli/git-MVMIPHQ6.js +0 -23
  120. package/dist/cli/play-R5TYLP5L.js +0 -157
  121. package/dist/cli/search-34AC6FC7.js +0 -26
  122. package/dist/cli/skills-WGYISRE5.js +0 -28
  123. package/dist/cli/tools-Q642ZZ2M.js +0 -40
  124. package/dist/cli/update-T5MNWAQC.js +0 -28
@@ -19,11 +19,11 @@ import {
19
19
  } from "./chunk-EDWJY6T4.mjs";
20
20
  import {
21
21
  registerDeprecatedSearchCommand
22
- } from "./chunk-63ZXA57X.mjs";
22
+ } from "./chunk-HFTOOZGN.mjs";
23
23
  import {
24
24
  handleDeploymentGet,
25
25
  handleDeploymentsList
26
- } from "./chunk-RHAP7ZW5.mjs";
26
+ } from "./chunk-QCWIORKR.mjs";
27
27
  import {
28
28
  pinLocalPlayImports,
29
29
  planLocalPlayExecution
@@ -42,7 +42,7 @@ import {
42
42
  normalizeRunEventOperationRequest,
43
43
  parseLogLevel,
44
44
  playInputExampleArgs
45
- } from "./chunk-M6BQYSV3.mjs";
45
+ } from "./chunk-DRZFTRZJ.mjs";
46
46
  import {
47
47
  CSV_DATA_INPUT_KEY,
48
48
  buildNamedPlayRunRequest,
@@ -75,10 +75,10 @@ import {
75
75
  printJsonError,
76
76
  renderCommandEnvelopeText,
77
77
  shouldEmitJson
78
- } from "./chunk-GB3KEA34.mjs";
78
+ } from "./chunk-VH4B5OYM.mjs";
79
79
  import {
80
80
  fetchWithDeploymentProtection
81
- } from "./chunk-7WQGDKNO.mjs";
81
+ } from "./chunk-K3ODOHOI.mjs";
82
82
  import {
83
83
  DeeplineError
84
84
  } from "./chunk-NXGCO4JB.mjs";
@@ -16546,7 +16546,7 @@ Examples:
16546
16546
  process.exitCode = await ownView();
16547
16547
  return;
16548
16548
  }
16549
- const { describeAnything } = await import("./describe-YIIUMAZF.mjs");
16549
+ const { describeAnything } = await import("./describe-GPUKAWOZ.mjs");
16550
16550
  process.exitCode = await describeAnything(
16551
16551
  name,
16552
16552
  {
@@ -13,7 +13,7 @@ import {
13
13
  observedMaxText,
14
14
  recentSearchRef,
15
15
  registerDeprecatedSearchCommand
16
- } from "./chunk-63ZXA57X.mjs";
16
+ } from "./chunk-HFTOOZGN.mjs";
17
17
  import {
18
18
  DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS,
19
19
  EMAIL_STATUS_JSON_SCHEMA,
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  DeeplineClient,
34
34
  validateExecutionIdempotencyKey
35
- } from "./chunk-M6BQYSV3.mjs";
35
+ } from "./chunk-DRZFTRZJ.mjs";
36
36
  import {
37
37
  beginToolExecuteCommand,
38
38
  getToolExecuteInvocationId,
@@ -46,11 +46,11 @@ import {
46
46
  printJsonError,
47
47
  renderCommandEnvelopeText,
48
48
  shouldEmitJson
49
- } from "./chunk-GB3KEA34.mjs";
49
+ } from "./chunk-VH4B5OYM.mjs";
50
50
  import {
51
51
  resolveConfig,
52
52
  sdkCliStateDirPath
53
- } from "./chunk-7WQGDKNO.mjs";
53
+ } from "./chunk-K3ODOHOI.mjs";
54
54
  import {
55
55
  DeeplineError
56
56
  } from "./chunk-NXGCO4JB.mjs";
@@ -1112,7 +1112,7 @@ Examples:
1112
1112
  process.exitCode = await narrowView();
1113
1113
  return;
1114
1114
  }
1115
- const { describeAnything } = await import("./describe-YIIUMAZF.mjs");
1115
+ const { describeAnything } = await import("./describe-GPUKAWOZ.mjs");
1116
1116
  process.exitCode = await describeAnything(
1117
1117
  toolId,
1118
1118
  {
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-M6BQYSV3.mjs";
3
+ } from "./chunk-DRZFTRZJ.mjs";
4
4
  import {
5
5
  printCommandEnvelope,
6
6
  renderCommandEnvelopeText
7
- } from "./chunk-GB3KEA34.mjs";
7
+ } from "./chunk-VH4B5OYM.mjs";
8
8
  import {
9
9
  resolveConfig,
10
10
  sdkCliStateDirPath
11
- } from "./chunk-7WQGDKNO.mjs";
11
+ } from "./chunk-K3ODOHOI.mjs";
12
12
 
13
13
  // src/cli/commands/search.ts
14
14
  import { Option } from "commander";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getAuthedHttpClient,
3
3
  printCommandEnvelope
4
- } from "./chunk-GB3KEA34.mjs";
4
+ } from "./chunk-VH4B5OYM.mjs";
5
5
  import {
6
6
  agentSessionIdFromEnvironment
7
- } from "./chunk-7WQGDKNO.mjs";
7
+ } from "./chunk-K3ODOHOI.mjs";
8
8
 
9
9
  // src/cli/commands/sessions.ts
10
10
  import {
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkZ43SUQULjs = require('./chunk-Z43SUQUL.js');
6
+ var _chunkMHLCMJ2Ejs = require('./chunk-MHLCMJ2E.js');
7
7
 
8
8
 
9
9
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
@@ -225,8 +225,8 @@ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
225
225
  var SAME_URL_BROWSER_OPEN_COOLDOWN_MS = 5 * 6e4;
226
226
  var defaultBrowserCommandRunner = childProcess;
227
227
  function getAuthedHttpClient() {
228
- const config = _chunkZ43SUQULjs.resolveConfig.call(void 0, );
229
- return { config, http: new (0, _chunkZ43SUQULjs.HttpClient)(config) };
228
+ const config = _chunkMHLCMJ2Ejs.resolveConfig.call(void 0, );
229
+ return { config, http: new (0, _chunkMHLCMJ2Ejs.HttpClient)(config) };
230
230
  }
231
231
  function stableOsUserId() {
232
232
  try {
@@ -566,7 +566,7 @@ function collectLocalEnvInfo() {
566
566
  os: `${process.platform} ${process.arch}`,
567
567
  node_version: process.version,
568
568
  home_dir: homeDir,
569
- agent_runtime: _chunkZ43SUQULjs.detectAgentRuntime.call(void 0, )
569
+ agent_runtime: _chunkMHLCMJ2Ejs.detectAgentRuntime.call(void 0, )
570
570
  };
571
571
  const env = process.env;
572
572
  const optional = {
@@ -813,9 +813,9 @@ function markdownTableFromRows(rows, preferredColumns = []) {
813
813
  }
814
814
  function withAgentCommandContext(value) {
815
815
  const valueRecord = value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
816
- return _chunkZ43SUQULjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
816
+ return _chunkMHLCMJ2Ejs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
817
817
  ...valueRecord,
818
- command_context: _chunkZ43SUQULjs.resolveCliCommandContext.call(void 0, )
818
+ command_context: _chunkMHLCMJ2Ejs.resolveCliCommandContext.call(void 0, )
819
819
  } : value;
820
820
  }
821
821
  function printJson(value, fields) {
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-NXGCO4JB.mjs";
15
15
  import {
16
16
  SDK_RELEASE
17
- } from "./chunk-NBXJJBBT.mjs";
17
+ } from "./chunk-KWF4HJF7.mjs";
18
18
 
19
19
  // src/errors.ts
20
20
  var CustomerDbQueryOutcomeUnknownError = class extends DeeplineError {
@@ -501,7 +501,8 @@ function resolveConfig(options) {
501
501
  maxRetries: options?.maxRetries ?? DEFAULT_MAX_RETRIES,
502
502
  // Pass through untouched: the transport owns case-insensitive merging so
503
503
  // there is exactly one place that decides which header wins.
504
- ...options?.headers ? { headers: { ...options.headers } } : {}
504
+ ...options?.headers ? { headers: { ...options.headers } } : {},
505
+ ...options?.environment ? { environment: options.environment } : {}
505
506
  };
506
507
  }
507
508
  function mergeProjectEnvFile(filePath, values) {
@@ -793,24 +794,25 @@ function isCoworkLikeSandbox2() {
793
794
  return claudeRemote || sessionHome || (pluginMode || pluginRoot) && projectDir;
794
795
  }
795
796
  function detectAgentRuntime(options = {}) {
796
- const explicit = normalizeAgentRuntime(process.env.DEEPLINE_AGENT_RUNTIME);
797
+ const env = options.env ?? process.env;
798
+ const explicit = normalizeAgentRuntime(env.DEEPLINE_AGENT_RUNTIME);
797
799
  if (explicit) return explicit;
798
- if (process.env.CODEX_THREAD_ID?.trim()) return "codex";
800
+ if (env.CODEX_THREAD_ID?.trim()) return "codex";
799
801
  if (options.detectCowork !== false && isCoworkLikeSandbox2()) {
800
802
  return "claude_cowork";
801
803
  }
802
- if (process.env.CLAUDECODE?.trim() === "1") return "claude_code";
803
- if (process.env.CLINE_ACTIVE?.trim().toLowerCase() === "true") return "cline";
804
- if (process.env.CURSOR_TRACE_ID?.trim() || process.env.CURSOR_AGENT?.trim()) {
804
+ if (env.CLAUDECODE?.trim() === "1") return "claude_code";
805
+ if (env.CLINE_ACTIVE?.trim().toLowerCase() === "true") return "cline";
806
+ if (env.CURSOR_TRACE_ID?.trim() || env.CURSOR_AGENT?.trim()) {
805
807
  return "cursor";
806
808
  }
807
- if (process.env.WINDSURF?.trim() || process.env.CASCADE?.trim()) {
809
+ if (env.WINDSURF?.trim() || env.CASCADE?.trim()) {
808
810
  return "windsurf";
809
811
  }
810
- if (process.env.ANTIGRAVITY?.trim() || process.env.ANTIGRAVITY_CLI?.trim() || process.env.ANTIGRAVITY_AGENT?.trim() || process.env.ANTIGRAVITY_WORKSPACE?.trim()) {
812
+ if (env.ANTIGRAVITY?.trim() || env.ANTIGRAVITY_CLI?.trim() || env.ANTIGRAVITY_AGENT?.trim() || env.ANTIGRAVITY_WORKSPACE?.trim()) {
811
813
  return "antigravity";
812
814
  }
813
- if (process.env.GEMINI_CLI?.trim() || process.env.GEMINI_CLI_VERSION?.trim() || process.env.GEMINI_SANDBOX?.trim() || process.env.GEMINI_CONFIG_DIR?.trim()) {
815
+ if (env.GEMINI_CLI?.trim() || env.GEMINI_CLI_VERSION?.trim() || env.GEMINI_SANDBOX?.trim() || env.GEMINI_CONFIG_DIR?.trim()) {
814
816
  return "gemini";
815
817
  }
816
818
  return options.defaultRuntime ?? "unknown";
@@ -945,8 +947,8 @@ function writeSdkSkillsLocalVersion(baseUrl, version, agents) {
945
947
  }
946
948
 
947
949
  // src/deployment-protection.ts
948
- function deploymentProtectionHeaders() {
949
- const token = typeof process !== "undefined" ? process.env?.VERCEL_PROTECTION_BYPASS_TOKEN : void 0;
950
+ function deploymentProtectionHeaders(env = typeof process !== "undefined" ? process.env : {}) {
951
+ const token = env.VERCEL_PROTECTION_BYPASS_TOKEN;
950
952
  return token ? { "x-vercel-protection-bypass": token } : {};
951
953
  }
952
954
  var fetchWithDeploymentProtection = (input, init) => {
@@ -1353,9 +1355,12 @@ var HttpClient = class {
1353
1355
  const normalized = String(value ?? "").replace(/[\u0000-\u001f\u007f]/g, " ").trim().slice(0, MAX_DIAGNOSTIC_HEADER_LENGTH);
1354
1356
  return normalized || null;
1355
1357
  }
1358
+ environment() {
1359
+ return this.config.environment ?? (typeof process !== "undefined" ? process.env : {});
1360
+ }
1356
1361
  readSkillsVersionHeader() {
1357
1362
  const explicit = this.cleanDiagnosticHeader(
1358
- process.env.DEEPLINE_SKILLS_VERSION
1363
+ this.environment().DEEPLINE_SKILLS_VERSION
1359
1364
  );
1360
1365
  if (explicit) return explicit;
1361
1366
  try {
@@ -1367,54 +1372,57 @@ var HttpClient = class {
1367
1372
  }
1368
1373
  }
1369
1374
  authHeaders(extra) {
1375
+ const env = this.environment();
1370
1376
  const transportHeaders = {
1371
1377
  Authorization: `Bearer ${this.config.apiKey}`,
1372
1378
  "User-Agent": `deepline-ts-sdk/${SDK_VERSION}`,
1373
1379
  "X-Deepline-Client-Family": "sdk",
1374
1380
  "X-Deepline-CLI-Family": "sdk",
1375
- "X-Deepline-Agent-Runtime": detectAgentRuntime(),
1381
+ "X-Deepline-Agent-Runtime": detectAgentRuntime(
1382
+ this.config.environment ? { env, detectCowork: false } : {}
1383
+ ),
1376
1384
  "X-Deepline-CLI-Version": SDK_VERSION,
1377
1385
  "X-Deepline-SDK-Version": SDK_VERSION,
1378
1386
  "X-Deepline-API-Contract": SDK_API_CONTRACT,
1379
1387
  "X-Deepline-Run-Result-Shape": "canonical"
1380
1388
  };
1381
- const headers = deploymentProtectionHeaders();
1389
+ const headers = deploymentProtectionHeaders(env);
1382
1390
  const skillsVersion = this.readSkillsVersionHeader();
1383
1391
  if (skillsVersion) {
1384
1392
  headers["X-Deepline-Skills-Version"] = skillsVersion;
1385
1393
  }
1386
- const agentSessionId = agentSessionIdFromEnvironment();
1394
+ const agentSessionId = agentSessionIdFromEnvironment(env);
1387
1395
  if (agentSessionId) {
1388
1396
  headers["X-Deepline-Agent-Session-Id"] = agentSessionId;
1389
1397
  }
1390
- const playArtifactR2Prefix = typeof process !== "undefined" ? process.env?.DEEPLINE_PLAY_ARTIFACT_R2_PREFIX : void 0;
1398
+ const playArtifactR2Prefix = env.DEEPLINE_PLAY_ARTIFACT_R2_PREFIX;
1391
1399
  if (playArtifactR2Prefix) {
1392
1400
  headers["x-deepline-play-artifact-r2-prefix"] = playArtifactR2Prefix;
1393
1401
  }
1394
- const coordinatorUrl = typeof process !== "undefined" ? process.env?.DEEPLINE_COORDINATOR_URL : void 0;
1395
- const coordinatorInternalToken = typeof process !== "undefined" ? process.env?.DEEPLINE_INTERNAL_TOKEN : void 0;
1396
- const absurdReleaseOverride = typeof process !== "undefined" ? process.env?.DEEPLINE_ABSURD_RELEASE : void 0;
1397
- const preferredReceiptGatewayMachineId = typeof process !== "undefined" ? process.env?.DEEPLINE_PREFERRED_RECEIPT_GATEWAY_MACHINE_ID : void 0;
1402
+ const coordinatorUrl = env.DEEPLINE_COORDINATOR_URL;
1403
+ const coordinatorInternalToken = env.DEEPLINE_INTERNAL_TOKEN;
1404
+ const absurdReleaseOverride = env.DEEPLINE_ABSURD_RELEASE;
1405
+ const preferredReceiptGatewayMachineId = env.DEEPLINE_PREFERRED_RECEIPT_GATEWAY_MACHINE_ID;
1398
1406
  if (coordinatorUrl?.trim()) {
1399
1407
  headers[COORDINATOR_URL_OVERRIDE_HEADER] = coordinatorUrl.trim();
1400
1408
  }
1401
- const workerCallbackUrl = typeof process !== "undefined" ? process.env?.DEEPLINE_WORKER_CALLBACK_URL : void 0;
1409
+ const workerCallbackUrl = env.DEEPLINE_WORKER_CALLBACK_URL;
1402
1410
  if (workerCallbackUrl?.trim()) {
1403
1411
  headers[WORKER_CALLBACK_URL_OVERRIDE_HEADER] = workerCallbackUrl.trim();
1404
1412
  }
1405
- const runtimeSchedulerSchema = typeof process !== "undefined" ? process.env?.DEEPLINE_RUNTIME_SCHEDULER_SCHEMA : void 0;
1413
+ const runtimeSchedulerSchema = env.DEEPLINE_RUNTIME_SCHEDULER_SCHEMA;
1406
1414
  if (runtimeSchedulerSchema?.trim()) {
1407
1415
  headers[RUNTIME_SCHEDULER_SCHEMA_OVERRIDE_HEADER] = runtimeSchedulerSchema.trim();
1408
1416
  }
1409
- const syntheticRun = typeof process !== "undefined" ? process.env?.DEEPLINE_SYNTHETIC_RUN : void 0;
1417
+ const syntheticRun = env.DEEPLINE_SYNTHETIC_RUN;
1410
1418
  if (syntheticRun && syntheticRun.trim() && syntheticRun.trim() !== "0") {
1411
1419
  headers[SYNTHETIC_RUN_HEADER] = "1";
1412
1420
  }
1413
- const runtimeTestFault = typeof process !== "undefined" ? process.env?.DEEPLINE_TEST_RUNTIME_FAULT : void 0;
1421
+ const runtimeTestFault = env.DEEPLINE_TEST_RUNTIME_FAULT;
1414
1422
  if (runtimeTestFault?.trim()) {
1415
1423
  headers[PLAY_RUNTIME_TEST_FAULT_HEADER] = runtimeTestFault.trim();
1416
1424
  }
1417
- const retainedReceivers = typeof process !== "undefined" ? process.env?.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS?.trim() : void 0;
1425
+ const retainedReceivers = env.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS?.trim();
1418
1426
  if (retainedReceivers && coordinatorInternalToken?.trim()) {
1419
1427
  headers[RETAINED_PIPELINE_RECEIVERS_HEADER] = retainedReceivers;
1420
1428
  headers[COORDINATOR_INTERNAL_TOKEN_HEADER] = coordinatorInternalToken.trim();