@skaile/workspaces 5.11.0 → 5.13.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 (472) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/README.md +4 -4
  3. package/dist/{asset-feeds-CXGQIDFR.js → asset-feeds-ALMTHLPV.js} +26 -23
  4. package/dist/asset-feeds-ALMTHLPV.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +10 -10
  6. package/dist/asset-manager/fragments.js +1 -1
  7. package/dist/asset-manager/index.js +18 -18
  8. package/dist/asset-manager/installer.js +13 -13
  9. package/dist/asset-manager/renderers.js +11 -11
  10. package/dist/asset-manager/src/fragments.d.ts +5 -0
  11. package/dist/asset-manager/src/fragments.d.ts.map +1 -1
  12. package/dist/asset-manager/src/index.d.ts +140 -12
  13. package/dist/asset-manager/src/index.d.ts.map +1 -1
  14. package/dist/asset-manager/src/install-agent.d.ts +9 -1
  15. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  16. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  17. package/dist/asset-manager/src/renderers.d.ts +5 -0
  18. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  19. package/dist/bridge/drivers/claude-sdk.js +21 -16
  20. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  21. package/dist/bridge/drivers/codex.js +101 -29
  22. package/dist/bridge/drivers/codex.js.map +1 -1
  23. package/dist/bridge/drivers/continue.js +12 -12
  24. package/dist/bridge/drivers/echo.js +2 -2
  25. package/dist/bridge/drivers/gemini.js +7 -7
  26. package/dist/bridge/drivers/goose.js +12 -12
  27. package/dist/bridge/drivers/omp.js +135 -33
  28. package/dist/bridge/drivers/omp.js.map +1 -1
  29. package/dist/bridge/drivers/opencode.js +12 -12
  30. package/dist/bridge/drivers/qwen.js +7 -7
  31. package/dist/bridge/index.js +14 -14
  32. package/dist/bridge/src/codex/config-toml.d.ts +16 -3
  33. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -1
  34. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  35. package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -1
  36. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/codex.d.ts +6 -0
  38. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/omp-models-yml.d.ts +32 -0
  40. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/omp.d.ts +29 -6
  42. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  43. package/dist/bridge/src/provider-materialize/credential-env.d.ts +15 -0
  44. package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -1
  45. package/dist/{chunk-T42WRQ4O.js → chunk-2BIESC6S.js} +3 -3
  46. package/dist/{chunk-T42WRQ4O.js.map → chunk-2BIESC6S.js.map} +1 -1
  47. package/dist/{chunk-CPWLNZGJ.js → chunk-4DLQESIY.js} +3 -3
  48. package/dist/{chunk-CPWLNZGJ.js.map → chunk-4DLQESIY.js.map} +1 -1
  49. package/dist/{chunk-HZXUXHIV.js → chunk-4L4R5LV3.js} +89 -12
  50. package/dist/chunk-4L4R5LV3.js.map +1 -0
  51. package/dist/{chunk-CAHB6MHA.js → chunk-4NJ3QQHZ.js} +5 -5
  52. package/dist/{chunk-CAHB6MHA.js.map → chunk-4NJ3QQHZ.js.map} +1 -1
  53. package/dist/{chunk-ZCAJZ4B2.js → chunk-57SF6W6E.js} +147 -4
  54. package/dist/chunk-57SF6W6E.js.map +1 -0
  55. package/dist/{chunk-FH7W6TJ4.js → chunk-5FYOM4RF.js} +106 -25
  56. package/dist/chunk-5FYOM4RF.js.map +1 -0
  57. package/dist/{chunk-R7NHYEJF.js → chunk-5SKVCMRC.js} +15 -7
  58. package/dist/chunk-5SKVCMRC.js.map +1 -0
  59. package/dist/{chunk-CJERAGFY.js → chunk-6GICC4RJ.js} +44 -13
  60. package/dist/chunk-6GICC4RJ.js.map +1 -0
  61. package/dist/{chunk-G4FFOV3N.js → chunk-6JKIOPT3.js} +4 -4
  62. package/dist/{chunk-G4FFOV3N.js.map → chunk-6JKIOPT3.js.map} +1 -1
  63. package/dist/{chunk-T7CTHHG7.js → chunk-6NQDDCIL.js} +3 -3
  64. package/dist/{chunk-T7CTHHG7.js.map → chunk-6NQDDCIL.js.map} +1 -1
  65. package/dist/{chunk-XUSALIEI.js → chunk-7SMP4GNW.js} +6 -6
  66. package/dist/{chunk-XUSALIEI.js.map → chunk-7SMP4GNW.js.map} +1 -1
  67. package/dist/{chunk-Y3HTGHJC.js → chunk-AHCI4V5L.js} +3 -3
  68. package/dist/{chunk-Y3HTGHJC.js.map → chunk-AHCI4V5L.js.map} +1 -1
  69. package/dist/{chunk-M3B6EIJD.js → chunk-B7CZYFB2.js} +4 -4
  70. package/dist/{chunk-M3B6EIJD.js.map → chunk-B7CZYFB2.js.map} +1 -1
  71. package/dist/{chunk-PBBPZYVG.js → chunk-BF422IDP.js} +112 -46
  72. package/dist/chunk-BF422IDP.js.map +1 -0
  73. package/dist/{chunk-47U4GZ4M.js → chunk-BVJU2GKE.js} +20 -3
  74. package/dist/chunk-BVJU2GKE.js.map +1 -0
  75. package/dist/{chunk-PMECEZK3.js → chunk-D54T2F54.js} +5 -4
  76. package/dist/chunk-D54T2F54.js.map +1 -0
  77. package/dist/{chunk-2F5AWQX5.js → chunk-DKGEV6SQ.js} +192 -42
  78. package/dist/chunk-DKGEV6SQ.js.map +1 -0
  79. package/dist/{chunk-DALV4HHP.js → chunk-DKXNKFKP.js} +3 -2
  80. package/dist/{chunk-DALV4HHP.js.map → chunk-DKXNKFKP.js.map} +1 -1
  81. package/dist/chunk-FB3NREF7.js +649 -0
  82. package/dist/chunk-FB3NREF7.js.map +1 -0
  83. package/dist/{chunk-QZNJOHN6.js → chunk-FHDK3BFD.js} +3 -3
  84. package/dist/{chunk-QZNJOHN6.js.map → chunk-FHDK3BFD.js.map} +1 -1
  85. package/dist/{chunk-3SM2DL2T.js → chunk-GMDSRSGI.js} +21 -11
  86. package/dist/chunk-GMDSRSGI.js.map +1 -0
  87. package/dist/chunk-H5U7LNTJ.js +122 -0
  88. package/dist/chunk-H5U7LNTJ.js.map +1 -0
  89. package/dist/{chunk-VLTQGE2E.js → chunk-HBZD3MIW.js} +269 -81
  90. package/dist/chunk-HBZD3MIW.js.map +1 -0
  91. package/dist/{chunk-S3O3GKB7.js → chunk-HWGYJMME.js} +4 -4
  92. package/dist/{chunk-S3O3GKB7.js.map → chunk-HWGYJMME.js.map} +1 -1
  93. package/dist/{chunk-CPSIPIX7.js → chunk-IG5LZ3WU.js} +8 -6
  94. package/dist/chunk-IG5LZ3WU.js.map +1 -0
  95. package/dist/{chunk-ZPWTOUTK.js → chunk-IY5E7Y5W.js} +61 -8
  96. package/dist/chunk-IY5E7Y5W.js.map +1 -0
  97. package/dist/{chunk-6O2X3GPW.js → chunk-J4DB5G36.js} +7 -5
  98. package/dist/chunk-J4DB5G36.js.map +1 -0
  99. package/dist/{chunk-BNMZVPYA.js → chunk-J4OYIYFQ.js} +2 -2
  100. package/dist/{chunk-BNMZVPYA.js.map → chunk-J4OYIYFQ.js.map} +1 -1
  101. package/dist/{chunk-ALEYHUC5.js → chunk-L3ZGYSWY.js} +182 -41
  102. package/dist/chunk-L3ZGYSWY.js.map +1 -0
  103. package/dist/{chunk-SBSA3IQA.js → chunk-M3P4BYRK.js} +49 -14
  104. package/dist/chunk-M3P4BYRK.js.map +1 -0
  105. package/dist/{chunk-IER3KIPH.js → chunk-NDUYFYJB.js} +5 -5
  106. package/dist/{chunk-IER3KIPH.js.map → chunk-NDUYFYJB.js.map} +1 -1
  107. package/dist/{chunk-CGYEHQOX.js → chunk-NOA6EJXE.js} +11 -2
  108. package/dist/chunk-NOA6EJXE.js.map +1 -0
  109. package/dist/{chunk-J4RBUFGM.js → chunk-NVO6WECE.js} +9 -8
  110. package/dist/chunk-NVO6WECE.js.map +1 -0
  111. package/dist/{chunk-OBYKJB4U.js → chunk-O2SYFJWP.js} +79 -5
  112. package/dist/chunk-O2SYFJWP.js.map +1 -0
  113. package/dist/{chunk-5LKOAX7I.js → chunk-OQ5MKDS3.js} +21 -5
  114. package/dist/chunk-OQ5MKDS3.js.map +1 -0
  115. package/dist/{chunk-NWDSLXOX.js → chunk-PHRNUTSG.js} +118 -118
  116. package/dist/chunk-PHRNUTSG.js.map +1 -0
  117. package/dist/chunk-PN44DOGP.js +345 -0
  118. package/dist/chunk-PN44DOGP.js.map +1 -0
  119. package/dist/{chunk-COH6FQAG.js → chunk-PXDWTJ3P.js} +5 -5
  120. package/dist/{chunk-COH6FQAG.js.map → chunk-PXDWTJ3P.js.map} +1 -1
  121. package/dist/{chunk-GV4DZ6MT.js → chunk-PYTTF754.js} +22 -6
  122. package/dist/chunk-PYTTF754.js.map +1 -0
  123. package/dist/chunk-PZOO7L26.js +64 -0
  124. package/dist/chunk-PZOO7L26.js.map +1 -0
  125. package/dist/{chunk-EDYHEMJA.js → chunk-QO7CR3KB.js} +10 -5
  126. package/dist/chunk-QO7CR3KB.js.map +1 -0
  127. package/dist/{chunk-XDKH7XSA.js → chunk-R6QHJEHE.js} +5 -5
  128. package/dist/{chunk-XDKH7XSA.js.map → chunk-R6QHJEHE.js.map} +1 -1
  129. package/dist/chunk-U27JRO5L.js +13 -0
  130. package/dist/chunk-U27JRO5L.js.map +1 -0
  131. package/dist/{chunk-X77SUM4P.js → chunk-USHB5KEY.js} +3 -3
  132. package/dist/{chunk-X77SUM4P.js.map → chunk-USHB5KEY.js.map} +1 -1
  133. package/dist/{chunk-QVFAS5IO.js → chunk-V5JHD4I2.js} +3 -3
  134. package/dist/{chunk-QVFAS5IO.js.map → chunk-V5JHD4I2.js.map} +1 -1
  135. package/dist/{chunk-PQFHMQHQ.js → chunk-VLBIME5L.js} +6 -6
  136. package/dist/{chunk-PQFHMQHQ.js.map → chunk-VLBIME5L.js.map} +1 -1
  137. package/dist/{chunk-D3B36CYC.js → chunk-X3RMRJNR.js} +4 -3
  138. package/dist/chunk-X3RMRJNR.js.map +1 -0
  139. package/dist/{chunk-TCHRMVTO.js → chunk-XBYSURMK.js} +4 -4
  140. package/dist/{chunk-TCHRMVTO.js.map → chunk-XBYSURMK.js.map} +1 -1
  141. package/dist/{chunk-MZG34MBZ.js → chunk-XJYBCDY2.js} +3 -3
  142. package/dist/{chunk-MZG34MBZ.js.map → chunk-XJYBCDY2.js.map} +1 -1
  143. package/dist/{chunk-4A4OD24G.js → chunk-Y4Z7LGSH.js} +9 -9
  144. package/dist/{chunk-4A4OD24G.js.map → chunk-Y4Z7LGSH.js.map} +1 -1
  145. package/dist/{chunk-DZMNFCWB.js → chunk-Y7WKXPWS.js} +816 -143
  146. package/dist/chunk-Y7WKXPWS.js.map +1 -0
  147. package/dist/{chunk-HCEVNYSH.js → chunk-YTZFSKWL.js} +3 -3
  148. package/dist/{chunk-HCEVNYSH.js.map → chunk-YTZFSKWL.js.map} +1 -1
  149. package/dist/{chunk-WSBKB4CJ.js → chunk-ZSMMX3JD.js} +167 -25
  150. package/dist/chunk-ZSMMX3JD.js.map +1 -0
  151. package/dist/{chunk-GCHPUTA3.js → chunk-ZU24LWBI.js} +3 -3
  152. package/dist/{chunk-GCHPUTA3.js.map → chunk-ZU24LWBI.js.map} +1 -1
  153. package/dist/cli/index.js +1427 -605
  154. package/dist/cli/index.js.map +1 -1
  155. package/dist/cli/src/agent-checks.d.ts +40 -0
  156. package/dist/cli/src/agent-checks.d.ts.map +1 -0
  157. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  158. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  159. package/dist/cli/src/commands/catalog-cmd.d.ts.map +1 -1
  160. package/dist/cli/src/commands/catalog.d.ts +26 -0
  161. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  162. package/dist/cli/src/commands/config.d.ts.map +1 -1
  163. package/dist/cli/src/commands/diff.d.ts +1 -1
  164. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  165. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  166. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  167. package/dist/cli/src/commands/library-index.d.ts +10 -0
  168. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  169. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  170. package/dist/cli/src/commands/mcp-server.d.ts +1 -1
  171. package/dist/cli/src/commands/migrate-assets.d.ts +2 -1
  172. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  173. package/dist/cli/src/commands/migrate.d.ts.map +1 -1
  174. package/dist/cli/src/commands/plugin/claude-code.d.ts +1 -1
  175. package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
  176. package/dist/cli/src/commands/plugin/types.d.ts +3 -1
  177. package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
  178. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  179. package/dist/cli/src/commands/preset-apply.d.ts.map +1 -1
  180. package/dist/cli/src/commands/project.d.ts +8 -0
  181. package/dist/cli/src/commands/project.d.ts.map +1 -1
  182. package/dist/cli/src/commands/publish-core.d.ts +5 -0
  183. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  184. package/dist/cli/src/commands/run.d.ts +11 -1
  185. package/dist/cli/src/commands/run.d.ts.map +1 -1
  186. package/dist/cli/src/commands/serve-preflight.d.ts +23 -0
  187. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -0
  188. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  189. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  190. package/dist/cli/src/commands/source-manifest.d.ts +1 -0
  191. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  192. package/dist/cli/src/commands/source.d.ts +9 -1
  193. package/dist/cli/src/commands/source.d.ts.map +1 -1
  194. package/dist/cli/src/commands/store.d.ts.map +1 -1
  195. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  196. package/dist/cli/src/commands/update.d.ts.map +1 -1
  197. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
  198. package/dist/cli/src/commands/validate.d.ts +3 -2
  199. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  200. package/dist/cli/src/commands/why.d.ts.map +1 -1
  201. package/dist/cli/src/curated-manifests.d.ts +21 -0
  202. package/dist/cli/src/curated-manifests.d.ts.map +1 -0
  203. package/dist/cli/src/driver-error.d.ts +7 -0
  204. package/dist/cli/src/driver-error.d.ts.map +1 -1
  205. package/dist/cli/src/helpers.d.ts +6 -0
  206. package/dist/cli/src/helpers.d.ts.map +1 -1
  207. package/dist/cli/src/index-busy.d.ts +8 -0
  208. package/dist/cli/src/index-busy.d.ts.map +1 -0
  209. package/dist/cli/src/plugin-store/index.d.ts +1 -1
  210. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  211. package/dist/cli/src/plugin-store/paths.d.ts +7 -3
  212. package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
  213. package/dist/cli/src/plugin-store/reconcile.d.ts +24 -4
  214. package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -1
  215. package/dist/cli/src/skill-checks.d.ts +27 -3
  216. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  217. package/dist/cli/src/store-addable.d.ts +17 -0
  218. package/dist/cli/src/store-addable.d.ts.map +1 -0
  219. package/dist/connectors/config.js +6 -6
  220. package/dist/connectors/index.js +18 -18
  221. package/dist/connectors/src/config.d.ts.map +1 -1
  222. package/dist/{connectors-4QWAKPHB.js → connectors-GFKMKAXV.js} +21 -21
  223. package/dist/{connectors-4QWAKPHB.js.map → connectors-GFKMKAXV.js.map} +1 -1
  224. package/dist/core/driver-targets.js +1 -1
  225. package/dist/core/index.js +9 -9
  226. package/dist/core/logging.js +1 -1
  227. package/dist/core/manifest.js +2 -2
  228. package/dist/core/models.js +1 -1
  229. package/dist/core/publish-manifest.js +4 -2
  230. package/dist/core/ref.js +1 -1
  231. package/dist/core/runtime-assets.js +6 -6
  232. package/dist/core/src/agent-instances.d.ts +5 -0
  233. package/dist/core/src/agent-instances.d.ts.map +1 -1
  234. package/dist/core/src/driver-targets.d.ts.map +1 -1
  235. package/dist/core/src/index.d.ts +6 -5
  236. package/dist/core/src/index.d.ts.map +1 -1
  237. package/dist/core/src/lock.d.ts +15 -5
  238. package/dist/core/src/lock.d.ts.map +1 -1
  239. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  240. package/dist/core/src/manifest.d.ts +14 -3
  241. package/dist/core/src/manifest.d.ts.map +1 -1
  242. package/dist/core/src/models.d.ts +11 -3
  243. package/dist/core/src/models.d.ts.map +1 -1
  244. package/dist/core/src/package-manager.d.ts +19 -0
  245. package/dist/core/src/package-manager.d.ts.map +1 -0
  246. package/dist/core/src/publish-manifest.d.ts +38 -1
  247. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  248. package/dist/core/src/repo-manager.d.ts +19 -3
  249. package/dist/core/src/repo-manager.d.ts.map +1 -1
  250. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  251. package/dist/core/src/settings.d.ts +26 -6
  252. package/dist/core/src/settings.d.ts.map +1 -1
  253. package/dist/core/src/store.d.ts +4 -0
  254. package/dist/core/src/store.d.ts.map +1 -1
  255. package/dist/core/src/walker.d.ts +8 -1
  256. package/dist/core/src/walker.d.ts.map +1 -1
  257. package/dist/core/src/workspace-config.d.ts +24 -2
  258. package/dist/core/src/workspace-config.d.ts.map +1 -1
  259. package/dist/core/store.js +2 -2
  260. package/dist/core/workspace-config.js +5 -5
  261. package/dist/deploy/index.js +9 -9
  262. package/dist/discovery/index.js +5 -5
  263. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  264. package/dist/discovery/src/source-config.d.ts +5 -3
  265. package/dist/discovery/src/source-config.d.ts.map +1 -1
  266. package/dist/{ensure-sources-2RONZKCU.js → ensure-sources-VUKHL65L.js} +21 -21
  267. package/dist/{ensure-sources-2RONZKCU.js.map → ensure-sources-VUKHL65L.js.map} +1 -1
  268. package/dist/factory-assets/README.md +1 -1
  269. package/dist/factory-assets/connectors/box.js +18 -18
  270. package/dist/factory-assets/connectors/deploy.js +18 -18
  271. package/dist/factory-assets/connectors/devserver.js +18 -18
  272. package/dist/factory-assets/connectors/flow/adapter.js +18 -18
  273. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  274. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  275. package/dist/factory-assets/connectors/flow/engine.js +11 -11
  276. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  277. package/dist/factory-assets/connectors/flow/run-flow.js +20 -20
  278. package/dist/factory-assets/connectors/flow.js +18 -18
  279. package/dist/factory-assets/connectors/git.js +18 -18
  280. package/dist/factory-assets/connectors/gmail.js +18 -18
  281. package/dist/factory-assets/connectors/googledrive.js +18 -18
  282. package/dist/factory-assets/connectors/local.js +18 -18
  283. package/dist/factory-assets/connectors/mattermost.js +18 -18
  284. package/dist/factory-assets/connectors/memory.js +18 -18
  285. package/dist/factory-assets/connectors/minio.js +18 -18
  286. package/dist/factory-assets/connectors/postgres.js +18 -18
  287. package/dist/factory-assets/connectors/s3.js +18 -18
  288. package/dist/factory-assets/connectors/sharepoint.js +18 -18
  289. package/dist/factory-assets/connectors/sqlite.js +18 -18
  290. package/dist/factory-assets/connectors/static-server.js +18 -18
  291. package/dist/factory-assets/connectors/tunnel.js +18 -18
  292. package/dist/factory-assets/connectors/webdav.js +18 -18
  293. package/dist/factory-assets/connectors/xstate-store.js +18 -18
  294. package/dist/factory-assets/connectors/xstate.js +18 -18
  295. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +10 -8
  296. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +15 -11
  297. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +12 -9
  298. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +2 -2
  299. package/dist/flows-A4YALSZY.js +26 -0
  300. package/dist/{flows-EQF2CH4U.js.map → flows-A4YALSZY.js.map} +1 -1
  301. package/dist/helpers-53XZW7KF.js +34 -0
  302. package/dist/{helpers-CFK6YP6R.js.map → helpers-53XZW7KF.js.map} +1 -1
  303. package/dist/library/index.js +14 -14
  304. package/dist/library/install.js +6 -4
  305. package/dist/library/src/index.d.ts +2 -2
  306. package/dist/library/src/index.d.ts.map +1 -1
  307. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  308. package/dist/library/src/local/db.d.ts +2 -0
  309. package/dist/library/src/local/db.d.ts.map +1 -1
  310. package/dist/library/src/local/library-manager.d.ts +5 -0
  311. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  312. package/dist/library/src/local/library.d.ts +5 -3
  313. package/dist/library/src/local/library.d.ts.map +1 -1
  314. package/dist/library/src/local/local-catalog-source.d.ts +6 -0
  315. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  316. package/dist/library/src/local/store-paths.d.ts +9 -0
  317. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  318. package/dist/library/src/manifest-writer.d.ts +1 -1
  319. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  320. package/dist/library/src/remote/index.d.ts +1 -1
  321. package/dist/library/src/remote/index.d.ts.map +1 -1
  322. package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
  323. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  324. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  325. package/dist/library/src/user-library.d.ts +2 -0
  326. package/dist/library/src/user-library.d.ts.map +1 -1
  327. package/dist/{library-publish-53UTB3MB.js → library-publish-FFIPWIRM.js} +50 -39
  328. package/dist/library-publish-FFIPWIRM.js.map +1 -0
  329. package/dist/open-library-PZAT3TJA.js +40 -0
  330. package/dist/{open-library-BOSPJVID.js.map → open-library-PZAT3TJA.js.map} +1 -1
  331. package/dist/open-registry-W46UXZ3I.js +32 -0
  332. package/dist/{open-registry-4FI7HKET.js.map → open-registry-W46UXZ3I.js.map} +1 -1
  333. package/dist/paths-KKY3NSBZ.js +22 -0
  334. package/dist/{paths-SUS4S4YT.js.map → paths-KKY3NSBZ.js.map} +1 -1
  335. package/dist/plugin-store-CK7YWRIC.js +227 -0
  336. package/dist/plugin-store-CK7YWRIC.js.map +1 -0
  337. package/dist/plugins/src/catalog-source.d.ts +6 -0
  338. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  339. package/dist/project-EZUH7PUJ.js +79 -0
  340. package/dist/{project-I55A4O2T.js.map → project-EZUH7PUJ.js.map} +1 -1
  341. package/dist/resolver/index.js +10 -10
  342. package/dist/runner/index.js +35 -35
  343. package/dist/runner/src/agent.d.ts.map +1 -1
  344. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
  345. package/dist/runner/src/composition/index.d.ts +2 -1
  346. package/dist/runner/src/composition/index.d.ts.map +1 -1
  347. package/dist/runner/src/composition/prompt-sections.d.ts +20 -5
  348. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
  349. package/dist/runner/src/composition/resolve.d.ts +10 -1
  350. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  351. package/dist/runner/src/composition/verify.d.ts +29 -0
  352. package/dist/runner/src/composition/verify.d.ts.map +1 -0
  353. package/dist/runner/src/credential-notice.d.ts +14 -0
  354. package/dist/runner/src/credential-notice.d.ts.map +1 -0
  355. package/dist/runner/src/environment.d.ts.map +1 -1
  356. package/dist/runner/src/final-text.d.ts +17 -0
  357. package/dist/runner/src/final-text.d.ts.map +1 -0
  358. package/dist/runner/src/index.d.ts +2 -0
  359. package/dist/runner/src/index.d.ts.map +1 -1
  360. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  361. package/dist/runner/src/serve.d.ts +13 -0
  362. package/dist/runner/src/serve.d.ts.map +1 -1
  363. package/dist/runner/src/session-builder.d.ts.map +1 -1
  364. package/dist/runner/src/session.d.ts +2 -0
  365. package/dist/runner/src/session.d.ts.map +1 -1
  366. package/dist/runner/src/ws-auth-warning.d.ts +17 -0
  367. package/dist/runner/src/ws-auth-warning.d.ts.map +1 -0
  368. package/dist/sdk/asset-manager.js +18 -18
  369. package/dist/sdk/bridge.js +14 -14
  370. package/dist/sdk/core.js +9 -9
  371. package/dist/sdk/flow.js +11 -11
  372. package/dist/sdk/index.js +38 -36
  373. package/dist/sdk/index.js.map +1 -1
  374. package/dist/sdk/resolver.js +10 -10
  375. package/dist/sdk/runner.js +35 -35
  376. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  377. package/dist/sdk/transport/ws/client.js +1 -1
  378. package/dist/sdk/transport/ws/server.js +1 -1
  379. package/dist/sdk/transport/ws.js +2 -2
  380. package/dist/sdk/transport.js +2 -2
  381. package/dist/serve-preflight-F7MYF747.js +64 -0
  382. package/dist/serve-preflight-F7MYF747.js.map +1 -0
  383. package/dist/{setup-7DQJKHUI.js → setup-L632QIHV.js} +26 -26
  384. package/dist/{setup-7DQJKHUI.js.map → setup-L632QIHV.js.map} +1 -1
  385. package/dist/skills-OY3Y5GKA.js +26 -0
  386. package/dist/{skills-NUEN5NDX.js.map → skills-OY3Y5GKA.js.map} +1 -1
  387. package/dist/source-36FHMN5V.js +42 -0
  388. package/dist/{source-G2LV5LVD.js.map → source-36FHMN5V.js.map} +1 -1
  389. package/dist/source-fetch-github-PIO6EMMF.js +4 -0
  390. package/dist/{source-fetch-github-QN4LLTL5.js.map → source-fetch-github-PIO6EMMF.js.map} +1 -1
  391. package/dist/{source-manifest-publish-6RM7SWLZ.js → source-manifest-publish-NIXJSJ22.js} +30 -28
  392. package/dist/source-manifest-publish-NIXJSJ22.js.map +1 -0
  393. package/dist/transport/index.js +2 -2
  394. package/dist/transport/src/ws/client.d.ts +6 -0
  395. package/dist/transport/src/ws/client.d.ts.map +1 -1
  396. package/dist/transport/src/ws/server.d.ts +4 -0
  397. package/dist/transport/src/ws/server.d.ts.map +1 -1
  398. package/dist/transport/ws/client.js +1 -1
  399. package/dist/transport/ws/server.js +1 -1
  400. package/dist/transport/ws.js +2 -2
  401. package/dist/tui/index.js +77 -50
  402. package/dist/tui/index.js.map +1 -1
  403. package/dist/tui/src/repl-session.d.ts +1 -1
  404. package/dist/tui/src/repl-session.d.ts.map +1 -1
  405. package/dist/tui/src/repl.d.ts +3 -0
  406. package/dist/tui/src/repl.d.ts.map +1 -1
  407. package/dist/types/manifests.js +1 -1
  408. package/dist/types/src/lifecycle.d.ts +2 -1
  409. package/dist/types/src/lifecycle.d.ts.map +1 -1
  410. package/dist/types/src/manifests/agent-composition.d.ts +20 -0
  411. package/dist/types/src/manifests/agent-composition.d.ts.map +1 -1
  412. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  413. package/dist/types/src/manifests/cron.d.ts +15 -0
  414. package/dist/types/src/manifests/cron.d.ts.map +1 -0
  415. package/dist/types/src/manifests/index.d.ts +3 -2
  416. package/dist/types/src/manifests/index.d.ts.map +1 -1
  417. package/dist/types/src/manifests/preset.d.ts +6 -1
  418. package/dist/types/src/manifests/preset.d.ts.map +1 -1
  419. package/dist/workspace-plugin/adapters/mcp.js +25 -25
  420. package/dist/workspace-plugin/adapters/omp.js +106 -51
  421. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  422. package/dist/workspace-plugin/index.js +2 -2
  423. package/dist/workspace-plugin/src/adapters/claude-code.d.ts.map +1 -1
  424. package/dist/workspace-plugin/src/adapters/omp.d.ts +11 -2
  425. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  426. package/package.json +1 -1
  427. package/dist/asset-feeds-CXGQIDFR.js.map +0 -1
  428. package/dist/chunk-2F5AWQX5.js.map +0 -1
  429. package/dist/chunk-3SM2DL2T.js.map +0 -1
  430. package/dist/chunk-47U4GZ4M.js.map +0 -1
  431. package/dist/chunk-5LKOAX7I.js.map +0 -1
  432. package/dist/chunk-6O2X3GPW.js.map +0 -1
  433. package/dist/chunk-ALEYHUC5.js.map +0 -1
  434. package/dist/chunk-CGYEHQOX.js.map +0 -1
  435. package/dist/chunk-CJERAGFY.js.map +0 -1
  436. package/dist/chunk-CPSIPIX7.js.map +0 -1
  437. package/dist/chunk-D3B36CYC.js.map +0 -1
  438. package/dist/chunk-DZMNFCWB.js.map +0 -1
  439. package/dist/chunk-EDYHEMJA.js.map +0 -1
  440. package/dist/chunk-FH7W6TJ4.js.map +0 -1
  441. package/dist/chunk-GV4DZ6MT.js.map +0 -1
  442. package/dist/chunk-HZXUXHIV.js.map +0 -1
  443. package/dist/chunk-J4RBUFGM.js.map +0 -1
  444. package/dist/chunk-NWDSLXOX.js.map +0 -1
  445. package/dist/chunk-OBYKJB4U.js.map +0 -1
  446. package/dist/chunk-PBBPZYVG.js.map +0 -1
  447. package/dist/chunk-PMECEZK3.js.map +0 -1
  448. package/dist/chunk-R7FOF242.js +0 -59
  449. package/dist/chunk-R7FOF242.js.map +0 -1
  450. package/dist/chunk-R7NHYEJF.js.map +0 -1
  451. package/dist/chunk-RYYLMBA2.js +0 -392
  452. package/dist/chunk-RYYLMBA2.js.map +0 -1
  453. package/dist/chunk-SBSA3IQA.js.map +0 -1
  454. package/dist/chunk-VLTQGE2E.js.map +0 -1
  455. package/dist/chunk-WSBKB4CJ.js.map +0 -1
  456. package/dist/chunk-YOH2L76X.js +0 -505
  457. package/dist/chunk-YOH2L76X.js.map +0 -1
  458. package/dist/chunk-ZCAJZ4B2.js.map +0 -1
  459. package/dist/chunk-ZPWTOUTK.js.map +0 -1
  460. package/dist/flows-EQF2CH4U.js +0 -26
  461. package/dist/helpers-CFK6YP6R.js +0 -34
  462. package/dist/library-publish-53UTB3MB.js.map +0 -1
  463. package/dist/open-library-BOSPJVID.js +0 -40
  464. package/dist/open-registry-4FI7HKET.js +0 -32
  465. package/dist/paths-SUS4S4YT.js +0 -22
  466. package/dist/plugin-store-AGQDMING.js +0 -149
  467. package/dist/plugin-store-AGQDMING.js.map +0 -1
  468. package/dist/project-I55A4O2T.js +0 -41
  469. package/dist/skills-NUEN5NDX.js +0 -26
  470. package/dist/source-G2LV5LVD.js +0 -41
  471. package/dist/source-fetch-github-QN4LLTL5.js +0 -4
  472. package/dist/source-manifest-publish-6RM7SWLZ.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { globalCacheRoot, globalSkaileDir, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed } from './chunk-L5VSIPQD.js';
2
- import { SUPPORTED_DRIVER_TARGETS, globalHarnessRoot } from './chunk-CPSIPIX7.js';
3
- import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-ZPWTOUTK.js';
2
+ import { SUPPORTED_DRIVER_TARGETS, globalHarnessRoot } from './chunk-IG5LZ3WU.js';
3
+ import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-IY5E7Y5W.js';
4
4
  import { readPluginGroupings } from './chunk-RVRB27AN.js';
5
- import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs } from './chunk-SBSA3IQA.js';
6
- import { isValidAssetName, slugifyAssetName, depToStr, parseAssetRef, assetRefToStr } from './chunk-BNMZVPYA.js';
5
+ import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs, agentYamlRequires } from './chunk-M3P4BYRK.js';
6
+ import { isValidAssetName, slugifyAssetName, depToStr, parseAssetRef, assetRefToStr } from './chunk-J4OYIYFQ.js';
7
7
  import { isRetentionValue } from './chunk-C3CAXQMA.js';
8
8
  import { existsSync, readFileSync, mkdirSync, writeFileSync, lstatSync, symlinkSync, rmSync, readdirSync, constants, statSync } from 'fs';
9
9
  import { readdir, stat, cp, rm, open, readFile } from 'fs/promises';
@@ -255,6 +255,27 @@ function agentInstanceDiagnostics(config) {
255
255
  }
256
256
  return [];
257
257
  }
258
+ var AGENT_BLOCK_KEYS = /* @__PURE__ */ new Set([
259
+ "definition",
260
+ "context",
261
+ "permissions",
262
+ "hooks",
263
+ "fragments",
264
+ "prompt-extensions",
265
+ "home",
266
+ "prompt",
267
+ "instances",
268
+ "subagents"
269
+ ]);
270
+ function agentBlockKeyDiagnostics(agent) {
271
+ if (!isRecord(agent)) return [];
272
+ return Object.keys(agent).filter((key) => !AGENT_BLOCK_KEYS.has(key)).map((key) => ({
273
+ code: "unknown_agent_key",
274
+ severity: "warning",
275
+ message: `Unknown key "${key}" under \`agent:\` is ignored \u2014 expected one of: ${[...AGENT_BLOCK_KEYS].filter((k) => k !== "subagents").join(", ")}. Per-instance overrides (lifecycle, model, memory, triggers, connectors, budget) belong under \`agents.<id>\`.`,
276
+ path: `agent.${key}`
277
+ }));
278
+ }
258
279
  function fileSha256(p) {
259
280
  return sha256Hex(readFileSync(p));
260
281
  }
@@ -281,7 +302,20 @@ var MD_FILE_BY_KIND = Object.fromEntries(
281
302
  );
282
303
  async function buildProvenanceIndex(clones, opts) {
283
304
  const index = /* @__PURE__ */ new Map();
284
- for (const clone of clones) await walkOne(clone, index, opts.knownKinds);
305
+ for (const clone of clones) {
306
+ if (!opts.onSourceError) {
307
+ await walkOne(clone, index, opts.knownKinds);
308
+ continue;
309
+ }
310
+ const scratch = /* @__PURE__ */ new Map();
311
+ try {
312
+ await walkOne(clone, scratch, opts.knownKinds);
313
+ } catch (err) {
314
+ opts.onSourceError(clone, err);
315
+ continue;
316
+ }
317
+ for (const [key, candidates] of scratch) for (const c of candidates) push(index, key, c);
318
+ }
285
319
  return index;
286
320
  }
287
321
  async function walkOne(clone, index, knownKinds) {
@@ -289,15 +323,31 @@ async function walkOne(clone, index, knownKinds) {
289
323
  if (await walkWithManifest(clone, clone.overlayManifestPath, index)) return;
290
324
  }
291
325
  const manifestPaths = findManifestFiles(clone.localPath);
326
+ const repoLevel = repoLevelManifest(
327
+ [clone.overlayManifestPath, ...manifestPaths].filter((p) => !!p)
328
+ );
292
329
  if (manifestPaths.length === 0) {
293
- await walkFilenameConvention(clone, index, knownKinds);
330
+ await walkFilenameConvention(clone, index, knownKinds, repoLevel);
294
331
  return;
295
332
  }
296
333
  let produced = false;
297
334
  for (const p of manifestPaths) {
298
335
  if (await walkWithManifest(clone, p, index)) produced = true;
299
336
  }
300
- if (!produced) await walkFilenameConvention(clone, index, knownKinds);
337
+ if (!produced) await walkFilenameConvention(clone, index, knownKinds, repoLevel);
338
+ }
339
+ function repoLevelManifest(paths) {
340
+ for (const p of paths) {
341
+ if (!existsSync(p)) continue;
342
+ const { manifest } = decodeSkaileManifest(readFileSync(p, "utf8"));
343
+ if (manifest.publisher) {
344
+ return {
345
+ publisher: manifest.publisher.replace(/^@/, ""),
346
+ version: manifest.version
347
+ };
348
+ }
349
+ }
350
+ return {};
301
351
  }
302
352
  function findManifestFiles(root) {
303
353
  const found = [];
@@ -316,7 +366,7 @@ function findManifestFiles(root) {
316
366
  async function walkWithManifest(clone, manifestPath, index) {
317
367
  const { manifest } = decodeSkaileManifest(readFileSync(manifestPath, "utf8"));
318
368
  const repoRoot = clone.localPath;
319
- const manifestPublisher = manifest.publisher ?? publisherFromGithubUrl(clone.sourceUrl);
369
+ const manifestPublisher = manifest.publisher ?? clone.publisher ?? publisherFromGithubUrl(clone.sourceUrl);
320
370
  const manifestVersion = manifest.version ?? (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
321
371
  const assets = manifest.assets ?? [];
322
372
  if (assets.length === 0) return false;
@@ -324,7 +374,7 @@ async function walkWithManifest(clone, manifestPath, index) {
324
374
  const assetPublisher = a.publisher ?? manifestPublisher;
325
375
  if (!assetPublisher) {
326
376
  throw new Error(
327
- `${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL \u2014 auto-derivation not available).`
377
+ `${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL \u2014 auto-derivation not available) or recorded with \`skaile source add --publisher\`.`
328
378
  );
329
379
  }
330
380
  const curatedSource = a.source ?? manifest.source;
@@ -440,14 +490,14 @@ var DIR_SCOPED_KINDS = /* @__PURE__ */ new Set([
440
490
  "connector",
441
491
  "knowledge"
442
492
  ]);
443
- async function walkFilenameConvention(clone, index, knownKinds) {
444
- const publisher = publisherFromGithubUrl(clone.sourceUrl);
493
+ async function walkFilenameConvention(clone, index, knownKinds, repoLevel = {}) {
494
+ const publisher = repoLevel.publisher ?? clone.publisher ?? publisherFromGithubUrl(clone.sourceUrl);
445
495
  if (!publisher) {
446
496
  throw new Error(
447
- `${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL).`
497
+ `${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL) or recorded with \`skaile source add --publisher\`.`
448
498
  );
449
499
  }
450
- const version = (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
500
+ const version = repoLevel.version ?? (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
451
501
  for (const e of await scanDirectory(clone.localPath, publisher, { knownKinds })) {
452
502
  const manifestAbs = e.source;
453
503
  const manifestRel = relative(clone.localPath, manifestAbs).replace(/\\/g, "/");
@@ -506,11 +556,24 @@ async function manifestDeps(repoRoot, files, kind) {
506
556
  const { refs, skipped } = await assetDepRefs(join(repoRoot, mf.path));
507
557
  return kind === "preset" ? { deps: refs, skippedItems: skipped } : { deps: refs };
508
558
  }
559
+ function readAgentYamlRequires(repoRoot, files, kind) {
560
+ if (kind !== "agent") return [];
561
+ const yaml = files.find((f) => posix.basename(f.path) === "agent.yaml");
562
+ if (!yaml) return [];
563
+ try {
564
+ return agentYamlRequires(readFileSync(join(repoRoot, yaml.path), "utf8"));
565
+ } catch {
566
+ return [];
567
+ }
568
+ }
509
569
  async function candidateDeps(repoRoot, files, kind, publisher, explicit) {
510
570
  const base = explicit ? { deps: explicit } : await manifestDeps(repoRoot, files, kind);
511
571
  if (kind === "preset" || kind === "flow") return base;
512
572
  const frontmatter = readContentFrontmatter(repoRoot, files, kind);
513
- const declared = frontmatter ? parseRequires(frontmatter).map(depToStr) : [];
573
+ const declared = [
574
+ ...frontmatter ? parseRequires(frontmatter) : [],
575
+ ...readAgentYamlRequires(repoRoot, files, kind)
576
+ ].map(depToStr);
514
577
  if (declared.length === 0) return base;
515
578
  return { ...base, deps: dedupeRequirementRefs([...base.deps ?? [], ...declared], publisher) };
516
579
  }
@@ -627,18 +690,55 @@ function getRepoCommit(repoDir) {
627
690
  });
628
691
  return r.status === 0 ? r.stdout.trim() : null;
629
692
  }
630
- function checkoutPin(repoDir, pin) {
631
- spawnSync("git", ["-C", repoDir, "fetch", "--depth=1", "origin", pin], {
693
+ function isShallowBoundary(repoDir, commit) {
694
+ const full = spawnSync("git", ["-C", repoDir, "rev-parse", "--verify", `${commit}^{commit}`], {
695
+ encoding: "utf8",
632
696
  stdio: "pipe",
633
697
  env: GIT_ENV
634
698
  });
635
- const r = spawnSync("git", ["-C", repoDir, "checkout", "FETCH_HEAD"], {
699
+ const sha = full.stdout.trim();
700
+ if (full.status !== 0 || !sha) return false;
701
+ const file = spawnSync("git", ["-C", repoDir, "rev-parse", "--git-path", "shallow"], {
702
+ encoding: "utf8",
636
703
  stdio: "pipe",
637
704
  env: GIT_ENV
638
705
  });
639
- if (r.status === 0) return true;
640
- const r2 = spawnSync("git", ["-C", repoDir, "checkout", pin], { stdio: "pipe", env: GIT_ENV });
641
- return r2.status === 0;
706
+ if (file.status !== 0) return false;
707
+ const shallowPath = resolve(repoDir, file.stdout.trim());
708
+ try {
709
+ return readFileSync(shallowPath, "utf8").split("\n").includes(sha);
710
+ } catch {
711
+ return false;
712
+ }
713
+ }
714
+ function isCommitOnRemote(repoDir, commit) {
715
+ if (!/^[0-9a-f]{7,64}$/i.test(commit) || !hasOwnGit(repoDir)) return true;
716
+ if (!getRepoRemoteUrl(repoDir)) return true;
717
+ const known = spawnSync("git", ["-C", repoDir, "cat-file", "-e", `${commit}^{commit}`], {
718
+ stdio: "pipe",
719
+ env: GIT_ENV
720
+ });
721
+ if (known.status !== 0) return true;
722
+ if (isShallowBoundary(repoDir, commit)) return true;
723
+ const r = spawnSync("git", ["-C", repoDir, "branch", "-r", "--contains", commit], {
724
+ encoding: "utf8",
725
+ stdio: "pipe",
726
+ env: GIT_ENV
727
+ });
728
+ return r.status !== 0 || r.stdout.trim().length > 0;
729
+ }
730
+ function checkoutPin(repoDir, pin) {
731
+ const fetched = spawnSync("git", ["-C", repoDir, "fetch", "--depth=1", "origin", pin], {
732
+ stdio: "pipe",
733
+ env: GIT_ENV
734
+ });
735
+ const r = fetched.status === 0 ? spawnSync("git", ["-C", repoDir, "checkout", "FETCH_HEAD"], { stdio: "pipe", env: GIT_ENV }) : void 0;
736
+ const ok = r?.status === 0 || spawnSync("git", ["-C", repoDir, "checkout", pin], { stdio: "pipe", env: GIT_ENV }).status === 0;
737
+ if (!ok) return false;
738
+ if (/^[0-9a-f]{7,40}$/i.test(pin)) {
739
+ return getRepoCommit(repoDir)?.toLowerCase().startsWith(pin.toLowerCase()) === true;
740
+ }
741
+ return true;
642
742
  }
643
743
  function currentBranch(repoDir) {
644
744
  const r = spawnSync("git", ["-C", repoDir, "symbolic-ref", "--short", "-q", "HEAD"], {
@@ -744,7 +844,16 @@ function isManagedCacheDir(dir) {
744
844
  const target = resolve(dir);
745
845
  return target === root || target.startsWith(root + sep);
746
846
  }
747
- function syncManagedClone(dest, url, branch, pin) {
847
+ var warnedSourceClones = /* @__PURE__ */ new Set();
848
+ function warnSourceClone(url, dest, what) {
849
+ const line = redactCredentials(`! source clone ${sourceShortName(url)} ${what}`);
850
+ if (warnedSourceClones.has(`${dest}
851
+ ${line}`)) return;
852
+ warnedSourceClones.add(`${dest}
853
+ ${line}`);
854
+ console.warn(line);
855
+ }
856
+ function syncManagedClone(dest, url, branch, pin, strictPin = false) {
748
857
  const cached = existsSync(join(dest, ".git"));
749
858
  if (cached && remoteUrlMatches(dest, url)) {
750
859
  spawnSync("git", ["-C", dest, "remote", "set-url", "origin", url], {
@@ -754,10 +863,10 @@ function syncManagedClone(dest, url, branch, pin) {
754
863
  if (!pin) {
755
864
  const { ok, error } = pullRepoResult(dest, branch);
756
865
  if (!ok) {
757
- console.warn(
758
- redactCredentials(
759
- `[repo-manager] could not refresh source clone ${dest} (branch: ${branch}): ${error}. Using the cached commit.`
760
- )
866
+ warnSourceClone(
867
+ url,
868
+ dest,
869
+ `not refreshed: ${(error ?? "").replace(/\.+$/, "")}; using the cached commit`
761
870
  );
762
871
  }
763
872
  }
@@ -770,11 +879,14 @@ function syncManagedClone(dest, url, branch, pin) {
770
879
  }
771
880
  if (pin && getRepoCommit(dest) === pin) return;
772
881
  if (pin && !checkoutPin(dest, pin)) {
773
- console.warn(
774
- redactCredentials(
775
- `[repo-manager] could not check out pin ${pin} in source clone ${dest}. Using the cached commit.`
776
- )
777
- );
882
+ if (strictPin) {
883
+ throw new Error(
884
+ redactCredentials(
885
+ `could not check out pin ${pin} in source clone ${dest}: the commit is not on the remote (an unpublished commit, or a rewritten branch)`
886
+ )
887
+ );
888
+ }
889
+ warnSourceClone(url, dest, `not on its pin ${pin}; using the cached commit`);
778
890
  }
779
891
  }
780
892
  function ensureLocalPathRepo(decl, reposDir, opts) {
@@ -783,19 +895,25 @@ function ensureLocalPathRepo(decl, reposDir, opts) {
783
895
  const exists = existsSync(resolved);
784
896
  if (exists && (!decl.url || remoteUrlMatches(resolved, decl.url))) {
785
897
  if (decl.url && !decl.factory && hasOwnGit(resolved) && isManagedCacheDir(resolved)) {
786
- syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin);
898
+ syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin, opts?.strictPin);
787
899
  }
788
900
  return resolved;
789
901
  }
790
902
  if (!decl.url) {
791
903
  throw new Error(`Local repository path not found: ${decl.path} (resolved: ${resolved})`);
792
904
  }
793
- syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin);
905
+ syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin, opts?.strictPin);
794
906
  return resolved;
795
907
  }
796
908
  function ensureRemoteRepo(decl, name, reposDir, opts) {
797
909
  const cacheDest = join(getGlobalCacheDir(), name);
798
- syncManagedClone(cacheDest, decl.url, decl.branch ?? "main", opts?.pin);
910
+ syncManagedClone(
911
+ cacheDest,
912
+ decl.url,
913
+ decl.branch ?? "main",
914
+ opts?.pin,
915
+ opts?.strictPin
916
+ );
799
917
  linkCacheIntoProject(cacheDest, reposDir, name);
800
918
  return cacheDest;
801
919
  }
@@ -827,7 +945,7 @@ function repoSlugFromGitRemote(rootDir) {
827
945
  const m = /github\.com[/:]([^/]+)\/([^/]+?)(?:\.git)?\/?$/.exec(r.stdout.trim());
828
946
  return m ? `${m[1]}/${m[2]}` : void 0;
829
947
  }
830
- function resolveSourcePublisher(repoDir) {
948
+ function resolveSourcePublisher(repoDir, declared) {
831
949
  const manifestPath = join(repoDir, SKAILE_MANIFEST_FILENAME);
832
950
  if (existsSync(manifestPath)) {
833
951
  try {
@@ -837,12 +955,13 @@ function resolveSourcePublisher(repoDir) {
837
955
  } catch {
838
956
  }
839
957
  }
958
+ if (declared) return declared.startsWith("@") ? declared.slice(1) : declared;
840
959
  const org = repoSlugFromGitRemote(repoDir)?.split("/")[0];
841
960
  return org ? normalizeGithubOrg(org) : void 0;
842
961
  }
843
962
  async function scanRepo(repoDir, repoName, options) {
844
963
  const repo = repoSlugFromGitRemote(repoDir);
845
- const publisher = resolveSourcePublisher(repoDir) ?? repoName;
964
+ const publisher = resolveSourcePublisher(repoDir, options.declaredPublisher) ?? repoName;
846
965
  const groupings = readPluginGroupings(repoDir);
847
966
  return (await scanDirectory(repoDir, repoName, options)).map((e) => {
848
967
  const plugin = groupings.get(relative(repoDir, dirname(e.source)).split(sep).join("/"));
@@ -869,7 +988,10 @@ async function resolveAsset(ref, repositories, reposDir, opts) {
869
988
  if (!decl) continue;
870
989
  const repoDir = resolveRepoDir(decl, repoName, reposDir, opts.projectDir);
871
990
  if (!repoDir || !existsSync(repoDir)) continue;
872
- const entries = await scanRepo(repoDir, repoName, { knownKinds: opts.knownKinds });
991
+ const entries = await scanRepo(repoDir, repoName, {
992
+ knownKinds: opts.knownKinds,
993
+ declaredPublisher: decl.publisher
994
+ });
873
995
  const match = entries.find((e) => e.kind === ref.kind && e.name === ref.name);
874
996
  if (match) return match;
875
997
  }
@@ -1235,6 +1357,8 @@ function parseSourceEntries(raw) {
1235
1357
  const entry = { url };
1236
1358
  const pin = s.pin;
1237
1359
  if (typeof pin === "string" && pin.length > 0) entry.pin = pin;
1360
+ const publisher = s.publisher;
1361
+ if (typeof publisher === "string" && publisher.length > 0) entry.publisher = publisher;
1238
1362
  return entry;
1239
1363
  });
1240
1364
  }
@@ -1713,6 +1837,7 @@ function normalizeAgentSection(raw, config, diagnostics) {
1713
1837
  if (raw.agent) {
1714
1838
  config.agent = isRecord(raw.agent) ? { ...raw.agent } : raw.agent;
1715
1839
  }
1840
+ diagnostics.push(...agentBlockKeyDiagnostics(raw.agent));
1716
1841
  if (config.agent?.instances !== void 0) {
1717
1842
  diagnostics.push({
1718
1843
  code: "misplaced_agent_instances",
@@ -1926,6 +2051,15 @@ function validateConfigValues(config, diagnostics) {
1926
2051
  };
1927
2052
  for (const c of config.connectors ?? []) {
1928
2053
  checkAccess(c.access, `connectors.${c.id}.access`);
2054
+ if (typeof c.driver !== "string" || c.driver === "") {
2055
+ const legacy = c.adapter;
2056
+ diagnostics.push({
2057
+ code: "connector_missing_driver",
2058
+ severity: "error",
2059
+ message: legacy !== void 0 ? `Connector "${c.id}" sets \`adapter: ${String(legacy)}\`; the key is \`driver\`. Rename \`adapter\` to \`driver\`.` : `Connector "${c.id}" has no \`driver\`; the runner cannot mount it. Add \`driver: <name>\`.`,
2060
+ path: `connectors.${c.id}.driver`
2061
+ });
2062
+ }
1929
2063
  checkUnavailable(c, diagnostics);
1930
2064
  }
1931
2065
  for (const m of config.mounts ?? []) checkAccess(m.access, `mounts.${m.id}.access`);
@@ -2396,7 +2530,13 @@ function buildSourceClones(sources) {
2396
2530
  const localPath = join(sourcesDir, sourceCacheKey(s.url));
2397
2531
  if (!existsSync(localPath)) continue;
2398
2532
  const commit = getRepoCommit(localPath) ?? "0".repeat(40);
2399
- clones.push({ localPath, sourceUrl: s.url, commit, tag: s.pin });
2533
+ clones.push({
2534
+ localPath,
2535
+ sourceUrl: s.url,
2536
+ commit,
2537
+ tag: s.pin,
2538
+ ...s.publisher ? { publisher: s.publisher } : {}
2539
+ });
2400
2540
  }
2401
2541
  return clones;
2402
2542
  }
@@ -2461,6 +2601,7 @@ function collectMcpRefStrings(dependencies) {
2461
2601
  var MCP_LOOKUP_KINDS = /* @__PURE__ */ new Set(["mcp-server"]);
2462
2602
  async function buildMcpProvenanceIndex(sources, projectDir) {
2463
2603
  return sources.length > 0 ? await buildProvenanceIndex(buildSourceClones(sources), {
2604
+ projectDir,
2464
2605
  // Only `mcp-server` refs are looked up in this index.
2465
2606
  knownKinds: MCP_LOOKUP_KINDS
2466
2607
  }) : /* @__PURE__ */ new Map();
@@ -2494,7 +2635,7 @@ async function loadMcpServerDeclarations(projectDir) {
2494
2635
  const explicit = config.mcp_servers ?? [];
2495
2636
  const materialized = loadMaterializedMcpDeclarations(projectDir);
2496
2637
  const mcpRefStrings = collectMcpRefStrings(config.dependencies);
2497
- const provenanceIndex = await buildMcpProvenanceIndex(config.sources ?? []);
2638
+ const provenanceIndex = await buildMcpProvenanceIndex(config.sources ?? [], projectDir);
2498
2639
  const byId = /* @__PURE__ */ new Map();
2499
2640
  const order = [];
2500
2641
  const upsert = (decl) => {
@@ -2659,6 +2800,6 @@ function resolveAgentDefinitionDir(projectDir, definition) {
2659
2800
  return resolve(projectDir, definition);
2660
2801
  }
2661
2802
 
2662
- export { AGENT_INSTANCE_ID_PATTERN, AGENT_INSTANCE_LIFECYCLES, AGENT_INSTANCE_MEMORY_SCOPES, AGENT_INSTANCE_TRIGGER_KINDS, AgentRefResolutionError, COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_AGENT_INSTANCE_ID, DEFAULT_RECIPE_ATTR, MAX_PRESET_DEPTH, PresetDepthError, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, SourceEntryError, UnknownAssetKindError, agentInstanceDiagnostics, agentSourceCacheDir, attachToBranch, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, effectiveAgentInstances, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isStagedSkillMarkerFor, isWorkspaceConfigFilename, legacySourceCacheKey, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeAgentInstances, mergeAgentPermissions, mergeSkWorkspaceConfigs, normalizeAgentInstances, normalizeConfig, parseSourceEntries, pullRepo, pullRepoResult, readLinks, readSkillAllowList, resolveAgentDefinitionDir, resolveAgentDir, resolveAll, resolveAsset, resolveCompactionThresholdPercent, resolveGlobalHarnesses, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, stagedSkillMarkerState, storeManifestSlug, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
2663
- //# sourceMappingURL=chunk-ALEYHUC5.js.map
2664
- //# sourceMappingURL=chunk-ALEYHUC5.js.map
2803
+ export { AGENT_INSTANCE_ID_PATTERN, AGENT_INSTANCE_LIFECYCLES, AGENT_INSTANCE_MEMORY_SCOPES, AGENT_INSTANCE_TRIGGER_KINDS, AgentRefResolutionError, COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_AGENT_INSTANCE_ID, DEFAULT_RECIPE_ATTR, MAX_PRESET_DEPTH, PresetDepthError, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, SourceEntryError, UnknownAssetKindError, agentBlockKeyDiagnostics, agentInstanceDiagnostics, agentSourceCacheDir, attachToBranch, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, effectiveAgentInstances, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isCommitOnRemote, isStagedSkillMarkerFor, isWorkspaceConfigFilename, legacySourceCacheKey, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeAgentInstances, mergeAgentPermissions, mergeSkWorkspaceConfigs, normalizeAgentInstances, normalizeConfig, parseSourceEntries, pullRepo, pullRepoResult, readLinks, readSkillAllowList, resolveAgentDefinitionDir, resolveAgentDir, resolveAll, resolveAsset, resolveCompactionThresholdPercent, resolveGlobalHarnesses, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, stagedSkillMarkerState, storeManifestSlug, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
2804
+ //# sourceMappingURL=chunk-L3ZGYSWY.js.map
2805
+ //# sourceMappingURL=chunk-L3ZGYSWY.js.map