@bluefly/openstandardagents 0.2.9 → 0.3.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 (836) hide show
  1. package/CHANGELOG.md +1766 -212
  2. package/README.md +517 -168
  3. package/bin/ossa-generate +9 -16
  4. package/bin/quickstart +514 -0
  5. package/dist/adapters/anthropic/client.d.ts +144 -0
  6. package/dist/adapters/anthropic/client.d.ts.map +1 -0
  7. package/dist/adapters/anthropic/client.js +364 -0
  8. package/dist/adapters/anthropic/client.js.map +1 -0
  9. package/dist/adapters/anthropic/config.d.ts +149 -0
  10. package/dist/adapters/anthropic/config.d.ts.map +1 -0
  11. package/dist/adapters/anthropic/config.js +157 -0
  12. package/dist/adapters/anthropic/config.js.map +1 -0
  13. package/dist/adapters/anthropic/index.d.ts +40 -0
  14. package/dist/adapters/anthropic/index.d.ts.map +1 -0
  15. package/dist/adapters/anthropic/index.js +40 -0
  16. package/dist/adapters/anthropic/index.js.map +1 -0
  17. package/dist/adapters/anthropic/messages.d.ts +93 -0
  18. package/dist/adapters/anthropic/messages.d.ts.map +1 -0
  19. package/dist/adapters/anthropic/messages.js +318 -0
  20. package/dist/adapters/anthropic/messages.js.map +1 -0
  21. package/dist/adapters/anthropic/runtime.d.ts +136 -0
  22. package/dist/adapters/anthropic/runtime.d.ts.map +1 -0
  23. package/dist/adapters/anthropic/runtime.js +287 -0
  24. package/dist/adapters/anthropic/runtime.js.map +1 -0
  25. package/dist/adapters/anthropic/tools.d.ts +126 -0
  26. package/dist/adapters/anthropic/tools.d.ts.map +1 -0
  27. package/dist/adapters/anthropic/tools.js +329 -0
  28. package/dist/adapters/anthropic/tools.js.map +1 -0
  29. package/dist/adapters/crewai-adapter.d.ts +57 -0
  30. package/dist/adapters/crewai-adapter.d.ts.map +1 -0
  31. package/dist/adapters/crewai-adapter.js +164 -0
  32. package/dist/adapters/crewai-adapter.js.map +1 -0
  33. package/dist/adapters/drupal/index.d.ts +109 -0
  34. package/dist/adapters/drupal/index.d.ts.map +1 -0
  35. package/dist/adapters/drupal/index.js +292 -0
  36. package/dist/adapters/drupal/index.js.map +1 -0
  37. package/dist/adapters/langchain-adapter.d.ts +45 -0
  38. package/dist/adapters/langchain-adapter.d.ts.map +1 -0
  39. package/dist/adapters/langchain-adapter.js +133 -0
  40. package/dist/adapters/langchain-adapter.js.map +1 -0
  41. package/dist/adapters/langflow-adapter.d.ts +50 -0
  42. package/dist/adapters/langflow-adapter.d.ts.map +1 -0
  43. package/dist/adapters/langflow-adapter.js +232 -0
  44. package/dist/adapters/langflow-adapter.js.map +1 -0
  45. package/dist/adapters/openapi-adapter.d.ts +93 -0
  46. package/dist/adapters/openapi-adapter.d.ts.map +1 -0
  47. package/dist/adapters/openapi-adapter.js +311 -0
  48. package/dist/adapters/openapi-adapter.js.map +1 -0
  49. package/dist/adapters/symfony/index.d.ts +163 -0
  50. package/dist/adapters/symfony/index.d.ts.map +1 -0
  51. package/dist/adapters/symfony/index.js +271 -0
  52. package/dist/adapters/symfony/index.js.map +1 -0
  53. package/dist/cli/commands/agents-md.command.d.ts +7 -0
  54. package/dist/cli/commands/agents-md.command.d.ts.map +1 -0
  55. package/dist/cli/commands/agents-md.command.js +148 -0
  56. package/dist/cli/commands/agents-md.command.js.map +1 -0
  57. package/dist/cli/commands/contract.command.d.ts +10 -0
  58. package/dist/cli/commands/contract.command.d.ts.map +1 -0
  59. package/dist/cli/commands/contract.command.js +402 -0
  60. package/dist/cli/commands/contract.command.js.map +1 -0
  61. package/dist/cli/commands/dependencies.command.d.ts +10 -0
  62. package/dist/cli/commands/dependencies.command.d.ts.map +1 -0
  63. package/dist/cli/commands/dependencies.command.js +318 -0
  64. package/dist/cli/commands/dependencies.command.js.map +1 -0
  65. package/dist/cli/commands/deploy.command.d.ts +4 -0
  66. package/dist/cli/commands/deploy.command.d.ts.map +1 -0
  67. package/dist/cli/commands/deploy.command.js +172 -0
  68. package/dist/cli/commands/deploy.command.js.map +1 -0
  69. package/dist/cli/commands/deploy.d.ts +22 -0
  70. package/dist/cli/commands/deploy.d.ts.map +1 -0
  71. package/dist/cli/commands/deploy.js +319 -0
  72. package/dist/cli/commands/deploy.js.map +1 -0
  73. package/dist/cli/commands/export.command.d.ts +7 -0
  74. package/dist/cli/commands/export.command.d.ts.map +1 -0
  75. package/dist/cli/commands/export.command.js +56 -0
  76. package/dist/cli/commands/export.command.js.map +1 -0
  77. package/dist/cli/commands/generate.command.d.ts +7 -0
  78. package/dist/cli/commands/generate.command.d.ts.map +1 -0
  79. package/dist/cli/commands/generate.command.js +66 -0
  80. package/dist/cli/commands/generate.command.js.map +1 -0
  81. package/dist/cli/commands/github-sync.command.d.ts +3 -0
  82. package/dist/cli/commands/github-sync.command.d.ts.map +1 -0
  83. package/dist/cli/commands/github-sync.command.js +51 -0
  84. package/dist/cli/commands/github-sync.command.js.map +1 -0
  85. package/dist/cli/commands/gitlab-agent.command.d.ts +8 -0
  86. package/dist/cli/commands/gitlab-agent.command.d.ts.map +1 -0
  87. package/dist/cli/commands/gitlab-agent.command.js +201 -0
  88. package/dist/cli/commands/gitlab-agent.command.js.map +1 -0
  89. package/dist/cli/commands/import.command.d.ts +7 -0
  90. package/dist/cli/commands/import.command.d.ts.map +1 -0
  91. package/dist/cli/commands/import.command.js +36 -0
  92. package/dist/cli/commands/import.command.js.map +1 -0
  93. package/dist/cli/commands/info.command.d.ts +3 -0
  94. package/dist/cli/commands/info.command.d.ts.map +1 -0
  95. package/dist/cli/commands/info.command.js +45 -0
  96. package/dist/cli/commands/info.command.js.map +1 -0
  97. package/dist/cli/commands/init.command.d.ts +7 -0
  98. package/dist/cli/commands/init.command.d.ts.map +1 -0
  99. package/dist/cli/commands/init.command.js +139 -0
  100. package/dist/cli/commands/init.command.js.map +1 -0
  101. package/dist/cli/commands/install.command.d.ts +3 -0
  102. package/dist/cli/commands/install.command.d.ts.map +1 -0
  103. package/dist/cli/commands/install.command.js +44 -0
  104. package/dist/cli/commands/install.command.js.map +1 -0
  105. package/dist/cli/commands/migrate.command.d.ts +22 -0
  106. package/dist/cli/commands/migrate.command.d.ts.map +1 -0
  107. package/dist/cli/commands/migrate.command.js +157 -0
  108. package/dist/cli/commands/migrate.command.js.map +1 -0
  109. package/dist/cli/commands/publish.command.d.ts +3 -0
  110. package/dist/cli/commands/publish.command.d.ts.map +1 -0
  111. package/dist/cli/commands/publish.command.js +76 -0
  112. package/dist/cli/commands/publish.command.js.map +1 -0
  113. package/dist/cli/commands/quickstart.command.d.ts +10 -0
  114. package/dist/cli/commands/quickstart.command.d.ts.map +1 -0
  115. package/dist/cli/commands/quickstart.command.js +257 -0
  116. package/dist/cli/commands/quickstart.command.js.map +1 -0
  117. package/dist/cli/commands/release.command.d.ts +8 -0
  118. package/dist/cli/commands/release.command.d.ts.map +1 -0
  119. package/dist/cli/commands/release.command.js +641 -0
  120. package/dist/cli/commands/release.command.js.map +1 -0
  121. package/dist/cli/commands/run.command.d.ts +7 -0
  122. package/dist/cli/commands/run.command.d.ts.map +1 -0
  123. package/dist/cli/commands/run.command.js +125 -0
  124. package/dist/cli/commands/run.command.js.map +1 -0
  125. package/dist/cli/commands/schema.command.d.ts +7 -0
  126. package/dist/cli/commands/schema.command.d.ts.map +1 -0
  127. package/dist/cli/commands/schema.command.js +76 -0
  128. package/dist/cli/commands/schema.command.js.map +1 -0
  129. package/dist/cli/commands/search.command.d.ts +3 -0
  130. package/dist/cli/commands/search.command.d.ts.map +1 -0
  131. package/dist/cli/commands/search.command.js +45 -0
  132. package/dist/cli/commands/search.command.js.map +1 -0
  133. package/dist/cli/commands/setup.command.d.ts +11 -0
  134. package/dist/cli/commands/setup.command.d.ts.map +1 -0
  135. package/dist/cli/commands/setup.command.js +350 -0
  136. package/dist/cli/commands/setup.command.js.map +1 -0
  137. package/dist/cli/commands/sync.command.d.ts +3 -0
  138. package/dist/cli/commands/sync.command.d.ts.map +1 -0
  139. package/dist/cli/commands/sync.command.js +51 -0
  140. package/dist/cli/commands/sync.command.js.map +1 -0
  141. package/dist/cli/commands/test.command.d.ts +3 -0
  142. package/dist/cli/commands/test.command.d.ts.map +1 -0
  143. package/dist/cli/commands/test.command.js +91 -0
  144. package/dist/cli/commands/test.command.js.map +1 -0
  145. package/dist/cli/commands/validate.command.d.ts +7 -0
  146. package/dist/cli/commands/validate.command.d.ts.map +1 -0
  147. package/dist/cli/commands/validate.command.js +143 -0
  148. package/dist/cli/commands/validate.command.js.map +1 -0
  149. package/dist/cli/index.d.ts +7 -0
  150. package/dist/cli/index.d.ts.map +1 -0
  151. package/dist/cli/index.js +148 -0
  152. package/dist/cli/index.js.map +1 -0
  153. package/dist/cli/utils/error-formatter.d.ts +19 -0
  154. package/dist/cli/utils/error-formatter.d.ts.map +1 -0
  155. package/dist/cli/utils/error-formatter.js +330 -0
  156. package/dist/cli/utils/error-formatter.js.map +1 -0
  157. package/dist/deploy/base-driver.d.ts +39 -0
  158. package/dist/deploy/base-driver.d.ts.map +1 -0
  159. package/dist/deploy/base-driver.js +63 -0
  160. package/dist/deploy/base-driver.js.map +1 -0
  161. package/dist/deploy/docker-driver.d.ts +32 -0
  162. package/dist/deploy/docker-driver.d.ts.map +1 -0
  163. package/dist/deploy/docker-driver.js +246 -0
  164. package/dist/deploy/docker-driver.js.map +1 -0
  165. package/dist/deploy/index.d.ts +15 -0
  166. package/dist/deploy/index.d.ts.map +1 -0
  167. package/dist/deploy/index.js +28 -0
  168. package/dist/deploy/index.js.map +1 -0
  169. package/dist/deploy/k8s-driver.d.ts +40 -0
  170. package/dist/deploy/k8s-driver.d.ts.map +1 -0
  171. package/dist/deploy/k8s-driver.js +372 -0
  172. package/dist/deploy/k8s-driver.js.map +1 -0
  173. package/dist/deploy/local-driver.d.ts +20 -0
  174. package/dist/deploy/local-driver.d.ts.map +1 -0
  175. package/dist/deploy/local-driver.js +150 -0
  176. package/dist/deploy/local-driver.js.map +1 -0
  177. package/dist/deploy/types.d.ts +103 -0
  178. package/dist/deploy/types.d.ts.map +1 -0
  179. package/dist/deploy/types.js +6 -0
  180. package/dist/deploy/types.js.map +1 -0
  181. package/dist/di-container.d.ts.map +1 -1
  182. package/dist/di-container.js +14 -0
  183. package/dist/di-container.js.map +1 -1
  184. package/dist/index.d.ts +2 -1
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +3 -1
  187. package/dist/index.js.map +1 -1
  188. package/dist/mesh/client.d.ts +144 -0
  189. package/dist/mesh/client.d.ts.map +1 -0
  190. package/dist/mesh/client.js +424 -0
  191. package/dist/mesh/client.js.map +1 -0
  192. package/dist/mesh/discovery.d.ts +176 -0
  193. package/dist/mesh/discovery.d.ts.map +1 -0
  194. package/dist/mesh/discovery.js +288 -0
  195. package/dist/mesh/discovery.js.map +1 -0
  196. package/dist/mesh/index.d.ts +89 -0
  197. package/dist/mesh/index.d.ts.map +1 -0
  198. package/dist/mesh/index.js +92 -0
  199. package/dist/mesh/index.js.map +1 -0
  200. package/dist/mesh/routing.d.ts +158 -0
  201. package/dist/mesh/routing.d.ts.map +1 -0
  202. package/dist/mesh/routing.js +360 -0
  203. package/dist/mesh/routing.js.map +1 -0
  204. package/dist/mesh/types.d.ts +439 -0
  205. package/dist/mesh/types.d.ts.map +1 -0
  206. package/dist/mesh/types.js +6 -0
  207. package/dist/mesh/types.js.map +1 -0
  208. package/dist/messaging/broker.d.ts +76 -0
  209. package/dist/messaging/broker.d.ts.map +1 -0
  210. package/dist/messaging/broker.js +145 -0
  211. package/dist/messaging/broker.js.map +1 -0
  212. package/dist/messaging/channels.d.ts +70 -0
  213. package/dist/messaging/channels.d.ts.map +1 -0
  214. package/dist/messaging/channels.js +183 -0
  215. package/dist/messaging/channels.js.map +1 -0
  216. package/dist/messaging/index.d.ts +10 -0
  217. package/dist/messaging/index.d.ts.map +1 -0
  218. package/dist/messaging/index.js +10 -0
  219. package/dist/messaging/index.js.map +1 -0
  220. package/dist/messaging/protocols/memory.d.ts +83 -0
  221. package/dist/messaging/protocols/memory.d.ts.map +1 -0
  222. package/dist/messaging/protocols/memory.js +293 -0
  223. package/dist/messaging/protocols/memory.js.map +1 -0
  224. package/dist/messaging/protocols/redis.d.ts +83 -0
  225. package/dist/messaging/protocols/redis.d.ts.map +1 -0
  226. package/dist/messaging/protocols/redis.js +223 -0
  227. package/dist/messaging/protocols/redis.js.map +1 -0
  228. package/dist/messaging/types.d.ts +180 -0
  229. package/dist/messaging/types.d.ts.map +1 -0
  230. package/dist/messaging/types.js +6 -0
  231. package/dist/messaging/types.js.map +1 -0
  232. package/dist/repositories/manifest.repository.d.ts +1 -1
  233. package/dist/repositories/manifest.repository.d.ts.map +1 -1
  234. package/dist/repositories/manifest.repository.js +7 -6
  235. package/dist/repositories/manifest.repository.js.map +1 -1
  236. package/dist/repositories/schema.repository.d.ts +4 -0
  237. package/dist/repositories/schema.repository.d.ts.map +1 -1
  238. package/dist/repositories/schema.repository.js +10 -3
  239. package/dist/repositories/schema.repository.js.map +1 -1
  240. package/dist/sdk/events/cloudevents-emitter.d.ts +56 -0
  241. package/dist/sdk/events/cloudevents-emitter.d.ts.map +1 -0
  242. package/dist/sdk/events/cloudevents-emitter.js +101 -0
  243. package/dist/sdk/events/cloudevents-emitter.js.map +1 -0
  244. package/dist/sdk/events/index.d.ts +2 -0
  245. package/dist/sdk/events/index.d.ts.map +1 -0
  246. package/dist/sdk/events/index.js +2 -0
  247. package/dist/sdk/events/index.js.map +1 -0
  248. package/dist/sdk/tracing/index.d.ts +2 -0
  249. package/dist/sdk/tracing/index.d.ts.map +1 -0
  250. package/dist/sdk/tracing/index.js +2 -0
  251. package/dist/sdk/tracing/index.js.map +1 -0
  252. package/dist/sdk/tracing/w3c-baggage.d.ts +40 -0
  253. package/dist/sdk/tracing/w3c-baggage.d.ts.map +1 -0
  254. package/dist/sdk/tracing/w3c-baggage.js +148 -0
  255. package/dist/sdk/tracing/w3c-baggage.js.map +1 -0
  256. package/dist/services/agent-services/qdrant.service.d.ts +60 -0
  257. package/dist/services/agent-services/qdrant.service.d.ts.map +1 -0
  258. package/dist/services/agent-services/qdrant.service.js +168 -0
  259. package/dist/services/agent-services/qdrant.service.js.map +1 -0
  260. package/dist/services/agents-md/agents-md.service.d.ts +61 -0
  261. package/dist/services/agents-md/agents-md.service.d.ts.map +1 -0
  262. package/dist/services/agents-md/agents-md.service.js +348 -0
  263. package/dist/services/agents-md/agents-md.service.js.map +1 -0
  264. package/dist/services/deployment/deployment.service.d.ts +19 -0
  265. package/dist/services/deployment/deployment.service.d.ts.map +1 -0
  266. package/dist/services/deployment/deployment.service.js +87 -0
  267. package/dist/services/deployment/deployment.service.js.map +1 -0
  268. package/dist/services/generation.service.d.ts +3 -1
  269. package/dist/services/generation.service.d.ts.map +1 -1
  270. package/dist/services/generation.service.js +34 -68
  271. package/dist/services/generation.service.js.map +1 -1
  272. package/dist/services/github-sync/github-client.js +2 -2
  273. package/dist/services/github-sync/github-client.js.map +1 -1
  274. package/dist/services/github-sync/schemas.d.ts +1 -1
  275. package/dist/services/github-sync/schemas.d.ts.map +1 -1
  276. package/dist/services/github-sync/schemas.js.map +1 -1
  277. package/dist/services/github-sync/sync.service.d.ts.map +1 -1
  278. package/dist/services/github-sync/sync.service.js +4 -2
  279. package/dist/services/github-sync/sync.service.js.map +1 -1
  280. package/dist/services/gitlab-agent.service.d.ts.map +1 -1
  281. package/dist/services/gitlab-agent.service.js +3 -1
  282. package/dist/services/gitlab-agent.service.js.map +1 -1
  283. package/dist/services/messaging/example.d.ts +6 -0
  284. package/dist/services/messaging/example.d.ts.map +1 -0
  285. package/dist/services/messaging/example.js +260 -0
  286. package/dist/services/messaging/example.js.map +1 -0
  287. package/dist/services/messaging/index.d.ts +81 -0
  288. package/dist/services/messaging/index.d.ts.map +1 -0
  289. package/dist/services/messaging/index.js +85 -0
  290. package/dist/services/messaging/index.js.map +1 -0
  291. package/dist/services/messaging/memory-broker.d.ts +103 -0
  292. package/dist/services/messaging/memory-broker.d.ts.map +1 -0
  293. package/dist/services/messaging/memory-broker.js +435 -0
  294. package/dist/services/messaging/memory-broker.js.map +1 -0
  295. package/dist/services/messaging/messaging.service.d.ts +150 -0
  296. package/dist/services/messaging/messaging.service.d.ts.map +1 -0
  297. package/dist/services/messaging/messaging.service.js +456 -0
  298. package/dist/services/messaging/messaging.service.js.map +1 -0
  299. package/dist/services/messaging/messaging.types.d.ts +319 -0
  300. package/dist/services/messaging/messaging.types.d.ts.map +1 -0
  301. package/dist/services/messaging/messaging.types.js +68 -0
  302. package/dist/services/messaging/messaging.types.js.map +1 -0
  303. package/dist/services/migration.service.d.ts +45 -4
  304. package/dist/services/migration.service.d.ts.map +1 -1
  305. package/dist/services/migration.service.js +248 -31
  306. package/dist/services/migration.service.js.map +1 -1
  307. package/dist/services/registry/registry.service.d.ts +39 -0
  308. package/dist/services/registry/registry.service.d.ts.map +1 -0
  309. package/dist/services/registry/registry.service.js +169 -0
  310. package/dist/services/registry/registry.service.js.map +1 -0
  311. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -1
  312. package/dist/services/release-automation/base-crud.service.js.map +1 -1
  313. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -1
  314. package/dist/services/release-automation/merge-request.service.js +4 -4
  315. package/dist/services/release-automation/merge-request.service.js.map +1 -1
  316. package/dist/services/release-automation/milestone.service.d.ts.map +1 -1
  317. package/dist/services/release-automation/milestone.service.js.map +1 -1
  318. package/dist/services/release-automation/release.service.d.ts +4 -4
  319. package/dist/services/release-automation/release.service.d.ts.map +1 -1
  320. package/dist/services/release-automation/release.service.js +1 -3
  321. package/dist/services/release-automation/release.service.js.map +1 -1
  322. package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
  323. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -1
  324. package/dist/services/release-automation/schemas/release.schema.js +11 -23
  325. package/dist/services/release-automation/schemas/release.schema.js.map +1 -1
  326. package/dist/services/release-automation/tag.service.d.ts.map +1 -1
  327. package/dist/services/release-automation/tag.service.js +4 -1
  328. package/dist/services/release-automation/tag.service.js.map +1 -1
  329. package/dist/services/release-automation/webhook.service.d.ts +2 -2
  330. package/dist/services/release-automation/webhook.service.d.ts.map +1 -1
  331. package/dist/services/release-automation/webhook.service.js +27 -14
  332. package/dist/services/release-automation/webhook.service.js.map +1 -1
  333. package/dist/services/runtime/anthropic.adapter.d.ts +145 -0
  334. package/dist/services/runtime/anthropic.adapter.d.ts.map +1 -0
  335. package/dist/services/runtime/anthropic.adapter.js +525 -0
  336. package/dist/services/runtime/anthropic.adapter.js.map +1 -0
  337. package/dist/services/runtime/azure.adapter.d.ts +389 -0
  338. package/dist/services/runtime/azure.adapter.d.ts.map +1 -0
  339. package/dist/services/runtime/azure.adapter.js +515 -0
  340. package/dist/services/runtime/azure.adapter.js.map +1 -0
  341. package/dist/services/runtime/bedrock.adapter.d.ts +170 -0
  342. package/dist/services/runtime/bedrock.adapter.d.ts.map +1 -0
  343. package/dist/services/runtime/bedrock.adapter.js +667 -0
  344. package/dist/services/runtime/bedrock.adapter.js.map +1 -0
  345. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -1
  346. package/dist/services/runtime/claude/capability-mapper.js.map +1 -1
  347. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  348. package/dist/services/runtime/claude/claude-adapter.js +3 -7
  349. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  350. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -1
  351. package/dist/services/runtime/claude/manifest-parser.js +2 -2
  352. package/dist/services/runtime/claude/manifest-parser.js.map +1 -1
  353. package/dist/services/runtime/gemini.adapter.d.ts +190 -0
  354. package/dist/services/runtime/gemini.adapter.d.ts.map +1 -0
  355. package/dist/services/runtime/gemini.adapter.js +603 -0
  356. package/dist/services/runtime/gemini.adapter.js.map +1 -0
  357. package/dist/services/runtime/mistral.adapter.d.ts +201 -0
  358. package/dist/services/runtime/mistral.adapter.d.ts.map +1 -0
  359. package/dist/services/runtime/mistral.adapter.js +654 -0
  360. package/dist/services/runtime/mistral.adapter.js.map +1 -0
  361. package/dist/services/runtime/ollama.adapter.d.ts +187 -0
  362. package/dist/services/runtime/ollama.adapter.d.ts.map +1 -0
  363. package/dist/services/runtime/ollama.adapter.js +525 -0
  364. package/dist/services/runtime/ollama.adapter.js.map +1 -0
  365. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  366. package/dist/services/runtime/openai.adapter.js.map +1 -1
  367. package/dist/services/test-runner/test-runner.service.d.ts +21 -0
  368. package/dist/services/test-runner/test-runner.service.d.ts.map +1 -0
  369. package/dist/services/test-runner/test-runner.service.js +91 -0
  370. package/dist/services/test-runner/test-runner.service.js.map +1 -0
  371. package/dist/services/validation.service.d.ts.map +1 -1
  372. package/dist/services/validation.service.js +38 -13
  373. package/dist/services/validation.service.js.map +1 -1
  374. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  375. package/dist/services/validators/anthropic.validator.js +2 -5
  376. package/dist/services/validators/anthropic.validator.js.map +1 -1
  377. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  378. package/dist/services/validators/autogen.validator.js +1 -2
  379. package/dist/services/validators/autogen.validator.js.map +1 -1
  380. package/dist/services/validators/contract.validator.d.ts +90 -0
  381. package/dist/services/validators/contract.validator.d.ts.map +1 -0
  382. package/dist/services/validators/contract.validator.js +508 -0
  383. package/dist/services/validators/contract.validator.js.map +1 -0
  384. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  385. package/dist/services/validators/crewai.validator.js.map +1 -1
  386. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  387. package/dist/services/validators/cursor.validator.js.map +1 -1
  388. package/dist/services/validators/dependencies.validator.d.ts +104 -0
  389. package/dist/services/validators/dependencies.validator.d.ts.map +1 -0
  390. package/dist/services/validators/dependencies.validator.js +386 -0
  391. package/dist/services/validators/dependencies.validator.js.map +1 -0
  392. package/dist/services/validators/index.d.ts +1 -0
  393. package/dist/services/validators/index.d.ts.map +1 -1
  394. package/dist/services/validators/index.js +1 -0
  395. package/dist/services/validators/index.js.map +1 -1
  396. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  397. package/dist/services/validators/langchain.validator.js +4 -13
  398. package/dist/services/validators/langchain.validator.js.map +1 -1
  399. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  400. package/dist/services/validators/langflow.validator.js +1 -2
  401. package/dist/services/validators/langflow.validator.js.map +1 -1
  402. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  403. package/dist/services/validators/langgraph.validator.js +1 -2
  404. package/dist/services/validators/langgraph.validator.js.map +1 -1
  405. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  406. package/dist/services/validators/llamaindex.validator.js +4 -13
  407. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  408. package/dist/services/validators/messaging.validator.d.ts +77 -0
  409. package/dist/services/validators/messaging.validator.d.ts.map +1 -0
  410. package/dist/services/validators/messaging.validator.js +296 -0
  411. package/dist/services/validators/messaging.validator.js.map +1 -0
  412. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  413. package/dist/services/validators/openai.validator.js +1 -6
  414. package/dist/services/validators/openai.validator.js.map +1 -1
  415. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  416. package/dist/services/validators/vercel-ai.validator.js +1 -3
  417. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  418. package/dist/spec/extensions/a2a-messaging.md +471 -0
  419. package/dist/spec/extensions/manifest-extensions.md +550 -0
  420. package/dist/spec/registry/README.md +472 -0
  421. package/dist/spec/registry/openapi.yaml +1124 -0
  422. package/dist/spec/registry/registry-api.schema.json +731 -0
  423. package/dist/spec/registry/registry-spec.md +2239 -0
  424. package/dist/spec/schema/agent-test.schema.json +117 -0
  425. package/dist/spec/schema/components/activity-stream.schema.json +94 -0
  426. package/dist/spec/schema/components/constraints.schema.json +84 -0
  427. package/dist/spec/schema/components/dependencies.schema.json +147 -0
  428. package/dist/spec/schema/components/encryption.schema.json +115 -0
  429. package/dist/spec/schema/components/identity.schema.json +48 -0
  430. package/dist/spec/schema/components/index.json +37 -0
  431. package/dist/spec/schema/components/llm-config.schema.json +67 -0
  432. package/dist/spec/schema/components/metadata.schema.json +37 -0
  433. package/dist/spec/schema/components/tool.schema.json +64 -0
  434. package/dist/spec/schema/extensions/a2a.extension.schema.json +127 -0
  435. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +95 -1
  436. package/dist/spec/v0.3.0/UNIFIED-SCHEMA.md +120 -0
  437. package/dist/spec/v0.3.0/adapters/drupal.md +541 -0
  438. package/dist/spec/v0.3.0/adapters/symfony.md +659 -0
  439. package/dist/spec/v0.3.0/agent-test.schema.json +75 -0
  440. package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +110 -0
  441. package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  442. package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  443. package/dist/spec/v0.3.0/extensions/drupal.md +417 -0
  444. package/dist/spec/v0.3.0/ossa-0.3.0.schema.json +2787 -0
  445. package/dist/spec/v0.3.0/protocols/sse.md +494 -0
  446. package/dist/spec/v0.3.0/protocols/webrtc.md +600 -0
  447. package/dist/spec/v0.3.0/protocols/websocket.md +362 -0
  448. package/dist/spec/v0.3.0/schemas/agent-unified.yaml +165 -0
  449. package/dist/spec/v0.3.0/schemas/capabilities.yaml +102 -0
  450. package/dist/spec/v0.3.0/schemas/functions.yaml +75 -0
  451. package/dist/spec/v0.3.0/schemas/messaging/channel.schema.json +245 -0
  452. package/dist/spec/v0.3.0/schemas/messaging/delivery-receipt.schema.json +192 -0
  453. package/dist/spec/v0.3.0/schemas/messaging/message.schema.json +205 -0
  454. package/dist/spec/v0.3.0/schemas/messaging/subscription.schema.json +214 -0
  455. package/dist/spec/v0.3.0/schemas/runtime.yaml +102 -0
  456. package/dist/spec/v0.3.0/schemas/taxonomy.yaml +533 -0
  457. package/dist/spec/v0.3.0/schemas/unified-llm.yaml +91 -0
  458. package/dist/spec/v0.3.0/taxonomy.yaml +256 -0
  459. package/dist/testing/fixtures.d.ts +61 -0
  460. package/dist/testing/fixtures.d.ts.map +1 -0
  461. package/dist/testing/fixtures.js +291 -0
  462. package/dist/testing/fixtures.js.map +1 -0
  463. package/dist/testing/index.d.ts +10 -0
  464. package/dist/testing/index.d.ts.map +1 -0
  465. package/dist/testing/index.js +10 -0
  466. package/dist/testing/index.js.map +1 -0
  467. package/dist/testing/reporters/base.d.ts +24 -0
  468. package/dist/testing/reporters/base.d.ts.map +1 -0
  469. package/dist/testing/reporters/base.js +5 -0
  470. package/dist/testing/reporters/base.js.map +1 -0
  471. package/dist/testing/reporters/console.d.ts +18 -0
  472. package/dist/testing/reporters/console.d.ts.map +1 -0
  473. package/dist/testing/reporters/console.js +76 -0
  474. package/dist/testing/reporters/console.js.map +1 -0
  475. package/dist/testing/reporters/json.d.ts +29 -0
  476. package/dist/testing/reporters/json.d.ts.map +1 -0
  477. package/dist/testing/reporters/json.js +40 -0
  478. package/dist/testing/reporters/json.js.map +1 -0
  479. package/dist/testing/runner.d.ts +96 -0
  480. package/dist/testing/runner.d.ts.map +1 -0
  481. package/dist/testing/runner.js +401 -0
  482. package/dist/testing/runner.js.map +1 -0
  483. package/dist/transports/index.d.ts +8 -0
  484. package/dist/transports/index.d.ts.map +1 -0
  485. package/dist/transports/index.js +11 -0
  486. package/dist/transports/index.js.map +1 -0
  487. package/dist/transports/sse.d.ts +166 -0
  488. package/dist/transports/sse.d.ts.map +1 -0
  489. package/dist/transports/sse.js +309 -0
  490. package/dist/transports/sse.js.map +1 -0
  491. package/dist/transports/webrtc.d.ts +183 -0
  492. package/dist/transports/webrtc.d.ts.map +1 -0
  493. package/dist/transports/webrtc.js +478 -0
  494. package/dist/transports/webrtc.js.map +1 -0
  495. package/dist/transports/websocket.d.ts +204 -0
  496. package/dist/transports/websocket.d.ts.map +1 -0
  497. package/dist/transports/websocket.js +397 -0
  498. package/dist/transports/websocket.js.map +1 -0
  499. package/dist/types/generated/ossa-0.3.0.types.d.ts +316 -0
  500. package/dist/types/generated/ossa-0.3.0.types.d.ts.map +1 -0
  501. package/dist/types/generated/ossa-0.3.0.types.js +8 -0
  502. package/dist/types/generated/ossa-0.3.0.types.js.map +1 -0
  503. package/dist/types/generated/ossa-0.3.0.zod.d.ts +17 -0
  504. package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +1 -0
  505. package/dist/types/generated/ossa-0.3.0.zod.js +3 -0
  506. package/dist/types/generated/ossa-0.3.0.zod.js.map +1 -0
  507. package/dist/types/index.d.ts +124 -2
  508. package/dist/types/index.d.ts.map +1 -1
  509. package/dist/types/index.js +8 -1
  510. package/dist/types/index.js.map +1 -1
  511. package/dist/types/messaging.d.ts +116 -0
  512. package/dist/types/messaging.d.ts.map +1 -0
  513. package/dist/types/messaging.js +6 -0
  514. package/dist/types/messaging.js.map +1 -0
  515. package/dist/types/policy.d.ts.map +1 -1
  516. package/dist/types/policy.js.map +1 -1
  517. package/dist/types/task.d.ts +222 -0
  518. package/dist/types/task.d.ts.map +1 -0
  519. package/dist/types/task.js +40 -0
  520. package/dist/types/task.js.map +1 -0
  521. package/dist/types/workflow.d.ts +283 -0
  522. package/dist/types/workflow.d.ts.map +1 -0
  523. package/dist/types/workflow.js +51 -0
  524. package/dist/types/workflow.js.map +1 -0
  525. package/dist/utils/path-validator.d.ts +24 -0
  526. package/dist/utils/path-validator.d.ts.map +1 -0
  527. package/dist/utils/path-validator.js +70 -0
  528. package/dist/utils/path-validator.js.map +1 -0
  529. package/dist/utils/version.d.ts +17 -8
  530. package/dist/utils/version.d.ts.map +1 -1
  531. package/dist/utils/version.js +84 -30
  532. package/dist/utils/version.js.map +1 -1
  533. package/dist/utils/yaml-parser.d.ts +23 -0
  534. package/dist/utils/yaml-parser.d.ts.map +1 -0
  535. package/dist/utils/yaml-parser.js +34 -0
  536. package/dist/utils/yaml-parser.js.map +1 -0
  537. package/examples/adapters/drupal-eca-mapping.yaml +153 -0
  538. package/examples/adapters/drupal-eca-task.yaml +48 -0
  539. package/examples/adapters/drupal-flowdrop-mapping.yaml +463 -0
  540. package/examples/adapters/drupal-maestro-mapping.yaml +369 -0
  541. package/examples/adapters/mistral-README.md +367 -0
  542. package/examples/adapters/mistral-agent.yaml +147 -0
  543. package/examples/adapters/symfony-messenger-task.yaml +135 -0
  544. package/examples/adapters/symfony-messenger-workflow.yaml +352 -0
  545. package/examples/adk-integration/code-review-workflow.yml +1 -1
  546. package/examples/adk-integration/customer-support.yml +1 -1
  547. package/examples/adk-integration/data-pipeline.yml +1 -1
  548. package/examples/advanced/reasoning-agent.yaml +1 -1
  549. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -18
  550. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  551. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  552. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  553. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  554. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  555. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  556. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  557. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  558. package/examples/agent-mesh/README.ts +311 -0
  559. package/examples/agent-mesh/basic-usage.ts +461 -0
  560. package/examples/agents/architecture-healer-enterprise.yaml +143 -0
  561. package/examples/agents/dependency-healer-npm.yaml +81 -0
  562. package/examples/agents/spec-healer-openapi.yaml +59 -0
  563. package/examples/agents/wiki-healer-production.yaml +131 -0
  564. package/examples/agents-md/code-agent.ossa.json +1 -1
  565. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  566. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  567. package/examples/anthropic-adapter-example.ts +374 -0
  568. package/examples/anthropic-simple.ts +70 -0
  569. package/examples/autogen/multi-agent.ossa.json +1 -1
  570. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +37 -0
  571. package/examples/bridges/.gitlab-ci.yml +293 -0
  572. package/examples/bridges/k8s/deployment.yaml +14 -14
  573. package/examples/ci/multi-project-release-example.yml +401 -0
  574. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  575. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  576. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  577. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  578. package/examples/contracts/data-consumer.ossa.yaml +171 -0
  579. package/examples/contracts/data-producer-v2.ossa.yaml +227 -0
  580. package/examples/contracts/data-producer.ossa.yaml +217 -0
  581. package/examples/coordinator-agent/README.md +180 -0
  582. package/examples/coordinator-agent/index.ts +440 -0
  583. package/examples/coordinator-agent/manifest.yaml +41 -0
  584. package/examples/crewai/research-team.ossa.json +1 -1
  585. package/examples/cursor/code-review-agent.ossa.json +1 -1
  586. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +37 -0
  587. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  588. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  589. package/examples/extensions/agents-md-advanced.yml +177 -0
  590. package/examples/extensions/agents-md-basic.yml +74 -0
  591. package/examples/extensions/agents-md-sync.yml +96 -0
  592. package/examples/extensions/agents-md-v1.yml +1 -1
  593. package/examples/extensions/drupal-v1.yml +1 -1
  594. package/examples/extensions/encryption-multi-provider.yaml +120 -0
  595. package/examples/extensions/kagent-v1.yml +2 -2
  596. package/examples/extensions/knowledge-sources.yaml +59 -0
  597. package/examples/extensions/mcp-full-featured.yaml +150 -0
  598. package/examples/getting-started/01-minimal-agent.ossa.yaml +376 -0
  599. package/examples/getting-started/02-agent-with-tools.ossa.yaml +866 -0
  600. package/examples/getting-started/03-agent-with-safety.ossa.yaml +868 -0
  601. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +829 -0
  602. package/examples/getting-started/05-workflow-composition.ossa.yaml +209 -0
  603. package/examples/getting-started/README.md +69 -0
  604. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  605. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  606. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  607. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  608. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  609. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  610. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  611. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  612. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  613. package/examples/langchain/chain-agent.ossa.json +1 -1
  614. package/examples/langflow/workflow-agent.ossa.json +1 -1
  615. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  616. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  617. package/examples/messaging/dependency-healer.ossa.yaml +354 -0
  618. package/examples/messaging/incident-responder.ossa.yaml +477 -0
  619. package/examples/messaging/routing-rules.ossa.yaml +307 -0
  620. package/examples/messaging/security-scanner.ossa.yaml +328 -0
  621. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  622. package/examples/mistral-adapter-example.ts +435 -0
  623. package/examples/mistral-simple.ts +56 -0
  624. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  625. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  626. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  627. package/examples/observability/activity-stream-full.yaml +133 -0
  628. package/examples/observability/gitlab-ci-template.yml +304 -0
  629. package/examples/openai/basic-agent.ossa.yaml +1 -1
  630. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  631. package/examples/openai/swarm-agent.ossa.json +1 -1
  632. package/examples/production/document-analyzer-openai.yml +1 -1
  633. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  634. package/examples/rag-agent/README.md +136 -0
  635. package/examples/rag-agent/index.ts +272 -0
  636. package/examples/rag-agent/manifest.yaml +45 -0
  637. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +163 -0
  638. package/examples/real-world/rag-documentation-assistant.ossa.yaml +235 -0
  639. package/examples/reference-implementations/README.md +321 -0
  640. package/examples/reference-implementations/curl-scripts/01-search-agents.sh +72 -0
  641. package/examples/reference-implementations/curl-scripts/02-get-agent-details.sh +74 -0
  642. package/examples/reference-implementations/curl-scripts/03-publish-agent.sh +136 -0
  643. package/examples/reference-implementations/curl-scripts/04-a2a-messaging.sh +178 -0
  644. package/examples/reference-implementations/curl-scripts/05-discovery.sh +98 -0
  645. package/examples/reference-implementations/curl-scripts/README.md +277 -0
  646. package/examples/reference-implementations/python-client/README.md +282 -0
  647. package/examples/reference-implementations/python-client/examples/basic_usage.py +84 -0
  648. package/examples/reference-implementations/python-client/examples/publish_agent.py +137 -0
  649. package/examples/reference-implementations/python-client/ossa_client/__init__.py +80 -0
  650. package/examples/reference-implementations/python-client/ossa_client/agents.py +240 -0
  651. package/examples/reference-implementations/python-client/ossa_client/client.py +164 -0
  652. package/examples/reference-implementations/python-client/ossa_client/discovery.py +153 -0
  653. package/examples/reference-implementations/python-client/ossa_client/messaging.py +227 -0
  654. package/examples/reference-implementations/python-client/requirements.txt +2 -0
  655. package/examples/reference-implementations/python-client/setup.py +40 -0
  656. package/examples/reference-implementations/typescript-client/README.md +227 -0
  657. package/examples/reference-implementations/typescript-client/examples/basic-usage.ts +86 -0
  658. package/examples/reference-implementations/typescript-client/examples/messaging.ts +185 -0
  659. package/examples/reference-implementations/typescript-client/examples/publish-agent.ts +138 -0
  660. package/examples/reference-implementations/typescript-client/package.json +40 -0
  661. package/examples/reference-implementations/typescript-client/src/agents.ts +285 -0
  662. package/examples/reference-implementations/typescript-client/src/client.ts +161 -0
  663. package/examples/reference-implementations/typescript-client/src/discovery.ts +244 -0
  664. package/examples/reference-implementations/typescript-client/src/index.ts +67 -0
  665. package/examples/reference-implementations/typescript-client/src/messaging.ts +385 -0
  666. package/examples/reference-implementations/typescript-client/tsconfig.json +25 -0
  667. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +465 -0
  668. package/examples/schema/reusable-components.yaml +95 -0
  669. package/examples/tasks/batch-email-sender.yaml +105 -0
  670. package/examples/tasks/data-transform.yaml +82 -0
  671. package/examples/tasks/publish-content.yaml +86 -0
  672. package/examples/templates/ossa-compliance.yaml +1 -1
  673. package/examples/unified/security-scanner.ossa.yaml +311 -0
  674. package/examples/vercel/edge-agent.ossa.json +1 -1
  675. package/examples/workflow-agent/README.md +175 -0
  676. package/examples/workflow-agent/index.ts +408 -0
  677. package/examples/workflow-agent/manifest.yaml +41 -0
  678. package/examples/workflows/batch-email-campaign.yaml +140 -0
  679. package/examples/workflows/content-review-publish.yaml +156 -0
  680. package/examples/workflows/simple-etl.yaml +151 -0
  681. package/openapi/agent-communication.yaml +1113 -0
  682. package/openapi/agent-crud.yaml +1124 -0
  683. package/openapi/agent-discovery.yaml +677 -0
  684. package/openapi/agent-identity.yaml +620 -0
  685. package/openapi/protocols/sse-streams.yaml +479 -0
  686. package/openapi/protocols/websocket-events.yaml +427 -0
  687. package/openapi/schemas/discovery.json +488 -0
  688. package/package.json +91 -33
  689. package/schemas/agent.json +523 -0
  690. package/schemas/communication.json +897 -0
  691. package/schemas/identity.json +482 -0
  692. package/spec/extensions/a2a-messaging.md +471 -0
  693. package/spec/extensions/manifest-extensions.md +550 -0
  694. package/spec/registry/README.md +472 -0
  695. package/spec/registry/openapi.yaml +1124 -0
  696. package/spec/registry/registry-api.schema.json +731 -0
  697. package/spec/registry/registry-spec.md +2239 -0
  698. package/spec/schema/agent-test.schema.json +117 -0
  699. package/spec/schema/components/activity-stream.schema.json +94 -0
  700. package/spec/schema/components/constraints.schema.json +84 -0
  701. package/spec/schema/components/dependencies.schema.json +147 -0
  702. package/spec/schema/components/encryption.schema.json +115 -0
  703. package/spec/schema/components/identity.schema.json +48 -0
  704. package/spec/schema/components/index.json +37 -0
  705. package/spec/schema/components/llm-config.schema.json +67 -0
  706. package/spec/schema/components/metadata.schema.json +37 -0
  707. package/spec/schema/components/tool.schema.json +64 -0
  708. package/spec/schema/extensions/a2a.extension.schema.json +127 -0
  709. package/spec/v0.2.8/ossa-0.2.8.schema.json +95 -1
  710. package/spec/v0.3.0/UNIFIED-SCHEMA.md +120 -0
  711. package/spec/v0.3.0/adapters/drupal.md +541 -0
  712. package/spec/v0.3.0/adapters/symfony.md +659 -0
  713. package/spec/v0.3.0/agent-test.schema.json +75 -0
  714. package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +110 -0
  715. package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  716. package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  717. package/spec/v0.3.0/extensions/drupal.md +417 -0
  718. package/spec/v0.3.0/ossa-0.3.0.schema.json +2787 -0
  719. package/spec/v0.3.0/protocols/sse.md +494 -0
  720. package/spec/v0.3.0/protocols/webrtc.md +600 -0
  721. package/spec/v0.3.0/protocols/websocket.md +362 -0
  722. package/spec/v0.3.0/schemas/agent-unified.yaml +165 -0
  723. package/spec/v0.3.0/schemas/capabilities.yaml +102 -0
  724. package/spec/v0.3.0/schemas/functions.yaml +75 -0
  725. package/spec/v0.3.0/schemas/messaging/channel.schema.json +245 -0
  726. package/spec/v0.3.0/schemas/messaging/delivery-receipt.schema.json +192 -0
  727. package/spec/v0.3.0/schemas/messaging/message.schema.json +205 -0
  728. package/spec/v0.3.0/schemas/messaging/subscription.schema.json +214 -0
  729. package/spec/v0.3.0/schemas/runtime.yaml +102 -0
  730. package/spec/v0.3.0/schemas/taxonomy.yaml +533 -0
  731. package/spec/v0.3.0/schemas/unified-llm.yaml +91 -0
  732. package/spec/v0.3.0/taxonomy.yaml +256 -0
  733. package/.cursorrules +0 -84
  734. package/.devfile.yaml +0 -87
  735. package/.env.example +0 -63
  736. package/.eslintrc.cjs +0 -43
  737. package/.github/AGENTS.md +0 -245
  738. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -63
  739. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -40
  740. package/.github/PULL_REQUEST_TEMPLATE.md +0 -39
  741. package/.github/agents/github-issue-triage.ossa.yaml +0 -99
  742. package/.github/agents/github-pr-triage.ossa.yaml +0 -137
  743. package/.github/dependabot.yml +0 -58
  744. package/.github/workflows/ci.yml +0 -154
  745. package/.github/workflows/codeql.yml +0 -41
  746. package/.github/workflows/dependabot-auto-merge.yml +0 -28
  747. package/.github/workflows/dependabot-comment.yml +0 -34
  748. package/.github/workflows/issue-sync-to-gitlab.yml +0 -138
  749. package/.github/workflows/pr-triage-to-gitlab.yml +0 -164
  750. package/.github/workflows/release.yml +0 -103
  751. package/.husky/pre-commit +0 -5
  752. package/.kiro/config.json +0 -21
  753. package/.kiro/settings/mcp.json +0 -61
  754. package/.kiro/specs/scripts-migration-api-first/design.md +0 -883
  755. package/.kiro/specs/scripts-migration-api-first/requirements.md +0 -165
  756. package/.kiro/specs/scripts-migration-api-first/tasks.md +0 -539
  757. package/.kiro/specs/website-brand-identity/design.md +0 -1060
  758. package/.kiro/specs/website-brand-identity/requirements.md +0 -287
  759. package/.kiro/specs/website-brand-identity/tasks.md +0 -981
  760. package/.prettierignore +0 -7
  761. package/.prettierrc.json +0 -10
  762. package/.redocly.yaml +0 -9
  763. package/.releaserc.json +0 -85
  764. package/.version.json +0 -6
  765. package/.wiki-config.json +0 -24
  766. package/CODEOWNERS +0 -75
  767. package/CONTRIBUTING.md +0 -366
  768. package/bin/validate-ossa-0.2.2.ts +0 -244
  769. package/bin/validate-ossa-0.2.4.ts +0 -244
  770. package/docs/brand-guide/01-brand-overview.md +0 -37
  771. package/docs/brand-guide/02-logo-usage.md +0 -43
  772. package/docs/brand-guide/03-color-palette.md +0 -70
  773. package/docs/brand-guide/04-typography.md +0 -82
  774. package/docs/brand-guide/05-voice-and-tone.md +0 -108
  775. package/docs/brand-guide/06-visual-elements.md +0 -137
  776. package/docs/brand-guide/07-application-examples.md +0 -153
  777. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +0 -21
  778. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  779. package/docs/brand-guide/README.md +0 -107
  780. package/docs/comparison.md +0 -315
  781. package/docs/operations/automation-roadmap.md +0 -245
  782. package/docs/operations/github-sync-strategy.md +0 -357
  783. package/docs/specs/policy-dsl.md +0 -925
  784. package/eslint-report.json +0 -1
  785. package/gl-code-quality-report.json +0 -62
  786. package/infrastructure/docker-compose.yml +0 -33
  787. package/infrastructure/gitlab-agent/rbac.yaml +0 -126
  788. package/infrastructure/gitlab-agent/values.yaml +0 -150
  789. package/infrastructure/k8s/monitoring/00-namespace.yaml +0 -7
  790. package/infrastructure/k8s/monitoring/01-prometheus.yaml +0 -142
  791. package/infrastructure/k8s/monitoring/02-grafana.yaml +0 -63
  792. package/infrastructure/k8s/monitoring/03-lightweight.yaml +0 -121
  793. package/infrastructure/k8s/monitoring/README.md +0 -73
  794. package/infrastructure/k8s/monitoring/deploy.sh +0 -38
  795. package/junit.xml +0 -1
  796. package/llms-ctx-full.txt +0 -39
  797. package/llms-ctx.txt +0 -39
  798. package/llms.txt +0 -47
  799. package/release.config.js +0 -79
  800. package/scripts/README.md +0 -128
  801. package/scripts/auto-rebase-mrs.ts +0 -106
  802. package/scripts/batch-dependabot.sh +0 -57
  803. package/scripts/bump-version.ts +0 -57
  804. package/scripts/compliance-audit.ts +0 -796
  805. package/scripts/configure-gitlab-branch-protection.ts +0 -95
  806. package/scripts/create-issue-helper.ts +0 -238
  807. package/scripts/create-milestone-issue.ts +0 -73
  808. package/scripts/enhanced-version-manager.ts +0 -257
  809. package/scripts/eslint-to-codequality.cjs +0 -34
  810. package/scripts/fix-schema-formats.js +0 -82
  811. package/scripts/gen-types.ts +0 -51
  812. package/scripts/gen-zod.ts +0 -51
  813. package/scripts/generate-agents-catalog.ts +0 -78
  814. package/scripts/generate-api-docs.ts +0 -219
  815. package/scripts/generate-cli-docs.ts +0 -410
  816. package/scripts/generate-config-docs.ts +0 -109
  817. package/scripts/generate-errors-docs.ts +0 -76
  818. package/scripts/generate-examples-docs.ts +0 -100
  819. package/scripts/generate-llms-ctx.sh +0 -17
  820. package/scripts/generate-schema-docs.ts +0 -317
  821. package/scripts/generate-types-docs.ts +0 -48
  822. package/scripts/lowercase-docs.ts +0 -43
  823. package/scripts/manage-milestone-mrs.ts +0 -279
  824. package/scripts/process-doc-templates.ts +0 -37
  825. package/scripts/rebase-all-mrs.sh +0 -75
  826. package/scripts/schemas/package.schema.ts +0 -75
  827. package/scripts/setup-branch-protection.sh +0 -33
  828. package/scripts/sync-github-pr.sh +0 -48
  829. package/scripts/sync-version.js +0 -32
  830. package/scripts/sync-version.ts +0 -39
  831. package/scripts/sync-versions.ts +0 -488
  832. package/scripts/sync-wiki.sh +0 -50
  833. package/scripts/validate-all.js +0 -127
  834. package/scripts/validate-schema.ts +0 -50
  835. package/test-results/junit.xml +0 -337
  836. package/test-results.xml +0 -1
@@ -0,0 +1,829 @@
1
+ # ╔═══════════════════════════════════════════════════════════════════════════════╗
2
+ # ║ ║
3
+ # ║ ██████╗ ███████╗███████╗ █████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ║
4
+ # ║ ██╔═══██╗██╔════╝██╔════╝██╔══██╗ ██║ ██║██╔═████╗ ╚════██╗██╔═████╗ ║
5
+ # ║ ██║ ██║███████╗███████╗███████║ ██║ ██║██║██╔██║ █████╔╝██║██╔██║ ║
6
+ # ║ ██║ ██║╚════██║╚════██║██╔══██║ ╚██╗ ██╔╝████╔╝██║ ╚═══██╗████╔╝██║ ║
7
+ # ║ ╚██████╔╝███████║███████║██║ ██║ ╚████╔╝ ╚██████╔╝██╗██████╔╝╚██████╔╝ ║
8
+ # ║ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═════╝ ╚═════╝ ║
9
+ # ║ ║
10
+ # ║ GETTING STARTED: 04 - AGENT-TO-AGENT MESSAGING (A2A) ║
11
+ # ║ ║
12
+ # ╚═══════════════════════════════════════════════════════════════════════════════╝
13
+ #
14
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
15
+ # │ WHAT YOU'LL LEARN │
16
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
17
+ # │ │
18
+ # │ ✓ Agent-to-Agent (A2A) messaging - the foundation of multi-agent systems │
19
+ # │ ✓ Pub/Sub pattern - agents publish events, others subscribe and react │
20
+ # │ ✓ Commands - RPC-style request/response between agents │
21
+ # │ ✓ Message schemas - JSON Schema for type-safe communication │
22
+ # │ ✓ Reliability guarantees - at-least-once, exactly-once delivery │
23
+ # │ ✓ Dead letter queues - handling failed messages gracefully │
24
+ # │ ✓ Channel naming conventions - organizing message flow │
25
+ # │ ✓ Real example: Security scanner publishing vulnerabilities │
26
+ # │ │
27
+ # └─────────────────────────────────────────────────────────────────────────────────┘
28
+ #
29
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
30
+ # │ WHY AGENT-TO-AGENT MESSAGING? │
31
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
32
+ # │ │
33
+ # │ Single agents are limited. Multi-agent systems can: │
34
+ # │ • Specialize: Each agent is an expert in one domain │
35
+ # │ • Scale: Distribute work across multiple agents │
36
+ # │ • Coordinate: Agents collaborate to solve complex problems │
37
+ # │ • React: Event-driven architecture for real-time workflows │
38
+ # │ │
39
+ # │ Example: Automated Security Pipeline │
40
+ # │ ┌────────────────────────────────────────────────────────────────┐ │
41
+ # │ │ │ │
42
+ # │ │ 1. Scanner Agent │ │
43
+ # │ │ └─> Scans code for vulnerabilities │ │
44
+ # │ │ └─> PUBLISHES to: security.vulnerabilities │ │
45
+ # │ │ │ │
46
+ # │ │ 2. Remediation Agent │ │
47
+ # │ │ └─> SUBSCRIBES to: security.vulnerabilities │ │
48
+ # │ │ └─> Creates patches for critical issues │ │
49
+ # │ │ └─> PUBLISHES to: code.patches │ │
50
+ # │ │ │ │
51
+ # │ │ 3. Review Agent │ │
52
+ # │ │ └─> SUBSCRIBES to: code.patches │ │
53
+ # │ │ └─> Reviews patches for safety │ │
54
+ # │ │ └─> PUBLISHES to: github.pull_requests │ │
55
+ # │ │ │ │
56
+ # │ │ 4. Notification Agent │ │
57
+ # │ │ └─> SUBSCRIBES to: security.vulnerabilities │ │
58
+ # │ │ └─> Alerts security team via Slack │ │
59
+ # │ │ │ │
60
+ # │ └────────────────────────────────────────────────────────────────┘ │
61
+ # │ │
62
+ # │ This is EVENT-DRIVEN ARCHITECTURE for agents! │
63
+ # │ │
64
+ # └─────────────────────────────────────────────────────────────────────────────────┘
65
+ #
66
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
67
+ # │ PUB/SUB VS COMMANDS: WHEN TO USE EACH │
68
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
69
+ # │ │
70
+ # │ PUB/SUB (Publish/Subscribe) │
71
+ # │ ─────────────────────────── │
72
+ # │ • One-to-many: One publisher → many subscribers │
73
+ # │ • Asynchronous: Publisher doesn't wait for subscribers │
74
+ # │ • Decoupled: Publisher doesn't know who's listening │
75
+ # │ • Use for: Events, notifications, broadcasting state changes │
76
+ # │ │
77
+ # │ Example: │
78
+ # │ Scanner publishes security.vulnerabilities │
79
+ # │ → Remediation Agent subscribes │
80
+ # │ → Notification Agent subscribes │
81
+ # │ → Metrics Agent subscribes │
82
+ # │ Scanner doesn't know/care who's listening │
83
+ # │ │
84
+ # │ COMMANDS (Request/Response) │
85
+ # │ ─────────────────────────── │
86
+ # │ • One-to-one: Caller → specific agent │
87
+ # │ • Synchronous: Caller waits for response │
88
+ # │ • Coupled: Caller explicitly invokes target agent │
89
+ # │ • Use for: RPC, querying, requesting specific actions │
90
+ # │ │
91
+ # │ Example: │
92
+ # │ Orchestrator calls Scanner.scan_repository(url="...") │
93
+ # │ → Scanner executes scan │
94
+ # │ → Scanner returns {scan_id, status, findings_count} │
95
+ # │ → Orchestrator waits for response │
96
+ # │ │
97
+ # │ WHEN TO USE WHAT: │
98
+ # │ ┌──────────────────────┬──────────────────────────────────────────┐ │
99
+ # │ │ SCENARIO │ PATTERN │ │
100
+ # │ ├──────────────────────┼──────────────────────────────────────────┤ │
101
+ # │ │ Broadcasting events │ Pub/Sub │ │
102
+ # │ │ Loose coupling │ Pub/Sub │ │
103
+ # │ │ Unknown subscribers │ Pub/Sub │ │
104
+ # │ │ Need response │ Command │ │
105
+ # │ │ Invoke specific logic│ Command │ │
106
+ # │ │ Synchronous flow │ Command │ │
107
+ # │ └──────────────────────┴──────────────────────────────────────────┘ │
108
+ # │ │
109
+ # └─────────────────────────────────────────────────────────────────────────────────┘
110
+ #
111
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
112
+ # │ MESSAGE RELIABILITY: DELIVERY GUARANTEES │
113
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
114
+ # │ │
115
+ # │ AT-MOST-ONCE (Fire and Forget) │
116
+ # │ ────────────────────────────────── │
117
+ # │ • Message sent once, no retries │
118
+ # │ • Fast, but may lose messages │
119
+ # │ • Use for: Non-critical notifications, metrics │
120
+ # │ │
121
+ # │ Flow: │
122
+ # │ 1. Agent publishes message │
123
+ # │ 2. Message sent to broker │
124
+ # │ 3. Done (no confirmation) │
125
+ # │ │
126
+ # │ AT-LEAST-ONCE (Retry Until Success) │
127
+ # │ ──────────────────────────────────── │
128
+ # │ • Message retried until acknowledged │
129
+ # │ • Reliable, but may deliver duplicates │
130
+ # │ • Use for: Most production systems (RECOMMENDED) │
131
+ # │ │
132
+ # │ Flow: │
133
+ # │ 1. Agent publishes message │
134
+ # │ 2. Broker stores message │
135
+ # │ 3. Subscriber receives message │
136
+ # │ 4. Subscriber processes message │
137
+ # │ 5. Subscriber sends ACK │
138
+ # │ 6. If no ACK: retry after delay │
139
+ # │ │
140
+ # │ Idempotency required! Subscribers must handle duplicates: │
141
+ # │ • Use message IDs to detect dupes │
142
+ # │ • Make operations idempotent (running twice = same result) │
143
+ # │ │
144
+ # │ EXACTLY-ONCE (Guaranteed Delivery) │
145
+ # │ ─────────────────────────────────── │
146
+ # │ • Message delivered exactly once (no duplicates) │
147
+ # │ • Slow, complex, requires distributed transactions │
148
+ # │ • Use for: Financial transactions, critical data │
149
+ # │ │
150
+ # │ Flow: │
151
+ # │ 1. Agent publishes with unique transaction ID │
152
+ # │ 2. Broker deduplicates based on transaction ID │
153
+ # │ 3. Subscriber processes with 2-phase commit │
154
+ # │ 4. Transaction committed across broker + subscriber │
155
+ # │ │
156
+ # │ OSSA RECOMMENDATION: │
157
+ # │ Use at-least-once with idempotent subscribers (best balance) │
158
+ # │ │
159
+ # └─────────────────────────────────────────────────────────────────────────────────┘
160
+ #
161
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
162
+ # │ DEAD LETTER QUEUES (DLQ): HANDLING FAILURES │
163
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
164
+ # │ │
165
+ # │ What happens when a subscriber repeatedly fails to process a message? │
166
+ # │ Without DLQ: Message retries forever, blocking the queue │
167
+ # │ With DLQ: Failed messages moved to separate queue for investigation │
168
+ # │ │
169
+ # │ DLQ Flow: │
170
+ # │ ┌──────────────────────────────────────────────────────────────┐ │
171
+ # │ │ │ │
172
+ # │ │ 1. Message published to channel │ │
173
+ # │ │ 2. Subscriber tries to process │ │
174
+ # │ │ 3. Processing fails (exception, timeout, etc.) │ │
175
+ # │ │ 4. Message redelivered (attempt 2/3) │ │
176
+ # │ │ 5. Processing fails again │ │
177
+ # │ │ 6. Message redelivered (attempt 3/3) │ │
178
+ # │ │ 7. Processing fails again │ │
179
+ # │ │ 8. Max retries exceeded │ │
180
+ # │ │ 9. Message moved to Dead Letter Queue │ │
181
+ # │ │ 10. Alert sent to ops team │ │
182
+ # │ │ │ │
183
+ # │ └──────────────────────────────────────────────────────────────┘ │
184
+ # │ │
185
+ # │ DLQ Configuration: │
186
+ # │ • max_retries: How many times to retry (e.g., 3) │
187
+ # │ • backoff_multiplier: Delay between retries (exponential) │
188
+ # │ - Attempt 1: immediate │
189
+ # │ - Attempt 2: 2 seconds │
190
+ # │ - Attempt 3: 4 seconds │
191
+ # │ - Attempt 4: 8 seconds │
192
+ # │ │
193
+ # │ DLQ Operations: │
194
+ # │ • Inspect failed messages (debug why they failed) │
195
+ # │ • Fix subscriber bug │
196
+ # │ • Replay messages from DLQ (try again) │
197
+ # │ • Discard messages (if truly invalid) │
198
+ # │ │
199
+ # │ Common DLQ scenarios: │
200
+ # │ • Malformed message (invalid JSON) │
201
+ # │ • Subscriber bug (code exception) │
202
+ # │ • External service down (database, API) │
203
+ # │ • Resource exhaustion (out of memory) │
204
+ # │ │
205
+ # └─────────────────────────────────────────────────────────────────────────────────┘
206
+ #
207
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
208
+ # │ CHANNEL NAMING CONVENTIONS │
209
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
210
+ # │ │
211
+ # │ Good channel names are hierarchical and descriptive: │
212
+ # │ │
213
+ # │ Pattern: <domain>.<entity>.<event> │
214
+ # │ │
215
+ # │ Examples: │
216
+ # │ ✓ security.vulnerabilities → Security domain, vulnerability events│
217
+ # │ ✓ security.scan.completed → Security domain, scan completion │
218
+ # │ ✓ code.pr.opened → Code domain, PR opened │
219
+ # │ ✓ code.pr.merged → Code domain, PR merged │
220
+ # │ ✓ ci.build.completed → CI domain, build completion │
221
+ # │ ✓ deployment.production.success → Deployment domain, prod success │
222
+ # │ │
223
+ # │ Bad examples: │
224
+ # │ ✗ updates → Too vague │
225
+ # │ ✗ myChannel → Not descriptive │
226
+ # │ ✗ SECURITY_VULNS → Use lowercase │
227
+ # │ ✗ security-vulnerabilities → Use dots, not hyphens │
228
+ # │ │
229
+ # │ Wildcard subscriptions (supported): │
230
+ # │ • security.* → All security events │
231
+ # │ • *.pr.* → All PR events across domains │
232
+ # │ • security.vulnerabilities.critical → Only critical vulnerabilities │
233
+ # │ │
234
+ # └─────────────────────────────────────────────────────────────────────────────────┘
235
+ #
236
+ # ┌─────────────────────────────────────────────────────────────────────────────────┐
237
+ # │ HOW TO RUN THIS EXAMPLE │
238
+ # ├─────────────────────────────────────────────────────────────────────────────────┤
239
+ # │ │
240
+ # │ STEP 1: Start a message broker │
241
+ # │ ───────────────────────────── │
242
+ # │ OSSA uses standard message brokers (NATS, RabbitMQ, Redis, Kafka) │
243
+ # │ │
244
+ # │ Option A: NATS (recommended for development): │
245
+ # │ $ docker run -p 4222:4222 nats:latest │
246
+ # │ │
247
+ # │ Option B: RabbitMQ: │
248
+ # │ $ docker run -p 5672:5672 rabbitmq:latest │
249
+ # │ │
250
+ # │ Option C: Redis: │
251
+ # │ $ docker run -p 6379:6379 redis:latest │
252
+ # │ │
253
+ # │ STEP 2: Set environment variables │
254
+ # │ ──────────────────────────────── │
255
+ # │ $ export ANTHROPIC_API_KEY=sk-ant-... │
256
+ # │ $ export MESSAGE_BROKER_URL=nats://localhost:4222 │
257
+ # │ $ export GITHUB_TOKEN=ghp_... # For GitHub MCP tool │
258
+ # │ │
259
+ # │ STEP 3: Start the security scanner agent │
260
+ # │ ─────────────────────────────────────── │
261
+ # │ $ ossa run 04-agent-with-messaging.ossa.yaml --daemon │
262
+ # │ │
263
+ # │ The agent will: │
264
+ # │ • Connect to message broker │
265
+ # │ • Subscribe to: dependency.updates, ci.build.completed │
266
+ # │ • Register commands: scan_repository, get_scan_status │
267
+ # │ • Wait for messages │
268
+ # │ │
269
+ # │ STEP 4: Trigger a scan via command │
270
+ # │ ───────────────────────────────────── │
271
+ # │ $ ossa command security-scanner scan_repository \ │
272
+ # │ --args '{"repo_url":"https://github.com/myorg/myrepo","priority":"urgent"}'│
273
+ # │ │
274
+ # │ Response: │
275
+ # │ { │
276
+ # │ "scan_id": "550e8400-e29b-41d4-a716-446655440000", │
277
+ # │ "status": "started" │
278
+ # │ } │
279
+ # │ │
280
+ # │ STEP 5: Monitor published events │
281
+ # │ ──────────────────────────────── │
282
+ # │ $ ossa subscribe security.vulnerabilities │
283
+ # │ │
284
+ # │ You'll see vulnerability events as they're published: │
285
+ # │ { │
286
+ # │ "severity": "critical", │
287
+ # │ "title": "SQL Injection in auth module", │
288
+ # │ "cve_id": "CVE-2024-1234", │
289
+ # │ "affected_file": "src/auth/login.py", │
290
+ # │ "remediation": "Update to version 2.1.0" │
291
+ # │ } │
292
+ # │ │
293
+ # │ STEP 6: Create a subscriber agent │
294
+ # │ ─────────────────────────────────── │
295
+ # │ Create a second agent that subscribes to security.vulnerabilities: │
296
+ # │ │
297
+ # │ ```yaml │
298
+ # │ # remediation-agent.ossa.yaml │
299
+ # │ apiVersion: ossa/v0.3.0 │
300
+ # │ kind: Agent │
301
+ # │ metadata: │
302
+ # │ name: remediation-agent │
303
+ # │ spec: │
304
+ # │ role: "Fix security vulnerabilities" │
305
+ # │ messaging: │
306
+ # │ subscribes: │
307
+ # │ - channel: security.vulnerabilities │
308
+ # │ handler: on_vulnerability_found │
309
+ # │ ``` │
310
+ # │ │
311
+ # │ Run it: │
312
+ # │ $ ossa run remediation-agent.ossa.yaml --daemon │
313
+ # │ │
314
+ # │ Now when scanner publishes vulnerabilities, remediation agent reacts! │
315
+ # │ │
316
+ # └─────────────────────────────────────────────────────────────────────────────────┘
317
+ #
318
+ # ═══════════════════════════════════════════════════════════════════════════════════
319
+ # THE ACTUAL MANIFEST STARTS HERE
320
+ # ═══════════════════════════════════════════════════════════════════════════════════
321
+
322
+ # ──────────────────────────────────────────────────────────────────────────────────
323
+ # API VERSION & KIND
324
+ # ──────────────────────────────────────────────────────────────────────────────────
325
+ apiVersion: ossa/v0.3.0
326
+ kind: Agent
327
+
328
+ # ──────────────────────────────────────────────────────────────────────────────────
329
+ # METADATA
330
+ # ──────────────────────────────────────────────────────────────────────────────────
331
+ metadata:
332
+ name: security-scanner
333
+ version: 1.0.0
334
+
335
+ description: |
336
+ Security scanning agent demonstrating Agent-to-Agent (A2A) messaging.
337
+
338
+ PUBLISHES TO:
339
+ • security.vulnerabilities - Vulnerability findings
340
+ • security.scan.completed - Scan completion notifications
341
+
342
+ SUBSCRIBES TO:
343
+ • dependency.updates - Trigger scan when dependencies change
344
+ • ci.build.completed - Trigger scan after successful builds
345
+
346
+ COMMANDS:
347
+ • scan_repository - On-demand security scan
348
+ • get_scan_status - Query scan progress
349
+
350
+ This agent demonstrates:
351
+ - Pub/sub pattern for event broadcasting
352
+ - Command pattern for RPC-style invocation
353
+ - JSON Schema message validation
354
+ - At-least-once delivery with dead letter queue
355
+ - Message filtering based on payload
356
+
357
+ labels:
358
+ difficulty: intermediate
359
+ tutorial: "04"
360
+ capability: security
361
+ pattern: multi-agent
362
+
363
+ # ──────────────────────────────────────────────────────────────────────────────────
364
+ # SPEC
365
+ # ──────────────────────────────────────────────────────────────────────────────────
366
+ spec:
367
+ # ────────────────────────────────────────────────────────────────────────────────
368
+ # ROLE (System Prompt)
369
+ # ────────────────────────────────────────────────────────────────────────────────
370
+ role: |
371
+ You are a security scanner agent in a multi-agent system.
372
+
373
+ Your responsibilities:
374
+ 1. Scan code repositories for security vulnerabilities
375
+ 2. Publish findings to security.vulnerabilities channel for other agents
376
+ 3. React to dependency update notifications by triggering scans
377
+ 4. Respond to on-demand scan requests via commands
378
+
379
+ Communication guidelines:
380
+ - Publish vulnerability events immediately when found (don't batch)
381
+ - Include complete context in each message (scan_id, repo, severity)
382
+ - Log all message publications for audit trail
383
+ - Handle duplicate messages gracefully (idempotency)
384
+
385
+ When publishing vulnerabilities:
386
+ - Set severity accurately (critical/high/medium/low)
387
+ - Include CVE ID if available
388
+ - Provide clear remediation steps
389
+ - Reference the specific file and line number
390
+
391
+ # ────────────────────────────────────────────────────────────────────────────────
392
+ # LLM CONFIGURATION
393
+ # ────────────────────────────────────────────────────────────────────────────────
394
+ llm:
395
+ provider: ${LLM_PROVIDER:-anthropic}
396
+ model: ${LLM_MODEL:-claude-sonnet-4-20250514}
397
+
398
+ # Low temperature for consistent security analysis
399
+ temperature: 0.2
400
+
401
+ # ────────────────────────────────────────────────────────────────────────────────
402
+ # TOOLS
403
+ # ────────────────────────────────────────────────────────────────────────────────
404
+ tools:
405
+ # GitHub API for repository access
406
+ - type: mcp
407
+ name: github
408
+ description: GitHub API for repository access
409
+ config:
410
+ server: npx -y @modelcontextprotocol/server-github
411
+ env:
412
+ GITHUB_TOKEN: ${GITHUB_TOKEN}
413
+
414
+ # Custom security scanner function
415
+ - type: function
416
+ name: run_security_scan
417
+ description: |
418
+ Execute security analysis on a codebase.
419
+ Scans for: SQL injection, XSS, CSRF, dependency vulnerabilities,
420
+ hardcoded secrets, authentication issues.
421
+ input_schema:
422
+ type: object
423
+ required: [repo_url]
424
+ properties:
425
+ repo_url:
426
+ type: string
427
+ description: Repository URL to scan
428
+ scan_type:
429
+ type: string
430
+ enum: [quick, full, dependency]
431
+ default: quick
432
+ description: |
433
+ • quick: Fast scan, common issues only (5-10 minutes)
434
+ • full: Comprehensive scan, all rules (30-60 minutes)
435
+ • dependency: Dependency vulnerabilities only (2-5 minutes)
436
+
437
+ # ────────────────────────────────────────────────────────────────────────────────
438
+ # MESSAGING CONFIGURATION (v0.3.0 Feature)
439
+ # ────────────────────────────────────────────────────────────────────────────────
440
+ # Define how this agent communicates with other agents
441
+ # ────────────────────────────────────────────────────────────────────────────────
442
+ messaging:
443
+ # ──────────────────────────────────────────────────────────────────────────────
444
+ # CHANNELS THIS AGENT PUBLISHES TO
445
+ # ──────────────────────────────────────────────────────────────────────────────
446
+ # Other agents subscribe to these channels to receive events
447
+ # ──────────────────────────────────────────────────────────────────────────────
448
+ publishes:
449
+ # Channel 1: Individual vulnerability findings
450
+ - channel: security.vulnerabilities
451
+ description: Security vulnerabilities found during scans
452
+
453
+ # Message schema - validates outgoing messages
454
+ # Subscribers can rely on this structure
455
+ schema:
456
+ type: object
457
+ required: [severity, title, affected_file, scan_id]
458
+ properties:
459
+ severity:
460
+ type: string
461
+ enum: [critical, high, medium, low, info]
462
+ description: |
463
+ Severity level following CVSS guidelines:
464
+ • critical: CVSS 9.0-10.0, immediate action required
465
+ • high: CVSS 7.0-8.9, fix urgently
466
+ • medium: CVSS 4.0-6.9, fix soon
467
+ • low: CVSS 0.1-3.9, fix eventually
468
+ • info: CVSS 0.0, informational only
469
+
470
+ title:
471
+ type: string
472
+ minLength: 10
473
+ maxLength: 200
474
+ description: Brief, descriptive vulnerability title
475
+
476
+ cve_id:
477
+ type: string
478
+ pattern: "^CVE-\\d{4}-\\d{4,}$"
479
+ description: CVE identifier if available (e.g., CVE-2024-1234)
480
+
481
+ affected_file:
482
+ type: string
483
+ description: File path where vulnerability was found
484
+
485
+ line_number:
486
+ type: integer
487
+ minimum: 1
488
+ description: Line number in file (if applicable)
489
+
490
+ description:
491
+ type: string
492
+ description: Detailed explanation of the vulnerability
493
+
494
+ remediation:
495
+ type: string
496
+ description: How to fix the vulnerability
497
+
498
+ scan_id:
499
+ type: string
500
+ format: uuid
501
+ description: UUID of the scan that found this vulnerability
502
+
503
+ repo_url:
504
+ type: string
505
+ format: uri
506
+ description: Repository where vulnerability was found
507
+
508
+ found_at:
509
+ type: string
510
+ format: date-time
511
+ description: Timestamp when vulnerability was detected
512
+
513
+ # Optional: Message retention
514
+ # retention_hours: 168 # Keep messages for 7 days
515
+
516
+ # Optional: Message priority
517
+ # priority: high # High-priority messages delivered first
518
+
519
+ # Channel 2: Scan completion notifications
520
+ - channel: security.scan.completed
521
+ description: Notification when a security scan completes
522
+
523
+ schema:
524
+ type: object
525
+ required: [scan_id, repo_url, status]
526
+ properties:
527
+ scan_id:
528
+ type: string
529
+ format: uuid
530
+ description: UUID of the completed scan
531
+
532
+ repo_url:
533
+ type: string
534
+ format: uri
535
+ description: Repository that was scanned
536
+
537
+ status:
538
+ type: string
539
+ enum: [completed, failed, partial]
540
+ description: |
541
+ • completed: Scan finished successfully
542
+ • failed: Scan encountered fatal error
543
+ • partial: Scan completed with warnings/skipped files
544
+
545
+ duration_seconds:
546
+ type: integer
547
+ minimum: 0
548
+ description: How long the scan took
549
+
550
+ findings_count:
551
+ type: object
552
+ description: Count of findings by severity
553
+ properties:
554
+ critical:
555
+ type: integer
556
+ high:
557
+ type: integer
558
+ medium:
559
+ type: integer
560
+ low:
561
+ type: integer
562
+ info:
563
+ type: integer
564
+
565
+ files_scanned:
566
+ type: integer
567
+ minimum: 0
568
+ description: Number of files analyzed
569
+
570
+ completed_at:
571
+ type: string
572
+ format: date-time
573
+ description: Scan completion timestamp
574
+
575
+ # ──────────────────────────────────────────────────────────────────────────────
576
+ # CHANNELS THIS AGENT SUBSCRIBES TO
577
+ # ──────────────────────────────────────────────────────────────────────────────
578
+ # Agent is invoked when messages arrive on these channels
579
+ # ──────────────────────────────────────────────────────────────────────────────
580
+ subscribes:
581
+ # Subscription 1: Dependency update notifications
582
+ - channel: dependency.updates
583
+ description: Listen for dependency update notifications
584
+
585
+ # Handler function name - maps to agent's internal logic
586
+ # When message arrives, agent's on_dependency_update() is called
587
+ handler: on_dependency_update
588
+
589
+ # Message filter - only process subset of messages
590
+ # Filters are evaluated BEFORE message is delivered to agent
591
+ # This saves LLM calls for irrelevant messages
592
+ filter:
593
+ # JSONPath-style filtering
594
+ # Only process critical/high severity updates
595
+ severity:
596
+ $in: [critical, high]
597
+
598
+ # Alternative filter syntax examples:
599
+ # package_name:
600
+ # $regex: "^django.*" # Only Django packages
601
+ # affected_versions:
602
+ # $contains: "2.1.0" # Only if affects version 2.1.0
603
+
604
+ # Optional: Batch processing
605
+ # batch:
606
+ # max_size: 10 # Process up to 10 messages at once
607
+ # timeout_seconds: 5 # Or batch after 5 seconds
608
+
609
+ # Subscription 2: CI build completion
610
+ - channel: ci.build.completed
611
+ description: Trigger security scan when builds complete
612
+
613
+ handler: on_build_completed
614
+
615
+ # Only scan successful builds (ignore failures)
616
+ filter:
617
+ build_status:
618
+ $eq: "success"
619
+
620
+ # Optional: Subscription priority
621
+ # priority: high # Process these messages first
622
+
623
+ # ──────────────────────────────────────────────────────────────────────────────
624
+ # COMMANDS THIS AGENT ACCEPTS
625
+ # ──────────────────────────────────────────────────────────────────────────────
626
+ # RPC-style request/response operations
627
+ # Other agents/systems can invoke these commands and get responses
628
+ # ──────────────────────────────────────────────────────────────────────────────
629
+ commands:
630
+ # Command 1: Trigger on-demand security scan
631
+ - name: scan_repository
632
+ description: Trigger a security scan of a repository
633
+
634
+ # Input schema - validates incoming command arguments
635
+ input_schema:
636
+ type: object
637
+ required: [repo_url]
638
+ properties:
639
+ repo_url:
640
+ type: string
641
+ format: uri
642
+ description: Repository URL to scan
643
+ example: "https://github.com/myorg/myrepo"
644
+
645
+ priority:
646
+ type: string
647
+ enum: [urgent, normal, low]
648
+ default: normal
649
+ description: |
650
+ • urgent: Queue jump, scan immediately (SLA: 5 minutes)
651
+ • normal: Standard queue (SLA: 30 minutes)
652
+ • low: Background scan (SLA: 4 hours)
653
+
654
+ scan_type:
655
+ type: string
656
+ enum: [quick, full, dependency]
657
+ default: quick
658
+ description: Type of scan to perform
659
+
660
+ notify_channels:
661
+ type: array
662
+ description: Additional channels to notify (beyond security.vulnerabilities)
663
+ items:
664
+ type: string
665
+ example: ["slack:security-team", "email:security@company.com"]
666
+
667
+ # Output schema - what the command returns
668
+ # Caller receives this structured response
669
+ output_schema:
670
+ type: object
671
+ required: [scan_id, status]
672
+ properties:
673
+ scan_id:
674
+ type: string
675
+ format: uuid
676
+ description: Unique scan identifier (use to query status later)
677
+
678
+ status:
679
+ type: string
680
+ enum: [queued, started, completed, failed]
681
+ description: Current scan status
682
+
683
+ estimated_completion:
684
+ type: string
685
+ format: date-time
686
+ description: When scan is expected to complete
687
+
688
+ queue_position:
689
+ type: integer
690
+ minimum: 0
691
+ description: Position in scan queue (if status=queued)
692
+
693
+ # Optional: Command timeout
694
+ # timeout_seconds: 300 # 5 minutes max
695
+
696
+ # Command 2: Query scan status
697
+ - name: get_scan_status
698
+ description: Get status of an ongoing or completed scan
699
+
700
+ input_schema:
701
+ type: object
702
+ required: [scan_id]
703
+ properties:
704
+ scan_id:
705
+ type: string
706
+ format: uuid
707
+ description: Scan ID returned from scan_repository command
708
+
709
+ output_schema:
710
+ type: object
711
+ properties:
712
+ scan_id:
713
+ type: string
714
+ format: uuid
715
+
716
+ status:
717
+ type: string
718
+ enum: [queued, started, completed, failed]
719
+
720
+ progress_percent:
721
+ type: number
722
+ minimum: 0
723
+ maximum: 100
724
+ description: Scan progress (0-100)
725
+
726
+ files_scanned:
727
+ type: integer
728
+ description: Files analyzed so far
729
+
730
+ findings_count:
731
+ type: object
732
+ description: Vulnerabilities found so far
733
+ properties:
734
+ critical:
735
+ type: integer
736
+ high:
737
+ type: integer
738
+ medium:
739
+ type: integer
740
+
741
+ started_at:
742
+ type: string
743
+ format: date-time
744
+
745
+ completed_at:
746
+ type: string
747
+ format: date-time
748
+ description: Only present if status=completed or failed
749
+
750
+ # ──────────────────────────────────────────────────────────────────────────────
751
+ # MESSAGE RELIABILITY CONFIGURATION
752
+ # ──────────────────────────────────────────────────────────────────────────────
753
+ # Controls delivery guarantees and failure handling
754
+ # ──────────────────────────────────────────────────────────────────────────────
755
+ reliability:
756
+ # Delivery guarantee
757
+ # ┌──────────────────┬────────────────────────────────────────────────────┐
758
+ # │ MODE │ GUARANTEE │
759
+ # ├──────────────────┼────────────────────────────────────────────────────┤
760
+ # │ at_most_once │ Fast, may lose messages │
761
+ # │ at_least_once │ Reliable, may have duplicates (RECOMMENDED) │
762
+ # │ exactly_once │ Slow, no duplicates, requires transactions │
763
+ # └──────────────────┴────────────────────────────────────────────────────┘
764
+ delivery: at_least_once
765
+
766
+ # Message ordering
767
+ # Determines if messages are processed in order
768
+ ordering:
769
+ # Ordering mode
770
+ # • global: All messages across all channels ordered
771
+ # • per_channel: Messages within each channel ordered
772
+ # • none: No ordering guarantees (fastest)
773
+ mode: per_channel
774
+
775
+ # Optional: Ordering key
776
+ # Messages with same key processed in order
777
+ # key_field: scan_id # Order by scan_id
778
+
779
+ # Dead Letter Queue (DLQ) - handles failed messages
780
+ dead_letter_queue:
781
+ enabled: true
782
+
783
+ # Maximum retry attempts before moving to DLQ
784
+ # Example: 3 attempts = original + 2 retries
785
+ max_retries: 3
786
+
787
+ # Exponential backoff multiplier
788
+ # Attempt 1: immediate
789
+ # Attempt 2: 2 seconds (base_delay * multiplier^1)
790
+ # Attempt 3: 4 seconds (base_delay * multiplier^2)
791
+ # Attempt 4: 8 seconds (base_delay * multiplier^3)
792
+ backoff_multiplier: 2
793
+
794
+ # Base delay for first retry (seconds)
795
+ base_delay_seconds: 2
796
+
797
+ # Optional: DLQ message retention
798
+ # dlq_retention_hours: 168 # Keep failed messages for 7 days
799
+
800
+ # Optional: DLQ alerting
801
+ # dlq_alert_threshold: 10 # Alert if >10 messages in DLQ
802
+
803
+ # ═══════════════════════════════════════════════════════════════════════════════════
804
+ # SUMMARY: AGENT-TO-AGENT MESSAGING
805
+ # ═══════════════════════════════════════════════════════════════════════════════════
806
+ #
807
+ # This agent demonstrates:
808
+ # ✓ Publishing events to channels (pub/sub pattern)
809
+ # ✓ Subscribing to events from other agents
810
+ # ✓ Accepting commands (RPC pattern)
811
+ # ✓ JSON Schema message validation
812
+ # ✓ Message filtering (only process relevant messages)
813
+ # ✓ At-least-once delivery with retries
814
+ # ✓ Dead letter queue for failed messages
815
+ # ✓ Per-channel message ordering
816
+ #
817
+ # Multi-agent architecture:
818
+ # → Decouple agents (loose coupling)
819
+ # → Scale independently (horizontal scaling)
820
+ # → Event-driven workflows (react to changes)
821
+ # → Fault tolerance (retries, DLQ)
822
+ #
823
+ # Next example (05-workflow-composition.ossa.yaml):
824
+ # → Orchestrate multiple agents into workflows
825
+ # → DAGs (directed acyclic graphs)
826
+ # → Parallel execution
827
+ # → Error handling and compensation
828
+ #
829
+ # ═══════════════════════════════════════════════════════════════════════════════════