deepline 0.3.461 → 0.3.462

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 (296) hide show
  1. package/dist/bundling-sources/sdk/src/client-core.ts +7593 -0
  2. package/dist/bundling-sources/sdk/src/client.ts +8 -7366
  3. package/dist/bundling-sources/sdk/src/http-core.ts +1239 -0
  4. package/dist/bundling-sources/sdk/src/http.ts +6 -1231
  5. package/dist/bundling-sources/sdk/src/index.ts +4 -1
  6. package/dist/bundling-sources/sdk/src/play.ts +5 -5
  7. package/dist/bundling-sources/sdk/src/plays/client-core.ts +437 -0
  8. package/dist/bundling-sources/sdk/src/plays/client.ts +4 -421
  9. package/dist/bundling-sources/sdk/src/plays/input-example.ts +3 -4
  10. package/dist/bundling-sources/sdk/src/plays/play-description.ts +1 -1
  11. package/dist/bundling-sources/sdk/src/plays/run-request.ts +1 -1
  12. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  13. package/dist/bundling-sources/sdk/src/server.ts +43 -0
  14. package/dist/bundling-sources/sdk/src/types.ts +15 -5
  15. package/dist/bundling-sources/shared_libs/integration-contracts/billing-entitlements.ts +15 -0
  16. package/dist/bundling-sources/shared_libs/monitors/callback-security.ts +0 -307
  17. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +3 -0
  18. package/dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts +3 -2
  19. package/dist/bundling-sources/shared_libs/monitors/package.json +2 -0
  20. package/dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts +34 -0
  21. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-batch-operation.ts +59 -0
  22. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +94 -1
  23. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-dead-letter.ts +11 -1
  24. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-failure-codes.ts +24 -0
  25. package/dist/bundling-sources/shared_libs/observability/dlq.ts +32 -0
  26. package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +57 -3
  27. package/dist/bundling-sources/shared_libs/observability/scheduled-work.ts +1 -0
  28. package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +66 -1
  29. package/dist/bundling-sources/shared_libs/play-data-plane/sheet-column-storage.ts +36 -7
  30. package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +250 -11
  31. package/dist/bundling-sources/shared_libs/play-runtime/array-input-store.ts +319 -0
  32. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +991 -359
  33. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +17 -0
  34. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-janitor.ts +13 -0
  35. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-reaper.ts +110 -0
  36. package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-machines.ts +155 -6
  37. package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-registry.ts +110 -6
  38. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +127 -13
  39. package/dist/bundling-sources/shared_libs/play-runtime/execution-capabilities.ts +14 -1
  40. package/dist/bundling-sources/shared_libs/play-runtime/fixture-behavior.ts +57 -1
  41. package/dist/bundling-sources/shared_libs/play-runtime/free-company-lookup-batching.ts +218 -0
  42. package/dist/bundling-sources/shared_libs/play-runtime/gateway-postgres-admission.ts +42 -5
  43. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-budget-state-backend.ts +6 -1
  44. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +92 -31
  45. package/dist/bundling-sources/shared_libs/play-runtime/governor/block-reserving-budget-state-backend.ts +69 -14
  46. package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +93 -23
  47. package/dist/bundling-sources/shared_libs/play-runtime/governor/in-memory-rate-state-backend.ts +15 -4
  48. package/dist/bundling-sources/shared_libs/play-runtime/governor/policy.ts +22 -18
  49. package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +5 -0
  50. package/dist/bundling-sources/shared_libs/play-runtime/launch-identity.ts +2 -0
  51. package/dist/bundling-sources/shared_libs/play-runtime/map-memory-limits.ts +190 -14
  52. package/dist/bundling-sources/shared_libs/play-runtime/memory-ledger.ts +131 -0
  53. package/dist/bundling-sources/shared_libs/play-runtime/modal-runtime-config.ts +77 -2
  54. package/dist/bundling-sources/shared_libs/play-runtime/output-size-limits.ts +271 -2
  55. package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +51 -0
  56. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/contracts.ts +2 -0
  57. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +27 -1
  58. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-batching-registry.ts +2 -0
  59. package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +3 -0
  60. package/dist/bundling-sources/shared_libs/play-runtime/provider-text-for-log.ts +63 -0
  61. package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +19 -0
  62. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger-event-transport.ts +112 -16
  63. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +104 -2
  64. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +265 -151
  65. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-gateway-transport.ts +17 -0
  66. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-progress-push.ts +35 -14
  67. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-sheet-persistence-retry.ts +12 -1
  68. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-control-transport.ts +4 -0
  69. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-labels.ts +36 -0
  70. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-launch-transport.ts +136 -70
  71. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +237 -36
  72. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +148 -4
  73. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +6 -0
  74. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +285 -32
  75. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/modal.ts +251 -56
  76. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/runtime-sandbox-reconciliation.ts +29 -4
  77. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/sandbox-create-outcome.ts +27 -0
  78. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/types.ts +22 -1
  79. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +1397 -382
  80. package/dist/bundling-sources/shared_libs/play-runtime/runtime-array-input-receipts.ts +920 -0
  81. package/dist/bundling-sources/shared_libs/play-runtime/runtime-constants.ts +16 -0
  82. package/dist/bundling-sources/shared_libs/play-runtime/runtime-environment.ts +38 -0
  83. package/dist/bundling-sources/shared_libs/play-runtime/runtime-flow.ts +6 -0
  84. package/dist/bundling-sources/shared_libs/play-runtime/runtime-incident-drills.ts +26 -1
  85. package/dist/bundling-sources/shared_libs/play-runtime/runtime-operation-contract.ts +30 -0
  86. package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-store-adapter.ts +14 -3
  87. package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-writer.ts +31 -4
  88. package/dist/bundling-sources/shared_libs/play-runtime/runtime-sheet-row-transition.ts +47 -0
  89. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-compute-usage.ts +20 -7
  90. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +12 -0
  91. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/index.ts +9 -0
  92. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +10 -0
  93. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backend.ts +4 -0
  94. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +1496 -320
  95. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-required-env.ts +31 -1
  96. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +1389 -129
  97. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-gateway.ts +36 -0
  98. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-dispatch-authority.ts +4 -0
  99. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +162 -23
  100. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +499 -115
  101. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +377 -9
  102. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-ledger-reconciliation.ts +117 -8
  103. package/dist/bundling-sources/shared_libs/play-runtime/secret-resolution-retry-policy.ts +25 -0
  104. package/dist/bundling-sources/shared_libs/play-runtime/terminal-runtime-performance.ts +391 -0
  105. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +40 -0
  106. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/index.ts +6 -0
  107. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/mapped-calls.ts +171 -0
  108. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +16 -1
  109. package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +26 -3
  110. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +16 -2
  111. package/dist/bundling-sources/shared_libs/play-runtime/transport-error-diagnostics.ts +28 -0
  112. package/dist/bundling-sources/shared_libs/play-runtime/work-receipt-storage-contract.ts +55 -5
  113. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +41 -1
  114. package/dist/bundling-sources/shared_libs/plays/contracts.ts +4 -0
  115. package/dist/bundling-sources/shared_libs/plays/dataset.ts +9 -3
  116. package/dist/bundling-sources/shared_libs/plays/deploy/manifest-contract.ts +2 -0
  117. package/dist/bundling-sources/shared_libs/plays/deploy/manifest.ts +3 -2
  118. package/dist/bundling-sources/shared_libs/plays/deploy/project-serializer.ts +2 -2
  119. package/dist/bundling-sources/shared_libs/plays/run-output-summary.ts +66 -0
  120. package/dist/bundling-sources/shared_libs/plays/script-entry.ts +1 -1
  121. package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +43 -1
  122. package/dist/bundling-sources/shared_libs/product-notifications/content.ts +9 -0
  123. package/dist/bundling-sources/shared_libs/product-notifications/email.ts +91 -13
  124. package/dist/bundling-sources/shared_libs/product-notifications/events.ts +3 -0
  125. package/dist/bundling-sources/shared_libs/product-notifications/slack-delivery.ts +41 -24
  126. package/dist/bundling-sources/shared_libs/security/attested-client-ip.ts +91 -0
  127. package/dist/bundling-sources/shared_libs/security/internal-actor.ts +0 -11
  128. package/dist/cli/{auth-6HJXNWUG.mjs → auth-JDLEY7VU.mjs} +5 -4
  129. package/dist/cli/auth-UXKY6TCC.js +41 -0
  130. package/dist/cli/{billing-6P5HO6QG.js → billing-HXAXB3XZ.js} +152 -78
  131. package/dist/cli/{billing-MJ42N7YF.mjs → billing-SDHLBLMV.mjs} +84 -10
  132. package/dist/cli/{chunk-5MDIZX7M.js → chunk-3ACMRZRV.js} +8 -6
  133. package/dist/cli/{chunk-FGLKOWSC.mjs → chunk-3KZCFOZ6.mjs} +1 -1
  134. package/dist/cli/chunk-4KQ6SIBC.mjs +1038 -0
  135. package/dist/cli/{chunk-Z2GUFYT6.js → chunk-5LEAXRHV.js} +11 -11
  136. package/dist/cli/{chunk-MEAIOXJL.mjs → chunk-6NNVJDVR.mjs} +7 -5
  137. package/dist/cli/{chunk-NMJ4D2WO.js → chunk-6PMCRYDA.js} +216 -91
  138. package/dist/cli/{chunk-RY4IVOU3.mjs → chunk-6RNQGWFD.mjs} +16 -806
  139. package/dist/cli/{chunk-EBU7LQ64.js → chunk-6V7KVRR5.js} +3 -3
  140. package/dist/cli/{chunk-OZBWRICM.js → chunk-7LFIMWMW.js} +2 -2
  141. package/dist/cli/chunk-7MJ6VI2T.mjs +19 -0
  142. package/dist/cli/chunk-7SWNPNML.js +1039 -0
  143. package/dist/cli/{chunk-IHHLTHE7.mjs → chunk-7U3XNPOA.mjs} +267 -38
  144. package/dist/cli/{chunk-5FDKJQZE.js → chunk-7VZHXVOQ.js} +1 -1
  145. package/dist/cli/{chunk-R64BGGRQ.mjs → chunk-AT636LLU.mjs} +2 -2
  146. package/dist/cli/{chunk-MDJPEGVN.js → chunk-BGTPIMSM.js} +392 -261
  147. package/dist/cli/{chunk-KVJ5VHW5.mjs → chunk-CKSOY47X.mjs} +2 -2
  148. package/dist/cli/{chunk-7DH2FD7Y.mjs → chunk-D464JW3N.mjs} +5 -85
  149. package/dist/cli/chunk-D6DXOUTO.mjs +827 -0
  150. package/dist/cli/{describe-2WQY7ZCY.js → chunk-EM4TXCCI.js} +27 -44
  151. package/dist/cli/chunk-F6QV42MC.mjs +91 -0
  152. package/dist/cli/chunk-FKVYR3QA.mjs +1039 -0
  153. package/dist/cli/{chunk-FGMX4HUZ.js → chunk-GEGW5HPZ.js} +29 -27
  154. package/dist/cli/{chunk-TNMBPMMC.js → chunk-HUB3CCM2.js} +13 -4
  155. package/dist/cli/{chunk-ACCR7POB.js → chunk-I6VHOU5O.js} +27 -27
  156. package/dist/cli/{chunk-Z2XUZC34.js → chunk-IAYSWZDJ.js} +188 -76
  157. package/dist/cli/chunk-JF3TLIMQ.js +19 -0
  158. package/dist/cli/{chunk-HDFRJ4IT.mjs → chunk-JVHOS3K3.mjs} +177 -65
  159. package/dist/cli/{chunk-V7REJRDZ.mjs → chunk-LFXLQEZN.mjs} +1 -1
  160. package/dist/cli/{chunk-CRYOUPEB.js → chunk-LROWFPGN.js} +16 -16
  161. package/dist/cli/{chunk-SLEUWLJE.mjs → chunk-MSY22NQW.mjs} +5 -5
  162. package/dist/cli/{chunk-BGY2PLP7.mjs → chunk-MUUQZIOF.mjs} +23 -49
  163. package/dist/cli/{chunk-FCAZQ7WV.js → chunk-NBLSCHKK.js} +52 -50
  164. package/dist/cli/{chunk-QAJAJPKK.mjs → chunk-NHRWZPWZ.mjs} +4 -2
  165. package/dist/cli/{chunk-KXMNM4AQ.js → chunk-NMU3VR5U.js} +4 -5
  166. package/dist/cli/{chunk-QIW7TVV6.mjs → chunk-O2RX5A66.mjs} +14 -12
  167. package/dist/cli/{chunk-SAZFZQRI.js → chunk-OMQ23IXL.js} +2 -2
  168. package/dist/cli/{chunk-5IYOUBFZ.js → chunk-OPJAJBD4.js} +28 -54
  169. package/dist/cli/{chunk-FJZILBL7.mjs → chunk-PHSEINNH.mjs} +5 -5
  170. package/dist/cli/{chunk-3DNKFH2G.mjs → chunk-PKHVSIJG.mjs} +19 -1
  171. package/dist/cli/{chunk-WIYWSYDS.mjs → chunk-Q2EIZKVX.mjs} +3 -3
  172. package/dist/cli/{chunk-5FY72YOV.js → chunk-QJZ6WNWD.js} +8 -8
  173. package/dist/cli/{chunk-EIMG75BT.mjs → chunk-S3A4IXBQ.mjs} +4 -5
  174. package/dist/cli/{chunk-3BMLICF7.mjs → chunk-S42YIQNE.mjs} +13 -8
  175. package/dist/cli/{chunk-RFONC4WJ.mjs → chunk-S6UAJR6V.mjs} +3 -3
  176. package/dist/cli/{chunk-G7L27KZB.mjs → chunk-TKAQR3IB.mjs} +31 -21
  177. package/dist/cli/{chunk-QWRHGGUH.js → chunk-UAJFWWZE.js} +20 -2
  178. package/dist/cli/{chunk-VZBCEA5S.mjs → chunk-UDRPEZ5F.mjs} +223 -92
  179. package/dist/cli/{chunk-KCCOQ5G5.js → chunk-ULK7JGGI.js} +511 -282
  180. package/dist/cli/chunk-V335HGX5.js +1038 -0
  181. package/dist/cli/{chunk-MGXEUZHL.mjs → chunk-V3MEA7NB.mjs} +7 -5
  182. package/dist/cli/{chunk-O6QOMHCH.js → chunk-VFGVXXZP.js} +37 -35
  183. package/dist/cli/chunk-VLEVVDWG.js +91 -0
  184. package/dist/cli/{chunk-R2GLGLDR.mjs → chunk-VPHN2HAL.mjs} +216 -91
  185. package/dist/cli/{chunk-CFUTOWE4.js → chunk-WG3KGAII.js} +8 -88
  186. package/dist/cli/{describe-FRAVCY5F.mjs → chunk-WIY6U6GD.mjs} +19 -36
  187. package/dist/cli/{chunk-PNATXKLP.js → chunk-XANRM3QA.js} +6 -6
  188. package/dist/cli/{chunk-KGQNIA37.js → chunk-XQCTG5OO.js} +44 -34
  189. package/dist/cli/{chunk-T3MVIPHG.mjs → chunk-XZAFIOUQ.mjs} +1 -1
  190. package/dist/cli/chunk-Y4DPU4OM.js +827 -0
  191. package/dist/cli/chunk-YT5EODJO.js +920 -0
  192. package/dist/cli/{chunk-SCIR5JXW.js → chunk-ZGQSFYD2.js} +56 -51
  193. package/dist/cli/{chunk-QEYHTIV4.mjs → chunk-ZUK6LIJB.mjs} +10 -1
  194. package/dist/cli/command-docs.d.mts +5 -0
  195. package/dist/cli/command-docs.d.ts +5 -0
  196. package/dist/cli/command-docs.js +2 -2
  197. package/dist/cli/command-docs.mjs +1 -1
  198. package/dist/cli/{csv-NX7NO3O6.js → csv-C56GSCEU.js} +13 -12
  199. package/dist/cli/{csv-DQ6GW5B5.mjs → csv-L54JS7TF.mjs} +4 -3
  200. package/dist/cli/{db-R72DFMP6.js → db-MOGRMZTA.js} +30 -27
  201. package/dist/cli/{db-2YP33M4K.mjs → db-YVBUW2DX.mjs} +10 -7
  202. package/dist/cli/describe-KYEULWPG.js +48 -0
  203. package/dist/cli/describe-NLZKKT7C.mjs +48 -0
  204. package/dist/cli/describe-core.d.mts +153 -5
  205. package/dist/cli/describe-core.d.ts +153 -5
  206. package/dist/cli/describe-core.js +9 -5
  207. package/dist/cli/describe-core.mjs +10 -6
  208. package/dist/cli/{executions-ZLHD4QIT.js → executions-A7L4ULPP.js} +9 -7
  209. package/dist/cli/{executions-WFBU7L2Q.mjs → executions-ZBGSTT37.mjs} +7 -5
  210. package/dist/cli/{feedback-CN3HJFVF.mjs → feedback-G6GU37FD.mjs} +6 -5
  211. package/dist/cli/{feedback-NDV6TPHG.js → feedback-OHLY7RYD.js} +10 -9
  212. package/dist/cli/getting-started.d.mts +6 -6
  213. package/dist/cli/getting-started.d.ts +6 -6
  214. package/dist/cli/getting-started.js +2 -2
  215. package/dist/cli/getting-started.mjs +1 -1
  216. package/dist/cli/git-P76N4NDQ.js +25 -0
  217. package/dist/cli/{git-QAD6E3HW.mjs → git-PKZW3QD5.mjs} +5 -4
  218. package/dist/cli/index.js +152 -142
  219. package/dist/cli/index.mjs +56 -46
  220. package/dist/cli/{legacy-noops-KVC5QJ74.js → legacy-noops-5LM3D724.js} +8 -7
  221. package/dist/cli/{legacy-noops-TPTKNBI2.mjs → legacy-noops-LJJYG6YA.mjs} +5 -4
  222. package/dist/cli/{monitors-SV57JFLO.mjs → monitors-72QV4ALO.mjs} +19 -6
  223. package/dist/cli/{monitors-KCROV6PJ.js → monitors-UX3H5DC2.js} +103 -90
  224. package/dist/cli/{org-KX6QIR7A.mjs → org-6RRRKOCP.mjs} +9 -6
  225. package/dist/cli/{org-NJYX5743.js → org-IF7ISUVB.js} +70 -67
  226. package/dist/cli/pages-3SU3HKL7.js +252 -0
  227. package/dist/cli/pages-DXDYYKEK.mjs +252 -0
  228. package/dist/cli/{play-IQQ57L7Z.mjs → play-AHASKRLA.mjs} +512 -1508
  229. package/dist/cli/{play-32L7EQN4.js → play-EUIUVLUH.js} +1090 -2086
  230. package/dist/cli/{providers-4WEC2EQN.mjs → providers-GWGE3WY3.mjs} +7 -5
  231. package/dist/cli/{providers-ZQV6QLVQ.js → providers-V5WU4VXJ.js} +10 -8
  232. package/dist/cli/{quickstart-RQ76RIUE.mjs → quickstart-OXKQ5ZST.mjs} +5 -4
  233. package/dist/cli/{quickstart-HKUSFADF.js → quickstart-QP65I5PF.js} +13 -12
  234. package/dist/cli/run-6MM72IGL.mjs +443 -0
  235. package/dist/cli/run-F3FTYS56.js +443 -0
  236. package/dist/cli/search-OYKOOI7A.js +32 -0
  237. package/dist/cli/{search-ZRAVFBZC.mjs → search-ZMEBVJZB.mjs} +8 -6
  238. package/dist/cli/{secrets-J3G5Y43U.js → secrets-ACND5N6A.js} +16 -14
  239. package/dist/cli/{secrets-CMJOVNVH.mjs → secrets-XRCJFF3L.mjs} +7 -5
  240. package/dist/cli/{sessions-MDQYY5CB.mjs → sessions-RTK3CEW6.mjs} +5 -4
  241. package/dist/cli/{sessions-WY7VN4AE.js → sessions-ZGRJPCFF.js} +6 -5
  242. package/dist/cli/{settings-HTNTFKCE.js → settings-PD5KWQQZ.js} +80 -77
  243. package/dist/cli/{settings-4RWZPCT5.mjs → settings-XDRBPRDE.mjs} +14 -11
  244. package/dist/cli/{setup-P3GYYZWG.mjs → setup-3HPYAOCC.mjs} +12 -10
  245. package/dist/cli/{setup-QGCAP62X.js → setup-E2Q6PXHC.js} +53 -51
  246. package/dist/cli/{skills-7NAE4ICL.mjs → skills-OOQFMPOV.mjs} +7 -6
  247. package/dist/cli/skills-XYWV52KB.js +31 -0
  248. package/dist/cli/tools-ASCDZJCK.js +55 -0
  249. package/dist/cli/tools-C5ZT3UIC.mjs +55 -0
  250. package/dist/cli/update-5RQSEIFM.js +33 -0
  251. package/dist/cli/{update-GODLRKNB.mjs → update-ZWJTADIW.mjs} +9 -8
  252. package/dist/cli/{workflow-4BXOUVEO.mjs → workflow-23NMPAJ7.mjs} +10 -8
  253. package/dist/cli/{workflow-AO3A6LXN.js → workflow-TCXU5YJV.js} +20 -18
  254. package/dist/client-DS2IWYZF.d.ts +10 -0
  255. package/dist/client-DTwnz_AW.d.mts +10 -0
  256. package/dist/{client-CYqG23K1.d.ts → client-core-B_6HAIBy.d.ts} +385 -12
  257. package/dist/{client-BbU5_j7n.d.mts → client-core-DzBSlY1U.d.mts} +385 -12
  258. package/dist/{compiler-manifest-CWz_sNOQ.d.ts → compiler-manifest-Dcyd3-Zd.d.mts} +43 -1
  259. package/dist/{compiler-manifest-CWz_sNOQ.d.mts → compiler-manifest-Dcyd3-Zd.d.ts} +43 -1
  260. package/dist/errors-d-sTrZhe.d.mts +142 -0
  261. package/dist/errors-yQwfgrcX.d.ts +142 -0
  262. package/dist/{index-BF2JB_Ug.d.mts → index-C6oXchjN.d.mts} +1 -1
  263. package/dist/{index-4NPXDzlD.d.ts → index-P56zy_z5.d.ts} +1 -1
  264. package/dist/index.d.mts +11 -147
  265. package/dist/index.d.ts +11 -147
  266. package/dist/index.js +15 -11
  267. package/dist/index.mjs +14 -10
  268. package/dist/install-integrity.json +141 -104
  269. package/dist/plays/bundle-play-file.d.mts +3 -3
  270. package/dist/plays/bundle-play-file.d.ts +3 -3
  271. package/dist/plays/bundle-play-file.mjs +2 -1
  272. package/dist/plays/play-description.d.mts +2 -2
  273. package/dist/plays/play-description.d.ts +2 -2
  274. package/dist/plays/play-description.js +2 -2
  275. package/dist/plays/play-description.mjs +1 -1
  276. package/dist/plays/run-request.d.mts +2 -2
  277. package/dist/plays/run-request.d.ts +2 -2
  278. package/dist/release.d.mts +1 -1
  279. package/dist/release.d.ts +1 -1
  280. package/dist/release.js +2 -2
  281. package/dist/release.mjs +1 -1
  282. package/dist/server.d.mts +17 -0
  283. package/dist/server.d.ts +17 -0
  284. package/dist/server.js +76 -0
  285. package/dist/server.mjs +76 -0
  286. package/package.json +6 -1
  287. package/dist/cli/auth-IACERYQH.js +0 -40
  288. package/dist/cli/chunk-PQUUWFXY.js +0 -95
  289. package/dist/cli/chunk-YBWAG72P.mjs +0 -95
  290. package/dist/cli/chunk-YQDUODZW.js +0 -1710
  291. package/dist/cli/git-JVI36ZFV.js +0 -24
  292. package/dist/cli/search-75X5LTDE.js +0 -30
  293. package/dist/cli/skills-BKJ53JOQ.js +0 -30
  294. package/dist/cli/tools-COWMIEJ6.mjs +0 -45
  295. package/dist/cli/tools-TASOCE7I.js +0 -45
  296. package/dist/cli/update-SJIKVME6.js +0 -32
@@ -0,0 +1,827 @@
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
+ var _chunkYT5EODJOjs = require('./chunk-YT5EODJO.js');
5
+
6
+
7
+ var _chunkALJJRZNJjs = require('./chunk-ALJJRZNJ.js');
8
+
9
+ // src/config.ts
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ var _fs = require('fs');
19
+ var _os = require('os');
20
+ var _path = require('path');
21
+ var HOST_URL_ENV = "DEEPLINE_HOST_URL";
22
+ var API_KEY_ENV = "DEEPLINE_API_KEY";
23
+ var ACTIVE_ORG_ID_ENV = "DEEPLINE_ACTIVE_ORG_ID";
24
+ var ACTIVE_ORG_NAME_ENV = "DEEPLINE_ACTIVE_ORG_NAME";
25
+ var FEATURES_ENV = "DEEPLINE_FEATURES";
26
+ var PROD_URL = "https://code.deepline.com";
27
+ var DEFAULT_TIMEOUT = 6e4;
28
+ var DEFAULT_MAX_RETRIES = 3;
29
+ var PROJECT_DEEPLINE_ENV_FILE = ".env.deepline";
30
+ var COWORK_IGNORED_WORKSPACE_DIRS = /* @__PURE__ */ new Set([
31
+ ".auto-memory",
32
+ ".claude",
33
+ ".remote-plugins",
34
+ "outputs",
35
+ "plugins",
36
+ "uploads"
37
+ ]);
38
+ var COWORK_PROJECT_MARKERS = [
39
+ ".deepline",
40
+ ".env.deepline",
41
+ ".git",
42
+ "AGENTS.md",
43
+ "package.json",
44
+ "pyproject.toml"
45
+ ];
46
+ var CLI_ENV_ALLOWED_KEYS = /* @__PURE__ */ new Set([
47
+ HOST_URL_ENV,
48
+ API_KEY_ENV,
49
+ ACTIVE_ORG_ID_ENV,
50
+ ACTIVE_ORG_NAME_ENV,
51
+ FEATURES_ENV
52
+ ]);
53
+ function featureEnvValues(data) {
54
+ if (!Array.isArray(data.features)) return {};
55
+ return {
56
+ [FEATURES_ENV]: data.features.filter(
57
+ (key) => typeof key === "string" && key.trim() !== ""
58
+ ).map((key) => key.trim()).join(",")
59
+ };
60
+ }
61
+ function storedHostApiKey(baseUrl) {
62
+ return _nullishCoalesce(loadCliEnv(normalizeBaseUrl(baseUrl) || baseUrl)[API_KEY_ENV], () => ( ""));
63
+ }
64
+ function storedHostFeatures(baseUrl) {
65
+ return loadCliEnv(normalizeBaseUrl(baseUrl) || baseUrl)[FEATURES_ENV];
66
+ }
67
+ function envHasFeature(env, feature) {
68
+ return (_nullishCoalesce(env[FEATURES_ENV], () => ( ""))).split(",").map((key) => key.trim()).includes(feature);
69
+ }
70
+ function cliFeatureEnabled(feature) {
71
+ const processEnv = process.env;
72
+ if (envHasFeature(processEnv, feature)) return true;
73
+ if (_optionalChain([processEnv, 'access', _ => _[API_KEY_ENV], 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()])) return false;
74
+ try {
75
+ const baseUrl = resolveBaseUrlOnly();
76
+ const projectEnv = loadProjectEnvCandidates().find(
77
+ ({ env }) => normalizeBaseUrl(_nullishCoalesce(env[HOST_URL_ENV], () => ( ""))) === baseUrl && Boolean(env[API_KEY_ENV])
78
+ );
79
+ return envHasFeature(_nullishCoalesce(_optionalChain([projectEnv, 'optionalAccess', _4 => _4.env]), () => ( loadCliEnv(baseUrl))), feature);
80
+ } catch (e) {
81
+ return false;
82
+ }
83
+ }
84
+ function baseUrlSlug(baseUrl) {
85
+ let url;
86
+ try {
87
+ url = new URL(baseUrl);
88
+ } catch (e2) {
89
+ return "unknown";
90
+ }
91
+ const host = url.hostname || "unknown";
92
+ const port = url.port ? Number.parseInt(url.port, 10) : null;
93
+ let slug = host.replace(/[^a-zA-Z0-9]/g, "-");
94
+ if (port && port !== 80 && port !== 443) {
95
+ slug = `${slug}-${port}`;
96
+ }
97
+ return slug.toLowerCase().replace(/^-+|-+$/g, "");
98
+ }
99
+ function parseEnvFile(filePath) {
100
+ if (!_fs.existsSync.call(void 0, filePath)) return {};
101
+ const env = {};
102
+ const content = _fs.readFileSync.call(void 0, filePath, "utf-8");
103
+ for (const line of content.split(/\r?\n/)) {
104
+ const trimmed = line.trim();
105
+ if (!trimmed || trimmed.startsWith("#")) continue;
106
+ const eqIndex = trimmed.indexOf("=");
107
+ if (eqIndex < 0) continue;
108
+ const key = trimmed.slice(0, eqIndex).trim();
109
+ let value = trimmed.slice(eqIndex + 1).trim();
110
+ if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
111
+ try {
112
+ value = JSON.parse(value);
113
+ } catch (e3) {
114
+ value = value.slice(1, -1);
115
+ }
116
+ } else if (value.length >= 2 && value.startsWith("'") && value.endsWith("'")) {
117
+ value = value.slice(1, -1);
118
+ }
119
+ if (key && value) {
120
+ env[key] = value;
121
+ }
122
+ }
123
+ return env;
124
+ }
125
+ function findNearestEnvFile(name, startDir = process.cwd()) {
126
+ let current = _path.resolve.call(void 0, startDir);
127
+ while (true) {
128
+ const filePath = _path.join.call(void 0, current, name);
129
+ if (_fs.existsSync.call(void 0, filePath)) return filePath;
130
+ const parent = _path.dirname.call(void 0, current);
131
+ if (parent === current) return null;
132
+ current = parent;
133
+ }
134
+ }
135
+ function isDirectory(path) {
136
+ try {
137
+ return _fs.statSync.call(void 0, path).isDirectory();
138
+ } catch (e4) {
139
+ return false;
140
+ }
141
+ }
142
+ function canonicalPath(path) {
143
+ try {
144
+ return _fs.realpathSync.call(void 0, path);
145
+ } catch (e5) {
146
+ return _path.resolve.call(void 0, path);
147
+ }
148
+ }
149
+ function isTruthy(value) {
150
+ return /^(1|true|yes|on)$/i.test(_nullishCoalesce(_optionalChain([value, 'optionalAccess', _5 => _5.trim, 'call', _6 => _6()]), () => ( "")));
151
+ }
152
+ function sessionRootFromPath(path) {
153
+ const trimmed = _optionalChain([path, 'optionalAccess', _7 => _7.trim, 'call', _8 => _8()]);
154
+ if (!trimmed) return null;
155
+ const match = /^\/sessions\/[^/]+(?=\/|$)/.exec(trimmed);
156
+ return _nullishCoalesce(_optionalChain([match, 'optionalAccess', _9 => _9[0]]), () => ( null));
157
+ }
158
+ function coworkSessionRoot() {
159
+ const home = _optionalChain([process, 'access', _10 => _10.env, 'access', _11 => _11.HOME, 'optionalAccess', _12 => _12.trim, 'call', _13 => _13()]);
160
+ const homeSessionRoot = sessionRootFromPath(home);
161
+ if (homeSessionRoot && isDirectory(_path.join.call(void 0, homeSessionRoot, "mnt"))) {
162
+ return homeSessionRoot;
163
+ }
164
+ const cwdSessionRoot = sessionRootFromPath(process.cwd());
165
+ if (cwdSessionRoot && isDirectory(_path.join.call(void 0, cwdSessionRoot, "mnt"))) {
166
+ return cwdSessionRoot;
167
+ }
168
+ if (isTruthy(process.env.CLAUDE_CODE_REMOTE) && home) {
169
+ const mountedRoot = _path.join.call(void 0, home, "mnt");
170
+ if (isDirectory(mountedRoot)) return _path.resolve.call(void 0, home);
171
+ }
172
+ return null;
173
+ }
174
+ function isCoworkLikeSandbox() {
175
+ const home = _optionalChain([process, 'access', _14 => _14.env, 'access', _15 => _15.HOME, 'optionalAccess', _16 => _16.trim, 'call', _17 => _17()]);
176
+ return isTruthy(process.env.CLAUDE_CODE_REMOTE) || sessionRootFromPath(home) !== null || sessionRootFromPath(process.cwd()) !== null;
177
+ }
178
+ function coworkProjectScore(path) {
179
+ let score = 0;
180
+ for (const marker of COWORK_PROJECT_MARKERS) {
181
+ if (_fs.existsSync.call(void 0, _path.join.call(void 0, path, marker))) score += 1;
182
+ }
183
+ return score;
184
+ }
185
+ function listCoworkWorkspaceDirCandidates() {
186
+ if (!isCoworkLikeSandbox()) {
187
+ return [];
188
+ }
189
+ const explicitProjectDir = _optionalChain([process, 'access', _18 => _18.env, 'access', _19 => _19.CLAUDE_PROJECT_DIR, 'optionalAccess', _20 => _20.trim, 'call', _21 => _21()]);
190
+ if (explicitProjectDir && isDirectory(explicitProjectDir)) {
191
+ return [_path.resolve.call(void 0, explicitProjectDir)];
192
+ }
193
+ const sessionRoot = coworkSessionRoot();
194
+ if (!sessionRoot) return [];
195
+ const mountedRoot = _path.join.call(void 0, sessionRoot, "mnt");
196
+ if (!isDirectory(mountedRoot)) return [];
197
+ let names;
198
+ try {
199
+ names = _fs.readdirSync.call(void 0, mountedRoot).sort();
200
+ } catch (e6) {
201
+ return [];
202
+ }
203
+ const candidates = [];
204
+ for (const name of names) {
205
+ if (name.startsWith(".") || COWORK_IGNORED_WORKSPACE_DIRS.has(name)) {
206
+ continue;
207
+ }
208
+ const candidate = _path.join.call(void 0, mountedRoot, name);
209
+ if (isDirectory(candidate)) candidates.push(candidate);
210
+ }
211
+ if (candidates.length <= 1) return candidates;
212
+ const projectLike = candidates.filter(
213
+ (candidate) => coworkProjectScore(candidate) > 0
214
+ );
215
+ return projectLike.length > 0 ? projectLike : candidates;
216
+ }
217
+ function isInIgnoredCoworkMount(path) {
218
+ const sessionRoot = coworkSessionRoot();
219
+ if (!sessionRoot) return false;
220
+ const mountedRoot = canonicalPath(_path.join.call(void 0, sessionRoot, "mnt"));
221
+ const resolvedPath = canonicalPath(path);
222
+ const prefix = `${mountedRoot}/`;
223
+ if (!resolvedPath.startsWith(prefix)) return false;
224
+ const relativePath = resolvedPath.slice(prefix.length);
225
+ const mountName = relativePath.split("/")[0];
226
+ return mountName.startsWith(".") || COWORK_IGNORED_WORKSPACE_DIRS.has(mountName);
227
+ }
228
+ function detectCoworkWorkspaceDir() {
229
+ const candidates = listCoworkWorkspaceDirCandidates();
230
+ return candidates.length === 1 ? candidates[0] : null;
231
+ }
232
+ function loadProjectEnvCandidates(startDir = process.cwd()) {
233
+ const filePaths = [];
234
+ const sources = /* @__PURE__ */ new Map();
235
+ const nearestFile = findNearestEnvFile(PROJECT_DEEPLINE_ENV_FILE, startDir);
236
+ if (nearestFile && !isInIgnoredCoworkMount(nearestFile)) {
237
+ filePaths.push(nearestFile);
238
+ sources.set(_path.resolve.call(void 0, nearestFile), "nearest");
239
+ }
240
+ const coworkWorkspaceDir = detectCoworkWorkspaceDir();
241
+ if (coworkWorkspaceDir) {
242
+ const coworkFile = _path.join.call(void 0, coworkWorkspaceDir, PROJECT_DEEPLINE_ENV_FILE);
243
+ if (_fs.existsSync.call(void 0, coworkFile) && !filePaths.some((filePath) => _path.resolve.call(void 0, filePath) === _path.resolve.call(void 0, coworkFile))) {
244
+ filePaths.push(coworkFile);
245
+ sources.set(_path.resolve.call(void 0, coworkFile), "cowork");
246
+ }
247
+ }
248
+ return filePaths.map((filePath) => ({
249
+ filePath,
250
+ env: parseEnvFile(filePath),
251
+ source: _nullishCoalesce(sources.get(_path.resolve.call(void 0, filePath)), () => ( "nearest"))
252
+ }));
253
+ }
254
+ function normalizeBaseUrl(baseUrl) {
255
+ const trimmed = _nullishCoalesce(_optionalChain([baseUrl, 'optionalAccess', _22 => _22.trim, 'call', _23 => _23(), 'access', _24 => _24.replace, 'call', _25 => _25(/\/+$/, "")]), () => ( ""));
256
+ if (!trimmed) return "";
257
+ try {
258
+ const parsed = new URL(trimmed);
259
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
260
+ return "";
261
+ }
262
+ return parsed.toString().replace(/\/+$/, "");
263
+ } catch (e7) {
264
+ return "";
265
+ }
266
+ }
267
+ function firstNonEmpty(...values) {
268
+ for (const value of values) {
269
+ const trimmed = _optionalChain([value, 'optionalAccess', _26 => _26.trim, 'call', _27 => _27()]);
270
+ if (trimmed) return trimmed;
271
+ }
272
+ return "";
273
+ }
274
+ function formatEnvFileValue(value) {
275
+ return /^[a-zA-Z0-9_./:@%+=,-]+$/.test(value) ? value : JSON.stringify(value);
276
+ }
277
+ function mergePersistedEnvValues(existing, values) {
278
+ const merged = { ...existing, ...values };
279
+ const nextApiKey = values[API_KEY_ENV];
280
+ if (nextApiKey !== void 0 && nextApiKey !== existing[API_KEY_ENV] && values[ACTIVE_ORG_ID_ENV] === void 0) {
281
+ delete merged[ACTIVE_ORG_ID_ENV];
282
+ delete merged[ACTIVE_ORG_NAME_ENV];
283
+ delete merged[FEATURES_ENV];
284
+ }
285
+ if (values[FEATURES_ENV] === "") {
286
+ delete merged[FEATURES_ENV];
287
+ }
288
+ return merged;
289
+ }
290
+ function persistedEnvLines(values) {
291
+ return Object.entries(values).filter(
292
+ ([key, value]) => CLI_ENV_ALLOWED_KEYS.has(key) && value.trim() !== ""
293
+ ).map(([key, value]) => `${key}=${formatEnvFileValue(value)}`);
294
+ }
295
+ function sdkCliConfigDir(baseUrl) {
296
+ const home = _optionalChain([process, 'access', _28 => _28.env, 'access', _29 => _29.HOME, 'optionalAccess', _30 => _30.trim, 'call', _31 => _31()]) || _os.homedir.call(void 0, );
297
+ return _path.join.call(void 0, home, ".local", "deepline", baseUrlSlug(baseUrl || PROD_URL));
298
+ }
299
+ function sdkCliStateDirPath(baseUrl, homeDir = _optionalChain([process, 'access', _32 => _32.env, 'access', _33 => _33.HOME, 'optionalAccess', _34 => _34.trim, 'call', _35 => _35()]) || _os.homedir.call(void 0, )) {
300
+ return _path.join.call(void 0,
301
+ homeDir,
302
+ ".local",
303
+ "deepline",
304
+ baseUrlSlug(baseUrl || PROD_URL),
305
+ "sdk-cli"
306
+ );
307
+ }
308
+ function sdkCliEnvFilePath(baseUrl) {
309
+ return _path.join.call(void 0, sdkCliConfigDir(baseUrl), ".env");
310
+ }
311
+ function loadCliEnv(baseUrl = PROD_URL) {
312
+ return parseEnvFile(sdkCliEnvFilePath(baseUrl));
313
+ }
314
+ function hostConfigDirPath(baseUrl) {
315
+ return sdkCliConfigDir(baseUrl);
316
+ }
317
+ function hostEnvFilePath(baseUrl) {
318
+ return sdkCliEnvFilePath(baseUrl);
319
+ }
320
+ function saveHostEnvValues(baseUrl, values) {
321
+ const filePath = sdkCliEnvFilePath(baseUrl);
322
+ const dir = _path.dirname.call(void 0, filePath);
323
+ if (!_fs.existsSync.call(void 0, dir)) {
324
+ _fs.mkdirSync.call(void 0, dir, { recursive: true });
325
+ }
326
+ const existing = parseEnvFile(filePath);
327
+ const merged = mergePersistedEnvValues(existing, values);
328
+ const lines = persistedEnvLines(merged);
329
+ _fs.writeFileSync.call(void 0, filePath, `${lines.join("\n")}
330
+ `, "utf-8");
331
+ }
332
+ function loadGlobalCliEnv() {
333
+ return loadCliEnv(PROD_URL);
334
+ }
335
+ function autoDetectBaseUrl() {
336
+ const projectEnvs = loadProjectEnvCandidates();
337
+ const globalEnv = loadGlobalCliEnv();
338
+ return normalizeBaseUrl(_nullishCoalesce(process.env[HOST_URL_ENV], () => ( ""))) || firstNonEmpty(
339
+ ...projectEnvs.map(({ env }) => normalizeBaseUrl(env[HOST_URL_ENV]))
340
+ ) || normalizeBaseUrl(_nullishCoalesce(globalEnv[HOST_URL_ENV], () => ( ""))) || PROD_URL;
341
+ }
342
+ function resolveApiKeyForBaseUrl(baseUrl, explicitApiKey) {
343
+ const normalizedBaseUrl = normalizeBaseUrl(baseUrl);
344
+ const projectEnvs = loadProjectEnvCandidates();
345
+ const cliEnv = loadCliEnv(normalizedBaseUrl || baseUrl);
346
+ return firstNonEmpty(
347
+ explicitApiKey,
348
+ process.env[API_KEY_ENV],
349
+ ...projectEnvs.map(({ env }) => {
350
+ const projectBaseUrl = normalizeBaseUrl(_nullishCoalesce(env[HOST_URL_ENV], () => ( "")));
351
+ return projectBaseUrl === normalizedBaseUrl ? env[API_KEY_ENV] : "";
352
+ }),
353
+ cliEnv[API_KEY_ENV]
354
+ );
355
+ }
356
+ function resolveProjectApiKeyForBaseUrl(baseUrl, startDir = process.cwd()) {
357
+ const normalizedBaseUrl = normalizeBaseUrl(baseUrl);
358
+ return firstNonEmpty(
359
+ ...loadProjectEnvCandidates(startDir).map(({ env }) => {
360
+ const projectBaseUrl = normalizeBaseUrl(_nullishCoalesce(env[HOST_URL_ENV], () => ( "")));
361
+ return projectBaseUrl === normalizedBaseUrl ? env[API_KEY_ENV] : "";
362
+ })
363
+ );
364
+ }
365
+ function resolveGlobalApiKeyForBaseUrl(baseUrl) {
366
+ return firstNonEmpty(
367
+ process.env[API_KEY_ENV],
368
+ loadCliEnv(normalizeBaseUrl(baseUrl) || baseUrl)[API_KEY_ENV]
369
+ );
370
+ }
371
+ function getResolvedProjectAuthSource(baseUrl, apiKey, startDir = process.cwd()) {
372
+ const normalizedBaseUrl = normalizeBaseUrl(baseUrl);
373
+ const normalizedApiKey = apiKey.trim();
374
+ if (!normalizedBaseUrl || !normalizedApiKey) return null;
375
+ return _nullishCoalesce(loadProjectEnvCandidates(startDir).find(({ env }) => {
376
+ const projectBaseUrl = normalizeBaseUrl(_nullishCoalesce(env[HOST_URL_ENV], () => ( "")));
377
+ return projectBaseUrl === normalizedBaseUrl && (_nullishCoalesce(env[API_KEY_ENV], () => ( ""))).trim() === normalizedApiKey;
378
+ }), () => ( null));
379
+ }
380
+ function resolveBaseUrlOnly(options) {
381
+ const baseUrl = normalizeBaseUrl(
382
+ _optionalChain([options, 'optionalAccess', _36 => _36.baseUrl, 'optionalAccess', _37 => _37.trim, 'call', _38 => _38()]) || autoDetectBaseUrl()
383
+ );
384
+ if (!baseUrl) {
385
+ throw new (0, _chunkALJJRZNJjs.ConfigError)(
386
+ `Invalid ${HOST_URL_ENV}. Expected an http(s) URL such as https://code.deepline.com.`
387
+ );
388
+ }
389
+ return baseUrl;
390
+ }
391
+ function resolveConfig(options) {
392
+ const baseUrl = normalizeBaseUrl(
393
+ _optionalChain([options, 'optionalAccess', _39 => _39.baseUrl, 'optionalAccess', _40 => _40.trim, 'call', _41 => _41()]) || autoDetectBaseUrl()
394
+ );
395
+ if (!baseUrl) {
396
+ throw new (0, _chunkALJJRZNJjs.ConfigError)(
397
+ `Invalid ${HOST_URL_ENV}. Expected an http(s) URL such as https://code.deepline.com.`
398
+ );
399
+ }
400
+ const apiKey = resolveApiKeyForBaseUrl(baseUrl, _optionalChain([options, 'optionalAccess', _42 => _42.apiKey]));
401
+ if (!apiKey) {
402
+ throw new (0, _chunkALJJRZNJjs.ConfigError)(
403
+ `No API key found. Set ${API_KEY_ENV}, add it to .env.deepline, or run: deepline auth register`
404
+ );
405
+ }
406
+ return {
407
+ apiKey,
408
+ baseUrl,
409
+ timeout: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _43 => _43.timeout]), () => ( DEFAULT_TIMEOUT)),
410
+ maxRetries: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _44 => _44.maxRetries]), () => ( DEFAULT_MAX_RETRIES)),
411
+ // Pass through untouched: the transport owns case-insensitive merging so
412
+ // there is exactly one place that decides which header wins.
413
+ ..._optionalChain([options, 'optionalAccess', _45 => _45.headers]) ? { headers: { ...options.headers } } : {},
414
+ ..._optionalChain([options, 'optionalAccess', _46 => _46.environment]) ? { environment: options.environment } : {}
415
+ };
416
+ }
417
+ function mergeProjectEnvFile(filePath, values) {
418
+ const existing = parseEnvFile(filePath);
419
+ const merged = mergePersistedEnvValues(existing, values);
420
+ const dir = _path.dirname.call(void 0, filePath);
421
+ if (!_fs.existsSync.call(void 0, dir)) _fs.mkdirSync.call(void 0, dir, { recursive: true });
422
+ ensureProjectEnvIsIgnored(dir);
423
+ const lines = persistedEnvLines(merged);
424
+ _fs.writeFileSync.call(void 0, filePath, `${lines.join("\n")}
425
+ `, "utf-8");
426
+ }
427
+ function ensureProjectEnvIsIgnored(dir) {
428
+ ensureProjectPrivatePathsIgnored(dir, [
429
+ PROJECT_DEEPLINE_ENV_FILE,
430
+ ".deepline/"
431
+ ]);
432
+ }
433
+ function ensureProjectPrivatePathsIgnored(dir, entries) {
434
+ const gitDir = findNearestGitCommonDir(dir);
435
+ if (gitDir) {
436
+ const excludePath = _path.join.call(void 0, gitDir, "info", "exclude");
437
+ const existing2 = _fs.existsSync.call(void 0, excludePath) ? _fs.readFileSync.call(void 0, excludePath, "utf-8") : "";
438
+ const existingEntries2 = new Set(
439
+ existing2.split(/\r?\n/).map((line) => line.trim()).filter(Boolean)
440
+ );
441
+ const missing2 = entries.filter(
442
+ (entry) => !existingEntries2.has(entry) && !existingEntries2.has(`/${entry}`)
443
+ );
444
+ if (missing2.length === 0) return;
445
+ _fs.mkdirSync.call(void 0, _path.dirname.call(void 0, excludePath), { recursive: true });
446
+ const prefix2 = existing2 && !existing2.endsWith("\n") ? "\n" : "";
447
+ _fs.writeFileSync.call(void 0,
448
+ excludePath,
449
+ `${existing2}${prefix2}${missing2.join("\n")}
450
+ `,
451
+ "utf-8"
452
+ );
453
+ return;
454
+ }
455
+ const gitignorePath = _path.join.call(void 0, dir, ".gitignore");
456
+ const existing = _fs.existsSync.call(void 0, gitignorePath) ? _fs.readFileSync.call(void 0, gitignorePath, "utf-8") : "";
457
+ const existingEntries = new Set(
458
+ existing.split(/\r?\n/).map((line) => line.trim()).filter(Boolean)
459
+ );
460
+ const missing = entries.filter(
461
+ (entry) => !existingEntries.has(entry) && !existingEntries.has(`/${entry}`)
462
+ );
463
+ if (missing.length === 0) return;
464
+ const prefix = existing && !existing.endsWith("\n") ? "\n" : "";
465
+ _fs.writeFileSync.call(void 0,
466
+ gitignorePath,
467
+ `${existing}${prefix}${missing.join("\n")}
468
+ `,
469
+ "utf-8"
470
+ );
471
+ }
472
+ function findNearestGitCommonDir(startDir) {
473
+ let current = _path.resolve.call(void 0, startDir);
474
+ while (true) {
475
+ const candidate = _path.join.call(void 0, current, ".git");
476
+ if (_fs.existsSync.call(void 0, candidate)) {
477
+ try {
478
+ const stat = _fs.statSync.call(void 0, candidate);
479
+ if (stat.isDirectory()) return candidate;
480
+ if (stat.isFile()) {
481
+ const match = _fs.readFileSync.call(void 0, candidate, "utf8").match(
482
+ /^gitdir:\s*(.+)$/m
483
+ );
484
+ const rawGitDir = _optionalChain([match, 'optionalAccess', _47 => _47[1], 'optionalAccess', _48 => _48.trim, 'call', _49 => _49()]);
485
+ if (rawGitDir) {
486
+ const gitDir = _path.isAbsolute.call(void 0, rawGitDir) ? rawGitDir : _path.resolve.call(void 0, _path.dirname.call(void 0, candidate), rawGitDir);
487
+ const commonDirPath = _path.join.call(void 0, gitDir, "commondir");
488
+ if (!_fs.existsSync.call(void 0, commonDirPath)) return gitDir;
489
+ const rawCommonDir = _fs.readFileSync.call(void 0, commonDirPath, "utf8").trim();
490
+ return rawCommonDir ? _path.isAbsolute.call(void 0, rawCommonDir) ? rawCommonDir : _path.resolve.call(void 0, gitDir, rawCommonDir) : gitDir;
491
+ }
492
+ }
493
+ } catch (e8) {
494
+ return null;
495
+ }
496
+ }
497
+ const parent = _path.dirname.call(void 0, current);
498
+ if (parent === current) return null;
499
+ current = parent;
500
+ }
501
+ }
502
+ function saveProjectDeeplineEnvValues(values, startDir = process.cwd()) {
503
+ const target = resolveProjectPinTarget(startDir);
504
+ if (!target.ok) {
505
+ throw new (0, _chunkALJJRZNJjs.ConfigError)(
506
+ `Cowork project folder is ambiguous. Candidate folders: ${target.candidates.join(
507
+ ", "
508
+ )}. Set CLAUDE_PROJECT_DIR or cd into the intended project folder before running this command.`
509
+ );
510
+ }
511
+ const filePath = _path.join.call(void 0, target.dir, PROJECT_DEEPLINE_ENV_FILE);
512
+ mergeProjectEnvFile(filePath, values);
513
+ return [filePath];
514
+ }
515
+ function resolveProjectPinTarget(startDir = process.cwd()) {
516
+ const nearestFile = findNearestEnvFile(PROJECT_DEEPLINE_ENV_FILE, startDir);
517
+ if (nearestFile && !isInIgnoredCoworkMount(nearestFile)) {
518
+ return { ok: true, dir: _path.dirname.call(void 0, nearestFile), source: "nearest" };
519
+ }
520
+ const coworkCandidates = listCoworkWorkspaceDirCandidates();
521
+ if (coworkCandidates.length === 1) {
522
+ return { ok: true, dir: coworkCandidates[0], source: "cowork" };
523
+ }
524
+ if (coworkCandidates.length > 1) {
525
+ const resolvedStartDir = canonicalPath(startDir);
526
+ const cwdCandidate = coworkCandidates.find((candidate) => {
527
+ const resolvedCandidate = canonicalPath(candidate);
528
+ return resolvedStartDir === resolvedCandidate || resolvedStartDir.startsWith(`${resolvedCandidate}/`);
529
+ });
530
+ if (cwdCandidate) {
531
+ return { ok: true, dir: cwdCandidate, source: "cowork" };
532
+ }
533
+ return {
534
+ ok: false,
535
+ reason: "ambiguous_cowork_project",
536
+ candidates: coworkCandidates
537
+ };
538
+ }
539
+ return { ok: true, dir: _path.resolve.call(void 0, startDir), source: "cwd" };
540
+ }
541
+ function getActiveProjectAuthSource(startDir = process.cwd()) {
542
+ return _nullishCoalesce(loadProjectEnvCandidates(startDir)[0], () => ( null));
543
+ }
544
+ function findNearestProjectMarkerDir(startDir) {
545
+ let current = _path.resolve.call(void 0, startDir);
546
+ while (true) {
547
+ if (COWORK_PROJECT_MARKERS.some((marker) => _fs.existsSync.call(void 0, _path.join.call(void 0, current, marker)))) {
548
+ return current;
549
+ }
550
+ const parent = _path.dirname.call(void 0, current);
551
+ if (parent === current) return null;
552
+ current = parent;
553
+ }
554
+ }
555
+ function resolveCliAuthProvenance(config, startDir = process.cwd()) {
556
+ const envApiKey = _optionalChain([process, 'access', _50 => _50.env, 'access', _51 => _51[API_KEY_ENV], 'optionalAccess', _52 => _52.trim, 'call', _53 => _53()]);
557
+ const folderAuth = getResolvedProjectAuthSource(
558
+ config.baseUrl,
559
+ config.apiKey,
560
+ startDir
561
+ );
562
+ const pinTarget = resolveProjectPinTarget(startDir);
563
+ const markerDir = findNearestProjectMarkerDir(startDir);
564
+ const project = !pinTarget.ok ? {
565
+ state: "ambiguous_cowork_project",
566
+ candidates: pinTarget.candidates
567
+ } : folderAuth ? {
568
+ state: "project",
569
+ dir: _path.dirname.call(void 0, folderAuth.filePath),
570
+ pinPath: folderAuth.filePath,
571
+ source: "folder"
572
+ } : pinTarget.source === "cowork" ? {
573
+ state: "project",
574
+ dir: pinTarget.dir,
575
+ pinPath: _path.join.call(void 0, pinTarget.dir, PROJECT_DEEPLINE_ENV_FILE),
576
+ source: "cowork"
577
+ } : markerDir ? {
578
+ state: "project",
579
+ dir: markerDir,
580
+ pinPath: _path.join.call(void 0, markerDir, PROJECT_DEEPLINE_ENV_FILE),
581
+ source: "marker"
582
+ } : { state: "not_project" };
583
+ return {
584
+ scope: envApiKey ? "env" : folderAuth ? "folder" : "global",
585
+ project,
586
+ folderAuthPath: _nullishCoalesce(_optionalChain([folderAuth, 'optionalAccess', _54 => _54.filePath]), () => ( null))
587
+ };
588
+ }
589
+ function activeOrganizationFromEnv(env) {
590
+ const orgId = _optionalChain([env, 'access', _55 => _55[ACTIVE_ORG_ID_ENV], 'optionalAccess', _56 => _56.trim, 'call', _57 => _57()]);
591
+ if (!orgId) return null;
592
+ const orgName = _optionalChain([env, 'access', _58 => _58[ACTIVE_ORG_NAME_ENV], 'optionalAccess', _59 => _59.trim, 'call', _60 => _60()]) || null;
593
+ return { org_id: orgId, org_name: orgName };
594
+ }
595
+ function resolveCliCommandContext(inputConfig, requestedScope) {
596
+ let config = inputConfig;
597
+ if (!config) {
598
+ try {
599
+ config = resolveConfig();
600
+ } catch (e9) {
601
+ return {
602
+ active_organization: null,
603
+ auth_scope: null,
604
+ metadata_source: null
605
+ };
606
+ }
607
+ }
608
+ const contextForScope = (scope) => {
609
+ if (scope === "env") {
610
+ const processApiKey = _optionalChain([process, 'access', _61 => _61.env, 'access', _62 => _62[API_KEY_ENV], 'optionalAccess', _63 => _63.trim, 'call', _64 => _64()]);
611
+ return processApiKey && processApiKey === config.apiKey ? {
612
+ active_organization: activeOrganizationFromEnv(process.env),
613
+ auth_scope: "env",
614
+ metadata_source: "process_env"
615
+ } : null;
616
+ }
617
+ if (scope === "folder") {
618
+ const projectAuth = getResolvedProjectAuthSource(
619
+ config.baseUrl,
620
+ config.apiKey
621
+ );
622
+ return projectAuth ? {
623
+ active_organization: activeOrganizationFromEnv(projectAuth.env),
624
+ auth_scope: "folder",
625
+ metadata_source: "folder_env"
626
+ } : null;
627
+ }
628
+ const hostEnv = loadCliEnv(config.baseUrl);
629
+ return (_nullishCoalesce(hostEnv[API_KEY_ENV], () => ( ""))).trim() === config.apiKey ? {
630
+ active_organization: activeOrganizationFromEnv(hostEnv),
631
+ auth_scope: "global",
632
+ metadata_source: "host_env"
633
+ } : null;
634
+ };
635
+ const processContext = contextForScope("env");
636
+ if (processContext) return processContext;
637
+ if (requestedScope) {
638
+ return _nullishCoalesce(contextForScope(requestedScope), () => ( {
639
+ active_organization: null,
640
+ auth_scope: requestedScope,
641
+ metadata_source: null
642
+ }));
643
+ }
644
+ for (const scope of ["folder", "global"]) {
645
+ const context = contextForScope(scope);
646
+ if (context) return context;
647
+ }
648
+ return {
649
+ active_organization: null,
650
+ auth_scope: null,
651
+ metadata_source: null
652
+ };
653
+ }
654
+
655
+ // src/skills-version.ts
656
+
657
+
658
+ function activePluginSkillsDir() {
659
+ const pluginMode = _optionalChain([process, 'access', _65 => _65.env, 'access', _66 => _66.DEEPLINE_PLUGIN_MODE, 'optionalAccess', _67 => _67.trim, 'call', _68 => _68(), 'access', _69 => _69.toLowerCase, 'call', _70 => _70()]);
660
+ if (pluginMode !== "true" && pluginMode !== "1" && pluginMode !== "yes" && pluginMode !== "on") {
661
+ return "";
662
+ }
663
+ const dir = _nullishCoalesce(_optionalChain([process, 'access', _71 => _71.env, 'access', _72 => _72.DEEPLINE_PLUGIN_SKILLS_DIR, 'optionalAccess', _73 => _73.trim, 'call', _74 => _74()]), () => ( ""));
664
+ return dir && _fs.existsSync.call(void 0, dir) ? dir : "";
665
+ }
666
+ function hasActivePluginSkills() {
667
+ return Boolean(activePluginSkillsDir());
668
+ }
669
+ function readPluginSkillsVersion() {
670
+ const dir = activePluginSkillsDir();
671
+ if (!dir) return "";
672
+ try {
673
+ return _fs.readFileSync.call(void 0, _path.join.call(void 0, dir, ".version"), "utf-8").trim();
674
+ } catch (e10) {
675
+ return "";
676
+ }
677
+ }
678
+ var KNOWN_SKILL_AGENTS = [
679
+ "antigravity",
680
+ "claude-code",
681
+ "cline",
682
+ "codex",
683
+ "cursor",
684
+ "gemini-cli",
685
+ "windsurf"
686
+ ];
687
+ var DEFAULT_SKILL_AGENTS = [
688
+ "codex",
689
+ "claude-code",
690
+ "cursor",
691
+ "gemini-cli",
692
+ "antigravity"
693
+ ];
694
+ function skillsAgentPathSegment(agent) {
695
+ if (agent === "*") return "all";
696
+ const slug = agent.replace(/[^a-z0-9]+/gi, "-").replace(/^-+|-+$/g, "");
697
+ return slug || "agent";
698
+ }
699
+ function sdkSkillsVersionPath(baseUrl, agents = []) {
700
+ const suffix = agents.length > 0 ? `-${agents.map(skillsAgentPathSegment).join("-")}` : "";
701
+ return _path.join.call(void 0, sdkCliStateDirPath(baseUrl), `skills${suffix}-version`);
702
+ }
703
+ function legacySdkSkillsVersionPath(baseUrl) {
704
+ return _path.join.call(void 0, _path.dirname.call(void 0, sdkCliStateDirPath(baseUrl)), "sdk-skills", ".version");
705
+ }
706
+ function readSkillsVersionFile(path) {
707
+ try {
708
+ return _fs.readFileSync.call(void 0, path, "utf-8").trim();
709
+ } catch (e11) {
710
+ return "";
711
+ }
712
+ }
713
+ function resolveAutoSyncSkillAgents() {
714
+ switch (_chunkYT5EODJOjs.detectAgentRuntime.call(void 0, )) {
715
+ case "codex":
716
+ return ["codex"];
717
+ case "claude_code":
718
+ return ["claude-code"];
719
+ case "cursor":
720
+ return ["cursor"];
721
+ case "gemini":
722
+ return ["gemini-cli"];
723
+ case "antigravity":
724
+ return ["antigravity"];
725
+ case "unknown":
726
+ return [...DEFAULT_SKILL_AGENTS];
727
+ default:
728
+ return [];
729
+ }
730
+ }
731
+ function readSdkSkillsLocalVersion(baseUrl) {
732
+ const pluginVersion = readPluginSkillsVersion();
733
+ if (pluginVersion) return pluginVersion;
734
+ const agents = resolveAutoSyncSkillAgents();
735
+ if (agents.length > 1) {
736
+ const versions = agents.map(
737
+ (agent) => readSkillsVersionFile(sdkSkillsVersionPath(baseUrl, [agent]))
738
+ );
739
+ const first = versions[0];
740
+ return first && versions.every((version) => version === first) ? first : "";
741
+ }
742
+ const scopedPath = sdkSkillsVersionPath(baseUrl, agents);
743
+ if (agents.length > 0 && _fs.existsSync.call(void 0, scopedPath)) {
744
+ try {
745
+ return _fs.readFileSync.call(void 0, scopedPath, "utf-8").trim();
746
+ } catch (e12) {
747
+ return "";
748
+ }
749
+ }
750
+ if (agents.length > 0) {
751
+ const legacyPath = legacySdkSkillsVersionPath(baseUrl);
752
+ if (!_fs.existsSync.call(void 0, legacyPath)) return "";
753
+ try {
754
+ return _fs.readFileSync.call(void 0, legacyPath, "utf-8").trim();
755
+ } catch (e13) {
756
+ return "";
757
+ }
758
+ }
759
+ const path = _fs.existsSync.call(void 0, sdkSkillsVersionPath(baseUrl)) ? sdkSkillsVersionPath(baseUrl) : legacySdkSkillsVersionPath(baseUrl);
760
+ if (!_fs.existsSync.call(void 0, path)) return "";
761
+ try {
762
+ return _fs.readFileSync.call(void 0, path, "utf-8").trim();
763
+ } catch (e14) {
764
+ return "";
765
+ }
766
+ }
767
+ function writeSdkSkillsLocalVersion(baseUrl, version, agents) {
768
+ const targets = agents.length > 1 ? agents.map((agent) => [agent]) : [agents];
769
+ let complete = true;
770
+ for (const target of targets) {
771
+ const path = sdkSkillsVersionPath(baseUrl, target);
772
+ try {
773
+ _fs.mkdirSync.call(void 0, _path.dirname.call(void 0, path), { recursive: true });
774
+ _fs.writeFileSync.call(void 0, path, `${version}
775
+ `, "utf-8");
776
+ } catch (e15) {
777
+ complete = false;
778
+ }
779
+ }
780
+ return complete;
781
+ }
782
+
783
+ // src/http.ts
784
+ var HttpClient2 = class extends _chunkYT5EODJOjs.HttpClient {
785
+ constructor(config) {
786
+ super(config, readSdkSkillsLocalVersion);
787
+ }
788
+ };
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+ exports.HOST_URL_ENV = HOST_URL_ENV; exports.API_KEY_ENV = API_KEY_ENV; exports.ACTIVE_ORG_ID_ENV = ACTIVE_ORG_ID_ENV; exports.ACTIVE_ORG_NAME_ENV = ACTIVE_ORG_NAME_ENV; exports.FEATURES_ENV = FEATURES_ENV; exports.PROD_URL = PROD_URL; exports.featureEnvValues = featureEnvValues; exports.storedHostApiKey = storedHostApiKey; exports.storedHostFeatures = storedHostFeatures; exports.cliFeatureEnabled = cliFeatureEnabled; exports.baseUrlSlug = baseUrlSlug; exports.sdkCliStateDirPath = sdkCliStateDirPath; exports.hostConfigDirPath = hostConfigDirPath; exports.hostEnvFilePath = hostEnvFilePath; exports.saveHostEnvValues = saveHostEnvValues; exports.autoDetectBaseUrl = autoDetectBaseUrl; exports.resolveApiKeyForBaseUrl = resolveApiKeyForBaseUrl; exports.resolveProjectApiKeyForBaseUrl = resolveProjectApiKeyForBaseUrl; exports.resolveGlobalApiKeyForBaseUrl = resolveGlobalApiKeyForBaseUrl; exports.getResolvedProjectAuthSource = getResolvedProjectAuthSource; exports.resolveBaseUrlOnly = resolveBaseUrlOnly; exports.resolveConfig = resolveConfig; exports.ensureProjectPrivatePathsIgnored = ensureProjectPrivatePathsIgnored; exports.saveProjectDeeplineEnvValues = saveProjectDeeplineEnvValues; exports.resolveProjectPinTarget = resolveProjectPinTarget; exports.getActiveProjectAuthSource = getActiveProjectAuthSource; exports.resolveCliAuthProvenance = resolveCliAuthProvenance; exports.resolveCliCommandContext = resolveCliCommandContext; exports.hasActivePluginSkills = hasActivePluginSkills; exports.KNOWN_SKILL_AGENTS = KNOWN_SKILL_AGENTS; exports.DEFAULT_SKILL_AGENTS = DEFAULT_SKILL_AGENTS; exports.skillsAgentPathSegment = skillsAgentPathSegment; exports.resolveAutoSyncSkillAgents = resolveAutoSyncSkillAgents; exports.readSdkSkillsLocalVersion = readSdkSkillsLocalVersion; exports.writeSdkSkillsLocalVersion = writeSdkSkillsLocalVersion; exports.HttpClient = HttpClient2;