@skaile/workspaces 5.8.0 → 5.10.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 (348) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-EYRZR4K5.js → asset-feeds-ELEBTNUS.js} +18 -18
  4. package/dist/{asset-feeds-EYRZR4K5.js.map → asset-feeds-ELEBTNUS.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +8 -8
  6. package/dist/asset-manager/index.js +14 -14
  7. package/dist/asset-manager/installer.js +10 -10
  8. package/dist/asset-manager/renderers.js +9 -9
  9. package/dist/asset-manager/src/index.d.ts +300 -36
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/install-agent.d.ts +3 -1
  12. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  13. package/dist/asset-manager/src/install-instances.d.ts +31 -1
  14. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  15. package/dist/asset-manager/src/installer.d.ts +20 -0
  16. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  17. package/dist/asset-manager/src/renderers.d.ts +4 -5
  18. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  19. package/dist/bridge/drivers/claude-sdk.js +170 -17
  20. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  21. package/dist/bridge/drivers/codex.js +13 -11
  22. package/dist/bridge/drivers/codex.js.map +1 -1
  23. package/dist/bridge/drivers/continue.js +10 -10
  24. package/dist/bridge/drivers/echo.js +4 -4
  25. package/dist/bridge/drivers/gemini.js +7 -7
  26. package/dist/bridge/drivers/goose.js +10 -10
  27. package/dist/bridge/drivers/omp.js +7 -5
  28. package/dist/bridge/drivers/omp.js.map +1 -1
  29. package/dist/bridge/drivers/opencode.js +10 -10
  30. package/dist/bridge/drivers/qwen.js +7 -7
  31. package/dist/bridge/index.js +14 -14
  32. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  33. package/dist/bridge/src/drivers/claude-sdk.d.ts +31 -1
  34. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  35. package/dist/bridge/src/drivers/claude-tool-allowlist.d.ts +43 -0
  36. package/dist/bridge/src/drivers/claude-tool-allowlist.d.ts.map +1 -0
  37. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  38. package/dist/bridge/src/types.d.ts +20 -1
  39. package/dist/bridge/src/types.d.ts.map +1 -1
  40. package/dist/{chunk-36AFURKZ.js → chunk-2FMEGSBN.js} +38 -11
  41. package/dist/chunk-2FMEGSBN.js.map +1 -0
  42. package/dist/{chunk-GCICGXDD.js → chunk-2H73V6XR.js} +3 -3
  43. package/dist/{chunk-GCICGXDD.js.map → chunk-2H73V6XR.js.map} +1 -1
  44. package/dist/{chunk-H7QUDDKH.js → chunk-2JMLDZLP.js} +1069 -182
  45. package/dist/chunk-2JMLDZLP.js.map +1 -0
  46. package/dist/{chunk-B6GIW55K.js → chunk-32XKCNCL.js} +6 -3
  47. package/dist/chunk-32XKCNCL.js.map +1 -0
  48. package/dist/{chunk-4MQS7CAF.js → chunk-3BEY4WK3.js} +371 -175
  49. package/dist/chunk-3BEY4WK3.js.map +1 -0
  50. package/dist/{chunk-SH5D7U7N.js → chunk-3KHYGOEY.js} +3 -3
  51. package/dist/{chunk-SH5D7U7N.js.map → chunk-3KHYGOEY.js.map} +1 -1
  52. package/dist/{chunk-CGT45WN7.js → chunk-3MKPZZRE.js} +3 -3
  53. package/dist/{chunk-CGT45WN7.js.map → chunk-3MKPZZRE.js.map} +1 -1
  54. package/dist/{chunk-QVNRCDTV.js → chunk-4OV5DSBB.js} +4 -4
  55. package/dist/chunk-4OV5DSBB.js.map +1 -0
  56. package/dist/{chunk-GXXFLBUQ.js → chunk-4P3KTUZH.js} +33 -33
  57. package/dist/chunk-4P3KTUZH.js.map +1 -0
  58. package/dist/{chunk-I6NLLJHZ.js → chunk-5QI2JYJC.js} +2 -2
  59. package/dist/{chunk-I6NLLJHZ.js.map → chunk-5QI2JYJC.js.map} +1 -1
  60. package/dist/{chunk-EF7NPDDU.js → chunk-6HHE63CO.js} +31 -17
  61. package/dist/chunk-6HHE63CO.js.map +1 -0
  62. package/dist/{chunk-FTJJO3EM.js → chunk-7CR6HT2X.js} +10 -10
  63. package/dist/{chunk-FTJJO3EM.js.map → chunk-7CR6HT2X.js.map} +1 -1
  64. package/dist/{chunk-FZNG4V4J.js → chunk-7I5VRVDP.js} +3 -3
  65. package/dist/{chunk-FZNG4V4J.js.map → chunk-7I5VRVDP.js.map} +1 -1
  66. package/dist/{chunk-HG34RNTK.js → chunk-CLTHEKHR.js} +10 -9
  67. package/dist/chunk-CLTHEKHR.js.map +1 -0
  68. package/dist/{chunk-UMVKJM4Q.js → chunk-DALV4HHP.js} +18 -3
  69. package/dist/chunk-DALV4HHP.js.map +1 -0
  70. package/dist/{chunk-F3RDEH5U.js → chunk-F4NJDSR7.js} +6 -5
  71. package/dist/chunk-F4NJDSR7.js.map +1 -0
  72. package/dist/{chunk-LSXHED6I.js → chunk-FRPBSUFH.js} +6 -6
  73. package/dist/{chunk-LSXHED6I.js.map → chunk-FRPBSUFH.js.map} +1 -1
  74. package/dist/{chunk-W5DWWE4Y.js → chunk-G54USEUP.js} +4 -4
  75. package/dist/{chunk-W5DWWE4Y.js.map → chunk-G54USEUP.js.map} +1 -1
  76. package/dist/{chunk-Y7QA2OLD.js → chunk-GEWAIQZ5.js} +24 -20
  77. package/dist/chunk-GEWAIQZ5.js.map +1 -0
  78. package/dist/{chunk-GB7WDMH2.js → chunk-GFCXNFTW.js} +4 -4
  79. package/dist/{chunk-GB7WDMH2.js.map → chunk-GFCXNFTW.js.map} +1 -1
  80. package/dist/{chunk-AWQYXZVG.js → chunk-HJ5MCB3L.js} +28 -4
  81. package/dist/chunk-HJ5MCB3L.js.map +1 -0
  82. package/dist/{chunk-2LWYNQK7.js → chunk-HOHUEKES.js} +3 -3
  83. package/dist/{chunk-2LWYNQK7.js.map → chunk-HOHUEKES.js.map} +1 -1
  84. package/dist/{chunk-ZKSJMZKD.js → chunk-IJHH4DSW.js} +8 -8
  85. package/dist/{chunk-ZKSJMZKD.js.map → chunk-IJHH4DSW.js.map} +1 -1
  86. package/dist/{chunk-BTE2V4IW.js → chunk-IXWODEED.js} +40 -7
  87. package/dist/chunk-IXWODEED.js.map +1 -0
  88. package/dist/{chunk-OFBIWVCR.js → chunk-JFXQEVLF.js} +3 -3
  89. package/dist/{chunk-OFBIWVCR.js.map → chunk-JFXQEVLF.js.map} +1 -1
  90. package/dist/{chunk-JAKOMFC6.js → chunk-JZCSNEHK.js} +77 -31
  91. package/dist/chunk-JZCSNEHK.js.map +1 -0
  92. package/dist/{chunk-CKQEIY43.js → chunk-MVQ3Q2HM.js} +4 -4
  93. package/dist/{chunk-CKQEIY43.js.map → chunk-MVQ3Q2HM.js.map} +1 -1
  94. package/dist/{chunk-LEMHVDET.js → chunk-NRDSGLCQ.js} +188 -33
  95. package/dist/chunk-NRDSGLCQ.js.map +1 -0
  96. package/dist/{chunk-V2DXZYBB.js → chunk-NWDSLXOX.js} +3 -3
  97. package/dist/{chunk-V2DXZYBB.js.map → chunk-NWDSLXOX.js.map} +1 -1
  98. package/dist/{chunk-6GRX5L6A.js → chunk-OBVJ7RPW.js} +4 -4
  99. package/dist/{chunk-6GRX5L6A.js.map → chunk-OBVJ7RPW.js.map} +1 -1
  100. package/dist/{chunk-PTSGWKHR.js → chunk-OOWHXOK6.js} +4 -4
  101. package/dist/{chunk-PTSGWKHR.js.map → chunk-OOWHXOK6.js.map} +1 -1
  102. package/dist/{chunk-YSHVQGUS.js → chunk-PE36IF2D.js} +119 -30
  103. package/dist/chunk-PE36IF2D.js.map +1 -0
  104. package/dist/{chunk-S53LOR7B.js → chunk-QG3HOJEK.js} +3 -3
  105. package/dist/{chunk-S53LOR7B.js.map → chunk-QG3HOJEK.js.map} +1 -1
  106. package/dist/{chunk-2FRUUDZY.js → chunk-SBFW3CJH.js} +5 -5
  107. package/dist/{chunk-2FRUUDZY.js.map → chunk-SBFW3CJH.js.map} +1 -1
  108. package/dist/{chunk-UAROCOXF.js → chunk-SX5U422E.js} +3 -3
  109. package/dist/{chunk-UAROCOXF.js.map → chunk-SX5U422E.js.map} +1 -1
  110. package/dist/{chunk-QOP6KDFR.js → chunk-TH4CTXHX.js} +6 -6
  111. package/dist/{chunk-QOP6KDFR.js.map → chunk-TH4CTXHX.js.map} +1 -1
  112. package/dist/{chunk-F2EKONM7.js → chunk-TRSQP3JD.js} +3 -3
  113. package/dist/{chunk-F2EKONM7.js.map → chunk-TRSQP3JD.js.map} +1 -1
  114. package/dist/{chunk-FVJK4QWM.js → chunk-V5TZH4GF.js} +4 -4
  115. package/dist/{chunk-FVJK4QWM.js.map → chunk-V5TZH4GF.js.map} +1 -1
  116. package/dist/{chunk-HYDRDNKN.js → chunk-V7PQZOBR.js} +5 -5
  117. package/dist/{chunk-HYDRDNKN.js.map → chunk-V7PQZOBR.js.map} +1 -1
  118. package/dist/{chunk-IONAUNWB.js → chunk-VLXDXRRX.js} +3 -3
  119. package/dist/{chunk-IONAUNWB.js.map → chunk-VLXDXRRX.js.map} +1 -1
  120. package/dist/{chunk-CIFS5K6T.js → chunk-VMKMFS2Q.js} +28 -7
  121. package/dist/chunk-VMKMFS2Q.js.map +1 -0
  122. package/dist/{chunk-Y4N2NUZD.js → chunk-WBYDAL6X.js} +4 -4
  123. package/dist/{chunk-Y4N2NUZD.js.map → chunk-WBYDAL6X.js.map} +1 -1
  124. package/dist/{chunk-WTQ3TATB.js → chunk-X4BAYGMT.js} +3 -3
  125. package/dist/{chunk-WTQ3TATB.js.map → chunk-X4BAYGMT.js.map} +1 -1
  126. package/dist/{chunk-NPLPCRW5.js → chunk-XCNK4UE5.js} +5 -5
  127. package/dist/{chunk-NPLPCRW5.js.map → chunk-XCNK4UE5.js.map} +1 -1
  128. package/dist/{chunk-OJ4N4T4H.js → chunk-XDVR7QIT.js} +20 -6
  129. package/dist/chunk-XDVR7QIT.js.map +1 -0
  130. package/dist/{chunk-GTILM2CI.js → chunk-Y34MSWEZ.js} +43 -12
  131. package/dist/chunk-Y34MSWEZ.js.map +1 -0
  132. package/dist/{chunk-4PTSR4UU.js → chunk-Y63UQZ7P.js} +3 -3
  133. package/dist/{chunk-4PTSR4UU.js.map → chunk-Y63UQZ7P.js.map} +1 -1
  134. package/dist/chunk-YBQONMH2.js +465 -0
  135. package/dist/chunk-YBQONMH2.js.map +1 -0
  136. package/dist/{chunk-P23M65LB.js → chunk-Z2K6BGUR.js} +71 -24
  137. package/dist/chunk-Z2K6BGUR.js.map +1 -0
  138. package/dist/{chunk-BJNUNQAW.js → chunk-ZGQTS3Y4.js} +3 -3
  139. package/dist/{chunk-BJNUNQAW.js.map → chunk-ZGQTS3Y4.js.map} +1 -1
  140. package/dist/cli/index.js +913 -720
  141. package/dist/cli/index.js.map +1 -1
  142. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  143. package/dist/cli/src/commands/catalog.d.ts +8 -5
  144. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  145. package/dist/cli/src/commands/diff.d.ts +3 -1
  146. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  147. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  148. package/dist/cli/src/commands/library-index.d.ts +34 -2
  149. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  150. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  151. package/dist/cli/src/commands/manage.d.ts +6 -5
  152. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  153. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  154. package/dist/cli/src/commands/outdated.d.ts +7 -5
  155. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  156. package/dist/cli/src/commands/project.d.ts +11 -8
  157. package/dist/cli/src/commands/project.d.ts.map +1 -1
  158. package/dist/cli/src/commands/source.d.ts +30 -1
  159. package/dist/cli/src/commands/source.d.ts.map +1 -1
  160. package/dist/cli/src/commands/update.d.ts.map +1 -1
  161. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  162. package/dist/cli/src/commands/why.d.ts.map +1 -1
  163. package/dist/cli/src/skill-checks.d.ts +47 -2
  164. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  165. package/dist/client/index.js +1 -1
  166. package/dist/client/src/client.d.ts +10 -3
  167. package/dist/client/src/client.d.ts.map +1 -1
  168. package/dist/connectors/config.js +5 -5
  169. package/dist/connectors/index.js +18 -18
  170. package/dist/{connectors-O6Y6VESP.js → connectors-OXP2JBGI.js} +21 -21
  171. package/dist/{connectors-O6Y6VESP.js.map → connectors-OXP2JBGI.js.map} +1 -1
  172. package/dist/connectors-shared/index.js +2 -2
  173. package/dist/core/index.js +7 -7
  174. package/dist/core/logging.js +1 -1
  175. package/dist/core/manifest.js +2 -2
  176. package/dist/core/models.js +1 -1
  177. package/dist/core/publish-manifest.js +2 -2
  178. package/dist/core/ref.js +1 -1
  179. package/dist/core/runtime-assets.js +5 -5
  180. package/dist/core/src/index.d.ts +2 -1
  181. package/dist/core/src/index.d.ts.map +1 -1
  182. package/dist/core/src/lock.d.ts +5 -2
  183. package/dist/core/src/lock.d.ts.map +1 -1
  184. package/dist/core/src/logging/sinks/sqlite-runtime.d.ts.map +1 -1
  185. package/dist/core/src/manifest.d.ts.map +1 -1
  186. package/dist/core/src/models.d.ts +21 -5
  187. package/dist/core/src/models.d.ts.map +1 -1
  188. package/dist/core/src/publish-manifest.d.ts +19 -3
  189. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  190. package/dist/core/src/repo-manager.d.ts.map +1 -1
  191. package/dist/core/src/requirements.d.ts +26 -0
  192. package/dist/core/src/requirements.d.ts.map +1 -0
  193. package/dist/core/src/walker.d.ts.map +1 -1
  194. package/dist/core/src/workspace-config.d.ts +18 -0
  195. package/dist/core/src/workspace-config.d.ts.map +1 -1
  196. package/dist/core/src/workspace-yaml-editor.d.ts +4 -1
  197. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  198. package/dist/core/workspace-config.js +4 -4
  199. package/dist/deploy/index.js +7 -7
  200. package/dist/discovery/index.js +5 -5
  201. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  202. package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
  203. package/dist/discovery/src/discover.d.ts.map +1 -1
  204. package/dist/discovery/src/source-config.d.ts.map +1 -1
  205. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  206. package/dist/{ensure-sources-SKLNM4UZ.js → ensure-sources-5ISVIA4T.js} +17 -17
  207. package/dist/{ensure-sources-SKLNM4UZ.js.map → ensure-sources-5ISVIA4T.js.map} +1 -1
  208. package/dist/factory-assets/connectors/box.js +18 -18
  209. package/dist/factory-assets/connectors/deploy.js +18 -18
  210. package/dist/factory-assets/connectors/devserver.js +18 -18
  211. package/dist/factory-assets/connectors/flow/adapter.js +18 -18
  212. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  213. package/dist/factory-assets/connectors/flow/run-flow.js +20 -20
  214. package/dist/factory-assets/connectors/flow.js +18 -18
  215. package/dist/factory-assets/connectors/git.js +18 -18
  216. package/dist/factory-assets/connectors/gmail.js +18 -18
  217. package/dist/factory-assets/connectors/googledrive.js +18 -18
  218. package/dist/factory-assets/connectors/local.js +18 -18
  219. package/dist/factory-assets/connectors/mattermost.js +18 -18
  220. package/dist/factory-assets/connectors/memory.js +18 -18
  221. package/dist/factory-assets/connectors/minio.js +18 -18
  222. package/dist/factory-assets/connectors/postgres.js +18 -18
  223. package/dist/factory-assets/connectors/s3.js +18 -18
  224. package/dist/factory-assets/connectors/sharepoint.js +18 -18
  225. package/dist/factory-assets/connectors/sqlite.js +18 -18
  226. package/dist/factory-assets/connectors/static-server.js +18 -18
  227. package/dist/factory-assets/connectors/tunnel.js +18 -18
  228. package/dist/factory-assets/connectors/webdav.js +18 -18
  229. package/dist/factory-assets/connectors/xstate-store.js +18 -18
  230. package/dist/factory-assets/connectors/xstate.js +18 -18
  231. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +9 -3
  232. package/dist/{flows-CBYRSAGS.js → flows-HMSE76PO.js} +12 -12
  233. package/dist/{flows-CBYRSAGS.js.map → flows-HMSE76PO.js.map} +1 -1
  234. package/dist/{helpers-MWZDRBLD.js → helpers-X6URBGSF.js} +17 -17
  235. package/dist/{helpers-MWZDRBLD.js.map → helpers-X6URBGSF.js.map} +1 -1
  236. package/dist/library/index.js +11 -11
  237. package/dist/library/install.js +3 -3
  238. package/dist/library/src/index.d.ts +2 -1
  239. package/dist/library/src/index.d.ts.map +1 -1
  240. package/dist/library/src/local/library-dir.d.ts +42 -0
  241. package/dist/library/src/local/library-dir.d.ts.map +1 -0
  242. package/dist/library/src/local/library-manager.d.ts +10 -1
  243. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  244. package/dist/library/src/local/library.d.ts +2 -2
  245. package/dist/library/src/local/library.d.ts.map +1 -1
  246. package/dist/library/src/local/local-catalog-source.d.ts +9 -0
  247. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  248. package/dist/library/src/manifest-writer.d.ts +55 -4
  249. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  250. package/dist/library/src/remote/cache.d.ts +18 -1
  251. package/dist/library/src/remote/cache.d.ts.map +1 -1
  252. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  253. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  254. package/dist/library/src/sync/git-driver.d.ts +5 -6
  255. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  256. package/dist/{library-publish-PICMDSB2.js → library-publish-OS3JDW4S.js} +123 -41
  257. package/dist/library-publish-OS3JDW4S.js.map +1 -0
  258. package/dist/open-library-4QSUORI6.js +40 -0
  259. package/dist/{open-library-OG457THY.js.map → open-library-4QSUORI6.js.map} +1 -1
  260. package/dist/open-registry-VCKS3MP5.js +32 -0
  261. package/dist/{open-registry-ZUZJ7MS7.js.map → open-registry-VCKS3MP5.js.map} +1 -1
  262. package/dist/paths-BVO56A25.js +22 -0
  263. package/dist/{paths-FQ64OLJG.js.map → paths-BVO56A25.js.map} +1 -1
  264. package/dist/{plugin-store-MPAMD5OT.js → plugin-store-X7GPWGBG.js} +9 -9
  265. package/dist/{plugin-store-MPAMD5OT.js.map → plugin-store-X7GPWGBG.js.map} +1 -1
  266. package/dist/{project-2GFT5LEZ.js → project-PAXP46RD.js} +20 -20
  267. package/dist/{project-2GFT5LEZ.js.map → project-PAXP46RD.js.map} +1 -1
  268. package/dist/resolver/index.js +8 -8
  269. package/dist/runner/index.js +32 -32
  270. package/dist/runner/src/agent.d.ts.map +1 -1
  271. package/dist/runner/src/context-usage/compose.d.ts.map +1 -1
  272. package/dist/runner/src/platform-blocks.d.ts +55 -0
  273. package/dist/runner/src/platform-blocks.d.ts.map +1 -0
  274. package/dist/runner/src/serve.d.ts.map +1 -1
  275. package/dist/runner/src/session-builder.d.ts.map +1 -1
  276. package/dist/sdk/asset-manager.js +14 -14
  277. package/dist/sdk/bridge.js +14 -14
  278. package/dist/sdk/client.js +1 -1
  279. package/dist/sdk/core.js +7 -7
  280. package/dist/sdk/flow.js +8 -8
  281. package/dist/sdk/index.js +33 -33
  282. package/dist/sdk/resolver.js +8 -8
  283. package/dist/sdk/runner.js +32 -32
  284. package/dist/sdk/session.js +2 -2
  285. package/dist/sdk/types.js +1 -1
  286. package/dist/session/index.js +2 -2
  287. package/dist/session/src/dispatcher.d.ts +25 -4
  288. package/dist/session/src/dispatcher.d.ts.map +1 -1
  289. package/dist/session/src/index.d.ts +1 -1
  290. package/dist/session/src/index.d.ts.map +1 -1
  291. package/dist/{setup-WHMCSIF2.js → setup-BV55VHWC.js} +24 -24
  292. package/dist/{setup-WHMCSIF2.js.map → setup-BV55VHWC.js.map} +1 -1
  293. package/dist/{skills-TVO26Y4V.js → skills-EDFUCJPX.js} +13 -13
  294. package/dist/{skills-TVO26Y4V.js.map → skills-EDFUCJPX.js.map} +1 -1
  295. package/dist/source-E4VAT5RZ.js +41 -0
  296. package/dist/{source-LKOFTOEK.js.map → source-E4VAT5RZ.js.map} +1 -1
  297. package/dist/{source-manifest-publish-L5J3QXER.js → source-manifest-publish-CLEE6TNH.js} +23 -23
  298. package/dist/{source-manifest-publish-L5J3QXER.js.map → source-manifest-publish-CLEE6TNH.js.map} +1 -1
  299. package/dist/tui/index.js +32 -32
  300. package/dist/types/index.js +1 -1
  301. package/dist/types/manifests.js +1 -1
  302. package/dist/types/src/events.d.ts +1 -1
  303. package/dist/types/src/events.d.ts.map +1 -1
  304. package/dist/types/src/index.d.ts +2 -2
  305. package/dist/types/src/index.d.ts.map +1 -1
  306. package/dist/types/src/manifests/agent.d.ts +2 -0
  307. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  308. package/dist/types/src/manifests/contract.d.ts +2 -0
  309. package/dist/types/src/manifests/contract.d.ts.map +1 -1
  310. package/dist/types/src/manifests/index.d.ts +3 -3
  311. package/dist/types/src/manifests/index.d.ts.map +1 -1
  312. package/dist/types/src/manifests/prompt.d.ts +2 -0
  313. package/dist/types/src/manifests/prompt.d.ts.map +1 -1
  314. package/dist/types/src/protocol.d.ts +43 -1
  315. package/dist/types/src/protocol.d.ts.map +1 -1
  316. package/dist/types/src/version.d.ts +17 -1
  317. package/dist/types/src/version.d.ts.map +1 -1
  318. package/dist/workspace-plugin/adapters/mcp.js +25 -25
  319. package/dist/workspace-plugin/adapters/omp.js +14 -14
  320. package/dist/workspace-plugin/index.js +2 -2
  321. package/package.json +1 -1
  322. package/dist/chunk-36AFURKZ.js.map +0 -1
  323. package/dist/chunk-4MQS7CAF.js.map +0 -1
  324. package/dist/chunk-AWQYXZVG.js.map +0 -1
  325. package/dist/chunk-B6GIW55K.js.map +0 -1
  326. package/dist/chunk-BTE2V4IW.js.map +0 -1
  327. package/dist/chunk-CIFS5K6T.js.map +0 -1
  328. package/dist/chunk-EF7NPDDU.js.map +0 -1
  329. package/dist/chunk-F3RDEH5U.js.map +0 -1
  330. package/dist/chunk-GTILM2CI.js.map +0 -1
  331. package/dist/chunk-GXXFLBUQ.js.map +0 -1
  332. package/dist/chunk-H7QUDDKH.js.map +0 -1
  333. package/dist/chunk-HG34RNTK.js.map +0 -1
  334. package/dist/chunk-JAKOMFC6.js.map +0 -1
  335. package/dist/chunk-LEMHVDET.js.map +0 -1
  336. package/dist/chunk-OJ4N4T4H.js.map +0 -1
  337. package/dist/chunk-P23M65LB.js.map +0 -1
  338. package/dist/chunk-QVNRCDTV.js.map +0 -1
  339. package/dist/chunk-UMVKJM4Q.js.map +0 -1
  340. package/dist/chunk-Y7QA2OLD.js.map +0 -1
  341. package/dist/chunk-YSHVQGUS.js.map +0 -1
  342. package/dist/chunk-ZAOGFXDO.js +0 -112
  343. package/dist/chunk-ZAOGFXDO.js.map +0 -1
  344. package/dist/library-publish-PICMDSB2.js.map +0 -1
  345. package/dist/open-library-OG457THY.js +0 -40
  346. package/dist/open-registry-ZUZJ7MS7.js +0 -32
  347. package/dist/paths-FQ64OLJG.js +0 -22
  348. package/dist/source-LKOFTOEK.js +0 -41
@@ -27,8 +27,10 @@ export interface InstallAgentInstancesResult {
27
27
  instances: InstalledAgentInstance[];
28
28
  /** Workspace-relative paths removed because their instance (or sub-agent) is gone. */
29
29
  removed: string[];
30
- /** Instances that could not be rendered, and non-fatal renderer notes. */
30
+ /** Non-fatal renderer notes. */
31
31
  warnings: string[];
32
+ /** Instances that could not be rendered because their `ref` does not resolve to an agent. */
33
+ errors: string[];
32
34
  }
33
35
  /** Options for {@link installAgentInstances}. */
34
36
  export interface InstallAgentInstancesOptions {
@@ -40,6 +42,34 @@ export interface InstallAgentInstancesOptions {
40
42
  wsConfig?: SkWorkspaceConfig;
41
43
  log?: (msg: string) => void;
42
44
  }
45
+ /** One agent instance of `skaile.yaml` whose `ref` does not bind to an agent. */
46
+ export interface UnboundAgentInstance {
47
+ /** Instance id (`default` for the `agent:` block). */
48
+ id: string;
49
+ /** The instance's `ref`. */
50
+ ref: string;
51
+ /** Why it does not bind, as `install` prints it. */
52
+ error: string;
53
+ }
54
+ /**
55
+ * The instances of `skaile.yaml` that {@link installAgentInstances} cannot render because their
56
+ * `ref` binds to no agent: `skaile check` fails on them, and `skaile install` too. A harness
57
+ * without a native agent format renders nothing, so it has none. An unreadable `skaile.yaml`
58
+ * has none either.
59
+ */
60
+ export declare function unboundAgentInstances(projectDir: string, driverTarget: DriverTarget): UnboundAgentInstance[];
61
+ /**
62
+ * Remove the native agent files an earlier install rendered for the instances `ids`, as far as
63
+ * no other instance claims them, and drop those instances from the ledger. Only paths the ledger
64
+ * lists and that sit inside the harness agent dir are removed.
65
+ *
66
+ * @returns Workspace-relative paths removed.
67
+ */
68
+ export declare function removeAgentInstanceRenderings(opts: {
69
+ projectDir: string;
70
+ driverTarget: DriverTarget;
71
+ ids: readonly string[];
72
+ }): string[];
43
73
  /**
44
74
  * Render every agent instance of the workspace for `driverTarget`, then remove
45
75
  * the renderings this step wrote earlier that no instance claims any more.
@@ -1 +1 @@
1
- {"version":3,"file":"install-instances.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/install-instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAW/E,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,uCAAuC;IACvC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,sFAAsF;IACtF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AA6BD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,4BAA4B,GACjC,2BAA2B,CA2E7B"}
1
+ {"version":3,"file":"install-instances.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/install-instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAW/E,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,uCAAuC;IACvC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,sFAAsF;IACtF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6FAA6F;IAC7F,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AA6DD,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,oBAAoB,EAAE,CAcxB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;CACxB,GAAG,MAAM,EAAE,CAiCX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,4BAA4B,GACjC,2BAA2B,CAqE7B"}
@@ -53,6 +53,12 @@ export interface DeployOptions {
53
53
  * for store/factory sources (no stable local path) it is a no-op (still copy).
54
54
  */
55
55
  link?: boolean;
56
+ /**
57
+ * Called once per symlink inside an asset's own directory that a copy deploy
58
+ * leaves out (symlinks are not part of an asset), with the asset entry and the
59
+ * path of the link relative to the asset directory's parent (`<dir>/<rel>`).
60
+ */
61
+ onSkippedSymlink?: (entry: DeployableEntry, path: string) => void;
56
62
  }
57
63
  /**
58
64
  * Deploy a single asset to the framework-specific directory.
@@ -93,6 +99,20 @@ export declare function deployAsset(entry: DeployableEntry, repositories: Record
93
99
  * @docLink packages/asset-manager/api-reference#installer
94
100
  */
95
101
  export declare function deployAll(resolved: DeployableEntry[], repositories: Record<string, SourceDeclaration>, patches: Record<string, string>, opts: DeployOptions, log?: Log): string[];
102
+ /**
103
+ * Unified diff from a deployed agent to its source, `-` lines in the deployed copy only and `+`
104
+ * lines in the source only. An agent is a rendering, not a copy, so the source is rendered the way
105
+ * {@link deployAsset} renders it (same renderer, same workspace context) into a scratch directory
106
+ * and that is compared with what the harness holds: `<name>.md` for claude-code, `<name>.toml`
107
+ * plus the `skaile-agents/<name>.md` identity for codex, the `<name>/` directory for omp.
108
+ *
109
+ * @param entry - The agent's catalog entry (`source` is its `agent.yaml` / `AGENT.md`).
110
+ * @param opts - Deployment target options (must match the options used at install time).
111
+ * @returns `null` when none of the agent's rendered files is deployed, else the diff text
112
+ * (`""` when the deployed agent matches its source).
113
+ * @throws When `diff(1)` itself fails (exit status other than 0/1).
114
+ */
115
+ export declare function diffDeployedAgent(entry: DeployableEntry, opts: DeployOptions): string | null;
96
116
  /**
97
117
  * Remove a deployed asset from the framework directory.
98
118
  *
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAoBjC,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGzF,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE9D,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAU7D;AAYD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,SAAS,CAEzB;AAaD;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAwDD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,+GAA+G;IAC/G,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,GAAU,GACd,OAAO,CAiET;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,eAAe,EAAE,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,GAAU,GACd,MAAM,EAAE,CAiGV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAgCpF;AA4DD,kEAAkE;AAClE,eAAO,MAAM,cAAc,qEAAsE,CAAC;AAElG,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAAoB,GACzB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA2C/B"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AA4BjC,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGzF,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE9D,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAU7D;AAYD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,SAAS,CAEzB;AAaD;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAgFD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,+GAA+G;IAC/G,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAuCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,GAAU,GACd,OAAO,CAET;AAoFD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,eAAe,EAAE,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,GAAU,GACd,MAAM,EAAE,CAmGV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAgD5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAgCpF;AA4DD,kEAAkE;AAClE,eAAO,MAAM,cAAc,qEAAsE,CAAC;AAElG,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAAoB,GACzB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuD/B"}
@@ -56,8 +56,10 @@ export interface AgentRenderInput {
56
56
  * @docLink packages/asset-manager/api-reference#renderers
57
57
  */
58
58
  export interface AgentRenderResult {
59
- /** Paths to files/dirs created, relative to `workspaceRoot`. */
59
+ /** Paths to files/dirs rendered, relative to `workspaceRoot`. */
60
60
  created: string[];
61
+ /** The subset of `created` whose bytes differ from what was on disk before (new or edited); an identical rewrite is skipped. */
62
+ changed: string[];
61
63
  /** Non-fatal warnings (e.g. experimental feature notices). */
62
64
  warnings: string[];
63
65
  }
@@ -122,10 +124,7 @@ export type Log = (msg: string) => void;
122
124
  * @returns Object with `created` file paths and `warnings` list.
123
125
  * @docLink packages/asset-manager/api-reference#renderers
124
126
  */
125
- export declare function renderAgentToFramework(input: AgentRenderInput, driverTarget: string, log?: Log): {
126
- created: string[];
127
- warnings: string[];
128
- };
127
+ export declare function renderAgentToFramework(input: AgentRenderInput, driverTarget: string, log?: Log): AgentRenderResult;
129
128
  /**
130
129
  * Registry mapping framework IDs to their {@link AgentRenderer} functions.
131
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAC;IACxB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kGAAkG;IAClG,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wGAAwG;IACxG,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,cAAc,CAAC;IAC1B,wFAAwF;IACxF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,iBAAiB,CAAC;AAsE3E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,EAAE,aA4EhC,CAAC;AA2BF,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,aAiD3B,CAAC;AAiBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,aAoEzB,CAAC;AAIF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAGxC;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,GAAE,GAAU,GACd;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAS3C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAIzD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAExE"}
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAC;IACxB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kGAAkG;IAClG,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wGAAwG;IACxG,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,cAAc,CAAC;IAC1B,wFAAwF;IACxF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gIAAgI;IAChI,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,iBAAiB,CAAC;AAkF3E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,EAAE,aA6EhC,CAAC;AA2BF,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,aAkD3B,CAAC;AAiBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,aAoEzB,CAAC;AAIF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAGxC;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,GAAE,GAAU,GACd,iBAAiB,CAanB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAIzD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAExE"}
@@ -1,30 +1,30 @@
1
1
  import { formatDroppedToolsNotice, filterInProcessMcpServerTools, checkToolPropertyKeys } from '../../chunk-X5O56UO4.js';
2
2
  import { freshBudget, isFirstAttempt, spend, isSpent, decide, isAvailable } from '../../chunk-IZCR27MU.js';
3
3
  import { AskSlots } from '../../chunk-EPBKISS5.js';
4
- import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-S53LOR7B.js';
5
- import { dispatchCapability } from '../../chunk-GCICGXDD.js';
6
- import { fetchProviderModels } from '../../chunk-PTSGWKHR.js';
4
+ import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-QG3HOJEK.js';
5
+ import { dispatchCapability } from '../../chunk-2H73V6XR.js';
6
+ import { fetchProviderModels } from '../../chunk-OOWHXOK6.js';
7
7
  import { ReconfigureLedger, AuthError, stripRunnerPrivateEnv, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable, AccountUnavailableError, isLongContextEntitlementRejection, LONG_CONTEXT_CREDITS_API_ERROR } from '../../chunk-B4X2N7JQ.js';
8
8
  import { agentExecRequested, wrapAgentCommand, resolveAgentExec } from '../../chunk-YROR332M.js';
9
- import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-AWQYXZVG.js';
9
+ import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-HJ5MCB3L.js';
10
10
  import '../../chunk-6E6PKKAD.js';
11
- import { withActivityLabelShape } from '../../chunk-F3RDEH5U.js';
12
- import '../../chunk-B6GIW55K.js';
13
- import '../../chunk-36AFURKZ.js';
11
+ import { withActivityLabelShape } from '../../chunk-F4NJDSR7.js';
12
+ import '../../chunk-32XKCNCL.js';
13
+ import '../../chunk-2FMEGSBN.js';
14
14
  import '../../chunk-4GY63JU6.js';
15
- import '../../chunk-GB7WDMH2.js';
15
+ import '../../chunk-GFCXNFTW.js';
16
16
  import '../../chunk-PMECEZK3.js';
17
17
  import '../../chunk-5BEFNLOR.js';
18
18
  import '../../chunk-A2ULN3KX.js';
19
- import '../../chunk-JAKOMFC6.js';
19
+ import '../../chunk-JZCSNEHK.js';
20
20
  import '../../chunk-L5VSIPQD.js';
21
21
  import '../../chunk-CPSIPIX7.js';
22
- import '../../chunk-BTE2V4IW.js';
22
+ import '../../chunk-IXWODEED.js';
23
23
  import '../../chunk-RVRB27AN.js';
24
- import '../../chunk-GTILM2CI.js';
25
- import '../../chunk-QVNRCDTV.js';
24
+ import '../../chunk-Y34MSWEZ.js';
25
+ import '../../chunk-4OV5DSBB.js';
26
26
  import '../../chunk-ICSCSM5D.js';
27
- import '../../chunk-UMVKJM4Q.js';
27
+ import '../../chunk-DALV4HHP.js';
28
28
  import { mergeRegistries, parseModelRef, isEntryEnabled, resolveEntryBaseUrl } from '../../chunk-MJHSLODD.js';
29
29
  import '../../chunk-C3CAXQMA.js';
30
30
  import { createLogger } from '../../chunk-BOFL7GIF.js';
@@ -164,6 +164,71 @@ function sumBucket(items) {
164
164
  return { tokens: sumTokens(items), items };
165
165
  }
166
166
 
167
+ // bridge/src/drivers/claude-tool-allowlist.ts
168
+ var CAPABILITY_MCP_SERVER = "skaile-capabilities";
169
+ var CLAUDE_CODE_BUILTIN_TOOLS = /* @__PURE__ */ new Set([
170
+ "Agent",
171
+ "AskUserQuestion",
172
+ "Bash",
173
+ "BashOutput",
174
+ "Edit",
175
+ "EnterPlanMode",
176
+ "ExitPlanMode",
177
+ "Glob",
178
+ "Grep",
179
+ "KillShell",
180
+ "LS",
181
+ "ListMcpResourcesTool",
182
+ "Monitor",
183
+ "MultiEdit",
184
+ "NotebookEdit",
185
+ "NotebookRead",
186
+ "Read",
187
+ "ReadMcpResourceTool",
188
+ "Skill",
189
+ "SlashCommand",
190
+ "Task",
191
+ "TaskOutput",
192
+ "TaskStop",
193
+ "TodoWrite",
194
+ "ToolSearch",
195
+ "WebFetch",
196
+ "WebSearch",
197
+ "Write"
198
+ ]);
199
+ function mcpServerOf(name) {
200
+ if (!name.startsWith("mcp__")) return null;
201
+ const rest = name.slice("mcp__".length);
202
+ const sep = rest.indexOf("__");
203
+ if (sep <= 0 || sep + 2 >= rest.length) return null;
204
+ return { server: rest.slice(0, sep), tool: rest.slice(sep + 2) };
205
+ }
206
+ function canonicalToolName(entry, universe) {
207
+ return universe.capabilityNames.includes(entry) ? `mcp__${CAPABILITY_MCP_SERVER}__${entry}` : entry;
208
+ }
209
+ function unknownToolNames(allowlist, universe) {
210
+ const unknown = [];
211
+ for (const entry of allowlist) {
212
+ if (typeof entry !== "string" || !isKnownTool(entry, universe)) unknown.push(String(entry));
213
+ }
214
+ return unknown;
215
+ }
216
+ function isKnownTool(name, universe) {
217
+ if (CLAUDE_CODE_BUILTIN_TOOLS.has(name)) return true;
218
+ if (universe.capabilityNames.includes(name)) return true;
219
+ const mcp = mcpServerOf(name);
220
+ if (!mcp) return false;
221
+ if (mcp.server === CAPABILITY_MCP_SERVER) return universe.capabilityNames.includes(mcp.tool);
222
+ return universe.mcpServerNames.includes(mcp.server);
223
+ }
224
+ function toolAllowSet(allowlist, universe) {
225
+ return new Set(allowlist.map((entry) => canonicalToolName(entry, universe)));
226
+ }
227
+ function toolAllowlistDenial(toolName, allowed) {
228
+ if (!allowed || allowed.has(toolName)) return null;
229
+ return `The tool ${toolName} is not available in this turn. Answer with the tools you have.`;
230
+ }
231
+
167
232
  // bridge/src/drivers/sanitize-assistant-text.ts
168
233
  var NS = "(?:[a-z][a-z0-9]*:)?";
169
234
  var FUNCTION_CALL_BLOCK = new RegExp(
@@ -582,6 +647,16 @@ var ClaudeSdkDriver = class extends AgentDriver {
582
647
  * the tail so one failed turn cannot wedge later callers.
583
648
  */
584
649
  promptTail = Promise.resolve();
650
+ /**
651
+ * Tools the running turn may call, or `null` when it is unrestricted. Set for
652
+ * the whole FIFO slot of a prompt that carried an allowlist, retries included.
653
+ */
654
+ turnToolAllowlist = null;
655
+ /**
656
+ * Subagents started under a restricted turn keep that turn's allowlist after
657
+ * it ends: a background subagent must not gain tools when its parent turn does.
658
+ */
659
+ subagentToolAllowlists = /* @__PURE__ */ new Map();
585
660
  /** Guards against duplicate agent_end emissions per turn. */
586
661
  turnCompleted = false;
587
662
  /** Set by {@link kill}: no turn may start or replay on this driver again. */
@@ -870,10 +945,44 @@ var ClaudeSdkDriver = class extends AgentDriver {
870
945
  * occurs after a container crash that prevented the SDK from flushing its session file.
871
946
  */
872
947
  prompt(message) {
948
+ return this.enqueuePrompt(message, null);
949
+ }
950
+ /**
951
+ * Text plus an optional per-turn tool allowlist. An allowlist naming a tool
952
+ * this driver does not recognize is rejected before the turn is queued.
953
+ */
954
+ promptInput(input) {
955
+ if (input.attachments?.length) return Promise.reject(new Error("Structured input unsupported"));
956
+ if (input.toolAllowlist === void 0) return this.prompt(input.text);
957
+ if (!Array.isArray(input.toolAllowlist))
958
+ return Promise.reject(new Error("toolAllowlist must be an array of tool names"));
959
+ const unknown = this.unknownAllowlistedTools(input.toolAllowlist);
960
+ if (unknown.length > 0)
961
+ return Promise.reject(new Error(`Unknown tool(s) in toolAllowlist: ${unknown.join(", ")}`));
962
+ return this.enqueuePrompt(input.text, toolAllowSet(input.toolAllowlist, this.toolUniverse()));
963
+ }
964
+ get enforcesToolAllowlist() {
965
+ return true;
966
+ }
967
+ unknownAllowlistedTools(allowlist) {
968
+ return unknownToolNames(allowlist, this.toolUniverse());
969
+ }
970
+ toolUniverse() {
971
+ return {
972
+ capabilityNames: this.config.capabilities?.composeTools().map((tool) => tool.name) ?? [],
973
+ mcpServerNames: Object.keys(this.config.mcpServers ?? {})
974
+ };
975
+ }
976
+ enqueuePrompt(message, allowlist) {
873
977
  this.supersedePendingQuestion();
874
- const queuedPrompt = this.promptTail.then(
875
- () => this.runPrompt(message, freshBudget())
876
- );
978
+ const queuedPrompt = this.promptTail.then(async () => {
979
+ this.turnToolAllowlist = allowlist;
980
+ try {
981
+ await this.runPrompt(message, freshBudget());
982
+ } finally {
983
+ this.turnToolAllowlist = null;
984
+ }
985
+ });
877
986
  this.promptTail = queuedPrompt.then(
878
987
  () => void 0,
879
988
  () => void 0
@@ -1636,7 +1745,13 @@ var ClaudeSdkDriver = class extends AgentDriver {
1636
1745
  ...this.config.thinking ? { thinking: this.mapThinkingConfig(this.config.thinking) } : {},
1637
1746
  // Reasoning effort — passed directly to the SDK
1638
1747
  ...this.config.effort ? { effort: this.config.effort } : {},
1639
- hooks: {},
1748
+ // The per-turn tool allowlist: hooks fire for every call, subagents'
1749
+ // included, under bypassPermissions, and read the turn's state live.
1750
+ hooks: {
1751
+ PreToolUse: [{ hooks: [this.handlePreToolUse] }],
1752
+ SubagentStart: [{ hooks: [this.handleSubagentStart] }],
1753
+ SubagentStop: [{ hooks: [this.handleSubagentStop] }]
1754
+ },
1640
1755
  stderr: onStderr,
1641
1756
  // Spawn the CLI ourselves to capture its OS pid for snapshotDescendantPids()
1642
1757
  // (Query never exposes it otherwise). This replaces the SDK's own default
@@ -1762,6 +1877,8 @@ var ClaudeSdkDriver = class extends AgentDriver {
1762
1877
  * `options.canUseTool` by value.
1763
1878
  */
1764
1879
  handleCanUseTool = (toolName, input, opts) => {
1880
+ const denial = this.toolAllowlistDenialFor(toolName, opts.agentID);
1881
+ if (denial) return Promise.resolve({ behavior: "deny", message: denial });
1765
1882
  if (toolName !== "AskUserQuestion") {
1766
1883
  return Promise.resolve({ behavior: "allow", updatedInput: input });
1767
1884
  }
@@ -1789,6 +1906,42 @@ var ClaudeSdkDriver = class extends AgentDriver {
1789
1906
  this.log.debug("paused on AskUserQuestion", { questions: questionTexts.length });
1790
1907
  });
1791
1908
  };
1909
+ /**
1910
+ * Denial reason when the per-turn allowlist forbids `toolName`, else `null`.
1911
+ * A subagent seen under a restricted turn is bound to that turn's allowlist
1912
+ * for its whole life.
1913
+ */
1914
+ toolAllowlistDenialFor(toolName, agentId) {
1915
+ if (agentId !== void 0 && this.turnToolAllowlist && !this.subagentToolAllowlists.has(agentId))
1916
+ this.subagentToolAllowlists.set(agentId, this.turnToolAllowlist);
1917
+ const allowed = (agentId !== void 0 ? this.subagentToolAllowlists.get(agentId) : void 0) ?? this.turnToolAllowlist;
1918
+ return toolAllowlistDenial(toolName, allowed);
1919
+ }
1920
+ /** `PreToolUse` hook: deny a call outside the turn's allowlist. */
1921
+ handlePreToolUse = async (input) => {
1922
+ if (input.hook_event_name !== "PreToolUse") return {};
1923
+ const denial = this.toolAllowlistDenialFor(input.tool_name, input.agent_id);
1924
+ if (!denial) return {};
1925
+ this.log.info("tool call refused by the turn's allowlist", { tool: input.tool_name });
1926
+ return {
1927
+ hookSpecificOutput: {
1928
+ hookEventName: "PreToolUse",
1929
+ permissionDecision: "deny",
1930
+ permissionDecisionReason: denial
1931
+ }
1932
+ };
1933
+ };
1934
+ /** `SubagentStart` hook: bind a subagent started under a restricted turn to its allowlist. */
1935
+ handleSubagentStart = async (input) => {
1936
+ if (input.hook_event_name === "SubagentStart" && this.turnToolAllowlist)
1937
+ this.subagentToolAllowlists.set(input.agent_id, this.turnToolAllowlist);
1938
+ return {};
1939
+ };
1940
+ handleSubagentStop = async (input) => {
1941
+ if (input.hook_event_name === "SubagentStop")
1942
+ this.subagentToolAllowlists.delete(input.agent_id);
1943
+ return {};
1944
+ };
1792
1945
  supersedePendingQuestion() {
1793
1946
  this.denyPendingQuestion(QUESTION_SUPERSEDED_BY_PROMPT);
1794
1947
  }