@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,2787 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://openstandardagents.org/schemas/v0.3.0/manifest.json",
4
+ "title": "OSSA v0.3.0 Manifest Schema",
5
+ "description": "Open Standard for Scalable AI Agents (OSSA) v0.3.0 - Unified Task Schema. Supports Agent (agentic loops with LLM), Task (deterministic workflow steps), and Workflow (composition of Tasks and Agents) kinds Includes Agent-to-Agent Messaging Extension.",
6
+ "type": "object",
7
+ "required": [
8
+ "apiVersion",
9
+ "kind",
10
+ "metadata"
11
+ ],
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "pattern": "^ossa/v(0\\.3\\.[0-9]+(-[a-zA-Z0-9]+)?|0\\.2\\.[2-9](-dev)?|1)(\\.[0-9]+)?(-[a-zA-Z0-9]+)?$",
16
+ "description": "OSSA API version (v0.3.0+ supports Task and Workflow kinds)",
17
+ "examples": [
18
+ "ossa/v0.3.0",
19
+ "ossa/v1",
20
+ "ossa/v0.2.9"
21
+ ]
22
+ },
23
+ "kind": {
24
+ "type": "string",
25
+ "enum": [
26
+ "Agent",
27
+ "Task",
28
+ "Workflow"
29
+ ],
30
+ "description": "Resource type: Agent (agentic loops), Task (deterministic steps), or Workflow (composition)"
31
+ },
32
+ "metadata": {
33
+ "$ref": "#/definitions/Metadata"
34
+ },
35
+ "spec": {
36
+ "description": "Specification varies based on kind"
37
+ },
38
+ "extensions": {
39
+ "type": "object",
40
+ "description": "Framework-specific extensions",
41
+ "properties": {
42
+ "mcp": {
43
+ "$ref": "#/definitions/MCPExtension"
44
+ }
45
+ },
46
+ "additionalProperties": true
47
+ },
48
+ "runtime": {
49
+ "$ref": "#/definitions/RuntimeBinding",
50
+ "description": "Runtime-specific capability bindings (for Task and Workflow kinds)"
51
+ }
52
+ },
53
+ "allOf": [
54
+ {
55
+ "if": {
56
+ "properties": {
57
+ "kind": {
58
+ "const": "Agent"
59
+ }
60
+ }
61
+ },
62
+ "then": {
63
+ "properties": {
64
+ "spec": {
65
+ "$ref": "#/definitions/AgentSpec"
66
+ }
67
+ },
68
+ "required": [
69
+ "spec"
70
+ ]
71
+ }
72
+ },
73
+ {
74
+ "if": {
75
+ "properties": {
76
+ "kind": {
77
+ "const": "Task"
78
+ }
79
+ }
80
+ },
81
+ "then": {
82
+ "properties": {
83
+ "spec": {
84
+ "$ref": "#/definitions/TaskSpec"
85
+ }
86
+ },
87
+ "required": [
88
+ "spec"
89
+ ]
90
+ }
91
+ },
92
+ {
93
+ "if": {
94
+ "properties": {
95
+ "kind": {
96
+ "const": "Workflow"
97
+ }
98
+ }
99
+ },
100
+ "then": {
101
+ "properties": {
102
+ "spec": {
103
+ "$ref": "#/definitions/WorkflowSpec"
104
+ }
105
+ },
106
+ "required": [
107
+ "spec"
108
+ ]
109
+ }
110
+ }
111
+ ],
112
+ "definitions": {
113
+ "Metadata": {
114
+ "type": "object",
115
+ "required": [
116
+ "name"
117
+ ],
118
+ "properties": {
119
+ "name": {
120
+ "type": "string",
121
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
122
+ "maxLength": 253,
123
+ "description": "Resource identifier (DNS-1123 subdomain format for Kubernetes compatibility)"
124
+ },
125
+ "version": {
126
+ "type": "string",
127
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
128
+ "description": "Semantic version (semver 2.0.0)"
129
+ },
130
+ "description": {
131
+ "type": "string",
132
+ "maxLength": 2000,
133
+ "description": "Human-readable description"
134
+ },
135
+ "labels": {
136
+ "type": "object",
137
+ "additionalProperties": {
138
+ "type": "string",
139
+ "maxLength": 63
140
+ },
141
+ "description": "Key-value labels for organization and filtering"
142
+ },
143
+ "annotations": {
144
+ "type": "object",
145
+ "additionalProperties": {
146
+ "type": "string"
147
+ },
148
+ "description": "Arbitrary metadata for tooling"
149
+ }
150
+ },
151
+ "additionalProperties": false
152
+ },
153
+ "TaskSpec": {
154
+ "type": "object",
155
+ "description": "Specification for deterministic, non-agentic workflow steps (kind: Task)",
156
+ "required": [
157
+ "execution"
158
+ ],
159
+ "properties": {
160
+ "execution": {
161
+ "type": "object",
162
+ "description": "Execution configuration for the task",
163
+ "required": [
164
+ "type"
165
+ ],
166
+ "properties": {
167
+ "type": {
168
+ "type": "string",
169
+ "enum": [
170
+ "deterministic",
171
+ "idempotent",
172
+ "transactional"
173
+ ],
174
+ "default": "deterministic",
175
+ "description": "Execution type: deterministic (pure function), idempotent (safe to retry), transactional (all-or-nothing)"
176
+ },
177
+ "runtime": {
178
+ "type": "string",
179
+ "description": "Target runtime environment",
180
+ "examples": [
181
+ "drupal",
182
+ "symfony",
183
+ "node",
184
+ "python",
185
+ "any"
186
+ ]
187
+ },
188
+ "entrypoint": {
189
+ "type": "string",
190
+ "description": "Entry point for execution (class::method, function name, or script path)"
191
+ },
192
+ "timeout_seconds": {
193
+ "type": "integer",
194
+ "minimum": 1,
195
+ "maximum": 86400,
196
+ "default": 300,
197
+ "description": "Maximum execution time in seconds"
198
+ }
199
+ },
200
+ "additionalProperties": false
201
+ },
202
+ "capabilities": {
203
+ "type": "array",
204
+ "description": "Abstract capabilities this task requires (bound at runtime)",
205
+ "items": {
206
+ "type": "string",
207
+ "pattern": "^[a-z][a-z0-9_]*$",
208
+ "description": "Capability identifier (e.g., publish_content, send_email)"
209
+ },
210
+ "uniqueItems": true,
211
+ "examples": [
212
+ [
213
+ "publish_content",
214
+ "send_notification"
215
+ ],
216
+ [
217
+ "transform_data",
218
+ "validate_schema"
219
+ ]
220
+ ]
221
+ },
222
+ "input": {
223
+ "$ref": "#/definitions/JSONSchemaDefinition",
224
+ "description": "JSON Schema for task input validation"
225
+ },
226
+ "output": {
227
+ "$ref": "#/definitions/JSONSchemaDefinition",
228
+ "description": "JSON Schema for task output validation"
229
+ },
230
+ "batch": {
231
+ "type": "object",
232
+ "description": "Batch processing configuration",
233
+ "properties": {
234
+ "enabled": {
235
+ "type": "boolean",
236
+ "default": false,
237
+ "description": "Enable batch processing mode"
238
+ },
239
+ "parallelism": {
240
+ "type": "integer",
241
+ "minimum": 1,
242
+ "maximum": 1000,
243
+ "default": 10,
244
+ "description": "Maximum parallel executions"
245
+ },
246
+ "chunk_size": {
247
+ "type": "integer",
248
+ "minimum": 1,
249
+ "default": 100,
250
+ "description": "Items per batch chunk"
251
+ },
252
+ "retry": {
253
+ "type": "object",
254
+ "properties": {
255
+ "max_attempts": {
256
+ "type": "integer",
257
+ "minimum": 1,
258
+ "maximum": 10,
259
+ "default": 3
260
+ },
261
+ "backoff_strategy": {
262
+ "type": "string",
263
+ "enum": [
264
+ "fixed",
265
+ "exponential",
266
+ "linear"
267
+ ],
268
+ "default": "exponential"
269
+ },
270
+ "initial_delay_ms": {
271
+ "type": "integer",
272
+ "minimum": 100,
273
+ "default": 1000
274
+ }
275
+ },
276
+ "additionalProperties": false
277
+ },
278
+ "on_item_error": {
279
+ "type": "string",
280
+ "enum": [
281
+ "skip",
282
+ "fail",
283
+ "retry"
284
+ ],
285
+ "default": "retry",
286
+ "description": "Behavior when individual item fails"
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ },
291
+ "dependencies": {
292
+ "type": "array",
293
+ "description": "Other tasks or agents this task depends on",
294
+ "items": {
295
+ "type": "object",
296
+ "required": [
297
+ "ref"
298
+ ],
299
+ "properties": {
300
+ "ref": {
301
+ "type": "string",
302
+ "description": "Reference to dependency (file path or name)"
303
+ },
304
+ "kind": {
305
+ "type": "string",
306
+ "enum": [
307
+ "Task",
308
+ "Agent"
309
+ ],
310
+ "description": "Kind of dependency"
311
+ },
312
+ "optional": {
313
+ "type": "boolean",
314
+ "default": false,
315
+ "description": "Whether this dependency is optional"
316
+ }
317
+ },
318
+ "additionalProperties": false
319
+ }
320
+ },
321
+ "preconditions": {
322
+ "type": "array",
323
+ "description": "Conditions that must be true before task execution",
324
+ "items": {
325
+ "type": "object",
326
+ "required": [
327
+ "expression"
328
+ ],
329
+ "properties": {
330
+ "expression": {
331
+ "type": "string",
332
+ "description": "Condition expression (e.g., '${{ input.status == \"draft\" }}')"
333
+ },
334
+ "error_message": {
335
+ "type": "string",
336
+ "description": "Error message if condition fails"
337
+ }
338
+ },
339
+ "additionalProperties": false
340
+ }
341
+ },
342
+ "postconditions": {
343
+ "type": "array",
344
+ "description": "Conditions that must be true after task execution",
345
+ "items": {
346
+ "type": "object",
347
+ "required": [
348
+ "expression"
349
+ ],
350
+ "properties": {
351
+ "expression": {
352
+ "type": "string",
353
+ "description": "Condition expression"
354
+ },
355
+ "error_message": {
356
+ "type": "string"
357
+ }
358
+ },
359
+ "additionalProperties": false
360
+ }
361
+ },
362
+ "error_handling": {
363
+ "type": "object",
364
+ "description": "Error handling configuration",
365
+ "properties": {
366
+ "on_error": {
367
+ "type": "string",
368
+ "enum": [
369
+ "fail",
370
+ "retry",
371
+ "fallback",
372
+ "ignore"
373
+ ],
374
+ "default": "fail"
375
+ },
376
+ "fallback_task": {
377
+ "type": "string",
378
+ "description": "Reference to fallback task on failure"
379
+ },
380
+ "error_mapping": {
381
+ "type": "object",
382
+ "description": "Map error codes to actions",
383
+ "additionalProperties": {
384
+ "type": "string",
385
+ "enum": [
386
+ "fail",
387
+ "retry",
388
+ "fallback",
389
+ "ignore"
390
+ ]
391
+ }
392
+ }
393
+ },
394
+ "additionalProperties": false
395
+ },
396
+ "observability": {
397
+ "type": "object",
398
+ "description": "Observability configuration",
399
+ "properties": {
400
+ "logging": {
401
+ "type": "object",
402
+ "properties": {
403
+ "level": {
404
+ "type": "string",
405
+ "enum": [
406
+ "debug",
407
+ "info",
408
+ "warn",
409
+ "error"
410
+ ],
411
+ "default": "info"
412
+ },
413
+ "include_input": {
414
+ "type": "boolean",
415
+ "default": false,
416
+ "description": "Log input data (caution: may contain sensitive data)"
417
+ },
418
+ "include_output": {
419
+ "type": "boolean",
420
+ "default": false,
421
+ "description": "Log output data"
422
+ }
423
+ }
424
+ },
425
+ "metrics": {
426
+ "type": "object",
427
+ "properties": {
428
+ "enabled": {
429
+ "type": "boolean",
430
+ "default": true
431
+ },
432
+ "custom_labels": {
433
+ "type": "object",
434
+ "additionalProperties": {
435
+ "type": "string"
436
+ }
437
+ }
438
+ }
439
+ },
440
+ "tracing": {
441
+ "type": "object",
442
+ "properties": {
443
+ "enabled": {
444
+ "type": "boolean",
445
+ "default": true
446
+ },
447
+ "sample_rate": {
448
+ "type": "number",
449
+ "minimum": 0,
450
+ "maximum": 1,
451
+ "default": 1
452
+ }
453
+ }
454
+ }
455
+ },
456
+ "additionalProperties": false
457
+ }
458
+ },
459
+ "additionalProperties": false
460
+ },
461
+ "AgentSpec": {
462
+ "type": "object",
463
+ "description": "Specification for agentic loops with LLM (kind: Agent) - inherits from v0.2.9. Either 'role' or 'prompts.system.template' is required.",
464
+ "properties": {
465
+ "role": {
466
+ "type": "string",
467
+ "minLength": 1,
468
+ "description": "Agent role/system prompt (alternative: use prompts.system.template)"
469
+ },
470
+ "prompts": {
471
+ "type": "object",
472
+ "description": "Structured prompts configuration (alternative to role)",
473
+ "properties": {
474
+ "system": {
475
+ "type": "object",
476
+ "properties": {
477
+ "template": {
478
+ "type": "string",
479
+ "description": "System prompt template"
480
+ },
481
+ "version": {
482
+ "type": "string",
483
+ "description": "Prompt version"
484
+ }
485
+ }
486
+ }
487
+ },
488
+ "additionalProperties": true
489
+ },
490
+ "llm": {
491
+ "$ref": "#/definitions/LLMConfig"
492
+ },
493
+ "tools": {
494
+ "type": "array",
495
+ "items": {
496
+ "$ref": "#/definitions/Tool"
497
+ }
498
+ },
499
+ "autonomy": {
500
+ "$ref": "#/definitions/Autonomy"
501
+ },
502
+ "constraints": {
503
+ "$ref": "#/definitions/Constraints"
504
+ },
505
+ "state": {
506
+ "$ref": "#/definitions/State"
507
+ },
508
+ "observability": {
509
+ "$ref": "#/definitions/AgentObservability"
510
+ },
511
+ "safety": {
512
+ "$ref": "#/definitions/Safety"
513
+ },
514
+ "messaging": {
515
+ "$ref": "#/definitions/MessagingExtension",
516
+ "description": "Agent-to-agent messaging configuration (v0.3.0+)"
517
+ },
518
+ "functions": {
519
+ "type": "array",
520
+ "description": "A2A/OpenAI-style function definitions for structured tool calling",
521
+ "items": {
522
+ "$ref": "#/definitions/FunctionDefinition"
523
+ }
524
+ },
525
+ "identity": {
526
+ "type": "object",
527
+ "description": "OpenTelemetry service identity for tracing and observability",
528
+ "properties": {
529
+ "service_name": {
530
+ "type": "string",
531
+ "description": "Service name for OpenTelemetry traces"
532
+ },
533
+ "service_namespace": {
534
+ "type": "string",
535
+ "description": "Service namespace (e.g., production, staging, development)"
536
+ },
537
+ "service_version": {
538
+ "type": "string",
539
+ "description": "Service version (semver recommended)"
540
+ },
541
+ "service_instance_id": {
542
+ "type": "string",
543
+ "description": "Unique instance identifier"
544
+ }
545
+ },
546
+ "additionalProperties": false
547
+ },
548
+ "compliance": {
549
+ "type": "object",
550
+ "description": "Regulatory compliance and data governance configuration",
551
+ "properties": {
552
+ "frameworks": {
553
+ "type": "array",
554
+ "description": "Applicable compliance frameworks",
555
+ "items": {
556
+ "type": "string",
557
+ "enum": [
558
+ "SOC2",
559
+ "HIPAA",
560
+ "GDPR",
561
+ "FedRAMP",
562
+ "PCI-DSS",
563
+ "ISO27001"
564
+ ]
565
+ },
566
+ "uniqueItems": true
567
+ },
568
+ "data_residency": {
569
+ "type": "string",
570
+ "description": "Required data residency region (e.g., us-east-1, eu-west-1)"
571
+ },
572
+ "audit_logging": {
573
+ "type": "string",
574
+ "enum": [
575
+ "required",
576
+ "optional",
577
+ "disabled"
578
+ ],
579
+ "default": "optional",
580
+ "description": "Audit logging requirement level"
581
+ },
582
+ "pii_handling": {
583
+ "type": "string",
584
+ "enum": [
585
+ "encrypt_at_rest",
586
+ "anonymize",
587
+ "redact",
588
+ "none"
589
+ ],
590
+ "default": "none",
591
+ "description": "Personally Identifiable Information handling strategy"
592
+ }
593
+ },
594
+ "additionalProperties": false
595
+ },
596
+ "lifecycle": {
597
+ "type": "object",
598
+ "description": "Agent lifecycle and environment management configuration",
599
+ "properties": {
600
+ "environments": {
601
+ "type": "object",
602
+ "description": "Environment-specific configurations",
603
+ "additionalProperties": {
604
+ "type": "object",
605
+ "description": "Configuration for a specific environment (e.g., development, staging, production)",
606
+ "additionalProperties": true
607
+ }
608
+ },
609
+ "dependencies": {
610
+ "type": "array",
611
+ "description": "External dependencies required by this agent",
612
+ "items": {
613
+ "type": "object",
614
+ "required": [
615
+ "name",
616
+ "version"
617
+ ],
618
+ "properties": {
619
+ "name": {
620
+ "type": "string",
621
+ "description": "Dependency name"
622
+ },
623
+ "version": {
624
+ "type": "string",
625
+ "description": "Dependency version (semver recommended)"
626
+ },
627
+ "type": {
628
+ "type": "string",
629
+ "enum": [
630
+ "runtime",
631
+ "build",
632
+ "optional"
633
+ ],
634
+ "default": "runtime",
635
+ "description": "Dependency type"
636
+ },
637
+ "source": {
638
+ "type": "string",
639
+ "description": "Dependency source (e.g., npm, pip, composer, docker)"
640
+ }
641
+ },
642
+ "additionalProperties": false
643
+ }
644
+ }
645
+ },
646
+ "additionalProperties": false
647
+ }
648
+ },
649
+ "additionalProperties": true
650
+ },
651
+ "WorkflowSpec": {
652
+ "type": "object",
653
+ "description": "Specification for workflow composition (kind: Workflow) - composes Tasks and Agents into executable pipelines",
654
+ "required": [
655
+ "steps"
656
+ ],
657
+ "properties": {
658
+ "triggers": {
659
+ "type": "array",
660
+ "description": "Events that trigger workflow execution",
661
+ "items": {
662
+ "$ref": "#/definitions/Trigger"
663
+ }
664
+ },
665
+ "inputs": {
666
+ "$ref": "#/definitions/JSONSchemaDefinition",
667
+ "description": "JSON Schema for workflow input validation"
668
+ },
669
+ "outputs": {
670
+ "$ref": "#/definitions/JSONSchemaDefinition",
671
+ "description": "JSON Schema for workflow output validation"
672
+ },
673
+ "steps": {
674
+ "type": "array",
675
+ "description": "Workflow steps (Tasks and/or Agents)",
676
+ "minItems": 1,
677
+ "items": {
678
+ "$ref": "#/definitions/WorkflowStep"
679
+ }
680
+ },
681
+ "context": {
682
+ "type": "object",
683
+ "description": "Shared context available to all steps",
684
+ "properties": {
685
+ "variables": {
686
+ "type": "object",
687
+ "description": "Workflow-level variables",
688
+ "additionalProperties": true
689
+ },
690
+ "secrets": {
691
+ "type": "array",
692
+ "description": "Secret references available to steps",
693
+ "items": {
694
+ "type": "object",
695
+ "properties": {
696
+ "name": {
697
+ "type": "string",
698
+ "description": "Secret name available to steps"
699
+ },
700
+ "ref": {
701
+ "type": "string",
702
+ "description": "Secret reference (e.g., vault://secret/api-key)"
703
+ }
704
+ },
705
+ "required": [
706
+ "name",
707
+ "ref"
708
+ ]
709
+ }
710
+ }
711
+ },
712
+ "additionalProperties": false
713
+ },
714
+ "concurrency": {
715
+ "type": "object",
716
+ "description": "Concurrency control",
717
+ "properties": {
718
+ "group": {
719
+ "type": "string",
720
+ "description": "Concurrency group name (workflows in same group are serialized)"
721
+ },
722
+ "cancel_in_progress": {
723
+ "type": "boolean",
724
+ "default": false,
725
+ "description": "Cancel running workflow if new one starts in same group"
726
+ }
727
+ },
728
+ "additionalProperties": false
729
+ },
730
+ "error_handling": {
731
+ "type": "object",
732
+ "description": "Workflow-level error handling",
733
+ "properties": {
734
+ "on_failure": {
735
+ "type": "string",
736
+ "enum": [
737
+ "halt",
738
+ "continue",
739
+ "rollback",
740
+ "notify",
741
+ "compensate",
742
+ "compensation"
743
+ ],
744
+ "default": "halt",
745
+ "description": "Action on step failure"
746
+ },
747
+ "compensation_steps": {
748
+ "type": "array",
749
+ "description": "Steps to run on rollback/compensate",
750
+ "items": {
751
+ "$ref": "#/definitions/WorkflowStep"
752
+ }
753
+ },
754
+ "notification": {
755
+ "type": "object",
756
+ "description": "Notification on failure",
757
+ "properties": {
758
+ "channels": {
759
+ "type": "array",
760
+ "items": {
761
+ "type": "string",
762
+ "enum": [
763
+ "email",
764
+ "slack",
765
+ "webhook",
766
+ "pagerduty"
767
+ ]
768
+ }
769
+ },
770
+ "template": {
771
+ "type": "string",
772
+ "description": "Notification template reference"
773
+ }
774
+ }
775
+ },
776
+ "retry_policy": {
777
+ "type": "object",
778
+ "properties": {
779
+ "max_attempts": {
780
+ "type": "integer",
781
+ "minimum": 1,
782
+ "maximum": 10,
783
+ "default": 3
784
+ },
785
+ "backoff": {
786
+ "type": "string",
787
+ "enum": [
788
+ "fixed",
789
+ "exponential",
790
+ "linear"
791
+ ],
792
+ "default": "exponential"
793
+ },
794
+ "initial_delay_ms": {
795
+ "type": "integer",
796
+ "minimum": 100,
797
+ "default": 1000
798
+ },
799
+ "max_delay_ms": {
800
+ "type": "integer",
801
+ "default": 60000
802
+ }
803
+ }
804
+ }
805
+ },
806
+ "additionalProperties": true
807
+ },
808
+ "timeout_seconds": {
809
+ "type": "integer",
810
+ "minimum": 1,
811
+ "maximum": 86400,
812
+ "description": "Maximum workflow execution time in seconds"
813
+ },
814
+ "observability": {
815
+ "type": "object",
816
+ "description": "Workflow observability configuration",
817
+ "properties": {
818
+ "tracing": {
819
+ "type": "object",
820
+ "properties": {
821
+ "enabled": {
822
+ "type": "boolean",
823
+ "default": true
824
+ },
825
+ "propagate_context": {
826
+ "type": "boolean",
827
+ "default": true,
828
+ "description": "Propagate trace context to steps"
829
+ }
830
+ }
831
+ },
832
+ "metrics": {
833
+ "type": "object",
834
+ "properties": {
835
+ "enabled": {
836
+ "type": "boolean",
837
+ "default": true
838
+ },
839
+ "custom_labels": {
840
+ "type": "object",
841
+ "additionalProperties": {
842
+ "type": "string"
843
+ }
844
+ }
845
+ }
846
+ },
847
+ "logging": {
848
+ "type": "object",
849
+ "properties": {
850
+ "level": {
851
+ "type": "string",
852
+ "enum": [
853
+ "debug",
854
+ "info",
855
+ "warn",
856
+ "error"
857
+ ],
858
+ "default": "info"
859
+ }
860
+ }
861
+ }
862
+ },
863
+ "additionalProperties": true
864
+ }
865
+ },
866
+ "additionalProperties": true
867
+ },
868
+ "RuntimeBinding": {
869
+ "type": "object",
870
+ "description": "Multi-runtime compatibility declaration",
871
+ "properties": {
872
+ "type": {
873
+ "type": "string",
874
+ "description": "Primary runtime type",
875
+ "enum": [
876
+ "unified",
877
+ "google-a2a",
878
+ "gitlab-duo",
879
+ "ossa-mesh",
880
+ "mcp",
881
+ "local",
882
+ "drupal",
883
+ "symfony_messenger",
884
+ "kagent",
885
+ "temporal",
886
+ "node"
887
+ ],
888
+ "default": "unified"
889
+ },
890
+ "supports": {
891
+ "type": "array",
892
+ "description": "List of compatible runtimes",
893
+ "items": {
894
+ "type": "string",
895
+ "enum": [
896
+ "google-a2a",
897
+ "gitlab-duo",
898
+ "ossa-mesh",
899
+ "mcp",
900
+ "local-execution",
901
+ "kubernetes",
902
+ "serverless",
903
+ "lambda",
904
+ "cloudflare-workers",
905
+ "drupal",
906
+ "symfony"
907
+ ]
908
+ },
909
+ "uniqueItems": true
910
+ },
911
+ "transport": {
912
+ "type": "string",
913
+ "description": "Message transport for async runtimes",
914
+ "examples": [
915
+ "async",
916
+ "sync",
917
+ "amqp",
918
+ "redis"
919
+ ]
920
+ },
921
+ "scheduling": {
922
+ "$ref": "#/definitions/SchedulingConfig",
923
+ "description": "Agent scheduling configuration"
924
+ },
925
+ "resource_limits": {
926
+ "$ref": "#/definitions/ResourceLimits",
927
+ "description": "Compute resource constraints"
928
+ },
929
+ "extensions": {
930
+ "type": "array",
931
+ "description": "External runtime extensions",
932
+ "items": {
933
+ "$ref": "#/definitions/RuntimeExtension"
934
+ }
935
+ },
936
+ "bindings": {
937
+ "type": "object",
938
+ "description": "Map of capability names to runtime-specific handlers",
939
+ "additionalProperties": {
940
+ "type": "object",
941
+ "properties": {
942
+ "handler": {
943
+ "type": "string",
944
+ "description": "Handler class/function (e.g., 'Drupal\\node\\NodeQuery::getList')"
945
+ },
946
+ "mcp_server": {
947
+ "type": "string",
948
+ "description": "MCP server name for MCP-based bindings"
949
+ },
950
+ "tool": {
951
+ "type": "string",
952
+ "description": "Tool name within MCP server"
953
+ },
954
+ "config": {
955
+ "type": "object",
956
+ "description": "Additional binding configuration",
957
+ "additionalProperties": true
958
+ }
959
+ },
960
+ "additionalProperties": false
961
+ }
962
+ }
963
+ },
964
+ "additionalProperties": false
965
+ },
966
+ "Trigger": {
967
+ "type": "object",
968
+ "description": "Workflow trigger configuration",
969
+ "required": [
970
+ "type"
971
+ ],
972
+ "properties": {
973
+ "type": {
974
+ "type": "string",
975
+ "enum": [
976
+ "webhook",
977
+ "cron",
978
+ "event",
979
+ "manual"
980
+ ],
981
+ "description": "Trigger type"
982
+ },
983
+ "path": {
984
+ "type": "string",
985
+ "description": "Webhook path (for type=webhook)"
986
+ },
987
+ "schedule": {
988
+ "type": "string",
989
+ "description": "Cron expression (for type=cron)",
990
+ "examples": [
991
+ "0 8 * * *",
992
+ "*/15 * * * *"
993
+ ]
994
+ },
995
+ "source": {
996
+ "type": "string",
997
+ "description": "Event source (for type=event)",
998
+ "examples": [
999
+ "drupal",
1000
+ "kafka",
1001
+ "webhook"
1002
+ ]
1003
+ },
1004
+ "event": {
1005
+ "type": "string",
1006
+ "description": "Event name (for type=event)",
1007
+ "examples": [
1008
+ "node.created",
1009
+ "user.login",
1010
+ "order.placed"
1011
+ ]
1012
+ },
1013
+ "filter": {
1014
+ "type": "object",
1015
+ "description": "Event filter conditions",
1016
+ "additionalProperties": true
1017
+ }
1018
+ },
1019
+ "additionalProperties": true
1020
+ },
1021
+ "WorkflowStep": {
1022
+ "type": "object",
1023
+ "description": "A step in a workflow - can be a Task, Agent, or control structure",
1024
+ "required": [
1025
+ "id"
1026
+ ],
1027
+ "properties": {
1028
+ "id": {
1029
+ "type": "string",
1030
+ "pattern": "^[a-z][a-z0-9_-]*$",
1031
+ "description": "Step identifier (unique within workflow)"
1032
+ },
1033
+ "name": {
1034
+ "type": "string",
1035
+ "description": "Human-readable step name for display"
1036
+ },
1037
+ "kind": {
1038
+ "type": "string",
1039
+ "enum": [
1040
+ "Task",
1041
+ "Agent",
1042
+ "Parallel",
1043
+ "Conditional",
1044
+ "Loop"
1045
+ ],
1046
+ "description": "Step type"
1047
+ },
1048
+ "ref": {
1049
+ "type": "string",
1050
+ "description": "Reference to Task or Agent manifest file",
1051
+ "examples": [
1052
+ "./tasks/publish-content.yaml",
1053
+ "./agents/content-reviewer.yaml"
1054
+ ]
1055
+ },
1056
+ "inline": {
1057
+ "type": "object",
1058
+ "description": "Inline Task or Agent specification (alternative to ref)"
1059
+ },
1060
+ "input": {
1061
+ "type": "object",
1062
+ "description": "Input mapping using expression syntax",
1063
+ "additionalProperties": true,
1064
+ "examples": [
1065
+ {
1066
+ "content": "${{ steps.fetch.output.content }}",
1067
+ "priority": "${{ workflow.input.priority }}"
1068
+ }
1069
+ ]
1070
+ },
1071
+ "output": {
1072
+ "type": "object",
1073
+ "description": "Output mapping to workflow context",
1074
+ "properties": {
1075
+ "to": {
1076
+ "type": "string",
1077
+ "description": "Variable name to store output"
1078
+ },
1079
+ "fields": {
1080
+ "type": "array",
1081
+ "items": {
1082
+ "type": "string"
1083
+ },
1084
+ "description": "Specific fields to extract from output"
1085
+ }
1086
+ }
1087
+ },
1088
+ "condition": {
1089
+ "type": "string",
1090
+ "description": "Condition expression for conditional execution",
1091
+ "examples": [
1092
+ "${{ steps.review.output.approved }}",
1093
+ "${{ workflow.input.priority == 'high' }}",
1094
+ "${{ steps.check.output.status == 'ready' && context.retry_count < 3 }}"
1095
+ ]
1096
+ },
1097
+ "depends_on": {
1098
+ "type": "array",
1099
+ "description": "Explicit dependencies on other steps",
1100
+ "items": {
1101
+ "type": "string"
1102
+ },
1103
+ "examples": [
1104
+ [
1105
+ "fetch",
1106
+ "validate"
1107
+ ]
1108
+ ]
1109
+ },
1110
+ "parallel": {
1111
+ "type": "array",
1112
+ "description": "Steps to run in parallel (for kind: Parallel)",
1113
+ "items": {
1114
+ "$ref": "#/definitions/WorkflowStep"
1115
+ }
1116
+ },
1117
+ "branches": {
1118
+ "type": "array",
1119
+ "description": "Conditional branches (for kind: Conditional)",
1120
+ "items": {
1121
+ "type": "object",
1122
+ "properties": {
1123
+ "condition": {
1124
+ "type": "string",
1125
+ "description": "Branch condition expression"
1126
+ },
1127
+ "steps": {
1128
+ "type": "array",
1129
+ "items": {
1130
+ "$ref": "#/definitions/WorkflowStep"
1131
+ }
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "condition",
1136
+ "steps"
1137
+ ]
1138
+ }
1139
+ },
1140
+ "else": {
1141
+ "type": "array",
1142
+ "description": "Steps to run if no branch condition matches (for kind: Conditional)",
1143
+ "items": {
1144
+ "$ref": "#/definitions/WorkflowStep"
1145
+ }
1146
+ },
1147
+ "loop": {
1148
+ "type": "object",
1149
+ "description": "Loop configuration (for kind: Loop)",
1150
+ "properties": {
1151
+ "over": {
1152
+ "type": "string",
1153
+ "description": "Expression returning array to iterate over",
1154
+ "examples": [
1155
+ "${{ steps.fetch.output.items }}",
1156
+ "${{ workflow.input.recipients }}"
1157
+ ]
1158
+ },
1159
+ "as": {
1160
+ "type": "string",
1161
+ "description": "Variable name for current item",
1162
+ "default": "item"
1163
+ },
1164
+ "index": {
1165
+ "type": "string",
1166
+ "description": "Variable name for current index",
1167
+ "default": "index"
1168
+ },
1169
+ "parallelism": {
1170
+ "type": "integer",
1171
+ "minimum": 1,
1172
+ "description": "Maximum parallel iterations"
1173
+ }
1174
+ },
1175
+ "required": [
1176
+ "over"
1177
+ ]
1178
+ },
1179
+ "steps": {
1180
+ "type": "array",
1181
+ "description": "Nested steps (for Loop and Conditional kinds)",
1182
+ "items": {
1183
+ "$ref": "#/definitions/WorkflowStep"
1184
+ }
1185
+ },
1186
+ "retry": {
1187
+ "type": "object",
1188
+ "description": "Step-specific retry configuration",
1189
+ "properties": {
1190
+ "max_attempts": {
1191
+ "type": "integer",
1192
+ "minimum": 1,
1193
+ "maximum": 10,
1194
+ "default": 3
1195
+ },
1196
+ "backoff_strategy": {
1197
+ "type": "string",
1198
+ "enum": [
1199
+ "fixed",
1200
+ "exponential",
1201
+ "linear"
1202
+ ],
1203
+ "default": "exponential"
1204
+ },
1205
+ "initial_delay_ms": {
1206
+ "type": "integer",
1207
+ "minimum": 100,
1208
+ "default": 1000
1209
+ },
1210
+ "retryable_errors": {
1211
+ "type": "array",
1212
+ "items": {
1213
+ "type": "string"
1214
+ },
1215
+ "description": "Error codes that should trigger retry"
1216
+ }
1217
+ }
1218
+ },
1219
+ "timeout_seconds": {
1220
+ "type": "integer",
1221
+ "minimum": 1,
1222
+ "maximum": 86400,
1223
+ "description": "Step-specific timeout"
1224
+ },
1225
+ "continue_on_error": {
1226
+ "type": "boolean",
1227
+ "default": false,
1228
+ "description": "Continue workflow even if this step fails"
1229
+ },
1230
+ "on_error": {
1231
+ "type": "object",
1232
+ "description": "Step-specific error handling",
1233
+ "properties": {
1234
+ "action": {
1235
+ "type": "string",
1236
+ "enum": [
1237
+ "fail",
1238
+ "continue",
1239
+ "goto",
1240
+ "compensate"
1241
+ ],
1242
+ "default": "fail"
1243
+ },
1244
+ "goto": {
1245
+ "type": "string",
1246
+ "description": "Step ID to jump to on error (for action: goto)"
1247
+ },
1248
+ "compensation": {
1249
+ "$ref": "#/definitions/WorkflowStep",
1250
+ "description": "Compensation step to run on error"
1251
+ }
1252
+ }
1253
+ },
1254
+ "labels": {
1255
+ "type": "object",
1256
+ "description": "Step labels for filtering and organization",
1257
+ "additionalProperties": {
1258
+ "type": "string"
1259
+ }
1260
+ }
1261
+ },
1262
+ "additionalProperties": true
1263
+ },
1264
+ "JSONSchemaDefinition": {
1265
+ "type": "object",
1266
+ "description": "JSON Schema definition for input/output validation",
1267
+ "properties": {
1268
+ "type": {
1269
+ "type": "string",
1270
+ "enum": [
1271
+ "object",
1272
+ "array",
1273
+ "string",
1274
+ "number",
1275
+ "integer",
1276
+ "boolean",
1277
+ "null"
1278
+ ]
1279
+ },
1280
+ "properties": {
1281
+ "type": "object",
1282
+ "additionalProperties": true
1283
+ },
1284
+ "required": {
1285
+ "type": "array",
1286
+ "items": {
1287
+ "type": "string"
1288
+ }
1289
+ },
1290
+ "items": {
1291
+ "type": "object"
1292
+ },
1293
+ "additionalProperties": {
1294
+ "type": [
1295
+ "boolean",
1296
+ "object"
1297
+ ]
1298
+ }
1299
+ },
1300
+ "additionalProperties": true
1301
+ },
1302
+ "LLMConfig": {
1303
+ "type": "object",
1304
+ "required": [
1305
+ "provider",
1306
+ "model"
1307
+ ],
1308
+ "properties": {
1309
+ "provider": {
1310
+ "description": "LLM provider - literal value or environment variable with default (e.g., ${LLM_PROVIDER:-anthropic})",
1311
+ "anyOf": [
1312
+ {
1313
+ "type": "string",
1314
+ "enum": [
1315
+ "openai",
1316
+ "anthropic",
1317
+ "google",
1318
+ "azure",
1319
+ "ollama",
1320
+ "mistral",
1321
+ "cohere",
1322
+ "groq",
1323
+ "together",
1324
+ "fireworks",
1325
+ "deepseek",
1326
+ "custom"
1327
+ ]
1328
+ },
1329
+ {
1330
+ "type": "string",
1331
+ "pattern": "^[$]\\{[A-Za-z_][A-Za-z0-9_]*(?::-[a-zA-Z0-9_-]+)?\\}$",
1332
+ "description": "Environment variable reference with optional default"
1333
+ }
1334
+ ]
1335
+ },
1336
+ "model": {
1337
+ "type": "string",
1338
+ "description": "Model identifier (e.g., gpt-4o, claude-sonnet-4.5-20250929)"
1339
+ },
1340
+ "temperature": {
1341
+ "type": "number",
1342
+ "minimum": 0,
1343
+ "maximum": 2,
1344
+ "description": "Sampling temperature for response generation"
1345
+ },
1346
+ "maxTokens": {
1347
+ "type": "integer",
1348
+ "minimum": 1,
1349
+ "description": "Maximum tokens in response"
1350
+ },
1351
+ "fallback_models": {
1352
+ "type": "array",
1353
+ "description": "Ordered list of fallback LLM configurations for resilience",
1354
+ "items": {
1355
+ "$ref": "#/definitions/FallbackLLM"
1356
+ }
1357
+ },
1358
+ "retry_config": {
1359
+ "$ref": "#/definitions/RetryConfig",
1360
+ "description": "Retry and backoff configuration for transient failures"
1361
+ },
1362
+ "cost_tracking": {
1363
+ "$ref": "#/definitions/CostTracking",
1364
+ "description": "Cost governance and allocation tracking"
1365
+ },
1366
+ "profile": {
1367
+ "description": "Execution profile for task-specific optimization (A2A compatible)",
1368
+ "anyOf": [
1369
+ {
1370
+ "type": "string",
1371
+ "enum": [
1372
+ "fast",
1373
+ "balanced",
1374
+ "deep",
1375
+ "safe"
1376
+ ]
1377
+ },
1378
+ {
1379
+ "type": "string",
1380
+ "pattern": "^[$]\\{[A-Za-z_][A-Za-z0-9_]*(?::-[a-zA-Z0-9_-]+)?\\}$",
1381
+ "description": "Environment variable reference with optional default"
1382
+ }
1383
+ ],
1384
+ "default": "balanced"
1385
+ },
1386
+ "execution_profiles": {
1387
+ "$ref": "#/definitions/ExecutionProfiles",
1388
+ "description": "Custom execution profile definitions"
1389
+ }
1390
+ },
1391
+ "additionalProperties": true
1392
+ },
1393
+ "FallbackLLM": {
1394
+ "type": "object",
1395
+ "description": "Fallback LLM configuration for resilience",
1396
+ "required": [
1397
+ "provider",
1398
+ "model"
1399
+ ],
1400
+ "properties": {
1401
+ "provider": {
1402
+ "description": "LLM provider - literal value or environment variable",
1403
+ "anyOf": [
1404
+ {
1405
+ "type": "string",
1406
+ "enum": [
1407
+ "openai",
1408
+ "anthropic",
1409
+ "google",
1410
+ "azure",
1411
+ "ollama",
1412
+ "mistral",
1413
+ "cohere",
1414
+ "groq",
1415
+ "together",
1416
+ "fireworks",
1417
+ "deepseek",
1418
+ "custom"
1419
+ ]
1420
+ },
1421
+ {
1422
+ "type": "string",
1423
+ "pattern": "^[$]\\{[A-Za-z_][A-Za-z0-9_]*(?::-[a-zA-Z0-9_-]+)?\\}$"
1424
+ }
1425
+ ]
1426
+ },
1427
+ "model": {
1428
+ "type": "string",
1429
+ "description": "Model identifier"
1430
+ },
1431
+ "temperature": {
1432
+ "type": "number",
1433
+ "minimum": 0,
1434
+ "maximum": 2
1435
+ },
1436
+ "trigger": {
1437
+ "type": "object",
1438
+ "description": "Conditions that trigger fallback",
1439
+ "properties": {
1440
+ "on_error": { "type": "boolean", "description": "Trigger on any error from primary" },
1441
+ "max_retries": { "type": "integer", "description": "Retries before falling back" },
1442
+ "error_codes": { "type": "array", "items": { "type": "integer" }, "description": "Specific error codes to trigger on" },
1443
+ "latency_threshold_ms": { "type": "integer", "description": "Trigger when latency exceeds this threshold" }
1444
+ },
1445
+ "additionalProperties": true
1446
+ }
1447
+ },
1448
+ "additionalProperties": true
1449
+ },
1450
+ "RetryConfig": {
1451
+ "type": "object",
1452
+ "description": "Retry and backoff configuration for LLM calls",
1453
+ "properties": {
1454
+ "max_attempts": {
1455
+ "type": "integer",
1456
+ "minimum": 1,
1457
+ "maximum": 10,
1458
+ "default": 3,
1459
+ "description": "Maximum number of retry attempts"
1460
+ },
1461
+ "backoff_strategy": {
1462
+ "type": "string",
1463
+ "enum": [
1464
+ "none",
1465
+ "linear",
1466
+ "exponential"
1467
+ ],
1468
+ "default": "exponential",
1469
+ "description": "Backoff strategy between retries"
1470
+ },
1471
+ "initial_delay_ms": {
1472
+ "type": "integer",
1473
+ "minimum": 0,
1474
+ "default": 1000,
1475
+ "description": "Initial delay in milliseconds before first retry"
1476
+ },
1477
+ "max_delay_ms": {
1478
+ "type": "integer",
1479
+ "minimum": 0,
1480
+ "default": 30000,
1481
+ "description": "Maximum delay between retries"
1482
+ }
1483
+ },
1484
+ "additionalProperties": false
1485
+ },
1486
+ "CostTracking": {
1487
+ "type": "object",
1488
+ "description": "Cost governance and allocation tracking for LLM usage",
1489
+ "properties": {
1490
+ "enabled": {
1491
+ "type": "boolean",
1492
+ "default": false,
1493
+ "description": "Enable cost tracking for this agent"
1494
+ },
1495
+ "budget_alert_threshold": {
1496
+ "type": "number",
1497
+ "minimum": 0,
1498
+ "description": "Alert threshold in dollars for budget monitoring"
1499
+ },
1500
+ "cost_allocation_tags": {
1501
+ "type": "object",
1502
+ "additionalProperties": {
1503
+ "type": "string"
1504
+ },
1505
+ "description": "Tags for cost allocation and chargeback (e.g., project, team, service)"
1506
+ }
1507
+ },
1508
+ "additionalProperties": false
1509
+ },
1510
+ "Tool": {
1511
+ "type": "object",
1512
+ "required": [
1513
+ "type"
1514
+ ],
1515
+ "properties": {
1516
+ "type": {
1517
+ "type": "string",
1518
+ "enum": [
1519
+ "mcp",
1520
+ "kubernetes",
1521
+ "http",
1522
+ "api",
1523
+ "grpc",
1524
+ "function",
1525
+ "a2a",
1526
+ "webhook",
1527
+ "schedule",
1528
+ "pipeline",
1529
+ "workflow",
1530
+ "artifact",
1531
+ "git-commit",
1532
+ "ci-status",
1533
+ "comment",
1534
+ "library",
1535
+ "custom"
1536
+ ],
1537
+ "description": "Tool/trigger type: mcp (Model Context Protocol), kubernetes (K8s API), http (HTTP endpoints), api (REST APIs), grpc (gRPC), function (local), a2a (agent-to-agent), webhook (event triggers), schedule (cron triggers), pipeline (CI/CD events), workflow (status changes), artifact (file outputs), git-commit (commit outputs), ci-status (pipeline status), comment (MR/issue comments), library (reusable logic), custom"
1538
+ },
1539
+ "name": {
1540
+ "type": "string"
1541
+ },
1542
+ "capabilities": {
1543
+ "type": "array",
1544
+ "items": {
1545
+ "$ref": "#/definitions/Capability"
1546
+ }
1547
+ }
1548
+ },
1549
+ "additionalProperties": true
1550
+ },
1551
+ "Capability": {
1552
+ "description": "Capability definition - can be a simple string name or a detailed object",
1553
+ "anyOf": [
1554
+ {
1555
+ "type": "string",
1556
+ "description": "Simple capability name"
1557
+ },
1558
+ {
1559
+ "type": "object",
1560
+ "required": [
1561
+ "name"
1562
+ ],
1563
+ "properties": {
1564
+ "name": {
1565
+ "type": "string"
1566
+ },
1567
+ "version": {
1568
+ "type": "string",
1569
+ "description": "Capability version"
1570
+ },
1571
+ "description": {
1572
+ "type": "string"
1573
+ },
1574
+ "scopes": {
1575
+ "type": "array",
1576
+ "items": {
1577
+ "type": "string"
1578
+ },
1579
+ "description": "Required scopes/permissions"
1580
+ },
1581
+ "transport": {
1582
+ "type": "object",
1583
+ "description": "Transport binding configuration"
1584
+ },
1585
+ "input_schema": {
1586
+ "type": "object"
1587
+ },
1588
+ "output_schema": {
1589
+ "type": "object"
1590
+ }
1591
+ },
1592
+ "additionalProperties": true
1593
+ }
1594
+ ]
1595
+ },
1596
+ "Autonomy": {
1597
+ "type": "object",
1598
+ "description": "Agent autonomy configuration",
1599
+ "properties": {
1600
+ "level": {
1601
+ "type": "string",
1602
+ "enum": [
1603
+ "supervised",
1604
+ "assisted",
1605
+ "semi_autonomous",
1606
+ "autonomous",
1607
+ "fully_autonomous"
1608
+ ],
1609
+ "description": "Autonomy level: supervised (all approval), assisted (guidance with approval), semi_autonomous (limited autonomy), autonomous (self-directed), fully_autonomous (no oversight)"
1610
+ },
1611
+ "approval_required": {
1612
+ "description": "Whether human approval is required, or list of specific actions requiring approval",
1613
+ "anyOf": [
1614
+ { "type": "boolean" },
1615
+ {
1616
+ "type": "array",
1617
+ "items": { "type": "string" },
1618
+ "description": "List of action types that require human approval"
1619
+ }
1620
+ ]
1621
+ },
1622
+ "allowed_actions": {
1623
+ "type": "array",
1624
+ "items": {
1625
+ "type": "string"
1626
+ },
1627
+ "description": "Actions the agent is allowed to perform"
1628
+ },
1629
+ "blocked_actions": {
1630
+ "type": "array",
1631
+ "items": {
1632
+ "type": "string"
1633
+ },
1634
+ "description": "Actions the agent is explicitly blocked from"
1635
+ },
1636
+ "escalation_policy": {
1637
+ "type": "object",
1638
+ "description": "Policy for escalating to humans or other agents",
1639
+ "properties": {
1640
+ "triggers": {
1641
+ "type": "array",
1642
+ "items": {
1643
+ "type": "string"
1644
+ },
1645
+ "description": "Conditions that trigger escalation"
1646
+ },
1647
+ "notify": {
1648
+ "type": "array",
1649
+ "items": {
1650
+ "type": "string"
1651
+ },
1652
+ "description": "Notification channels (e.g., slack:#channel, gitlab:@team)"
1653
+ }
1654
+ },
1655
+ "additionalProperties": true
1656
+ }
1657
+ },
1658
+ "additionalProperties": true
1659
+ },
1660
+ "Constraints": {
1661
+ "type": "object",
1662
+ "description": "Agent resource and operational constraints",
1663
+ "properties": {
1664
+ "cost": {
1665
+ "type": "object",
1666
+ "description": "Cost constraints for LLM usage",
1667
+ "properties": {
1668
+ "maxTokensPerDay": {
1669
+ "type": "integer",
1670
+ "description": "Maximum tokens per day"
1671
+ },
1672
+ "maxTokensPerRequest": {
1673
+ "type": "integer",
1674
+ "description": "Maximum tokens per request"
1675
+ },
1676
+ "maxCostPerDay": {
1677
+ "type": "number",
1678
+ "description": "Maximum cost per day"
1679
+ },
1680
+ "currency": {
1681
+ "type": "string",
1682
+ "description": "Currency for cost tracking (e.g., USD, EUR)"
1683
+ }
1684
+ },
1685
+ "additionalProperties": true
1686
+ },
1687
+ "performance": {
1688
+ "type": "object",
1689
+ "description": "Performance constraints",
1690
+ "properties": {
1691
+ "maxLatencySeconds": {
1692
+ "type": "number",
1693
+ "description": "Maximum response latency in seconds"
1694
+ },
1695
+ "maxConcurrentRequests": {
1696
+ "type": "integer",
1697
+ "description": "Maximum concurrent requests"
1698
+ },
1699
+ "timeoutSeconds": {
1700
+ "type": "number",
1701
+ "description": "Request timeout in seconds"
1702
+ }
1703
+ },
1704
+ "additionalProperties": true
1705
+ },
1706
+ "resources": {
1707
+ "type": "object",
1708
+ "description": "Compute resource constraints (Kubernetes-style)",
1709
+ "properties": {
1710
+ "cpu": {
1711
+ "type": "string",
1712
+ "description": "CPU limit (e.g., '1', '500m')"
1713
+ },
1714
+ "memory": {
1715
+ "type": "string",
1716
+ "description": "Memory limit (e.g., '2Gi', '512Mi')"
1717
+ }
1718
+ },
1719
+ "additionalProperties": true
1720
+ }
1721
+ },
1722
+ "additionalProperties": true
1723
+ },
1724
+ "State": {
1725
+ "type": "object",
1726
+ "description": "Agent state management configuration",
1727
+ "properties": {
1728
+ "mode": {
1729
+ "type": "string",
1730
+ "enum": [
1731
+ "stateless",
1732
+ "session",
1733
+ "long_running"
1734
+ ],
1735
+ "description": "State persistence mode"
1736
+ },
1737
+ "storage": {
1738
+ "type": "object",
1739
+ "description": "State storage configuration",
1740
+ "properties": {
1741
+ "type": {
1742
+ "type": "string",
1743
+ "enum": [
1744
+ "memory",
1745
+ "vector-db",
1746
+ "kv",
1747
+ "rdbms",
1748
+ "custom"
1749
+ ],
1750
+ "description": "Storage backend type"
1751
+ },
1752
+ "retention": {
1753
+ "type": "string",
1754
+ "description": "Data retention period (e.g., '30d', '1h')"
1755
+ },
1756
+ "config": {
1757
+ "type": "object",
1758
+ "description": "Storage-specific configuration",
1759
+ "properties": {
1760
+ "provider": {
1761
+ "type": "string",
1762
+ "description": "Storage provider (e.g., redis, postgres, pinecone)"
1763
+ },
1764
+ "prefix": {
1765
+ "type": "string",
1766
+ "description": "Key prefix for namespacing"
1767
+ },
1768
+ "endpoint": {
1769
+ "type": "string",
1770
+ "description": "Storage endpoint URL"
1771
+ }
1772
+ },
1773
+ "additionalProperties": true
1774
+ },
1775
+ "encryption": {
1776
+ "type": "object",
1777
+ "description": "Storage encryption configuration",
1778
+ "properties": {
1779
+ "enabled": {
1780
+ "type": "boolean"
1781
+ },
1782
+ "algorithm": {
1783
+ "type": "string",
1784
+ "description": "Encryption algorithm (e.g., aes-256-gcm)"
1785
+ },
1786
+ "keyRef": {
1787
+ "type": "string",
1788
+ "description": "Reference to encryption key (e.g., env:ENCRYPTION_KEY)"
1789
+ }
1790
+ },
1791
+ "additionalProperties": true
1792
+ }
1793
+ },
1794
+ "additionalProperties": true
1795
+ },
1796
+ "context_window": {
1797
+ "type": "object",
1798
+ "description": "Context window management for conversation history",
1799
+ "properties": {
1800
+ "max_messages": {
1801
+ "type": "integer",
1802
+ "description": "Maximum messages to retain"
1803
+ },
1804
+ "max_tokens": {
1805
+ "type": "integer",
1806
+ "description": "Maximum tokens in context"
1807
+ },
1808
+ "strategy": {
1809
+ "type": "string",
1810
+ "enum": [
1811
+ "truncation",
1812
+ "summarization",
1813
+ "sliding_window"
1814
+ ],
1815
+ "description": "Strategy for managing context overflow"
1816
+ }
1817
+ },
1818
+ "additionalProperties": true
1819
+ }
1820
+ },
1821
+ "additionalProperties": true
1822
+ },
1823
+ "AgentObservability": {
1824
+ "type": "object",
1825
+ "description": "Agent observability configuration",
1826
+ "properties": {
1827
+ "tracing": {
1828
+ "type": "object",
1829
+ "description": "Distributed tracing configuration",
1830
+ "properties": {
1831
+ "enabled": {
1832
+ "type": "boolean"
1833
+ },
1834
+ "exporter": {
1835
+ "type": "string",
1836
+ "description": "Trace exporter (e.g., otlp, jaeger, zipkin)"
1837
+ },
1838
+ "endpoint": {
1839
+ "type": "string",
1840
+ "description": "Trace collector endpoint"
1841
+ }
1842
+ },
1843
+ "additionalProperties": true
1844
+ },
1845
+ "metrics": {
1846
+ "type": "object",
1847
+ "description": "Metrics collection configuration",
1848
+ "properties": {
1849
+ "enabled": {
1850
+ "type": "boolean"
1851
+ },
1852
+ "exporter": {
1853
+ "type": "string",
1854
+ "description": "Metrics exporter (e.g., prometheus, otlp)"
1855
+ },
1856
+ "endpoint": {
1857
+ "type": "string",
1858
+ "description": "Metrics endpoint"
1859
+ },
1860
+ "port": {
1861
+ "type": "integer",
1862
+ "description": "Metrics server port"
1863
+ },
1864
+ "customMetrics": {
1865
+ "type": "array",
1866
+ "description": "Custom metrics definitions",
1867
+ "items": {
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "name": {
1871
+ "type": "string"
1872
+ },
1873
+ "type": {
1874
+ "type": "string",
1875
+ "enum": [
1876
+ "counter",
1877
+ "gauge",
1878
+ "histogram"
1879
+ ]
1880
+ },
1881
+ "description": {
1882
+ "type": "string"
1883
+ }
1884
+ }
1885
+ }
1886
+ }
1887
+ },
1888
+ "additionalProperties": true
1889
+ },
1890
+ "logging": {
1891
+ "type": "object",
1892
+ "description": "Logging configuration",
1893
+ "properties": {
1894
+ "level": {
1895
+ "type": "string",
1896
+ "enum": [
1897
+ "debug",
1898
+ "info",
1899
+ "warn",
1900
+ "error"
1901
+ ],
1902
+ "description": "Log level"
1903
+ },
1904
+ "format": {
1905
+ "type": "string",
1906
+ "enum": [
1907
+ "json",
1908
+ "text"
1909
+ ],
1910
+ "description": "Log format"
1911
+ }
1912
+ },
1913
+ "additionalProperties": true
1914
+ },
1915
+ "alerting": {
1916
+ "type": "object",
1917
+ "description": "Alerting configuration",
1918
+ "properties": {
1919
+ "enabled": {
1920
+ "type": "boolean"
1921
+ },
1922
+ "channels": {
1923
+ "type": "array",
1924
+ "items": {
1925
+ "type": "string"
1926
+ }
1927
+ },
1928
+ "rules": {
1929
+ "type": "array",
1930
+ "items": {
1931
+ "type": "object"
1932
+ }
1933
+ }
1934
+ },
1935
+ "additionalProperties": true
1936
+ },
1937
+ "slo": {
1938
+ "type": "object",
1939
+ "description": "Service level objectives",
1940
+ "properties": {
1941
+ "availability": {
1942
+ "type": "number"
1943
+ },
1944
+ "latency_p95_ms": {
1945
+ "type": "integer"
1946
+ },
1947
+ "error_budget": {
1948
+ "type": "number"
1949
+ }
1950
+ },
1951
+ "additionalProperties": true
1952
+ }
1953
+ },
1954
+ "additionalProperties": true
1955
+ },
1956
+ "Safety": {
1957
+ "type": "object",
1958
+ "description": "Agent safety and security configuration",
1959
+ "properties": {
1960
+ "content_filtering": {
1961
+ "type": "object",
1962
+ "description": "Content filtering for inputs/outputs",
1963
+ "properties": {
1964
+ "enabled": {
1965
+ "type": "boolean"
1966
+ },
1967
+ "categories": {
1968
+ "type": "array",
1969
+ "items": {
1970
+ "type": "string"
1971
+ },
1972
+ "description": "Categories to filter (e.g., pii, credentials)"
1973
+ },
1974
+ "threshold": {
1975
+ "type": "string",
1976
+ "enum": [
1977
+ "low",
1978
+ "medium",
1979
+ "high"
1980
+ ],
1981
+ "description": "Filtering sensitivity"
1982
+ },
1983
+ "action": {
1984
+ "type": "string",
1985
+ "enum": [
1986
+ "warn",
1987
+ "block",
1988
+ "redact"
1989
+ ],
1990
+ "description": "Action when content matches"
1991
+ }
1992
+ },
1993
+ "additionalProperties": true
1994
+ },
1995
+ "pii_detection": {
1996
+ "type": "object",
1997
+ "description": "PII detection and handling",
1998
+ "properties": {
1999
+ "enabled": {
2000
+ "type": "boolean"
2001
+ },
2002
+ "types": {
2003
+ "type": "array",
2004
+ "items": {
2005
+ "type": "string"
2006
+ },
2007
+ "description": "PII types to detect (email, phone, ssn, api_key, etc.)"
2008
+ },
2009
+ "action": {
2010
+ "type": "string",
2011
+ "enum": [
2012
+ "warn",
2013
+ "block",
2014
+ "redact"
2015
+ ],
2016
+ "description": "Action when PII detected"
2017
+ }
2018
+ },
2019
+ "additionalProperties": true
2020
+ },
2021
+ "rate_limiting": {
2022
+ "type": "object",
2023
+ "description": "Rate limiting configuration",
2024
+ "properties": {
2025
+ "enabled": {
2026
+ "type": "boolean"
2027
+ },
2028
+ "requests_per_minute": {
2029
+ "type": "integer"
2030
+ },
2031
+ "burst_limit": {
2032
+ "type": "integer"
2033
+ }
2034
+ },
2035
+ "additionalProperties": true
2036
+ },
2037
+ "guardrails": {
2038
+ "type": "object",
2039
+ "description": "Guardrails for agent behavior",
2040
+ "properties": {
2041
+ "enabled": {
2042
+ "type": "boolean"
2043
+ },
2044
+ "policies": {
2045
+ "type": "array",
2046
+ "items": {
2047
+ "type": "object"
2048
+ },
2049
+ "description": "Policy definitions"
2050
+ },
2051
+ "max_tool_calls": {
2052
+ "type": "integer",
2053
+ "description": "Maximum tool calls per turn"
2054
+ },
2055
+ "max_execution_time_seconds": {
2056
+ "type": "integer",
2057
+ "description": "Maximum execution time"
2058
+ }
2059
+ },
2060
+ "additionalProperties": true
2061
+ },
2062
+ "human_in_loop": {
2063
+ "type": "object",
2064
+ "description": "Human-in-the-loop configuration",
2065
+ "properties": {
2066
+ "enabled": {
2067
+ "type": "boolean"
2068
+ },
2069
+ "triggers": {
2070
+ "type": "array",
2071
+ "items": {
2072
+ "type": "string"
2073
+ },
2074
+ "description": "Conditions that require human approval"
2075
+ }
2076
+ },
2077
+ "additionalProperties": true
2078
+ }
2079
+ },
2080
+ "additionalProperties": true
2081
+ },
2082
+ "MCPExtension": {
2083
+ "type": "object",
2084
+ "description": "Model Context Protocol (MCP) extension for agents - supports tools, resources, and prompts",
2085
+ "properties": {
2086
+ "enabled": {
2087
+ "type": "boolean",
2088
+ "default": true,
2089
+ "description": "Whether MCP is enabled for this agent"
2090
+ },
2091
+ "server_type": {
2092
+ "type": "string",
2093
+ "enum": [
2094
+ "stdio",
2095
+ "http",
2096
+ "sse"
2097
+ ],
2098
+ "description": "MCP server transport mechanism"
2099
+ },
2100
+ "server_name": {
2101
+ "type": "string",
2102
+ "description": "Name of the MCP server"
2103
+ },
2104
+ "tools": {
2105
+ "type": "array",
2106
+ "description": "MCP tools (functions/actions the agent can invoke)",
2107
+ "items": {
2108
+ "$ref": "#/definitions/MCPTool"
2109
+ }
2110
+ },
2111
+ "resources": {
2112
+ "type": "array",
2113
+ "description": "MCP resources (read-only context/data sources)",
2114
+ "items": {
2115
+ "$ref": "#/definitions/MCPResource"
2116
+ }
2117
+ },
2118
+ "prompts": {
2119
+ "type": "array",
2120
+ "description": "MCP prompts (templated workflows and interactions)",
2121
+ "items": {
2122
+ "$ref": "#/definitions/MCPPrompt"
2123
+ }
2124
+ }
2125
+ },
2126
+ "additionalProperties": false
2127
+ },
2128
+ "MCPTool": {
2129
+ "type": "object",
2130
+ "description": "MCP tool definition - actions/functions the agent can invoke",
2131
+ "required": [
2132
+ "name"
2133
+ ],
2134
+ "properties": {
2135
+ "name": {
2136
+ "type": "string",
2137
+ "description": "Unique tool name"
2138
+ },
2139
+ "description": {
2140
+ "type": "string",
2141
+ "description": "Human-readable description of what the tool does"
2142
+ },
2143
+ "input_schema": {
2144
+ "$ref": "#/definitions/JSONSchemaDefinition",
2145
+ "description": "JSON Schema for tool input parameters (snake_case)"
2146
+ },
2147
+ "inputSchema": {
2148
+ "$ref": "#/definitions/JSONSchemaDefinition",
2149
+ "description": "JSON Schema for tool input parameters (camelCase - MCP SDK convention)"
2150
+ }
2151
+ },
2152
+ "additionalProperties": true
2153
+ },
2154
+ "MCPResource": {
2155
+ "type": "object",
2156
+ "description": "MCP resource definition - read-only context and data sources",
2157
+ "required": [
2158
+ "uri",
2159
+ "name"
2160
+ ],
2161
+ "properties": {
2162
+ "uri": {
2163
+ "type": "string",
2164
+ "format": "uri",
2165
+ "description": "Unique resource identifier (URI)"
2166
+ },
2167
+ "name": {
2168
+ "type": "string",
2169
+ "description": "Human-readable resource name"
2170
+ },
2171
+ "description": {
2172
+ "type": "string",
2173
+ "description": "Description of the resource and its contents"
2174
+ },
2175
+ "mimeType": {
2176
+ "type": "string",
2177
+ "description": "MIME type of the resource content",
2178
+ "examples": [
2179
+ "text/plain",
2180
+ "application/json",
2181
+ "text/markdown",
2182
+ "image/png"
2183
+ ]
2184
+ },
2185
+ "metadata": {
2186
+ "type": "object",
2187
+ "description": "Additional resource metadata",
2188
+ "additionalProperties": true
2189
+ }
2190
+ },
2191
+ "additionalProperties": false
2192
+ },
2193
+ "MCPPrompt": {
2194
+ "type": "object",
2195
+ "description": "MCP prompt definition - templated messages and workflows",
2196
+ "required": [
2197
+ "name"
2198
+ ],
2199
+ "properties": {
2200
+ "name": {
2201
+ "type": "string",
2202
+ "description": "Unique prompt identifier"
2203
+ },
2204
+ "description": {
2205
+ "type": "string",
2206
+ "description": "Human-readable description of the prompt purpose"
2207
+ },
2208
+ "arguments": {
2209
+ "type": "array",
2210
+ "description": "Template arguments that can be substituted",
2211
+ "items": {
2212
+ "$ref": "#/definitions/MCPPromptArgument"
2213
+ }
2214
+ }
2215
+ },
2216
+ "additionalProperties": false
2217
+ },
2218
+ "MCPPromptArgument": {
2219
+ "type": "object",
2220
+ "description": "Argument definition for MCP prompts",
2221
+ "required": [
2222
+ "name"
2223
+ ],
2224
+ "properties": {
2225
+ "name": {
2226
+ "type": "string",
2227
+ "description": "Argument name"
2228
+ },
2229
+ "description": {
2230
+ "type": "string",
2231
+ "description": "Description of what this argument represents"
2232
+ },
2233
+ "required": {
2234
+ "type": "boolean",
2235
+ "default": false,
2236
+ "description": "Whether this argument is required"
2237
+ }
2238
+ },
2239
+ "additionalProperties": false
2240
+ },
2241
+ "MessagingExtension": {
2242
+ "type": "object",
2243
+ "description": "Agent-to-agent messaging configuration (v0.3.0+)",
2244
+ "properties": {
2245
+ "publishes": {
2246
+ "type": "array",
2247
+ "description": "Channels this agent publishes to",
2248
+ "items": {
2249
+ "$ref": "#/definitions/PublishedChannel"
2250
+ }
2251
+ },
2252
+ "subscribes": {
2253
+ "type": "array",
2254
+ "description": "Channels this agent subscribes to",
2255
+ "items": {
2256
+ "$ref": "#/definitions/Subscription"
2257
+ }
2258
+ },
2259
+ "commands": {
2260
+ "type": "array",
2261
+ "description": "Commands this agent accepts (RPC-style operations)",
2262
+ "items": {
2263
+ "$ref": "#/definitions/Command"
2264
+ }
2265
+ },
2266
+ "reliability": {
2267
+ "$ref": "#/definitions/ReliabilityConfig",
2268
+ "description": "Message reliability configuration"
2269
+ }
2270
+ },
2271
+ "additionalProperties": false
2272
+ },
2273
+ "PublishedChannel": {
2274
+ "type": "object",
2275
+ "description": "Channel that an agent publishes messages to",
2276
+ "required": [
2277
+ "channel",
2278
+ "schema"
2279
+ ],
2280
+ "properties": {
2281
+ "channel": {
2282
+ "type": "string",
2283
+ "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$",
2284
+ "description": "Channel name (e.g., 'security.vulnerabilities')"
2285
+ },
2286
+ "description": {
2287
+ "type": "string",
2288
+ "description": "Human-readable description of the channel"
2289
+ },
2290
+ "schema": {
2291
+ "type": "object",
2292
+ "description": "JSON Schema for published messages",
2293
+ "additionalProperties": true
2294
+ },
2295
+ "examples": {
2296
+ "type": "array",
2297
+ "description": "Example messages",
2298
+ "items": {
2299
+ "type": "object",
2300
+ "additionalProperties": true
2301
+ }
2302
+ },
2303
+ "contentType": {
2304
+ "type": "string",
2305
+ "description": "Content type of messages",
2306
+ "default": "application/json"
2307
+ },
2308
+ "tags": {
2309
+ "type": "array",
2310
+ "description": "Tags for categorization",
2311
+ "items": {
2312
+ "type": "string"
2313
+ }
2314
+ }
2315
+ },
2316
+ "additionalProperties": false
2317
+ },
2318
+ "Subscription": {
2319
+ "type": "object",
2320
+ "description": "Channel subscription configuration",
2321
+ "required": [
2322
+ "channel"
2323
+ ],
2324
+ "properties": {
2325
+ "channel": {
2326
+ "type": "string",
2327
+ "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$",
2328
+ "description": "Channel name to subscribe to"
2329
+ },
2330
+ "description": {
2331
+ "type": "string",
2332
+ "description": "Human-readable description"
2333
+ },
2334
+ "schema": {
2335
+ "type": "object",
2336
+ "description": "Expected message schema",
2337
+ "additionalProperties": true
2338
+ },
2339
+ "handler": {
2340
+ "type": "string",
2341
+ "description": "Handler function name"
2342
+ },
2343
+ "filter": {
2344
+ "type": "object",
2345
+ "description": "Message filter configuration - supports JSONPath-style filtering",
2346
+ "properties": {
2347
+ "expression": {
2348
+ "type": "string",
2349
+ "description": "Filter expression"
2350
+ },
2351
+ "fields": {
2352
+ "type": "object",
2353
+ "description": "Field-based filters",
2354
+ "additionalProperties": true
2355
+ }
2356
+ },
2357
+ "additionalProperties": true
2358
+ },
2359
+ "priority": {
2360
+ "type": "string",
2361
+ "enum": [
2362
+ "low",
2363
+ "normal",
2364
+ "high",
2365
+ "critical"
2366
+ ],
2367
+ "default": "normal",
2368
+ "description": "Message priority"
2369
+ },
2370
+ "maxConcurrency": {
2371
+ "type": "integer",
2372
+ "minimum": 1,
2373
+ "description": "Maximum concurrent message processing"
2374
+ }
2375
+ },
2376
+ "additionalProperties": false
2377
+ },
2378
+ "Command": {
2379
+ "type": "object",
2380
+ "description": "RPC-style command that an agent accepts",
2381
+ "required": [
2382
+ "name"
2383
+ ],
2384
+ "properties": {
2385
+ "name": {
2386
+ "type": "string",
2387
+ "pattern": "^[a-z][a-z0-9_]*$",
2388
+ "description": "Command name (snake_case)"
2389
+ },
2390
+ "description": {
2391
+ "type": "string",
2392
+ "description": "Human-readable description"
2393
+ },
2394
+ "inputSchema": {
2395
+ "type": "object",
2396
+ "description": "JSON Schema for command input (camelCase)",
2397
+ "additionalProperties": true
2398
+ },
2399
+ "input_schema": {
2400
+ "type": "object",
2401
+ "description": "JSON Schema for command input (snake_case alias)",
2402
+ "additionalProperties": true
2403
+ },
2404
+ "outputSchema": {
2405
+ "type": "object",
2406
+ "description": "JSON Schema for command output (camelCase)",
2407
+ "additionalProperties": true
2408
+ },
2409
+ "output_schema": {
2410
+ "type": "object",
2411
+ "description": "JSON Schema for command output (snake_case alias)",
2412
+ "additionalProperties": true
2413
+ },
2414
+ "timeoutSeconds": {
2415
+ "type": "integer",
2416
+ "minimum": 1,
2417
+ "maximum": 3600,
2418
+ "description": "Command execution timeout in seconds"
2419
+ },
2420
+ "timeout_seconds": {
2421
+ "type": "integer",
2422
+ "minimum": 1,
2423
+ "maximum": 3600,
2424
+ "description": "Command execution timeout (snake_case alias)"
2425
+ },
2426
+ "idempotent": {
2427
+ "type": "boolean",
2428
+ "default": false,
2429
+ "description": "Whether the command is idempotent"
2430
+ },
2431
+ "async": {
2432
+ "type": "boolean",
2433
+ "default": false,
2434
+ "description": "Whether the command executes asynchronously"
2435
+ }
2436
+ },
2437
+ "additionalProperties": true
2438
+ },
2439
+ "ReliabilityConfig": {
2440
+ "type": "object",
2441
+ "description": "Message delivery reliability configuration",
2442
+ "properties": {
2443
+ "deliveryGuarantee": {
2444
+ "type": "string",
2445
+ "enum": [
2446
+ "at-least-once",
2447
+ "at-most-once",
2448
+ "exactly-once",
2449
+ "at_least_once",
2450
+ "at_most_once",
2451
+ "exactly_once"
2452
+ ],
2453
+ "default": "at-least-once",
2454
+ "description": "Message delivery guarantee"
2455
+ },
2456
+ "delivery": {
2457
+ "type": "string",
2458
+ "enum": [
2459
+ "at-least-once",
2460
+ "at-most-once",
2461
+ "exactly-once",
2462
+ "at_least_once",
2463
+ "at_most_once",
2464
+ "exactly_once"
2465
+ ],
2466
+ "description": "Message delivery guarantee (alias for deliveryGuarantee)"
2467
+ },
2468
+ "retry": {
2469
+ "type": "object",
2470
+ "description": "Retry configuration",
2471
+ "properties": {
2472
+ "maxAttempts": {
2473
+ "type": "integer",
2474
+ "minimum": 0,
2475
+ "maximum": 10,
2476
+ "default": 3,
2477
+ "description": "Maximum retry attempts"
2478
+ },
2479
+ "backoff": {
2480
+ "type": "object",
2481
+ "description": "Backoff strategy configuration",
2482
+ "properties": {
2483
+ "strategy": {
2484
+ "type": "string",
2485
+ "enum": [
2486
+ "exponential",
2487
+ "linear",
2488
+ "constant"
2489
+ ],
2490
+ "default": "exponential",
2491
+ "description": "Backoff strategy"
2492
+ },
2493
+ "initialDelayMs": {
2494
+ "type": "integer",
2495
+ "minimum": 0,
2496
+ "default": 1000,
2497
+ "description": "Initial delay in milliseconds"
2498
+ },
2499
+ "maxDelayMs": {
2500
+ "type": "integer",
2501
+ "minimum": 0,
2502
+ "default": 60000,
2503
+ "description": "Maximum delay in milliseconds"
2504
+ },
2505
+ "multiplier": {
2506
+ "type": "number",
2507
+ "minimum": 1,
2508
+ "default": 2,
2509
+ "description": "Backoff multiplier"
2510
+ }
2511
+ },
2512
+ "additionalProperties": false
2513
+ }
2514
+ },
2515
+ "additionalProperties": false
2516
+ },
2517
+ "dlq": {
2518
+ "type": "object",
2519
+ "description": "Dead letter queue configuration",
2520
+ "properties": {
2521
+ "enabled": {
2522
+ "type": "boolean",
2523
+ "default": false,
2524
+ "description": "Enable dead letter queue"
2525
+ },
2526
+ "channel": {
2527
+ "type": "string",
2528
+ "description": "Dead letter queue channel name"
2529
+ },
2530
+ "retentionDays": {
2531
+ "type": "integer",
2532
+ "minimum": 1,
2533
+ "maximum": 90,
2534
+ "default": 7,
2535
+ "description": "Message retention in days"
2536
+ }
2537
+ },
2538
+ "additionalProperties": false
2539
+ },
2540
+ "ordering": {
2541
+ "type": "object",
2542
+ "description": "Message ordering configuration",
2543
+ "properties": {
2544
+ "guarantee": {
2545
+ "type": "string",
2546
+ "enum": [
2547
+ "per-source",
2548
+ "global"
2549
+ ],
2550
+ "default": "per-source",
2551
+ "description": "Ordering guarantee level"
2552
+ },
2553
+ "mode": {
2554
+ "type": "string",
2555
+ "enum": [
2556
+ "global",
2557
+ "per_channel",
2558
+ "per-channel",
2559
+ "none"
2560
+ ],
2561
+ "description": "Ordering mode (alias for guarantee)"
2562
+ },
2563
+ "timeoutSeconds": {
2564
+ "type": "integer",
2565
+ "minimum": 1,
2566
+ "description": "Ordering timeout in seconds"
2567
+ }
2568
+ },
2569
+ "additionalProperties": true
2570
+ },
2571
+ "acknowledgment": {
2572
+ "type": "object",
2573
+ "description": "Message acknowledgment configuration",
2574
+ "properties": {
2575
+ "mode": {
2576
+ "type": "string",
2577
+ "enum": [
2578
+ "manual",
2579
+ "automatic"
2580
+ ],
2581
+ "default": "automatic",
2582
+ "description": "Acknowledgment mode"
2583
+ },
2584
+ "timeoutSeconds": {
2585
+ "type": "integer",
2586
+ "minimum": 1,
2587
+ "default": 30,
2588
+ "description": "Acknowledgment timeout in seconds"
2589
+ }
2590
+ },
2591
+ "additionalProperties": false
2592
+ }
2593
+ },
2594
+ "additionalProperties": true
2595
+ },
2596
+ "ExecutionProfiles": {
2597
+ "type": "object",
2598
+ "description": "Execution profile presets for different use cases",
2599
+ "properties": {
2600
+ "default": {
2601
+ "type": "string",
2602
+ "description": "Default profile name"
2603
+ },
2604
+ "profiles": {
2605
+ "type": "object",
2606
+ "additionalProperties": {
2607
+ "$ref": "#/definitions/ExecutionProfileConfig"
2608
+ }
2609
+ }
2610
+ }
2611
+ },
2612
+ "ExecutionProfileConfig": {
2613
+ "type": "object",
2614
+ "description": "Individual execution profile configuration",
2615
+ "properties": {
2616
+ "maxTokens": {
2617
+ "type": "integer",
2618
+ "minimum": 1,
2619
+ "description": "Maximum tokens for this profile"
2620
+ },
2621
+ "temperature": {
2622
+ "type": "number",
2623
+ "minimum": 0,
2624
+ "maximum": 2,
2625
+ "description": "Sampling temperature"
2626
+ },
2627
+ "reasoning_enabled": {
2628
+ "type": "boolean",
2629
+ "default": false,
2630
+ "description": "Enable extended thinking/reasoning"
2631
+ },
2632
+ "validation_required": {
2633
+ "type": "boolean",
2634
+ "default": false,
2635
+ "description": "Require output validation"
2636
+ },
2637
+ "audit_log": {
2638
+ "type": "boolean",
2639
+ "default": false,
2640
+ "description": "Enable detailed audit logging"
2641
+ },
2642
+ "description": {
2643
+ "type": "string",
2644
+ "description": "Profile description"
2645
+ }
2646
+ },
2647
+ "additionalProperties": false
2648
+ },
2649
+ "FunctionDefinition": {
2650
+ "type": "object",
2651
+ "description": "Function definition in A2A/OpenAI format",
2652
+ "required": [
2653
+ "name",
2654
+ "description",
2655
+ "parameters"
2656
+ ],
2657
+ "properties": {
2658
+ "name": {
2659
+ "type": "string",
2660
+ "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
2661
+ "description": "Function name"
2662
+ },
2663
+ "description": {
2664
+ "type": "string",
2665
+ "description": "What the function does"
2666
+ },
2667
+ "parameters": {
2668
+ "$ref": "#/definitions/JSONSchemaDefinition",
2669
+ "description": "JSON Schema for function parameters"
2670
+ },
2671
+ "returns": {
2672
+ "$ref": "#/definitions/JSONSchemaDefinition",
2673
+ "description": "JSON Schema for return value"
2674
+ },
2675
+ "strict": {
2676
+ "type": "boolean",
2677
+ "default": true,
2678
+ "description": "Enforce strict schema validation"
2679
+ }
2680
+ },
2681
+ "additionalProperties": false
2682
+ },
2683
+ "SchedulingConfig": {
2684
+ "type": "object",
2685
+ "description": "Agent scheduling configuration",
2686
+ "properties": {
2687
+ "strategy": {
2688
+ "type": "string",
2689
+ "enum": [
2690
+ "fair",
2691
+ "priority",
2692
+ "deadline",
2693
+ "cost-optimized"
2694
+ ],
2695
+ "default": "fair",
2696
+ "description": "Scheduling strategy"
2697
+ },
2698
+ "priority": {
2699
+ "type": "string",
2700
+ "enum": [
2701
+ "critical",
2702
+ "high",
2703
+ "normal",
2704
+ "low",
2705
+ "background"
2706
+ ],
2707
+ "default": "normal",
2708
+ "description": "Execution priority"
2709
+ },
2710
+ "max_concurrent": {
2711
+ "type": "integer",
2712
+ "minimum": 1,
2713
+ "default": 10,
2714
+ "description": "Maximum concurrent executions"
2715
+ },
2716
+ "timeout_seconds": {
2717
+ "type": "integer",
2718
+ "minimum": 1,
2719
+ "default": 300,
2720
+ "description": "Execution timeout in seconds"
2721
+ }
2722
+ },
2723
+ "additionalProperties": false
2724
+ },
2725
+ "ResourceLimits": {
2726
+ "type": "object",
2727
+ "description": "Compute resource constraints (Kubernetes-style)",
2728
+ "properties": {
2729
+ "memory_mb": {
2730
+ "type": "integer",
2731
+ "minimum": 64,
2732
+ "description": "Memory limit in megabytes"
2733
+ },
2734
+ "cpu_millicores": {
2735
+ "type": "integer",
2736
+ "minimum": 100,
2737
+ "description": "CPU limit in millicores (1000 = 1 CPU)"
2738
+ },
2739
+ "gpu_required": {
2740
+ "type": "boolean",
2741
+ "default": false,
2742
+ "description": "Requires GPU acceleration"
2743
+ },
2744
+ "gpu_type": {
2745
+ "type": "string",
2746
+ "description": "Required GPU type (e.g., nvidia-a100, nvidia-h100)"
2747
+ }
2748
+ },
2749
+ "additionalProperties": false
2750
+ },
2751
+ "RuntimeExtension": {
2752
+ "type": "object",
2753
+ "description": "External runtime extension (A2A compatible)",
2754
+ "required": [
2755
+ "type",
2756
+ "name"
2757
+ ],
2758
+ "properties": {
2759
+ "type": {
2760
+ "type": "string",
2761
+ "enum": [
2762
+ "http",
2763
+ "grpc",
2764
+ "mcp",
2765
+ "websocket",
2766
+ "kafka",
2767
+ "pubsub"
2768
+ ],
2769
+ "description": "Extension protocol type"
2770
+ },
2771
+ "name": {
2772
+ "type": "string",
2773
+ "description": "Extension name"
2774
+ },
2775
+ "endpoint": {
2776
+ "type": "string",
2777
+ "description": "Extension endpoint URL"
2778
+ },
2779
+ "credentials_ref": {
2780
+ "type": "string",
2781
+ "description": "Reference to credentials for authentication"
2782
+ }
2783
+ },
2784
+ "additionalProperties": false
2785
+ }
2786
+ }
2787
+ }