deepline 0.3.408 → 0.3.410

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 (217) hide show
  1. package/dist/bundling-sources/sdk/src/agent-runtime.ts +18 -1
  2. package/dist/bundling-sources/sdk/src/client.ts +212 -334
  3. package/dist/bundling-sources/sdk/src/compat.ts +45 -2
  4. package/dist/bundling-sources/sdk/src/db/query.ts +9 -10
  5. package/dist/bundling-sources/sdk/src/http.ts +38 -20
  6. package/dist/bundling-sources/sdk/src/index.ts +4 -5
  7. package/dist/bundling-sources/sdk/src/play.ts +10 -10
  8. package/dist/bundling-sources/sdk/src/plays/bundle-play-file.ts +6 -4
  9. package/dist/bundling-sources/sdk/src/plays/check-local-play-graph.ts +114 -0
  10. package/dist/bundling-sources/sdk/src/plays/client.ts +431 -0
  11. package/dist/bundling-sources/sdk/src/plays/local-play-execution.ts +2 -2
  12. package/dist/bundling-sources/sdk/src/plays/run-request.ts +106 -16
  13. package/dist/bundling-sources/sdk/src/release.ts +13 -7
  14. package/dist/bundling-sources/sdk/src/runs/read-errors.ts +8 -0
  15. package/dist/bundling-sources/sdk/src/runs/watch-polling.ts +124 -13
  16. package/dist/bundling-sources/sdk/src/tool-calls.ts +108 -19
  17. package/dist/bundling-sources/sdk/src/types.ts +18 -0
  18. package/dist/bundling-sources/shared_libs/integration-contracts/execute-retry-contract.ts +37 -0
  19. package/dist/bundling-sources/shared_libs/integration-contracts/package.json +3 -0
  20. package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +3 -1
  21. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +277 -76
  22. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +6 -0
  23. package/dist/bundling-sources/shared_libs/play-runtime/dataset-row-input.ts +124 -0
  24. package/dist/bundling-sources/shared_libs/play-runtime/durable-call-cache.ts +6 -62
  25. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +1 -0
  26. package/dist/bundling-sources/shared_libs/play-runtime/durable-tool-identity.ts +67 -0
  27. package/dist/bundling-sources/shared_libs/play-runtime/execute-server-timing.ts +64 -6
  28. package/dist/bundling-sources/shared_libs/play-runtime/freshness-receipt-execution.ts +1 -5
  29. package/dist/bundling-sources/shared_libs/play-runtime/ledger-safe-payload.ts +1 -1
  30. package/dist/bundling-sources/shared_libs/play-runtime/play-artifact-runtime-contract.ts +3 -0
  31. package/dist/bundling-sources/shared_libs/play-runtime/play-http-request.ts +10 -0
  32. package/dist/bundling-sources/shared_libs/play-runtime/query-result-dataset.ts +3 -0
  33. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/egress-probe.ts +3 -0
  34. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +26 -16
  35. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-heartbeat.ts +36 -11
  36. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-terminal-push.ts +35 -0
  37. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-launch-transport.ts +21 -0
  38. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +21 -6
  39. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +11 -2
  40. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +85 -20
  41. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +71 -13
  42. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-execution-queries.ts +100 -0
  43. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-pool.ts +9 -5
  44. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +337 -146
  45. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-shared.ts +26 -12
  46. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +3 -1
  47. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +425 -102
  48. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-dispatch-authority.ts +4 -0
  49. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +4 -0
  50. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +9 -0
  51. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +181 -124
  52. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-worker-wake.ts +152 -0
  53. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +5 -3
  54. package/dist/bundling-sources/shared_libs/play-runtime/tool-cache-policy.ts +31 -0
  55. package/dist/bundling-sources/shared_libs/play-runtime/transient-service-error.ts +10 -0
  56. package/dist/bundling-sources/shared_libs/plays/ambiguous-write-error.ts +25 -0
  57. package/dist/bundling-sources/shared_libs/plays/artifact-types.ts +4 -0
  58. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +63 -68
  59. package/dist/bundling-sources/shared_libs/plays/bundling/index.ts +129 -63
  60. package/dist/bundling-sources/shared_libs/plays/contracts.ts +14 -0
  61. package/dist/bundling-sources/shared_libs/plays/enrich-play-compiler.ts +58 -16
  62. package/dist/bundling-sources/shared_libs/plays/fetch-http-error.ts +50 -0
  63. package/dist/bundling-sources/shared_libs/plays/source-authoring-edition.ts +351 -0
  64. package/dist/bundling-sources/shared_libs/plays/tool-list-getter-mode.ts +9 -0
  65. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +1 -1
  66. package/dist/cli/{auth-UVD3CUBB.mjs → auth-LLXLIILR.mjs} +6 -6
  67. package/dist/cli/auth-UG4WOYGL.js +40 -0
  68. package/dist/cli/{billing-BZVTXXLM.mjs → billing-5FVXZYAC.mjs} +8 -8
  69. package/dist/cli/{billing-BZVYAF6T.js → billing-NFPK7GYP.js} +84 -84
  70. package/dist/cli/{chunk-ZAAKSJAS.js → chunk-27GJKC5Q.js} +17 -10
  71. package/dist/cli/{chunk-UHNDVD3P.js → chunk-2H4EY7KH.js} +100 -41
  72. package/dist/cli/{chunk-WTT6CLED.mjs → chunk-2YR7BIIC.mjs} +5 -2
  73. package/dist/cli/{chunk-3ZB6IIA7.js → chunk-36AHOWVS.js} +26 -26
  74. package/dist/cli/{chunk-OSDXE27V.mjs → chunk-4PG4ARL2.mjs} +17 -10
  75. package/dist/cli/{chunk-LOYISF7S.mjs → chunk-4XQLVUC7.mjs} +738 -512
  76. package/dist/cli/{chunk-J5PTX66Y.js → chunk-5MLCBXXU.js} +8 -1
  77. package/dist/cli/chunk-5TUGWDEB.js +313 -0
  78. package/dist/cli/{chunk-D6FFBSM5.js → chunk-5UUQAGJS.js} +5 -2
  79. package/dist/cli/{chunk-4CFULMRB.mjs → chunk-5V5Y37BC.mjs} +2 -2
  80. package/dist/cli/{chunk-PMVFAYL7.mjs → chunk-63ILLN5H.mjs} +2 -2
  81. package/dist/cli/{chunk-AUMD2VXP.js → chunk-63S7X326.js} +1032 -806
  82. package/dist/cli/{chunk-4QFT5LGV.mjs → chunk-6PGATQ6L.mjs} +6 -3
  83. package/dist/cli/{chunk-6BJK4EJ3.mjs → chunk-AARWVK4C.mjs} +2132 -65
  84. package/dist/cli/{chunk-FERRDNMO.js → chunk-AD47BXN2.js} +5 -5
  85. package/dist/cli/{chunk-4RNDKFNQ.js → chunk-D37FEBES.js} +2 -2
  86. package/dist/cli/{chunk-S6R3OX7B.js → chunk-E4CABWXL.js} +25 -2
  87. package/dist/cli/{chunk-NXGCO4JB.mjs → chunk-E4IXDAZI.mjs} +5 -0
  88. package/dist/cli/chunk-EQ4Z7RJW.mjs +35 -0
  89. package/dist/cli/chunk-FR2ILQ4G.mjs +8 -0
  90. package/dist/cli/{chunk-QUAQX3FQ.js → chunk-FVLNYDI4.js} +128 -376
  91. package/dist/cli/{chunk-BRJUESQV.js → chunk-FZJAM576.js} +50 -50
  92. package/dist/cli/{chunk-BZAMOCPA.mjs → chunk-IMZ56EOH.mjs} +3 -3
  93. package/dist/cli/{chunk-IOHRWLQE.mjs → chunk-IPG42SD2.mjs} +452 -138
  94. package/dist/cli/chunk-J33TSWO5.js +8 -0
  95. package/dist/cli/{chunk-XXLXOUUU.mjs → chunk-JNXJZ577.mjs} +1 -1
  96. package/dist/cli/{chunk-JI2B4RZP.mjs → chunk-KCC3FKIW.mjs} +71 -12
  97. package/dist/cli/{chunk-6IKARAYD.mjs → chunk-L2VKAASU.mjs} +23 -0
  98. package/dist/cli/{chunk-PYZZMAJQ.mjs → chunk-LFSHGNT2.mjs} +8 -1
  99. package/dist/cli/{chunk-2XXXFPTD.js → chunk-LTFL4JRN.js} +426 -721
  100. package/dist/cli/{chunk-YHPYUZZX.mjs → chunk-MAMVGOSC.mjs} +1 -1
  101. package/dist/cli/{chunk-URACNNLO.mjs → chunk-MN2OWLFA.mjs} +2 -2
  102. package/dist/cli/{chunk-Q3PUHXOY.js → chunk-NF4V5DTY.js} +12 -12
  103. package/dist/cli/{chunk-Q2E4E4FJ.js → chunk-NPBJI7RE.js} +8 -8
  104. package/dist/cli/chunk-NTVLGHFM.js +501 -0
  105. package/dist/cli/{chunk-HQXL5526.mjs → chunk-NUX2QHNC.mjs} +1 -1
  106. package/dist/cli/{chunk-E3PJF6YP.js → chunk-OBB4QXHA.js} +19 -4
  107. package/dist/cli/{chunk-SEFMGO3Z.js → chunk-OQQOXSYA.js} +2184 -117
  108. package/dist/cli/chunk-OZ6E3IRZ.js +6084 -0
  109. package/dist/cli/{chunk-7P5AA3SN.js → chunk-PPDBRJRW.js} +6 -1
  110. package/dist/cli/{chunk-IWBXJDZA.mjs → chunk-PZSLPBDA.mjs} +2 -2
  111. package/dist/cli/{chunk-ILHRA7AD.js → chunk-QADCFSGH.js} +7 -7
  112. package/dist/cli/{chunk-ECVLPS67.js → chunk-QJI5FIOW.js} +170 -49
  113. package/dist/cli/{chunk-I3DHIXVJ.mjs → chunk-QL22Y56M.mjs} +149 -28
  114. package/dist/cli/{chunk-SD7MXAJA.mjs → chunk-RFB25DSQ.mjs} +36 -284
  115. package/dist/cli/chunk-T44IIOT6.mjs +501 -0
  116. package/dist/cli/chunk-VK2LZ5IP.js +35 -0
  117. package/dist/cli/chunk-VKKVSFRD.js +62 -0
  118. package/dist/cli/{chunk-RWCY6YI2.js → chunk-VYKV5XHL.js} +644 -330
  119. package/dist/cli/{chunk-GSK6NHVM.js → chunk-WU4U6VSB.js} +5 -5
  120. package/dist/cli/chunk-XHLKJOTN.mjs +313 -0
  121. package/dist/cli/{chunk-MJELBQBU.mjs → chunk-XIHWSXSV.mjs} +330 -625
  122. package/dist/cli/chunk-XNZJKRJA.mjs +6084 -0
  123. package/dist/cli/chunk-ZCALLYF6.mjs +62 -0
  124. package/dist/cli/{chunk-ZBABPK6Y.js → chunk-ZFZ427HN.js} +11 -8
  125. package/dist/cli/{chunk-SJVVBWRL.mjs → chunk-ZKYEW55U.mjs} +16 -1
  126. package/dist/cli/command-docs.js +2 -2
  127. package/dist/cli/command-docs.mjs +1 -1
  128. package/dist/cli/{csv-XLGLHJ6P.js → csv-7U3FJYKZ.js} +14 -14
  129. package/dist/cli/{csv-WPSXG6ZZ.mjs → csv-ZWLDMM4A.mjs} +5 -5
  130. package/dist/cli/{db-5PTNJG4X.js → db-DNCGV5PC.js} +42 -47
  131. package/dist/cli/{db-ABS57ABJ.mjs → db-IMYXVMGI.mjs} +15 -20
  132. package/dist/cli/{describe-PVWQJ2PB.mjs → describe-Q23DWJUK.mjs} +20 -15
  133. package/dist/cli/{describe-EZS6PQXA.js → describe-S34JUX5W.js} +27 -22
  134. package/dist/cli/describe-core.d.mts +2 -2
  135. package/dist/cli/describe-core.d.ts +2 -2
  136. package/dist/cli/describe-core.js +6 -6
  137. package/dist/cli/describe-core.mjs +5 -5
  138. package/dist/cli/{executions-OKJGATQZ.mjs → executions-A73EUGSI.mjs} +8 -8
  139. package/dist/cli/{executions-FNTAFQ7Y.js → executions-XOMPX2YJ.js} +10 -10
  140. package/dist/cli/{feedback-W27HDMRR.mjs → feedback-N4GJ2POI.mjs} +11 -7
  141. package/dist/cli/{feedback-6YBOMSUA.js → feedback-QTCHNJJH.js} +13 -9
  142. package/dist/cli/{git-YOOUEL6M.mjs → git-4Q3JIQYZ.mjs} +6 -6
  143. package/dist/cli/git-I6CPBEVG.js +24 -0
  144. package/dist/cli/index.js +240 -352
  145. package/dist/cli/index.mjs +163 -275
  146. package/dist/cli/{legacy-noops-V6OKW7VR.mjs → legacy-noops-3SOVGFF7.mjs} +6 -6
  147. package/dist/cli/{legacy-noops-2VZ7XT6C.js → legacy-noops-4OSHZM34.js} +9 -9
  148. package/dist/cli/{monitors-FBWGVIUS.js → monitors-LVE2KZNG.js} +94 -94
  149. package/dist/cli/{monitors-P2YYWTWT.mjs → monitors-QP2XID2B.mjs} +8 -8
  150. package/dist/cli/{org-DVMG6H3C.mjs → org-IVRETVQA.mjs} +8 -8
  151. package/dist/cli/{org-3XUSVX5T.js → org-XFLK5IAP.js} +68 -68
  152. package/dist/cli/{play-GNC5CQAS.mjs → play-DE7VH6NU.mjs} +533 -98
  153. package/dist/cli/{play-YG5L4BWQ.js → play-XXTPPP23.js} +1067 -632
  154. package/dist/cli/{providers-7PSWG2OV.js → providers-DLD3I4JF.js} +11 -11
  155. package/dist/cli/{providers-JR33SLWL.mjs → providers-GX2NIZQQ.mjs} +8 -8
  156. package/dist/cli/{quickstart-VUOBQYIQ.mjs → quickstart-72B4L4PK.mjs} +5 -5
  157. package/dist/cli/{quickstart-FDVZ5BL3.js → quickstart-XNS3HSWC.js} +7 -7
  158. package/dist/cli/search-6NCH4HB5.js +30 -0
  159. package/dist/cli/{search-JZYLO33K.mjs → search-SUTRANJI.mjs} +9 -9
  160. package/dist/cli/{secrets-VS266FVA.js → secrets-6OBLOVEV.js} +17 -17
  161. package/dist/cli/{secrets-3MCYBT4I.mjs → secrets-FPFXXNUH.mjs} +8 -8
  162. package/dist/cli/sessions-235532DR.js +16 -0
  163. package/dist/cli/{sessions-ELLLT23E.mjs → sessions-R25I4QKN.mjs} +6 -6
  164. package/dist/cli/{settings-PZCKAFII.mjs → settings-AOP6F5PZ.mjs} +12 -12
  165. package/dist/cli/{settings-7364NMMA.js → settings-VL5FOFPN.js} +79 -79
  166. package/dist/cli/{setup-PMWYLCT6.js → setup-BSC67YT3.js} +45 -44
  167. package/dist/cli/{setup-A7GQ4KIA.mjs → setup-ZMPHBHVJ.mjs} +11 -10
  168. package/dist/cli/skills-3IWLYYRL.js +29 -0
  169. package/dist/cli/{skills-WS6BIFPQ.mjs → skills-KF65TVFO.mjs} +7 -7
  170. package/dist/cli/tools-LR66SPYU.js +44 -0
  171. package/dist/cli/{tools-BR4DOZA2.mjs → tools-SX4XIPM7.mjs} +19 -14
  172. package/dist/cli/{update-D2B7UNFT.mjs → update-QRMFRAQQ.mjs} +11 -9
  173. package/dist/cli/update-SP7UEO53.js +31 -0
  174. package/dist/cli/{workflow-PQXC2R47.mjs → workflow-FOEEEB7G.mjs} +44 -20
  175. package/dist/cli/{workflow-6ODTCYXU.js → workflow-KOCK2FLW.js} +54 -30
  176. package/dist/{client-Z9Pye1Wm.d.mts → client-74k4IPh6.d.mts} +137 -54
  177. package/dist/{client-BcvhDfJJ.d.ts → client-C1IK1f8c.d.ts} +137 -54
  178. package/dist/{compiler-manifest-Ycx-hoAr.d.mts → compiler-manifest-lzWpbV3w.d.mts} +83 -66
  179. package/dist/{compiler-manifest-Ycx-hoAr.d.ts → compiler-manifest-lzWpbV3w.d.ts} +83 -66
  180. package/dist/{index-CZXgiN3E.d.mts → index-C8Cy-YTm.d.ts} +5 -1
  181. package/dist/{index-NPG5pqxQ.d.ts → index-CtNK-0nI.d.mts} +5 -1
  182. package/dist/index.d.mts +47 -9
  183. package/dist/index.d.ts +47 -9
  184. package/dist/index.js +17 -14
  185. package/dist/index.mjs +13 -10
  186. package/dist/install-integrity.json +120 -104
  187. package/dist/plays/bundle-play-file.d.mts +3 -3
  188. package/dist/plays/bundle-play-file.d.ts +3 -3
  189. package/dist/plays/bundle-play-file.mjs +5 -4
  190. package/dist/plays/csv-data-input.js +3 -3
  191. package/dist/plays/csv-data-input.mjs +2 -2
  192. package/dist/plays/play-description.d.mts +2 -2
  193. package/dist/plays/play-description.d.ts +2 -2
  194. package/dist/plays/run-request.d.mts +2 -2
  195. package/dist/plays/run-request.d.ts +2 -2
  196. package/dist/plays/run-request.js +11 -3
  197. package/dist/plays/run-request.mjs +10 -2
  198. package/dist/release.d.mts +15 -6
  199. package/dist/release.d.ts +15 -6
  200. package/dist/release.js +2 -2
  201. package/dist/release.mjs +1 -1
  202. package/package.json +2 -2
  203. package/dist/cli/auth-3GB2K636.js +0 -40
  204. package/dist/cli/chunk-67RWR34T.mjs +0 -155
  205. package/dist/cli/chunk-CLJGSOVM.mjs +0 -1716
  206. package/dist/cli/chunk-HQY2SG3K.js +0 -83
  207. package/dist/cli/chunk-OSFWFV72.js +0 -155
  208. package/dist/cli/chunk-Q3LFI3VH.js +0 -392
  209. package/dist/cli/chunk-WPAB4DCU.mjs +0 -83
  210. package/dist/cli/chunk-YMOFWHGO.mjs +0 -392
  211. package/dist/cli/chunk-Z4VNJOF7.js +0 -1716
  212. package/dist/cli/git-YKUXXJOR.js +0 -24
  213. package/dist/cli/search-PPPYC5OZ.js +0 -30
  214. package/dist/cli/sessions-TEHEWW7O.js +0 -16
  215. package/dist/cli/skills-SYS7VRRK.js +0 -29
  216. package/dist/cli/tools-KK4BKVQR.js +0 -39
  217. package/dist/cli/update-2IV5JTX2.js +0 -29
@@ -763,7 +763,8 @@ Cost:
763
763
  core: `
764
764
  Purpose:
765
765
  Inventory of saved and prebuilt plays, one bounded page at a time.[[cli: It is
766
- the command that carries cost estimates.]]
766
+ the command that carries cost estimates.]][[mcp: Search returns Play summaries;
767
+ deepline_describe_play returns input/output schemas and CSV contracts.]]
767
768
  When:
768
769
  [[cli:
769
770
  To price a play before running it: plays list --show-cost, then read the
@@ -787,6 +788,12 @@ Output (JSON):
787
788
  next (the next-page command), render.sections with a "cost estimate:"
788
789
  line per play.
789
790
  ]]
791
+ [[mcp:
792
+ Output:
793
+ data[] with Play names, references, descriptions, ownership, and revision
794
+ metadata. Use deepline_describe_play for input/output schemas and CSV
795
+ contracts before running a Play.
796
+ ]]
790
797
  Cost:
791
798
  Free.
792
799
  [[cli:
@@ -0,0 +1,313 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkQJI5FIOWjs = require('./chunk-QJI5FIOW.js');
8
+
9
+
10
+ var _chunkLTFL4JRNjs = require('./chunk-LTFL4JRN.js');
11
+
12
+
13
+
14
+ var _chunkNF4V5DTYjs = require('./chunk-NF4V5DTY.js');
15
+
16
+
17
+
18
+ var _chunkFVLNYDI4js = require('./chunk-FVLNYDI4.js');
19
+
20
+ // src/cli/compatibility-catalog.ts
21
+ var readers = /* @__PURE__ */ new WeakMap();
22
+ function registerCompatibilityCatalog(command, read) {
23
+ readers.set(command, read);
24
+ }
25
+ function compatibilityCatalog(command) {
26
+ return _optionalChain([readers, 'access', _ => _.get, 'call', _2 => _2(command), 'optionalCall', _3 => _3()]);
27
+ }
28
+
29
+ // src/cli/self-update.ts
30
+ var _child_process = require('child_process');
31
+ var AUTO_UPDATE_TELEMETRY_TIMEOUT_MS = 2e3;
32
+ var TRUSTED_AUTO_UPDATE_ORIGIN = "https://code.deepline.com";
33
+ function trustedAutoUpdateRegistryUrl(baseUrl) {
34
+ try {
35
+ const url = new URL(baseUrl);
36
+ if (url.origin !== TRUSTED_AUTO_UPDATE_ORIGIN) return null;
37
+ return new URL("/api/v2/npm/", url.origin).toString();
38
+ } catch (e) {
39
+ return null;
40
+ }
41
+ }
42
+ async function reportAutoUpdateEvent(input) {
43
+ let apiKey = "";
44
+ try {
45
+ apiKey = _chunkFVLNYDI4js.resolveApiKeyForBaseUrl.call(void 0, input.baseUrl);
46
+ } catch (e2) {
47
+ return;
48
+ }
49
+ if (!apiKey) return;
50
+ const controller = new AbortController();
51
+ const timeout = setTimeout(
52
+ () => controller.abort(),
53
+ AUTO_UPDATE_TELEMETRY_TIMEOUT_MS
54
+ );
55
+ try {
56
+ await fetch(new URL("/api/v2/telemetry/auto-update", input.baseUrl), {
57
+ method: "POST",
58
+ headers: {
59
+ Authorization: `Bearer ${apiKey}`,
60
+ "Content-Type": "application/json",
61
+ "User-Agent": `deepline-ts-sdk/${_chunkFVLNYDI4js.SDK_VERSION}`,
62
+ "X-Deepline-Client-Family": "sdk",
63
+ "X-Deepline-CLI-Family": "sdk",
64
+ "X-Deepline-CLI-Version": _chunkFVLNYDI4js.SDK_VERSION,
65
+ "X-Deepline-SDK-Version": _chunkFVLNYDI4js.SDK_VERSION
66
+ },
67
+ body: JSON.stringify({
68
+ event: input.event,
69
+ current_version: _optionalChain([input, 'access', _4 => _4.response, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _chunkFVLNYDI4js.SDK_VERSION,
70
+ target_version: input.response.latest,
71
+ reason: _optionalChain([input, 'access', _8 => _8.response, 'access', _9 => _9.auto_update, 'optionalAccess', _10 => _10.reason]),
72
+ command: _nullishCoalesce(input.response.command, () => ( null)),
73
+ install_kind: input.installKind,
74
+ ...input.exitCode === void 0 ? {} : { exit_code: input.exitCode }
75
+ }),
76
+ signal: controller.signal
77
+ });
78
+ } catch (e3) {
79
+ } finally {
80
+ clearTimeout(timeout);
81
+ }
82
+ }
83
+ function envTruthy(name) {
84
+ const value = _optionalChain([process, 'access', _11 => _11.env, 'access', _12 => _12[name], 'optionalAccess', _13 => _13.trim, 'call', _14 => _14(), 'access', _15 => _15.toLowerCase, 'call', _16 => _16()]);
85
+ return value === "1" || value === "true" || value === "yes";
86
+ }
87
+ function shouldSkipSelfUpdate(policy) {
88
+ return policy === "off" || envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || !_chunkQJI5FIOWjs.shouldRunCliAutoUpdate.call(void 0, ) || _chunkLTFL4JRNjs.isCiEnvironment.call(void 0, );
89
+ }
90
+ function isDowngradeAutoUpdateResponse(response) {
91
+ const target = _optionalChain([response, 'optionalAccess', _17 => _17.latest, 'optionalAccess', _18 => _18.trim, 'call', _19 => _19()]);
92
+ const current = _optionalChain([response, 'optionalAccess', _20 => _20.current, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) || _chunkFVLNYDI4js.SDK_VERSION;
93
+ if (!target) return false;
94
+ return _chunkQJI5FIOWjs.compareUpdateVersions.call(void 0, target, current) < 0;
95
+ }
96
+ function relaunchCurrentCommand(plan, runtime = {}) {
97
+ return new Promise((resolve) => {
98
+ const command = plan.kind === "python-sidecar" ? plan.sidecarPath : _nullishCoalesce(runtime.execPath, () => ( process.execPath));
99
+ const argv = _nullishCoalesce(runtime.argv, () => ( process.argv));
100
+ const args = plan.kind === "python-sidecar" ? argv.slice(2) : argv.slice(1);
101
+ const platform = _nullishCoalesce(runtime.platform, () => ( process.platform));
102
+ const child = _child_process.spawn.call(void 0, command, args, {
103
+ stdio: "inherit",
104
+ // The Node executable is a native binary and must be spawned directly;
105
+ // passing `C:\Program Files\...\node.exe` through cmd.exe splits it
106
+ // at the first space. The Python-sidecar launcher is a `.cmd` file on
107
+ // Windows and still needs the shell dispatch it has always used.
108
+ shell: plan.kind === "python-sidecar" && platform === "win32",
109
+ env: {
110
+ ...process.env,
111
+ DEEPLINE_NO_AUTO_UPDATE: "1"
112
+ }
113
+ });
114
+ child.on("error", (error) => {
115
+ process.stderr.write(
116
+ `Deepline SDK/CLI updated, but relaunch failed: ${error.message}
117
+ `
118
+ );
119
+ resolve(1);
120
+ });
121
+ child.on("close", (code) => resolve(_nullishCoalesce(code, () => ( 1))));
122
+ });
123
+ }
124
+ var deferredAutoUpdate = null;
125
+ function hasDeferredAutoUpdate() {
126
+ return deferredAutoUpdate !== null;
127
+ }
128
+ async function runDeferredAutoUpdate() {
129
+ const apply = deferredAutoUpdate;
130
+ deferredAutoUpdate = null;
131
+ try {
132
+ await _optionalChain([apply, 'optionalCall', _23 => _23()]);
133
+ } catch (error) {
134
+ process.stderr.write(
135
+ `Deepline SDK/CLI auto-update failed: ${error instanceof Error ? error.message : String(error)}
136
+ `
137
+ );
138
+ }
139
+ }
140
+ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configured") {
141
+ const autoUpdate = _optionalChain([response, 'optionalAccess', _24 => _24.auto_update]);
142
+ if (!response || !_optionalChain([autoUpdate, 'optionalAccess', _25 => _25.should_auto_update]) || shouldSkipSelfUpdate(policy)) {
143
+ return false;
144
+ }
145
+ if (isDowngradeAutoUpdateResponse(response)) {
146
+ const target = response.latest;
147
+ const current = _optionalChain([response, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || _chunkFVLNYDI4js.SDK_VERSION;
148
+ process.stderr.write(
149
+ `Deepline SDK/CLI auto-update refused: server advertised older ${target} than current ${current}. Continuing without mutating the CLI.
150
+ `
151
+ );
152
+ return false;
153
+ }
154
+ const packageSpec = response.latest ? `deepline@${response.latest}` : void 0;
155
+ const plan = _chunkQJI5FIOWjs.resolveUpdatePlan.call(void 0, {
156
+ packageSpec,
157
+ requireVerifiedNpmOwnership: true,
158
+ npmFallbackRegistryUrl: trustedAutoUpdateRegistryUrl(baseUrl)
159
+ });
160
+ if (!_chunkQJI5FIOWjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) {
161
+ return false;
162
+ }
163
+ if (!autoUpdate.required && autoUpdate.reason !== "rollback_forced") {
164
+ deferredAutoUpdate = async () => {
165
+ await applyAutoUpdate(response, baseUrl, plan, "next_command");
166
+ };
167
+ if (_chunkNF4V5DTYjs.isJsonOutputMode.call(void 0, )) {
168
+ const target = _optionalChain([response, 'access', _29 => _29.latest, 'optionalAccess', _30 => _30.trim, 'call', _31 => _31()]);
169
+ _chunkNF4V5DTYjs.addJsonNotice.call(void 0, {
170
+ code: "sdk_update_queued",
171
+ message: `Deepline SDK/CLI update${target ? ` to ${target}` : ""} is queued after this command; the next command will use it if installation succeeds.`
172
+ });
173
+ }
174
+ return false;
175
+ }
176
+ if (!await applyAutoUpdate(response, baseUrl, plan, "rerun")) return false;
177
+ const exitCode = await relaunchCurrentCommand(plan);
178
+ process.exit(exitCode);
179
+ return true;
180
+ }
181
+ async function applyAutoUpdate(response, baseUrl, plan, takesEffect) {
182
+ if (!_chunkQJI5FIOWjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) return false;
183
+ const autoUpdate = response.auto_update;
184
+ const label = _optionalChain([autoUpdate, 'optionalAccess', _32 => _32.reason]) === "rollback_forced" ? "has a server rollback pending and needs the latest rollback-aware CLI" : _optionalChain([autoUpdate, 'optionalAccess', _33 => _33.reason]) === "deprecated" ? "is deprecated and will update automatically" : _optionalChain([autoUpdate, 'optionalAccess', _34 => _34.required]) ? "requires an update" : "has an update available and will update automatically";
185
+ process.stderr.write(
186
+ `Deepline SDK/CLI ${label}; running ${plan.manualCommand}
187
+ `
188
+ );
189
+ void reportAutoUpdateEvent({
190
+ baseUrl,
191
+ response,
192
+ event: "started",
193
+ installKind: plan.kind
194
+ });
195
+ const updateResult = await _chunkQJI5FIOWjs.runAutomaticUpdatePlan.call(void 0, plan);
196
+ if (updateResult.status === "skipped_previous_failure") {
197
+ void reportAutoUpdateEvent({
198
+ baseUrl,
199
+ response,
200
+ event: "skipped_previous_failure",
201
+ installKind: plan.kind,
202
+ exitCode: updateResult.exitCode
203
+ });
204
+ return false;
205
+ }
206
+ if (updateResult.exitCode !== 0) {
207
+ void reportAutoUpdateEvent({
208
+ baseUrl,
209
+ response,
210
+ event: "failed",
211
+ installKind: plan.kind,
212
+ exitCode: updateResult.exitCode
213
+ });
214
+ if (_optionalChain([autoUpdate, 'optionalAccess', _35 => _35.required])) {
215
+ throw new Error(
216
+ `Automatic Deepline SDK/CLI update failed with exit code ${updateResult.exitCode}. ${response.message}`
217
+ );
218
+ }
219
+ process.stderr.write(
220
+ `Deepline SDK/CLI auto-update failed with exit code ${updateResult.exitCode}; continuing with ${_nullishCoalesce(response.current, () => ( "current version"))}.
221
+ `
222
+ );
223
+ return false;
224
+ }
225
+ void reportAutoUpdateEvent({
226
+ baseUrl,
227
+ response,
228
+ event: "succeeded",
229
+ installKind: plan.kind,
230
+ exitCode: 0
231
+ });
232
+ const updateSummary = response.update_summary ? `
233
+ What changed in ${response.update_summary.version}: ${response.update_summary.summary}` : "";
234
+ process.stderr.write(
235
+ `${takesEffect === "rerun" ? "Deepline SDK/CLI updated; rerunning command." : `Deepline SDK/CLI updated to ${response.latest}; the next command uses it.`}${updateSummary}
236
+ `
237
+ );
238
+ return true;
239
+ }
240
+
241
+ // src/cli/tool-execute-observability.ts
242
+ var _crypto = require('crypto');
243
+ var TOOL_EXECUTE_PROGRESS_INTERVAL_MS = 15e3;
244
+ var activeToolExecuteCommand = null;
245
+ function progressLine(line) {
246
+ if (!_chunkNF4V5DTYjs.isJsonOutputMode.call(void 0, )) console.error(line);
247
+ }
248
+ function beginToolExecuteCommand() {
249
+ if (activeToolExecuteCommand) return activeToolExecuteCommand.invocationId;
250
+ const invocationId = _crypto.randomUUID.call(void 0, );
251
+ activeToolExecuteCommand = {
252
+ invocationId,
253
+ startedAt: performance.now()
254
+ };
255
+ progressLine(`[tools execute ${invocationId}] started`);
256
+ return invocationId;
257
+ }
258
+ function getToolExecuteInvocationId() {
259
+ return _nullishCoalesce(_optionalChain([activeToolExecuteCommand, 'optionalAccess', _36 => _36.invocationId]), () => ( null));
260
+ }
261
+ async function runToolExecuteStage(stage, action) {
262
+ const command = activeToolExecuteCommand;
263
+ if (!command) return action();
264
+ const startedAt = performance.now();
265
+ const elapsedMs = () => Math.round(performance.now() - startedAt);
266
+ progressLine(`[tools execute ${command.invocationId}] ${stage} started`);
267
+ const progressTimer = setInterval(() => {
268
+ progressLine(
269
+ `[tools execute ${command.invocationId}] ${stage} still running (${elapsedMs()}ms)`
270
+ );
271
+ }, TOOL_EXECUTE_PROGRESS_INTERVAL_MS);
272
+ _optionalChain([progressTimer, 'access', _37 => _37.unref, 'optionalCall', _38 => _38()]);
273
+ try {
274
+ const result = await action();
275
+ if (result === false) {
276
+ progressLine(
277
+ `[tools execute ${command.invocationId}] ${stage} failed after ${elapsedMs()}ms`
278
+ );
279
+ } else {
280
+ progressLine(
281
+ `[tools execute ${command.invocationId}] ${stage} completed in ${elapsedMs()}ms`
282
+ );
283
+ }
284
+ return result;
285
+ } catch (error) {
286
+ progressLine(
287
+ `[tools execute ${command.invocationId}] ${stage} failed after ${elapsedMs()}ms`
288
+ );
289
+ throw error;
290
+ } finally {
291
+ clearInterval(progressTimer);
292
+ }
293
+ }
294
+ function finishToolExecuteCommand() {
295
+ const command = activeToolExecuteCommand;
296
+ if (!command) return;
297
+ progressLine(
298
+ `[tools execute ${command.invocationId}] finished in ${Math.round(performance.now() - command.startedAt)}ms`
299
+ );
300
+ activeToolExecuteCommand = null;
301
+ }
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ exports.registerCompatibilityCatalog = registerCompatibilityCatalog; exports.compatibilityCatalog = compatibilityCatalog; exports.hasDeferredAutoUpdate = hasDeferredAutoUpdate; exports.runDeferredAutoUpdate = runDeferredAutoUpdate; exports.maybeAutoUpdateAndRelaunch = maybeAutoUpdateAndRelaunch; exports.beginToolExecuteCommand = beginToolExecuteCommand; exports.getToolExecuteInvocationId = getToolExecuteInvocationId; exports.runToolExecuteStage = runToolExecuteStage; exports.finishToolExecuteCommand = finishToolExecuteCommand;
@@ -49,8 +49,11 @@ var SDK_RELEASE = {
49
49
  // getters keep their established compatibility behavior.
50
50
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
51
51
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
52
- version: "0.3.408",
53
- updateSummary: "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.",
52
+ version: "0.3.410",
53
+ updateSummary: {
54
+ introducedIn: "0.3.90",
55
+ summary: "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."
56
+ },
54
57
  packageCapabilities: {
55
58
  updatePreferences: 1,
56
59
  skillsGuidance: 1
@@ -3,11 +3,11 @@ import {
3
3
  detectAgentRuntime,
4
4
  resolveCliCommandContext,
5
5
  resolveConfig
6
- } from "./chunk-SD7MXAJA.mjs";
6
+ } from "./chunk-RFB25DSQ.mjs";
7
7
  import {
8
8
  DeeplineError,
9
9
  serializeToolExecutionFailure
10
- } from "./chunk-NXGCO4JB.mjs";
10
+ } from "./chunk-E4IXDAZI.mjs";
11
11
 
12
12
  // src/cli/json-fields.ts
13
13
  var RUN_FIELDS = new Set(
@@ -3,7 +3,7 @@ import {
3
3
  formatModelDescription,
4
4
  publicToolSchemas,
5
5
  toolMetadataJsonForDescribe
6
- } from "./chunk-BZAMOCPA.mjs";
6
+ } from "./chunk-IMZ56EOH.mjs";
7
7
  import {
8
8
  buildPlayDashboardUrl,
9
9
  byokLines,
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-IHG7UAHD.mjs";
17
17
  import {
18
18
  DeeplineError
19
- } from "./chunk-NXGCO4JB.mjs";
19
+ } from "./chunk-E4IXDAZI.mjs";
20
20
 
21
21
  // src/cli/tool-features.ts
22
22
  var VIEWS = {