@skaile/workspaces 5.4.0 → 5.6.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 (429) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-3MVRNS5U.js → asset-feeds-4O2JK5S4.js} +27 -14
  4. package/dist/asset-feeds-4O2JK5S4.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +9 -9
  6. package/dist/asset-manager/index.js +18 -18
  7. package/dist/asset-manager/installer.js +11 -11
  8. package/dist/asset-manager/renderers.js +20 -2
  9. package/dist/asset-manager/src/index.d.ts +75 -24
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/install-agent.d.ts +22 -14
  12. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  13. package/dist/asset-manager/src/install-instances.d.ts +55 -0
  14. package/dist/asset-manager/src/install-instances.d.ts.map +1 -0
  15. package/dist/asset-manager/src/installer.d.ts +30 -7
  16. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  17. package/dist/asset-manager/src/renderers.d.ts +29 -8
  18. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  19. package/dist/bridge/drivers/claude-sdk.js +14 -14
  20. package/dist/bridge/drivers/codex.js +20 -14
  21. package/dist/bridge/drivers/codex.js.map +1 -1
  22. package/dist/bridge/drivers/continue.js +11 -11
  23. package/dist/bridge/drivers/echo.js +3 -3
  24. package/dist/bridge/drivers/gemini.js +6 -6
  25. package/dist/bridge/drivers/goose.js +11 -11
  26. package/dist/bridge/drivers/omp.js +4 -4
  27. package/dist/bridge/drivers/opencode.js +11 -11
  28. package/dist/bridge/drivers/qwen.js +6 -6
  29. package/dist/bridge/index.js +15 -15
  30. package/dist/bridge/src/codex/native-policy.d.ts +1 -1
  31. package/dist/bridge/src/drivers/codex.d.ts +2 -1
  32. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  33. package/dist/{chunk-LUBS5DXY.js → chunk-27HS2DHB.js} +4 -4
  34. package/dist/{chunk-LUBS5DXY.js.map → chunk-27HS2DHB.js.map} +1 -1
  35. package/dist/{chunk-RD6GE4HU.js → chunk-2GRB5ITE.js} +4 -4
  36. package/dist/{chunk-RD6GE4HU.js.map → chunk-2GRB5ITE.js.map} +1 -1
  37. package/dist/{chunk-UKDFOOEG.js → chunk-2NYXQYHN.js} +4 -4
  38. package/dist/{chunk-UKDFOOEG.js.map → chunk-2NYXQYHN.js.map} +1 -1
  39. package/dist/{chunk-6IGFSUTE.js → chunk-2W4LBLIN.js} +388 -61
  40. package/dist/chunk-2W4LBLIN.js.map +1 -0
  41. package/dist/{chunk-OXE5A6H6.js → chunk-2XFUXGV6.js} +3 -3
  42. package/dist/{chunk-OXE5A6H6.js.map → chunk-2XFUXGV6.js.map} +1 -1
  43. package/dist/{chunk-ZDKJHQY2.js → chunk-3TXEJN4W.js} +2 -2
  44. package/dist/{chunk-ZDKJHQY2.js.map → chunk-3TXEJN4W.js.map} +1 -1
  45. package/dist/{chunk-QK756IRJ.js → chunk-436GRQC2.js} +15 -15
  46. package/dist/chunk-436GRQC2.js.map +1 -0
  47. package/dist/{chunk-JELTQ4H7.js → chunk-45VFGT7A.js} +3 -3
  48. package/dist/{chunk-JELTQ4H7.js.map → chunk-45VFGT7A.js.map} +1 -1
  49. package/dist/{chunk-XGIS325V.js → chunk-46OVMT76.js} +3 -3
  50. package/dist/{chunk-XGIS325V.js.map → chunk-46OVMT76.js.map} +1 -1
  51. package/dist/{chunk-37GBJLF5.js → chunk-47ZD34KB.js} +3 -3
  52. package/dist/{chunk-37GBJLF5.js.map → chunk-47ZD34KB.js.map} +1 -1
  53. package/dist/{chunk-BATL2CWI.js → chunk-4CTGEEN6.js} +297 -124
  54. package/dist/chunk-4CTGEEN6.js.map +1 -0
  55. package/dist/{chunk-DTV7HL5R.js → chunk-4GNJELPH.js} +2 -2
  56. package/dist/{chunk-DTV7HL5R.js.map → chunk-4GNJELPH.js.map} +1 -1
  57. package/dist/{chunk-AE42DHSH.js → chunk-5B5IZVEP.js} +2 -2
  58. package/dist/{chunk-AE42DHSH.js.map → chunk-5B5IZVEP.js.map} +1 -1
  59. package/dist/{chunk-BHUHGLNS.js → chunk-6NPINANG.js} +6 -6
  60. package/dist/{chunk-BHUHGLNS.js.map → chunk-6NPINANG.js.map} +1 -1
  61. package/dist/{chunk-SQBPE66C.js → chunk-7KLC4LZO.js} +8 -8
  62. package/dist/{chunk-SQBPE66C.js.map → chunk-7KLC4LZO.js.map} +1 -1
  63. package/dist/{chunk-SR4RFKHM.js → chunk-7ZHLYXTI.js} +3 -3
  64. package/dist/{chunk-SR4RFKHM.js.map → chunk-7ZHLYXTI.js.map} +1 -1
  65. package/dist/{chunk-WX74MVNA.js → chunk-AO7VJ6G6.js} +3 -24
  66. package/dist/chunk-AO7VJ6G6.js.map +1 -0
  67. package/dist/{chunk-UAAAERXI.js → chunk-AOAZCSDI.js} +4 -3
  68. package/dist/chunk-AOAZCSDI.js.map +1 -0
  69. package/dist/{chunk-JCATNLY3.js → chunk-BF33SCLY.js} +10 -5
  70. package/dist/chunk-BF33SCLY.js.map +1 -0
  71. package/dist/{chunk-VKSA2CDJ.js → chunk-BTISGSK4.js} +4 -4
  72. package/dist/{chunk-VKSA2CDJ.js.map → chunk-BTISGSK4.js.map} +1 -1
  73. package/dist/{chunk-TOSHZX4C.js → chunk-CPSIPIX7.js} +2 -2
  74. package/dist/chunk-CPSIPIX7.js.map +1 -0
  75. package/dist/{chunk-K2K7OF4P.js → chunk-DMLDYFDS.js} +23 -6
  76. package/dist/chunk-DMLDYFDS.js.map +1 -0
  77. package/dist/{chunk-A67BHJCH.js → chunk-DZM73WDN.js} +4 -4
  78. package/dist/{chunk-A67BHJCH.js.map → chunk-DZM73WDN.js.map} +1 -1
  79. package/dist/{chunk-QMWMSZQ4.js → chunk-FK6HPLQA.js} +3 -3
  80. package/dist/{chunk-QMWMSZQ4.js.map → chunk-FK6HPLQA.js.map} +1 -1
  81. package/dist/chunk-FRHE7FFB.js +655 -0
  82. package/dist/chunk-FRHE7FFB.js.map +1 -0
  83. package/dist/{chunk-37DN45RR.js → chunk-IPWR33AW.js} +181 -111
  84. package/dist/chunk-IPWR33AW.js.map +1 -0
  85. package/dist/{chunk-2XXAVTTO.js → chunk-KUFNKVBM.js} +3 -3
  86. package/dist/{chunk-2XXAVTTO.js.map → chunk-KUFNKVBM.js.map} +1 -1
  87. package/dist/{chunk-GCYD4EGY.js → chunk-KYXOGHY6.js} +4 -4
  88. package/dist/{chunk-GCYD4EGY.js.map → chunk-KYXOGHY6.js.map} +1 -1
  89. package/dist/{chunk-ZIYYMR6Y.js → chunk-LLKKLKZJ.js} +3 -3
  90. package/dist/{chunk-ZIYYMR6Y.js.map → chunk-LLKKLKZJ.js.map} +1 -1
  91. package/dist/{chunk-Y5OCUOXF.js → chunk-MX3UQXLU.js} +52 -35
  92. package/dist/chunk-MX3UQXLU.js.map +1 -0
  93. package/dist/{chunk-7KITVWXK.js → chunk-MX6LZE2C.js} +44 -13
  94. package/dist/chunk-MX6LZE2C.js.map +1 -0
  95. package/dist/{chunk-BNUZEYC3.js → chunk-NARITJS2.js} +3 -3
  96. package/dist/{chunk-BNUZEYC3.js.map → chunk-NARITJS2.js.map} +1 -1
  97. package/dist/{chunk-OANSNVCP.js → chunk-NLXIALVO.js} +5 -5
  98. package/dist/{chunk-OANSNVCP.js.map → chunk-NLXIALVO.js.map} +1 -1
  99. package/dist/{chunk-U6ORGQHZ.js → chunk-O5GDKC5I.js} +3 -3
  100. package/dist/{chunk-U6ORGQHZ.js.map → chunk-O5GDKC5I.js.map} +1 -1
  101. package/dist/{chunk-ZUZ5LLZ2.js → chunk-OGLDAJFL.js} +4 -4
  102. package/dist/{chunk-ZUZ5LLZ2.js.map → chunk-OGLDAJFL.js.map} +1 -1
  103. package/dist/chunk-OLLAQLFJ.js +17 -0
  104. package/dist/chunk-OLLAQLFJ.js.map +1 -0
  105. package/dist/{chunk-LFMX2UEF.js → chunk-PA7WLID3.js} +86 -69
  106. package/dist/chunk-PA7WLID3.js.map +1 -0
  107. package/dist/{chunk-UNRZCQD4.js → chunk-PJS2YWGG.js} +6 -6
  108. package/dist/{chunk-UNRZCQD4.js.map → chunk-PJS2YWGG.js.map} +1 -1
  109. package/dist/{chunk-VETH6MDG.js → chunk-RGXVQZOV.js} +6021 -3099
  110. package/dist/chunk-RGXVQZOV.js.map +1 -0
  111. package/dist/{chunk-JEA32KB6.js → chunk-S7QXEXKY.js} +19 -6
  112. package/dist/chunk-S7QXEXKY.js.map +1 -0
  113. package/dist/{chunk-JKWU6ULI.js → chunk-SDFROXSA.js} +3 -3
  114. package/dist/{chunk-JKWU6ULI.js.map → chunk-SDFROXSA.js.map} +1 -1
  115. package/dist/{chunk-XMQAV6T3.js → chunk-SX4UIDKT.js} +3 -3
  116. package/dist/{chunk-XMQAV6T3.js.map → chunk-SX4UIDKT.js.map} +1 -1
  117. package/dist/{chunk-QEXEHXX5.js → chunk-TZCQ7ZWQ.js} +83 -9
  118. package/dist/chunk-TZCQ7ZWQ.js.map +1 -0
  119. package/dist/{chunk-ONWTPXVU.js → chunk-UAP2XHRF.js} +10 -10
  120. package/dist/{chunk-ONWTPXVU.js.map → chunk-UAP2XHRF.js.map} +1 -1
  121. package/dist/{chunk-JF26V3BC.js → chunk-V7NN3HXR.js} +7 -12
  122. package/dist/chunk-V7NN3HXR.js.map +1 -0
  123. package/dist/{chunk-LAI7X6I2.js → chunk-VBBBZDI7.js} +3 -3
  124. package/dist/{chunk-LAI7X6I2.js.map → chunk-VBBBZDI7.js.map} +1 -1
  125. package/dist/{chunk-TNWXGHLD.js → chunk-VKSXST23.js} +51 -42
  126. package/dist/chunk-VKSXST23.js.map +1 -0
  127. package/dist/{chunk-HTKZ4AOW.js → chunk-VSQFGU5D.js} +3 -3
  128. package/dist/{chunk-HTKZ4AOW.js.map → chunk-VSQFGU5D.js.map} +1 -1
  129. package/dist/{chunk-IDUGP4V7.js → chunk-VX3INFBA.js} +4 -4
  130. package/dist/{chunk-IDUGP4V7.js.map → chunk-VX3INFBA.js.map} +1 -1
  131. package/dist/{chunk-Y7UBRRKG.js → chunk-XOGG7VDZ.js} +40 -31
  132. package/dist/chunk-XOGG7VDZ.js.map +1 -0
  133. package/dist/{chunk-JAJG4G5E.js → chunk-ZBBM6O6P.js} +3 -3
  134. package/dist/{chunk-JAJG4G5E.js.map → chunk-ZBBM6O6P.js.map} +1 -1
  135. package/dist/cli/index.js +5031 -3384
  136. package/dist/cli/index.js.map +1 -1
  137. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  138. package/dist/cli/src/commands/catalog.d.ts +7 -7
  139. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  140. package/dist/cli/src/commands/connector.d.ts +2 -2
  141. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  142. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  143. package/dist/cli/src/commands/history.d.ts.map +1 -1
  144. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  145. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  146. package/dist/cli/src/commands/migrate-agents.d.ts +131 -0
  147. package/dist/cli/src/commands/migrate-agents.d.ts.map +1 -0
  148. package/dist/cli/src/commands/migrate-assets.d.ts +54 -0
  149. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -0
  150. package/dist/cli/src/commands/migrate-files.d.ts +52 -0
  151. package/dist/cli/src/commands/migrate-files.d.ts.map +1 -0
  152. package/dist/cli/src/commands/migrate-providers.d.ts +5 -8
  153. package/dist/cli/src/commands/migrate-providers.d.ts.map +1 -1
  154. package/dist/cli/src/commands/migrate.d.ts +21 -0
  155. package/dist/cli/src/commands/migrate.d.ts.map +1 -0
  156. package/dist/cli/src/commands/npx.d.ts.map +1 -1
  157. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  158. package/dist/cli/src/commands/patch.d.ts.map +1 -1
  159. package/dist/cli/src/commands/preset-cmd.d.ts.map +1 -1
  160. package/dist/cli/src/commands/project.d.ts +13 -1
  161. package/dist/cli/src/commands/project.d.ts.map +1 -1
  162. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  163. package/dist/cli/src/commands/run.d.ts.map +1 -1
  164. package/dist/cli/src/commands/show.d.ts.map +1 -1
  165. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  166. package/dist/cli/src/commands/update.d.ts.map +1 -1
  167. package/dist/cli/src/commands/validate-instances.d.ts +17 -0
  168. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -0
  169. package/dist/cli/src/commands/validate.d.ts +14 -0
  170. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  171. package/dist/cli/src/commands/why.d.ts.map +1 -1
  172. package/dist/cli/src/helpers.d.ts +10 -0
  173. package/dist/cli/src/helpers.d.ts.map +1 -1
  174. package/dist/cli/src/open-library.d.ts.map +1 -1
  175. package/dist/cli/src/open-registry.d.ts +13 -16
  176. package/dist/cli/src/open-registry.d.ts.map +1 -1
  177. package/dist/cli/src/type-guards.d.ts +3 -0
  178. package/dist/cli/src/type-guards.d.ts.map +1 -0
  179. package/dist/connectors/config.js +6 -6
  180. package/dist/connectors/index.js +19 -19
  181. package/dist/{connectors-OB3OAZTK.js → connectors-HWENZFKW.js} +22 -22
  182. package/dist/{connectors-OB3OAZTK.js.map → connectors-HWENZFKW.js.map} +1 -1
  183. package/dist/connectors-shared/index.js +2 -2
  184. package/dist/core/driver-targets.js +1 -1
  185. package/dist/core/index.js +8 -8
  186. package/dist/core/manifest.js +2 -2
  187. package/dist/core/models.js +1 -1
  188. package/dist/core/publish-manifest.js +2 -2
  189. package/dist/core/ref.js +1 -1
  190. package/dist/core/runtime-assets.js +6 -6
  191. package/dist/core/src/agent-instances.d.ts +93 -0
  192. package/dist/core/src/agent-instances.d.ts.map +1 -0
  193. package/dist/core/src/agent-prompt-sections.d.ts +90 -0
  194. package/dist/core/src/agent-prompt-sections.d.ts.map +1 -0
  195. package/dist/core/src/driver-targets.d.ts +4 -2
  196. package/dist/core/src/driver-targets.d.ts.map +1 -1
  197. package/dist/core/src/index.d.ts +12 -8
  198. package/dist/core/src/index.d.ts.map +1 -1
  199. package/dist/core/src/manifest.d.ts +71 -27
  200. package/dist/core/src/manifest.d.ts.map +1 -1
  201. package/dist/core/src/models.d.ts +6 -92
  202. package/dist/core/src/models.d.ts.map +1 -1
  203. package/dist/core/src/repo-manager.d.ts +54 -3
  204. package/dist/core/src/repo-manager.d.ts.map +1 -1
  205. package/dist/core/src/type-guards.d.ts +3 -0
  206. package/dist/core/src/type-guards.d.ts.map +1 -0
  207. package/dist/core/src/walker.d.ts +7 -3
  208. package/dist/core/src/walker.d.ts.map +1 -1
  209. package/dist/core/src/workspace-config.d.ts +19 -15
  210. package/dist/core/src/workspace-config.d.ts.map +1 -1
  211. package/dist/core/store.js +2 -2
  212. package/dist/core/workspace-config.js +5 -5
  213. package/dist/deploy/index.js +8 -8
  214. package/dist/discovery/index.js +6 -6
  215. package/dist/discovery/src/builtin-providers.d.ts +5 -4
  216. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  217. package/dist/discovery/src/default-registry.d.ts +23 -0
  218. package/dist/discovery/src/default-registry.d.ts.map +1 -0
  219. package/dist/discovery/src/discover.d.ts +0 -6
  220. package/dist/discovery/src/discover.d.ts.map +1 -1
  221. package/dist/discovery/src/index.d.ts +2 -1
  222. package/dist/discovery/src/index.d.ts.map +1 -1
  223. package/dist/discovery/src/tree-entries.d.ts +1 -1
  224. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  225. package/dist/{ensure-sources-Z3KKLEM6.js → ensure-sources-VCPKNPK2.js} +21 -21
  226. package/dist/{ensure-sources-Z3KKLEM6.js.map → ensure-sources-VCPKNPK2.js.map} +1 -1
  227. package/dist/factory-assets/README.md +3 -3
  228. package/dist/factory-assets/connectors/box.js +19 -19
  229. package/dist/factory-assets/connectors/deploy.js +19 -19
  230. package/dist/factory-assets/connectors/devserver.js +19 -19
  231. package/dist/factory-assets/connectors/flow/adapter.js +19 -19
  232. package/dist/factory-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +1 -1
  233. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  234. package/dist/factory-assets/connectors/flow/run-flow.js +21 -21
  235. package/dist/factory-assets/connectors/flow.js +19 -19
  236. package/dist/factory-assets/connectors/git.js +19 -19
  237. package/dist/factory-assets/connectors/gmail.js +19 -19
  238. package/dist/factory-assets/connectors/googledrive.js +19 -19
  239. package/dist/factory-assets/connectors/local.js +19 -19
  240. package/dist/factory-assets/connectors/mattermost.js +19 -19
  241. package/dist/factory-assets/connectors/memory.js +19 -19
  242. package/dist/factory-assets/connectors/minio.js +19 -19
  243. package/dist/factory-assets/connectors/postgres.js +19 -19
  244. package/dist/factory-assets/connectors/s3.js +19 -19
  245. package/dist/factory-assets/connectors/sharepoint.js +19 -19
  246. package/dist/factory-assets/connectors/sqlite.js +19 -19
  247. package/dist/factory-assets/connectors/static-server.js +19 -19
  248. package/dist/factory-assets/connectors/tunnel.js +19 -19
  249. package/dist/factory-assets/connectors/webdav.js +19 -19
  250. package/dist/factory-assets/connectors/xstate-store.js +19 -19
  251. package/dist/factory-assets/connectors/xstate.js +19 -19
  252. package/dist/factory-assets/index.js.map +1 -1
  253. package/dist/factory-assets/presets/workspaces-authoring/workspaces-authoring.preset.yaml +9 -0
  254. package/dist/factory-assets/skaile.manifest.yaml +2 -2
  255. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +16 -12
  256. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +8 -8
  257. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +13 -11
  258. package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +1 -1
  259. package/dist/{flows-DTADYIXH.js → flows-ENQY2DV7.js} +13 -13
  260. package/dist/{flows-DTADYIXH.js.map → flows-ENQY2DV7.js.map} +1 -1
  261. package/dist/helpers-IW36CEJX.js +34 -0
  262. package/dist/{helpers-F2RFRT5D.js.map → helpers-IW36CEJX.js.map} +1 -1
  263. package/dist/library/index.js +13 -13
  264. package/dist/library/install.js +3 -3
  265. package/dist/library/src/index.d.ts +2 -2
  266. package/dist/library/src/index.d.ts.map +1 -1
  267. package/dist/library/src/library.d.ts +2 -12
  268. package/dist/library/src/library.d.ts.map +1 -1
  269. package/dist/library/src/local/local-catalog-source.d.ts +2 -2
  270. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  271. package/dist/library/src/manifest-writer.d.ts +4 -1
  272. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  273. package/dist/library/src/remote/remote-catalog-source.d.ts +11 -2
  274. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  275. package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
  276. package/dist/{library-publish-62RFU74A.js → library-publish-R3DQLMTD.js} +27 -27
  277. package/dist/{library-publish-62RFU74A.js.map → library-publish-R3DQLMTD.js.map} +1 -1
  278. package/dist/open-library-FAJZRDKE.js +40 -0
  279. package/dist/{open-library-NVG3CZUO.js.map → open-library-FAJZRDKE.js.map} +1 -1
  280. package/dist/open-registry-NVPCQPND.js +32 -0
  281. package/dist/{open-registry-IYH6W6CN.js.map → open-registry-NVPCQPND.js.map} +1 -1
  282. package/dist/paths-YUCP7K6U.js +22 -0
  283. package/dist/{paths-STQO4FYF.js.map → paths-YUCP7K6U.js.map} +1 -1
  284. package/dist/{plugin-store-2DTEIJTG.js → plugin-store-66QFBNEO.js} +10 -10
  285. package/dist/{plugin-store-2DTEIJTG.js.map → plugin-store-66QFBNEO.js.map} +1 -1
  286. package/dist/plugins/index.js +1 -1
  287. package/dist/plugins/src/asset-kind-provider.d.ts +14 -2
  288. package/dist/plugins/src/asset-kind-provider.d.ts.map +1 -1
  289. package/dist/plugins/src/catalog-source.d.ts +7 -0
  290. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  291. package/dist/plugins/src/index.d.ts +1 -1
  292. package/dist/plugins/src/index.d.ts.map +1 -1
  293. package/dist/project-ALJIVFHI.js +41 -0
  294. package/dist/{project-44LM6SRV.js.map → project-ALJIVFHI.js.map} +1 -1
  295. package/dist/resolver/index.js +9 -9
  296. package/dist/runner/index.js +34 -29
  297. package/dist/runner/src/agent-capabilities.d.ts +101 -0
  298. package/dist/runner/src/agent-capabilities.d.ts.map +1 -0
  299. package/dist/runner/src/agent.d.ts.map +1 -1
  300. package/dist/runner/src/agents/in-process-host.d.ts +56 -0
  301. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -0
  302. package/dist/runner/src/agents/instances.d.ts +62 -0
  303. package/dist/runner/src/agents/instances.d.ts.map +1 -0
  304. package/dist/runner/src/agents/json-schema.d.ts +16 -0
  305. package/dist/runner/src/agents/json-schema.d.ts.map +1 -0
  306. package/dist/runner/src/agents/memory-run-store.d.ts +19 -0
  307. package/dist/runner/src/agents/memory-run-store.d.ts.map +1 -0
  308. package/dist/runner/src/agents/run-controller.d.ts +208 -0
  309. package/dist/runner/src/agents/run-controller.d.ts.map +1 -0
  310. package/dist/runner/src/agents/standalone-surface.d.ts +30 -0
  311. package/dist/runner/src/agents/standalone-surface.d.ts.map +1 -0
  312. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  313. package/dist/runner/src/composition/bootstrap.d.ts +13 -51
  314. package/dist/runner/src/composition/bootstrap.d.ts.map +1 -1
  315. package/dist/runner/src/composition/compile.d.ts +43 -27
  316. package/dist/runner/src/composition/compile.d.ts.map +1 -1
  317. package/dist/runner/src/composition/content-source.d.ts +94 -0
  318. package/dist/runner/src/composition/content-source.d.ts.map +1 -0
  319. package/dist/runner/src/composition/dry-run.d.ts +34 -0
  320. package/dist/runner/src/composition/dry-run.d.ts.map +1 -0
  321. package/dist/runner/src/composition/errors.d.ts +41 -0
  322. package/dist/runner/src/composition/errors.d.ts.map +1 -0
  323. package/dist/runner/src/composition/index.d.ts +10 -3
  324. package/dist/runner/src/composition/index.d.ts.map +1 -1
  325. package/dist/runner/src/composition/prompt-sections.d.ts +31 -0
  326. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -0
  327. package/dist/runner/src/composition/resolve-instance.d.ts +140 -0
  328. package/dist/runner/src/composition/resolve-instance.d.ts.map +1 -0
  329. package/dist/runner/src/composition/resolve.d.ts +43 -25
  330. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  331. package/dist/runner/src/composition/revision-hash.d.ts +58 -0
  332. package/dist/runner/src/composition/revision-hash.d.ts.map +1 -0
  333. package/dist/runner/src/composition/run-snapshot.d.ts +37 -0
  334. package/dist/runner/src/composition/run-snapshot.d.ts.map +1 -0
  335. package/dist/runner/src/composition/types.d.ts +79 -12
  336. package/dist/runner/src/composition/types.d.ts.map +1 -1
  337. package/dist/runner/src/index.d.ts +2 -0
  338. package/dist/runner/src/index.d.ts.map +1 -1
  339. package/dist/runner/src/manifest.d.ts +1 -1
  340. package/dist/runner/src/manifest.d.ts.map +1 -1
  341. package/dist/runner/src/mixin-resolver.d.ts +14 -15
  342. package/dist/runner/src/mixin-resolver.d.ts.map +1 -1
  343. package/dist/runner/src/serve.d.ts +6 -0
  344. package/dist/runner/src/serve.d.ts.map +1 -1
  345. package/dist/runner/src/session-builder.d.ts +35 -6
  346. package/dist/runner/src/session-builder.d.ts.map +1 -1
  347. package/dist/sdk/asset-manager.js +18 -18
  348. package/dist/sdk/bridge.js +15 -15
  349. package/dist/sdk/core.js +8 -8
  350. package/dist/sdk/flow.js +9 -9
  351. package/dist/sdk/index.js +34 -29
  352. package/dist/sdk/index.js.map +1 -1
  353. package/dist/sdk/resolver.js +9 -9
  354. package/dist/sdk/runner.js +34 -29
  355. package/dist/sdk/session.js +2 -2
  356. package/dist/sdk/types.js +1 -1
  357. package/dist/secrets/index.js +2 -2
  358. package/dist/session/index.js +2 -2
  359. package/dist/{setup-4BV5ZWOZ.js → setup-35JXIA3N.js} +28 -28
  360. package/dist/{setup-4BV5ZWOZ.js.map → setup-35JXIA3N.js.map} +1 -1
  361. package/dist/skills-CS7NE5TT.js +26 -0
  362. package/dist/{skills-M7OU3WMP.js.map → skills-CS7NE5TT.js.map} +1 -1
  363. package/dist/source-ISR4KRZV.js +41 -0
  364. package/dist/{source-HTT6CXUP.js.map → source-ISR4KRZV.js.map} +1 -1
  365. package/dist/{source-manifest-publish-CPXUX3CL.js → source-manifest-publish-P22IPK5F.js} +27 -27
  366. package/dist/{source-manifest-publish-CPXUX3CL.js.map → source-manifest-publish-P22IPK5F.js.map} +1 -1
  367. package/dist/tui/index.js +34 -29
  368. package/dist/tui/index.js.map +1 -1
  369. package/dist/types/index.js +1 -1
  370. package/dist/types/manifests.js +1 -1
  371. package/dist/types/src/agent-lifecycle.d.ts +402 -0
  372. package/dist/types/src/agent-lifecycle.d.ts.map +1 -0
  373. package/dist/types/src/capabilities.d.ts +0 -4
  374. package/dist/types/src/capabilities.d.ts.map +1 -1
  375. package/dist/types/src/delivery.d.ts.map +1 -1
  376. package/dist/types/src/events.d.ts +66 -4
  377. package/dist/types/src/events.d.ts.map +1 -1
  378. package/dist/types/src/index.d.ts +3 -1
  379. package/dist/types/src/index.d.ts.map +1 -1
  380. package/dist/types/src/lifecycle.d.ts +21 -3
  381. package/dist/types/src/lifecycle.d.ts.map +1 -1
  382. package/dist/types/src/manifests/_shared.d.ts +1 -16
  383. package/dist/types/src/manifests/_shared.d.ts.map +1 -1
  384. package/dist/types/src/manifests/agent-composition.d.ts +44 -0
  385. package/dist/types/src/manifests/agent-composition.d.ts.map +1 -0
  386. package/dist/types/src/manifests/agent.d.ts +184 -6
  387. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  388. package/dist/types/src/manifests/index.d.ts +6 -15
  389. package/dist/types/src/manifests/index.d.ts.map +1 -1
  390. package/dist/types/src/manifests/preset.d.ts +5 -5
  391. package/dist/types/src/version.d.ts +16 -1
  392. package/dist/types/src/version.d.ts.map +1 -1
  393. package/dist/workspace-plugin/adapters/mcp.js +26 -26
  394. package/dist/workspace-plugin/adapters/omp.js +14 -14
  395. package/dist/workspace-plugin/index.js +1 -1
  396. package/package.json +1 -1
  397. package/dist/asset-feeds-3MVRNS5U.js.map +0 -1
  398. package/dist/chunk-37DN45RR.js.map +0 -1
  399. package/dist/chunk-5CYEWBPB.js +0 -440
  400. package/dist/chunk-5CYEWBPB.js.map +0 -1
  401. package/dist/chunk-5NH3U6N5.js +0 -15
  402. package/dist/chunk-5NH3U6N5.js.map +0 -1
  403. package/dist/chunk-6IGFSUTE.js.map +0 -1
  404. package/dist/chunk-7KITVWXK.js.map +0 -1
  405. package/dist/chunk-BATL2CWI.js.map +0 -1
  406. package/dist/chunk-JCATNLY3.js.map +0 -1
  407. package/dist/chunk-JEA32KB6.js.map +0 -1
  408. package/dist/chunk-JF26V3BC.js.map +0 -1
  409. package/dist/chunk-K2K7OF4P.js.map +0 -1
  410. package/dist/chunk-LFMX2UEF.js.map +0 -1
  411. package/dist/chunk-QEXEHXX5.js.map +0 -1
  412. package/dist/chunk-QK756IRJ.js.map +0 -1
  413. package/dist/chunk-TNWXGHLD.js.map +0 -1
  414. package/dist/chunk-TOSHZX4C.js.map +0 -1
  415. package/dist/chunk-UAAAERXI.js.map +0 -1
  416. package/dist/chunk-VETH6MDG.js.map +0 -1
  417. package/dist/chunk-WX74MVNA.js.map +0 -1
  418. package/dist/chunk-Y5OCUOXF.js.map +0 -1
  419. package/dist/chunk-Y7UBRRKG.js.map +0 -1
  420. package/dist/factory-assets/bundles/workspaces-authoring/workspaces-authoring.bundle.yaml +0 -9
  421. package/dist/helpers-F2RFRT5D.js +0 -34
  422. package/dist/open-library-NVG3CZUO.js +0 -40
  423. package/dist/open-registry-IYH6W6CN.js +0 -32
  424. package/dist/paths-STQO4FYF.js +0 -22
  425. package/dist/project-44LM6SRV.js +0 -36
  426. package/dist/skills-M7OU3WMP.js +0 -26
  427. package/dist/source-HTT6CXUP.js +0 -41
  428. package/dist/types/src/manifests/mount.d.ts +0 -21
  429. package/dist/types/src/manifests/mount.d.ts.map +0 -1
@@ -0,0 +1,655 @@
1
+ import * as z2 from 'zod';
2
+
3
+ // types/src/manifests/_shared.ts
4
+ var ArtifactRefSchema = z2.object({
5
+ id: z2.string().min(1),
6
+ description: z2.string().optional(),
7
+ gate: z2.enum(["hard", "soft"]).optional(),
8
+ path: z2.string().optional()
9
+ });
10
+ var FilePrerequisiteSchema = z2.object({
11
+ path: z2.string().min(1),
12
+ gate: z2.enum(["hard", "soft"]).optional(),
13
+ description: z2.string().optional()
14
+ });
15
+ var UserInputSchema = z2.looseObject({
16
+ key: z2.string().min(1).optional(),
17
+ id: z2.string().min(1).optional(),
18
+ label: z2.string().optional(),
19
+ prompt: z2.string().optional(),
20
+ type: z2.string().optional(),
21
+ required: z2.boolean().optional(),
22
+ options: z2.array(z2.string()).optional(),
23
+ values: z2.array(z2.union([z2.string(), z2.number()])).optional(),
24
+ default: z2.union([z2.string(), z2.number(), z2.boolean(), z2.array(z2.union([z2.string(), z2.number()]))]).optional(),
25
+ hint: z2.string().optional()
26
+ });
27
+ var FieldSchema = z2.object({
28
+ key: z2.string().min(1),
29
+ label: z2.string().optional(),
30
+ required: z2.boolean().optional(),
31
+ sensitive: z2.boolean().optional(),
32
+ type: z2.string().optional(),
33
+ default: z2.union([z2.string(), z2.number(), z2.boolean()]).optional()
34
+ });
35
+ var CommonMetadataSchema = z2.looseObject({
36
+ version: z2.string().optional(),
37
+ author: z2.string().optional(),
38
+ tags: z2.array(z2.string()).optional(),
39
+ stage: z2.enum(["alpha", "beta", "stable", "deprecated"]).optional(),
40
+ source: z2.string().optional(),
41
+ do_not_invoke: z2.boolean().optional()
42
+ });
43
+ var BaseFrontmatterSchema = z2.object({
44
+ name: z2.string().min(1),
45
+ description: z2.string().min(1),
46
+ version: z2.string().optional(),
47
+ // Catalog identity (populated at discovery or authoring time)
48
+ publisher: z2.string().optional(),
49
+ category: z2.string().optional(),
50
+ license: z2.string().optional(),
51
+ keywords: z2.array(z2.string()).optional()
52
+ });
53
+ function validateManifest(schema, data) {
54
+ const result = schema.safeParse(data);
55
+ if (result.success) {
56
+ return { ok: true, data: result.data };
57
+ }
58
+ return {
59
+ ok: false,
60
+ errors: result.error.issues.map((issue) => ({
61
+ path: issue.path.join("."),
62
+ message: issue.message
63
+ }))
64
+ };
65
+ }
66
+
67
+ // types/src/manifests/agent-composition.ts
68
+ var CONVENTION_FILES = [
69
+ { file: "SOUL.md", kind: "soul", binding: "inline-snapshot" },
70
+ { file: "RULES.md", kind: "ruleset", binding: "inline-live" },
71
+ { file: "DUTIES.md", kind: "prompt", binding: "inline-live" }
72
+ ];
73
+ var KNOWLEDGE_DIR = "knowledge";
74
+ var stripDotSlash = (ref) => ref.replace(/^\.\//, "").replace(/\/+$/, "");
75
+ function conventionItems(entries) {
76
+ const present = [...entries].map(stripDotSlash);
77
+ const items = [];
78
+ for (const { file, kind, binding } of CONVENTION_FILES) {
79
+ if (present.includes(file)) items.push({ kind, ref: `./${file}`, binding });
80
+ }
81
+ if (present.some((p) => p === KNOWLEDGE_DIR || p.startsWith(`${KNOWLEDGE_DIR}/`))) {
82
+ items.push({ kind: "knowledge", ref: `./${KNOWLEDGE_DIR}`, binding: "discoverable" });
83
+ }
84
+ return items;
85
+ }
86
+ function effectiveComposes(composes, entries) {
87
+ const declared = composes ?? [];
88
+ const key = (item) => `${item.kind}\0${stripDotSlash(item.ref)}`;
89
+ const declaredKeys = new Set(declared.map(key));
90
+ const implicit = conventionItems(entries).filter((item) => !declaredKeys.has(key(item)));
91
+ return [...implicit, ...declared];
92
+ }
93
+ var DEPRECATED_TOP_LEVEL = [
94
+ { field: "skills", replacement: "composes: [{ kind: skill, ref }]" },
95
+ { field: "abilities", replacement: "composes: [{ kind: skill, ref }]" },
96
+ { field: "contracts", replacement: "composes: [{ kind: contract, ref }]" },
97
+ { field: "persona", replacement: "composes: [{ kind: persona, ref }] or SOUL.md" },
98
+ { field: "rules", replacement: "composes: [{ kind: ruleset, ref }] or RULES.md" },
99
+ { field: "knowledge", replacement: "composes: [{ kind: knowledge, ref }] or knowledge/" },
100
+ { field: "requires", replacement: "composes: [{ kind: agent, ref, binding: delegate }]" },
101
+ { field: "dependencies", replacement: "composes: [{ kind, ref }]" }
102
+ ];
103
+ var DEPRECATED_METADATA = [
104
+ { field: "soul", replacement: "SOUL.md or composes: [{ kind: persona, ref }]" },
105
+ { field: "orchestrates", replacement: "composes: [{ kind: skill|agent, ref }]" },
106
+ { field: "routes_to", replacement: "composes: [{ kind: agent, ref, binding: delegate }]" },
107
+ { field: "knows", replacement: "composes: [{ kind: knowledge, ref }]" }
108
+ ];
109
+ function agentDeprecationDiagnostics(parsed) {
110
+ if (parsed === null || typeof parsed !== "object") return [];
111
+ const manifest = parsed;
112
+ const out = [];
113
+ for (const { field, replacement } of DEPRECATED_TOP_LEVEL) {
114
+ if (manifest[field] === void 0) continue;
115
+ out.push({
116
+ code: `deprecated_agent_${field}`,
117
+ severity: "warning",
118
+ message: `agent.yaml field "${field}" is deprecated and no longer read; use ${replacement}`,
119
+ path: field
120
+ });
121
+ }
122
+ const metadata = manifest.metadata;
123
+ if (metadata !== null && typeof metadata === "object") {
124
+ for (const { field, replacement } of DEPRECATED_METADATA) {
125
+ if (metadata[field] === void 0) continue;
126
+ out.push({
127
+ code: `deprecated_agent_metadata_${field}`,
128
+ severity: "warning",
129
+ message: `agent.yaml field "metadata.${field}" is deprecated and no longer read; use ${replacement}`,
130
+ path: `metadata.${field}`
131
+ });
132
+ }
133
+ }
134
+ return out;
135
+ }
136
+ function composeSlotDiagnostics(parsed) {
137
+ if (parsed === null || typeof parsed !== "object") return [];
138
+ const composes = parsed.composes;
139
+ if (!Array.isArray(composes)) return [];
140
+ const firstSeen = /* @__PURE__ */ new Map();
141
+ const out = [];
142
+ composes.forEach((item, i) => {
143
+ if (item === null || typeof item !== "object") return;
144
+ const id = item.id;
145
+ if (typeof id !== "string") return;
146
+ const first = firstSeen.get(id);
147
+ if (first === void 0) {
148
+ firstSeen.set(id, i);
149
+ return;
150
+ }
151
+ out.push({
152
+ code: "composition_conflict",
153
+ severity: "error",
154
+ message: `composes slot id "${id}" is already used by composes[${first}]`,
155
+ path: `composes[${i}].id`
156
+ });
157
+ });
158
+ return out;
159
+ }
160
+ var ANTHROPIC_MODEL_ALIASES = ["inherit", "opus", "sonnet", "haiku"];
161
+ var ANTHROPIC_MODEL_FAMILIES = ["opus", "sonnet", "haiku", "fable"];
162
+ var FAMILY_ALT = ANTHROPIC_MODEL_FAMILIES.join("|");
163
+ var FAMILY_VERSION_CORE = `(?:(?:${FAMILY_ALT})-\\d+(?:[-.]\\d+)*|\\d+(?:[-.]\\d+)*-(?:${FAMILY_ALT}))`;
164
+ var ANTHROPIC_FULL_ID_PATTERN = new RegExp(
165
+ `^(?:[a-z0-9-]+\\/)?claude-${FAMILY_VERSION_CORE}(?:-\\d{8})?$`
166
+ );
167
+ var BEDROCK_MODEL_ID_PATTERN = new RegExp(
168
+ `^(?:(?:us|eu|apac|global)\\.)?anthropic\\.claude-${FAMILY_VERSION_CORE}(?:-\\d{8})?(?:-v\\d+(?::\\d+)?)?$`
169
+ );
170
+ var VERTEX_MODEL_ID_PATTERN = new RegExp(`^claude-${FAMILY_VERSION_CORE}@\\d{8}$`);
171
+ var ModelIdSchema = z2.union([
172
+ z2.enum(ANTHROPIC_MODEL_ALIASES),
173
+ z2.string().regex(
174
+ ANTHROPIC_FULL_ID_PATTERN,
175
+ "Invalid Anthropic model ID. Use an alias (opus | sonnet | haiku | inherit), a full ID (e.g. claude-opus-5, claude-sonnet-4-6), a Bedrock ID (e.g. us.anthropic.claude-opus-4-6-v1:0), or a Vertex ID (e.g. claude-sonnet-4-5@20250929)."
176
+ ),
177
+ z2.string().regex(BEDROCK_MODEL_ID_PATTERN),
178
+ z2.string().regex(VERTEX_MODEL_ID_PATTERN)
179
+ ]);
180
+ var ANTHROPIC_FIRST_PARTY_HOSTS = ["api.anthropic.com"];
181
+ function isFirstPartyAnthropicEndpoint(baseUrl) {
182
+ if (!baseUrl) return true;
183
+ let host;
184
+ try {
185
+ host = new URL(baseUrl).hostname.toLowerCase();
186
+ } catch {
187
+ return false;
188
+ }
189
+ return ANTHROPIC_FIRST_PARTY_HOSTS.includes(host);
190
+ }
191
+ function requiresAnthropicModelId(target) {
192
+ if (!target) return true;
193
+ if (target.surface !== "anthropic-messages") return false;
194
+ if ((target.transport ?? "direct") !== "direct") return false;
195
+ return isFirstPartyAnthropicEndpoint(target.base_url);
196
+ }
197
+ var FreeFormModelIdSchema = z2.string().regex(/^\S+$/, "Model ID must be a non-empty string with no whitespace.");
198
+ function modelIdSchemaForTarget(target) {
199
+ return requiresAnthropicModelId(target) ? ModelIdSchema : FreeFormModelIdSchema;
200
+ }
201
+ function modelIdSchemaForCloud(cloud) {
202
+ return !cloud || cloud === "default" ? modelIdSchemaForTarget() : FreeFormModelIdSchema;
203
+ }
204
+ function normalizeAnthropicModel(input, fallback = "sonnet") {
205
+ if (!input) return fallback;
206
+ if (ANTHROPIC_MODEL_ALIASES.includes(input)) return input;
207
+ if (ANTHROPIC_FULL_ID_PATTERN.test(input)) return input;
208
+ if (BEDROCK_MODEL_ID_PATTERN.test(input) || VERTEX_MODEL_ID_PATTERN.test(input)) return input;
209
+ const familyMatch = input.match(/claude-(opus|sonnet|haiku)/i);
210
+ if (familyMatch) return familyMatch[1].toLowerCase();
211
+ return fallback;
212
+ }
213
+ var ModelSelectorSchema = z2.string().regex(
214
+ /^\S+$/,
215
+ 'Model selector must be a non-empty string with no whitespace: "@role", "provider/model", a model ID, or an Anthropic alias.'
216
+ );
217
+ var ModelConfigSchema = z2.looseObject({
218
+ preferred: ModelSelectorSchema.optional(),
219
+ fallback: z2.array(ModelSelectorSchema).optional(),
220
+ constraints: z2.looseObject({
221
+ temperature: z2.number().optional(),
222
+ max_tokens: z2.number().optional()
223
+ }).optional()
224
+ });
225
+ var ContentBindingValues = ["discoverable", "inline-live", "inline-snapshot"];
226
+ var AgentBindingValues = ["delegate", "run"];
227
+ var BindingValues = [...ContentBindingValues, ...AgentBindingValues];
228
+ var BindingSchema = z2.enum(BindingValues);
229
+ var SLOT_ID_PATTERN = /^[a-z][a-z0-9_-]*$/;
230
+ var SLOT_ID_REQUIRED_KINDS = {
231
+ connector: true,
232
+ "mcp-server": true
233
+ };
234
+ var SlotIdSchema = z2.string().regex(SLOT_ID_PATTERN, "id must match [a-z][a-z0-9_-]* (lowercase, starts with a letter)");
235
+ var AgentComposeItemSchema = z2.object({
236
+ kind: z2.string().min(1),
237
+ ref: z2.string().min(1),
238
+ id: SlotIdSchema.optional(),
239
+ as: z2.string().regex(
240
+ SLOT_ID_PATTERN,
241
+ "as must match [a-z][a-z0-9_-]* (it names a rendered file: no path separators or dots)"
242
+ ).optional(),
243
+ instance: z2.string().optional(),
244
+ config: z2.record(z2.string(), z2.unknown()).optional(),
245
+ binding: BindingSchema.optional()
246
+ }).superRefine((item, ctx) => {
247
+ if (item.kind === "memory" || item.kind === "trigger") {
248
+ ctx.addIssue({
249
+ code: "custom",
250
+ path: ["kind"],
251
+ message: `"${item.kind}" is not a composes kind; declare ${item.kind === "memory" ? "memory" : "triggers"} as a top-level field`
252
+ });
253
+ }
254
+ if (Object.hasOwn(SLOT_ID_REQUIRED_KINDS, item.kind) && item.id === void 0) {
255
+ ctx.addIssue({
256
+ code: "custom",
257
+ path: ["id"],
258
+ message: `composes item of kind "${item.kind}" requires a slot id`
259
+ });
260
+ }
261
+ if (item.binding === void 0) return;
262
+ const isAgentBinding = AgentBindingValues.includes(item.binding);
263
+ if (item.kind === "agent" && !isAgentBinding) {
264
+ ctx.addIssue({
265
+ code: "custom",
266
+ path: ["binding"],
267
+ message: `composes item of kind "agent" accepts binding "delegate" or "run", not "${item.binding}"`
268
+ });
269
+ } else if (item.kind !== "agent" && isAgentBinding) {
270
+ ctx.addIssue({
271
+ code: "custom",
272
+ path: ["binding"],
273
+ message: `binding "${item.binding}" is only valid for kind "agent"`
274
+ });
275
+ }
276
+ });
277
+ var AgentToolsSchema = z2.looseObject({
278
+ /** Tool names the agent may invoke. Empty or absent means "no allowlist". */
279
+ allowed: z2.array(z2.string().min(1)).optional(),
280
+ /** Tool names the agent must not invoke. Applied after `allowed`. */
281
+ denied: z2.array(z2.string().min(1)).optional()
282
+ });
283
+ var AgentLifecycleValues = ["standing", "role"];
284
+ var AgentLifecycleSchema = z2.enum(AgentLifecycleValues);
285
+ var JsonSchemaObject = z2.record(z2.string(), z2.unknown());
286
+ var AgentIoSchema = z2.looseObject({
287
+ input: JsonSchemaObject.optional(),
288
+ output: JsonSchemaObject.optional()
289
+ });
290
+ var MemoryScopeValues = ["instance", "user", "workspace"];
291
+ var MemoryScopeSchema = z2.enum(MemoryScopeValues);
292
+ var MemoryBlockSchema = z2.looseObject({
293
+ name: z2.string().regex(SLOT_ID_PATTERN, "block name must match [a-z][a-z0-9_-]*"),
294
+ scope: MemoryScopeSchema,
295
+ max_chars: z2.number().int().positive(),
296
+ /** Convention file the block is seeded from (e.g. `SOUL.md`). */
297
+ source: z2.string().min(1).optional()
298
+ });
299
+ var AgentMemorySchema = z2.looseObject({
300
+ blocks: z2.array(MemoryBlockSchema).optional(),
301
+ /** Hint only; the host decides. */
302
+ consolidation: z2.looseObject({
303
+ strategy: z2.string().min(1),
304
+ threshold: z2.number().int().positive().optional()
305
+ }).optional()
306
+ });
307
+ var TriggerIdSchema = z2.string().regex(SLOT_ID_PATTERN, "trigger id must match [a-z][a-z0-9_-]*");
308
+ var AgentTriggerSchema = z2.discriminatedUnion("kind", [
309
+ z2.looseObject({
310
+ kind: z2.literal("schedule"),
311
+ id: TriggerIdSchema,
312
+ cron: z2.string().min(1),
313
+ prompt: z2.string().min(1),
314
+ timezone: z2.string().min(1).optional(),
315
+ enabled: z2.boolean().optional()
316
+ }),
317
+ z2.looseObject({
318
+ kind: z2.literal("webhook"),
319
+ id: TriggerIdSchema,
320
+ prompt: z2.string().min(1),
321
+ enabled: z2.boolean().optional()
322
+ }),
323
+ z2.looseObject({
324
+ kind: z2.literal("channel"),
325
+ id: TriggerIdSchema,
326
+ /** Which channel messages fire the trigger (e.g. `mention`). */
327
+ when: z2.string().min(1),
328
+ prompt: z2.string().min(1).optional(),
329
+ enabled: z2.boolean().optional()
330
+ }),
331
+ z2.looseObject({
332
+ kind: z2.literal("event"),
333
+ id: TriggerIdSchema,
334
+ /** Protocol / host event name (e.g. `session_error`). */
335
+ event: z2.string().min(1),
336
+ prompt: z2.string().min(1).optional(),
337
+ enabled: z2.boolean().optional()
338
+ })
339
+ ]);
340
+ var AgentCapabilityRequirementSchema = z2.looseObject({
341
+ name: z2.string().min(1),
342
+ connector: SlotIdSchema.optional(),
343
+ required: z2.boolean().default(false)
344
+ });
345
+ var DeprecatedRequiresItemSchema = z2.looseObject({
346
+ name: z2.string(),
347
+ source: z2.string().optional(),
348
+ version: z2.string().optional()
349
+ });
350
+ var AgentManifestSchema = z2.looseObject({
351
+ spec_version: z2.string().optional(),
352
+ name: z2.string().min(1),
353
+ version: z2.string().optional(),
354
+ description: z2.string().min(1),
355
+ extends: z2.string().optional(),
356
+ model: ModelConfigSchema.optional(),
357
+ tools: AgentToolsSchema.optional(),
358
+ delegation: z2.looseObject({ mode: z2.string() }).optional(),
359
+ runtime: z2.looseObject({
360
+ max_turns: z2.number().optional(),
361
+ timeout: z2.number().optional(),
362
+ /** Role instances only: render the harness sub-agent as a background agent. */
363
+ background: z2.boolean().optional()
364
+ }).optional(),
365
+ author: z2.string().optional(),
366
+ license: z2.string().optional(),
367
+ tags: z2.array(z2.string()).optional(),
368
+ keywords: z2.array(z2.string()).optional(),
369
+ // spec 0.2
370
+ /** Default `standing`. */
371
+ lifecycle: AgentLifecycleSchema.optional(),
372
+ /** Required when `lifecycle: role`. */
373
+ io: AgentIoSchema.optional(),
374
+ memory: AgentMemorySchema.optional(),
375
+ triggers: z2.array(AgentTriggerSchema).optional(),
376
+ capabilities: z2.array(AgentCapabilityRequirementSchema).optional(),
377
+ composes: z2.array(AgentComposeItemSchema).optional(),
378
+ metadata: z2.record(z2.string(), z2.unknown()).optional(),
379
+ // Deprecated 0.1 inputs.
380
+ /** @deprecated Use `composes[{kind: skill}]`. */
381
+ skills: z2.array(z2.string()).optional(),
382
+ /** @deprecated Use `composes[{kind: skill}]`. */
383
+ abilities: z2.array(z2.string()).optional(),
384
+ /** @deprecated Use `composes[{kind: contract}]`. */
385
+ contracts: z2.array(z2.string()).optional(),
386
+ /** @deprecated Use `composes[{kind: persona}]`. */
387
+ persona: z2.array(z2.string()).optional(),
388
+ /** @deprecated Use `composes[{kind: ruleset}]`. */
389
+ rules: z2.array(z2.string()).optional(),
390
+ /** @deprecated Use `composes[{kind: knowledge}]`. */
391
+ knowledge: z2.array(z2.string()).optional(),
392
+ /** @deprecated Use `composes[{kind: agent}]`. */
393
+ requires: z2.array(DeprecatedRequiresItemSchema).optional()
394
+ }).superRefine((manifest, ctx) => {
395
+ if (manifest.lifecycle === "role" && manifest.io === void 0) {
396
+ ctx.addIssue({
397
+ code: "custom",
398
+ path: ["io"],
399
+ message: 'lifecycle "role" requires an io block ({ input, output } JSON Schemas)'
400
+ });
401
+ }
402
+ addDuplicateIssues(
403
+ ctx,
404
+ "triggers",
405
+ (manifest.triggers ?? []).map((t) => t.id),
406
+ "trigger id"
407
+ );
408
+ addDuplicateIssues(
409
+ ctx,
410
+ "memory.blocks",
411
+ (manifest.memory?.blocks ?? []).map((b) => b.name),
412
+ "memory block name"
413
+ );
414
+ });
415
+ function addDuplicateIssues(ctx, field, values, label) {
416
+ const seen = /* @__PURE__ */ new Set();
417
+ values.forEach((value, i) => {
418
+ if (seen.has(value)) {
419
+ ctx.addIssue({
420
+ code: "custom",
421
+ path: [...field.split("."), i],
422
+ message: `duplicate ${label} "${value}"`
423
+ });
424
+ }
425
+ seen.add(value);
426
+ });
427
+ }
428
+ function validateAgent(data) {
429
+ return validateManifest(AgentManifestSchema, data);
430
+ }
431
+ var ConnectorManifestSchema = z2.looseObject({
432
+ name: z2.string().min(1),
433
+ description: z2.string().min(1),
434
+ version: z2.string().optional(),
435
+ entry: z2.string().min(1),
436
+ npm_deps: z2.object({
437
+ required: z2.array(z2.string()).optional(),
438
+ optional: z2.array(z2.string()).optional()
439
+ }).optional(),
440
+ fields: z2.array(FieldSchema).optional(),
441
+ health_check: z2.string().nullable().optional(),
442
+ keywords: z2.array(z2.string()).optional(),
443
+ license: z2.string().optional()
444
+ });
445
+ function validateConnector(data) {
446
+ return validateManifest(ConnectorManifestSchema, data);
447
+ }
448
+ var SkillMetadataSchema = CommonMetadataSchema.extend({
449
+ parameters: z2.record(z2.string(), z2.unknown()).optional(),
450
+ artifacts: z2.object({
451
+ requires: z2.array(ArtifactRefSchema).optional(),
452
+ produces: z2.array(ArtifactRefSchema).optional(),
453
+ consumes: z2.array(ArtifactRefSchema).optional()
454
+ }).optional(),
455
+ prerequisites: z2.object({
456
+ files: z2.array(FilePrerequisiteSchema).optional(),
457
+ inputs_required: z2.array(UserInputSchema).optional(),
458
+ inputs_optional: z2.array(UserInputSchema).optional(),
459
+ // Parsed by the resolver's parseSkillRequirements; Zod would strip them otherwise.
460
+ reads: z2.array(z2.object({ path: z2.string(), description: z2.string().optional() })).optional(),
461
+ produces: z2.array(z2.object({ path: z2.string(), description: z2.string().optional() })).optional(),
462
+ resources: z2.array(
463
+ z2.object({
464
+ id: z2.string(),
465
+ operations: z2.array(z2.string()).optional(),
466
+ optional: z2.boolean().optional(),
467
+ description: z2.string().optional()
468
+ })
469
+ ).optional(),
470
+ connectors: z2.array(
471
+ z2.object({
472
+ driver: z2.string(),
473
+ access: z2.enum(["read-only", "read-write"]).optional()
474
+ })
475
+ ).optional()
476
+ }).optional(),
477
+ produces: z2.array(z2.object({ path: z2.string(), description: z2.string().optional() })).optional()
478
+ });
479
+ var SKILL_DESCRIPTION_PLACEHOLDER_PREFIX = "TODO:";
480
+ var SKILL_DESCRIPTION_PLACEHOLDER = `${SKILL_DESCRIPTION_PLACEHOLDER_PREFIX} describe what this skill does and when to use it.`;
481
+ var SKILL_BODY_PLACEHOLDER = "Skill prompt goes here.";
482
+ var SkillManifestSchema = z2.looseObject({
483
+ name: z2.string().min(1),
484
+ description: z2.string().refine((d) => d.trim().length > 0, {
485
+ message: "description is empty \u2014 say what the skill does and when to use it (Agent Skills spec: 1\u20131024 chars)"
486
+ }).refine((d) => !d.trim().startsWith(SKILL_DESCRIPTION_PLACEHOLDER_PREFIX), {
487
+ message: `description is still the scaffold placeholder (${SKILL_DESCRIPTION_PLACEHOLDER_PREFIX} \u2026) \u2014 say what the skill does and when to use it`
488
+ }),
489
+ version: z2.string().optional(),
490
+ license: z2.string().optional(),
491
+ compatibility: z2.string().optional(),
492
+ keywords: z2.array(z2.string()).optional(),
493
+ // agentskills.io standard field. Kept as `unknown` (not `string`) so a legacy
494
+ // array form never hard-fails validateSkill — the string-typing rule is
495
+ // advisory, owned by checkAgentSkillConformance (warn, not error).
496
+ "allowed-tools": z2.unknown().optional(),
497
+ // Legacy fields (SKILL.md convention)
498
+ source: z2.string().optional(),
499
+ user_inputs: z2.array(UserInputSchema).optional(),
500
+ reads_from: z2.array(z2.string()).optional(),
501
+ writes_to: z2.array(z2.string()).optional(),
502
+ metadata: SkillMetadataSchema.optional()
503
+ });
504
+ function validateSkill(data) {
505
+ return validateManifest(SkillManifestSchema, data);
506
+ }
507
+ var ContractManifestSchema = z2.looseObject({
508
+ name: z2.string().min(1),
509
+ description: z2.string().min(1),
510
+ version: z2.string().optional(),
511
+ keywords: z2.array(z2.string()).optional(),
512
+ license: z2.string().optional(),
513
+ metadata: CommonMetadataSchema.optional()
514
+ });
515
+ function validateContract(data) {
516
+ return validateManifest(ContractManifestSchema, data);
517
+ }
518
+ var McpServerManifestSchema = z2.looseObject({
519
+ name: z2.string().min(1),
520
+ description: z2.string().min(1),
521
+ version: z2.union([z2.string(), z2.number()]).optional(),
522
+ // "http" is the runtime literal the runner honours (StreamableHTTPClientTransport);
523
+ // "streamable-http" is accepted as an MCP-spec-aligned alias and normalized to
524
+ // "http" in mcpDeclFromCatalogEntry. Keep both until the alias is retired.
525
+ transport: z2.enum(["stdio", "sse", "http", "streamable-http"]).optional(),
526
+ command: z2.string().optional(),
527
+ args: z2.array(z2.string()).optional(),
528
+ env: z2.record(z2.string(), z2.string()).optional(),
529
+ url: z2.string().optional(),
530
+ headers: z2.record(z2.string(), z2.string()).optional(),
531
+ /** Remote only: PEM CA certificate (or a secret ref to one) pinned for this server's TLS. */
532
+ ca: z2.string().optional(),
533
+ keywords: z2.array(z2.string()).optional(),
534
+ license: z2.string().optional(),
535
+ // Optional runnable payload fetched + sha256-verified by the platform
536
+ // session-materializer into the asset dir at materialize time (e.g. a bundled
537
+ // server.js shipped as a GitHub release asset). `dest` defaults to the URL
538
+ // basename.
539
+ payload: z2.object({
540
+ // https only — bare `z.string().url()` also accepts file:/data:/javascript: schemes.
541
+ url: z2.string().url().refine((u) => u.startsWith("https://"), { message: "payload url must be https" }),
542
+ sha256: z2.string().regex(/^[a-f0-9]{64}$/),
543
+ // Plain filename, no path separators — schema-level guard against a traversal dest.
544
+ dest: z2.string().regex(/^[^/\\]+$/, { message: "dest must be a plain filename, not a path" }).optional()
545
+ }).optional()
546
+ });
547
+ function validateMcpServer(data) {
548
+ return validateManifest(McpServerManifestSchema, data);
549
+ }
550
+ var PromptManifestSchema = z2.looseObject({
551
+ name: z2.string().min(1),
552
+ description: z2.string().min(1),
553
+ version: z2.string().optional(),
554
+ keywords: z2.array(z2.string()).optional(),
555
+ license: z2.string().optional(),
556
+ metadata: CommonMetadataSchema.optional()
557
+ });
558
+ function validatePrompt(data) {
559
+ return validateManifest(PromptManifestSchema, data);
560
+ }
561
+ var PersonaManifestSchema = z2.looseObject({
562
+ name: z2.string().min(1),
563
+ description: z2.string().min(1),
564
+ version: z2.string().optional(),
565
+ keywords: z2.array(z2.string()).optional(),
566
+ license: z2.string().optional(),
567
+ metadata: CommonMetadataSchema.optional()
568
+ });
569
+ function validatePersona(data) {
570
+ return validateManifest(PersonaManifestSchema, data);
571
+ }
572
+ var PlaceholderTypeValues = [
573
+ "text",
574
+ "multiline",
575
+ "secret",
576
+ "number",
577
+ "boolean",
578
+ "enum",
579
+ "oauth",
580
+ "instance-picker"
581
+ ];
582
+ var PlaceholderTypeSchema = z2.enum(PlaceholderTypeValues);
583
+ var PlaceholderSchema = z2.object({
584
+ key: z2.string().min(1),
585
+ prompt: z2.string().optional(),
586
+ type: PlaceholderTypeSchema.optional(),
587
+ required: z2.boolean().optional(),
588
+ default: z2.union([z2.string(), z2.number(), z2.boolean()]).optional(),
589
+ values: z2.array(z2.union([z2.string(), z2.number()])).optional()
590
+ });
591
+ var ComposeRefSchema = z2.object({
592
+ kind: z2.string().min(1),
593
+ ref: z2.string().min(1)
594
+ });
595
+ var PresetItemSchema = z2.looseObject({
596
+ /** Asset ref, Library Instance ref, or nested Preset ref. */
597
+ ref: z2.string().min(1),
598
+ /** Local item ID for cross-item references (#item-id). */
599
+ id: z2.string().optional(),
600
+ /** Author-prefilled non-secret config values. */
601
+ config: z2.record(z2.string(), z2.unknown()).optional(),
602
+ /** User/secret values prompted at install. */
603
+ placeholders: z2.array(PlaceholderSchema).optional(),
604
+ /** How placeholder values fold into the Instance config. */
605
+ materialize: z2.record(z2.string(), z2.string()).optional(),
606
+ /** Composition for agent items. */
607
+ composes: z2.array(ComposeRefSchema).optional(),
608
+ /** Outer-Preset-author-supplied placeholder values for nested Presets. */
609
+ inputs: z2.record(z2.string(), z2.unknown()).optional()
610
+ });
611
+ var PresetInputSchema = z2.object({
612
+ key: z2.string().min(1),
613
+ type: PlaceholderTypeSchema.optional(),
614
+ prompt: z2.string().optional(),
615
+ required: z2.boolean().optional(),
616
+ values: z2.array(z2.union([z2.string(), z2.number()])).optional(),
617
+ default: z2.union([z2.string(), z2.number(), z2.boolean()]).optional()
618
+ });
619
+ var PresetSourceSchema = z2.object({
620
+ url: z2.string().min(1),
621
+ pin: z2.string().optional()
622
+ });
623
+ var PresetManifestSchema = z2.looseObject({
624
+ publisher: z2.string().optional(),
625
+ name: z2.string().min(1),
626
+ version: z2.union([z2.string(), z2.number()]),
627
+ description: z2.string().min(1),
628
+ category: z2.string().optional(),
629
+ license: z2.string().optional(),
630
+ keywords: z2.array(z2.string()).optional(),
631
+ /** 1+ polymorphic items. */
632
+ items: z2.array(PresetItemSchema).min(1),
633
+ /** Preset-level inputs shared across items (rare). */
634
+ inputs: z2.array(PresetInputSchema).optional(),
635
+ /** Git sources the dependency items resolve from; `apply` registers these first. */
636
+ sources: z2.array(PresetSourceSchema).optional()
637
+ });
638
+ function validatePreset(data) {
639
+ return validateManifest(PresetManifestSchema, data);
640
+ }
641
+ var RulesetManifestSchema = z2.looseObject({
642
+ name: z2.string().min(1),
643
+ description: z2.string().min(1),
644
+ version: z2.string().optional(),
645
+ keywords: z2.array(z2.string()).optional(),
646
+ license: z2.string().optional(),
647
+ metadata: CommonMetadataSchema.optional()
648
+ });
649
+ function validateRuleset(data) {
650
+ return validateManifest(RulesetManifestSchema, data);
651
+ }
652
+
653
+ export { ANTHROPIC_FIRST_PARTY_HOSTS, ANTHROPIC_FULL_ID_PATTERN, ANTHROPIC_MODEL_ALIASES, ANTHROPIC_MODEL_FAMILIES, AgentBindingValues, AgentCapabilityRequirementSchema, AgentComposeItemSchema, AgentIoSchema, AgentLifecycleSchema, AgentLifecycleValues, AgentManifestSchema, AgentMemorySchema, AgentToolsSchema, AgentTriggerSchema, ArtifactRefSchema, BEDROCK_MODEL_ID_PATTERN, BaseFrontmatterSchema, BindingSchema, BindingValues, CommonMetadataSchema, ConnectorManifestSchema, ContentBindingValues, ContractManifestSchema, FieldSchema, FilePrerequisiteSchema, FreeFormModelIdSchema, McpServerManifestSchema, MemoryBlockSchema, MemoryScopeSchema, MemoryScopeValues, ModelIdSchema, ModelSelectorSchema, PersonaManifestSchema, PlaceholderSchema, PlaceholderTypeSchema, PresetItemSchema, PresetManifestSchema, PresetSourceSchema, PromptManifestSchema, RulesetManifestSchema, SKILL_BODY_PLACEHOLDER, SKILL_DESCRIPTION_PLACEHOLDER, SKILL_DESCRIPTION_PLACEHOLDER_PREFIX, SLOT_ID_PATTERN, SLOT_ID_REQUIRED_KINDS, SkillManifestSchema, UserInputSchema, VERTEX_MODEL_ID_PATTERN, agentDeprecationDiagnostics, composeSlotDiagnostics, conventionItems, effectiveComposes, isFirstPartyAnthropicEndpoint, modelIdSchemaForCloud, modelIdSchemaForTarget, normalizeAnthropicModel, requiresAnthropicModelId, validateAgent, validateConnector, validateContract, validateManifest, validateMcpServer, validatePersona, validatePreset, validatePrompt, validateRuleset, validateSkill };
654
+ //# sourceMappingURL=chunk-FRHE7FFB.js.map
655
+ //# sourceMappingURL=chunk-FRHE7FFB.js.map