deepline 0.3.409 → 0.3.411

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 (215) hide show
  1. package/dist/bundling-sources/sdk/src/agent-runtime.ts +18 -1
  2. package/dist/bundling-sources/sdk/src/client.ts +206 -333
  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/monitors/package.json +1 -1
  21. package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +3 -1
  22. package/dist/bundling-sources/shared_libs/play-runtime/async-operation.ts +1 -1
  23. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +277 -76
  24. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +6 -0
  25. package/dist/bundling-sources/shared_libs/play-runtime/dataset-row-input.ts +124 -0
  26. package/dist/bundling-sources/shared_libs/play-runtime/durable-call-cache.ts +6 -62
  27. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +1 -0
  28. package/dist/bundling-sources/shared_libs/play-runtime/durable-tool-identity.ts +67 -0
  29. package/dist/bundling-sources/shared_libs/play-runtime/execute-server-timing.ts +64 -6
  30. package/dist/bundling-sources/shared_libs/play-runtime/freshness-receipt-execution.ts +1 -5
  31. package/dist/bundling-sources/shared_libs/play-runtime/ledger-safe-payload.ts +1 -1
  32. package/dist/bundling-sources/shared_libs/play-runtime/play-artifact-runtime-contract.ts +3 -0
  33. package/dist/bundling-sources/shared_libs/play-runtime/play-http-request.ts +10 -0
  34. package/dist/bundling-sources/shared_libs/play-runtime/query-result-dataset.ts +3 -0
  35. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/egress-probe.ts +3 -0
  36. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +26 -16
  37. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-heartbeat.ts +36 -11
  38. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-terminal-push.ts +35 -0
  39. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-launch-transport.ts +21 -0
  40. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +21 -6
  41. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +11 -2
  42. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +85 -20
  43. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +71 -13
  44. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-execution-queries.ts +100 -0
  45. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-pool.ts +9 -5
  46. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +337 -146
  47. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-shared.ts +26 -12
  48. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +3 -1
  49. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +425 -102
  50. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-dispatch-authority.ts +4 -0
  51. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +4 -0
  52. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +9 -0
  53. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +181 -124
  54. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-worker-wake.ts +152 -0
  55. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +5 -3
  56. package/dist/bundling-sources/shared_libs/play-runtime/tool-cache-policy.ts +31 -0
  57. package/dist/bundling-sources/shared_libs/play-runtime/transient-service-error.ts +10 -0
  58. package/dist/bundling-sources/shared_libs/plays/ambiguous-write-error.ts +25 -0
  59. package/dist/bundling-sources/shared_libs/plays/artifact-types.ts +4 -0
  60. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +63 -68
  61. package/dist/bundling-sources/shared_libs/plays/bundling/index.ts +129 -63
  62. package/dist/bundling-sources/shared_libs/plays/contracts.ts +14 -0
  63. package/dist/bundling-sources/shared_libs/plays/enrich-play-compiler.ts +58 -16
  64. package/dist/bundling-sources/shared_libs/plays/fetch-http-error.ts +50 -0
  65. package/dist/bundling-sources/shared_libs/plays/source-authoring-edition.ts +351 -0
  66. package/dist/bundling-sources/shared_libs/plays/tool-list-getter-mode.ts +9 -0
  67. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +1 -1
  68. package/dist/cli/auth-M7TBLW55.js +40 -0
  69. package/dist/cli/{auth-5HIIACF7.mjs → auth-YD6ZTMB2.mjs} +6 -6
  70. package/dist/cli/{billing-4275N7FL.js → billing-2L3MOB42.js} +84 -84
  71. package/dist/cli/{billing-EVZ3ZWKC.mjs → billing-ZT46GV4C.mjs} +8 -8
  72. package/dist/cli/{chunk-ZAAKSJAS.js → chunk-27GJKC5Q.js} +17 -10
  73. package/dist/cli/{chunk-UHNDVD3P.js → chunk-2H4EY7KH.js} +100 -41
  74. package/dist/cli/{chunk-GAICVLKL.js → chunk-2NI6DHN7.js} +2 -2
  75. package/dist/cli/{chunk-JGHG4NBA.js → chunk-2WUY3VNK.js} +19 -4
  76. package/dist/cli/{chunk-FHPCKULR.mjs → chunk-4BA6ATHA.mjs} +2 -2
  77. package/dist/cli/{chunk-RTCDW2GU.js → chunk-4O4WNFFC.js} +170 -49
  78. package/dist/cli/{chunk-OSDXE27V.mjs → chunk-4PG4ARL2.mjs} +17 -10
  79. package/dist/cli/{chunk-AU4OFDFX.js → chunk-5IGDNBG7.js} +26 -26
  80. package/dist/cli/{chunk-WYQO2CBS.mjs → chunk-5LRWWMRV.mjs} +149 -28
  81. package/dist/cli/{chunk-PMVFAYL7.mjs → chunk-63ILLN5H.mjs} +2 -2
  82. package/dist/cli/chunk-6AUE6JXY.js +35 -0
  83. package/dist/cli/chunk-7DSMMCXP.js +501 -0
  84. package/dist/cli/{chunk-6BJK4EJ3.mjs → chunk-AARWVK4C.mjs} +2132 -65
  85. package/dist/cli/{chunk-FERRDNMO.js → chunk-AD47BXN2.js} +5 -5
  86. package/dist/cli/{chunk-J6DCKJNM.mjs → chunk-BJV3VSKE.mjs} +16 -1
  87. package/dist/cli/{chunk-S6R3OX7B.js → chunk-E4CABWXL.js} +25 -2
  88. package/dist/cli/{chunk-NXGCO4JB.mjs → chunk-E4IXDAZI.mjs} +5 -0
  89. package/dist/cli/{chunk-BEVLCKXG.mjs → chunk-E4KBNNNB.mjs} +1 -1
  90. package/dist/cli/{chunk-2PRO2JTX.mjs → chunk-E52TKKVI.mjs} +36 -284
  91. package/dist/cli/chunk-FR2ILQ4G.mjs +8 -0
  92. package/dist/cli/{chunk-2GI3QD3L.js → chunk-FRVPOXGB.js} +644 -330
  93. package/dist/cli/chunk-G43JLBDE.mjs +501 -0
  94. package/dist/cli/{chunk-BZAMOCPA.mjs → chunk-IMZ56EOH.mjs} +3 -3
  95. package/dist/cli/chunk-IPGV6VFA.mjs +6084 -0
  96. package/dist/cli/{chunk-IT3XBJQR.mjs → chunk-IR3AKJAY.mjs} +330 -625
  97. package/dist/cli/chunk-J33TSWO5.js +8 -0
  98. package/dist/cli/chunk-JQMZUWNM.mjs +35 -0
  99. package/dist/cli/chunk-JYHSEGRM.js +6084 -0
  100. package/dist/cli/{chunk-JI2B4RZP.mjs → chunk-KCC3FKIW.mjs} +71 -12
  101. package/dist/cli/{chunk-6IKARAYD.mjs → chunk-L2VKAASU.mjs} +23 -0
  102. package/dist/cli/{chunk-O3VSXP2F.js → chunk-LWBM5FFL.js} +50 -50
  103. package/dist/cli/{chunk-VWBTTJYQ.mjs → chunk-M6OASCVL.mjs} +6 -3
  104. package/dist/cli/{chunk-YHPYUZZX.mjs → chunk-MAMVGOSC.mjs} +1 -1
  105. package/dist/cli/{chunk-Q2E4E4FJ.js → chunk-NPBJI7RE.js} +8 -8
  106. package/dist/cli/chunk-NQWIZ5PZ.js +313 -0
  107. package/dist/cli/{chunk-HQXL5526.mjs → chunk-NUX2QHNC.mjs} +1 -1
  108. package/dist/cli/{chunk-TQNHMWUR.mjs → chunk-OGSXENOF.mjs} +5 -2
  109. package/dist/cli/{chunk-SEFMGO3Z.js → chunk-OQQOXSYA.js} +2184 -117
  110. package/dist/cli/{chunk-FJCIUF34.js → chunk-OZSC6CEW.js} +128 -376
  111. package/dist/cli/{chunk-NZSF57UO.mjs → chunk-PO2VU6WV.mjs} +2 -2
  112. package/dist/cli/{chunk-7P5AA3SN.js → chunk-PPDBRJRW.js} +6 -1
  113. package/dist/cli/{chunk-ILHRA7AD.js → chunk-QADCFSGH.js} +7 -7
  114. package/dist/cli/{chunk-N44JHMKY.mjs → chunk-RFES6Q2J.mjs} +452 -138
  115. package/dist/cli/{chunk-DEC3JECC.js → chunk-RMINBDYY.js} +5 -2
  116. package/dist/cli/{chunk-WLOCMJWV.js → chunk-TPFD4F5S.js} +426 -721
  117. package/dist/cli/{chunk-V76R6HMV.js → chunk-U5AQKE3T.js} +1029 -806
  118. package/dist/cli/{chunk-PBZYY7VZ.mjs → chunk-UAEVKAUR.mjs} +734 -511
  119. package/dist/cli/{chunk-WHG43Z67.js → chunk-VGHWJL4W.js} +11 -8
  120. package/dist/cli/chunk-VKKVSFRD.js +62 -0
  121. package/dist/cli/{chunk-GSK6NHVM.js → chunk-WU4U6VSB.js} +5 -5
  122. package/dist/cli/chunk-XAB47ZRV.mjs +313 -0
  123. package/dist/cli/{chunk-JRAVVJ3T.mjs → chunk-XJD6LZCO.mjs} +2 -2
  124. package/dist/cli/chunk-ZCALLYF6.mjs +62 -0
  125. package/dist/cli/{chunk-YD7B53RW.js → chunk-ZHWBU36H.js} +12 -12
  126. package/dist/cli/{csv-A2MP6EFV.mjs → csv-BKNRRW7D.mjs} +5 -5
  127. package/dist/cli/{csv-BBOTCGQY.js → csv-SVDP2EU7.js} +14 -14
  128. package/dist/cli/{db-3W5DMTUX.mjs → db-LU4KLRM6.mjs} +15 -20
  129. package/dist/cli/{db-G4CODDCA.js → db-OQ6S7TTZ.js} +42 -47
  130. package/dist/cli/{describe-PQTQ5B6F.js → describe-45TGETKR.js} +27 -22
  131. package/dist/cli/{describe-XYJ2ZT4M.mjs → describe-U4KOGDRA.mjs} +20 -15
  132. package/dist/cli/describe-core.d.mts +2 -2
  133. package/dist/cli/describe-core.d.ts +2 -2
  134. package/dist/cli/describe-core.js +6 -6
  135. package/dist/cli/describe-core.mjs +5 -5
  136. package/dist/cli/{executions-UR67CA5H.mjs → executions-2GAAUXLA.mjs} +8 -8
  137. package/dist/cli/{executions-TLANVR7Y.js → executions-VZN56VRC.js} +10 -10
  138. package/dist/cli/{feedback-6C2YTRJL.js → feedback-NS76B5GU.js} +13 -9
  139. package/dist/cli/{feedback-WHCMGEIL.mjs → feedback-XW5IWA5R.mjs} +11 -7
  140. package/dist/cli/{git-GWLB6VSA.mjs → git-CLI66XP6.mjs} +6 -6
  141. package/dist/cli/git-VGYRGFEN.js +24 -0
  142. package/dist/cli/index.js +236 -348
  143. package/dist/cli/index.mjs +162 -274
  144. package/dist/cli/{legacy-noops-ZUFA7RWI.js → legacy-noops-HCFB3ZOV.js} +9 -9
  145. package/dist/cli/{legacy-noops-KF4XIFEF.mjs → legacy-noops-ODDOMLBL.mjs} +6 -6
  146. package/dist/cli/{monitors-TB3K2IVE.js → monitors-7WXQ7JFT.js} +94 -94
  147. package/dist/cli/{monitors-6UOIDIMB.mjs → monitors-ZXX456TE.mjs} +8 -8
  148. package/dist/cli/{org-CKWMBPIR.js → org-YLX5PHBQ.js} +68 -68
  149. package/dist/cli/{org-WGHHMVDZ.mjs → org-YUN3TLNP.mjs} +8 -8
  150. package/dist/cli/{play-LYPAXCLD.mjs → play-LL73A7EP.mjs} +533 -98
  151. package/dist/cli/{play-N2B3KAVS.js → play-YGOXL52D.js} +1067 -632
  152. package/dist/cli/{providers-6DI5BVZJ.mjs → providers-35QSAUHL.mjs} +8 -8
  153. package/dist/cli/{providers-UR42MD6Z.js → providers-RHCIU2PX.js} +11 -11
  154. package/dist/cli/{quickstart-MNA2S6PO.mjs → quickstart-6BN3LCZH.mjs} +5 -5
  155. package/dist/cli/{quickstart-FCJG4XGB.js → quickstart-ORMM4NRK.js} +7 -7
  156. package/dist/cli/search-EWDMUPHR.js +30 -0
  157. package/dist/cli/{search-VPPYUJ2M.mjs → search-GAERWLSE.mjs} +9 -9
  158. package/dist/cli/{secrets-QOSMVO36.js → secrets-3AFCTGT7.js} +17 -17
  159. package/dist/cli/{secrets-DRI4W7Z5.mjs → secrets-FCL5PALY.mjs} +8 -8
  160. package/dist/cli/sessions-3OEHEQG7.js +16 -0
  161. package/dist/cli/{sessions-DQNUKP43.mjs → sessions-RSSL7I7O.mjs} +6 -6
  162. package/dist/cli/{settings-DWDK3Y2R.mjs → settings-GE4NRE7Y.mjs} +12 -12
  163. package/dist/cli/{settings-JUGGCOPS.js → settings-RX5K4I7H.js} +79 -79
  164. package/dist/cli/{setup-AWBHNYXK.js → setup-N3ZNAEL5.js} +45 -44
  165. package/dist/cli/{setup-D5DWVNY4.mjs → setup-X3RXGG4F.mjs} +11 -10
  166. package/dist/cli/{skills-YV2XR35J.mjs → skills-5JEAJBDE.mjs} +7 -7
  167. package/dist/cli/skills-VAAQVEQC.js +29 -0
  168. package/dist/cli/tools-BYYOT2DU.js +44 -0
  169. package/dist/cli/{tools-VFJYHNV2.mjs → tools-JOKUWEBZ.mjs} +19 -14
  170. package/dist/cli/update-36G4ZD7B.js +31 -0
  171. package/dist/cli/{update-IM6VOTGL.mjs → update-UBHEVFR3.mjs} +11 -9
  172. package/dist/cli/{workflow-26URBWPV.mjs → workflow-FR6EXAXF.mjs} +44 -20
  173. package/dist/cli/{workflow-3BS6U6SL.js → workflow-SZAVOHN6.js} +54 -30
  174. package/dist/{client-BfInrZPB.d.mts → client-74k4IPh6.d.mts} +135 -54
  175. package/dist/{client-BMjJFpan.d.ts → client-C1IK1f8c.d.ts} +135 -54
  176. package/dist/{compiler-manifest-Ycx-hoAr.d.mts → compiler-manifest-lzWpbV3w.d.mts} +83 -66
  177. package/dist/{compiler-manifest-Ycx-hoAr.d.ts → compiler-manifest-lzWpbV3w.d.ts} +83 -66
  178. package/dist/{index-CZXgiN3E.d.mts → index-C8Cy-YTm.d.ts} +5 -1
  179. package/dist/{index-NPG5pqxQ.d.ts → index-CtNK-0nI.d.mts} +5 -1
  180. package/dist/index.d.mts +47 -9
  181. package/dist/index.d.ts +47 -9
  182. package/dist/index.js +17 -14
  183. package/dist/index.mjs +13 -10
  184. package/dist/install-integrity.json +118 -102
  185. package/dist/plays/bundle-play-file.d.mts +3 -3
  186. package/dist/plays/bundle-play-file.d.ts +3 -3
  187. package/dist/plays/bundle-play-file.mjs +5 -4
  188. package/dist/plays/csv-data-input.js +3 -3
  189. package/dist/plays/csv-data-input.mjs +2 -2
  190. package/dist/plays/play-description.d.mts +2 -2
  191. package/dist/plays/play-description.d.ts +2 -2
  192. package/dist/plays/run-request.d.mts +2 -2
  193. package/dist/plays/run-request.d.ts +2 -2
  194. package/dist/plays/run-request.js +11 -3
  195. package/dist/plays/run-request.mjs +10 -2
  196. package/dist/release.d.mts +15 -6
  197. package/dist/release.d.ts +15 -6
  198. package/dist/release.js +2 -2
  199. package/dist/release.mjs +1 -1
  200. package/package.json +2 -2
  201. package/dist/cli/auth-F6BX32XZ.js +0 -40
  202. package/dist/cli/chunk-264PC2RN.mjs +0 -83
  203. package/dist/cli/chunk-44ZTYHMQ.mjs +0 -155
  204. package/dist/cli/chunk-53HN7WZN.js +0 -392
  205. package/dist/cli/chunk-7AALNGTA.mjs +0 -392
  206. package/dist/cli/chunk-ALD4COBH.js +0 -155
  207. package/dist/cli/chunk-CLJGSOVM.mjs +0 -1716
  208. package/dist/cli/chunk-WNUR6VP5.js +0 -83
  209. package/dist/cli/chunk-Z4VNJOF7.js +0 -1716
  210. package/dist/cli/git-VQFF6D7C.js +0 -24
  211. package/dist/cli/search-NCEEONMQ.js +0 -30
  212. package/dist/cli/sessions-3WYKQABW.js +0 -16
  213. package/dist/cli/skills-AKPAJVSO.js +0 -29
  214. package/dist/cli/tools-RBKEK6PM.js +0 -39
  215. package/dist/cli/update-VFNUBLDA.js +0 -29
@@ -1,17 +1,19 @@
1
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
2
 
3
3
 
4
- var _chunkGAICVLKLjs = require('./chunk-GAICVLKL.js');
4
+ var _chunk2NI6DHN7js = require('./chunk-2NI6DHN7.js');
5
5
 
6
6
 
7
+ var _chunk7DSMMCXPjs = require('./chunk-7DSMMCXP.js');
7
8
 
8
- var _chunkWLOCMJWVjs = require('./chunk-WLOCMJWV.js');
9
9
 
10
+ var _chunkTPFD4F5Sjs = require('./chunk-TPFD4F5S.js');
10
11
 
11
- var _chunkYD7B53RWjs = require('./chunk-YD7B53RW.js');
12
12
 
13
+ var _chunkZHWBU36Hjs = require('./chunk-ZHWBU36H.js');
13
14
 
14
- var _chunkFJCIUF34js = require('./chunk-FJCIUF34.js');
15
+
16
+ var _chunkOZSC6CEWjs = require('./chunk-OZSC6CEW.js');
15
17
 
16
18
  // src/cli/commands/update.ts
17
19
  var _child_process = require('child_process');
@@ -26,6 +28,7 @@ var _child_process = require('child_process');
26
28
 
27
29
  var _fs = require('fs');
28
30
  var _os = require('os');
31
+ var _promises = require('timers/promises');
29
32
 
30
33
 
31
34
 
@@ -210,6 +213,9 @@ function probeSdkSidecarEsbuild(versionDir) {
210
213
 
211
214
 
212
215
  var UPDATE_PREFERENCES_SCHEMA_VERSION = 1;
216
+ function defaultHomeDir() {
217
+ return _optionalChain([process, 'access', _4 => _4.env, 'access', _5 => _5.HOME, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _os.homedir.call(void 0, );
218
+ }
213
219
  var CLI_UPDATE_MESSAGES = [
214
220
  {
215
221
  id: "auto-update-default-v1",
@@ -236,7 +242,7 @@ function unreadablePreferences(path, error) {
236
242
  acknowledgedMessages: CLI_UPDATE_MESSAGES.map(({ id }) => id)
237
243
  };
238
244
  }
239
- function cliUpdatePreferencesPath(homeDir = _os.homedir.call(void 0, )) {
245
+ function cliUpdatePreferencesPath(homeDir = defaultHomeDir()) {
240
246
  return _path.join.call(void 0,
241
247
  homeDir,
242
248
  ".local",
@@ -245,7 +251,7 @@ function cliUpdatePreferencesPath(homeDir = _os.homedir.call(void 0, )) {
245
251
  "update-preferences.json"
246
252
  );
247
253
  }
248
- function readCliUpdatePreferences(homeDir = _os.homedir.call(void 0, )) {
254
+ function readCliUpdatePreferences(homeDir = defaultHomeDir()) {
249
255
  const path = cliUpdatePreferencesPath(homeDir);
250
256
  if (!_fs.existsSync.call(void 0, path)) return defaultPreferences();
251
257
  try {
@@ -262,7 +268,7 @@ function readCliUpdatePreferences(homeDir = _os.homedir.call(void 0, )) {
262
268
  return unreadablePreferences(path, error);
263
269
  }
264
270
  }
265
- function writeCliUpdatePreferences(preferences, homeDir = _os.homedir.call(void 0, )) {
271
+ function writeCliUpdatePreferences(preferences, homeDir = defaultHomeDir()) {
266
272
  const path = cliUpdatePreferencesPath(homeDir);
267
273
  const tempPath = `${path}.${process.pid}.tmp`;
268
274
  _fs.mkdirSync.call(void 0, _path.dirname.call(void 0, path), { recursive: true });
@@ -277,7 +283,7 @@ function writeCliUpdatePreferences(preferences, homeDir = _os.homedir.call(void
277
283
  _fs.rmSync.call(void 0, tempPath, { force: true });
278
284
  }
279
285
  }
280
- function setCliAutoUpdateEnabled(enabled, homeDir = _os.homedir.call(void 0, )) {
286
+ function setCliAutoUpdateEnabled(enabled, homeDir = defaultHomeDir()) {
281
287
  const current = readCliUpdatePreferences(homeDir);
282
288
  const next = {
283
289
  ...current,
@@ -287,7 +293,7 @@ function setCliAutoUpdateEnabled(enabled, homeDir = _os.homedir.call(void 0, ))
287
293
  writeCliUpdatePreferences(next, homeDir);
288
294
  return next;
289
295
  }
290
- function setCliPinnedVersion(version, homeDir = _os.homedir.call(void 0, )) {
296
+ function setCliPinnedVersion(version, homeDir = defaultHomeDir()) {
291
297
  const next = {
292
298
  ...readCliUpdatePreferences(homeDir),
293
299
  pinnedVersion: version
@@ -295,14 +301,14 @@ function setCliPinnedVersion(version, homeDir = _os.homedir.call(void 0, )) {
295
301
  writeCliUpdatePreferences(next, homeDir);
296
302
  return next;
297
303
  }
298
- function clearCliPinnedVersion(homeDir = _os.homedir.call(void 0, )) {
304
+ function clearCliPinnedVersion(homeDir = defaultHomeDir()) {
299
305
  const current = readCliUpdatePreferences(homeDir);
300
306
  if (current.pinnedVersion === null) return current;
301
307
  const next = { ...current, pinnedVersion: null };
302
308
  writeCliUpdatePreferences(next, homeDir);
303
309
  return next;
304
310
  }
305
- function shouldRunCliAutoUpdate(homeDir = _os.homedir.call(void 0, )) {
311
+ function shouldRunCliAutoUpdate(homeDir = defaultHomeDir()) {
306
312
  const preferences = readCliUpdatePreferences(homeDir);
307
313
  return preferences.autoUpdateEnabled && preferences.pinnedVersion === null;
308
314
  }
@@ -355,7 +361,7 @@ function buildSidecarProjectConfigCommand(versionDir, nodeBin) {
355
361
  return `${shellQuote(nodeBin)} -e ${shellQuote(script)} ${shellQuote(versionDir)}`;
356
362
  }
357
363
  function sidecarStateDir(input) {
358
- const scope = _optionalChain([input, 'access', _4 => _4.env, 'access', _5 => _5.DEEPLINE_CONFIG_SCOPE, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]);
364
+ const scope = _optionalChain([input, 'access', _8 => _8.env, 'access', _9 => _9.DEEPLINE_CONFIG_SCOPE, 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]);
359
365
  if (!scope || scope.includes("/") || scope.includes("\\")) {
360
366
  return null;
361
367
  }
@@ -403,8 +409,8 @@ function resolvePythonSidecarUpdatePlan(options) {
403
409
  }
404
410
  const installMethod = readOptionalText(_path.join.call(void 0, stateDir, ".install-method"));
405
411
  if (installMethod !== "python-sidecar") return null;
406
- const scope = _optionalChain([options, 'access', _8 => _8.env, 'access', _9 => _9.DEEPLINE_CONFIG_SCOPE, 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]) || "";
407
- const hostUrl = _optionalChain([options, 'access', _12 => _12.env, 'access', _13 => _13.DEEPLINE_HOST_URL, 'optionalAccess', _14 => _14.trim, 'call', _15 => _15()]) || "";
412
+ const scope = _optionalChain([options, 'access', _12 => _12.env, 'access', _13 => _13.DEEPLINE_CONFIG_SCOPE, 'optionalAccess', _14 => _14.trim, 'call', _15 => _15()]) || "";
413
+ const hostUrl = _optionalChain([options, 'access', _16 => _16.env, 'access', _17 => _17.DEEPLINE_HOST_URL, 'optionalAccess', _18 => _18.trim, 'call', _19 => _19()]) || "";
408
414
  const nodeBin = readOptionalText(_path.join.call(void 0, stateDir, ".node-bin")) || process.execPath;
409
415
  const sidecarPath = readOptionalText(_path.join.call(void 0, stateDir, ".command-path")) || _path.join.call(void 0,
410
416
  stateDir,
@@ -476,7 +482,7 @@ function inferNpmGlobalPrefixFromEntrypoint(entrypoint, env) {
476
482
  return prefix || null;
477
483
  }
478
484
  function normalizedNpmPrefix(value) {
479
- const trimmed = _optionalChain([value, 'optionalAccess', _16 => _16.trim, 'call', _17 => _17()]);
485
+ const trimmed = _optionalChain([value, 'optionalAccess', _20 => _20.trim, 'call', _21 => _21()]);
480
486
  if (!trimmed) return null;
481
487
  const normalized = (() => {
482
488
  try {
@@ -489,7 +495,12 @@ function normalizedNpmPrefix(value) {
489
495
  }
490
496
  function resolveNpmGlobalPrefix(env) {
491
497
  try {
492
- const plan = _chunkWLOCMJWVjs.resolveShellSpawn.call(void 0, "npm", ["prefix", "-g"], process.platform, env);
498
+ const plan = _chunkTPFD4F5Sjs.resolveShellSpawn.call(void 0,
499
+ "npm",
500
+ ["prefix", "-g"],
501
+ process.platform,
502
+ env
503
+ );
493
504
  const result = _child_process.spawnSync.call(void 0, plan.command, plan.args, {
494
505
  encoding: "utf8",
495
506
  env,
@@ -545,8 +556,8 @@ function resolveUpdatePlan(options = {}) {
545
556
  const npmGlobalPrefix = options.npmGlobalPrefix !== void 0 ? options.npmGlobalPrefix : resolveNpmGlobalPrefix(env);
546
557
  const hasVerifiedNpmOwnership = inferredInstallPrefix !== null && normalizedNpmPrefix(inferredInstallPrefix) === normalizedNpmPrefix(npmGlobalPrefix);
547
558
  const installPrefix = options.requireVerifiedNpmOwnership ? hasVerifiedNpmOwnership ? inferredInstallPrefix : null : inferredInstallPrefix;
548
- const npmVersion = options.npmVersion === void 0 ? _chunkGAICVLKLjs.readNpmVersion.call(void 0, env) : options.npmVersion;
549
- const npmGlobalInstallFlags = _chunkGAICVLKLjs.npmSupportsAllowScripts.call(void 0, npmVersion) ? [...NPM_SDK_INSTALL_COMMON_FLAGS, "--allow-scripts=esbuild"] : NPM_SDK_INSTALL_COMMON_FLAGS;
559
+ const npmVersion = options.npmVersion === void 0 ? _chunk2NI6DHN7js.readNpmVersion.call(void 0, env) : options.npmVersion;
560
+ const npmGlobalInstallFlags = _chunk2NI6DHN7js.npmSupportsAllowScripts.call(void 0, npmVersion) ? [...NPM_SDK_INSTALL_COMMON_FLAGS, "--allow-scripts=esbuild"] : NPM_SDK_INSTALL_COMMON_FLAGS;
550
561
  const args = installPrefix ? [
551
562
  "install",
552
563
  "-g",
@@ -556,7 +567,7 @@ function resolveUpdatePlan(options = {}) {
556
567
  packageSpec
557
568
  ] : ["install", "-g", ...npmGlobalInstallFlags, packageSpec];
558
569
  const fallbackRegistryUrl = options.npmFallbackRegistryUrl !== void 0 ? options.npmFallbackRegistryUrl : publicNpmFallbackRegistryUrl(
559
- _optionalChain([env, 'access', _18 => _18.DEEPLINE_HOST_URL, 'optionalAccess', _19 => _19.trim, 'call', _20 => _20()]) || _chunkFJCIUF34js.autoDetectBaseUrl.call(void 0, )
570
+ _optionalChain([env, 'access', _22 => _22.DEEPLINE_HOST_URL, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()]) || _chunkOZSC6CEWjs.autoDetectBaseUrl.call(void 0, )
560
571
  );
561
572
  return {
562
573
  kind: "npm-global",
@@ -636,24 +647,126 @@ function matchingAutoUpdateFailure(plan) {
636
647
  return marker;
637
648
  }
638
649
  async function runAutomaticUpdatePlan(plan) {
639
- const previousFailure = matchingAutoUpdateFailure(plan);
640
- if (previousFailure) {
650
+ try {
651
+ const installation = resolveUpdateInstallation(plan);
652
+ return await withUpdateLock(_nullishCoalesce(_optionalChain([installation, 'optionalAccess', _25 => _25.directory]), () => ( null)), async () => {
653
+ const previousFailure = matchingAutoUpdateFailure(plan);
654
+ if (previousFailure) {
655
+ process.stderr.write(
656
+ [
657
+ "Skipping Deepline SDK/CLI auto-update because this same update already failed on this machine.",
658
+ `Fix Node/npm native package installation issues, then run: ${previousFailure.manualCommand}`,
659
+ "Common causes include broken esbuild installs, node-gyp build toolchain errors, npm cache corruption, or registry/network failures.",
660
+ ""
661
+ ].join("\n")
662
+ );
663
+ return {
664
+ status: "skipped_previous_failure",
665
+ exitCode: previousFailure.exitCode || 1,
666
+ previousFailure
667
+ };
668
+ }
669
+ const targetVersion = _optionalChain([autoUpdatePackageSpec, 'call', _26 => _26(plan), 'access', _27 => _27.match, 'call', _28 => _28(
670
+ /^deepline@(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)$/
671
+ ), 'optionalAccess', _29 => _29[1]]);
672
+ const installedVersion = installedUpdateVersion(installation);
673
+ if (targetVersion && parseSemver(installedVersion) && compareUpdateVersions(installedVersion, targetVersion) >= 0) {
674
+ return { status: "updated", exitCode: 0 };
675
+ }
676
+ const exitCode = await applyUpdatePlan(plan);
677
+ return exitCode === 0 ? { status: "updated", exitCode: 0 } : { status: "failed", exitCode };
678
+ });
679
+ } catch (error) {
641
680
  process.stderr.write(
642
- [
643
- "Skipping Deepline SDK/CLI auto-update because this same update already failed on this machine.",
644
- `Fix Node/npm native package installation issues, then run: ${previousFailure.manualCommand}`,
645
- "Common causes include broken esbuild installs, node-gyp build toolchain errors, npm cache corruption, or registry/network failures.",
646
- ""
647
- ].join("\n")
681
+ `Could not complete the automatic Deepline CLI update: ${error instanceof Error ? error.message : String(error)}
682
+ `
648
683
  );
649
- return {
650
- status: "skipped_previous_failure",
651
- exitCode: previousFailure.exitCode || 1,
652
- previousFailure
653
- };
684
+ return { status: "failed", exitCode: 1 };
685
+ }
686
+ }
687
+ function parseSemver(version) {
688
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(
689
+ version.trim()
690
+ );
691
+ if (!match) return null;
692
+ return {
693
+ major: Number(match[1]),
694
+ minor: Number(match[2]),
695
+ patch: Number(match[3]),
696
+ prerelease: _nullishCoalesce(match[4], () => ( ""))
697
+ };
698
+ }
699
+ function compareUpdateVersions(left, right) {
700
+ const a = parseSemver(left);
701
+ const b = parseSemver(right);
702
+ if (!a || !b) return left.localeCompare(right);
703
+ for (const key of ["major", "minor", "patch"]) {
704
+ if (a[key] !== b[key]) return a[key] > b[key] ? 1 : -1;
705
+ }
706
+ if (a.prerelease === b.prerelease) return 0;
707
+ if (!a.prerelease) return 1;
708
+ if (!b.prerelease) return -1;
709
+ return a.prerelease.localeCompare(b.prerelease);
710
+ }
711
+ function resolveUpdateInstallation(plan) {
712
+ if (plan.kind === "source" || plan.kind === "homebrew") return null;
713
+ const prefixIndex = plan.kind === "npm-global" ? plan.args.indexOf("--prefix") : -1;
714
+ const directory = plan.kind === "python-sidecar" ? plan.stateDir : _nullishCoalesce(_nullishCoalesce(plan.installPrefix, () => ( (prefixIndex >= 0 ? plan.args[prefixIndex + 1] : void 0))), () => ( resolveNpmGlobalPrefix(process.env)));
715
+ if (!directory)
716
+ throw new Error("Cannot determine the npm global installation to lock.");
717
+ return {
718
+ kind: plan.kind,
719
+ directory: _nullishCoalesce(normalizedNpmPrefix(directory), () => ( _path.resolve.call(void 0, directory)))
720
+ };
721
+ }
722
+ function installedUpdateVersion(installation) {
723
+ if (!installation) return "";
724
+ const { kind, directory } = installation;
725
+ if (kind === "python-sidecar") {
726
+ try {
727
+ const version = safeVersionSegment(
728
+ _fs.readFileSync.call(void 0, _path.join.call(void 0, directory, ".version"), "utf8")
729
+ );
730
+ return !version || sidecarStructureFailure(_path.join.call(void 0, directory, "versions", version)) ? "" : version;
731
+ } catch (e12) {
732
+ return "";
733
+ }
734
+ }
735
+ return installedPackageVersion(
736
+ process.platform === "win32" ? directory : _path.join.call(void 0, directory, "lib")
737
+ );
738
+ }
739
+ async function withUpdateLock(installationDirectory, action) {
740
+ if (!installationDirectory) return action();
741
+ _fs.mkdirSync.call(void 0, installationDirectory, { recursive: true });
742
+ const lockPath = _path.join.call(void 0, installationDirectory, ".deepline-update.lock");
743
+ const deadline = Date.now() + 12e4;
744
+ let waiting = false;
745
+ for (; ; ) {
746
+ try {
747
+ _fs.mkdirSync.call(void 0, lockPath, { mode: 448 });
748
+ break;
749
+ } catch (error) {
750
+ if (error.code !== "EEXIST") throw error;
751
+ if (Date.now() >= deadline) {
752
+ throw new Error(
753
+ `Timed out waiting for the Deepline CLI update lock at ${lockPath}. Check for an active installer before removing a lock left by an interrupted update.`
754
+ );
755
+ }
756
+ if (!waiting) {
757
+ process.stderr.write(
758
+ "Another Deepline CLI update is in progress; waiting for it to finish.\n"
759
+ );
760
+ waiting = true;
761
+ }
762
+ await _promises.setTimeout.call(void 0, 100);
763
+ }
764
+ }
765
+ try {
766
+ return await action();
767
+ } finally {
768
+ _fs.rmSync.call(void 0, lockPath, { recursive: true });
654
769
  }
655
- const exitCode = await runUpdatePlan(plan);
656
- return exitCode === 0 ? { status: "updated", exitCode: 0 } : { status: "failed", exitCode };
657
770
  }
658
771
  function safeVersionSegment(value) {
659
772
  const normalized = value.trim();
@@ -679,7 +792,7 @@ function installedPackageVersion(versionDir) {
679
792
  try {
680
793
  const parsed = JSON.parse(_fs.readFileSync.call(void 0, packageJsonPath, "utf8"));
681
794
  return typeof parsed.version === "string" ? safeVersionSegment(parsed.version) : "";
682
- } catch (e12) {
795
+ } catch (e13) {
683
796
  return "";
684
797
  }
685
798
  }
@@ -703,17 +816,17 @@ function sidecarInstallFailure(versionDir) {
703
816
  function runCommand(command, args, env = process.env) {
704
817
  return new Promise((resolveResult) => {
705
818
  let output = "";
706
- const plan = _chunkWLOCMJWVjs.resolveShellSpawn.call(void 0, command, args, process.platform, env);
819
+ const plan = _chunkTPFD4F5Sjs.resolveShellSpawn.call(void 0, command, args, process.platform, env);
707
820
  const child = _child_process.spawn.call(void 0, plan.command, plan.args, {
708
821
  stdio: ["inherit", "pipe", "pipe"],
709
822
  shell: plan.shell,
710
823
  env
711
824
  });
712
- _optionalChain([child, 'access', _21 => _21.stdout, 'optionalAccess', _22 => _22.on, 'call', _23 => _23("data", (chunk) => {
825
+ _optionalChain([child, 'access', _30 => _30.stdout, 'optionalAccess', _31 => _31.on, 'call', _32 => _32("data", (chunk) => {
713
826
  output += chunk.toString();
714
827
  process.stderr.write(chunk);
715
828
  })]);
716
- _optionalChain([child, 'access', _24 => _24.stderr, 'optionalAccess', _25 => _25.on, 'call', _26 => _26("data", (chunk) => {
829
+ _optionalChain([child, 'access', _33 => _33.stderr, 'optionalAccess', _34 => _34.on, 'call', _35 => _35("data", (chunk) => {
717
830
  output += chunk.toString();
718
831
  process.stderr.write(chunk);
719
832
  })]);
@@ -733,7 +846,7 @@ function isRegistryAccessFailure(output, registryUrl) {
733
846
  let registryHost = "";
734
847
  try {
735
848
  registryHost = new URL(registryUrl).hostname;
736
- } catch (e13) {
849
+ } catch (e14) {
737
850
  return false;
738
851
  }
739
852
  if (!registryHost || !output.toLowerCase().includes(registryHost.toLowerCase())) {
@@ -968,7 +1081,7 @@ async function runPythonSidecarUpdatePlan(plan) {
968
1081
  try {
969
1082
  _fs.renameSync.call(void 0, backupDir, finalDir);
970
1083
  backupDir = null;
971
- } catch (e14) {
1084
+ } catch (e15) {
972
1085
  }
973
1086
  }
974
1087
  process.stderr.write(
@@ -1014,6 +1127,13 @@ async function runPythonSidecarUpdatePlan(plan) {
1014
1127
  return 0;
1015
1128
  }
1016
1129
  async function runUpdatePlan(plan) {
1130
+ const installation = resolveUpdateInstallation(plan);
1131
+ return withUpdateLock(
1132
+ _nullishCoalesce(_optionalChain([installation, 'optionalAccess', _36 => _36.directory]), () => ( null)),
1133
+ () => applyUpdatePlan(plan)
1134
+ );
1135
+ }
1136
+ async function applyUpdatePlan(plan) {
1017
1137
  let exitCode = 1;
1018
1138
  if (plan.kind === "npm-global") {
1019
1139
  exitCode = await runNpmInstallWithRegistryFallback({
@@ -1038,7 +1158,7 @@ function normalizeBaseUrl(value) {
1038
1158
  return value.replace(/\/$/, "");
1039
1159
  }
1040
1160
  function normalizePinnedVersion(value) {
1041
- const normalized = _nullishCoalesce(_optionalChain([value, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28(), 'access', _29 => _29.replace, 'call', _30 => _30(/^v/, "")]), () => ( ""));
1161
+ const normalized = _nullishCoalesce(_optionalChain([value, 'optionalAccess', _37 => _37.trim, 'call', _38 => _38(), 'access', _39 => _39.replace, 'call', _40 => _40(/^v/, "")]), () => ( ""));
1042
1162
  return /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(normalized) ? normalized : null;
1043
1163
  }
1044
1164
  async function publishedVersionSupportsPin(version, fallbackRegistryUrl) {
@@ -1069,7 +1189,7 @@ async function publishedVersionSupportsPin(version, fallbackRegistryUrl) {
1069
1189
  continue;
1070
1190
  }
1071
1191
  const metadata = await response.json();
1072
- return _optionalChain([metadata, 'access', _31 => _31.deepline, 'optionalAccess', _32 => _32.updatePreferences]) === 1;
1192
+ return _optionalChain([metadata, 'access', _41 => _41.deepline, 'optionalAccess', _42 => _42.updatePreferences]) === 1;
1073
1193
  } catch (error) {
1074
1194
  lastError = error instanceof Error ? error : new Error(String(error));
1075
1195
  } finally {
@@ -1079,14 +1199,14 @@ async function publishedVersionSupportsPin(version, fallbackRegistryUrl) {
1079
1199
  throw _nullishCoalesce(lastError, () => ( new Error("No npm registry was available")));
1080
1200
  }
1081
1201
  async function runUpdateCommand(options, dependencies = {}) {
1082
- const detectBaseUrl = _nullishCoalesce(dependencies.detectBaseUrl, () => ( _chunkFJCIUF34js.autoDetectBaseUrl));
1202
+ const detectBaseUrl = _nullishCoalesce(dependencies.detectBaseUrl, () => ( _chunkOZSC6CEWjs.autoDetectBaseUrl));
1083
1203
  const resolvePlan = _nullishCoalesce(dependencies.resolvePlan, () => ( resolveUpdatePlan));
1084
1204
  const runPlan = _nullishCoalesce(dependencies.runPlan, () => ( runUpdatePlan));
1085
1205
  const syncSkills = _nullishCoalesce(dependencies.syncSkillsIfNeeded, () => ( (async () => {
1086
1206
  const originalWrite = process.stdout.write.bind(process.stdout);
1087
1207
  process.stdout.write = (() => true);
1088
1208
  try {
1089
- const exitCode = await _chunkWLOCMJWVjs.runSkillsCommand.call(void 0, { json: true });
1209
+ const exitCode = await _chunk7DSMMCXPjs.runSkillsCommand.call(void 0, { json: true });
1090
1210
  if (exitCode !== 0) {
1091
1211
  throw new Error(
1092
1212
  `Deepline skills update failed with exit ${exitCode}.`
@@ -1157,11 +1277,11 @@ async function runUpdateCommand(options, dependencies = {}) {
1157
1277
  ]
1158
1278
  };
1159
1279
  if (options.json && !options.executeWithJson) {
1160
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, { ...plan, render }, { json: true });
1280
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0, { ...plan, render }, { json: true });
1161
1281
  return 0;
1162
1282
  }
1163
1283
  if (options.printCommand) {
1164
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
1284
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
1165
1285
  {
1166
1286
  ...plan,
1167
1287
  render: {
@@ -1174,7 +1294,7 @@ async function runUpdateCommand(options, dependencies = {}) {
1174
1294
  return 0;
1175
1295
  }
1176
1296
  if (plan.kind === "source" || plan.kind === "homebrew") {
1177
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, { ...plan, render }, { json: false });
1297
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0, { ...plan, render }, { json: false });
1178
1298
  return 0;
1179
1299
  }
1180
1300
  stderr.write(`Updating Deepline SDK/CLI with: ${plan.manualCommand}
@@ -1204,7 +1324,7 @@ To retry with full installer output, run: deepline skills
1204
1324
  );
1205
1325
  }
1206
1326
  if (options.executeWithJson && options.json) {
1207
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
1327
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
1208
1328
  {
1209
1329
  ok: true,
1210
1330
  pinnedVersion
@@ -1250,4 +1370,5 @@ Examples:
1250
1370
 
1251
1371
 
1252
1372
 
1253
- exports.readCliUpdatePreferences = readCliUpdatePreferences; exports.setCliAutoUpdateEnabled = setCliAutoUpdateEnabled; exports.shouldRunCliAutoUpdate = shouldRunCliAutoUpdate; exports.canAutomaticallyApplyUpdatePlan = canAutomaticallyApplyUpdatePlan; exports.resolveUpdatePlan = resolveUpdatePlan; exports.runAutomaticUpdatePlan = runAutomaticUpdatePlan; exports.runUpdatePlan = runUpdatePlan; exports.publishedVersionSupportsPin = publishedVersionSupportsPin; exports.runUpdateCommand = runUpdateCommand; exports.registerUpdateCommand = registerUpdateCommand;
1373
+
1374
+ exports.readCliUpdatePreferences = readCliUpdatePreferences; exports.setCliAutoUpdateEnabled = setCliAutoUpdateEnabled; exports.shouldRunCliAutoUpdate = shouldRunCliAutoUpdate; exports.canAutomaticallyApplyUpdatePlan = canAutomaticallyApplyUpdatePlan; exports.resolveUpdatePlan = resolveUpdatePlan; exports.runAutomaticUpdatePlan = runAutomaticUpdatePlan; exports.compareUpdateVersions = compareUpdateVersions; exports.runUpdatePlan = runUpdatePlan; exports.publishedVersionSupportsPin = publishedVersionSupportsPin; exports.runUpdateCommand = runUpdateCommand; exports.registerUpdateCommand = registerUpdateCommand;
@@ -51,16 +51,23 @@ function writeObservation(observation) {
51
51
  const invocationId = process.env.DEEPLINE_EXECUTION_OBSERVATION_ID;
52
52
  if (!path || !invocationId) return;
53
53
  const pending = `${path}.pending`;
54
- writeFileSync(
55
- pending,
56
- JSON.stringify({
57
- schema_version: 1,
58
- invocation_id: invocationId,
59
- ...observation
60
- }),
61
- { mode: 384 }
62
- );
63
- renameSync(pending, path);
54
+ try {
55
+ writeFileSync(
56
+ pending,
57
+ JSON.stringify({
58
+ schema_version: 1,
59
+ invocation_id: invocationId,
60
+ ...observation
61
+ }),
62
+ { mode: 384 }
63
+ );
64
+ renameSync(pending, path);
65
+ } catch {
66
+ console.error(
67
+ "[execution-observation] could not write the configured diagnostic sink",
68
+ { kind: observation.kind }
69
+ );
70
+ }
64
71
  }
65
72
  function recordApiResponse(observation) {
66
73
  writeObservation({
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkYD7B53RWjs = require('./chunk-YD7B53RW.js');
5
+ var _chunkZHWBU36Hjs = require('./chunk-ZHWBU36H.js');
6
6
 
7
7
 
8
- var _chunkFJCIUF34js = require('./chunk-FJCIUF34.js');
8
+ var _chunkOZSC6CEWjs = require('./chunk-OZSC6CEW.js');
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -32,11 +32,11 @@ function renderDeployment(deployment) {
32
32
  return `${deployment.id} ${source} (${kind}) - ${deployment.status}${suffix}`;
33
33
  }
34
34
  async function handleList(options) {
35
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
35
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
36
36
  const payload = await http.get(
37
37
  `/api/v2/play-projects${options.all ? "?includeDisabled=1" : ""}`
38
38
  );
39
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
39
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
40
40
  {
41
41
  projects: payload.projects,
42
42
  count: payload.projects.length,
@@ -73,7 +73,7 @@ function describeInstallationStatus(installation) {
73
73
  }
74
74
  }
75
75
  async function handleStatus(options) {
76
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
76
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
77
77
  const payload = await http.get("/api/v2/github/installation");
78
78
  const installation = payload.installation;
79
79
  const others = (_nullishCoalesce(payload.installations, () => ( []))).filter(
@@ -136,7 +136,7 @@ async function handleStatus(options) {
136
136
  )
137
137
  );
138
138
  }
139
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
139
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
140
140
  {
141
141
  installation,
142
142
  installations: _nullishCoalesce(payload.installations, () => ( [])),
@@ -147,10 +147,10 @@ async function handleStatus(options) {
147
147
  );
148
148
  }
149
149
  async function handleRepos(options) {
150
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
150
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
151
151
  const query = options.installation ? `?installationId=${encodeURIComponent(options.installation)}` : "";
152
152
  const payload = await http.get(`/api/v2/github/repos${query}`);
153
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
153
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
154
154
  {
155
155
  installation: payload.installation,
156
156
  repositories: payload.repositories,
@@ -171,7 +171,7 @@ async function handleRepos(options) {
171
171
  }
172
172
  async function resolveRepoId(repo, installation) {
173
173
  if (/^\d+$/.test(repo)) return Number(repo);
174
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
174
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
175
175
  const query = installation ? `?installationId=${encodeURIComponent(installation)}` : "";
176
176
  const payload = await http.get(
177
177
  `/api/v2/github/repos${query}`
@@ -188,7 +188,7 @@ async function resolveRepoId(repo, installation) {
188
188
  }
189
189
  async function handleLink(repo, options) {
190
190
  const repoId = await resolveRepoId(repo, options.installation);
191
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
191
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
192
192
  const payload = await http.post("/api/v2/play-projects", {
193
193
  repoId,
194
194
  ...options.installation !== void 0 ? { installationId: options.installation } : {},
@@ -197,7 +197,7 @@ async function handleLink(repo, options) {
197
197
  ...options.branch !== void 0 ? { productionBranch: options.branch } : {},
198
198
  ...options.prChecks !== void 0 ? { checkOnPullRequest: options.prChecks } : {}
199
199
  });
200
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
200
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
201
201
  {
202
202
  project: payload.project,
203
203
  render: {
@@ -220,11 +220,11 @@ async function handleLink(repo, options) {
220
220
  );
221
221
  }
222
222
  async function handleGet(id, options) {
223
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
223
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
224
224
  const payload = await http.get(
225
225
  `/api/v2/play-projects/${encodeURIComponent(id)}`
226
226
  );
227
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
227
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
228
228
  {
229
229
  project: payload.project,
230
230
  render: {
@@ -240,7 +240,7 @@ async function handleGet(id, options) {
240
240
  );
241
241
  }
242
242
  async function handleSet(id, options) {
243
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
243
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
244
244
  const payload = await http.patch(
245
245
  `/api/v2/play-projects/${encodeURIComponent(id)}`,
246
246
  {
@@ -251,7 +251,7 @@ async function handleSet(id, options) {
251
251
  ...options.disabled !== void 0 ? { disabled: options.disabled } : {}
252
252
  }
253
253
  );
254
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
254
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
255
255
  {
256
256
  project: payload.project,
257
257
  render: {
@@ -264,9 +264,9 @@ async function handleSet(id, options) {
264
264
  );
265
265
  }
266
266
  async function handleUnlink(id, options) {
267
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
267
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
268
268
  await http.delete(`/api/v2/play-projects/${encodeURIComponent(id)}`);
269
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
269
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
270
270
  {
271
271
  ok: true,
272
272
  id,
@@ -286,10 +286,10 @@ async function handleUnlink(id, options) {
286
286
  );
287
287
  }
288
288
  async function handleConnect(options) {
289
- const baseUrl = _chunkFJCIUF34js.resolveBaseUrlOnly.call(void 0, );
289
+ const baseUrl = _chunkOZSC6CEWjs.resolveBaseUrlOnly.call(void 0, );
290
290
  const connectUrl = `${baseUrl.replace(/\/$/, "")}/api/v2/github/connect`;
291
- const opened = _chunkYD7B53RWjs.openInBrowser.call(void 0, connectUrl);
292
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
291
+ const opened = _chunkZHWBU36Hjs.openInBrowser.call(void 0, connectUrl);
292
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
293
293
  {
294
294
  connectUrl,
295
295
  browser: opened,
@@ -311,7 +311,7 @@ async function handleConnect(options) {
311
311
  );
312
312
  }
313
313
  async function handleDeploymentsList(options) {
314
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
314
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
315
315
  const query = new URLSearchParams();
316
316
  if (options.repo) query.set("projectId", options.repo);
317
317
  if (options.limit) query.set("limit", options.limit);
@@ -319,7 +319,7 @@ async function handleDeploymentsList(options) {
319
319
  const payload = await http.get(
320
320
  `/api/v2/deployments${suffix}`
321
321
  );
322
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
322
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
323
323
  {
324
324
  deployments: payload.deployments,
325
325
  count: payload.deployments.length,
@@ -363,12 +363,12 @@ function renderDeploymentMonitorLines(results) {
363
363
  ]);
364
364
  }
365
365
  async function handleDeploymentGet(id, options) {
366
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
366
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
367
367
  const payload = await http.get(`/api/v2/deployments/${encodeURIComponent(id)}`);
368
368
  const playLines = renderDeploymentPlayLines(payload.deployment.results);
369
369
  const monitorLines = renderDeploymentMonitorLines(payload.deployment.results);
370
370
  const repository = _nullishCoalesce(_optionalChain([payload, 'access', _10 => _10.project, 'optionalAccess', _11 => _11.repoFullName]), () => ( payload.deployment.repoFullName));
371
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
371
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
372
372
  {
373
373
  deployment: payload.deployment,
374
374
  project: payload.project,
@@ -387,9 +387,9 @@ async function handleDeploymentGet(id, options) {
387
387
  );
388
388
  }
389
389
  async function handleDeploymentCancel(id, options) {
390
- const { http } = _chunkYD7B53RWjs.getAuthedHttpClient.call(void 0, );
390
+ const { http } = _chunkZHWBU36Hjs.getAuthedHttpClient.call(void 0, );
391
391
  const payload = await http.post(`/api/v2/deployments/${encodeURIComponent(id)}/cancel`, {});
392
- _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
392
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
393
393
  {
394
394
  cancelled: payload.cancelled,
395
395
  deployment: payload.deployment,