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
@@ -0,0 +1,501 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ var _chunkTPFD4F5Sjs = require('./chunk-TPFD4F5S.js');
15
+
16
+
17
+ var _chunkZHWBU36Hjs = require('./chunk-ZHWBU36H.js');
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ var _chunkOZSC6CEWjs = require('./chunk-OZSC6CEW.js');
26
+
27
+ // src/cli/commands/skills.ts
28
+ var _child_process = require('child_process');
29
+ var _fs = require('fs');
30
+ var _os = require('os');
31
+ var _path = require('path');
32
+ var SKILLS_INSTALL_LEASE_WAIT_MS = 9e4;
33
+ var SKILLS_PROCESS_TIMEOUT_MS = 45e3;
34
+ var RUNTIME_TO_SKILLS_AGENT = {
35
+ antigravity: "antigravity",
36
+ claude_code: "claude-code",
37
+ claude_cowork: "claude-code",
38
+ cline: "cline",
39
+ codex: "codex",
40
+ cursor: "cursor",
41
+ gemini: "gemini-cli",
42
+ windsurf: "windsurf"
43
+ };
44
+ var AGENT_MARKERS = [
45
+ { agent: "codex", paths: [".codex"] },
46
+ { agent: "claude-code", paths: [".claude"] },
47
+ { agent: "cursor", paths: [".cursor"] },
48
+ { agent: "gemini-cli", paths: [".gemini", ".gemini-cli"] },
49
+ { agent: "antigravity", paths: [".antigravity"] }
50
+ ];
51
+ var WORKSPACE_SKILL_ROOTS_BY_AGENT = {
52
+ antigravity: [".agents"],
53
+ "claude-code": [".claude"],
54
+ cline: [".agents"],
55
+ codex: [".agents"],
56
+ cursor: [".agents"],
57
+ "gemini-cli": [".agents"],
58
+ windsurf: [".windsurf"],
59
+ "*": [".agents", ".claude", ".windsurf"]
60
+ };
61
+ function workspaceSkillRootsForAgents(agents) {
62
+ return [
63
+ ...new Set(
64
+ agents.flatMap((agent) => _nullishCoalesce(WORKSPACE_SKILL_ROOTS_BY_AGENT[agent], () => ( [])))
65
+ )
66
+ ].sort((a, b) => a.localeCompare(b));
67
+ }
68
+ function normalizeScope(value) {
69
+ if (value === "global") return "global";
70
+ if (value === "local") return "local";
71
+ if (!value) return inferActiveSkillsScope();
72
+ throw new Error("--scope must be one of: global, local");
73
+ }
74
+ function inferActiveSkillsScope(entrypoint = _nullishCoalesce(process.argv[1], () => ( ""))) {
75
+ return /[\\/]\.deepline[\\/]runtime[\\/]/.test(entrypoint) ? "local" : "global";
76
+ }
77
+ function resolveLocalRoot() {
78
+ const target = _chunkOZSC6CEWjs.resolveProjectPinTarget.call(void 0, );
79
+ if (!target.ok) {
80
+ throw new Error(
81
+ `Cowork project folder is ambiguous. Candidate folders: ${target.candidates.join(
82
+ ", "
83
+ )}. Set CLAUDE_PROJECT_DIR or cd into the intended project folder.`
84
+ );
85
+ }
86
+ return target.dir;
87
+ }
88
+ function detectSkillsAgents(input) {
89
+ const runtime = _nullishCoalesce(input.runtime, () => ( _chunkOZSC6CEWjs.detectAgentRuntime.call(void 0, )));
90
+ const knownAgent = RUNTIME_TO_SKILLS_AGENT[runtime];
91
+ if (knownAgent) return [knownAgent];
92
+ const roots = [
93
+ ...input.scope === "local" && input.root ? [input.root] : [],
94
+ _nullishCoalesce(input.homeDir, () => ( _os.homedir.call(void 0, )))
95
+ ];
96
+ const detected = AGENT_MARKERS.filter(
97
+ (marker) => roots.some(
98
+ (root) => marker.paths.some((path) => _fs.existsSync.call(void 0, _path.join.call(void 0, root, path)))
99
+ )
100
+ ).map((marker) => marker.agent);
101
+ return detected.length > 0 ? detected : ["*"];
102
+ }
103
+ function skillsStatePathForScope(baseUrl, scope, root) {
104
+ return scope === "local" && root ? _path.join.call(void 0, root, ".deepline", "setup", "skills.json") : _path.join.call(void 0, _chunkOZSC6CEWjs.sdkCliStateDirPath.call(void 0, baseUrl), "skills-install.json");
105
+ }
106
+ function buildSkillsPlan(input) {
107
+ const scopeArgs = input.scope === "global" ? ["--global"] : [];
108
+ const legacyNames = [..._chunkTPFD4F5Sjs.LEGACY_SKILL_NAMES_TO_REMOVE].sort(
109
+ (a, b) => a.localeCompare(b)
110
+ );
111
+ return {
112
+ scope: input.scope,
113
+ root: input.root,
114
+ agents: input.agents,
115
+ skillNames: input.skillNames,
116
+ version: input.version,
117
+ remove: {
118
+ command: "npm",
119
+ args: [
120
+ "exec",
121
+ "--yes",
122
+ `--package=${_chunkTPFD4F5Sjs.SKILLS_NPX_PACKAGE}`,
123
+ "--",
124
+ "skills",
125
+ "remove",
126
+ ...scopeArgs,
127
+ "--agent",
128
+ ...input.agents,
129
+ "-y",
130
+ ...legacyNames
131
+ ]
132
+ },
133
+ install: {
134
+ command: "npm",
135
+ args: [
136
+ "exec",
137
+ "--yes",
138
+ `--package=${_chunkTPFD4F5Sjs.SKILLS_NPX_PACKAGE}`,
139
+ "--",
140
+ "skills",
141
+ "add",
142
+ _chunkTPFD4F5Sjs.skillsSourceUrl.call(void 0, input.baseUrl),
143
+ "--agent",
144
+ ...input.agents,
145
+ ...scopeArgs,
146
+ "--yes",
147
+ ...input.skillNames.flatMap((name) => ["--skill", name]),
148
+ "--full-depth"
149
+ ]
150
+ },
151
+ statePath: skillsStatePathForScope(input.baseUrl, input.scope, input.root)
152
+ };
153
+ }
154
+ function sortedStrings(value) {
155
+ if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string")) {
156
+ return null;
157
+ }
158
+ return [...value].sort((a, b) => a.localeCompare(b));
159
+ }
160
+ function isSkillsPlanCurrent(plan, state) {
161
+ if (!state || state.scope !== plan.scope || state.skillsVersion !== plan.version) {
162
+ return false;
163
+ }
164
+ const installedAgents = sortedStrings(state.agents);
165
+ const installedSkillNames = sortedStrings(state.skillNames);
166
+ if (!installedAgents || !installedSkillNames) return false;
167
+ return installedAgents.join("\0") === [...plan.agents].sort((a, b) => a.localeCompare(b)).join("\0") && installedSkillNames.join("\0") === [...plan.skillNames].sort((a, b) => a.localeCompare(b)).join("\0");
168
+ }
169
+ function readSkillsInstallState(path) {
170
+ try {
171
+ const parsed = JSON.parse(_fs.readFileSync.call(void 0, path, "utf8"));
172
+ return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
173
+ } catch (e) {
174
+ return null;
175
+ }
176
+ }
177
+ function runProcess(command, args, cwd) {
178
+ return new Promise((resolve, reject) => {
179
+ const plan = _chunkTPFD4F5Sjs.resolveShellSpawn.call(void 0,
180
+ command,
181
+ args,
182
+ process.platform,
183
+ process.env,
184
+ cwd
185
+ );
186
+ const child = _child_process.spawn.call(void 0, plan.command, plan.args, {
187
+ cwd,
188
+ env: process.env,
189
+ stdio: ["ignore", "ignore", "pipe"],
190
+ shell: plan.shell
191
+ });
192
+ let stderr = "";
193
+ child.stderr.on("data", (chunk) => {
194
+ stderr += chunk.toString("utf8");
195
+ process.stderr.write(chunk);
196
+ });
197
+ const timeout = setTimeout(() => {
198
+ child.kill("SIGTERM");
199
+ reject(
200
+ new Error(
201
+ `${_chunkTPFD4F5Sjs.SKILLS_NPX_PACKAGE} timed out after ${SKILLS_PROCESS_TIMEOUT_MS}ms.`
202
+ )
203
+ );
204
+ }, SKILLS_PROCESS_TIMEOUT_MS);
205
+ child.once("error", (error) => {
206
+ clearTimeout(timeout);
207
+ reject(error);
208
+ });
209
+ child.once("close", (code) => {
210
+ clearTimeout(timeout);
211
+ if (code && stderr.trim()) {
212
+ process.stderr.write(`${_chunkTPFD4F5Sjs.SKILLS_NPX_PACKAGE} exited ${code}.
213
+ `);
214
+ }
215
+ resolve(_nullishCoalesce(code, () => ( 1)));
216
+ });
217
+ });
218
+ }
219
+ async function runSkillsCommand(options, dependencies = {}) {
220
+ let scope;
221
+ let root;
222
+ try {
223
+ scope = normalizeScope(options.scope);
224
+ root = scope === "local" ? resolveLocalRoot() : null;
225
+ } catch (error) {
226
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
227
+ {
228
+ ok: false,
229
+ status: "failed",
230
+ code: "INVALID_SKILLS_SCOPE",
231
+ exitCode: 2,
232
+ message: error instanceof Error ? error.message : String(error)
233
+ },
234
+ { json: options.json }
235
+ );
236
+ return 2;
237
+ }
238
+ const baseUrl = _chunkOZSC6CEWjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, "");
239
+ const catalog = {
240
+ skillNames: [..._chunkTPFD4F5Sjs.DEFAULT_SDK_SKILL_NAMES],
241
+ version: _chunkOZSC6CEWjs.SDK_VERSION
242
+ };
243
+ const agents = options.agent ? [options.agent] : detectSkillsAgents({ scope, root });
244
+ const plan = buildSkillsPlan({ baseUrl, scope, root, agents, ...catalog });
245
+ if (options.dryRun) {
246
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
247
+ { ok: true, status: "planned", dryRun: true, ...plan },
248
+ { json: options.json }
249
+ );
250
+ return 0;
251
+ }
252
+ if (isSkillsPlanCurrent(plan, readSkillsInstallState(plan.statePath)) && !_chunkTPFD4F5Sjs.hasFailedAutomaticSkillsSync.call(void 0, baseUrl, agents)) {
253
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
254
+ {
255
+ ok: true,
256
+ status: "current",
257
+ complete: true,
258
+ changed: false,
259
+ skipped: true,
260
+ skipReason: "skills_version_current",
261
+ scope,
262
+ agents,
263
+ skillsVersion: plan.version,
264
+ skillCount: plan.skillNames.length,
265
+ statePath: plan.statePath,
266
+ render: {
267
+ sections: [
268
+ {
269
+ title: "skills",
270
+ lines: [
271
+ `Scope: ${scope}`,
272
+ `Agents: ${agents.join(", ")}`,
273
+ `Current: ${plan.skillNames.length}`
274
+ ]
275
+ }
276
+ ]
277
+ }
278
+ },
279
+ { json: options.json }
280
+ );
281
+ return 0;
282
+ }
283
+ if (scope === "local" && root) {
284
+ const managedNames = [
285
+ .../* @__PURE__ */ new Set([...plan.skillNames, ..._chunkTPFD4F5Sjs.LEGACY_SKILL_NAMES_TO_REMOVE])
286
+ ];
287
+ const agentRoots = workspaceSkillRootsForAgents(plan.agents);
288
+ _chunkOZSC6CEWjs.ensureProjectPrivatePathsIgnored.call(void 0, root, [
289
+ ".deepline/",
290
+ ...agentRoots.flatMap(
291
+ (agentRoot) => managedNames.map((name) => `${agentRoot}/skills/${name}/`)
292
+ )
293
+ ]);
294
+ }
295
+ let lease;
296
+ try {
297
+ lease = scope === "global" ? await _chunkTPFD4F5Sjs.acquireSkillsInstallLease.call(void 0, baseUrl, agents, plan.version, {
298
+ waitMs: _nullishCoalesce(dependencies.installLeaseWaitMs, () => ( SKILLS_INSTALL_LEASE_WAIT_MS)),
299
+ onWait: () => process.stderr.write(
300
+ "Waiting for a background Deepline skills refresh to finish...\n"
301
+ )
302
+ }) : { release: () => {
303
+ } };
304
+ } catch (error) {
305
+ if (!(error instanceof _chunkTPFD4F5Sjs.SkillsStateUnavailableError)) throw error;
306
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
307
+ {
308
+ ok: false,
309
+ status: "failed",
310
+ code: "SKILLS_STATE_UNAVAILABLE",
311
+ exitCode: 5,
312
+ scope,
313
+ agents,
314
+ message: error.message,
315
+ next: `Resolve this filesystem error, then run: deepline skills --scope ${scope}`
316
+ },
317
+ { json: options.json }
318
+ );
319
+ return 5;
320
+ }
321
+ if (!lease) {
322
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
323
+ {
324
+ ok: false,
325
+ status: "failed",
326
+ code: "SKILLS_SYNC_IN_PROGRESS",
327
+ exitCode: 7,
328
+ scope,
329
+ agents,
330
+ message: "A background Deepline skills refresh is still running for these agents.",
331
+ next: `Retry in a moment: deepline skills --scope ${scope}. If no refresh is running, remove ${_chunkTPFD4F5Sjs.skillsInstallLeasePath.call(void 0, baseUrl, agents)}`
332
+ },
333
+ { json: options.json }
334
+ );
335
+ return 7;
336
+ }
337
+ try {
338
+ return await runSkillsInstallWithLease({
339
+ options,
340
+ dependencies,
341
+ baseUrl,
342
+ scope,
343
+ root,
344
+ agents,
345
+ plan
346
+ });
347
+ } finally {
348
+ lease.release();
349
+ }
350
+ }
351
+ async function runSkillsInstallWithLease(input) {
352
+ const { options, dependencies, baseUrl, scope, root, agents, plan } = input;
353
+ process.stderr.write(
354
+ `Replacing Deepline skills for ${agents.join(", ")} (${scope})...
355
+ `
356
+ );
357
+ const execute = _nullishCoalesce(dependencies.runProcess, () => ( runProcess));
358
+ try {
359
+ const installCode = await execute(
360
+ plan.install.command,
361
+ plan.install.args,
362
+ _nullishCoalesce(root, () => ( void 0))
363
+ );
364
+ if (installCode !== 0) {
365
+ throw new Error("Could not install the current Deepline skills.");
366
+ }
367
+ } catch (error) {
368
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
369
+ {
370
+ ok: false,
371
+ status: "failed",
372
+ code: "SKILLS_INSTALL_FAILED",
373
+ exitCode: 5,
374
+ scope,
375
+ agents,
376
+ message: error instanceof Error ? error.message : String(error),
377
+ next: `deepline skills --scope ${scope}`
378
+ },
379
+ { json: options.json }
380
+ );
381
+ return 5;
382
+ }
383
+ try {
384
+ const removeCode = await execute(
385
+ plan.remove.command,
386
+ plan.remove.args,
387
+ _nullishCoalesce(root, () => ( void 0))
388
+ );
389
+ if (removeCode !== 0) {
390
+ process.stderr.write(
391
+ "Current Deepline skills installed, but legacy skill cleanup failed. The installed skills remain usable.\n"
392
+ );
393
+ }
394
+ } catch (error) {
395
+ process.stderr.write(
396
+ `Current Deepline skills installed, but legacy skill cleanup failed: ${error instanceof Error ? error.message : String(error)}. The installed skills remain usable.
397
+ `
398
+ );
399
+ }
400
+ _fs.mkdirSync.call(void 0, _path.dirname.call(void 0, plan.statePath), { recursive: true });
401
+ _fs.writeFileSync.call(void 0,
402
+ plan.statePath,
403
+ `${JSON.stringify(
404
+ {
405
+ schemaVersion: 1,
406
+ installedAt: (/* @__PURE__ */ new Date()).toISOString(),
407
+ cliVersion: _chunkOZSC6CEWjs.SDK_VERSION,
408
+ scope,
409
+ agents,
410
+ skillsVersion: plan.version,
411
+ skillNames: plan.skillNames
412
+ },
413
+ null,
414
+ 2
415
+ )}
416
+ `,
417
+ "utf8"
418
+ );
419
+ if (scope === "global") {
420
+ _chunkTPFD4F5Sjs.clearFailedAutomaticSkillsSync.call(void 0, baseUrl, agents);
421
+ }
422
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
423
+ {
424
+ ok: true,
425
+ status: "complete",
426
+ scope,
427
+ agents,
428
+ skillsVersion: plan.version,
429
+ skillCount: plan.skillNames.length,
430
+ statePath: plan.statePath,
431
+ render: {
432
+ sections: [
433
+ {
434
+ title: "skills",
435
+ lines: [
436
+ `Scope: ${scope}`,
437
+ `Agents: ${agents.join(", ")}`,
438
+ `Installed: ${plan.skillNames.length}`
439
+ ]
440
+ }
441
+ ]
442
+ }
443
+ },
444
+ { json: options.json }
445
+ );
446
+ return 0;
447
+ }
448
+ function registerSkillsCommand(program) {
449
+ program.command("skills").description("Replace Deepline agent skills with the current release.").option("--scope <scope>", "Install scope: global or local").option("--agent <agent>", "Override the detected agent target").option("--dry-run", "Print the install plan without changing files").option("--json", "Emit one JSON result envelope").addHelpText(
450
+ "after",
451
+ `
452
+ Notes:
453
+ This command reinstalls current Deepline-managed skills using ${_chunkTPFD4F5Sjs.SKILLS_NPX_PACKAGE},
454
+ then removes legacy Deepline skill names. Local scope writes into the resolved
455
+ persistent project.
456
+
457
+ Examples:
458
+ deepline skills
459
+ deepline skills --scope local
460
+ deepline skills --agent codex --dry-run
461
+ `
462
+ ).action(async (options) => {
463
+ process.exitCode = await runSkillsCommand(options);
464
+ });
465
+ program.command(_chunkTPFD4F5Sjs.SKILLS_AUTO_SYNC_COMMAND, { hidden: true }).description("Refresh Deepline agent skills in the background.").option(
466
+ "--claim <token>",
467
+ "Owner token of the leases this child was started for."
468
+ ).action(async (options) => {
469
+ const claim = _optionalChain([options, 'access', _ => _.claim, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
470
+ if (!claim) {
471
+ _chunkZHWBU36Hjs.printCommandEnvelope.call(void 0,
472
+ {
473
+ ok: false,
474
+ status: "failed",
475
+ code: "SKILLS_AUTO_SYNC_CLAIM_REQUIRED",
476
+ exitCode: 2,
477
+ message: "skills-auto-sync is started by ordinary deepline commands and requires the lease token they pass; run `deepline skills` to install skills yourself."
478
+ },
479
+ { json: true }
480
+ );
481
+ process.exitCode = 2;
482
+ return;
483
+ }
484
+ await _chunkTPFD4F5Sjs.syncSdkSkillsIfNeeded.call(void 0, _chunkOZSC6CEWjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, ""), {
485
+ mode: "inline",
486
+ notices: "defer",
487
+ claim
488
+ });
489
+ });
490
+ }
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+ exports.workspaceSkillRootsForAgents = workspaceSkillRootsForAgents; exports.inferActiveSkillsScope = inferActiveSkillsScope; exports.detectSkillsAgents = detectSkillsAgents; exports.skillsStatePathForScope = skillsStatePathForScope; exports.buildSkillsPlan = buildSkillsPlan; exports.isSkillsPlanCurrent = isSkillsPlanCurrent; exports.runSkillsCommand = runSkillsCommand; exports.registerSkillsCommand = registerSkillsCommand;