@skaile/workspaces 6.0.0 → 6.2.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 (431) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/{asset-feeds-PXUWCXVI.js → asset-feeds-KPKCE64E.js} +31 -23
  3. package/dist/asset-feeds-KPKCE64E.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +10 -10
  5. package/dist/asset-manager/fragments.js +1 -1
  6. package/dist/asset-manager/index.js +19 -19
  7. package/dist/asset-manager/installer.js +13 -13
  8. package/dist/asset-manager/renderers.js +11 -11
  9. package/dist/asset-manager/src/index.d.ts +339 -19
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/installer.d.ts +40 -0
  12. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  13. package/dist/asset-manager/src/mcp-config.d.ts +21 -0
  14. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  15. package/dist/asset-manager/src/renderers.d.ts +7 -0
  16. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  17. package/dist/bridge/harnesses/claude-sdk.js +18 -22
  18. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  19. package/dist/bridge/harnesses/codex.js +24 -17
  20. package/dist/bridge/harnesses/codex.js.map +1 -1
  21. package/dist/bridge/harnesses/continue.js +14 -14
  22. package/dist/bridge/harnesses/echo.js +4 -4
  23. package/dist/bridge/harnesses/gemini.js +10 -10
  24. package/dist/bridge/harnesses/goose.js +14 -14
  25. package/dist/bridge/harnesses/omp.js +15 -8
  26. package/dist/bridge/harnesses/omp.js.map +1 -1
  27. package/dist/bridge/harnesses/opencode.js +14 -14
  28. package/dist/bridge/harnesses/qwen.js +10 -10
  29. package/dist/bridge/index.js +19 -19
  30. package/dist/bridge/src/claude-sdk-surface.d.ts +17 -0
  31. package/dist/bridge/src/claude-sdk-surface.d.ts.map +1 -0
  32. package/dist/bridge/src/harness-model-check.d.ts +30 -0
  33. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  34. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
  35. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  36. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
  37. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  38. package/dist/bridge/src/index.d.ts +2 -1
  39. package/dist/bridge/src/index.d.ts.map +1 -1
  40. package/dist/bridge/src/normalizer.d.ts +3 -1
  41. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  42. package/dist/bridge/src/runner-private-env.d.ts +7 -0
  43. package/dist/bridge/src/runner-private-env.d.ts.map +1 -1
  44. package/dist/{chunk-HK7HMEPT.js → chunk-27SXN33H.js} +13 -5
  45. package/dist/chunk-27SXN33H.js.map +1 -0
  46. package/dist/{chunk-TKHJXPSB.js → chunk-2XM3ZH36.js} +183 -33
  47. package/dist/chunk-2XM3ZH36.js.map +1 -0
  48. package/dist/{chunk-E3GPGTW3.js → chunk-3HACK2Z7.js} +142 -28
  49. package/dist/chunk-3HACK2Z7.js.map +1 -0
  50. package/dist/{chunk-T2BDID2J.js → chunk-5JPW27BI.js} +10 -9
  51. package/dist/chunk-5JPW27BI.js.map +1 -0
  52. package/dist/{chunk-2UUKCROR.js → chunk-5LQ62LNT.js} +4 -4
  53. package/dist/{chunk-2UUKCROR.js.map → chunk-5LQ62LNT.js.map} +1 -1
  54. package/dist/{chunk-UL22SDGR.js → chunk-6CYKTHNT.js} +194 -127
  55. package/dist/chunk-6CYKTHNT.js.map +1 -0
  56. package/dist/{chunk-XFIEVEU7.js → chunk-6OHZUUR7.js} +5 -4
  57. package/dist/chunk-6OHZUUR7.js.map +1 -0
  58. package/dist/{chunk-E572OHGY.js → chunk-76FLBODK.js} +4 -3
  59. package/dist/chunk-76FLBODK.js.map +1 -0
  60. package/dist/{chunk-GN4VVSAA.js → chunk-7DRFKAJZ.js} +7 -7
  61. package/dist/{chunk-GN4VVSAA.js.map → chunk-7DRFKAJZ.js.map} +1 -1
  62. package/dist/chunk-7H6XRCPG.js +31 -0
  63. package/dist/chunk-7H6XRCPG.js.map +1 -0
  64. package/dist/{chunk-MCUJTNY5.js → chunk-7Y6S4XLL.js} +3 -3
  65. package/dist/{chunk-MCUJTNY5.js.map → chunk-7Y6S4XLL.js.map} +1 -1
  66. package/dist/{chunk-DHYSUJ3H.js → chunk-BEYNH2LS.js} +4 -4
  67. package/dist/{chunk-DHYSUJ3H.js.map → chunk-BEYNH2LS.js.map} +1 -1
  68. package/dist/{chunk-GEQSUC6U.js → chunk-BOT64P3U.js} +4 -4
  69. package/dist/{chunk-GEQSUC6U.js.map → chunk-BOT64P3U.js.map} +1 -1
  70. package/dist/{chunk-L4YKW5AY.js → chunk-BRK5QZKI.js} +121 -20
  71. package/dist/chunk-BRK5QZKI.js.map +1 -0
  72. package/dist/{chunk-YGRZNFRO.js → chunk-BY5WIRCU.js} +58 -5
  73. package/dist/chunk-BY5WIRCU.js.map +1 -0
  74. package/dist/{chunk-Z7ZEZZB6.js → chunk-C5HFK34M.js} +3 -3
  75. package/dist/chunk-C5HFK34M.js.map +1 -0
  76. package/dist/{chunk-DUMTLYSO.js → chunk-COAFAYBS.js} +31 -7
  77. package/dist/chunk-COAFAYBS.js.map +1 -0
  78. package/dist/{chunk-7XSAW5OC.js → chunk-E5NQRHEB.js} +30 -7
  79. package/dist/chunk-E5NQRHEB.js.map +1 -0
  80. package/dist/{chunk-BFMYYNDT.js → chunk-F3D25RGM.js} +11 -3
  81. package/dist/chunk-F3D25RGM.js.map +1 -0
  82. package/dist/{chunk-VBI7HGHB.js → chunk-GF5JXQIZ.js} +3 -3
  83. package/dist/{chunk-VBI7HGHB.js.map → chunk-GF5JXQIZ.js.map} +1 -1
  84. package/dist/{chunk-ZFUZ5AKM.js → chunk-I7LC5TDY.js} +3 -3
  85. package/dist/{chunk-ZFUZ5AKM.js.map → chunk-I7LC5TDY.js.map} +1 -1
  86. package/dist/{chunk-3IXIEHUB.js → chunk-ICSGNT5P.js} +7 -7
  87. package/dist/{chunk-3IXIEHUB.js.map → chunk-ICSGNT5P.js.map} +1 -1
  88. package/dist/{chunk-WEH33JSG.js → chunk-ITFCWMOY.js} +93 -29
  89. package/dist/chunk-ITFCWMOY.js.map +1 -0
  90. package/dist/{chunk-WDXZA7QW.js → chunk-IZQOO6MN.js} +2 -2
  91. package/dist/{chunk-WDXZA7QW.js.map → chunk-IZQOO6MN.js.map} +1 -1
  92. package/dist/{chunk-WDAIWDLK.js → chunk-JFLQICIU.js} +5 -5
  93. package/dist/{chunk-WDAIWDLK.js.map → chunk-JFLQICIU.js.map} +1 -1
  94. package/dist/{chunk-ARWKK325.js → chunk-JJJ2G4K2.js} +5 -5
  95. package/dist/{chunk-ARWKK325.js.map → chunk-JJJ2G4K2.js.map} +1 -1
  96. package/dist/{chunk-GOCWM7FN.js → chunk-JMIKGAUA.js} +43 -4
  97. package/dist/chunk-JMIKGAUA.js.map +1 -0
  98. package/dist/{chunk-X3RMRJNR.js → chunk-JRN5QF4C.js} +8 -3
  99. package/dist/chunk-JRN5QF4C.js.map +1 -0
  100. package/dist/{chunk-SNEE6UGY.js → chunk-K3R2UKG7.js} +18 -12
  101. package/dist/chunk-K3R2UKG7.js.map +1 -0
  102. package/dist/{chunk-VXEYX73S.js → chunk-KB56WBQ3.js} +4 -4
  103. package/dist/{chunk-VXEYX73S.js.map → chunk-KB56WBQ3.js.map} +1 -1
  104. package/dist/{chunk-OHNKYHRR.js → chunk-KJSC2ZD6.js} +264 -18
  105. package/dist/chunk-KJSC2ZD6.js.map +1 -0
  106. package/dist/{chunk-UQ33Y4DM.js → chunk-KPKGWXUJ.js} +4 -4
  107. package/dist/{chunk-UQ33Y4DM.js.map → chunk-KPKGWXUJ.js.map} +1 -1
  108. package/dist/{chunk-AF432MS3.js → chunk-KXJMQTOU.js} +3 -3
  109. package/dist/{chunk-AF432MS3.js.map → chunk-KXJMQTOU.js.map} +1 -1
  110. package/dist/chunk-LRBP3234.js +302 -0
  111. package/dist/chunk-LRBP3234.js.map +1 -0
  112. package/dist/{chunk-UVVVR4XO.js → chunk-M4OG2YN4.js} +4 -4
  113. package/dist/{chunk-UVVVR4XO.js.map → chunk-M4OG2YN4.js.map} +1 -1
  114. package/dist/{chunk-QOM5Z62G.js → chunk-MAZ3UXJK.js} +17 -24
  115. package/dist/chunk-MAZ3UXJK.js.map +1 -0
  116. package/dist/{chunk-Y2TO2U7W.js → chunk-MM4YO3EL.js} +3 -3
  117. package/dist/{chunk-Y2TO2U7W.js.map → chunk-MM4YO3EL.js.map} +1 -1
  118. package/dist/{chunk-OULSJRXV.js → chunk-OCQNUV4T.js} +7 -7
  119. package/dist/{chunk-OULSJRXV.js.map → chunk-OCQNUV4T.js.map} +1 -1
  120. package/dist/{chunk-SZXGRHQQ.js → chunk-PJJSBZZP.js} +4 -4
  121. package/dist/{chunk-SZXGRHQQ.js.map → chunk-PJJSBZZP.js.map} +1 -1
  122. package/dist/{chunk-OAHVKSQJ.js → chunk-PKBLJI23.js} +1471 -126
  123. package/dist/chunk-PKBLJI23.js.map +1 -0
  124. package/dist/{chunk-NOA6EJXE.js → chunk-PKE3PXOK.js} +3 -3
  125. package/dist/{chunk-NOA6EJXE.js.map → chunk-PKE3PXOK.js.map} +1 -1
  126. package/dist/{chunk-WYHQUCHR.js → chunk-PMWRM4EJ.js} +109 -48
  127. package/dist/chunk-PMWRM4EJ.js.map +1 -0
  128. package/dist/{chunk-H6UVIKQ2.js → chunk-PNUM7GUY.js} +3 -3
  129. package/dist/{chunk-H6UVIKQ2.js.map → chunk-PNUM7GUY.js.map} +1 -1
  130. package/dist/{chunk-SRODW6M2.js → chunk-Q5RN4PWV.js} +3 -3
  131. package/dist/{chunk-SRODW6M2.js.map → chunk-Q5RN4PWV.js.map} +1 -1
  132. package/dist/{chunk-LN6QB7XI.js → chunk-QIHL3YPL.js} +4 -4
  133. package/dist/{chunk-LN6QB7XI.js.map → chunk-QIHL3YPL.js.map} +1 -1
  134. package/dist/{chunk-U56GGCC2.js → chunk-QK7AG5AV.js} +4 -4
  135. package/dist/{chunk-U56GGCC2.js.map → chunk-QK7AG5AV.js.map} +1 -1
  136. package/dist/{chunk-OTIB4D2K.js → chunk-QPWR3YMY.js} +15 -5
  137. package/dist/chunk-QPWR3YMY.js.map +1 -0
  138. package/dist/{chunk-4DWBSTYA.js → chunk-QXKUFROW.js} +22 -5
  139. package/dist/chunk-QXKUFROW.js.map +1 -0
  140. package/dist/{chunk-4XWLB7JB.js → chunk-RQMIZONH.js} +95 -35
  141. package/dist/chunk-RQMIZONH.js.map +1 -0
  142. package/dist/{chunk-LSI2IVFT.js → chunk-RXGPFAMN.js} +4 -3
  143. package/dist/chunk-RXGPFAMN.js.map +1 -0
  144. package/dist/{chunk-3JKGY2YC.js → chunk-S2H3RBK7.js} +182 -33
  145. package/dist/chunk-S2H3RBK7.js.map +1 -0
  146. package/dist/{chunk-VJRTDKXS.js → chunk-SJNZ4WPA.js} +165 -106
  147. package/dist/chunk-SJNZ4WPA.js.map +1 -0
  148. package/dist/{chunk-KX2PT5Q4.js → chunk-T2VBPVWZ.js} +77 -18
  149. package/dist/chunk-T2VBPVWZ.js.map +1 -0
  150. package/dist/{chunk-6Z5KTFJT.js → chunk-TSTRH4SM.js} +3 -3
  151. package/dist/{chunk-6Z5KTFJT.js.map → chunk-TSTRH4SM.js.map} +1 -1
  152. package/dist/{chunk-7CV3HFWJ.js → chunk-TZERN27L.js} +5 -5
  153. package/dist/{chunk-7CV3HFWJ.js.map → chunk-TZERN27L.js.map} +1 -1
  154. package/dist/{chunk-JDR6ILCW.js → chunk-U673DB5U.js} +4 -4
  155. package/dist/{chunk-JDR6ILCW.js.map → chunk-U673DB5U.js.map} +1 -1
  156. package/dist/{chunk-FKU57Q5Q.js → chunk-URCJIV7T.js} +3 -3
  157. package/dist/{chunk-FKU57Q5Q.js.map → chunk-URCJIV7T.js.map} +1 -1
  158. package/dist/{chunk-ADPM6AYF.js → chunk-VSX2G7LA.js} +3 -3
  159. package/dist/{chunk-ADPM6AYF.js.map → chunk-VSX2G7LA.js.map} +1 -1
  160. package/dist/{chunk-F2GOZMRA.js → chunk-X37JUNEW.js} +49 -49
  161. package/dist/chunk-X37JUNEW.js.map +1 -0
  162. package/dist/{chunk-NMI2TWMH.js → chunk-Z3IRZBXB.js} +158 -344
  163. package/dist/chunk-Z3IRZBXB.js.map +1 -0
  164. package/dist/{chunk-7TPYPVAH.js → chunk-ZWJCRHP3.js} +3 -3
  165. package/dist/{chunk-7TPYPVAH.js.map → chunk-ZWJCRHP3.js.map} +1 -1
  166. package/dist/{claude-code-VJGYBXQR.js → claude-code-BBMNVH2J.js} +5 -5
  167. package/dist/{claude-code-VJGYBXQR.js.map → claude-code-BBMNVH2J.js.map} +1 -1
  168. package/dist/cli/index.js +964 -501
  169. package/dist/cli/index.js.map +1 -1
  170. package/dist/cli/src/agent-pins.d.ts +11 -0
  171. package/dist/cli/src/agent-pins.d.ts.map +1 -1
  172. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  173. package/dist/cli/src/commands/catalog.d.ts +1 -1
  174. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  175. package/dist/cli/src/commands/config.d.ts.map +1 -1
  176. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  177. package/dist/cli/src/commands/harness.d.ts +24 -0
  178. package/dist/cli/src/commands/harness.d.ts.map +1 -0
  179. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  180. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  181. package/dist/cli/src/commands/library-index.d.ts +28 -3
  182. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  183. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  184. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  185. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  186. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  187. package/dist/cli/src/commands/project.d.ts +19 -1
  188. package/dist/cli/src/commands/project.d.ts.map +1 -1
  189. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  190. package/dist/cli/src/commands/run.d.ts.map +1 -1
  191. package/dist/cli/src/commands/serve-preflight.d.ts +31 -1
  192. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  193. package/dist/cli/src/commands/serve.d.ts +10 -0
  194. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  195. package/dist/cli/src/commands/session-logs/local-query.d.ts +2 -0
  196. package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
  197. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  198. package/dist/cli/src/commands/source-manifest.d.ts +19 -7
  199. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  200. package/dist/cli/src/commands/source.d.ts +9 -2
  201. package/dist/cli/src/commands/source.d.ts.map +1 -1
  202. package/dist/cli/src/commands/store.d.ts.map +1 -1
  203. package/dist/cli/src/commands/update.d.ts.map +1 -1
  204. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
  205. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  206. package/dist/cli/src/commands/why.d.ts.map +1 -1
  207. package/dist/cli/src/config-checks.d.ts +55 -0
  208. package/dist/cli/src/config-checks.d.ts.map +1 -0
  209. package/dist/cli/src/harness-error.d.ts +12 -1
  210. package/dist/cli/src/harness-error.d.ts.map +1 -1
  211. package/dist/cli/src/helpers.d.ts +18 -8
  212. package/dist/cli/src/helpers.d.ts.map +1 -1
  213. package/dist/cli/src/plugin-store/index.d.ts +10 -1
  214. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  215. package/dist/cli/src/plugin-store/spec.d.ts +8 -0
  216. package/dist/cli/src/plugin-store/spec.d.ts.map +1 -1
  217. package/dist/cli/src/skill-checks.d.ts +27 -0
  218. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  219. package/dist/cli/src/store-addable.d.ts +11 -0
  220. package/dist/cli/src/store-addable.d.ts.map +1 -1
  221. package/dist/connectors/config.js +5 -5
  222. package/dist/connectors/index.js +23 -23
  223. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  224. package/dist/connectors-47EM6C2P.js +48 -0
  225. package/dist/{connectors-CXZLXAFZ.js.map → connectors-47EM6C2P.js.map} +1 -1
  226. package/dist/core/framework.js +1 -1
  227. package/dist/core/index.js +9 -9
  228. package/dist/core/manifest.js +2 -2
  229. package/dist/core/models.js +1 -1
  230. package/dist/core/provider-registry-credentials.js +2 -2
  231. package/dist/core/provider-registry.js +1 -1
  232. package/dist/core/publish-manifest.js +3 -3
  233. package/dist/core/ref.js +1 -1
  234. package/dist/core/runtime-assets.js +5 -5
  235. package/dist/core/src/agent-instances.d.ts.map +1 -1
  236. package/dist/core/src/config-key-diagnostics.d.ts +9 -0
  237. package/dist/core/src/config-key-diagnostics.d.ts.map +1 -0
  238. package/dist/core/src/framework.d.ts +5 -3
  239. package/dist/core/src/framework.d.ts.map +1 -1
  240. package/dist/core/src/index.d.ts +3 -2
  241. package/dist/core/src/index.d.ts.map +1 -1
  242. package/dist/core/src/lock.d.ts +12 -0
  243. package/dist/core/src/lock.d.ts.map +1 -1
  244. package/dist/core/src/manifest.d.ts +25 -0
  245. package/dist/core/src/manifest.d.ts.map +1 -1
  246. package/dist/core/src/models.d.ts +15 -0
  247. package/dist/core/src/models.d.ts.map +1 -1
  248. package/dist/core/src/provider-registry.d.ts +6 -0
  249. package/dist/core/src/provider-registry.d.ts.map +1 -1
  250. package/dist/core/src/workspace-config.d.ts +18 -1
  251. package/dist/core/src/workspace-config.d.ts.map +1 -1
  252. package/dist/core/src/workspace-yaml-editor.d.ts +9 -2
  253. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  254. package/dist/core/workspace-config.js +4 -4
  255. package/dist/deploy/index.js +9 -9
  256. package/dist/discovery/index.js +5 -5
  257. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  258. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  259. package/dist/{ensure-sources-UPTHZKGF.js → ensure-sources-K5EFNC3L.js} +36 -22
  260. package/dist/ensure-sources-K5EFNC3L.js.map +1 -0
  261. package/dist/factory-assets/connectors/box.js +23 -23
  262. package/dist/factory-assets/connectors/deploy.js +23 -23
  263. package/dist/factory-assets/connectors/devserver.js +23 -23
  264. package/dist/factory-assets/connectors/flow/adapter.js +23 -23
  265. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  266. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  267. package/dist/factory-assets/connectors/flow/engine.js +11 -11
  268. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  269. package/dist/factory-assets/connectors/flow/run-flow.js +25 -25
  270. package/dist/factory-assets/connectors/flow.js +23 -23
  271. package/dist/factory-assets/connectors/git.js +23 -23
  272. package/dist/factory-assets/connectors/gmail.js +23 -23
  273. package/dist/factory-assets/connectors/googledrive.js +23 -23
  274. package/dist/factory-assets/connectors/local.js +23 -23
  275. package/dist/factory-assets/connectors/mattermost.js +23 -23
  276. package/dist/factory-assets/connectors/memory.js +23 -23
  277. package/dist/factory-assets/connectors/minio.js +23 -23
  278. package/dist/factory-assets/connectors/postgres.js +23 -23
  279. package/dist/factory-assets/connectors/s3.js +23 -23
  280. package/dist/factory-assets/connectors/sharepoint.js +23 -23
  281. package/dist/factory-assets/connectors/sqlite.js +23 -23
  282. package/dist/factory-assets/connectors/static-server.js +23 -23
  283. package/dist/factory-assets/connectors/tunnel.js +23 -23
  284. package/dist/factory-assets/connectors/webdav.js +23 -23
  285. package/dist/factory-assets/connectors/xstate-store.js +23 -23
  286. package/dist/factory-assets/connectors/xstate.js +23 -23
  287. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +1 -1
  288. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +2 -2
  289. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +3 -3
  290. package/dist/flows-KLBNSKLO.js +26 -0
  291. package/dist/{flows-TJQIMGUX.js.map → flows-KLBNSKLO.js.map} +1 -1
  292. package/dist/helpers-LUSV2ICC.js +52 -0
  293. package/dist/{helpers-DE53KG3E.js.map → helpers-LUSV2ICC.js.map} +1 -1
  294. package/dist/library/index.js +14 -14
  295. package/dist/library/install.js +5 -5
  296. package/dist/library/src/index.d.ts +2 -2
  297. package/dist/library/src/index.d.ts.map +1 -1
  298. package/dist/library/src/install/index.d.ts +1 -1
  299. package/dist/library/src/install/index.d.ts.map +1 -1
  300. package/dist/library/src/install/install-from-manifest.d.ts +13 -0
  301. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  302. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  303. package/dist/library/src/local/library-dir.d.ts +22 -5
  304. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  305. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  306. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  307. package/dist/library/src/remote/remote-catalog-source.d.ts +8 -0
  308. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  309. package/dist/library/src/remote/rest-catalog-source.d.ts +3 -2
  310. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  311. package/dist/{library-publish-KKQ2ULLX.js → library-publish-XMRCKRNR.js} +59 -58
  312. package/dist/library-publish-XMRCKRNR.js.map +1 -0
  313. package/dist/model-endpoint/index.js +12 -12
  314. package/dist/model-endpoint/src/openai-chat.d.ts +7 -2
  315. package/dist/model-endpoint/src/openai-chat.d.ts.map +1 -1
  316. package/dist/model-endpoint/src/openai-shared.d.ts +8 -0
  317. package/dist/model-endpoint/src/openai-shared.d.ts.map +1 -1
  318. package/dist/model-endpoint/src/server.d.ts.map +1 -1
  319. package/dist/model-endpoint/src/types.d.ts +1 -1
  320. package/dist/model-endpoint/src/types.d.ts.map +1 -1
  321. package/dist/model-endpoint/src/usage-cost.d.ts +23 -0
  322. package/dist/model-endpoint/src/usage-cost.d.ts.map +1 -0
  323. package/dist/open-library-XBR46DJL.js +56 -0
  324. package/dist/{open-library-RJGJIW5H.js.map → open-library-XBR46DJL.js.map} +1 -1
  325. package/dist/open-registry-W562DCDL.js +32 -0
  326. package/dist/{open-registry-3QS3J7KO.js.map → open-registry-W562DCDL.js.map} +1 -1
  327. package/dist/paths-2AZXB3QL.js +22 -0
  328. package/dist/{paths-QAV4C3KX.js.map → paths-2AZXB3QL.js.map} +1 -1
  329. package/dist/plugin-store-36SIL4TV.js +23 -0
  330. package/dist/{plugin-store-MSH6GK6T.js.map → plugin-store-36SIL4TV.js.map} +1 -1
  331. package/dist/project-D7GN7WLS.js +86 -0
  332. package/dist/{project-HZW2MZPA.js.map → project-D7GN7WLS.js.map} +1 -1
  333. package/dist/resolver/index.js +10 -10
  334. package/dist/runner/index.js +40 -40
  335. package/dist/runner/src/capability-roundtrip.d.ts +7 -6
  336. package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
  337. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  338. package/dist/runner/src/composition/errors.d.ts +16 -1
  339. package/dist/runner/src/composition/errors.d.ts.map +1 -1
  340. package/dist/runner/src/credential-notice.d.ts +3 -3
  341. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  342. package/dist/runner/src/serve.d.ts +20 -7
  343. package/dist/runner/src/serve.d.ts.map +1 -1
  344. package/dist/sdk/asset-manager.js +19 -19
  345. package/dist/sdk/bridge.js +19 -19
  346. package/dist/sdk/core.js +9 -9
  347. package/dist/sdk/flow.js +11 -11
  348. package/dist/sdk/index.js +40 -40
  349. package/dist/sdk/resolver.js +10 -10
  350. package/dist/sdk/runner.js +40 -40
  351. package/dist/sdk/transport/ws/server.js +10 -10
  352. package/dist/sdk/transport/ws.js +10 -10
  353. package/dist/sdk/transport.js +10 -10
  354. package/dist/serve-preflight-CGA5G3AE.js +135 -0
  355. package/dist/serve-preflight-CGA5G3AE.js.map +1 -0
  356. package/dist/{setup-AGYB4PKR.js → setup-IBDNJAOU.js} +32 -32
  357. package/dist/{setup-AGYB4PKR.js.map → setup-IBDNJAOU.js.map} +1 -1
  358. package/dist/skills-CTTO7SZK.js +26 -0
  359. package/dist/{skills-2LMQ2IAD.js.map → skills-CTTO7SZK.js.map} +1 -1
  360. package/dist/source-2DJ5KNOI.js +85 -0
  361. package/dist/{source-GBMYD3RO.js.map → source-2DJ5KNOI.js.map} +1 -1
  362. package/dist/source-fetch-github-RWHV4I5Z.js +4 -0
  363. package/dist/{source-fetch-github-ST4MFL3D.js.map → source-fetch-github-RWHV4I5Z.js.map} +1 -1
  364. package/dist/{source-manifest-publish-FK22TVQT.js → source-manifest-publish-IYWUMUCY.js} +55 -57
  365. package/dist/source-manifest-publish-IYWUMUCY.js.map +1 -0
  366. package/dist/transport/index.js +10 -10
  367. package/dist/transport/ws/server.js +10 -10
  368. package/dist/transport/ws.js +10 -10
  369. package/dist/tui/index.js +48 -41
  370. package/dist/tui/index.js.map +1 -1
  371. package/dist/tui/src/repl.d.ts.map +1 -1
  372. package/dist/types/manifests.js +1 -1
  373. package/dist/types/src/install-manifest.d.ts +1 -1
  374. package/dist/types/src/install-manifest.d.ts.map +1 -1
  375. package/dist/types/src/manifests/index.d.ts +1 -1
  376. package/dist/types/src/manifests/index.d.ts.map +1 -1
  377. package/dist/types/src/manifests/scaffold-body.d.ts +2 -0
  378. package/dist/types/src/manifests/scaffold-body.d.ts.map +1 -1
  379. package/dist/workspace-plugin/adapters/mcp.js +30 -30
  380. package/dist/workspace-plugin/adapters/omp.js +15 -15
  381. package/dist/workspace-plugin/index.js +2 -2
  382. package/package.json +1 -1
  383. package/dist/asset-feeds-PXUWCXVI.js.map +0 -1
  384. package/dist/chunk-3JKGY2YC.js.map +0 -1
  385. package/dist/chunk-4DWBSTYA.js.map +0 -1
  386. package/dist/chunk-4XWLB7JB.js.map +0 -1
  387. package/dist/chunk-7XSAW5OC.js.map +0 -1
  388. package/dist/chunk-BFMYYNDT.js.map +0 -1
  389. package/dist/chunk-DUMTLYSO.js.map +0 -1
  390. package/dist/chunk-E3GPGTW3.js.map +0 -1
  391. package/dist/chunk-E572OHGY.js.map +0 -1
  392. package/dist/chunk-F2GOZMRA.js.map +0 -1
  393. package/dist/chunk-GOCWM7FN.js.map +0 -1
  394. package/dist/chunk-HK7HMEPT.js.map +0 -1
  395. package/dist/chunk-KX2PT5Q4.js.map +0 -1
  396. package/dist/chunk-L4YKW5AY.js.map +0 -1
  397. package/dist/chunk-LSI2IVFT.js.map +0 -1
  398. package/dist/chunk-NMI2TWMH.js.map +0 -1
  399. package/dist/chunk-OAHVKSQJ.js.map +0 -1
  400. package/dist/chunk-OHNKYHRR.js.map +0 -1
  401. package/dist/chunk-OTIB4D2K.js.map +0 -1
  402. package/dist/chunk-PUK7TQT4.js +0 -13
  403. package/dist/chunk-PUK7TQT4.js.map +0 -1
  404. package/dist/chunk-QOM5Z62G.js.map +0 -1
  405. package/dist/chunk-SNEE6UGY.js.map +0 -1
  406. package/dist/chunk-T2BDID2J.js.map +0 -1
  407. package/dist/chunk-TKHJXPSB.js.map +0 -1
  408. package/dist/chunk-UL22SDGR.js.map +0 -1
  409. package/dist/chunk-VJRTDKXS.js.map +0 -1
  410. package/dist/chunk-WEH33JSG.js.map +0 -1
  411. package/dist/chunk-WYHQUCHR.js.map +0 -1
  412. package/dist/chunk-X3RMRJNR.js.map +0 -1
  413. package/dist/chunk-XFIEVEU7.js.map +0 -1
  414. package/dist/chunk-YGRZNFRO.js.map +0 -1
  415. package/dist/chunk-Z7ZEZZB6.js.map +0 -1
  416. package/dist/connectors-CXZLXAFZ.js +0 -48
  417. package/dist/ensure-sources-UPTHZKGF.js.map +0 -1
  418. package/dist/flows-TJQIMGUX.js +0 -26
  419. package/dist/helpers-DE53KG3E.js +0 -38
  420. package/dist/library-publish-KKQ2ULLX.js.map +0 -1
  421. package/dist/open-library-RJGJIW5H.js +0 -42
  422. package/dist/open-registry-3QS3J7KO.js +0 -32
  423. package/dist/paths-QAV4C3KX.js +0 -22
  424. package/dist/plugin-store-MSH6GK6T.js +0 -23
  425. package/dist/project-HZW2MZPA.js +0 -84
  426. package/dist/serve-preflight-L4POEHNQ.js +0 -108
  427. package/dist/serve-preflight-L4POEHNQ.js.map +0 -1
  428. package/dist/skills-2LMQ2IAD.js +0 -26
  429. package/dist/source-GBMYD3RO.js +0 -85
  430. package/dist/source-fetch-github-ST4MFL3D.js +0 -4
  431. package/dist/source-manifest-publish-FK22TVQT.js.map +0 -1
@@ -1,39 +1,39 @@
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-GF5JXQIZ.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-OCQNUV4T.js';
3
+ import { findAiAssetsRoot } from './chunk-TSTRH4SM.js';
4
+ import { startModelEndpoint } from './chunk-3HACK2Z7.js';
5
+ import { WebSocketServerTransport } from './chunk-KXJMQTOU.js';
6
6
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
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';
7
+ import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-I7LC5TDY.js';
8
+ import { resolveFlowPath } from './chunk-5JPW27BI.js';
9
+ import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-PNUM7GUY.js';
10
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-K3R2UKG7.js';
11
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-QIHL3YPL.js';
12
+ import { EventNormalizer } from './chunk-RQMIZONH.js';
13
+ import { sessionSurfaceNotice, approvalCardOf, APPROVE_ONCE, DENY, probeResumeTranscript, transcriptStoreForRuntime } from './chunk-QXKUFROW.js';
14
14
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
15
15
  import { dispatchCapability } from './chunk-BIRW3HOG.js';
16
- import { classifyClaudeSdkError } from './chunk-XFIEVEU7.js';
16
+ import { classifyClaudeSdkError } from './chunk-6OHZUUR7.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-M4OG2YN4.js';
19
+ import { unresolvedProviderCredentials, harnessCapabilities, createHarness, catalogLayer, providerCredentialEnvName, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-X37JUNEW.js';
20
+ import { loadFlow } from './chunk-PJJSBZZP.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';
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';
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';
23
+ import { knowledgeKindProvider, scanLibraryRoot, LocalIndex } from './chunk-6CYKTHNT.js';
24
+ import { createDefaultKindRegistry } from './chunk-MAZ3UXJK.js';
25
+ import { parseFlowDefinition } from './chunk-JRN5QF4C.js';
26
+ import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema, ANTHROPIC_MODEL_ALIASES } from './chunk-76FLBODK.js';
27
+ import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-BRK5QZKI.js';
28
+ import { resolveRuntimeAssets } from './chunk-QPWR3YMY.js';
29
+ import { DEFAULT_HARNESS_ID, resolveHarnessPaths } from './chunk-C5HFK34M.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-KJSC2ZD6.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-JMIKGAUA.js';
34
+ import { parseAssetRef } from './chunk-IZQOO6MN.js';
35
35
  import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-DKXNKFKP.js';
36
- import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-LSI2IVFT.js';
36
+ import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-RXGPFAMN.js';
37
37
  import { getLogStore, registerLogStore, createLogger, resetLogStore, isUnwritableStreamError, markStreamBroken, isBrokenPipeError, redactCredentials } from './chunk-BOFL7GIF.js';
38
38
  import { __require } from './chunk-NSBPE2FW.js';
39
39
  import { createInterface } from 'readline';
@@ -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,
@@ -6933,19 +6955,28 @@ async function dispatchRunnerCapabilityInvocation(cmd, deps) {
6933
6955
  deps.emit({
6934
6956
  type: "capability_result",
6935
6957
  callId: cmd.callId,
6936
- result: { error: capabilityErrorText(cmd.name, err) }
6958
+ result: capabilityFailure(cmd.name, err)
6937
6959
  });
6938
6960
  }
6939
6961
  }
6940
- function capabilityErrorText(name, err) {
6962
+ function capabilityFailure(name, err) {
6941
6963
  if (err instanceof Error && err.name === "ZodError" && "issues" in err) {
6942
6964
  const issues = err.issues;
6943
6965
  const parts = issues.map(
6944
6966
  (i) => `${i.path.length > 0 ? `${i.path.map(String).join(".")}: ` : ""}${i.message}`
6945
6967
  );
6946
- return `invalid input for ${name}: ${parts.join("; ")}`;
6968
+ return {
6969
+ ok: false,
6970
+ code: "invalid_input",
6971
+ message: `invalid input for ${name}: ${parts.join("; ")}`
6972
+ };
6947
6973
  }
6948
- return err instanceof Error ? err.message : String(err);
6974
+ const message = err instanceof Error ? err.message : String(err);
6975
+ return {
6976
+ ok: false,
6977
+ code: message.startsWith("Unknown capability:") ? "unknown_capability" : "capability_failed",
6978
+ message
6979
+ };
6949
6980
  }
6950
6981
  function resolveCapabilityResult(pending, cmd) {
6951
6982
  const entry = pending.get(cmd.callId);
@@ -8419,12 +8450,12 @@ function createInitBuildHold(now = Date.now) {
8419
8450
  }
8420
8451
  return {
8421
8452
  beginBuild() {
8422
- let resolve4;
8453
+ let resolve5;
8423
8454
  const build = {
8424
8455
  done: false,
8425
8456
  error: null,
8426
8457
  settled: new Promise((r) => {
8427
- resolve4 = r;
8458
+ resolve5 = r;
8428
8459
  })
8429
8460
  };
8430
8461
  current = build;
@@ -8432,7 +8463,7 @@ function createInitBuildHold(now = Date.now) {
8432
8463
  if (build.done) return;
8433
8464
  build.done = true;
8434
8465
  build.error = error;
8435
- resolve4();
8466
+ resolve5();
8436
8467
  };
8437
8468
  return { succeed: () => settle(null), fail: (error) => settle(error) };
8438
8469
  },
@@ -8446,13 +8477,13 @@ function createInitBuildHold(now = Date.now) {
8446
8477
  const previous = tail;
8447
8478
  const turn = previous.then(awaitNewestBuild);
8448
8479
  let timer;
8449
- const deadline = deadlineMs === void 0 ? null : new Promise((resolve4) => {
8450
- timer = setTimeout(() => resolve4("timeout"), deadlineMs);
8480
+ const deadline = deadlineMs === void 0 ? null : new Promise((resolve5) => {
8481
+ timer = setTimeout(() => resolve5("timeout"), deadlineMs);
8451
8482
  timer.unref?.();
8452
8483
  });
8453
8484
  let markStarted;
8454
- const started = new Promise((resolve4) => {
8455
- markStarted = resolve4;
8485
+ const started = new Promise((resolve5) => {
8486
+ markStarted = resolve5;
8456
8487
  });
8457
8488
  const result = (async () => {
8458
8489
  const first = deadline ? await Promise.race([turn, deadline]) : await turn;
@@ -8505,7 +8536,7 @@ function createCoalescedRestartScheduler(deps) {
8505
8536
  const quietMs = deps.quietMs ?? 250;
8506
8537
  const maxWaitMs = deps.maxWaitMs ?? 2e3;
8507
8538
  const now = deps.now ?? Date.now;
8508
- const sleep = deps.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
8539
+ const sleep = deps.sleep ?? ((ms) => new Promise((resolve5) => setTimeout(resolve5, ms)));
8509
8540
  let open4 = null;
8510
8541
  return (reason) => {
8511
8542
  if (open4) {
@@ -8844,8 +8875,8 @@ var CompactionGate = class {
8844
8875
  begin() {
8845
8876
  const hold = /* @__PURE__ */ Symbol("compaction");
8846
8877
  if (this.held.size === 0) {
8847
- this.opened = new Promise((resolve4) => {
8848
- this.release = resolve4;
8878
+ this.opened = new Promise((resolve5) => {
8879
+ this.release = resolve5;
8849
8880
  });
8850
8881
  }
8851
8882
  this.held.add(hold);
@@ -8902,8 +8933,8 @@ var CompactionGate = class {
8902
8933
  };
8903
8934
  async function raceDeadline(opened, ms) {
8904
8935
  let timer;
8905
- const expired = new Promise((resolve4) => {
8906
- timer = setTimeout(() => resolve4("timeout"), ms);
8936
+ const expired = new Promise((resolve5) => {
8937
+ timer = setTimeout(() => resolve5("timeout"), ms);
8907
8938
  timer.unref?.();
8908
8939
  });
8909
8940
  try {
@@ -8990,8 +9021,8 @@ var HarnessSwapGate = class {
8990
9021
  */
8991
9022
  beginTurn() {
8992
9023
  let resolveTurn;
8993
- const turn = new Promise((resolve4) => {
8994
- resolveTurn = resolve4;
9024
+ const turn = new Promise((resolve5) => {
9025
+ resolveTurn = resolve5;
8995
9026
  });
8996
9027
  this.turnTail = this.turnTail.then(() => turn);
8997
9028
  let ended = false;
@@ -9154,8 +9185,8 @@ var PromptTurnQueue = class {
9154
9185
  join(owner = {}) {
9155
9186
  const queued = this.entries.length > 0;
9156
9187
  let release2;
9157
- const ready = new Promise((resolve4) => {
9158
- release2 = resolve4;
9188
+ const ready = new Promise((resolve5) => {
9189
+ release2 = resolve5;
9159
9190
  });
9160
9191
  const entry = { owner, active: false, dropped: false, release: release2 };
9161
9192
  this.entries.push(entry);
@@ -9516,7 +9547,7 @@ function freshTurnReplyPrompt(answer, question) {
9516
9547
  (The answer above is to your question "${asked}")`;
9517
9548
  }
9518
9549
  function awaitAgentEnd(harness, prompt, timeoutMs) {
9519
- return new Promise((resolve4, reject) => {
9550
+ return new Promise((resolve5, reject) => {
9520
9551
  let settled = false;
9521
9552
  const onEvent = (raw) => {
9522
9553
  const event = raw;
@@ -9531,7 +9562,7 @@ function awaitAgentEnd(harness, prompt, timeoutMs) {
9531
9562
  if (harness.off) harness.off("agent-event", onEvent);
9532
9563
  else harness.removeListener("agent-event", onEvent);
9533
9564
  if (err) reject(err);
9534
- else resolve4();
9565
+ else resolve5();
9535
9566
  };
9536
9567
  const timer = setTimeout(
9537
9568
  () => done(new Error(`Flow turn timed out after ${timeoutMs / 1e3}s`)),
@@ -10192,13 +10223,13 @@ var CompactionOrchestrator = class {
10192
10223
  const timeoutMs = compactionTimeoutMs();
10193
10224
  const inactivityMs = compactionInactivityMs();
10194
10225
  try {
10195
- const expiry = new Promise((resolve4) => {
10196
- timer = setTimeout(() => resolve4("expired"), timeoutMs);
10226
+ const expiry = new Promise((resolve5) => {
10227
+ timer = setTimeout(() => resolve5("expired"), timeoutMs);
10197
10228
  let lastEventAt = Date.now();
10198
10229
  const check = () => {
10199
10230
  const lastSeen = Math.max(lastEventAt, this.harness.lastActivityAt?.() ?? 0);
10200
10231
  const idleMs = Date.now() - lastSeen;
10201
- if (idleMs >= inactivityMs) resolve4("stalled");
10232
+ if (idleMs >= inactivityMs) resolve5("stalled");
10202
10233
  else idleTimer = setTimeout(check, inactivityMs - idleMs);
10203
10234
  };
10204
10235
  rearmInactivity = () => {
@@ -10222,8 +10253,8 @@ var CompactionOrchestrator = class {
10222
10253
  this.opts.onLog?.(`[compaction] abort after timeout failed: ${String(abortErr)}`);
10223
10254
  });
10224
10255
  let settleTimer;
10225
- const graceExpired = new Promise((resolve4) => {
10226
- settleTimer = setTimeout(resolve4, ABORT_SETTLE_GRACE_MS);
10256
+ const graceExpired = new Promise((resolve5) => {
10257
+ settleTimer = setTimeout(resolve5, ABORT_SETTLE_GRACE_MS);
10227
10258
  settleTimer.unref?.();
10228
10259
  });
10229
10260
  await Promise.race([Promise.all([aborted, settled]), graceExpired]);
@@ -12023,9 +12054,9 @@ function createSessionStimulusBus(opts) {
12023
12054
  connectorId,
12024
12055
  fragmentLength: sig.promptFragment.length
12025
12056
  });
12026
- return new Promise((resolve4, reject) => {
12057
+ return new Promise((resolve5, reject) => {
12027
12058
  const q = getQueue(connectorId);
12028
- q.pending.push({ signal: sig, resolve: resolve4, reject });
12059
+ q.pending.push({ signal: sig, resolve: resolve5, reject });
12029
12060
  startTimerIfNeeded(connectorId, q, coalesceMs);
12030
12061
  });
12031
12062
  }
@@ -12512,13 +12543,18 @@ async function guardClaudeAiConnectors(home, serverLog) {
12512
12543
  );
12513
12544
  }
12514
12545
  }
12515
- function ensureGitConfigInclude(managedGitconfigPath) {
12546
+ function ensureGitConfigInclude(managedGitconfigPath, alsoMatching = []) {
12516
12547
  const home = process.env.HOME ?? homedir();
12517
12548
  if (!home) return;
12518
12549
  const gitconfigPath = join(home, ".gitconfig");
12550
+ let target = gitconfigPath;
12551
+ try {
12552
+ target = realpathSync(gitconfigPath);
12553
+ } catch {
12554
+ }
12519
12555
  let existing = "";
12520
12556
  try {
12521
- existing = readFileSync(gitconfigPath, "utf-8");
12557
+ existing = readFileSync(target, "utf-8");
12522
12558
  } catch {
12523
12559
  }
12524
12560
  const sectionRe = /^\s*\[([^\]\s]+)(?:\s+"[^"]*")?\]\s*$/;
@@ -12532,23 +12568,42 @@ function ensureGitConfigInclude(managedGitconfigPath) {
12532
12568
  }
12533
12569
  if (currentSection !== "include" && currentSection !== "includeif") continue;
12534
12570
  const pathMatch = line.match(pathKeyRe);
12535
- if (pathMatch?.[1] === managedGitconfigPath) return;
12571
+ const found = pathMatch?.[1];
12572
+ if (found === managedGitconfigPath || found !== void 0 && alsoMatching.includes(found))
12573
+ return;
12536
12574
  }
12537
- if (!existsSync(dirname(gitconfigPath))) {
12538
- mkdirSync(dirname(gitconfigPath), { recursive: true });
12575
+ if (!existsSync(dirname(target))) {
12576
+ mkdirSync(dirname(target), { recursive: true });
12539
12577
  }
12540
- const block = `${existing.trimEnd()}
12541
- # skaile-runner: managed-gitconfig include
12578
+ let mode = 420;
12579
+ try {
12580
+ mode = statSync(target).mode & 511;
12581
+ } catch {
12582
+ }
12583
+ const block = `${existing.trimEnd()}${existing.trim() === "" ? "" : "\n"}# skaile-runner: managed-gitconfig include
12542
12584
  [include]
12543
12585
  path = ${managedGitconfigPath}
12544
12586
  `;
12545
- writeFileSync(gitconfigPath, block, { mode: 420 });
12587
+ const tmp = `${target}.skaile-${process.pid}-${Date.now().toString(36)}.tmp`;
12588
+ try {
12589
+ writeFileSync(tmp, block, { mode });
12590
+ renameSync(tmp, target);
12591
+ } catch (err) {
12592
+ rmSync(tmp, { force: true });
12593
+ throw err;
12594
+ }
12546
12595
  }
12547
- function setupManagedGitconfig(projectDir, serverLog) {
12548
- const managedGitconfigPath = join(projectDir, ".skaile", "managed-gitconfig");
12596
+ function setupManagedGitconfig(projectDir, serverLog, includeInHome) {
12597
+ const managedGitconfigPath = join(resolve(projectDir), ".skaile", "managed-gitconfig");
12549
12598
  process.env.GIT_CONFIG_GLOBAL = managedGitconfigPath;
12599
+ if (!includeInHome) return;
12550
12600
  try {
12551
- ensureGitConfigInclude(managedGitconfigPath);
12601
+ let includePath = managedGitconfigPath;
12602
+ try {
12603
+ includePath = join(realpathSync(resolve(projectDir)), ".skaile", "managed-gitconfig");
12604
+ } catch {
12605
+ }
12606
+ ensureGitConfigInclude(includePath, [managedGitconfigPath]);
12552
12607
  } catch (err) {
12553
12608
  serverLog.warn("failed to write ~/.gitconfig include \u2014 relying on env only", {
12554
12609
  error: err instanceof Error ? err.message : String(err)
@@ -12688,19 +12743,19 @@ function createFlowConnectorReadiness(isReady) {
12688
12743
  wait(timeoutMs, isSatisfied) {
12689
12744
  const satisfied = isSatisfied ?? isReady;
12690
12745
  if (satisfied()) return Promise.resolve(true);
12691
- return new Promise((resolve4) => {
12746
+ return new Promise((resolve5) => {
12692
12747
  let timer;
12693
12748
  const waiter = {
12694
12749
  satisfied,
12695
12750
  release: () => {
12696
12751
  clearTimeout(timer);
12697
- resolve4(true);
12752
+ resolve5(true);
12698
12753
  }
12699
12754
  };
12700
12755
  timer = setTimeout(() => {
12701
12756
  const idx = waiters.indexOf(waiter);
12702
12757
  if (idx >= 0) waiters.splice(idx, 1);
12703
- resolve4(false);
12758
+ resolve5(false);
12704
12759
  }, timeoutMs);
12705
12760
  timer.unref?.();
12706
12761
  waiters.push(waiter);
@@ -13182,7 +13237,11 @@ async function startAgentServer(opts) {
13182
13237
  let teardownProcessHandlers = stopOutputWatch;
13183
13238
  const profile = wsConfig.agent_config?.default;
13184
13239
  const maxTurns = wsConfig.agent?.permissions?.max_turns ?? profile?.max_turns;
13185
- setupManagedGitconfig(opts.projectDir, serverLog);
13240
+ setupManagedGitconfig(
13241
+ opts.projectDir,
13242
+ serverLog,
13243
+ opts.gitConfigInclude ?? process.env.SKAILE_GIT_CONFIG_INCLUDE === "1"
13244
+ );
13186
13245
  const agentDir = opts.agentDir ?? resolveAgentDir(opts.projectDir);
13187
13246
  if (agentDir) {
13188
13247
  serverLog.info("agent dir resolved", { agentDir });
@@ -13258,7 +13317,7 @@ async function startAgentServer(opts) {
13258
13317
  transport.onConnect(() => rejectCallsSentToPreviousPeer("replaced connection"));
13259
13318
  const remoteCapabilityInvoker = (name, input, timeoutMs, signal) => {
13260
13319
  const callId = typeof crypto?.randomUUID === "function" ? crypto.randomUUID() : `rcap-${Date.now()}-${Math.floor(Math.random() * 1e9)}`;
13261
- return new Promise((resolve4, reject) => {
13320
+ return new Promise((resolve5, reject) => {
13262
13321
  if (!transport.connected) {
13263
13322
  reject(new Error(`Transport disconnected; cannot invoke remote capability ${name}`));
13264
13323
  return;
@@ -13272,7 +13331,7 @@ async function startAgentServer(opts) {
13272
13331
  signal?.removeEventListener("abort", abort);
13273
13332
  pendingCapabilityCalls.delete(callId);
13274
13333
  if (error) reject(error);
13275
- else resolve4(value);
13334
+ else resolve5(value);
13276
13335
  };
13277
13336
  const abort = () => finish(signal?.reason ?? new Error("Remote capability aborted"));
13278
13337
  const timer = setTimeout(
@@ -13293,8 +13352,8 @@ async function startAgentServer(opts) {
13293
13352
  });
13294
13353
  };
13295
13354
  let aiProviderConfigId;
13296
- const sleep = (ms) => new Promise((resolve4) => {
13297
- const t = setTimeout(resolve4, ms);
13355
+ const sleep = (ms) => new Promise((resolve5) => {
13356
+ const t = setTimeout(resolve5, ms);
13298
13357
  t.unref?.();
13299
13358
  });
13300
13359
  async function mintAndPersistAiCredential(args) {
@@ -13679,10 +13738,10 @@ async function startAgentServer(opts) {
13679
13738
  let resolveSessionReady;
13680
13739
  let rejectSessionReady;
13681
13740
  let sessionReadyOutcome = "pending";
13682
- const sessionReady = new Promise((resolve4, reject) => {
13741
+ const sessionReady = new Promise((resolve5, reject) => {
13683
13742
  resolveSessionReady = () => {
13684
13743
  if (sessionReadyOutcome === "pending") sessionReadyOutcome = "resolved";
13685
- resolve4();
13744
+ resolve5();
13686
13745
  };
13687
13746
  rejectSessionReady = (err) => {
13688
13747
  if (sessionReadyOutcome === "pending") sessionReadyOutcome = "rejected";
@@ -13823,7 +13882,7 @@ async function startAgentServer(opts) {
13823
13882
  log(`[serve] model endpoint listening on ${modelEndpoint.url}`);
13824
13883
  }
13825
13884
  if (secretsMode === "provisioned") {
13826
- log("[serve] secrets mode: provisioned \u2014 waiting for provision_secrets command");
13885
+ log("[serve] secrets mode: provisioned \u2014 waiting for session_init with a `secrets` map");
13827
13886
  } else {
13828
13887
  try {
13829
13888
  sessionConfig = buildSessionConfig(new EnvSecretProvider());
@@ -14424,8 +14483,8 @@ async function startAgentServer(opts) {
14424
14483
  try {
14425
14484
  await Promise.race([
14426
14485
  sessionReady,
14427
- new Promise((resolve4) => {
14428
- const t = setTimeout(resolve4, 2e3);
14486
+ new Promise((resolve5) => {
14487
+ const t = setTimeout(resolve5, 2e3);
14429
14488
  t.unref?.();
14430
14489
  })
14431
14490
  ]);
@@ -15327,7 +15386,7 @@ async function startAgentServer(opts) {
15327
15386
  log("[serve] prompt received before secrets provisioned \u2014 rejecting");
15328
15387
  sendEvent({
15329
15388
  type: "error",
15330
- message: "Secrets not yet provisioned \u2014 send provision_secrets first",
15389
+ message: "Secrets not yet provisioned: send session_init with a `secrets` map",
15331
15390
  fatal: false
15332
15391
  });
15333
15392
  return false;
@@ -15920,7 +15979,7 @@ async function startAgentServer(opts) {
15920
15979
  `[serve] harness=${agentSession.harnessType} model=${agentSession.model ?? "(default)"} maxTurns=${maxTurns ?? "(default)"}`
15921
15980
  );
15922
15981
  } else {
15923
- log(`[serve] secrets=provisioned \u2014 session will initialize after provision_secrets`);
15982
+ log(`[serve] secrets=provisioned \u2014 session will initialize after session_init`);
15924
15983
  }
15925
15984
  log(`[serve] project=${opts.projectDir}`);
15926
15985
  installProcessHandlers();
@@ -16110,5 +16169,5 @@ function touchSession(state) {
16110
16169
  }
16111
16170
 
16112
16171
  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
16172
+ //# sourceMappingURL=chunk-SJNZ4WPA.js.map
16173
+ //# sourceMappingURL=chunk-SJNZ4WPA.js.map