@skaile/workspaces 5.10.0 → 5.12.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 (425) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +14 -2
  3. package/dist/{asset-feeds-ELEBTNUS.js → asset-feeds-AM6PSSGM.js} +24 -21
  4. package/dist/asset-feeds-AM6PSSGM.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +8 -8
  6. package/dist/asset-manager/fragments.js +1 -1
  7. package/dist/asset-manager/index.js +16 -16
  8. package/dist/asset-manager/installer.js +11 -11
  9. package/dist/asset-manager/renderers.js +9 -9
  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 +197 -11
  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/install-instances.d.ts.map +1 -1
  17. package/dist/asset-manager/src/installer.d.ts +33 -3
  18. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  19. package/dist/asset-manager/src/renderers.d.ts +5 -0
  20. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  21. package/dist/bridge/drivers/claude-sdk.js +16 -13
  22. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  23. package/dist/bridge/drivers/codex.js +43 -16
  24. package/dist/bridge/drivers/codex.js.map +1 -1
  25. package/dist/bridge/drivers/continue.js +10 -10
  26. package/dist/bridge/drivers/echo.js +2 -2
  27. package/dist/bridge/drivers/gemini.js +7 -7
  28. package/dist/bridge/drivers/goose.js +10 -10
  29. package/dist/bridge/drivers/omp.js +52 -9
  30. package/dist/bridge/drivers/omp.js.map +1 -1
  31. package/dist/bridge/drivers/opencode.js +10 -10
  32. package/dist/bridge/drivers/qwen.js +7 -7
  33. package/dist/bridge/index.js +12 -12
  34. package/dist/bridge/src/codex/config-toml.d.ts +8 -3
  35. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -1
  36. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -1
  38. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  40. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/omp.d.ts +9 -0
  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-7CR6HT2X.js → chunk-27L6BBAT.js} +9 -9
  46. package/dist/{chunk-7CR6HT2X.js.map → chunk-27L6BBAT.js.map} +1 -1
  47. package/dist/{chunk-QG3HOJEK.js → chunk-2JFIFDDO.js} +3 -3
  48. package/dist/{chunk-QG3HOJEK.js.map → chunk-2JFIFDDO.js.map} +1 -1
  49. package/dist/{chunk-IJHH4DSW.js → chunk-2X3JBVGD.js} +11 -10
  50. package/dist/chunk-2X3JBVGD.js.map +1 -0
  51. package/dist/{chunk-G54USEUP.js → chunk-3HUV2LJF.js} +4 -4
  52. package/dist/{chunk-G54USEUP.js.map → chunk-3HUV2LJF.js.map} +1 -1
  53. package/dist/{chunk-JFXQEVLF.js → chunk-3LVB3HGH.js} +3 -3
  54. package/dist/{chunk-JFXQEVLF.js.map → chunk-3LVB3HGH.js.map} +1 -1
  55. package/dist/{chunk-32XKCNCL.js → chunk-6VLHITAM.js} +146 -4
  56. package/dist/chunk-6VLHITAM.js.map +1 -0
  57. package/dist/{chunk-GEWAIQZ5.js → chunk-7CR2OZPA.js} +10 -12
  58. package/dist/chunk-7CR2OZPA.js.map +1 -0
  59. package/dist/{chunk-6HHE63CO.js → chunk-7QWQTA5S.js} +89 -12
  60. package/dist/chunk-7QWQTA5S.js.map +1 -0
  61. package/dist/{chunk-7I5VRVDP.js → chunk-7XWUJC3A.js} +4 -4
  62. package/dist/{chunk-7I5VRVDP.js.map → chunk-7XWUJC3A.js.map} +1 -1
  63. package/dist/{chunk-3BEY4WK3.js → chunk-C3BMXXTN.js} +203 -31
  64. package/dist/chunk-C3BMXXTN.js.map +1 -0
  65. package/dist/{chunk-IXWODEED.js → chunk-CTP3XBMF.js} +47 -8
  66. package/dist/chunk-CTP3XBMF.js.map +1 -0
  67. package/dist/{chunk-HOHUEKES.js → chunk-DCHQ6BAZ.js} +3 -3
  68. package/dist/{chunk-HOHUEKES.js.map → chunk-DCHQ6BAZ.js.map} +1 -1
  69. package/dist/{chunk-DALV4HHP.js → chunk-DKXNKFKP.js} +3 -2
  70. package/dist/{chunk-DALV4HHP.js.map → chunk-DKXNKFKP.js.map} +1 -1
  71. package/dist/{chunk-3MKPZZRE.js → chunk-G3X4MLDB.js} +3 -3
  72. package/dist/{chunk-3MKPZZRE.js.map → chunk-G3X4MLDB.js.map} +1 -1
  73. package/dist/{chunk-SBFW3CJH.js → chunk-GWD3QNVS.js} +5 -5
  74. package/dist/{chunk-SBFW3CJH.js.map → chunk-GWD3QNVS.js.map} +1 -1
  75. package/dist/chunk-H5U7LNTJ.js +122 -0
  76. package/dist/chunk-H5U7LNTJ.js.map +1 -0
  77. package/dist/{chunk-SX5U422E.js → chunk-HYMERG57.js} +3 -3
  78. package/dist/{chunk-SX5U422E.js.map → chunk-HYMERG57.js.map} +1 -1
  79. package/dist/{chunk-V5TZH4GF.js → chunk-ICIYSJBQ.js} +4 -4
  80. package/dist/{chunk-V5TZH4GF.js.map → chunk-ICIYSJBQ.js.map} +1 -1
  81. package/dist/{chunk-YBQONMH2.js → chunk-ID745F3R.js} +353 -193
  82. package/dist/chunk-ID745F3R.js.map +1 -0
  83. package/dist/{chunk-CLTHEKHR.js → chunk-JQ3DXNQV.js} +4 -4
  84. package/dist/{chunk-CLTHEKHR.js.map → chunk-JQ3DXNQV.js.map} +1 -1
  85. package/dist/chunk-K4VOEYOR.js +21 -0
  86. package/dist/chunk-K4VOEYOR.js.map +1 -0
  87. package/dist/{chunk-XCNK4UE5.js → chunk-KVSDRB35.js} +5 -5
  88. package/dist/{chunk-XCNK4UE5.js.map → chunk-KVSDRB35.js.map} +1 -1
  89. package/dist/{chunk-HJ5MCB3L.js → chunk-MF54ZHWT.js} +20 -3
  90. package/dist/chunk-MF54ZHWT.js.map +1 -0
  91. package/dist/{chunk-NRDSGLCQ.js → chunk-N5M2EISA.js} +240 -52
  92. package/dist/chunk-N5M2EISA.js.map +1 -0
  93. package/dist/{chunk-OBVJ7RPW.js → chunk-NDF24LYP.js} +3 -3
  94. package/dist/{chunk-OBVJ7RPW.js.map → chunk-NDF24LYP.js.map} +1 -1
  95. package/dist/{chunk-ZGQTS3Y4.js → chunk-NGJIVDDD.js} +3 -3
  96. package/dist/{chunk-ZGQTS3Y4.js.map → chunk-NGJIVDDD.js.map} +1 -1
  97. package/dist/{chunk-PE36IF2D.js → chunk-NJV5SLEK.js} +159 -44
  98. package/dist/chunk-NJV5SLEK.js.map +1 -0
  99. package/dist/{chunk-OOWHXOK6.js → chunk-NJXR5OAM.js} +4 -4
  100. package/dist/{chunk-OOWHXOK6.js.map → chunk-NJXR5OAM.js.map} +1 -1
  101. package/dist/{chunk-CGYEHQOX.js → chunk-NOA6EJXE.js} +11 -2
  102. package/dist/chunk-NOA6EJXE.js.map +1 -0
  103. package/dist/{chunk-V7PQZOBR.js → chunk-NR7H7ZJP.js} +14 -6
  104. package/dist/chunk-NR7H7ZJP.js.map +1 -0
  105. package/dist/{chunk-OBYKJB4U.js → chunk-O2SYFJWP.js} +79 -5
  106. package/dist/chunk-O2SYFJWP.js.map +1 -0
  107. package/dist/{chunk-5LKOAX7I.js → chunk-OQ5MKDS3.js} +21 -5
  108. package/dist/chunk-OQ5MKDS3.js.map +1 -0
  109. package/dist/{chunk-4P3KTUZH.js → chunk-P23WJCH2.js} +51 -14
  110. package/dist/chunk-P23WJCH2.js.map +1 -0
  111. package/dist/{chunk-NWDSLXOX.js → chunk-PHRNUTSG.js} +118 -118
  112. package/dist/chunk-PHRNUTSG.js.map +1 -0
  113. package/dist/{chunk-JZCSNEHK.js → chunk-PNOGX36L.js} +141 -39
  114. package/dist/chunk-PNOGX36L.js.map +1 -0
  115. package/dist/{chunk-4OV5DSBB.js → chunk-PNTXHTBC.js} +5 -5
  116. package/dist/chunk-PNTXHTBC.js.map +1 -0
  117. package/dist/{chunk-TRSQP3JD.js → chunk-POQ6PGNE.js} +20 -4
  118. package/dist/chunk-POQ6PGNE.js.map +1 -0
  119. package/dist/{chunk-Y63UQZ7P.js → chunk-QCEKGYHF.js} +3 -3
  120. package/dist/{chunk-Y63UQZ7P.js.map → chunk-QCEKGYHF.js.map} +1 -1
  121. package/dist/{chunk-GFCXNFTW.js → chunk-SHQMPGOL.js} +4 -4
  122. package/dist/{chunk-GFCXNFTW.js.map → chunk-SHQMPGOL.js.map} +1 -1
  123. package/dist/{chunk-WBYDAL6X.js → chunk-SMT3LNAG.js} +4 -4
  124. package/dist/{chunk-WBYDAL6X.js.map → chunk-SMT3LNAG.js.map} +1 -1
  125. package/dist/{chunk-2FMEGSBN.js → chunk-T5TSLSRO.js} +135 -47
  126. package/dist/chunk-T5TSLSRO.js.map +1 -0
  127. package/dist/{chunk-2JMLDZLP.js → chunk-TVAR4JHA.js} +903 -138
  128. package/dist/chunk-TVAR4JHA.js.map +1 -0
  129. package/dist/{chunk-MVQ3Q2HM.js → chunk-UTKENBB6.js} +5 -5
  130. package/dist/{chunk-MVQ3Q2HM.js.map → chunk-UTKENBB6.js.map} +1 -1
  131. package/dist/{chunk-TH4CTXHX.js → chunk-VRLKHL74.js} +6 -6
  132. package/dist/{chunk-TH4CTXHX.js.map → chunk-VRLKHL74.js.map} +1 -1
  133. package/dist/{chunk-Z2K6BGUR.js → chunk-WI4T3KIS.js} +51 -16
  134. package/dist/chunk-WI4T3KIS.js.map +1 -0
  135. package/dist/{chunk-MGGFBZWA.js → chunk-X3RMRJNR.js} +6 -4
  136. package/dist/chunk-X3RMRJNR.js.map +1 -0
  137. package/dist/{chunk-FRPBSUFH.js → chunk-X6LKA3TJ.js} +5 -5
  138. package/dist/{chunk-FRPBSUFH.js.map → chunk-X6LKA3TJ.js.map} +1 -1
  139. package/dist/{chunk-3KHYGOEY.js → chunk-XMAJJPA4.js} +3 -3
  140. package/dist/{chunk-3KHYGOEY.js.map → chunk-XMAJJPA4.js.map} +1 -1
  141. package/dist/{chunk-Y34MSWEZ.js → chunk-XTVSNWLL.js} +19 -7
  142. package/dist/chunk-XTVSNWLL.js.map +1 -0
  143. package/dist/{chunk-VLXDXRRX.js → chunk-XZY6SBGU.js} +3 -3
  144. package/dist/{chunk-VLXDXRRX.js.map → chunk-XZY6SBGU.js.map} +1 -1
  145. package/dist/{chunk-5QI2JYJC.js → chunk-YQU2BPQD.js} +7 -5
  146. package/dist/chunk-YQU2BPQD.js.map +1 -0
  147. package/dist/cli/index.js +1207 -580
  148. package/dist/cli/index.js.map +1 -1
  149. package/dist/cli/src/agent-checks.d.ts +40 -0
  150. package/dist/cli/src/agent-checks.d.ts.map +1 -0
  151. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  152. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  153. package/dist/cli/src/commands/catalog.d.ts +24 -0
  154. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  155. package/dist/cli/src/commands/config.d.ts.map +1 -1
  156. package/dist/cli/src/commands/diff.d.ts +1 -1
  157. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  158. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  159. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  160. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  161. package/dist/cli/src/commands/manage.d.ts +6 -0
  162. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  163. package/dist/cli/src/commands/mcp-server.d.ts +1 -1
  164. package/dist/cli/src/commands/migrate-assets.d.ts +2 -1
  165. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  166. package/dist/cli/src/commands/migrate.d.ts.map +1 -1
  167. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  168. package/dist/cli/src/commands/plugin/claude-code.d.ts +1 -1
  169. package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
  170. package/dist/cli/src/commands/plugin/types.d.ts +1 -1
  171. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  172. package/dist/cli/src/commands/project.d.ts +3 -1
  173. package/dist/cli/src/commands/project.d.ts.map +1 -1
  174. package/dist/cli/src/commands/publish-core.d.ts +5 -0
  175. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  176. package/dist/cli/src/commands/run.d.ts +2 -1
  177. package/dist/cli/src/commands/run.d.ts.map +1 -1
  178. package/dist/cli/src/commands/serve-preflight.d.ts +22 -0
  179. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -0
  180. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  181. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  182. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  183. package/dist/cli/src/commands/source.d.ts.map +1 -1
  184. package/dist/cli/src/commands/store.d.ts.map +1 -1
  185. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  186. package/dist/cli/src/commands/update.d.ts.map +1 -1
  187. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  188. package/dist/cli/src/commands/why.d.ts +1 -0
  189. package/dist/cli/src/commands/why.d.ts.map +1 -1
  190. package/dist/cli/src/curated-manifests.d.ts +21 -0
  191. package/dist/cli/src/curated-manifests.d.ts.map +1 -0
  192. package/dist/cli/src/helpers.d.ts +12 -0
  193. package/dist/cli/src/helpers.d.ts.map +1 -1
  194. package/dist/cli/src/index-busy.d.ts +8 -0
  195. package/dist/cli/src/index-busy.d.ts.map +1 -0
  196. package/dist/cli/src/plugin-store/paths.d.ts +7 -3
  197. package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
  198. package/dist/cli/src/skill-checks.d.ts +29 -8
  199. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  200. package/dist/cli/src/store-addable.d.ts +18 -0
  201. package/dist/cli/src/store-addable.d.ts.map +1 -0
  202. package/dist/connectors/config.js +5 -5
  203. package/dist/connectors/index.js +16 -16
  204. package/dist/{connectors-OXP2JBGI.js → connectors-UNKUKEPG.js} +19 -19
  205. package/dist/{connectors-OXP2JBGI.js.map → connectors-UNKUKEPG.js.map} +1 -1
  206. package/dist/core/index.js +7 -7
  207. package/dist/core/logging.js +1 -1
  208. package/dist/core/manifest.js +2 -2
  209. package/dist/core/models.js +1 -1
  210. package/dist/core/publish-manifest.js +2 -2
  211. package/dist/core/ref.js +1 -1
  212. package/dist/core/runtime-assets.js +5 -5
  213. package/dist/core/src/index.d.ts +5 -4
  214. package/dist/core/src/index.d.ts.map +1 -1
  215. package/dist/core/src/lock.d.ts +19 -8
  216. package/dist/core/src/lock.d.ts.map +1 -1
  217. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  218. package/dist/core/src/manifest.d.ts +5 -0
  219. package/dist/core/src/manifest.d.ts.map +1 -1
  220. package/dist/core/src/models.d.ts +4 -4
  221. package/dist/core/src/models.d.ts.map +1 -1
  222. package/dist/core/src/package-manager.d.ts +19 -0
  223. package/dist/core/src/package-manager.d.ts.map +1 -0
  224. package/dist/core/src/publish-manifest.d.ts +11 -1
  225. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  226. package/dist/core/src/repo-manager.d.ts +11 -0
  227. package/dist/core/src/repo-manager.d.ts.map +1 -1
  228. package/dist/core/src/settings.d.ts +26 -6
  229. package/dist/core/src/settings.d.ts.map +1 -1
  230. package/dist/core/src/walker.d.ts +6 -1
  231. package/dist/core/src/walker.d.ts.map +1 -1
  232. package/dist/core/src/workspace-config.d.ts +4 -1
  233. package/dist/core/src/workspace-config.d.ts.map +1 -1
  234. package/dist/core/workspace-config.js +4 -4
  235. package/dist/deploy/index.js +7 -7
  236. package/dist/discovery/index.js +5 -5
  237. package/dist/discovery/src/source-config.d.ts.map +1 -1
  238. package/dist/{ensure-sources-5ISVIA4T.js → ensure-sources-POMEQSTM.js} +19 -19
  239. package/dist/{ensure-sources-5ISVIA4T.js.map → ensure-sources-POMEQSTM.js.map} +1 -1
  240. package/dist/factory-assets/connectors/box.js +16 -16
  241. package/dist/factory-assets/connectors/deploy.js +16 -16
  242. package/dist/factory-assets/connectors/devserver.js +16 -16
  243. package/dist/factory-assets/connectors/flow/adapter.js +16 -16
  244. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  245. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  246. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  247. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  248. package/dist/factory-assets/connectors/flow/run-flow.js +18 -18
  249. package/dist/factory-assets/connectors/flow.js +16 -16
  250. package/dist/factory-assets/connectors/git.js +16 -16
  251. package/dist/factory-assets/connectors/gmail.js +16 -16
  252. package/dist/factory-assets/connectors/googledrive.js +16 -16
  253. package/dist/factory-assets/connectors/local.js +16 -16
  254. package/dist/factory-assets/connectors/mattermost.js +16 -16
  255. package/dist/factory-assets/connectors/memory.js +16 -16
  256. package/dist/factory-assets/connectors/minio.js +16 -16
  257. package/dist/factory-assets/connectors/postgres.js +16 -16
  258. package/dist/factory-assets/connectors/s3.js +16 -16
  259. package/dist/factory-assets/connectors/sharepoint.js +16 -16
  260. package/dist/factory-assets/connectors/sqlite.js +16 -16
  261. package/dist/factory-assets/connectors/static-server.js +16 -16
  262. package/dist/factory-assets/connectors/tunnel.js +16 -16
  263. package/dist/factory-assets/connectors/webdav.js +16 -16
  264. package/dist/factory-assets/connectors/xstate-store.js +16 -16
  265. package/dist/factory-assets/connectors/xstate.js +16 -16
  266. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +10 -8
  267. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +15 -11
  268. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +16 -11
  269. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +2 -2
  270. package/dist/{flows-HMSE76PO.js → flows-DVKMZKM4.js} +12 -12
  271. package/dist/{flows-HMSE76PO.js.map → flows-DVKMZKM4.js.map} +1 -1
  272. package/dist/{helpers-X6URBGSF.js → helpers-Y4OT7VIS.js} +19 -19
  273. package/dist/{helpers-X6URBGSF.js.map → helpers-Y4OT7VIS.js.map} +1 -1
  274. package/dist/library/index.js +12 -12
  275. package/dist/library/install.js +4 -4
  276. package/dist/library/src/index.d.ts +3 -3
  277. package/dist/library/src/index.d.ts.map +1 -1
  278. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  279. package/dist/library/src/local/db.d.ts +2 -0
  280. package/dist/library/src/local/db.d.ts.map +1 -1
  281. package/dist/library/src/local/library-dir.d.ts +26 -0
  282. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  283. package/dist/library/src/local/library-manager.d.ts +5 -0
  284. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  285. package/dist/library/src/local/library.d.ts +5 -3
  286. package/dist/library/src/local/library.d.ts.map +1 -1
  287. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  288. package/dist/library/src/local/store-paths.d.ts +9 -0
  289. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  290. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  291. package/dist/library/src/remote/index.d.ts +1 -1
  292. package/dist/library/src/remote/index.d.ts.map +1 -1
  293. package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
  294. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  295. package/dist/library/src/sync/git-driver.d.ts +2 -0
  296. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  297. package/dist/{library-publish-OS3JDW4S.js → library-publish-DI4Q5UOG.js} +73 -38
  298. package/dist/library-publish-DI4Q5UOG.js.map +1 -0
  299. package/dist/open-library-N6ESO6IK.js +40 -0
  300. package/dist/{open-library-4QSUORI6.js.map → open-library-N6ESO6IK.js.map} +1 -1
  301. package/dist/open-registry-CBZ5MWTT.js +32 -0
  302. package/dist/{open-registry-VCKS3MP5.js.map → open-registry-CBZ5MWTT.js.map} +1 -1
  303. package/dist/paths-U6W6MQNQ.js +22 -0
  304. package/dist/{paths-BVO56A25.js.map → paths-U6W6MQNQ.js.map} +1 -1
  305. package/dist/{plugin-store-X7GPWGBG.js → plugin-store-XMZSPVBF.js} +48 -12
  306. package/dist/plugin-store-XMZSPVBF.js.map +1 -0
  307. package/dist/project-UP52HEHC.js +79 -0
  308. package/dist/{project-PAXP46RD.js.map → project-UP52HEHC.js.map} +1 -1
  309. package/dist/resolver/index.js +8 -8
  310. package/dist/runner/index.js +33 -33
  311. package/dist/runner/src/agent.d.ts.map +1 -1
  312. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
  313. package/dist/runner/src/composition/index.d.ts +1 -0
  314. package/dist/runner/src/composition/index.d.ts.map +1 -1
  315. package/dist/runner/src/composition/prompt-sections.d.ts +7 -4
  316. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
  317. package/dist/runner/src/composition/resolve.d.ts +10 -1
  318. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  319. package/dist/runner/src/composition/verify.d.ts +29 -0
  320. package/dist/runner/src/composition/verify.d.ts.map +1 -0
  321. package/dist/runner/src/credential-notice.d.ts +14 -0
  322. package/dist/runner/src/credential-notice.d.ts.map +1 -0
  323. package/dist/runner/src/environment.d.ts.map +1 -1
  324. package/dist/runner/src/final-text.d.ts +17 -0
  325. package/dist/runner/src/final-text.d.ts.map +1 -0
  326. package/dist/runner/src/index.d.ts +2 -0
  327. package/dist/runner/src/index.d.ts.map +1 -1
  328. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  329. package/dist/runner/src/serve.d.ts +13 -0
  330. package/dist/runner/src/serve.d.ts.map +1 -1
  331. package/dist/runner/src/usage-limit-turn-hold.d.ts +51 -0
  332. package/dist/runner/src/usage-limit-turn-hold.d.ts.map +1 -0
  333. package/dist/sdk/asset-manager.js +16 -16
  334. package/dist/sdk/bridge.js +12 -12
  335. package/dist/sdk/core.js +7 -7
  336. package/dist/sdk/flow.js +9 -9
  337. package/dist/sdk/index.js +36 -34
  338. package/dist/sdk/index.js.map +1 -1
  339. package/dist/sdk/resolver.js +8 -8
  340. package/dist/sdk/runner.js +33 -33
  341. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  342. package/dist/sdk/transport/ws/client.js +1 -1
  343. package/dist/sdk/transport/ws/server.js +1 -1
  344. package/dist/sdk/transport/ws.js +2 -2
  345. package/dist/sdk/transport.js +2 -2
  346. package/dist/serve-preflight-6P2JJEJ3.js +47 -0
  347. package/dist/serve-preflight-6P2JJEJ3.js.map +1 -0
  348. package/dist/{setup-BV55VHWC.js → setup-5IRUH5OS.js} +24 -24
  349. package/dist/{setup-BV55VHWC.js.map → setup-5IRUH5OS.js.map} +1 -1
  350. package/dist/{skills-EDFUCJPX.js → skills-HA36RFNM.js} +13 -13
  351. package/dist/{skills-EDFUCJPX.js.map → skills-HA36RFNM.js.map} +1 -1
  352. package/dist/source-DX5SGWEI.js +41 -0
  353. package/dist/{source-E4VAT5RZ.js.map → source-DX5SGWEI.js.map} +1 -1
  354. package/dist/source-fetch-github-PIO6EMMF.js +4 -0
  355. package/dist/{source-fetch-github-QN4LLTL5.js.map → source-fetch-github-PIO6EMMF.js.map} +1 -1
  356. package/dist/{source-manifest-publish-CLEE6TNH.js → source-manifest-publish-NMRLXWVW.js} +27 -26
  357. package/dist/source-manifest-publish-NMRLXWVW.js.map +1 -0
  358. package/dist/transport/index.js +2 -2
  359. package/dist/transport/src/ws/client.d.ts +6 -0
  360. package/dist/transport/src/ws/client.d.ts.map +1 -1
  361. package/dist/transport/src/ws/server.d.ts +4 -0
  362. package/dist/transport/src/ws/server.d.ts.map +1 -1
  363. package/dist/transport/ws/client.js +1 -1
  364. package/dist/transport/ws/server.js +1 -1
  365. package/dist/transport/ws.js +2 -2
  366. package/dist/tui/index.js +89 -52
  367. package/dist/tui/index.js.map +1 -1
  368. package/dist/tui/src/repl-session.d.ts +1 -1
  369. package/dist/tui/src/repl-session.d.ts.map +1 -1
  370. package/dist/tui/src/repl.d.ts +3 -0
  371. package/dist/tui/src/repl.d.ts.map +1 -1
  372. package/dist/types/manifests.js +1 -1
  373. package/dist/types/src/manifests/agent-composition.d.ts +20 -0
  374. package/dist/types/src/manifests/agent-composition.d.ts.map +1 -1
  375. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  376. package/dist/types/src/manifests/cron.d.ts +15 -0
  377. package/dist/types/src/manifests/cron.d.ts.map +1 -0
  378. package/dist/types/src/manifests/index.d.ts +3 -2
  379. package/dist/types/src/manifests/index.d.ts.map +1 -1
  380. package/dist/types/src/manifests/preset.d.ts +1 -1
  381. package/dist/workspace-plugin/adapters/mcp.js +23 -23
  382. package/dist/workspace-plugin/adapters/omp.js +106 -51
  383. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  384. package/dist/workspace-plugin/index.js +2 -2
  385. package/dist/workspace-plugin/src/adapters/claude-code.d.ts.map +1 -1
  386. package/dist/workspace-plugin/src/adapters/omp.d.ts +11 -2
  387. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  388. package/package.json +1 -1
  389. package/dist/asset-feeds-ELEBTNUS.js.map +0 -1
  390. package/dist/chunk-2FMEGSBN.js.map +0 -1
  391. package/dist/chunk-2JMLDZLP.js.map +0 -1
  392. package/dist/chunk-32XKCNCL.js.map +0 -1
  393. package/dist/chunk-3BEY4WK3.js.map +0 -1
  394. package/dist/chunk-4OV5DSBB.js.map +0 -1
  395. package/dist/chunk-4P3KTUZH.js.map +0 -1
  396. package/dist/chunk-5LKOAX7I.js.map +0 -1
  397. package/dist/chunk-5QI2JYJC.js.map +0 -1
  398. package/dist/chunk-6HHE63CO.js.map +0 -1
  399. package/dist/chunk-CGYEHQOX.js.map +0 -1
  400. package/dist/chunk-GEWAIQZ5.js.map +0 -1
  401. package/dist/chunk-HJ5MCB3L.js.map +0 -1
  402. package/dist/chunk-IJHH4DSW.js.map +0 -1
  403. package/dist/chunk-IXWODEED.js.map +0 -1
  404. package/dist/chunk-JZCSNEHK.js.map +0 -1
  405. package/dist/chunk-MGGFBZWA.js.map +0 -1
  406. package/dist/chunk-NRDSGLCQ.js.map +0 -1
  407. package/dist/chunk-NWDSLXOX.js.map +0 -1
  408. package/dist/chunk-OBYKJB4U.js.map +0 -1
  409. package/dist/chunk-PE36IF2D.js.map +0 -1
  410. package/dist/chunk-R7FOF242.js +0 -59
  411. package/dist/chunk-R7FOF242.js.map +0 -1
  412. package/dist/chunk-TRSQP3JD.js.map +0 -1
  413. package/dist/chunk-V7PQZOBR.js.map +0 -1
  414. package/dist/chunk-Y34MSWEZ.js.map +0 -1
  415. package/dist/chunk-YBQONMH2.js.map +0 -1
  416. package/dist/chunk-Z2K6BGUR.js.map +0 -1
  417. package/dist/library-publish-OS3JDW4S.js.map +0 -1
  418. package/dist/open-library-4QSUORI6.js +0 -40
  419. package/dist/open-registry-VCKS3MP5.js +0 -32
  420. package/dist/paths-BVO56A25.js +0 -22
  421. package/dist/plugin-store-X7GPWGBG.js.map +0 -1
  422. package/dist/project-PAXP46RD.js +0 -41
  423. package/dist/source-E4VAT5RZ.js +0 -41
  424. package/dist/source-fetch-github-QN4LLTL5.js +0 -4
  425. package/dist/source-manifest-publish-CLEE6TNH.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { globalCacheRoot, globalSkaileDir, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed } from './chunk-L5VSIPQD.js';
2
2
  import { SUPPORTED_DRIVER_TARGETS, globalHarnessRoot } from './chunk-CPSIPIX7.js';
3
- import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-IXWODEED.js';
3
+ import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-CTP3XBMF.js';
4
4
  import { readPluginGroupings } from './chunk-RVRB27AN.js';
5
- import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs } from './chunk-Y34MSWEZ.js';
6
- import { isValidAssetName, slugifyAssetName, depToStr, parseAssetRef, assetRefToStr } from './chunk-4OV5DSBB.js';
5
+ import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs, agentYamlRequires } from './chunk-XTVSNWLL.js';
6
+ import { isValidAssetName, slugifyAssetName, depToStr, parseAssetRef, assetRefToStr } from './chunk-PNTXHTBC.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';
@@ -281,7 +281,20 @@ var MD_FILE_BY_KIND = Object.fromEntries(
281
281
  );
282
282
  async function buildProvenanceIndex(clones, opts) {
283
283
  const index = /* @__PURE__ */ new Map();
284
- for (const clone of clones) await walkOne(clone, index, opts.knownKinds);
284
+ for (const clone of clones) {
285
+ if (!opts.onSourceError) {
286
+ await walkOne(clone, index, opts.knownKinds);
287
+ continue;
288
+ }
289
+ const scratch = /* @__PURE__ */ new Map();
290
+ try {
291
+ await walkOne(clone, scratch, opts.knownKinds);
292
+ } catch (err) {
293
+ opts.onSourceError(clone, err);
294
+ continue;
295
+ }
296
+ for (const [key, candidates] of scratch) for (const c of candidates) push(index, key, c);
297
+ }
285
298
  return index;
286
299
  }
287
300
  async function walkOne(clone, index, knownKinds) {
@@ -289,15 +302,31 @@ async function walkOne(clone, index, knownKinds) {
289
302
  if (await walkWithManifest(clone, clone.overlayManifestPath, index)) return;
290
303
  }
291
304
  const manifestPaths = findManifestFiles(clone.localPath);
305
+ const repoLevel = repoLevelManifest(
306
+ [clone.overlayManifestPath, ...manifestPaths].filter((p) => !!p)
307
+ );
292
308
  if (manifestPaths.length === 0) {
293
- await walkFilenameConvention(clone, index, knownKinds);
309
+ await walkFilenameConvention(clone, index, knownKinds, repoLevel);
294
310
  return;
295
311
  }
296
312
  let produced = false;
297
313
  for (const p of manifestPaths) {
298
314
  if (await walkWithManifest(clone, p, index)) produced = true;
299
315
  }
300
- if (!produced) await walkFilenameConvention(clone, index, knownKinds);
316
+ if (!produced) await walkFilenameConvention(clone, index, knownKinds, repoLevel);
317
+ }
318
+ function repoLevelManifest(paths) {
319
+ for (const p of paths) {
320
+ if (!existsSync(p)) continue;
321
+ const { manifest } = decodeSkaileManifest(readFileSync(p, "utf8"));
322
+ if (manifest.publisher) {
323
+ return {
324
+ publisher: manifest.publisher.replace(/^@/, ""),
325
+ version: manifest.version
326
+ };
327
+ }
328
+ }
329
+ return {};
301
330
  }
302
331
  function findManifestFiles(root) {
303
332
  const found = [];
@@ -440,14 +469,14 @@ var DIR_SCOPED_KINDS = /* @__PURE__ */ new Set([
440
469
  "connector",
441
470
  "knowledge"
442
471
  ]);
443
- async function walkFilenameConvention(clone, index, knownKinds) {
444
- const publisher = publisherFromGithubUrl(clone.sourceUrl);
472
+ async function walkFilenameConvention(clone, index, knownKinds, repoLevel = {}) {
473
+ const publisher = repoLevel.publisher ?? publisherFromGithubUrl(clone.sourceUrl);
445
474
  if (!publisher) {
446
475
  throw new Error(
447
476
  `${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL).`
448
477
  );
449
478
  }
450
- const version = (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
479
+ const version = repoLevel.version ?? (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
451
480
  for (const e of await scanDirectory(clone.localPath, publisher, { knownKinds })) {
452
481
  const manifestAbs = e.source;
453
482
  const manifestRel = relative(clone.localPath, manifestAbs).replace(/\\/g, "/");
@@ -506,11 +535,24 @@ async function manifestDeps(repoRoot, files, kind) {
506
535
  const { refs, skipped } = await assetDepRefs(join(repoRoot, mf.path));
507
536
  return kind === "preset" ? { deps: refs, skippedItems: skipped } : { deps: refs };
508
537
  }
538
+ function readAgentYamlRequires(repoRoot, files, kind) {
539
+ if (kind !== "agent") return [];
540
+ const yaml = files.find((f) => posix.basename(f.path) === "agent.yaml");
541
+ if (!yaml) return [];
542
+ try {
543
+ return agentYamlRequires(readFileSync(join(repoRoot, yaml.path), "utf8"));
544
+ } catch {
545
+ return [];
546
+ }
547
+ }
509
548
  async function candidateDeps(repoRoot, files, kind, publisher, explicit) {
510
549
  const base = explicit ? { deps: explicit } : await manifestDeps(repoRoot, files, kind);
511
550
  if (kind === "preset" || kind === "flow") return base;
512
551
  const frontmatter = readContentFrontmatter(repoRoot, files, kind);
513
- const declared = frontmatter ? parseRequires(frontmatter).map(depToStr) : [];
552
+ const declared = [
553
+ ...frontmatter ? parseRequires(frontmatter) : [],
554
+ ...readAgentYamlRequires(repoRoot, files, kind)
555
+ ].map(depToStr);
514
556
  if (declared.length === 0) return base;
515
557
  return { ...base, deps: dedupeRequirementRefs([...base.deps ?? [], ...declared], publisher) };
516
558
  }
@@ -627,18 +669,33 @@ function getRepoCommit(repoDir) {
627
669
  });
628
670
  return r.status === 0 ? r.stdout.trim() : null;
629
671
  }
630
- function checkoutPin(repoDir, pin) {
631
- spawnSync("git", ["-C", repoDir, "fetch", "--depth=1", "origin", pin], {
672
+ function isCommitOnRemote(repoDir, commit) {
673
+ if (!/^[0-9a-f]{7,64}$/i.test(commit) || !hasOwnGit(repoDir)) return true;
674
+ if (!getRepoRemoteUrl(repoDir)) return true;
675
+ const known = spawnSync("git", ["-C", repoDir, "cat-file", "-e", `${commit}^{commit}`], {
676
+ stdio: "pipe",
677
+ env: GIT_ENV
678
+ });
679
+ if (known.status !== 0) return true;
680
+ const r = spawnSync("git", ["-C", repoDir, "branch", "-r", "--contains", commit], {
681
+ encoding: "utf8",
632
682
  stdio: "pipe",
633
683
  env: GIT_ENV
634
684
  });
635
- const r = spawnSync("git", ["-C", repoDir, "checkout", "FETCH_HEAD"], {
685
+ return r.status !== 0 || r.stdout.trim().length > 0;
686
+ }
687
+ function checkoutPin(repoDir, pin) {
688
+ const fetched = spawnSync("git", ["-C", repoDir, "fetch", "--depth=1", "origin", pin], {
636
689
  stdio: "pipe",
637
690
  env: GIT_ENV
638
691
  });
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;
692
+ const r = fetched.status === 0 ? spawnSync("git", ["-C", repoDir, "checkout", "FETCH_HEAD"], { stdio: "pipe", env: GIT_ENV }) : void 0;
693
+ const ok = r?.status === 0 || spawnSync("git", ["-C", repoDir, "checkout", pin], { stdio: "pipe", env: GIT_ENV }).status === 0;
694
+ if (!ok) return false;
695
+ if (/^[0-9a-f]{7,40}$/i.test(pin)) {
696
+ return getRepoCommit(repoDir)?.toLowerCase().startsWith(pin.toLowerCase()) === true;
697
+ }
698
+ return true;
642
699
  }
643
700
  function currentBranch(repoDir) {
644
701
  const r = spawnSync("git", ["-C", repoDir, "symbolic-ref", "--short", "-q", "HEAD"], {
@@ -744,7 +801,7 @@ function isManagedCacheDir(dir) {
744
801
  const target = resolve(dir);
745
802
  return target === root || target.startsWith(root + sep);
746
803
  }
747
- function syncManagedClone(dest, url, branch, pin) {
804
+ function syncManagedClone(dest, url, branch, pin, strictPin = false) {
748
805
  const cached = existsSync(join(dest, ".git"));
749
806
  if (cached && remoteUrlMatches(dest, url)) {
750
807
  spawnSync("git", ["-C", dest, "remote", "set-url", "origin", url], {
@@ -770,6 +827,13 @@ function syncManagedClone(dest, url, branch, pin) {
770
827
  }
771
828
  if (pin && getRepoCommit(dest) === pin) return;
772
829
  if (pin && !checkoutPin(dest, pin)) {
830
+ if (strictPin) {
831
+ throw new Error(
832
+ redactCredentials(
833
+ `could not check out pin ${pin} in source clone ${dest}: the commit is not on the remote (an unpublished commit, or a rewritten branch)`
834
+ )
835
+ );
836
+ }
773
837
  console.warn(
774
838
  redactCredentials(
775
839
  `[repo-manager] could not check out pin ${pin} in source clone ${dest}. Using the cached commit.`
@@ -783,19 +847,25 @@ function ensureLocalPathRepo(decl, reposDir, opts) {
783
847
  const exists = existsSync(resolved);
784
848
  if (exists && (!decl.url || remoteUrlMatches(resolved, decl.url))) {
785
849
  if (decl.url && !decl.factory && hasOwnGit(resolved) && isManagedCacheDir(resolved)) {
786
- syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin);
850
+ syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin, opts?.strictPin);
787
851
  }
788
852
  return resolved;
789
853
  }
790
854
  if (!decl.url) {
791
855
  throw new Error(`Local repository path not found: ${decl.path} (resolved: ${resolved})`);
792
856
  }
793
- syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin);
857
+ syncManagedClone(resolved, decl.url, decl.branch ?? "main", opts?.pin, opts?.strictPin);
794
858
  return resolved;
795
859
  }
796
860
  function ensureRemoteRepo(decl, name, reposDir, opts) {
797
861
  const cacheDest = join(getGlobalCacheDir(), name);
798
- syncManagedClone(cacheDest, decl.url, decl.branch ?? "main", opts?.pin);
862
+ syncManagedClone(
863
+ cacheDest,
864
+ decl.url,
865
+ decl.branch ?? "main",
866
+ opts?.pin,
867
+ opts?.strictPin
868
+ );
799
869
  linkCacheIntoProject(cacheDest, reposDir, name);
800
870
  return cacheDest;
801
871
  }
@@ -1309,15 +1379,22 @@ function workspaceNameFromFilename(filename) {
1309
1379
  return filename.slice(0, -SKAILE_YAML_SUFFIX.length);
1310
1380
  }
1311
1381
  function loadSkWorkspaceConfig(dir, name) {
1382
+ return loadConfigFile(dir, name, false);
1383
+ }
1384
+ function loadConfigFile(dir, name, strict, absolute = false) {
1312
1385
  const resolvedDir = resolve(dir);
1313
1386
  const canonicalName = name && name !== "default" ? name : void 0;
1314
1387
  const filename = workspaceConfigFilename(canonicalName);
1315
1388
  const filePath = join(resolvedDir, filename);
1316
1389
  if (existsSync(filePath)) {
1317
- return parseConfigFile(filePath, canonicalName ?? "default");
1390
+ return parseConfigFile(
1391
+ filePath,
1392
+ canonicalName ?? "default",
1393
+ strict ? absolute ? filePath : filename : void 0
1394
+ );
1318
1395
  }
1319
1396
  if (!canonicalName) {
1320
- const found = listSkWorkspaceConfigs(resolvedDir);
1397
+ const found = listConfigFiles(resolvedDir, strict, absolute);
1321
1398
  if (found.length === 1) return found[0];
1322
1399
  }
1323
1400
  return null;
@@ -1333,21 +1410,32 @@ function saveSkWorkspaceConfig(dir, config, name) {
1333
1410
  return filePath;
1334
1411
  }
1335
1412
  function listSkWorkspaceConfigs(dir) {
1413
+ return listConfigFiles(dir, false);
1414
+ }
1415
+ function listConfigFiles(dir, strict, absolute = false) {
1336
1416
  const resolvedDir = resolve(dir);
1337
1417
  if (!existsSync(resolvedDir)) return [];
1338
- const configs = [];
1418
+ let entries = [];
1339
1419
  try {
1340
- for (const entry of readdirSync(resolvedDir)) {
1341
- if (isWorkspaceConfigFilename(entry)) {
1342
- const wsName = workspaceNameFromFilename(entry);
1343
- const parsed = parseConfigFile(join(resolvedDir, entry), wsName);
1344
- if (parsed) configs.push(parsed);
1345
- }
1346
- }
1420
+ entries = readdirSync(resolvedDir);
1347
1421
  } catch {
1348
1422
  }
1423
+ const configs = [];
1424
+ for (const entry of entries) {
1425
+ if (!isWorkspaceConfigFilename(entry)) continue;
1426
+ const parsed = parseConfigFile(
1427
+ join(resolvedDir, entry),
1428
+ workspaceNameFromFilename(entry),
1429
+ strict ? absolute ? join(resolvedDir, entry) : entry : void 0
1430
+ );
1431
+ if (parsed) configs.push(parsed);
1432
+ }
1349
1433
  return configs.sort((a, b) => a.name.localeCompare(b.name));
1350
1434
  }
1435
+ function configParseError(label, d) {
1436
+ const reason = (d.message.replace(/^Invalid YAML: /, "").split("\n")[0] ?? "").replace(/:$/, "");
1437
+ return new Error(`${label} \u2014 parse error: ${reason}`);
1438
+ }
1351
1439
  function rejectedKeyError(d) {
1352
1440
  return d.code === "invalid_source_entry" ? new SourceEntryError(d.message) : new Error(d.message);
1353
1441
  }
@@ -1360,22 +1448,22 @@ function resolveSkWorkspaceConfig(projectDir, opts) {
1360
1448
  );
1361
1449
  if (d) throw rejectedKeyError(d);
1362
1450
  };
1363
- const userConfig = loadSkWorkspaceConfig(globalSkaileDir(), name);
1451
+ const userConfig = loadConfigFile(globalSkaileDir(), name, true, true);
1364
1452
  assertNoLegacyKey(userConfig);
1365
1453
  if (userConfig) configs.push(userConfig.config);
1366
1454
  if (opts?.appDir) {
1367
- const appConfig = loadSkWorkspaceConfig(opts.appDir, name);
1455
+ const appConfig = loadConfigFile(opts.appDir, name, true, true);
1368
1456
  assertNoLegacyKey(appConfig);
1369
1457
  if (appConfig) configs.push(appConfig.config);
1370
1458
  }
1371
- const projectConfig = loadSkWorkspaceConfig(projectDir, name);
1459
+ const projectConfig = loadConfigFile(projectDir, name, true);
1372
1460
  assertNoLegacyKey(projectConfig);
1373
1461
  if (projectConfig) configs.push(projectConfig.config);
1374
1462
  if (configs.length > 0) return configs.reduce(mergeSkWorkspaceConfigs);
1375
1463
  return {};
1376
1464
  }
1377
1465
  function resolveGlobalSkWorkspaceConfig() {
1378
- const file = loadSkWorkspaceConfig(globalSkaileDir(), SK_WORKSPACE_DEFAULT_NAME);
1466
+ const file = loadConfigFile(globalSkaileDir(), SK_WORKSPACE_DEFAULT_NAME, true, true);
1379
1467
  const legacy = file?.diagnostics?.find(
1380
1468
  (x) => x.code === "legacy_key_rejected" || x.code === "invalid_source_entry"
1381
1469
  );
@@ -1908,6 +1996,15 @@ function validateConfigValues(config, diagnostics) {
1908
1996
  };
1909
1997
  for (const c of config.connectors ?? []) {
1910
1998
  checkAccess(c.access, `connectors.${c.id}.access`);
1999
+ if (typeof c.driver !== "string" || c.driver === "") {
2000
+ const legacy = c.adapter;
2001
+ diagnostics.push({
2002
+ code: "connector_missing_driver",
2003
+ severity: "error",
2004
+ 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>\`.`,
2005
+ path: `connectors.${c.id}.driver`
2006
+ });
2007
+ }
1911
2008
  checkUnavailable(c, diagnostics);
1912
2009
  }
1913
2010
  for (const m of config.mounts ?? []) checkAccess(m.access, `mounts.${m.id}.access`);
@@ -2002,7 +2099,7 @@ function toCanonicalObject(config) {
2002
2099
  }
2003
2100
  return out;
2004
2101
  }
2005
- function parseConfigFile(filePath, name) {
2102
+ function parseConfigFile(filePath, name, strictLabel) {
2006
2103
  let raw;
2007
2104
  try {
2008
2105
  raw = readFileSync(filePath, "utf-8");
@@ -2010,6 +2107,10 @@ function parseConfigFile(filePath, name) {
2010
2107
  return null;
2011
2108
  }
2012
2109
  const { config, diagnostics } = decodeSkaileYaml(raw);
2110
+ const unparseable = diagnostics.find(
2111
+ (d) => d.code === "yaml_syntax" || d.code === "non_object_root"
2112
+ );
2113
+ if (unparseable && strictLabel !== void 0) throw configParseError(strictLabel, unparseable);
2013
2114
  if (diagnostics.some((d) => d.code === "yaml_syntax")) return null;
2014
2115
  return { path: filePath, name, config, diagnostics };
2015
2116
  }
@@ -2439,6 +2540,7 @@ function collectMcpRefStrings(dependencies) {
2439
2540
  var MCP_LOOKUP_KINDS = /* @__PURE__ */ new Set(["mcp-server"]);
2440
2541
  async function buildMcpProvenanceIndex(sources, projectDir) {
2441
2542
  return sources.length > 0 ? await buildProvenanceIndex(buildSourceClones(sources), {
2543
+ projectDir,
2442
2544
  // Only `mcp-server` refs are looked up in this index.
2443
2545
  knownKinds: MCP_LOOKUP_KINDS
2444
2546
  }) : /* @__PURE__ */ new Map();
@@ -2472,7 +2574,7 @@ async function loadMcpServerDeclarations(projectDir) {
2472
2574
  const explicit = config.mcp_servers ?? [];
2473
2575
  const materialized = loadMaterializedMcpDeclarations(projectDir);
2474
2576
  const mcpRefStrings = collectMcpRefStrings(config.dependencies);
2475
- const provenanceIndex = await buildMcpProvenanceIndex(config.sources ?? []);
2577
+ const provenanceIndex = await buildMcpProvenanceIndex(config.sources ?? [], projectDir);
2476
2578
  const byId = /* @__PURE__ */ new Map();
2477
2579
  const order = [];
2478
2580
  const upsert = (decl) => {
@@ -2637,6 +2739,6 @@ function resolveAgentDefinitionDir(projectDir, definition) {
2637
2739
  return resolve(projectDir, definition);
2638
2740
  }
2639
2741
 
2640
- 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 };
2641
- //# sourceMappingURL=chunk-JZCSNEHK.js.map
2642
- //# sourceMappingURL=chunk-JZCSNEHK.js.map
2742
+ 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, 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 };
2743
+ //# sourceMappingURL=chunk-PNOGX36L.js.map
2744
+ //# sourceMappingURL=chunk-PNOGX36L.js.map