@xemahq/biome-sdk 0.1.1

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 (383) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +62 -0
  3. package/dist/adapter/index.d.ts +7 -0
  4. package/dist/adapter/index.d.ts.map +1 -0
  5. package/dist/adapter/index.js +23 -0
  6. package/dist/adapter/index.js.map +1 -0
  7. package/dist/adapter/lib/action.d.ts +25 -0
  8. package/dist/adapter/lib/action.d.ts.map +1 -0
  9. package/dist/adapter/lib/action.js +3 -0
  10. package/dist/adapter/lib/action.js.map +1 -0
  11. package/dist/adapter/lib/provider-module.d.ts +41 -0
  12. package/dist/adapter/lib/provider-module.d.ts.map +1 -0
  13. package/dist/adapter/lib/provider-module.js +7 -0
  14. package/dist/adapter/lib/provider-module.js.map +1 -0
  15. package/dist/adapter/lib/resource.d.ts +25 -0
  16. package/dist/adapter/lib/resource.d.ts.map +1 -0
  17. package/dist/adapter/lib/resource.js +3 -0
  18. package/dist/adapter/lib/resource.js.map +1 -0
  19. package/dist/adapter/lib/result.d.ts +18 -0
  20. package/dist/adapter/lib/result.d.ts.map +1 -0
  21. package/dist/adapter/lib/result.js +12 -0
  22. package/dist/adapter/lib/result.js.map +1 -0
  23. package/dist/adapter/lib/sidecar-contract.d.ts +91 -0
  24. package/dist/adapter/lib/sidecar-contract.d.ts.map +1 -0
  25. package/dist/adapter/lib/sidecar-contract.js +19 -0
  26. package/dist/adapter/lib/sidecar-contract.js.map +1 -0
  27. package/dist/adapter/lib/webhook.d.ts +49 -0
  28. package/dist/adapter/lib/webhook.d.ts.map +1 -0
  29. package/dist/adapter/lib/webhook.js +3 -0
  30. package/dist/adapter/lib/webhook.js.map +1 -0
  31. package/dist/agent-workspace/index.d.ts +8 -0
  32. package/dist/agent-workspace/index.d.ts.map +1 -0
  33. package/dist/agent-workspace/index.js +24 -0
  34. package/dist/agent-workspace/index.js.map +1 -0
  35. package/dist/agent-workspace/lib/errors/error-codes.d.ts +16 -0
  36. package/dist/agent-workspace/lib/errors/error-codes.d.ts.map +1 -0
  37. package/dist/agent-workspace/lib/errors/error-codes.js +37 -0
  38. package/dist/agent-workspace/lib/errors/error-codes.js.map +1 -0
  39. package/dist/agent-workspace/lib/errors/index.d.ts +4 -0
  40. package/dist/agent-workspace/lib/errors/index.d.ts.map +1 -0
  41. package/dist/agent-workspace/lib/errors/index.js +20 -0
  42. package/dist/agent-workspace/lib/errors/index.js.map +1 -0
  43. package/dist/agent-workspace/lib/errors/mount-plan-error.d.ts +16 -0
  44. package/dist/agent-workspace/lib/errors/mount-plan-error.d.ts.map +1 -0
  45. package/dist/agent-workspace/lib/errors/mount-plan-error.js +26 -0
  46. package/dist/agent-workspace/lib/errors/mount-plan-error.js.map +1 -0
  47. package/dist/agent-workspace/lib/errors/mount-resolver-error.d.ts +34 -0
  48. package/dist/agent-workspace/lib/errors/mount-resolver-error.d.ts.map +1 -0
  49. package/dist/agent-workspace/lib/errors/mount-resolver-error.js +50 -0
  50. package/dist/agent-workspace/lib/errors/mount-resolver-error.js.map +1 -0
  51. package/dist/agent-workspace/lib/mount-resolver.d.ts +10 -0
  52. package/dist/agent-workspace/lib/mount-resolver.d.ts.map +1 -0
  53. package/dist/agent-workspace/lib/mount-resolver.js +3 -0
  54. package/dist/agent-workspace/lib/mount-resolver.js.map +1 -0
  55. package/dist/agent-workspace/lib/mount-source.d.ts +4 -0
  56. package/dist/agent-workspace/lib/mount-source.d.ts.map +1 -0
  57. package/dist/agent-workspace/lib/mount-source.js +3 -0
  58. package/dist/agent-workspace/lib/mount-source.js.map +1 -0
  59. package/dist/agent-workspace/lib/refid-resolver.d.ts +23 -0
  60. package/dist/agent-workspace/lib/refid-resolver.d.ts.map +1 -0
  61. package/dist/agent-workspace/lib/refid-resolver.js +103 -0
  62. package/dist/agent-workspace/lib/refid-resolver.js.map +1 -0
  63. package/dist/agent-workspace/lib/registries.d.ts +30 -0
  64. package/dist/agent-workspace/lib/registries.d.ts.map +1 -0
  65. package/dist/agent-workspace/lib/registries.js +88 -0
  66. package/dist/agent-workspace/lib/registries.js.map +1 -0
  67. package/dist/agent-workspace/lib/resolvers/agent-definition.resolver.d.ts +13 -0
  68. package/dist/agent-workspace/lib/resolvers/agent-definition.resolver.d.ts.map +1 -0
  69. package/dist/agent-workspace/lib/resolvers/agent-definition.resolver.js +25 -0
  70. package/dist/agent-workspace/lib/resolvers/agent-definition.resolver.js.map +1 -0
  71. package/dist/agent-workspace/lib/resolvers/artifact-store-collection.resolver.d.ts +13 -0
  72. package/dist/agent-workspace/lib/resolvers/artifact-store-collection.resolver.d.ts.map +1 -0
  73. package/dist/agent-workspace/lib/resolvers/artifact-store-collection.resolver.js +28 -0
  74. package/dist/agent-workspace/lib/resolvers/artifact-store-collection.resolver.js.map +1 -0
  75. package/dist/agent-workspace/lib/resolvers/artifact-version.resolver.d.ts +13 -0
  76. package/dist/agent-workspace/lib/resolvers/artifact-version.resolver.d.ts.map +1 -0
  77. package/dist/agent-workspace/lib/resolvers/artifact-version.resolver.js +25 -0
  78. package/dist/agent-workspace/lib/resolvers/artifact-version.resolver.js.map +1 -0
  79. package/dist/agent-workspace/lib/resolvers/clients.d.ts +122 -0
  80. package/dist/agent-workspace/lib/resolvers/clients.d.ts.map +1 -0
  81. package/dist/agent-workspace/lib/resolvers/clients.js +3 -0
  82. package/dist/agent-workspace/lib/resolvers/clients.js.map +1 -0
  83. package/dist/agent-workspace/lib/resolvers/deliverable-specs.resolver.d.ts +13 -0
  84. package/dist/agent-workspace/lib/resolvers/deliverable-specs.resolver.d.ts.map +1 -0
  85. package/dist/agent-workspace/lib/resolvers/deliverable-specs.resolver.js +24 -0
  86. package/dist/agent-workspace/lib/resolvers/deliverable-specs.resolver.js.map +1 -0
  87. package/dist/agent-workspace/lib/resolvers/deliverables.resolver.d.ts +13 -0
  88. package/dist/agent-workspace/lib/resolvers/deliverables.resolver.d.ts.map +1 -0
  89. package/dist/agent-workspace/lib/resolvers/deliverables.resolver.js +28 -0
  90. package/dist/agent-workspace/lib/resolvers/deliverables.resolver.js.map +1 -0
  91. package/dist/agent-workspace/lib/resolvers/index.d.ts +20 -0
  92. package/dist/agent-workspace/lib/resolvers/index.d.ts.map +1 -0
  93. package/dist/agent-workspace/lib/resolvers/index.js +36 -0
  94. package/dist/agent-workspace/lib/resolvers/index.js.map +1 -0
  95. package/dist/agent-workspace/lib/resolvers/instruction-section.resolver.d.ts +13 -0
  96. package/dist/agent-workspace/lib/resolvers/instruction-section.resolver.d.ts.map +1 -0
  97. package/dist/agent-workspace/lib/resolvers/instruction-section.resolver.js +22 -0
  98. package/dist/agent-workspace/lib/resolvers/instruction-section.resolver.js.map +1 -0
  99. package/dist/agent-workspace/lib/resolvers/kb-pages.resolver.d.ts +13 -0
  100. package/dist/agent-workspace/lib/resolvers/kb-pages.resolver.d.ts.map +1 -0
  101. package/dist/agent-workspace/lib/resolvers/kb-pages.resolver.js +36 -0
  102. package/dist/agent-workspace/lib/resolvers/kb-pages.resolver.js.map +1 -0
  103. package/dist/agent-workspace/lib/resolvers/kb-space.resolver.d.ts +13 -0
  104. package/dist/agent-workspace/lib/resolvers/kb-space.resolver.d.ts.map +1 -0
  105. package/dist/agent-workspace/lib/resolvers/kb-space.resolver.js +26 -0
  106. package/dist/agent-workspace/lib/resolvers/kb-space.resolver.js.map +1 -0
  107. package/dist/agent-workspace/lib/resolvers/rendered-agents-md.resolver.d.ts +13 -0
  108. package/dist/agent-workspace/lib/resolvers/rendered-agents-md.resolver.d.ts.map +1 -0
  109. package/dist/agent-workspace/lib/resolvers/rendered-agents-md.resolver.js +23 -0
  110. package/dist/agent-workspace/lib/resolvers/rendered-agents-md.resolver.js.map +1 -0
  111. package/dist/agent-workspace/lib/resolvers/rendered-context-json.resolver.d.ts +13 -0
  112. package/dist/agent-workspace/lib/resolvers/rendered-context-json.resolver.d.ts.map +1 -0
  113. package/dist/agent-workspace/lib/resolvers/rendered-context-json.resolver.js +24 -0
  114. package/dist/agent-workspace/lib/resolvers/rendered-context-json.resolver.js.map +1 -0
  115. package/dist/agent-workspace/lib/resolvers/rendered-system-overlay.resolver.d.ts +13 -0
  116. package/dist/agent-workspace/lib/resolvers/rendered-system-overlay.resolver.d.ts.map +1 -0
  117. package/dist/agent-workspace/lib/resolvers/rendered-system-overlay.resolver.js +23 -0
  118. package/dist/agent-workspace/lib/resolvers/rendered-system-overlay.resolver.js.map +1 -0
  119. package/dist/agent-workspace/lib/resolvers/scm-repo.resolver.d.ts +13 -0
  120. package/dist/agent-workspace/lib/resolvers/scm-repo.resolver.d.ts.map +1 -0
  121. package/dist/agent-workspace/lib/resolvers/scm-repo.resolver.js +28 -0
  122. package/dist/agent-workspace/lib/resolvers/scm-repo.resolver.js.map +1 -0
  123. package/dist/agent-workspace/lib/resolvers/session-attachment.resolver.d.ts +13 -0
  124. package/dist/agent-workspace/lib/resolvers/session-attachment.resolver.d.ts.map +1 -0
  125. package/dist/agent-workspace/lib/resolvers/session-attachment.resolver.js +28 -0
  126. package/dist/agent-workspace/lib/resolvers/session-attachment.resolver.js.map +1 -0
  127. package/dist/agent-workspace/lib/resolvers/skill-bundle.resolver.d.ts +13 -0
  128. package/dist/agent-workspace/lib/resolvers/skill-bundle.resolver.d.ts.map +1 -0
  129. package/dist/agent-workspace/lib/resolvers/skill-bundle.resolver.js +29 -0
  130. package/dist/agent-workspace/lib/resolvers/skill-bundle.resolver.js.map +1 -0
  131. package/dist/agent-workspace/lib/resolvers/static-literal.resolver.d.ts +11 -0
  132. package/dist/agent-workspace/lib/resolvers/static-literal.resolver.d.ts.map +1 -0
  133. package/dist/agent-workspace/lib/resolvers/static-literal.resolver.js +33 -0
  134. package/dist/agent-workspace/lib/resolvers/static-literal.resolver.js.map +1 -0
  135. package/dist/agent-workspace/lib/resolvers/types.d.ts +35 -0
  136. package/dist/agent-workspace/lib/resolvers/types.d.ts.map +1 -0
  137. package/dist/agent-workspace/lib/resolvers/types.js +3 -0
  138. package/dist/agent-workspace/lib/resolvers/types.js.map +1 -0
  139. package/dist/agent-workspace/lib/resolvers/utils/agent-run-context-cache.d.ts +70 -0
  140. package/dist/agent-workspace/lib/resolvers/utils/agent-run-context-cache.d.ts.map +1 -0
  141. package/dist/agent-workspace/lib/resolvers/utils/agent-run-context-cache.js +90 -0
  142. package/dist/agent-workspace/lib/resolvers/utils/agent-run-context-cache.js.map +1 -0
  143. package/dist/agent-workspace/lib/resolvers/utils/auth.d.ts +5 -0
  144. package/dist/agent-workspace/lib/resolvers/utils/auth.d.ts.map +1 -0
  145. package/dist/agent-workspace/lib/resolvers/utils/auth.js +19 -0
  146. package/dist/agent-workspace/lib/resolvers/utils/auth.js.map +1 -0
  147. package/dist/agent-workspace/lib/resolvers/utils/size-cap.d.ts +3 -0
  148. package/dist/agent-workspace/lib/resolvers/utils/size-cap.d.ts.map +1 -0
  149. package/dist/agent-workspace/lib/resolvers/utils/size-cap.js +23 -0
  150. package/dist/agent-workspace/lib/resolvers/utils/size-cap.js.map +1 -0
  151. package/dist/agent-workspace/lib/resolvers/utils/streaming.d.ts +3 -0
  152. package/dist/agent-workspace/lib/resolvers/utils/streaming.d.ts.map +1 -0
  153. package/dist/agent-workspace/lib/resolvers/utils/streaming.js +11 -0
  154. package/dist/agent-workspace/lib/resolvers/utils/streaming.js.map +1 -0
  155. package/dist/agent-workspace/lib/workspace-renderer.d.ts +13 -0
  156. package/dist/agent-workspace/lib/workspace-renderer.d.ts.map +1 -0
  157. package/dist/agent-workspace/lib/workspace-renderer.js +3 -0
  158. package/dist/agent-workspace/lib/workspace-renderer.js.map +1 -0
  159. package/dist/api/index.d.ts +11 -0
  160. package/dist/api/index.d.ts.map +1 -0
  161. package/dist/api/index.js +27 -0
  162. package/dist/api/index.js.map +1 -0
  163. package/dist/api/lib/api-manifest.d.ts +29 -0
  164. package/dist/api/lib/api-manifest.d.ts.map +1 -0
  165. package/dist/api/lib/api-manifest.js +28 -0
  166. package/dist/api/lib/api-manifest.js.map +1 -0
  167. package/dist/api/lib/biome-db.d.ts +2 -0
  168. package/dist/api/lib/biome-db.d.ts.map +1 -0
  169. package/dist/api/lib/biome-db.js +13 -0
  170. package/dist/api/lib/biome-db.js.map +1 -0
  171. package/dist/api/lib/code-tool-context.d.ts +16 -0
  172. package/dist/api/lib/code-tool-context.d.ts.map +1 -0
  173. package/dist/api/lib/code-tool-context.js +12 -0
  174. package/dist/api/lib/code-tool-context.js.map +1 -0
  175. package/dist/api/lib/code-tool-descriptor.d.ts +49 -0
  176. package/dist/api/lib/code-tool-descriptor.d.ts.map +1 -0
  177. package/dist/api/lib/code-tool-descriptor.js +3 -0
  178. package/dist/api/lib/code-tool-descriptor.js.map +1 -0
  179. package/dist/api/lib/code-tool.decorator.d.ts +17 -0
  180. package/dist/api/lib/code-tool.decorator.d.ts.map +1 -0
  181. package/dist/api/lib/code-tool.decorator.js +38 -0
  182. package/dist/api/lib/code-tool.decorator.js.map +1 -0
  183. package/dist/api/lib/mutation-context.d.ts +16 -0
  184. package/dist/api/lib/mutation-context.d.ts.map +1 -0
  185. package/dist/api/lib/mutation-context.js +17 -0
  186. package/dist/api/lib/mutation-context.js.map +1 -0
  187. package/dist/api/lib/pagination.d.ts +8 -0
  188. package/dist/api/lib/pagination.d.ts.map +1 -0
  189. package/dist/api/lib/pagination.js +7 -0
  190. package/dist/api/lib/pagination.js.map +1 -0
  191. package/dist/api/lib/provider-kind-mirror.d.ts +7 -0
  192. package/dist/api/lib/provider-kind-mirror.d.ts.map +1 -0
  193. package/dist/api/lib/provider-kind-mirror.js +11 -0
  194. package/dist/api/lib/provider-kind-mirror.js.map +1 -0
  195. package/dist/api/lib/request-context.d.ts +21 -0
  196. package/dist/api/lib/request-context.d.ts.map +1 -0
  197. package/dist/api/lib/request-context.js +51 -0
  198. package/dist/api/lib/request-context.js.map +1 -0
  199. package/dist/api/lib/route-registry-entry.d.ts +11 -0
  200. package/dist/api/lib/route-registry-entry.d.ts.map +1 -0
  201. package/dist/api/lib/route-registry-entry.js +3 -0
  202. package/dist/api/lib/route-registry-entry.js.map +1 -0
  203. package/dist/api/nest/controller-base.d.ts +6 -0
  204. package/dist/api/nest/controller-base.d.ts.map +1 -0
  205. package/dist/api/nest/controller-base.js +28 -0
  206. package/dist/api/nest/controller-base.js.map +1 -0
  207. package/dist/api/nest/events/events.controller.d.ts +10 -0
  208. package/dist/api/nest/events/events.controller.d.ts.map +1 -0
  209. package/dist/api/nest/events/events.controller.js +56 -0
  210. package/dist/api/nest/events/events.controller.js.map +1 -0
  211. package/dist/api/nest/health/health.controller.d.ts +19 -0
  212. package/dist/api/nest/health/health.controller.d.ts.map +1 -0
  213. package/dist/api/nest/health/health.controller.js +63 -0
  214. package/dist/api/nest/health/health.controller.js.map +1 -0
  215. package/dist/api/nest/health/health.module.d.ts +6 -0
  216. package/dist/api/nest/health/health.module.d.ts.map +1 -0
  217. package/dist/api/nest/health/health.module.js +29 -0
  218. package/dist/api/nest/health/health.module.js.map +1 -0
  219. package/dist/api/nest/index.d.ts +7 -0
  220. package/dist/api/nest/index.d.ts.map +1 -0
  221. package/dist/api/nest/index.js +23 -0
  222. package/dist/api/nest/index.js.map +1 -0
  223. package/dist/api/nest/module.d.ts +6 -0
  224. package/dist/api/nest/module.d.ts.map +1 -0
  225. package/dist/api/nest/module.js +34 -0
  226. package/dist/api/nest/module.js.map +1 -0
  227. package/dist/api/nest/request-context.d.ts +17 -0
  228. package/dist/api/nest/request-context.d.ts.map +1 -0
  229. package/dist/api/nest/request-context.js +75 -0
  230. package/dist/api/nest/request-context.js.map +1 -0
  231. package/dist/builder/index.d.ts +7 -0
  232. package/dist/builder/index.d.ts.map +1 -0
  233. package/dist/builder/index.js +23 -0
  234. package/dist/builder/index.js.map +1 -0
  235. package/dist/builder/lib/content-walker.d.ts +27 -0
  236. package/dist/builder/lib/content-walker.d.ts.map +1 -0
  237. package/dist/builder/lib/content-walker.js +274 -0
  238. package/dist/builder/lib/content-walker.js.map +1 -0
  239. package/dist/builder/lib/contribution-schemas.d.ts +348 -0
  240. package/dist/builder/lib/contribution-schemas.d.ts.map +1 -0
  241. package/dist/builder/lib/contribution-schemas.js +301 -0
  242. package/dist/builder/lib/contribution-schemas.js.map +1 -0
  243. package/dist/builder/lib/define-biome.d.ts +17 -0
  244. package/dist/builder/lib/define-biome.d.ts.map +1 -0
  245. package/dist/builder/lib/define-biome.js +11 -0
  246. package/dist/builder/lib/define-biome.js.map +1 -0
  247. package/dist/builder/lib/define-helpers.d.ts +6 -0
  248. package/dist/builder/lib/define-helpers.d.ts.map +1 -0
  249. package/dist/builder/lib/define-helpers.js +20 -0
  250. package/dist/builder/lib/define-helpers.js.map +1 -0
  251. package/dist/builder/lib/extends-precedence.d.ts +14 -0
  252. package/dist/builder/lib/extends-precedence.d.ts.map +1 -0
  253. package/dist/builder/lib/extends-precedence.js +113 -0
  254. package/dist/builder/lib/extends-precedence.js.map +1 -0
  255. package/dist/builder/lib/workflow-phase-config-loader.d.ts +18 -0
  256. package/dist/builder/lib/workflow-phase-config-loader.d.ts.map +1 -0
  257. package/dist/builder/lib/workflow-phase-config-loader.js +78 -0
  258. package/dist/builder/lib/workflow-phase-config-loader.js.map +1 -0
  259. package/dist/host/index.d.ts +11 -0
  260. package/dist/host/index.d.ts.map +1 -0
  261. package/dist/host/index.js +38 -0
  262. package/dist/host/index.js.map +1 -0
  263. package/dist/host/lib/agents-cross-validate.d.ts +7 -0
  264. package/dist/host/lib/agents-cross-validate.d.ts.map +1 -0
  265. package/dist/host/lib/agents-cross-validate.js +157 -0
  266. package/dist/host/lib/agents-cross-validate.js.map +1 -0
  267. package/dist/host/lib/biome-manifest.d.ts +808 -0
  268. package/dist/host/lib/biome-manifest.d.ts.map +1 -0
  269. package/dist/host/lib/biome-manifest.js +490 -0
  270. package/dist/host/lib/biome-manifest.js.map +1 -0
  271. package/dist/host/lib/bootstrap-contributions-service.d.ts +35 -0
  272. package/dist/host/lib/bootstrap-contributions-service.d.ts.map +1 -0
  273. package/dist/host/lib/bootstrap-contributions-service.js +79 -0
  274. package/dist/host/lib/bootstrap-contributions-service.js.map +1 -0
  275. package/dist/host/lib/default-state.d.ts +3 -0
  276. package/dist/host/lib/default-state.d.ts.map +1 -0
  277. package/dist/host/lib/default-state.js +20 -0
  278. package/dist/host/lib/default-state.js.map +1 -0
  279. package/dist/host/lib/integration-cross-validate.d.ts +12 -0
  280. package/dist/host/lib/integration-cross-validate.d.ts.map +1 -0
  281. package/dist/host/lib/integration-cross-validate.js +66 -0
  282. package/dist/host/lib/integration-cross-validate.js.map +1 -0
  283. package/dist/host/lib/system-overlay-contribution.d.ts +14 -0
  284. package/dist/host/lib/system-overlay-contribution.d.ts.map +1 -0
  285. package/dist/host/lib/system-overlay-contribution.js +3 -0
  286. package/dist/host/lib/system-overlay-contribution.js.map +1 -0
  287. package/dist/host/lib/topology.d.ts +7 -0
  288. package/dist/host/lib/topology.d.ts.map +1 -0
  289. package/dist/host/lib/topology.js +105 -0
  290. package/dist/host/lib/topology.js.map +1 -0
  291. package/dist/index.d.ts +9 -0
  292. package/dist/index.d.ts.map +1 -0
  293. package/dist/index.js +37 -0
  294. package/dist/index.js.map +1 -0
  295. package/dist/orchestrator-adapter/index.d.ts +3 -0
  296. package/dist/orchestrator-adapter/index.d.ts.map +1 -0
  297. package/dist/orchestrator-adapter/index.js +19 -0
  298. package/dist/orchestrator-adapter/index.js.map +1 -0
  299. package/dist/orchestrator-adapter/lib/orchestrator-adapter-registry.d.ts +6 -0
  300. package/dist/orchestrator-adapter/lib/orchestrator-adapter-registry.d.ts.map +1 -0
  301. package/dist/orchestrator-adapter/lib/orchestrator-adapter-registry.js +11 -0
  302. package/dist/orchestrator-adapter/lib/orchestrator-adapter-registry.js.map +1 -0
  303. package/dist/orchestrator-adapter/lib/orchestrator-adapter.d.ts +11 -0
  304. package/dist/orchestrator-adapter/lib/orchestrator-adapter.d.ts.map +1 -0
  305. package/dist/orchestrator-adapter/lib/orchestrator-adapter.js +3 -0
  306. package/dist/orchestrator-adapter/lib/orchestrator-adapter.js.map +1 -0
  307. package/package.json +110 -0
  308. package/src/adapter/index.ts +6 -0
  309. package/src/adapter/lib/action.ts +60 -0
  310. package/src/adapter/lib/provider-module.ts +140 -0
  311. package/src/adapter/lib/resource.ts +52 -0
  312. package/src/adapter/lib/result.ts +53 -0
  313. package/src/adapter/lib/sidecar-contract.ts +169 -0
  314. package/src/adapter/lib/webhook.ts +142 -0
  315. package/src/agent-workspace/index.ts +7 -0
  316. package/src/agent-workspace/lib/errors/error-codes.ts +44 -0
  317. package/src/agent-workspace/lib/errors/index.ts +3 -0
  318. package/src/agent-workspace/lib/errors/mount-plan-error.ts +29 -0
  319. package/src/agent-workspace/lib/errors/mount-resolver-error.ts +56 -0
  320. package/src/agent-workspace/lib/mount-resolver.ts +35 -0
  321. package/src/agent-workspace/lib/mount-source.ts +11 -0
  322. package/src/agent-workspace/lib/refid-resolver.ts +135 -0
  323. package/src/agent-workspace/lib/registries.ts +150 -0
  324. package/src/agent-workspace/lib/resolvers/agent-definition.resolver.ts +45 -0
  325. package/src/agent-workspace/lib/resolvers/artifact-store-collection.resolver.ts +43 -0
  326. package/src/agent-workspace/lib/resolvers/artifact-version.resolver.ts +52 -0
  327. package/src/agent-workspace/lib/resolvers/clients.ts +297 -0
  328. package/src/agent-workspace/lib/resolvers/deliverable-specs.resolver.ts +33 -0
  329. package/src/agent-workspace/lib/resolvers/deliverables.resolver.ts +41 -0
  330. package/src/agent-workspace/lib/resolvers/index.ts +19 -0
  331. package/src/agent-workspace/lib/resolvers/instruction-section.resolver.ts +36 -0
  332. package/src/agent-workspace/lib/resolvers/kb-pages.resolver.ts +62 -0
  333. package/src/agent-workspace/lib/resolvers/kb-space.resolver.ts +34 -0
  334. package/src/agent-workspace/lib/resolvers/rendered-agents-md.resolver.ts +40 -0
  335. package/src/agent-workspace/lib/resolvers/rendered-context-json.resolver.ts +41 -0
  336. package/src/agent-workspace/lib/resolvers/rendered-system-overlay.resolver.ts +39 -0
  337. package/src/agent-workspace/lib/resolvers/scm-repo.resolver.ts +43 -0
  338. package/src/agent-workspace/lib/resolvers/session-attachment.resolver.ts +37 -0
  339. package/src/agent-workspace/lib/resolvers/skill-bundle.resolver.ts +42 -0
  340. package/src/agent-workspace/lib/resolvers/static-literal.resolver.ts +69 -0
  341. package/src/agent-workspace/lib/resolvers/types.ts +94 -0
  342. package/src/agent-workspace/lib/resolvers/utils/agent-run-context-cache.ts +206 -0
  343. package/src/agent-workspace/lib/resolvers/utils/auth.ts +39 -0
  344. package/src/agent-workspace/lib/resolvers/utils/size-cap.ts +38 -0
  345. package/src/agent-workspace/lib/resolvers/utils/streaming.ts +22 -0
  346. package/src/agent-workspace/lib/workspace-renderer.ts +25 -0
  347. package/src/api/index.ts +10 -0
  348. package/src/api/lib/api-manifest.ts +54 -0
  349. package/src/api/lib/biome-db.ts +28 -0
  350. package/src/api/lib/code-tool-context.ts +45 -0
  351. package/src/api/lib/code-tool-descriptor.ts +102 -0
  352. package/src/api/lib/code-tool.decorator.ts +111 -0
  353. package/src/api/lib/mutation-context.ts +49 -0
  354. package/src/api/lib/pagination.ts +17 -0
  355. package/src/api/lib/provider-kind-mirror.ts +16 -0
  356. package/src/api/lib/request-context.ts +90 -0
  357. package/src/api/lib/route-registry-entry.ts +35 -0
  358. package/src/api/nest/controller-base.ts +59 -0
  359. package/src/api/nest/events/events.controller.ts +48 -0
  360. package/src/api/nest/health/health.controller.ts +36 -0
  361. package/src/api/nest/health/health.module.ts +29 -0
  362. package/src/api/nest/index.ts +6 -0
  363. package/src/api/nest/module.ts +51 -0
  364. package/src/api/nest/request-context.ts +166 -0
  365. package/src/builder/index.ts +26 -0
  366. package/src/builder/lib/content-walker.ts +383 -0
  367. package/src/builder/lib/contribution-schemas.ts +572 -0
  368. package/src/builder/lib/define-biome.ts +84 -0
  369. package/src/builder/lib/define-helpers.ts +42 -0
  370. package/src/builder/lib/extends-precedence.ts +195 -0
  371. package/src/builder/lib/workflow-phase-config-loader.ts +163 -0
  372. package/src/host/index.ts +39 -0
  373. package/src/host/lib/agents-cross-validate.ts +283 -0
  374. package/src/host/lib/biome-manifest.ts +1060 -0
  375. package/src/host/lib/bootstrap-contributions-service.ts +233 -0
  376. package/src/host/lib/default-state.ts +40 -0
  377. package/src/host/lib/integration-cross-validate.ts +140 -0
  378. package/src/host/lib/system-overlay-contribution.ts +53 -0
  379. package/src/host/lib/topology.ts +174 -0
  380. package/src/index.ts +58 -0
  381. package/src/orchestrator-adapter/index.ts +2 -0
  382. package/src/orchestrator-adapter/lib/orchestrator-adapter-registry.ts +8 -0
  383. package/src/orchestrator-adapter/lib/orchestrator-adapter.ts +20 -0
@@ -0,0 +1,383 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════
2
+ // Content walker — resolves a manifest's content directories to absolute
3
+ // file paths. Used by:
4
+ // - server-side seeders (enumerate + parse files at boot)
5
+ // - in-biome install functions (when they need to register imperative
6
+ // content alongside declarative content)
7
+ //
8
+ // All paths returned are absolute. Paths declared in xema-biome.json are
9
+ // resolved relative to the biome package root (the directory containing
10
+ // the manifest). Symbolic links are followed; hidden files (basename
11
+ // starting with `.`) are skipped.
12
+ // ═══════════════════════════════════════════════════════════════════════════
13
+
14
+ import type { Dirent } from 'node:fs';
15
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
16
+ import { dirname, join, resolve } from 'node:path';
17
+ import { fileURLToPath } from 'node:url';
18
+
19
+ import * as YAML from 'js-yaml';
20
+
21
+ import {
22
+ contentKindToDir,
23
+ isServerBiomeManifest,
24
+ type BiomeManifest,
25
+ } from '../../host';
26
+
27
+ /**
28
+ * Content kinds backed by a directory of YAML/Markdown files. Kept as a
29
+ * free-form string alias because callers pass directory-token strings
30
+ * from `xema-biome.json` (the closed enum surface is `ContributionKind`
31
+ * — this helper bridges to the on-disk directory layout). Unknown tokens
32
+ * fail fast in `contentKindToDir`.
33
+ */
34
+ export type ContentKind = string;
35
+
36
+ /** File extensions per content kind (used to filter walk results). */
37
+ const CONTENT_KIND_EXTENSIONS: Readonly<Record<ContentKind, readonly string[]>> = {
38
+ agents: ['.md'],
39
+ workspaceManifests: ['.yaml', '.yml'],
40
+ workspaceManifestTemplates: ['.hbs', '.yaml', '.yml'],
41
+ toolProfiles: ['.yaml', '.yml'],
42
+ mcpCatalog: ['.yaml', '.yml'],
43
+ mcpTools: ['.yaml', '.yml', '.json'],
44
+ // OpenCode skills are folders containing SKILL.md — walker returns the
45
+ // SKILL.md path; callers can dirname() if they need the folder.
46
+ openCodeSkills: ['.md'],
47
+ openCodeTools: ['.ts', '.js', '.mjs'],
48
+ openCodePlugins: ['.ts', '.js', '.mjs'],
49
+ roleCapabilities: ['.yaml', '.yml'],
50
+ workflowConfig: ['.yaml', '.yml'],
51
+ deliverableSpecs: ['.yaml', '.yml', '.md', '.json'],
52
+ artifactTypes: ['.yaml', '.yml'],
53
+ biomeInstallSchema: ['.json'],
54
+ icons: ['.svg'],
55
+ projectKits: ['.yaml', '.yml'],
56
+ provisioningScaffolds: ['.yaml', '.yml', '.json'],
57
+ };
58
+
59
+ /**
60
+ * Resolve a biome's package root from `import.meta.url` (the biome's
61
+ * src/index.ts). Walks upward until it finds a `xema-biome.json` —
62
+ * works for both the source layout (`biomes/<tier>/<id>/src/index.ts`)
63
+ * and the built layout (`biomes/<tier>/<id>/dist/index.js`).
64
+ */
65
+ export function resolvePluginRoot(importMetaUrl: string): string {
66
+ let dir = dirname(fileURLToPath(importMetaUrl));
67
+ // Walk up to 5 levels max to avoid runaway. Real layout never needs more than 2.
68
+ for (let i = 0; i < 5; i++) {
69
+ if (existsSync(join(dir, 'xema-biome.json'))) {
70
+ return dir;
71
+ }
72
+ const parent = dirname(dir);
73
+ if (parent === dir) break;
74
+ dir = parent;
75
+ }
76
+ throw new Error(
77
+ `resolvePluginRoot: could not locate xema-biome.json walking up from ${importMetaUrl}`,
78
+ );
79
+ }
80
+
81
+ /**
82
+ * Resolve the absolute directory for a given content kind, or `null` if
83
+ * the manifest does not ship that kind. Web manifests have no content
84
+ * directories — callers always pass server manifests; we return `null`
85
+ * for web manifests instead of throwing so seeders that scan a mixed
86
+ * tree don't need their own target check.
87
+ *
88
+ * Path is conventional: `<biomeRoot>/<contentKindToDir(kind)>/`.
89
+ */
90
+ export function resolveContentDir(
91
+ biomeRoot: string,
92
+ manifest: BiomeManifest,
93
+ kind: ContentKind,
94
+ ): string | null {
95
+ if (!isServerBiomeManifest(manifest)) return null;
96
+ const ships = manifest.xema.ships?.content ?? [];
97
+ if (!ships.includes(kind)) return null;
98
+ return resolve(biomeRoot, contentKindToDir(kind));
99
+ }
100
+
101
+ export interface ContentFile {
102
+ /** Absolute path to the file. */
103
+ readonly absolutePath: string;
104
+ /** File basename (e.g. `build.md`). */
105
+ readonly basename: string;
106
+ /** Slug derived by stripping the extension. */
107
+ readonly slug: string;
108
+ }
109
+
110
+ /**
111
+ * Walk every biome under the given scan roots for a single content kind.
112
+ *
113
+ * Each scan root is a directory containing biome folders (e.g.
114
+ * `biomes/kernel`, `biomes/platform`). For each subdirectory:
115
+ * 1. Parse `xema-biome.json` (skip if missing).
116
+ * 2. Resolve the manifest's `content[kind]` path (skip if not declared).
117
+ * 3. `walkContent()` that directory for the kind's extensions.
118
+ *
119
+ * Returns a flat list, each entry tagged with the originating biome id
120
+ * so seeders can attribute the row in DB upserts. Order is stable:
121
+ * scan-roots are visited in the supplied order; within a root, biomes
122
+ * are visited alphabetically.
123
+ *
124
+ * Used by every per-service seeder (mcp-catalog, tool-profile,
125
+ * agent-session-profile, …) so the FS-discovery path stays DRY.
126
+ */
127
+ export function enumerateContentAcrossBiomeTree(
128
+ scanRoots: readonly string[],
129
+ kind: ContentKind,
130
+ ): Array<ContentFile & { biomeId: string; biomeRoot: string }> {
131
+ const out: Array<ContentFile & { biomeId: string; biomeRoot: string }> = [];
132
+ for (const root of scanRoots) {
133
+ if (!existsSync(root)) continue;
134
+ let entries: Dirent[];
135
+ try {
136
+ entries = readdirSync(root, { withFileTypes: true }) as Dirent[];
137
+ } catch {
138
+ continue;
139
+ }
140
+ const subdirs = entries
141
+ .filter((e) => e.isDirectory())
142
+ .map((e) => e.name)
143
+ .sort();
144
+ for (const dirName of subdirs) {
145
+ const biomeRoot = join(root, dirName);
146
+ const manifestPath = join(biomeRoot, 'xema-biome.json');
147
+ if (!existsSync(manifestPath)) continue;
148
+ let raw: unknown;
149
+ try {
150
+ raw = JSON.parse(readFileSync(manifestPath, 'utf-8'));
151
+ } catch {
152
+ continue;
153
+ }
154
+ // We intentionally do NOT call `parseBiomeManifest` here — this
155
+ // helper is used during seeder boot, where a malformed manifest
156
+ // should be flagged by biome-host's own validation rather than
157
+ // crashing every consumer. Callers receive only well-formed entries
158
+ // because resolveContentDir returns null for missing/invalid kinds
159
+ // and for non-server manifests.
160
+ const shape = raw as {
161
+ xema?: {
162
+ id?: string;
163
+ target?: string;
164
+ ships?: { content?: readonly string[] };
165
+ };
166
+ };
167
+ const biomeId = shape?.xema?.id;
168
+ if (typeof biomeId !== 'string') continue;
169
+ if (shape.xema?.target !== 'server') continue;
170
+ const dir = resolveContentDir(biomeRoot, raw as BiomeManifest, kind);
171
+ if (!dir) continue;
172
+ for (const file of walkContent(dir, kind)) {
173
+ out.push({ ...file, biomeId, biomeRoot });
174
+ }
175
+ }
176
+ }
177
+ return out;
178
+ }
179
+
180
+ export interface BiomeContentBinding {
181
+ /** Biome id from `xema-biome.json` `xema.id`. */
182
+ readonly biomeId: string;
183
+ /** Absolute path to the biome package root (containing the manifest). */
184
+ readonly biomeRoot: string;
185
+ /** Absolute path to the resolved content directory for the requested kind. */
186
+ readonly contentDir: string;
187
+ }
188
+
189
+ /**
190
+ * Walk every biome under the given scan roots and return a binding for
191
+ * each biome that declares the requested content kind. Unlike
192
+ * `enumerateContentAcrossBiomeTree`, this does NOT list files — it
193
+ * returns the directory roots so callers with sub-directory conventions
194
+ * (e.g. `<contentDir>/actions/*.yaml` vs `<contentDir>/workflows/*.yaml`)
195
+ * can do their own walking.
196
+ *
197
+ * Order is stable: scan roots in supplied order; biomes alphabetically
198
+ * within each root. Biomes missing `xema-biome.json` or not declaring
199
+ * the kind are silently skipped.
200
+ */
201
+ export function enumerateBiomesWithContent(
202
+ scanRoots: readonly string[],
203
+ kind: ContentKind,
204
+ ): BiomeContentBinding[] {
205
+ const out: BiomeContentBinding[] = [];
206
+ for (const root of scanRoots) {
207
+ if (!existsSync(root)) continue;
208
+ let entries: Dirent[];
209
+ try {
210
+ entries = readdirSync(root, { withFileTypes: true }) as Dirent[];
211
+ } catch {
212
+ continue;
213
+ }
214
+ const subdirs = entries
215
+ .filter((e) => e.isDirectory())
216
+ .map((e) => e.name)
217
+ .sort();
218
+ for (const dirName of subdirs) {
219
+ const biomeRoot = join(root, dirName);
220
+ const manifestPath = join(biomeRoot, 'xema-biome.json');
221
+ if (!existsSync(manifestPath)) continue;
222
+ let raw: unknown;
223
+ try {
224
+ raw = JSON.parse(readFileSync(manifestPath, 'utf-8'));
225
+ } catch {
226
+ continue;
227
+ }
228
+ const shape = raw as {
229
+ xema?: { id?: string; target?: string };
230
+ };
231
+ const biomeId = shape?.xema?.id;
232
+ if (typeof biomeId !== 'string') continue;
233
+ if (shape.xema?.target !== 'server') continue;
234
+ const contentDir = resolveContentDir(biomeRoot, raw as BiomeManifest, kind);
235
+ if (!contentDir) continue;
236
+ if (!existsSync(contentDir)) continue;
237
+ out.push({ biomeId, biomeRoot, contentDir });
238
+ }
239
+ }
240
+ return out;
241
+ }
242
+
243
+ /**
244
+ * Resolve server-biome scan roots. Two-tier lookup — fail-fast on
245
+ * misconfiguration, no silent fallbacks:
246
+ *
247
+ * 1. `XEMA_BIOME_SCAN_ROOTS_SERVER` env (CSV of absolute paths) —
248
+ * explicit, required in any non-monorepo environment (prod, CI,
249
+ * Docker). Every consuming service MUST set it in its Helm /
250
+ * compose config; missing env in those environments is a critical
251
+ * misconfiguration that crashes the seeder loudly so it's caught
252
+ * at first deploy, not after silent under-seeding.
253
+ * 2. Monorepo dev fallback — walk up from `cwd` looking for a
254
+ * `pnpm-workspace.yaml` next to a `biomes/` tree. Active only
255
+ * when running from inside the source repo.
256
+ *
257
+ * Throwing on missing config is intentional. We intentionally do NOT
258
+ * fall back to a container path like `/app/biomes/` — that would
259
+ * silently mask a missing env var in production, which is precisely
260
+ * the failure mode this contract exists to prevent.
261
+ */
262
+ export function resolveDefaultBiomeScanRoots(cwd: string = process.cwd()): string[] {
263
+ const envOverride = process.env.XEMA_BIOME_SCAN_ROOTS_SERVER;
264
+ if (envOverride && envOverride.length > 0) {
265
+ return envOverride
266
+ .split(',')
267
+ .map((p) => p.trim())
268
+ .filter((p) => p.length > 0);
269
+ }
270
+
271
+ // Monorepo dev fallback.
272
+ let cursor = cwd;
273
+ for (let i = 0; i < 8; i++) {
274
+ if (
275
+ existsSync(join(cursor, 'biomes')) &&
276
+ existsSync(join(cursor, 'pnpm-workspace.yaml'))
277
+ ) {
278
+ return [join(cursor, 'biomes', 'kernel'), join(cursor, 'biomes', 'platform')];
279
+ }
280
+ const parent = dirname(cursor);
281
+ if (parent === cursor) break;
282
+ cursor = parent;
283
+ }
284
+ throw new Error(
285
+ `resolveDefaultBiomeScanRoots: XEMA_BIOME_SCAN_ROOTS_SERVER is unset and no ` +
286
+ `monorepo workspace was found walking up from ${cwd}. Every service that ` +
287
+ `consumes biome content (artifact-store-api, deliverable-specs-api, ` +
288
+ `workflow-engine-api, llm-registry-api, biome-host-api) MUST declare ` +
289
+ `XEMA_BIOME_SCAN_ROOTS_SERVER in its Helm + docker-compose env; this ` +
290
+ `error means a deployment is missing that config.`,
291
+ );
292
+ }
293
+
294
+ /**
295
+ * Walk a content directory for a given kind, returning every file whose
296
+ * extension matches the kind. Returns [] if the directory does not exist
297
+ * (so callers do not need to existsSync first). Throws if the directory
298
+ * exists but is not readable.
299
+ */
300
+ export function walkContent(contentDir: string, kind: ContentKind): ContentFile[] {
301
+ if (!existsSync(contentDir)) return [];
302
+ const exts = CONTENT_KIND_EXTENSIONS[kind];
303
+ if (!exts) {
304
+ throw new Error(
305
+ `walkContent: unknown legacy content kind "${kind}". ` +
306
+ `Extend CONTENT_KIND_EXTENSIONS or migrate the caller to the xema.contributions protocol.`,
307
+ );
308
+ }
309
+ const out: ContentFile[] = [];
310
+
311
+ const stack: string[] = [contentDir];
312
+ while (stack.length > 0) {
313
+ const current = stack.pop();
314
+ if (!current) break;
315
+ let entries: Dirent[];
316
+ try {
317
+ entries = readdirSync(current, { withFileTypes: true }) as Dirent[];
318
+ } catch (err) {
319
+ throw new Error(
320
+ `walkContent: failed to read ${current}: ${(err as Error).message}`,
321
+ );
322
+ }
323
+ for (const entry of entries) {
324
+ if (entry.name.startsWith('.')) continue;
325
+ const full = join(current, entry.name);
326
+ if (entry.isDirectory()) {
327
+ // Skills are folder-shaped (SKILL.md inside) — recurse.
328
+ if (kind === 'openCodeSkills' || kind === 'deliverableSpecs') {
329
+ stack.push(full);
330
+ }
331
+ continue;
332
+ }
333
+ if (!entry.isFile() && !entry.isSymbolicLink()) continue;
334
+ // Defensive: resolve symlinks to a real file before checking extension.
335
+ try {
336
+ const stat = statSync(full);
337
+ if (!stat.isFile()) continue;
338
+ } catch {
339
+ continue;
340
+ }
341
+ if (!exts.some((ext) => entry.name.endsWith(ext))) continue;
342
+ const slug = stripExtension(entry.name);
343
+ out.push({ absolutePath: full, basename: entry.name, slug });
344
+ }
345
+ }
346
+ // Stable ordering for reproducible seed runs.
347
+ out.sort((a, b) => a.absolutePath.localeCompare(b.absolutePath));
348
+ return out;
349
+ }
350
+
351
+ function stripExtension(basename: string): string {
352
+ const dot = basename.lastIndexOf('.');
353
+ if (dot <= 0) return basename;
354
+ return basename.slice(0, dot);
355
+ }
356
+
357
+ // ── YAML/Markdown parsing ──────────────────────────────────────────────
358
+
359
+ const FRONTMATTER_REGEX = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/;
360
+
361
+ export function readYamlFile(path: string): unknown {
362
+ const raw = readFileSync(path, 'utf-8');
363
+ return YAML.load(raw);
364
+ }
365
+
366
+ /**
367
+ * Parse a markdown file with YAML frontmatter. Returns `null` for the
368
+ * frontmatter half if the file has none — callers should fail fast in
369
+ * that case (every Xema agent .md file MUST have frontmatter).
370
+ */
371
+ export function readMarkdownWithFrontmatter(path: string): {
372
+ frontmatter: unknown;
373
+ body: string;
374
+ } {
375
+ const raw = readFileSync(path, 'utf-8');
376
+ const match = raw.match(FRONTMATTER_REGEX);
377
+ if (!match) {
378
+ return { frontmatter: null, body: raw };
379
+ }
380
+ const yamlPart = match[1] ?? '';
381
+ const body = match[2] ?? '';
382
+ return { frontmatter: YAML.load(yamlPart), body };
383
+ }