@skaile/workspaces 6.0.0 → 6.1.0

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 (320) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/{asset-feeds-PXUWCXVI.js → asset-feeds-HJFV7UPW.js} +26 -18
  3. package/dist/asset-feeds-HJFV7UPW.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +7 -7
  5. package/dist/asset-manager/index.js +13 -13
  6. package/dist/asset-manager/installer.js +8 -8
  7. package/dist/asset-manager/renderers.js +7 -7
  8. package/dist/asset-manager/src/index.d.ts +192 -5
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/asset-manager/src/installer.d.ts +31 -0
  11. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  12. package/dist/asset-manager/src/mcp-config.d.ts +21 -0
  13. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  14. package/dist/bridge/harnesses/claude-sdk.js +13 -17
  15. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  16. package/dist/bridge/harnesses/codex.js +10 -10
  17. package/dist/bridge/harnesses/continue.js +10 -10
  18. package/dist/bridge/harnesses/echo.js +2 -2
  19. package/dist/bridge/harnesses/gemini.js +6 -6
  20. package/dist/bridge/harnesses/goose.js +10 -10
  21. package/dist/bridge/harnesses/omp.js +4 -4
  22. package/dist/bridge/harnesses/opencode.js +10 -10
  23. package/dist/bridge/harnesses/qwen.js +6 -6
  24. package/dist/bridge/index.js +14 -14
  25. package/dist/bridge/src/claude-sdk-surface.d.ts +17 -0
  26. package/dist/bridge/src/claude-sdk-surface.d.ts.map +1 -0
  27. package/dist/bridge/src/harness-model-check.d.ts +15 -0
  28. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  29. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  30. package/dist/bridge/src/index.d.ts +2 -1
  31. package/dist/bridge/src/index.d.ts.map +1 -1
  32. package/dist/bridge/src/normalizer.d.ts +3 -1
  33. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  34. package/dist/{chunk-VJRTDKXS.js → chunk-2LAPHLDH.js} +144 -94
  35. package/dist/chunk-2LAPHLDH.js.map +1 -0
  36. package/dist/{chunk-VXEYX73S.js → chunk-3GMOPFWH.js} +4 -4
  37. package/dist/{chunk-VXEYX73S.js.map → chunk-3GMOPFWH.js.map} +1 -1
  38. package/dist/{chunk-MCUJTNY5.js → chunk-4FVIT5DI.js} +3 -3
  39. package/dist/{chunk-MCUJTNY5.js.map → chunk-4FVIT5DI.js.map} +1 -1
  40. package/dist/{chunk-SZXGRHQQ.js → chunk-4MUDQCBP.js} +4 -4
  41. package/dist/{chunk-SZXGRHQQ.js.map → chunk-4MUDQCBP.js.map} +1 -1
  42. package/dist/{chunk-7CV3HFWJ.js → chunk-5J4NPGFM.js} +3 -3
  43. package/dist/{chunk-7CV3HFWJ.js.map → chunk-5J4NPGFM.js.map} +1 -1
  44. package/dist/{chunk-4XWLB7JB.js → chunk-5Y2KGB4H.js} +69 -34
  45. package/dist/chunk-5Y2KGB4H.js.map +1 -0
  46. package/dist/{chunk-OULSJRXV.js → chunk-6YR4ALVX.js} +6 -6
  47. package/dist/{chunk-OULSJRXV.js.map → chunk-6YR4ALVX.js.map} +1 -1
  48. package/dist/chunk-7HX6FNKL.js +317 -0
  49. package/dist/chunk-7HX6FNKL.js.map +1 -0
  50. package/dist/{chunk-WDAIWDLK.js → chunk-7LP7RCZI.js} +4 -4
  51. package/dist/{chunk-WDAIWDLK.js.map → chunk-7LP7RCZI.js.map} +1 -1
  52. package/dist/{chunk-2UUKCROR.js → chunk-AATHJRKL.js} +4 -4
  53. package/dist/{chunk-2UUKCROR.js.map → chunk-AATHJRKL.js.map} +1 -1
  54. package/dist/{chunk-DUMTLYSO.js → chunk-ABFPSVIS.js} +3 -3
  55. package/dist/{chunk-DUMTLYSO.js.map → chunk-ABFPSVIS.js.map} +1 -1
  56. package/dist/{chunk-TKHJXPSB.js → chunk-AITJ7ELM.js} +140 -26
  57. package/dist/chunk-AITJ7ELM.js.map +1 -0
  58. package/dist/{chunk-Y2TO2U7W.js → chunk-ASWTQQ7E.js} +3 -3
  59. package/dist/{chunk-Y2TO2U7W.js.map → chunk-ASWTQQ7E.js.map} +1 -1
  60. package/dist/{chunk-WYHQUCHR.js → chunk-AZ2H6R5I.js} +51 -25
  61. package/dist/chunk-AZ2H6R5I.js.map +1 -0
  62. package/dist/{chunk-LN6QB7XI.js → chunk-BBBCJSSU.js} +4 -4
  63. package/dist/{chunk-LN6QB7XI.js.map → chunk-BBBCJSSU.js.map} +1 -1
  64. package/dist/{chunk-WEH33JSG.js → chunk-CEKW3KXP.js} +87 -26
  65. package/dist/chunk-CEKW3KXP.js.map +1 -0
  66. package/dist/{chunk-ARWKK325.js → chunk-COYF6IG2.js} +5 -5
  67. package/dist/{chunk-ARWKK325.js.map → chunk-COYF6IG2.js.map} +1 -1
  68. package/dist/{chunk-SNEE6UGY.js → chunk-DGTI65OC.js} +11 -11
  69. package/dist/{chunk-SNEE6UGY.js.map → chunk-DGTI65OC.js.map} +1 -1
  70. package/dist/{chunk-HK7HMEPT.js → chunk-DIGFA7Z5.js} +3 -3
  71. package/dist/{chunk-HK7HMEPT.js.map → chunk-DIGFA7Z5.js.map} +1 -1
  72. package/dist/{chunk-AF432MS3.js → chunk-EJPMNDTP.js} +3 -3
  73. package/dist/{chunk-AF432MS3.js.map → chunk-EJPMNDTP.js.map} +1 -1
  74. package/dist/chunk-EX3GLAL6.js +31 -0
  75. package/dist/chunk-EX3GLAL6.js.map +1 -0
  76. package/dist/{chunk-UVVVR4XO.js → chunk-FKQNBCDW.js} +3 -3
  77. package/dist/{chunk-UVVVR4XO.js.map → chunk-FKQNBCDW.js.map} +1 -1
  78. package/dist/{chunk-GEQSUC6U.js → chunk-GNZBFSRB.js} +3 -3
  79. package/dist/{chunk-GEQSUC6U.js.map → chunk-GNZBFSRB.js.map} +1 -1
  80. package/dist/{chunk-U56GGCC2.js → chunk-HMISULVD.js} +4 -4
  81. package/dist/{chunk-U56GGCC2.js.map → chunk-HMISULVD.js.map} +1 -1
  82. package/dist/{chunk-GN4VVSAA.js → chunk-HPMQRAIF.js} +7 -7
  83. package/dist/{chunk-GN4VVSAA.js.map → chunk-HPMQRAIF.js.map} +1 -1
  84. package/dist/{chunk-OAHVKSQJ.js → chunk-HWNK3F3X.js} +913 -80
  85. package/dist/chunk-HWNK3F3X.js.map +1 -0
  86. package/dist/{chunk-NMI2TWMH.js → chunk-IHFGPHCT.js} +131 -341
  87. package/dist/chunk-IHFGPHCT.js.map +1 -0
  88. package/dist/{chunk-F2GOZMRA.js → chunk-ILLTBKDJ.js} +47 -47
  89. package/dist/chunk-ILLTBKDJ.js.map +1 -0
  90. package/dist/{chunk-FKU57Q5Q.js → chunk-IRYKRKVQ.js} +3 -3
  91. package/dist/{chunk-FKU57Q5Q.js.map → chunk-IRYKRKVQ.js.map} +1 -1
  92. package/dist/{chunk-T2BDID2J.js → chunk-J72MO2WA.js} +8 -8
  93. package/dist/{chunk-T2BDID2J.js.map → chunk-J72MO2WA.js.map} +1 -1
  94. package/dist/{chunk-X3RMRJNR.js → chunk-JRN5QF4C.js} +8 -3
  95. package/dist/chunk-JRN5QF4C.js.map +1 -0
  96. package/dist/{chunk-E3GPGTW3.js → chunk-KUQAJVYT.js} +5 -5
  97. package/dist/{chunk-E3GPGTW3.js.map → chunk-KUQAJVYT.js.map} +1 -1
  98. package/dist/{chunk-WDXZA7QW.js → chunk-LSSYC5IC.js} +2 -2
  99. package/dist/{chunk-WDXZA7QW.js.map → chunk-LSSYC5IC.js.map} +1 -1
  100. package/dist/{chunk-3IXIEHUB.js → chunk-NB7SYQYP.js} +5 -5
  101. package/dist/{chunk-3IXIEHUB.js.map → chunk-NB7SYQYP.js.map} +1 -1
  102. package/dist/{chunk-3JKGY2YC.js → chunk-NUA33BYO.js} +149 -27
  103. package/dist/chunk-NUA33BYO.js.map +1 -0
  104. package/dist/{chunk-VBI7HGHB.js → chunk-QAKUD6QN.js} +2 -2
  105. package/dist/{chunk-VBI7HGHB.js.map → chunk-QAKUD6QN.js.map} +1 -1
  106. package/dist/{chunk-KX2PT5Q4.js → chunk-QEULL4Q3.js} +4 -4
  107. package/dist/{chunk-KX2PT5Q4.js.map → chunk-QEULL4Q3.js.map} +1 -1
  108. package/dist/{chunk-YGRZNFRO.js → chunk-QSYQOTWN.js} +3 -3
  109. package/dist/{chunk-YGRZNFRO.js.map → chunk-QSYQOTWN.js.map} +1 -1
  110. package/dist/{chunk-DHYSUJ3H.js → chunk-RDTLPOPD.js} +4 -4
  111. package/dist/{chunk-DHYSUJ3H.js.map → chunk-RDTLPOPD.js.map} +1 -1
  112. package/dist/{chunk-GOCWM7FN.js → chunk-RHN5MRQO.js} +21 -4
  113. package/dist/chunk-RHN5MRQO.js.map +1 -0
  114. package/dist/{chunk-UL22SDGR.js → chunk-S2XHGWQC.js} +161 -123
  115. package/dist/chunk-S2XHGWQC.js.map +1 -0
  116. package/dist/{chunk-4DWBSTYA.js → chunk-SVTMNSPI.js} +22 -5
  117. package/dist/chunk-SVTMNSPI.js.map +1 -0
  118. package/dist/{chunk-QOM5Z62G.js → chunk-UI745XC3.js} +9 -22
  119. package/dist/chunk-UI745XC3.js.map +1 -0
  120. package/dist/{chunk-L4YKW5AY.js → chunk-VMVDAZLA.js} +20 -8
  121. package/dist/chunk-VMVDAZLA.js.map +1 -0
  122. package/dist/{chunk-H6UVIKQ2.js → chunk-VYVTEMAW.js} +3 -3
  123. package/dist/{chunk-H6UVIKQ2.js.map → chunk-VYVTEMAW.js.map} +1 -1
  124. package/dist/{chunk-SRODW6M2.js → chunk-X3YGUKCG.js} +3 -3
  125. package/dist/{chunk-SRODW6M2.js.map → chunk-X3YGUKCG.js.map} +1 -1
  126. package/dist/{chunk-JDR6ILCW.js → chunk-XGULGQA3.js} +3 -3
  127. package/dist/{chunk-JDR6ILCW.js.map → chunk-XGULGQA3.js.map} +1 -1
  128. package/dist/{chunk-7XSAW5OC.js → chunk-YLLVSR2U.js} +4 -4
  129. package/dist/{chunk-7XSAW5OC.js.map → chunk-YLLVSR2U.js.map} +1 -1
  130. package/dist/{chunk-6Z5KTFJT.js → chunk-Z3VKUWAX.js} +3 -3
  131. package/dist/{chunk-6Z5KTFJT.js.map → chunk-Z3VKUWAX.js.map} +1 -1
  132. package/dist/{chunk-7TPYPVAH.js → chunk-ZAELRYKS.js} +3 -3
  133. package/dist/{chunk-7TPYPVAH.js.map → chunk-ZAELRYKS.js.map} +1 -1
  134. package/dist/{chunk-UQ33Y4DM.js → chunk-ZBHZLWV3.js} +4 -4
  135. package/dist/{chunk-UQ33Y4DM.js.map → chunk-ZBHZLWV3.js.map} +1 -1
  136. package/dist/{chunk-OTIB4D2K.js → chunk-ZDLUQLI6.js} +4 -4
  137. package/dist/{chunk-OTIB4D2K.js.map → chunk-ZDLUQLI6.js.map} +1 -1
  138. package/dist/{chunk-OHNKYHRR.js → chunk-ZHGKAZJ7.js} +214 -16
  139. package/dist/chunk-ZHGKAZJ7.js.map +1 -0
  140. package/dist/{claude-code-VJGYBXQR.js → claude-code-RE46FJXI.js} +4 -4
  141. package/dist/{claude-code-VJGYBXQR.js.map → claude-code-RE46FJXI.js.map} +1 -1
  142. package/dist/cli/index.js +704 -448
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/cli/src/agent-pins.d.ts +11 -0
  145. package/dist/cli/src/agent-pins.d.ts.map +1 -1
  146. package/dist/cli/src/commands/catalog.d.ts +1 -1
  147. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  148. package/dist/cli/src/commands/config.d.ts.map +1 -1
  149. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  150. package/dist/cli/src/commands/harness.d.ts +24 -0
  151. package/dist/cli/src/commands/harness.d.ts.map +1 -0
  152. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  153. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  154. package/dist/cli/src/commands/library-index.d.ts +20 -2
  155. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  156. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  157. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  158. package/dist/cli/src/commands/project.d.ts +19 -1
  159. package/dist/cli/src/commands/project.d.ts.map +1 -1
  160. package/dist/cli/src/commands/run.d.ts.map +1 -1
  161. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  162. package/dist/cli/src/commands/session-logs/local-query.d.ts +2 -0
  163. package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
  164. package/dist/cli/src/commands/source.d.ts +9 -2
  165. package/dist/cli/src/commands/source.d.ts.map +1 -1
  166. package/dist/cli/src/commands/store.d.ts.map +1 -1
  167. package/dist/cli/src/commands/update.d.ts.map +1 -1
  168. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  169. package/dist/cli/src/config-checks.d.ts +37 -0
  170. package/dist/cli/src/config-checks.d.ts.map +1 -0
  171. package/dist/cli/src/skill-checks.d.ts +27 -0
  172. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  173. package/dist/cli/src/store-addable.d.ts +11 -0
  174. package/dist/cli/src/store-addable.d.ts.map +1 -1
  175. package/dist/connectors/config.js +5 -5
  176. package/dist/connectors/index.js +18 -18
  177. package/dist/{connectors-CXZLXAFZ.js → connectors-7THEF7YA.js} +21 -21
  178. package/dist/{connectors-CXZLXAFZ.js.map → connectors-7THEF7YA.js.map} +1 -1
  179. package/dist/core/index.js +6 -6
  180. package/dist/core/manifest.js +2 -2
  181. package/dist/core/models.js +1 -1
  182. package/dist/core/publish-manifest.js +3 -3
  183. package/dist/core/ref.js +1 -1
  184. package/dist/core/runtime-assets.js +5 -5
  185. package/dist/core/src/agent-instances.d.ts.map +1 -1
  186. package/dist/core/src/config-key-diagnostics.d.ts +9 -0
  187. package/dist/core/src/config-key-diagnostics.d.ts.map +1 -0
  188. package/dist/core/src/index.d.ts +1 -1
  189. package/dist/core/src/index.d.ts.map +1 -1
  190. package/dist/core/src/manifest.d.ts +10 -0
  191. package/dist/core/src/manifest.d.ts.map +1 -1
  192. package/dist/core/src/models.d.ts +8 -0
  193. package/dist/core/src/models.d.ts.map +1 -1
  194. package/dist/core/src/workspace-config.d.ts +8 -0
  195. package/dist/core/src/workspace-config.d.ts.map +1 -1
  196. package/dist/core/src/workspace-yaml-editor.d.ts +9 -2
  197. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  198. package/dist/core/workspace-config.js +4 -4
  199. package/dist/deploy/index.js +6 -6
  200. package/dist/discovery/index.js +4 -4
  201. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  202. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  203. package/dist/{ensure-sources-UPTHZKGF.js → ensure-sources-IH7CHSJF.js} +16 -16
  204. package/dist/{ensure-sources-UPTHZKGF.js.map → ensure-sources-IH7CHSJF.js.map} +1 -1
  205. package/dist/factory-assets/connectors/box.js +18 -18
  206. package/dist/factory-assets/connectors/deploy.js +18 -18
  207. package/dist/factory-assets/connectors/devserver.js +18 -18
  208. package/dist/factory-assets/connectors/flow/adapter.js +18 -18
  209. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  210. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  211. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  212. package/dist/factory-assets/connectors/flow/run-flow.js +20 -20
  213. package/dist/factory-assets/connectors/flow.js +18 -18
  214. package/dist/factory-assets/connectors/git.js +18 -18
  215. package/dist/factory-assets/connectors/gmail.js +18 -18
  216. package/dist/factory-assets/connectors/googledrive.js +18 -18
  217. package/dist/factory-assets/connectors/local.js +18 -18
  218. package/dist/factory-assets/connectors/mattermost.js +18 -18
  219. package/dist/factory-assets/connectors/memory.js +18 -18
  220. package/dist/factory-assets/connectors/minio.js +18 -18
  221. package/dist/factory-assets/connectors/postgres.js +18 -18
  222. package/dist/factory-assets/connectors/s3.js +18 -18
  223. package/dist/factory-assets/connectors/sharepoint.js +18 -18
  224. package/dist/factory-assets/connectors/sqlite.js +18 -18
  225. package/dist/factory-assets/connectors/static-server.js +18 -18
  226. package/dist/factory-assets/connectors/tunnel.js +18 -18
  227. package/dist/factory-assets/connectors/webdav.js +18 -18
  228. package/dist/factory-assets/connectors/xstate-store.js +18 -18
  229. package/dist/factory-assets/connectors/xstate.js +18 -18
  230. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +1 -1
  231. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +2 -2
  232. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +3 -3
  233. package/dist/{flows-TJQIMGUX.js → flows-4JZQ3XFK.js} +11 -11
  234. package/dist/{flows-TJQIMGUX.js.map → flows-4JZQ3XFK.js.map} +1 -1
  235. package/dist/{helpers-DE53KG3E.js → helpers-JNMK3FC2.js} +16 -16
  236. package/dist/{helpers-DE53KG3E.js.map → helpers-JNMK3FC2.js.map} +1 -1
  237. package/dist/library/index.js +9 -9
  238. package/dist/library/install.js +4 -4
  239. package/dist/library/src/index.d.ts +1 -1
  240. package/dist/library/src/index.d.ts.map +1 -1
  241. package/dist/library/src/local/library-dir.d.ts +22 -5
  242. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  243. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  244. package/dist/library/src/remote/remote-catalog-source.d.ts +6 -0
  245. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  246. package/dist/{library-publish-KKQ2ULLX.js → library-publish-I3UWXAHI.js} +52 -50
  247. package/dist/library-publish-I3UWXAHI.js.map +1 -0
  248. package/dist/model-endpoint/index.js +9 -9
  249. package/dist/{open-library-RJGJIW5H.js → open-library-NKKUJLWA.js} +19 -19
  250. package/dist/{open-library-RJGJIW5H.js.map → open-library-NKKUJLWA.js.map} +1 -1
  251. package/dist/{open-registry-3QS3J7KO.js → open-registry-BYAXSHUI.js} +14 -14
  252. package/dist/{open-registry-3QS3J7KO.js.map → open-registry-BYAXSHUI.js.map} +1 -1
  253. package/dist/{paths-QAV4C3KX.js → paths-UKWE35XS.js} +9 -9
  254. package/dist/{paths-QAV4C3KX.js.map → paths-UKWE35XS.js.map} +1 -1
  255. package/dist/{plugin-store-MSH6GK6T.js → plugin-store-ABE35NRX.js} +9 -9
  256. package/dist/{plugin-store-MSH6GK6T.js.map → plugin-store-ABE35NRX.js.map} +1 -1
  257. package/dist/project-BIPK47JK.js +86 -0
  258. package/dist/{project-HZW2MZPA.js.map → project-BIPK47JK.js.map} +1 -1
  259. package/dist/resolver/index.js +7 -7
  260. package/dist/runner/index.js +33 -33
  261. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  262. package/dist/runner/src/composition/errors.d.ts +16 -1
  263. package/dist/runner/src/composition/errors.d.ts.map +1 -1
  264. package/dist/runner/src/credential-notice.d.ts +3 -3
  265. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  266. package/dist/runner/src/serve.d.ts +14 -2
  267. package/dist/runner/src/serve.d.ts.map +1 -1
  268. package/dist/sdk/asset-manager.js +13 -13
  269. package/dist/sdk/bridge.js +14 -14
  270. package/dist/sdk/core.js +6 -6
  271. package/dist/sdk/flow.js +8 -8
  272. package/dist/sdk/index.js +33 -33
  273. package/dist/sdk/resolver.js +7 -7
  274. package/dist/sdk/runner.js +33 -33
  275. package/dist/sdk/transport/ws/server.js +7 -7
  276. package/dist/sdk/transport/ws.js +7 -7
  277. package/dist/sdk/transport.js +7 -7
  278. package/dist/{serve-preflight-L4POEHNQ.js → serve-preflight-FLTIBTEX.js} +28 -29
  279. package/dist/serve-preflight-FLTIBTEX.js.map +1 -0
  280. package/dist/{setup-AGYB4PKR.js → setup-AG6NFHSN.js} +25 -25
  281. package/dist/{setup-AGYB4PKR.js.map → setup-AG6NFHSN.js.map} +1 -1
  282. package/dist/{skills-2LMQ2IAD.js → skills-UQYUHVKO.js} +12 -12
  283. package/dist/{skills-2LMQ2IAD.js.map → skills-UQYUHVKO.js.map} +1 -1
  284. package/dist/source-ASEHI2XS.js +85 -0
  285. package/dist/{source-GBMYD3RO.js.map → source-ASEHI2XS.js.map} +1 -1
  286. package/dist/{source-manifest-publish-FK22TVQT.js → source-manifest-publish-IEVV3W6J.js} +45 -45
  287. package/dist/{source-manifest-publish-FK22TVQT.js.map → source-manifest-publish-IEVV3W6J.js.map} +1 -1
  288. package/dist/transport/index.js +7 -7
  289. package/dist/transport/ws/server.js +7 -7
  290. package/dist/transport/ws.js +7 -7
  291. package/dist/tui/index.js +33 -33
  292. package/dist/types/src/install-manifest.d.ts +1 -1
  293. package/dist/types/src/install-manifest.d.ts.map +1 -1
  294. package/dist/workspace-plugin/adapters/mcp.js +25 -25
  295. package/dist/workspace-plugin/adapters/omp.js +14 -14
  296. package/dist/workspace-plugin/index.js +1 -1
  297. package/package.json +1 -1
  298. package/dist/asset-feeds-PXUWCXVI.js.map +0 -1
  299. package/dist/chunk-3JKGY2YC.js.map +0 -1
  300. package/dist/chunk-4DWBSTYA.js.map +0 -1
  301. package/dist/chunk-4XWLB7JB.js.map +0 -1
  302. package/dist/chunk-F2GOZMRA.js.map +0 -1
  303. package/dist/chunk-GOCWM7FN.js.map +0 -1
  304. package/dist/chunk-L4YKW5AY.js.map +0 -1
  305. package/dist/chunk-NMI2TWMH.js.map +0 -1
  306. package/dist/chunk-OAHVKSQJ.js.map +0 -1
  307. package/dist/chunk-OHNKYHRR.js.map +0 -1
  308. package/dist/chunk-PUK7TQT4.js +0 -13
  309. package/dist/chunk-PUK7TQT4.js.map +0 -1
  310. package/dist/chunk-QOM5Z62G.js.map +0 -1
  311. package/dist/chunk-TKHJXPSB.js.map +0 -1
  312. package/dist/chunk-UL22SDGR.js.map +0 -1
  313. package/dist/chunk-VJRTDKXS.js.map +0 -1
  314. package/dist/chunk-WEH33JSG.js.map +0 -1
  315. package/dist/chunk-WYHQUCHR.js.map +0 -1
  316. package/dist/chunk-X3RMRJNR.js.map +0 -1
  317. package/dist/library-publish-KKQ2ULLX.js.map +0 -1
  318. package/dist/project-HZW2MZPA.js +0 -84
  319. package/dist/serve-preflight-L4POEHNQ.js.map +0 -1
  320. package/dist/source-GBMYD3RO.js +0 -85
@@ -1,37 +1,37 @@
1
- import { WorkspacePlugin } from './chunk-VBI7HGHB.js';
2
- import { buildWorkspaceToolDefs } from './chunk-OULSJRXV.js';
3
- import { findAiAssetsRoot } from './chunk-6Z5KTFJT.js';
4
- import { startModelEndpoint } from './chunk-E3GPGTW3.js';
5
- import { WebSocketServerTransport } from './chunk-AF432MS3.js';
1
+ import { WorkspacePlugin } from './chunk-QAKUD6QN.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-6YR4ALVX.js';
3
+ import { findAiAssetsRoot } from './chunk-Z3VKUWAX.js';
4
+ import { startModelEndpoint } from './chunk-KUQAJVYT.js';
5
+ import { WebSocketServerTransport } from './chunk-EJPMNDTP.js';
6
6
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
7
7
  import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-ZFUZ5AKM.js';
8
- import { resolveFlowPath } from './chunk-T2BDID2J.js';
9
- import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-H6UVIKQ2.js';
10
- import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-SNEE6UGY.js';
11
- import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-LN6QB7XI.js';
12
- import { EventNormalizer } from './chunk-4XWLB7JB.js';
13
- import { approvalCardOf, APPROVE_ONCE, DENY, probeResumeTranscript, transcriptStoreForRuntime } from './chunk-4DWBSTYA.js';
8
+ import { resolveFlowPath } from './chunk-J72MO2WA.js';
9
+ import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-VYVTEMAW.js';
10
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-DGTI65OC.js';
11
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-BBBCJSSU.js';
12
+ import { EventNormalizer } from './chunk-5Y2KGB4H.js';
13
+ import { sessionSurfaceNotice, approvalCardOf, APPROVE_ONCE, DENY, probeResumeTranscript, transcriptStoreForRuntime } from './chunk-SVTMNSPI.js';
14
14
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
15
15
  import { dispatchCapability } from './chunk-BIRW3HOG.js';
16
16
  import { classifyClaudeSdkError } from './chunk-XFIEVEU7.js';
17
17
  import { agentExecRequested } from './chunk-7DN6JKP2.js';
18
- import { toAgentEffort, toMergedRegistry } from './chunk-UVVVR4XO.js';
19
- import { unresolvedProviderCredentials, harnessCapabilities, createHarness, catalogLayer, providerCredentialEnvName, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-F2GOZMRA.js';
20
- import { loadFlow } from './chunk-SZXGRHQQ.js';
18
+ import { toAgentEffort, toMergedRegistry } from './chunk-FKQNBCDW.js';
19
+ import { unresolvedProviderCredentials, harnessCapabilities, createHarness, catalogLayer, providerCredentialEnvName, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-ILLTBKDJ.js';
20
+ import { loadFlow } from './chunk-4MUDQCBP.js';
21
21
  import { renderStimulusPrompt } from './chunk-WD3L5QSU.js';
22
22
  import { TERMINAL_AGENT_RUN_STATUSES, withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, deliveryClassOf } from './chunk-JCPD4QRM.js';
23
- import { knowledgeKindProvider, scanLibraryRoot, LocalIndex } from './chunk-UL22SDGR.js';
24
- import { createDefaultKindRegistry } from './chunk-QOM5Z62G.js';
25
- import { parseFlowDefinition } from './chunk-X3RMRJNR.js';
23
+ import { knowledgeKindProvider, scanLibraryRoot, LocalIndex } from './chunk-S2XHGWQC.js';
24
+ import { createDefaultKindRegistry } from './chunk-UI745XC3.js';
25
+ import { parseFlowDefinition } from './chunk-JRN5QF4C.js';
26
26
  import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema, ANTHROPIC_MODEL_ALIASES } from './chunk-E572OHGY.js';
27
- import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-L4YKW5AY.js';
28
- import { resolveRuntimeAssets } from './chunk-OTIB4D2K.js';
27
+ import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-VMVDAZLA.js';
28
+ import { resolveRuntimeAssets } from './chunk-ZDLUQLI6.js';
29
29
  import { DEFAULT_HARNESS_ID, resolveHarnessPaths } from './chunk-Z7ZEZZB6.js';
30
- import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveAgentDefinitionDir, AgentRefResolutionError, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-OHNKYHRR.js';
30
+ import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveAgentDefinitionDir, AgentRefResolutionError, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-ZHGKAZJ7.js';
31
31
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
32
32
  import { harnessNameForHarnessId, SUPPORTED_HARNESSES, HARNESS_TARGETS } from './chunk-VTETQCR6.js';
33
- import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-GOCWM7FN.js';
34
- import { parseAssetRef } from './chunk-WDXZA7QW.js';
33
+ import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-RHN5MRQO.js';
34
+ import { parseAssetRef } from './chunk-LSSYC5IC.js';
35
35
  import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-DKXNKFKP.js';
36
36
  import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-LSI2IVFT.js';
37
37
  import { getLogStore, registerLogStore, createLogger, resetLogStore, isUnwritableStreamError, markStreamBroken, isBrokenPipeError, redactCredentials } from './chunk-BOFL7GIF.js';
@@ -44,7 +44,7 @@ import { markedTerminal } from 'marked-terminal';
44
44
  import { createHash, randomUUID, randomBytes, timingSafeEqual } from 'crypto';
45
45
  import * as z5 from 'zod';
46
46
  import { z } from 'zod';
47
- import { constants, unlinkSync, readFileSync, readdirSync, statSync, existsSync, lstatSync, realpathSync, mkdirSync, writeFileSync, watch, chmodSync, accessSync, rmSync } from 'fs';
47
+ import { constants, unlinkSync, readFileSync, readdirSync, statSync, existsSync, lstatSync, realpathSync, mkdirSync, writeFileSync, renameSync, rmSync, watch, chmodSync, accessSync } from 'fs';
48
48
  import fs8, { readFile, readdir, lstat, realpath, rm, unlink, stat, mkdir, writeFile, readlink, rename, open, mkdtemp } from 'fs/promises';
49
49
  import { parse } from 'yaml';
50
50
  import { Ajv2020 } from 'ajv/dist/2020.js';
@@ -90,6 +90,10 @@ function createFinalTextFallback(write) {
90
90
 
91
91
  // runner/src/credential-notice.ts
92
92
  function unresolvedCredentialNotices(session) {
93
+ if (session.harnessType === "claude-sdk") {
94
+ const notice = sessionSurfaceNotice(session.registry, session.modelRef);
95
+ return notice ? [notice] : [];
96
+ }
93
97
  if (session.harnessType !== "omp") return [];
94
98
  return unresolvedProviderCredentials(session.registry, {
95
99
  env: { ...process.env, ...session.credentialEnv }
@@ -195,7 +199,7 @@ function scheduleRetention(cfg) {
195
199
  const dbPath = path3.join(cfg.workspacePath, ".skaile", "logs.db");
196
200
  const policy = resolveLogsRetention(cfg.retention);
197
201
  const log = createLogger({ kind: "runner", subkind: "logging", instance: cfg.sessionId });
198
- return new Promise((resolve4) => setImmediate(resolve4)).then(() => enforceLogsRetention(dbPath, policy)).then(
202
+ return new Promise((resolve5) => setImmediate(resolve5)).then(() => enforceLogsRetention(dbPath, policy)).then(
199
203
  (result) => {
200
204
  if (result.deletedByAge + result.deletedByCount > 0) {
201
205
  log.info("logs.db retention trimmed rows", { ...result, ...policy });
@@ -379,16 +383,18 @@ async function openLocalIndexIfAvailable(log) {
379
383
 
380
384
  // runner/src/composition/errors.ts
381
385
  var CompositionError = class extends Error {
382
- constructor(code, reason, message, ref) {
386
+ constructor(code, reason, message, ref, moved) {
383
387
  super(message);
384
388
  this.code = code;
385
389
  this.reason = reason;
386
390
  this.ref = ref;
391
+ this.moved = moved;
387
392
  this.name = "CompositionError";
388
393
  }
389
394
  code;
390
395
  reason;
391
396
  ref;
397
+ moved;
392
398
  };
393
399
  function isCompositionError(err, code) {
394
400
  return err instanceof CompositionError && (code === void 0 || err.code === code);
@@ -772,11 +778,27 @@ var DefaultCompositionContentSource = class _DefaultCompositionContentSource {
772
778
  }
773
779
  }
774
780
  if (!hit) {
781
+ let moved;
782
+ if (entry.library) {
783
+ for (const root of await registeredLibraryRoots(entry.library)) {
784
+ const other = this.scanner.findIn(root, kind, pin.name).find((h) => barePublisher(h.asset.publisher) === pin.publisher);
785
+ if (other?.asset.version) {
786
+ moved = {
787
+ key: pin.key,
788
+ library: entry.library.name,
789
+ libraryVersion: other.asset.version,
790
+ lockedVersion: pin.version
791
+ };
792
+ break;
793
+ }
794
+ }
795
+ }
775
796
  throw new CompositionError(
776
797
  "composition_asset_missing",
777
798
  "missing",
778
- `"${ref}" (${kind}): skaile.lock.yaml pins ${pin.key} but no bytes for it are on disk \u2014 run \`skaile install\``,
779
- ref
799
+ moved ? `"${ref}" (${kind}): skaile.lock.yaml pins ${pin.key} but library "${moved.library}" is at ${moved.libraryVersion} \u2014 run \`skaile update\` to move the lock to it` : `"${ref}" (${kind}): skaile.lock.yaml pins ${pin.key} but no bytes for it are on disk \u2014 run \`skaile install\``,
800
+ ref,
801
+ moved
780
802
  );
781
803
  }
782
804
  const assetRoot = hit.asset.fileFilter.assetRoot;
@@ -2976,8 +2998,8 @@ function createRunController(deps) {
2976
2998
  }
2977
2999
  function subscribe(runId) {
2978
3000
  let notify;
2979
- const changed = new Promise((resolve4) => {
2980
- notify = resolve4;
3001
+ const changed = new Promise((resolve5) => {
3002
+ notify = resolve5;
2981
3003
  });
2982
3004
  const set = subscribers.get(runId) ?? /* @__PURE__ */ new Set();
2983
3005
  set.add(notify);
@@ -3740,7 +3762,7 @@ function extractJsonOutput(text2) {
3740
3762
  async function promptForReply(harness, prompt, signal) {
3741
3763
  let lastText = "";
3742
3764
  let streamed = "";
3743
- return new Promise((resolve4, reject) => {
3765
+ return new Promise((resolve5, reject) => {
3744
3766
  const onAbort = () => {
3745
3767
  harness.off("agent-event", onEvent);
3746
3768
  reject(signal.reason ?? new Error("aborted"));
@@ -3755,7 +3777,7 @@ async function promptForReply(harness, prompt, signal) {
3755
3777
  } else if (event.type === "agent_end") {
3756
3778
  harness.off("agent-event", onEvent);
3757
3779
  signal.removeEventListener("abort", onAbort);
3758
- resolve4(lastText || streamed);
3780
+ resolve5(lastText || streamed);
3759
3781
  } else if (event.type === "error" && event.retrying !== true) {
3760
3782
  harness.off("agent-event", onEvent);
3761
3783
  signal.removeEventListener("abort", onAbort);
@@ -4319,7 +4341,7 @@ async function prepareCodexTools(options) {
4319
4341
  options.signal.removeEventListener("abort", abort);
4320
4342
  await Promise.allSettled([...peers].map((peer) => peer.close()));
4321
4343
  http.closeAllConnections();
4322
- if (http.listening) await new Promise((resolve4) => http.close(() => resolve4()));
4344
+ if (http.listening) await new Promise((resolve5) => http.close(() => resolve5()));
4323
4345
  })();
4324
4346
  const abort = () => {
4325
4347
  void dispose();
@@ -4327,9 +4349,9 @@ async function prepareCodexTools(options) {
4327
4349
  options.signal.addEventListener("abort", abort, { once: true });
4328
4350
  try {
4329
4351
  signal.throwIfAborted();
4330
- await new Promise((resolve4, reject) => {
4352
+ await new Promise((resolve5, reject) => {
4331
4353
  http.once("error", reject);
4332
- http.listen(0, "127.0.0.1", resolve4);
4354
+ http.listen(0, "127.0.0.1", resolve5);
4333
4355
  });
4334
4356
  signal.throwIfAborted();
4335
4357
  const address = http.address();
@@ -4367,7 +4389,7 @@ async function prepareCodexTools(options) {
4367
4389
  } catch {
4368
4390
  await dispose();
4369
4391
  http.closeAllConnections();
4370
- if (http.listening) await new Promise((resolve4) => http.close(() => resolve4()));
4392
+ if (http.listening) await new Promise((resolve5) => http.close(() => resolve5()));
4371
4393
  throw new Error("CODEX_REQUIRED_TOOL_UNAVAILABLE");
4372
4394
  }
4373
4395
  }
@@ -4974,7 +4996,7 @@ async function nodeHttpsFetch(url, init, agent) {
4974
4996
  headers[key] = value;
4975
4997
  });
4976
4998
  const body = init?.body == null ? void 0 : Buffer.from(await new Response(init.body).arrayBuffer());
4977
- return new Promise((resolve4, reject) => {
4999
+ return new Promise((resolve5, reject) => {
4978
5000
  const req = request(
4979
5001
  url,
4980
5002
  { method: init?.method ?? "GET", headers, agent, signal: init?.signal ?? void 0 },
@@ -4987,7 +5009,7 @@ async function nodeHttpsFetch(url, init, agent) {
4987
5009
  const status = res.statusCode ?? 0;
4988
5010
  const responseBody = NULL_BODY_STATUSES.has(status) ? null : Readable.toWeb(res);
4989
5011
  if (responseBody === null) res.resume();
4990
- resolve4(
5012
+ resolve5(
4991
5013
  new Response(responseBody, {
4992
5014
  status,
4993
5015
  statusText: res.statusMessage,
@@ -6801,7 +6823,7 @@ async function runAgentChat(opts) {
6801
6823
  ${message}`;
6802
6824
  }
6803
6825
  try {
6804
- await new Promise((resolve4, reject) => {
6826
+ await new Promise((resolve5, reject) => {
6805
6827
  let settled = false;
6806
6828
  const onEvent = (event) => {
6807
6829
  if (event.type === "agent_end") {
@@ -6816,7 +6838,7 @@ ${message}`;
6816
6838
  process.stdout.write("\n");
6817
6839
  }
6818
6840
  harness.kill();
6819
- resolve4();
6841
+ resolve5();
6820
6842
  } else if (event.type === "error" && event.retrying !== true) {
6821
6843
  settled = true;
6822
6844
  harness.off("agent-event", onEvent);
@@ -6854,9 +6876,9 @@ async function askApprovalOnTerminal(question, details) {
6854
6876
  `);
6855
6877
  for (const line of details) process.stderr.write(` ${pc.dim(line)}
6856
6878
  `);
6857
- return await new Promise((resolve4) => {
6858
- rl.question(" Approve once? [y/N] ", (answer) => resolve4(/^y(es)?$/i.test(answer.trim())));
6859
- rl.once("close", () => resolve4(false));
6879
+ return await new Promise((resolve5) => {
6880
+ rl.question(" Approve once? [y/N] ", (answer) => resolve5(/^y(es)?$/i.test(answer.trim())));
6881
+ rl.once("close", () => resolve5(false));
6860
6882
  });
6861
6883
  } finally {
6862
6884
  rl.close();
@@ -6905,7 +6927,7 @@ function buildClientCapabilityHandler(args) {
6905
6927
  `Capability ${args.wire.name} (callId=${callId}) rejected: a call with this id is already in flight`
6906
6928
  );
6907
6929
  }
6908
- return new Promise((resolve4, reject) => {
6930
+ return new Promise((resolve5, reject) => {
6909
6931
  const timer = setTimeout(() => {
6910
6932
  args.pending.delete(callId);
6911
6933
  reject(
@@ -6914,7 +6936,7 @@ function buildClientCapabilityHandler(args) {
6914
6936
  )
6915
6937
  );
6916
6938
  }, timeoutMs);
6917
- args.pending.set(callId, { resolve: resolve4, reject, timer });
6939
+ args.pending.set(callId, { resolve: resolve5, reject, timer });
6918
6940
  args.emit({
6919
6941
  type: "capability_invoked",
6920
6942
  callId,
@@ -8419,12 +8441,12 @@ function createInitBuildHold(now = Date.now) {
8419
8441
  }
8420
8442
  return {
8421
8443
  beginBuild() {
8422
- let resolve4;
8444
+ let resolve5;
8423
8445
  const build = {
8424
8446
  done: false,
8425
8447
  error: null,
8426
8448
  settled: new Promise((r) => {
8427
- resolve4 = r;
8449
+ resolve5 = r;
8428
8450
  })
8429
8451
  };
8430
8452
  current = build;
@@ -8432,7 +8454,7 @@ function createInitBuildHold(now = Date.now) {
8432
8454
  if (build.done) return;
8433
8455
  build.done = true;
8434
8456
  build.error = error;
8435
- resolve4();
8457
+ resolve5();
8436
8458
  };
8437
8459
  return { succeed: () => settle(null), fail: (error) => settle(error) };
8438
8460
  },
@@ -8446,13 +8468,13 @@ function createInitBuildHold(now = Date.now) {
8446
8468
  const previous = tail;
8447
8469
  const turn = previous.then(awaitNewestBuild);
8448
8470
  let timer;
8449
- const deadline = deadlineMs === void 0 ? null : new Promise((resolve4) => {
8450
- timer = setTimeout(() => resolve4("timeout"), deadlineMs);
8471
+ const deadline = deadlineMs === void 0 ? null : new Promise((resolve5) => {
8472
+ timer = setTimeout(() => resolve5("timeout"), deadlineMs);
8451
8473
  timer.unref?.();
8452
8474
  });
8453
8475
  let markStarted;
8454
- const started = new Promise((resolve4) => {
8455
- markStarted = resolve4;
8476
+ const started = new Promise((resolve5) => {
8477
+ markStarted = resolve5;
8456
8478
  });
8457
8479
  const result = (async () => {
8458
8480
  const first = deadline ? await Promise.race([turn, deadline]) : await turn;
@@ -8505,7 +8527,7 @@ function createCoalescedRestartScheduler(deps) {
8505
8527
  const quietMs = deps.quietMs ?? 250;
8506
8528
  const maxWaitMs = deps.maxWaitMs ?? 2e3;
8507
8529
  const now = deps.now ?? Date.now;
8508
- const sleep = deps.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
8530
+ const sleep = deps.sleep ?? ((ms) => new Promise((resolve5) => setTimeout(resolve5, ms)));
8509
8531
  let open4 = null;
8510
8532
  return (reason) => {
8511
8533
  if (open4) {
@@ -8844,8 +8866,8 @@ var CompactionGate = class {
8844
8866
  begin() {
8845
8867
  const hold = /* @__PURE__ */ Symbol("compaction");
8846
8868
  if (this.held.size === 0) {
8847
- this.opened = new Promise((resolve4) => {
8848
- this.release = resolve4;
8869
+ this.opened = new Promise((resolve5) => {
8870
+ this.release = resolve5;
8849
8871
  });
8850
8872
  }
8851
8873
  this.held.add(hold);
@@ -8902,8 +8924,8 @@ var CompactionGate = class {
8902
8924
  };
8903
8925
  async function raceDeadline(opened, ms) {
8904
8926
  let timer;
8905
- const expired = new Promise((resolve4) => {
8906
- timer = setTimeout(() => resolve4("timeout"), ms);
8927
+ const expired = new Promise((resolve5) => {
8928
+ timer = setTimeout(() => resolve5("timeout"), ms);
8907
8929
  timer.unref?.();
8908
8930
  });
8909
8931
  try {
@@ -8990,8 +9012,8 @@ var HarnessSwapGate = class {
8990
9012
  */
8991
9013
  beginTurn() {
8992
9014
  let resolveTurn;
8993
- const turn = new Promise((resolve4) => {
8994
- resolveTurn = resolve4;
9015
+ const turn = new Promise((resolve5) => {
9016
+ resolveTurn = resolve5;
8995
9017
  });
8996
9018
  this.turnTail = this.turnTail.then(() => turn);
8997
9019
  let ended = false;
@@ -9154,8 +9176,8 @@ var PromptTurnQueue = class {
9154
9176
  join(owner = {}) {
9155
9177
  const queued = this.entries.length > 0;
9156
9178
  let release2;
9157
- const ready = new Promise((resolve4) => {
9158
- release2 = resolve4;
9179
+ const ready = new Promise((resolve5) => {
9180
+ release2 = resolve5;
9159
9181
  });
9160
9182
  const entry = { owner, active: false, dropped: false, release: release2 };
9161
9183
  this.entries.push(entry);
@@ -9516,7 +9538,7 @@ function freshTurnReplyPrompt(answer, question) {
9516
9538
  (The answer above is to your question "${asked}")`;
9517
9539
  }
9518
9540
  function awaitAgentEnd(harness, prompt, timeoutMs) {
9519
- return new Promise((resolve4, reject) => {
9541
+ return new Promise((resolve5, reject) => {
9520
9542
  let settled = false;
9521
9543
  const onEvent = (raw) => {
9522
9544
  const event = raw;
@@ -9531,7 +9553,7 @@ function awaitAgentEnd(harness, prompt, timeoutMs) {
9531
9553
  if (harness.off) harness.off("agent-event", onEvent);
9532
9554
  else harness.removeListener("agent-event", onEvent);
9533
9555
  if (err) reject(err);
9534
- else resolve4();
9556
+ else resolve5();
9535
9557
  };
9536
9558
  const timer = setTimeout(
9537
9559
  () => done(new Error(`Flow turn timed out after ${timeoutMs / 1e3}s`)),
@@ -10192,13 +10214,13 @@ var CompactionOrchestrator = class {
10192
10214
  const timeoutMs = compactionTimeoutMs();
10193
10215
  const inactivityMs = compactionInactivityMs();
10194
10216
  try {
10195
- const expiry = new Promise((resolve4) => {
10196
- timer = setTimeout(() => resolve4("expired"), timeoutMs);
10217
+ const expiry = new Promise((resolve5) => {
10218
+ timer = setTimeout(() => resolve5("expired"), timeoutMs);
10197
10219
  let lastEventAt = Date.now();
10198
10220
  const check = () => {
10199
10221
  const lastSeen = Math.max(lastEventAt, this.harness.lastActivityAt?.() ?? 0);
10200
10222
  const idleMs = Date.now() - lastSeen;
10201
- if (idleMs >= inactivityMs) resolve4("stalled");
10223
+ if (idleMs >= inactivityMs) resolve5("stalled");
10202
10224
  else idleTimer = setTimeout(check, inactivityMs - idleMs);
10203
10225
  };
10204
10226
  rearmInactivity = () => {
@@ -10222,8 +10244,8 @@ var CompactionOrchestrator = class {
10222
10244
  this.opts.onLog?.(`[compaction] abort after timeout failed: ${String(abortErr)}`);
10223
10245
  });
10224
10246
  let settleTimer;
10225
- const graceExpired = new Promise((resolve4) => {
10226
- settleTimer = setTimeout(resolve4, ABORT_SETTLE_GRACE_MS);
10247
+ const graceExpired = new Promise((resolve5) => {
10248
+ settleTimer = setTimeout(resolve5, ABORT_SETTLE_GRACE_MS);
10227
10249
  settleTimer.unref?.();
10228
10250
  });
10229
10251
  await Promise.race([Promise.all([aborted, settled]), graceExpired]);
@@ -12023,9 +12045,9 @@ function createSessionStimulusBus(opts) {
12023
12045
  connectorId,
12024
12046
  fragmentLength: sig.promptFragment.length
12025
12047
  });
12026
- return new Promise((resolve4, reject) => {
12048
+ return new Promise((resolve5, reject) => {
12027
12049
  const q = getQueue(connectorId);
12028
- q.pending.push({ signal: sig, resolve: resolve4, reject });
12050
+ q.pending.push({ signal: sig, resolve: resolve5, reject });
12029
12051
  startTimerIfNeeded(connectorId, q, coalesceMs);
12030
12052
  });
12031
12053
  }
@@ -12512,13 +12534,18 @@ async function guardClaudeAiConnectors(home, serverLog) {
12512
12534
  );
12513
12535
  }
12514
12536
  }
12515
- function ensureGitConfigInclude(managedGitconfigPath) {
12537
+ function ensureGitConfigInclude(managedGitconfigPath, alsoMatching = []) {
12516
12538
  const home = process.env.HOME ?? homedir();
12517
12539
  if (!home) return;
12518
12540
  const gitconfigPath = join(home, ".gitconfig");
12541
+ let target = gitconfigPath;
12542
+ try {
12543
+ target = realpathSync(gitconfigPath);
12544
+ } catch {
12545
+ }
12519
12546
  let existing = "";
12520
12547
  try {
12521
- existing = readFileSync(gitconfigPath, "utf-8");
12548
+ existing = readFileSync(target, "utf-8");
12522
12549
  } catch {
12523
12550
  }
12524
12551
  const sectionRe = /^\s*\[([^\]\s]+)(?:\s+"[^"]*")?\]\s*$/;
@@ -12532,23 +12559,42 @@ function ensureGitConfigInclude(managedGitconfigPath) {
12532
12559
  }
12533
12560
  if (currentSection !== "include" && currentSection !== "includeif") continue;
12534
12561
  const pathMatch = line.match(pathKeyRe);
12535
- if (pathMatch?.[1] === managedGitconfigPath) return;
12562
+ const found = pathMatch?.[1];
12563
+ if (found === managedGitconfigPath || found !== void 0 && alsoMatching.includes(found))
12564
+ return;
12536
12565
  }
12537
- if (!existsSync(dirname(gitconfigPath))) {
12538
- mkdirSync(dirname(gitconfigPath), { recursive: true });
12566
+ if (!existsSync(dirname(target))) {
12567
+ mkdirSync(dirname(target), { recursive: true });
12539
12568
  }
12540
- const block = `${existing.trimEnd()}
12541
- # skaile-runner: managed-gitconfig include
12569
+ let mode = 420;
12570
+ try {
12571
+ mode = statSync(target).mode & 511;
12572
+ } catch {
12573
+ }
12574
+ const block = `${existing.trimEnd()}${existing.trim() === "" ? "" : "\n"}# skaile-runner: managed-gitconfig include
12542
12575
  [include]
12543
12576
  path = ${managedGitconfigPath}
12544
12577
  `;
12545
- writeFileSync(gitconfigPath, block, { mode: 420 });
12578
+ const tmp = `${target}.skaile-${process.pid}-${Date.now().toString(36)}.tmp`;
12579
+ try {
12580
+ writeFileSync(tmp, block, { mode });
12581
+ renameSync(tmp, target);
12582
+ } catch (err) {
12583
+ rmSync(tmp, { force: true });
12584
+ throw err;
12585
+ }
12546
12586
  }
12547
- function setupManagedGitconfig(projectDir, serverLog) {
12548
- const managedGitconfigPath = join(projectDir, ".skaile", "managed-gitconfig");
12587
+ function setupManagedGitconfig(projectDir, serverLog, includeInHome) {
12588
+ const managedGitconfigPath = join(resolve(projectDir), ".skaile", "managed-gitconfig");
12549
12589
  process.env.GIT_CONFIG_GLOBAL = managedGitconfigPath;
12590
+ if (!includeInHome) return;
12550
12591
  try {
12551
- ensureGitConfigInclude(managedGitconfigPath);
12592
+ let includePath = managedGitconfigPath;
12593
+ try {
12594
+ includePath = join(realpathSync(resolve(projectDir)), ".skaile", "managed-gitconfig");
12595
+ } catch {
12596
+ }
12597
+ ensureGitConfigInclude(includePath, [managedGitconfigPath]);
12552
12598
  } catch (err) {
12553
12599
  serverLog.warn("failed to write ~/.gitconfig include \u2014 relying on env only", {
12554
12600
  error: err instanceof Error ? err.message : String(err)
@@ -12688,19 +12734,19 @@ function createFlowConnectorReadiness(isReady) {
12688
12734
  wait(timeoutMs, isSatisfied) {
12689
12735
  const satisfied = isSatisfied ?? isReady;
12690
12736
  if (satisfied()) return Promise.resolve(true);
12691
- return new Promise((resolve4) => {
12737
+ return new Promise((resolve5) => {
12692
12738
  let timer;
12693
12739
  const waiter = {
12694
12740
  satisfied,
12695
12741
  release: () => {
12696
12742
  clearTimeout(timer);
12697
- resolve4(true);
12743
+ resolve5(true);
12698
12744
  }
12699
12745
  };
12700
12746
  timer = setTimeout(() => {
12701
12747
  const idx = waiters.indexOf(waiter);
12702
12748
  if (idx >= 0) waiters.splice(idx, 1);
12703
- resolve4(false);
12749
+ resolve5(false);
12704
12750
  }, timeoutMs);
12705
12751
  timer.unref?.();
12706
12752
  waiters.push(waiter);
@@ -13182,7 +13228,11 @@ async function startAgentServer(opts) {
13182
13228
  let teardownProcessHandlers = stopOutputWatch;
13183
13229
  const profile = wsConfig.agent_config?.default;
13184
13230
  const maxTurns = wsConfig.agent?.permissions?.max_turns ?? profile?.max_turns;
13185
- setupManagedGitconfig(opts.projectDir, serverLog);
13231
+ setupManagedGitconfig(
13232
+ opts.projectDir,
13233
+ serverLog,
13234
+ opts.gitConfigInclude ?? process.env.SKAILE_GIT_CONFIG_INCLUDE === "1"
13235
+ );
13186
13236
  const agentDir = opts.agentDir ?? resolveAgentDir(opts.projectDir);
13187
13237
  if (agentDir) {
13188
13238
  serverLog.info("agent dir resolved", { agentDir });
@@ -13258,7 +13308,7 @@ async function startAgentServer(opts) {
13258
13308
  transport.onConnect(() => rejectCallsSentToPreviousPeer("replaced connection"));
13259
13309
  const remoteCapabilityInvoker = (name, input, timeoutMs, signal) => {
13260
13310
  const callId = typeof crypto?.randomUUID === "function" ? crypto.randomUUID() : `rcap-${Date.now()}-${Math.floor(Math.random() * 1e9)}`;
13261
- return new Promise((resolve4, reject) => {
13311
+ return new Promise((resolve5, reject) => {
13262
13312
  if (!transport.connected) {
13263
13313
  reject(new Error(`Transport disconnected; cannot invoke remote capability ${name}`));
13264
13314
  return;
@@ -13272,7 +13322,7 @@ async function startAgentServer(opts) {
13272
13322
  signal?.removeEventListener("abort", abort);
13273
13323
  pendingCapabilityCalls.delete(callId);
13274
13324
  if (error) reject(error);
13275
- else resolve4(value);
13325
+ else resolve5(value);
13276
13326
  };
13277
13327
  const abort = () => finish(signal?.reason ?? new Error("Remote capability aborted"));
13278
13328
  const timer = setTimeout(
@@ -13293,8 +13343,8 @@ async function startAgentServer(opts) {
13293
13343
  });
13294
13344
  };
13295
13345
  let aiProviderConfigId;
13296
- const sleep = (ms) => new Promise((resolve4) => {
13297
- const t = setTimeout(resolve4, ms);
13346
+ const sleep = (ms) => new Promise((resolve5) => {
13347
+ const t = setTimeout(resolve5, ms);
13298
13348
  t.unref?.();
13299
13349
  });
13300
13350
  async function mintAndPersistAiCredential(args) {
@@ -13679,10 +13729,10 @@ async function startAgentServer(opts) {
13679
13729
  let resolveSessionReady;
13680
13730
  let rejectSessionReady;
13681
13731
  let sessionReadyOutcome = "pending";
13682
- const sessionReady = new Promise((resolve4, reject) => {
13732
+ const sessionReady = new Promise((resolve5, reject) => {
13683
13733
  resolveSessionReady = () => {
13684
13734
  if (sessionReadyOutcome === "pending") sessionReadyOutcome = "resolved";
13685
- resolve4();
13735
+ resolve5();
13686
13736
  };
13687
13737
  rejectSessionReady = (err) => {
13688
13738
  if (sessionReadyOutcome === "pending") sessionReadyOutcome = "rejected";
@@ -14424,8 +14474,8 @@ async function startAgentServer(opts) {
14424
14474
  try {
14425
14475
  await Promise.race([
14426
14476
  sessionReady,
14427
- new Promise((resolve4) => {
14428
- const t = setTimeout(resolve4, 2e3);
14477
+ new Promise((resolve5) => {
14478
+ const t = setTimeout(resolve5, 2e3);
14429
14479
  t.unref?.();
14430
14480
  })
14431
14481
  ]);
@@ -16110,5 +16160,5 @@ function touchSession(state) {
16110
16160
  }
16111
16161
 
16112
16162
  export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptHarness, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsHarnessRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, harnessActiveAfterTurnEnd, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, instanceSessionOverrides, isCompilePinCurrent, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, manifestModelForHarness, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveInstanceAgentDir, resolveMixin, resolveSessionId, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
16113
- //# sourceMappingURL=chunk-VJRTDKXS.js.map
16114
- //# sourceMappingURL=chunk-VJRTDKXS.js.map
16163
+ //# sourceMappingURL=chunk-2LAPHLDH.js.map
16164
+ //# sourceMappingURL=chunk-2LAPHLDH.js.map