@bluefly/openstandardagents 0.4.3 → 0.4.5

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 (1526) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +770 -0
  3. package/README.md +497 -360
  4. package/bin/ossa +3 -0
  5. package/dist/.version.json +7 -0
  6. package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +5 -0
  7. package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts.map +1 -0
  8. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +267 -0
  9. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js.map +1 -0
  10. package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +5 -0
  11. package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts.map +1 -0
  12. package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +202 -0
  13. package/dist/adapters/a2a/__tests__/mcp-transport.spec.js.map +1 -0
  14. package/dist/adapters/a2a/a2a-protocol.d.ts +398 -0
  15. package/dist/adapters/a2a/a2a-protocol.d.ts.map +1 -0
  16. package/dist/adapters/a2a/a2a-protocol.js +257 -0
  17. package/dist/adapters/a2a/a2a-protocol.js.map +1 -0
  18. package/dist/adapters/a2a/a2a-tool.d.ts +110 -0
  19. package/dist/adapters/a2a/a2a-tool.d.ts.map +1 -0
  20. package/dist/adapters/a2a/a2a-tool.js +349 -0
  21. package/dist/adapters/a2a/a2a-tool.js.map +1 -0
  22. package/dist/adapters/a2a/agent-mesh.d.ts +195 -0
  23. package/dist/adapters/a2a/agent-mesh.d.ts.map +1 -0
  24. package/dist/adapters/a2a/agent-mesh.js +347 -0
  25. package/dist/adapters/a2a/agent-mesh.js.map +1 -0
  26. package/dist/adapters/a2a/delegation.d.ts +232 -0
  27. package/dist/adapters/a2a/delegation.d.ts.map +1 -0
  28. package/dist/adapters/a2a/delegation.js +236 -0
  29. package/dist/adapters/a2a/delegation.js.map +1 -0
  30. package/dist/adapters/a2a/index.d.ts +18 -0
  31. package/dist/adapters/a2a/index.d.ts.map +1 -0
  32. package/dist/adapters/a2a/index.js +24 -0
  33. package/dist/adapters/a2a/index.js.map +1 -0
  34. package/dist/adapters/a2a/mcp-integration.d.ts +258 -0
  35. package/dist/adapters/a2a/mcp-integration.d.ts.map +1 -0
  36. package/dist/adapters/a2a/mcp-integration.js +328 -0
  37. package/dist/adapters/a2a/mcp-integration.js.map +1 -0
  38. package/dist/adapters/a2a/mcp-transport.d.ts +118 -0
  39. package/dist/adapters/a2a/mcp-transport.d.ts.map +1 -0
  40. package/dist/adapters/a2a/mcp-transport.js +287 -0
  41. package/dist/adapters/a2a/mcp-transport.js.map +1 -0
  42. package/dist/adapters/a2a/swarm-orchestration.d.ts +278 -0
  43. package/dist/adapters/a2a/swarm-orchestration.d.ts.map +1 -0
  44. package/dist/adapters/a2a/swarm-orchestration.js +322 -0
  45. package/dist/adapters/a2a/swarm-orchestration.js.map +1 -0
  46. package/dist/adapters/agent-skills/exporter.d.ts +98 -0
  47. package/dist/adapters/agent-skills/exporter.d.ts.map +1 -0
  48. package/dist/adapters/agent-skills/exporter.js +460 -0
  49. package/dist/adapters/agent-skills/exporter.js.map +1 -0
  50. package/dist/adapters/agent-skills/index.d.ts +7 -0
  51. package/dist/adapters/agent-skills/index.d.ts.map +1 -0
  52. package/dist/adapters/agent-skills/index.js +6 -0
  53. package/dist/adapters/agent-skills/index.js.map +1 -0
  54. package/dist/adapters/anthropic/claude-optimizations.d.ts +44 -0
  55. package/dist/adapters/anthropic/claude-optimizations.d.ts.map +1 -0
  56. package/dist/adapters/anthropic/claude-optimizations.js +187 -0
  57. package/dist/adapters/anthropic/claude-optimizations.js.map +1 -0
  58. package/dist/adapters/anthropic/client.d.ts +33 -121
  59. package/dist/adapters/anthropic/client.d.ts.map +1 -1
  60. package/dist/adapters/anthropic/client.js +67 -334
  61. package/dist/adapters/anthropic/client.js.map +1 -1
  62. package/dist/adapters/anthropic/index.d.ts +4 -25
  63. package/dist/adapters/anthropic/index.d.ts.map +1 -1
  64. package/dist/adapters/anthropic/index.js +5 -25
  65. package/dist/adapters/anthropic/index.js.map +1 -1
  66. package/dist/adapters/anthropic/messages.d.ts +3 -3
  67. package/dist/adapters/anthropic/messages.d.ts.map +1 -1
  68. package/dist/adapters/anthropic/messages.js +60 -99
  69. package/dist/adapters/anthropic/messages.js.map +1 -1
  70. package/dist/adapters/anthropic/tools.d.ts +0 -15
  71. package/dist/adapters/anthropic/tools.d.ts.map +1 -1
  72. package/dist/adapters/anthropic/tools.js +20 -84
  73. package/dist/adapters/anthropic/tools.js.map +1 -1
  74. package/dist/adapters/base/adapter.interface.d.ts +67 -2
  75. package/dist/adapters/base/adapter.interface.d.ts.map +1 -1
  76. package/dist/adapters/base/adapter.interface.js +41 -0
  77. package/dist/adapters/base/adapter.interface.js.map +1 -1
  78. package/dist/adapters/base/base-exporter.d.ts +108 -0
  79. package/dist/adapters/base/base-exporter.d.ts.map +1 -0
  80. package/dist/adapters/base/base-exporter.js +165 -0
  81. package/dist/adapters/base/base-exporter.js.map +1 -0
  82. package/dist/adapters/base/common-file-generator.d.ts +217 -0
  83. package/dist/adapters/base/common-file-generator.d.ts.map +1 -0
  84. package/dist/adapters/base/common-file-generator.js +682 -0
  85. package/dist/adapters/base/common-file-generator.js.map +1 -0
  86. package/dist/adapters/base/index.d.ts +23 -0
  87. package/dist/adapters/base/index.d.ts.map +1 -0
  88. package/dist/adapters/base/index.js +29 -0
  89. package/dist/adapters/base/index.js.map +1 -0
  90. package/dist/adapters/base/manifest-validator.d.ts +84 -0
  91. package/dist/adapters/base/manifest-validator.d.ts.map +1 -0
  92. package/dist/adapters/base/manifest-validator.js +266 -0
  93. package/dist/adapters/base/manifest-validator.js.map +1 -0
  94. package/dist/adapters/base/perfect-agent-utils.d.ts +29 -0
  95. package/dist/adapters/base/perfect-agent-utils.d.ts.map +1 -0
  96. package/dist/adapters/base/perfect-agent-utils.js +234 -0
  97. package/dist/adapters/base/perfect-agent-utils.js.map +1 -0
  98. package/dist/adapters/base/template-engine.d.ts +52 -0
  99. package/dist/adapters/base/template-engine.d.ts.map +1 -0
  100. package/dist/adapters/base/template-engine.js +157 -0
  101. package/dist/adapters/base/template-engine.js.map +1 -0
  102. package/dist/adapters/base/tool-params.d.ts +42 -0
  103. package/dist/adapters/base/tool-params.d.ts.map +1 -0
  104. package/dist/adapters/base/tool-params.js +123 -0
  105. package/dist/adapters/base/tool-params.js.map +1 -0
  106. package/dist/adapters/claude-code/adapter.d.ts +64 -0
  107. package/dist/adapters/claude-code/adapter.d.ts.map +1 -0
  108. package/dist/adapters/claude-code/adapter.js +336 -0
  109. package/dist/adapters/claude-code/adapter.js.map +1 -0
  110. package/dist/adapters/claude-code/types.d.ts +154 -0
  111. package/dist/adapters/claude-code/types.d.ts.map +1 -0
  112. package/dist/adapters/claude-code/types.js +6 -0
  113. package/dist/adapters/claude-code/types.js.map +1 -0
  114. package/dist/adapters/crewai/adapter.d.ts +54 -1
  115. package/dist/adapters/crewai/adapter.d.ts.map +1 -1
  116. package/dist/adapters/crewai/adapter.js +1494 -41
  117. package/dist/adapters/crewai/adapter.js.map +1 -1
  118. package/dist/adapters/crewai/converter.d.ts +8 -0
  119. package/dist/adapters/crewai/converter.d.ts.map +1 -1
  120. package/dist/adapters/crewai/converter.js +56 -25
  121. package/dist/adapters/crewai/converter.js.map +1 -1
  122. package/dist/adapters/cursor/adapter.d.ts +75 -0
  123. package/dist/adapters/cursor/adapter.d.ts.map +1 -0
  124. package/dist/adapters/cursor/adapter.js +474 -0
  125. package/dist/adapters/cursor/adapter.js.map +1 -0
  126. package/dist/adapters/cursor/types.d.ts +221 -0
  127. package/dist/adapters/cursor/types.d.ts.map +1 -0
  128. package/dist/adapters/cursor/types.js +6 -0
  129. package/dist/adapters/cursor/types.js.map +1 -0
  130. package/dist/adapters/docker/docker-exporter.d.ts +38 -0
  131. package/dist/adapters/docker/docker-exporter.d.ts.map +1 -0
  132. package/dist/adapters/docker/docker-exporter.js +648 -0
  133. package/dist/adapters/docker/docker-exporter.js.map +1 -0
  134. package/dist/adapters/docker/generators.d.ts +73 -7
  135. package/dist/adapters/docker/generators.d.ts.map +1 -1
  136. package/dist/adapters/docker/generators.js +733 -43
  137. package/dist/adapters/docker/generators.js.map +1 -1
  138. package/dist/adapters/docker/index.d.ts +4 -3
  139. package/dist/adapters/docker/index.d.ts.map +1 -1
  140. package/dist/adapters/docker/index.js +3 -2
  141. package/dist/adapters/docker/index.js.map +1 -1
  142. package/dist/adapters/docker/types.d.ts +70 -0
  143. package/dist/adapters/docker/types.d.ts.map +1 -1
  144. package/dist/adapters/drupal/adapter.d.ts +1 -0
  145. package/dist/adapters/drupal/adapter.d.ts.map +1 -1
  146. package/dist/adapters/drupal/adapter.js +5 -2
  147. package/dist/adapters/drupal/adapter.js.map +1 -1
  148. package/dist/adapters/drupal/generator.d.ts +1 -0
  149. package/dist/adapters/drupal/generator.d.ts.map +1 -1
  150. package/dist/adapters/drupal/generator.js +17 -9
  151. package/dist/adapters/drupal/generator.js.map +1 -1
  152. package/dist/adapters/drupal/index.d.ts +2 -1
  153. package/dist/adapters/drupal/index.d.ts.map +1 -1
  154. package/dist/adapters/drupal/index.js +3 -1
  155. package/dist/adapters/drupal/index.js.map +1 -1
  156. package/dist/adapters/drupal/manifest-exporter.d.ts +87 -0
  157. package/dist/adapters/drupal/manifest-exporter.d.ts.map +1 -0
  158. package/dist/adapters/drupal/manifest-exporter.js +406 -0
  159. package/dist/adapters/drupal/manifest-exporter.js.map +1 -0
  160. package/dist/adapters/gitlab/agent-generator.d.ts +103 -0
  161. package/dist/adapters/gitlab/agent-generator.d.ts.map +1 -0
  162. package/dist/adapters/gitlab/agent-generator.js +898 -0
  163. package/dist/adapters/gitlab/agent-generator.js.map +1 -0
  164. package/dist/adapters/gitlab/converter.d.ts +12 -2
  165. package/dist/adapters/gitlab/converter.d.ts.map +1 -1
  166. package/dist/adapters/gitlab/converter.js +19 -2
  167. package/dist/adapters/gitlab/converter.js.map +1 -1
  168. package/dist/adapters/gitlab/external-agent-generator.d.ts +70 -0
  169. package/dist/adapters/gitlab/external-agent-generator.d.ts.map +1 -0
  170. package/dist/adapters/gitlab/external-agent-generator.js +347 -0
  171. package/dist/adapters/gitlab/external-agent-generator.js.map +1 -0
  172. package/dist/adapters/gitlab/flow-generator.d.ts +73 -0
  173. package/dist/adapters/gitlab/flow-generator.d.ts.map +1 -0
  174. package/dist/adapters/gitlab/flow-generator.js +710 -0
  175. package/dist/adapters/gitlab/flow-generator.js.map +1 -0
  176. package/dist/adapters/gitlab/index.d.ts +10 -2
  177. package/dist/adapters/gitlab/index.d.ts.map +1 -1
  178. package/dist/adapters/gitlab/index.js +6 -1
  179. package/dist/adapters/gitlab/index.js.map +1 -1
  180. package/dist/adapters/gitlab/package-generator.d.ts +180 -0
  181. package/dist/adapters/gitlab/package-generator.d.ts.map +1 -0
  182. package/dist/adapters/gitlab/package-generator.js +2401 -0
  183. package/dist/adapters/gitlab/package-generator.js.map +1 -0
  184. package/dist/adapters/gitlab/router-generator.d.ts +113 -0
  185. package/dist/adapters/gitlab/router-generator.d.ts.map +1 -0
  186. package/dist/adapters/gitlab/router-generator.js +545 -0
  187. package/dist/adapters/gitlab/router-generator.js.map +1 -0
  188. package/dist/adapters/gitlab/trigger-generator.d.ts +154 -0
  189. package/dist/adapters/gitlab/trigger-generator.d.ts.map +1 -0
  190. package/dist/adapters/gitlab/trigger-generator.js +279 -0
  191. package/dist/adapters/gitlab/trigger-generator.js.map +1 -0
  192. package/dist/adapters/gitlab/types.d.ts +98 -0
  193. package/dist/adapters/gitlab/types.d.ts.map +1 -1
  194. package/dist/adapters/gitlab-duo/adapter.d.ts +1 -0
  195. package/dist/adapters/gitlab-duo/adapter.d.ts.map +1 -1
  196. package/dist/adapters/gitlab-duo/adapter.js +3 -0
  197. package/dist/adapters/gitlab-duo/adapter.js.map +1 -1
  198. package/dist/adapters/index.d.ts.map +1 -1
  199. package/dist/adapters/index.js +12 -0
  200. package/dist/adapters/index.js.map +1 -1
  201. package/dist/adapters/kubernetes/generator.d.ts +93 -5
  202. package/dist/adapters/kubernetes/generator.d.ts.map +1 -1
  203. package/dist/adapters/kubernetes/generator.js +1286 -33
  204. package/dist/adapters/kubernetes/generator.js.map +1 -1
  205. package/dist/adapters/kubernetes/index.d.ts +2 -2
  206. package/dist/adapters/kubernetes/index.d.ts.map +1 -1
  207. package/dist/adapters/kubernetes/index.js +1 -1
  208. package/dist/adapters/kubernetes/kagent-crd-generator.d.ts +72 -0
  209. package/dist/adapters/kubernetes/kagent-crd-generator.d.ts.map +1 -0
  210. package/dist/adapters/kubernetes/kagent-crd-generator.js +237 -0
  211. package/dist/adapters/kubernetes/kagent-crd-generator.js.map +1 -0
  212. package/dist/adapters/kubernetes/types.d.ts +45 -0
  213. package/dist/adapters/kubernetes/types.d.ts.map +1 -1
  214. package/dist/adapters/langchain/adapter.d.ts +2 -9
  215. package/dist/adapters/langchain/adapter.d.ts.map +1 -1
  216. package/dist/adapters/langchain/adapter.js +38 -131
  217. package/dist/adapters/langchain/adapter.js.map +1 -1
  218. package/dist/adapters/langchain/converter.d.ts.map +1 -1
  219. package/dist/adapters/langchain/converter.js +17 -6
  220. package/dist/adapters/langchain/converter.js.map +1 -1
  221. package/dist/adapters/langfuse.adapter.d.ts +1 -1
  222. package/dist/adapters/langsmith.adapter.d.ts +1 -1
  223. package/dist/adapters/mcp/adapter.d.ts +12 -20
  224. package/dist/adapters/mcp/adapter.d.ts.map +1 -1
  225. package/dist/adapters/mcp/adapter.js +67 -213
  226. package/dist/adapters/mcp/adapter.js.map +1 -1
  227. package/dist/adapters/mcp/converter.d.ts +1 -0
  228. package/dist/adapters/mcp/converter.d.ts.map +1 -1
  229. package/dist/adapters/mcp/converter.js +5 -2
  230. package/dist/adapters/mcp/converter.js.map +1 -1
  231. package/dist/adapters/mobile-agent/adapter.d.ts +63 -0
  232. package/dist/adapters/mobile-agent/adapter.d.ts.map +1 -0
  233. package/dist/adapters/mobile-agent/adapter.js +678 -0
  234. package/dist/adapters/mobile-agent/adapter.js.map +1 -0
  235. package/dist/adapters/npm/adapter.d.ts +2 -5
  236. package/dist/adapters/npm/adapter.d.ts.map +1 -1
  237. package/dist/adapters/npm/adapter.js +49 -86
  238. package/dist/adapters/npm/adapter.js.map +1 -1
  239. package/dist/adapters/npm/converter.d.ts +6 -9
  240. package/dist/adapters/npm/converter.d.ts.map +1 -1
  241. package/dist/adapters/npm/converter.js +50 -83
  242. package/dist/adapters/npm/converter.js.map +1 -1
  243. package/dist/adapters/npm/package-generator.d.ts +93 -0
  244. package/dist/adapters/npm/package-generator.d.ts.map +1 -0
  245. package/dist/adapters/npm/package-generator.js +240 -0
  246. package/dist/adapters/npm/package-generator.js.map +1 -0
  247. package/dist/adapters/npm/type-aware-dependencies.d.ts +19 -0
  248. package/dist/adapters/npm/type-aware-dependencies.d.ts.map +1 -0
  249. package/dist/adapters/npm/type-aware-dependencies.js +160 -0
  250. package/dist/adapters/npm/type-aware-dependencies.js.map +1 -0
  251. package/dist/adapters/openai-agents/adapter.d.ts +31 -0
  252. package/dist/adapters/openai-agents/adapter.d.ts.map +1 -0
  253. package/dist/adapters/openai-agents/adapter.js +344 -0
  254. package/dist/adapters/openai-agents/adapter.js.map +1 -0
  255. package/dist/adapters/openai-agents/index.d.ts +10 -0
  256. package/dist/adapters/openai-agents/index.d.ts.map +1 -0
  257. package/dist/adapters/openai-agents/index.js +10 -0
  258. package/dist/adapters/openai-agents/index.js.map +1 -0
  259. package/dist/adapters/opentelemetry.adapter.d.ts +8 -2
  260. package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -1
  261. package/dist/adapters/opentelemetry.adapter.js +92 -11
  262. package/dist/adapters/opentelemetry.adapter.js.map +1 -1
  263. package/dist/adapters/phoenix.adapter.d.ts +1 -1
  264. package/dist/adapters/registry/platform-registry.d.ts +1 -0
  265. package/dist/adapters/registry/platform-registry.d.ts.map +1 -1
  266. package/dist/adapters/registry/platform-registry.js +1 -0
  267. package/dist/adapters/registry/platform-registry.js.map +1 -1
  268. package/dist/adapters/warp/adapter.d.ts +52 -0
  269. package/dist/adapters/warp/adapter.d.ts.map +1 -0
  270. package/dist/adapters/warp/adapter.js +383 -0
  271. package/dist/adapters/warp/adapter.js.map +1 -0
  272. package/dist/adapters/warp/types.d.ts +140 -0
  273. package/dist/adapters/warp/types.d.ts.map +1 -0
  274. package/dist/adapters/warp/types.js +6 -0
  275. package/dist/adapters/warp/types.js.map +1 -0
  276. package/dist/bot/agent-compliance.js +1 -1
  277. package/dist/cli/banner.d.ts.map +1 -1
  278. package/dist/cli/banner.js +11 -4
  279. package/dist/cli/banner.js.map +1 -1
  280. package/dist/cli/commands/agent/discover-type.command.d.ts +39 -0
  281. package/dist/cli/commands/agent/discover-type.command.d.ts.map +1 -0
  282. package/dist/cli/commands/agent/discover-type.command.js +332 -0
  283. package/dist/cli/commands/agent/discover-type.command.js.map +1 -0
  284. package/dist/cli/commands/agent-card.command.d.ts +3 -9
  285. package/dist/cli/commands/agent-card.command.d.ts.map +1 -1
  286. package/dist/cli/commands/agent-card.command.js +109 -255
  287. package/dist/cli/commands/agent-card.command.js.map +1 -1
  288. package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -1
  289. package/dist/cli/commands/agent-wizard.command.js +396 -1
  290. package/dist/cli/commands/agent-wizard.command.js.map +1 -1
  291. package/dist/cli/commands/agents/persona.command.d.ts +10 -0
  292. package/dist/cli/commands/agents/persona.command.d.ts.map +1 -0
  293. package/dist/cli/commands/agents/persona.command.js +519 -0
  294. package/dist/cli/commands/agents/persona.command.js.map +1 -0
  295. package/dist/cli/commands/agents-local.command.d.ts +10 -0
  296. package/dist/cli/commands/agents-local.command.d.ts.map +1 -0
  297. package/dist/cli/commands/agents-local.command.js +283 -0
  298. package/dist/cli/commands/agents-local.command.js.map +1 -0
  299. package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
  300. package/dist/cli/commands/agents-md.command.js.map +1 -1
  301. package/dist/cli/commands/agents.command.d.ts +4 -4
  302. package/dist/cli/commands/agents.command.d.ts.map +1 -1
  303. package/dist/cli/commands/agents.command.js +9 -136
  304. package/dist/cli/commands/agents.command.js.map +1 -1
  305. package/dist/cli/commands/audit.d.ts.map +1 -1
  306. package/dist/cli/commands/audit.js +26 -9
  307. package/dist/cli/commands/audit.js.map +1 -1
  308. package/dist/cli/commands/build.command.d.ts.map +1 -1
  309. package/dist/cli/commands/build.command.js +8 -31
  310. package/dist/cli/commands/build.command.js.map +1 -1
  311. package/dist/cli/commands/capability/create.command.d.ts +7 -0
  312. package/dist/cli/commands/capability/create.command.d.ts.map +1 -0
  313. package/dist/cli/commands/capability/create.command.js +225 -0
  314. package/dist/cli/commands/capability/create.command.js.map +1 -0
  315. package/dist/cli/commands/capability/index.d.ts +7 -0
  316. package/dist/cli/commands/capability/index.d.ts.map +1 -0
  317. package/dist/cli/commands/capability/index.js +10 -0
  318. package/dist/cli/commands/capability/index.js.map +1 -0
  319. package/dist/cli/commands/catalog/index.d.ts +0 -4
  320. package/dist/cli/commands/catalog/index.d.ts.map +1 -1
  321. package/dist/cli/commands/catalog/index.js +0 -12
  322. package/dist/cli/commands/catalog/index.js.map +1 -1
  323. package/dist/cli/commands/catalog/schemas.d.ts +1 -1
  324. package/dist/cli/commands/deploy-enhanced.command.d.ts +15 -0
  325. package/dist/cli/commands/deploy-enhanced.command.d.ts.map +1 -0
  326. package/dist/cli/commands/deploy-enhanced.command.js +334 -0
  327. package/dist/cli/commands/deploy-enhanced.command.js.map +1 -0
  328. package/dist/cli/commands/deploy.command.d.ts.map +1 -1
  329. package/dist/cli/commands/deploy.command.js +4 -3
  330. package/dist/cli/commands/deploy.command.js.map +1 -1
  331. package/dist/cli/commands/deploy.d.ts.map +1 -1
  332. package/dist/cli/commands/deploy.js +6 -5
  333. package/dist/cli/commands/deploy.js.map +1 -1
  334. package/dist/cli/commands/discover.d.ts +15 -0
  335. package/dist/cli/commands/discover.d.ts.map +1 -0
  336. package/dist/cli/commands/discover.js +215 -0
  337. package/dist/cli/commands/discover.js.map +1 -0
  338. package/dist/cli/commands/estimate.command.js +1 -1
  339. package/dist/cli/commands/estimate.command.js.map +1 -1
  340. package/dist/cli/commands/export.command.d.ts.map +1 -1
  341. package/dist/cli/commands/export.command.js +567 -89
  342. package/dist/cli/commands/export.command.js.map +1 -1
  343. package/dist/cli/commands/framework.command.d.ts.map +1 -1
  344. package/dist/cli/commands/framework.command.js +2 -1
  345. package/dist/cli/commands/framework.command.js.map +1 -1
  346. package/dist/cli/commands/generate-gaid.command.d.ts +14 -0
  347. package/dist/cli/commands/generate-gaid.command.d.ts.map +1 -0
  348. package/dist/cli/commands/generate-gaid.command.js +141 -0
  349. package/dist/cli/commands/generate-gaid.command.js.map +1 -0
  350. package/dist/cli/commands/governance.command.d.ts +11 -0
  351. package/dist/cli/commands/governance.command.d.ts.map +1 -0
  352. package/dist/cli/commands/governance.command.js +166 -0
  353. package/dist/cli/commands/governance.command.js.map +1 -0
  354. package/dist/cli/commands/import.command.d.ts.map +1 -1
  355. package/dist/cli/commands/import.command.js +11 -0
  356. package/dist/cli/commands/import.command.js.map +1 -1
  357. package/dist/cli/commands/init.command.d.ts.map +1 -1
  358. package/dist/cli/commands/init.command.js +23 -14
  359. package/dist/cli/commands/init.command.js.map +1 -1
  360. package/dist/cli/commands/lint.command.js +3 -1
  361. package/dist/cli/commands/lint.command.js.map +1 -1
  362. package/dist/cli/commands/manifest/diff.command.d.ts +7 -0
  363. package/dist/cli/commands/manifest/diff.command.d.ts.map +1 -0
  364. package/dist/cli/commands/manifest/diff.command.js +186 -0
  365. package/dist/cli/commands/manifest/diff.command.js.map +1 -0
  366. package/dist/cli/commands/manifest/explain.command.d.ts +7 -0
  367. package/dist/cli/commands/manifest/explain.command.d.ts.map +1 -0
  368. package/dist/cli/commands/manifest/explain.command.js +193 -0
  369. package/dist/cli/commands/manifest/explain.command.js.map +1 -0
  370. package/dist/cli/commands/manifest/index.d.ts +7 -0
  371. package/dist/cli/commands/manifest/index.d.ts.map +1 -0
  372. package/dist/cli/commands/manifest/index.js +12 -0
  373. package/dist/cli/commands/manifest/index.js.map +1 -0
  374. package/dist/cli/commands/migrate-langchain.command.js +3 -3
  375. package/dist/cli/commands/migrate-langchain.command.js.map +1 -1
  376. package/dist/cli/commands/migrate.command.d.ts +4 -1
  377. package/dist/cli/commands/migrate.command.d.ts.map +1 -1
  378. package/dist/cli/commands/migrate.command.js +56 -81
  379. package/dist/cli/commands/migrate.command.js.map +1 -1
  380. package/dist/cli/commands/publish.command.d.ts.map +1 -1
  381. package/dist/cli/commands/publish.command.js.map +1 -1
  382. package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
  383. package/dist/cli/commands/quickstart.command.js +32 -49
  384. package/dist/cli/commands/quickstart.command.js.map +1 -1
  385. package/dist/cli/commands/register.d.ts +12 -0
  386. package/dist/cli/commands/register.d.ts.map +1 -0
  387. package/dist/cli/commands/register.js +200 -0
  388. package/dist/cli/commands/register.js.map +1 -0
  389. package/dist/cli/commands/rollback.command.d.ts +13 -0
  390. package/dist/cli/commands/rollback.command.d.ts.map +1 -0
  391. package/dist/cli/commands/rollback.command.js +156 -0
  392. package/dist/cli/commands/rollback.command.js.map +1 -0
  393. package/dist/cli/commands/run.command.d.ts.map +1 -1
  394. package/dist/cli/commands/run.command.js +19 -4
  395. package/dist/cli/commands/run.command.js.map +1 -1
  396. package/dist/cli/commands/skills.command.d.ts.map +1 -1
  397. package/dist/cli/commands/skills.command.js +177 -0
  398. package/dist/cli/commands/skills.command.js.map +1 -1
  399. package/dist/cli/commands/standardize.command.js +3 -6
  400. package/dist/cli/commands/standardize.command.js.map +1 -1
  401. package/dist/cli/commands/test.command.d.ts.map +1 -1
  402. package/dist/cli/commands/test.command.js +1 -1
  403. package/dist/cli/commands/test.command.js.map +1 -1
  404. package/dist/cli/commands/tool/create.command.d.ts +12 -0
  405. package/dist/cli/commands/tool/create.command.d.ts.map +1 -0
  406. package/dist/cli/commands/tool/create.command.js +276 -0
  407. package/dist/cli/commands/tool/create.command.js.map +1 -0
  408. package/dist/cli/commands/tool/index.d.ts +7 -0
  409. package/dist/cli/commands/tool/index.d.ts.map +1 -0
  410. package/dist/cli/commands/tool/index.js +14 -0
  411. package/dist/cli/commands/tool/index.js.map +1 -0
  412. package/dist/cli/commands/tool/list.command.d.ts +7 -0
  413. package/dist/cli/commands/tool/list.command.d.ts.map +1 -0
  414. package/dist/cli/commands/tool/list.command.js +268 -0
  415. package/dist/cli/commands/tool/list.command.js.map +1 -0
  416. package/dist/cli/commands/tool/validate.command.d.ts +7 -0
  417. package/dist/cli/commands/tool/validate.command.d.ts.map +1 -0
  418. package/dist/cli/commands/tool/validate.command.js +103 -0
  419. package/dist/cli/commands/tool/validate.command.js.map +1 -0
  420. package/dist/cli/commands/types/wizard-config.types.d.ts.map +1 -1
  421. package/dist/cli/commands/types/wizard-config.types.js.map +1 -1
  422. package/dist/cli/commands/upgrade.command.d.ts.map +1 -1
  423. package/dist/cli/commands/upgrade.command.js +12 -0
  424. package/dist/cli/commands/upgrade.command.js.map +1 -1
  425. package/dist/cli/commands/validate.command.js +1 -3
  426. package/dist/cli/commands/validate.command.js.map +1 -1
  427. package/dist/cli/commands/verify.d.ts +15 -0
  428. package/dist/cli/commands/verify.d.ts.map +1 -0
  429. package/dist/cli/commands/verify.js +274 -0
  430. package/dist/cli/commands/verify.js.map +1 -0
  431. package/dist/cli/commands/wizard-api-first.command.d.ts.map +1 -1
  432. package/dist/cli/commands/wizard-api-first.command.js +77 -2
  433. package/dist/cli/commands/wizard-api-first.command.js.map +1 -1
  434. package/dist/cli/commands/wizard-interactive.command.d.ts.map +1 -1
  435. package/dist/cli/commands/wizard-interactive.command.js +1503 -118
  436. package/dist/cli/commands/wizard-interactive.command.js.map +1 -1
  437. package/dist/cli/commands/wizard.command.js +1 -1
  438. package/dist/cli/commands/wizard.command.js.map +1 -1
  439. package/dist/cli/extensions/gitlab.extension.js +1 -1
  440. package/dist/cli/index.js +107 -63
  441. package/dist/cli/index.js.map +1 -1
  442. package/dist/cli/schema-driven/schema-loader.d.ts.map +1 -1
  443. package/dist/cli/schema-driven/schema-loader.js +2 -2
  444. package/dist/cli/schema-driven/schema-loader.js.map +1 -1
  445. package/dist/cli/schema-driven/ui-generator.d.ts.map +1 -1
  446. package/dist/cli/schema-driven/ui-generator.js +13 -4
  447. package/dist/cli/schema-driven/ui-generator.js.map +1 -1
  448. package/dist/cli/templates/enhanced-templates.d.ts.map +1 -1
  449. package/dist/cli/templates/enhanced-templates.js +2 -1
  450. package/dist/cli/templates/enhanced-templates.js.map +1 -1
  451. package/dist/cli/utils/error-formatter.js +3 -3
  452. package/dist/cli/utils/index.d.ts +1 -0
  453. package/dist/cli/utils/index.d.ts.map +1 -1
  454. package/dist/cli/utils/index.js +2 -0
  455. package/dist/cli/utils/index.js.map +1 -1
  456. package/dist/cli/utils/logo.d.ts +10 -0
  457. package/dist/cli/utils/logo.d.ts.map +1 -0
  458. package/dist/cli/utils/logo.js +49 -0
  459. package/dist/cli/utils/logo.js.map +1 -0
  460. package/dist/cli/utils/standard-options.d.ts +21 -0
  461. package/dist/cli/utils/standard-options.d.ts.map +1 -1
  462. package/dist/cli/utils/standard-options.js +31 -0
  463. package/dist/cli/utils/standard-options.js.map +1 -1
  464. package/dist/cli/utils/validation-builder.d.ts +121 -0
  465. package/dist/cli/utils/validation-builder.d.ts.map +1 -0
  466. package/dist/cli/utils/validation-builder.js +322 -0
  467. package/dist/cli/utils/validation-builder.js.map +1 -0
  468. package/dist/cli/wizard/data/taxonomy.d.ts.map +1 -1
  469. package/dist/cli/wizard/data/taxonomy.js +5 -1
  470. package/dist/cli/wizard/data/taxonomy.js.map +1 -1
  471. package/dist/cli/wizard/interactive-wizard.d.ts.map +1 -1
  472. package/dist/cli/wizard/interactive-wizard.js +26 -13
  473. package/dist/cli/wizard/interactive-wizard.js.map +1 -1
  474. package/dist/cli/wizard/steps/02-basic-info.js +1 -1
  475. package/dist/cli/wizard/steps/04a-persona.d.ts +16 -0
  476. package/dist/cli/wizard/steps/04a-persona.d.ts.map +1 -0
  477. package/dist/cli/wizard/steps/04a-persona.js +297 -0
  478. package/dist/cli/wizard/steps/04a-persona.js.map +1 -0
  479. package/dist/cli/wizard/steps/05-tools.d.ts.map +1 -1
  480. package/dist/cli/wizard/steps/05-tools.js +32 -4
  481. package/dist/cli/wizard/steps/05-tools.js.map +1 -1
  482. package/dist/cli/wizard/steps/06-autonomy.js +1 -1
  483. package/dist/cli/wizard/steps/07-observability.js +1 -1
  484. package/dist/cli/wizard/steps/08-deployment.js +1 -1
  485. package/dist/cli/wizard/steps/09-advanced.js +1 -1
  486. package/dist/cli/wizard/steps/09-advanced.js.map +1 -1
  487. package/dist/cli/wizard/steps/10-review.d.ts.map +1 -1
  488. package/dist/cli/wizard/steps/10-review.js +6 -4
  489. package/dist/cli/wizard/steps/10-review.js.map +1 -1
  490. package/dist/cli/wizard/steps/12-agents-folder.d.ts.map +1 -1
  491. package/dist/cli/wizard/steps/12-agents-folder.js +14 -10
  492. package/dist/cli/wizard/steps/12-agents-folder.js.map +1 -1
  493. package/dist/cli/wizard/steps/13-openapi-generation.d.ts.map +1 -1
  494. package/dist/cli/wizard/steps/13-openapi-generation.js +10 -2
  495. package/dist/cli/wizard/steps/13-openapi-generation.js.map +1 -1
  496. package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -1
  497. package/dist/cli/wizard/steps/14-workspace-registration.js +10 -2
  498. package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -1
  499. package/dist/cli/wizard/steps/15-cost-estimation.d.ts.map +1 -1
  500. package/dist/cli/wizard/steps/15-cost-estimation.js +27 -11
  501. package/dist/cli/wizard/steps/15-cost-estimation.js.map +1 -1
  502. package/dist/cli/wizard/steps/16-best-practices.d.ts.map +1 -1
  503. package/dist/cli/wizard/steps/16-best-practices.js +14 -13
  504. package/dist/cli/wizard/steps/16-best-practices.js.map +1 -1
  505. package/dist/cli/wizard/ui/banner.d.ts +20 -0
  506. package/dist/cli/wizard/ui/banner.d.ts.map +1 -0
  507. package/dist/cli/wizard/ui/banner.js +66 -0
  508. package/dist/cli/wizard/ui/banner.js.map +1 -0
  509. package/dist/cli/wizard/ui/console.d.ts.map +1 -1
  510. package/dist/cli/wizard/ui/console.js +21 -23
  511. package/dist/cli/wizard/ui/console.js.map +1 -1
  512. package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -1
  513. package/dist/cli/wizard/ui/wizard-ui.js +54 -75
  514. package/dist/cli/wizard/ui/wizard-ui.js.map +1 -1
  515. package/dist/cli/wizard/use-cases.d.ts.map +1 -1
  516. package/dist/cli/wizard/use-cases.js.map +1 -1
  517. package/dist/config/defaults.d.ts +59 -0
  518. package/dist/config/defaults.d.ts.map +1 -1
  519. package/dist/config/defaults.js +73 -1
  520. package/dist/config/defaults.js.map +1 -1
  521. package/dist/deploy/cloud/aws-driver.d.ts +75 -0
  522. package/dist/deploy/cloud/aws-driver.d.ts.map +1 -0
  523. package/dist/deploy/cloud/aws-driver.js +344 -0
  524. package/dist/deploy/cloud/aws-driver.js.map +1 -0
  525. package/dist/deploy/cloud/azure-driver.d.ts +54 -0
  526. package/dist/deploy/cloud/azure-driver.d.ts.map +1 -0
  527. package/dist/deploy/cloud/azure-driver.js +221 -0
  528. package/dist/deploy/cloud/azure-driver.js.map +1 -0
  529. package/dist/deploy/cloud/gcp-driver.d.ts +56 -0
  530. package/dist/deploy/cloud/gcp-driver.d.ts.map +1 -0
  531. package/dist/deploy/cloud/gcp-driver.js +216 -0
  532. package/dist/deploy/cloud/gcp-driver.js.map +1 -0
  533. package/dist/dev-cli/commands/release-prep.command.d.ts +1 -5
  534. package/dist/dev-cli/commands/release-prep.command.d.ts.map +1 -1
  535. package/dist/dev-cli/commands/release-prep.command.js +4 -8
  536. package/dist/dev-cli/commands/release-prep.command.js.map +1 -1
  537. package/dist/dev-cli/commands/version.command.js +18 -18
  538. package/dist/dev-cli/commands/version.command.js.map +1 -1
  539. package/dist/dev-cli/services/spec-generate.service.d.ts +8 -1
  540. package/dist/dev-cli/services/spec-generate.service.d.ts.map +1 -1
  541. package/dist/dev-cli/services/spec-generate.service.js +96 -11
  542. package/dist/dev-cli/services/spec-generate.service.js.map +1 -1
  543. package/dist/dev-cli/services/spec-validate.service.d.ts.map +1 -1
  544. package/dist/dev-cli/services/spec-validate.service.js +66 -5
  545. package/dist/dev-cli/services/spec-validate.service.js.map +1 -1
  546. package/dist/dev-cli/services/version-check.service.d.ts.map +1 -1
  547. package/dist/dev-cli/services/version-check.service.js +2 -1
  548. package/dist/dev-cli/services/version-check.service.js.map +1 -1
  549. package/dist/dev-cli/services/version-validate.service.d.ts.map +1 -1
  550. package/dist/dev-cli/services/version-validate.service.js +1 -3
  551. package/dist/dev-cli/services/version-validate.service.js.map +1 -1
  552. package/dist/di-container.d.ts +5 -0
  553. package/dist/di-container.d.ts.map +1 -1
  554. package/dist/di-container.js +30 -6
  555. package/dist/di-container.js.map +1 -1
  556. package/dist/errors/index.d.ts +154 -0
  557. package/dist/errors/index.d.ts.map +1 -0
  558. package/dist/errors/index.js +327 -0
  559. package/dist/errors/index.js.map +1 -0
  560. package/dist/generated/types.d.ts +91 -91
  561. package/dist/generated/types.d.ts.map +1 -1
  562. package/dist/interfaces/governance-provider.interface.d.ts +98 -0
  563. package/dist/interfaces/governance-provider.interface.d.ts.map +1 -0
  564. package/dist/interfaces/governance-provider.interface.js +20 -0
  565. package/dist/interfaces/governance-provider.interface.js.map +1 -0
  566. package/dist/mesh/advanced-routing.d.ts +181 -0
  567. package/dist/mesh/advanced-routing.d.ts.map +1 -0
  568. package/dist/mesh/advanced-routing.js +479 -0
  569. package/dist/mesh/advanced-routing.js.map +1 -0
  570. package/dist/mesh/agent-graph.d.ts +218 -0
  571. package/dist/mesh/agent-graph.d.ts.map +1 -0
  572. package/dist/mesh/agent-graph.js +493 -0
  573. package/dist/mesh/agent-graph.js.map +1 -0
  574. package/dist/mesh/discovery-providers.d.ts +162 -0
  575. package/dist/mesh/discovery-providers.d.ts.map +1 -0
  576. package/dist/mesh/discovery-providers.js +520 -0
  577. package/dist/mesh/discovery-providers.js.map +1 -0
  578. package/dist/mesh/index.d.ts +3 -0
  579. package/dist/mesh/index.d.ts.map +1 -1
  580. package/dist/mesh/index.js +6 -0
  581. package/dist/mesh/index.js.map +1 -1
  582. package/dist/mesh/types.d.ts +212 -1
  583. package/dist/mesh/types.d.ts.map +1 -1
  584. package/dist/messaging/channels.d.ts +1 -1
  585. package/dist/messaging/channels.js +1 -1
  586. package/dist/messaging/protocols/memory.d.ts +1 -1
  587. package/dist/messaging/protocols/memory.js +1 -1
  588. package/dist/messenger/Commands/MessengerConsumeCommand.d.ts +57 -0
  589. package/dist/messenger/Commands/MessengerConsumeCommand.d.ts.map +1 -0
  590. package/dist/messenger/Commands/MessengerConsumeCommand.js +49 -0
  591. package/dist/messenger/Commands/MessengerConsumeCommand.js.map +1 -0
  592. package/dist/messenger/Commands/MessengerFailedCommand.d.ts +76 -0
  593. package/dist/messenger/Commands/MessengerFailedCommand.d.ts.map +1 -0
  594. package/dist/messenger/Commands/MessengerFailedCommand.js +120 -0
  595. package/dist/messenger/Commands/MessengerFailedCommand.js.map +1 -0
  596. package/dist/messenger/Commands/MessengerStatsCommand.d.ts +61 -0
  597. package/dist/messenger/Commands/MessengerStatsCommand.d.ts.map +1 -0
  598. package/dist/messenger/Commands/MessengerStatsCommand.js +80 -0
  599. package/dist/messenger/Commands/MessengerStatsCommand.js.map +1 -0
  600. package/dist/messenger/Commands/index.d.ts +10 -0
  601. package/dist/messenger/Commands/index.d.ts.map +1 -0
  602. package/dist/messenger/Commands/index.js +10 -0
  603. package/dist/messenger/Commands/index.js.map +1 -0
  604. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts +44 -0
  605. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts.map +1 -0
  606. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js +64 -0
  607. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js.map +1 -0
  608. package/dist/messenger/Handler/AgentBatchHandler.d.ts +80 -0
  609. package/dist/messenger/Handler/AgentBatchHandler.d.ts.map +1 -0
  610. package/dist/messenger/Handler/AgentBatchHandler.js +211 -0
  611. package/dist/messenger/Handler/AgentBatchHandler.js.map +1 -0
  612. package/dist/messenger/Handler/AgentExecutionHandler.d.ts +76 -0
  613. package/dist/messenger/Handler/AgentExecutionHandler.d.ts.map +1 -0
  614. package/dist/messenger/Handler/AgentExecutionHandler.js +131 -0
  615. package/dist/messenger/Handler/AgentExecutionHandler.js.map +1 -0
  616. package/dist/messenger/Handler/index.d.ts +9 -0
  617. package/dist/messenger/Handler/index.d.ts.map +1 -0
  618. package/dist/messenger/Handler/index.js +9 -0
  619. package/dist/messenger/Handler/index.js.map +1 -0
  620. package/dist/messenger/Message/AgentBatchMessage.d.ts +115 -0
  621. package/dist/messenger/Message/AgentBatchMessage.d.ts.map +1 -0
  622. package/dist/messenger/Message/AgentBatchMessage.js +102 -0
  623. package/dist/messenger/Message/AgentBatchMessage.js.map +1 -0
  624. package/dist/messenger/Message/AgentExecutionMessage.d.ts +98 -0
  625. package/dist/messenger/Message/AgentExecutionMessage.d.ts.map +1 -0
  626. package/dist/messenger/Message/AgentExecutionMessage.js +77 -0
  627. package/dist/messenger/Message/AgentExecutionMessage.js.map +1 -0
  628. package/dist/messenger/Message/index.d.ts +9 -0
  629. package/dist/messenger/Message/index.d.ts.map +1 -0
  630. package/dist/messenger/Message/index.js +9 -0
  631. package/dist/messenger/Message/index.js.map +1 -0
  632. package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts +41 -0
  633. package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts.map +1 -0
  634. package/dist/messenger/Middleware/AuthenticationMiddleware.js +84 -0
  635. package/dist/messenger/Middleware/AuthenticationMiddleware.js.map +1 -0
  636. package/dist/messenger/Middleware/LoggingMiddleware.d.ts +30 -0
  637. package/dist/messenger/Middleware/LoggingMiddleware.d.ts.map +1 -0
  638. package/dist/messenger/Middleware/LoggingMiddleware.js +59 -0
  639. package/dist/messenger/Middleware/LoggingMiddleware.js.map +1 -0
  640. package/dist/messenger/Middleware/RateLimitMiddleware.d.ts +67 -0
  641. package/dist/messenger/Middleware/RateLimitMiddleware.d.ts.map +1 -0
  642. package/dist/messenger/Middleware/RateLimitMiddleware.js +90 -0
  643. package/dist/messenger/Middleware/RateLimitMiddleware.js.map +1 -0
  644. package/dist/messenger/Middleware/ValidationMiddleware.d.ts +39 -0
  645. package/dist/messenger/Middleware/ValidationMiddleware.d.ts.map +1 -0
  646. package/dist/messenger/Middleware/ValidationMiddleware.js +96 -0
  647. package/dist/messenger/Middleware/ValidationMiddleware.js.map +1 -0
  648. package/dist/messenger/Middleware/index.d.ts +11 -0
  649. package/dist/messenger/Middleware/index.d.ts.map +1 -0
  650. package/dist/messenger/Middleware/index.js +11 -0
  651. package/dist/messenger/Middleware/index.js.map +1 -0
  652. package/dist/messenger/Monitoring/MetricsCollector.d.ts +107 -0
  653. package/dist/messenger/Monitoring/MetricsCollector.d.ts.map +1 -0
  654. package/dist/messenger/Monitoring/MetricsCollector.js +80 -0
  655. package/dist/messenger/Monitoring/MetricsCollector.js.map +1 -0
  656. package/dist/messenger/Monitoring/QueueMonitor.d.ts +74 -0
  657. package/dist/messenger/Monitoring/QueueMonitor.d.ts.map +1 -0
  658. package/dist/messenger/Monitoring/QueueMonitor.js +160 -0
  659. package/dist/messenger/Monitoring/QueueMonitor.js.map +1 -0
  660. package/dist/messenger/Monitoring/index.d.ts +9 -0
  661. package/dist/messenger/Monitoring/index.d.ts.map +1 -0
  662. package/dist/messenger/Monitoring/index.js +9 -0
  663. package/dist/messenger/Monitoring/index.js.map +1 -0
  664. package/dist/messenger/index.d.ts +38 -0
  665. package/dist/messenger/index.d.ts.map +1 -0
  666. package/dist/messenger/index.js +44 -0
  667. package/dist/messenger/index.js.map +1 -0
  668. package/dist/observability/index.d.ts +13 -0
  669. package/dist/observability/index.d.ts.map +1 -0
  670. package/dist/observability/index.js +14 -0
  671. package/dist/observability/index.js.map +1 -0
  672. package/dist/observability/metrics.d.ts +131 -0
  673. package/dist/observability/metrics.d.ts.map +1 -0
  674. package/dist/observability/metrics.js +308 -0
  675. package/dist/observability/metrics.js.map +1 -0
  676. package/dist/observability/middleware.d.ts +64 -0
  677. package/dist/observability/middleware.d.ts.map +1 -0
  678. package/dist/observability/middleware.js +225 -0
  679. package/dist/observability/middleware.js.map +1 -0
  680. package/dist/package.json +49 -28
  681. package/dist/repositories/schema.repository.d.ts.map +1 -1
  682. package/dist/repositories/schema.repository.js +10 -4
  683. package/dist/repositories/schema.repository.js.map +1 -1
  684. package/dist/runtime/agent-runner.d.ts.map +1 -1
  685. package/dist/runtime/agent-runner.js +23 -23
  686. package/dist/runtime/agent-runner.js.map +1 -1
  687. package/dist/sdks/kagent/crd-generator.d.ts +63 -1
  688. package/dist/sdks/kagent/crd-generator.d.ts.map +1 -1
  689. package/dist/sdks/kagent/crd-generator.js +770 -20
  690. package/dist/sdks/kagent/crd-generator.js.map +1 -1
  691. package/dist/sdks/kagent/crd-parser.d.ts.map +1 -1
  692. package/dist/sdks/kagent/crd-parser.js +2 -1
  693. package/dist/sdks/kagent/crd-parser.js.map +1 -1
  694. package/dist/sdks/kagent/index.d.ts +1 -1
  695. package/dist/sdks/kagent/index.d.ts.map +1 -1
  696. package/dist/sdks/kagent/k8s-resources-generator.d.ts.map +1 -1
  697. package/dist/sdks/kagent/k8s-resources-generator.js.map +1 -1
  698. package/dist/sdks/kagent/types.d.ts +30 -0
  699. package/dist/sdks/kagent/types.d.ts.map +1 -1
  700. package/dist/sdks/shared/validation.d.ts +4 -4
  701. package/dist/sdks/typescript/builders/autonomy.builder.d.ts +119 -0
  702. package/dist/sdks/typescript/builders/autonomy.builder.d.ts.map +1 -0
  703. package/dist/sdks/typescript/builders/autonomy.builder.js +165 -0
  704. package/dist/sdks/typescript/builders/autonomy.builder.js.map +1 -0
  705. package/dist/sdks/typescript/builders/index.d.ts +12 -0
  706. package/dist/sdks/typescript/builders/index.d.ts.map +1 -0
  707. package/dist/sdks/typescript/builders/index.js +11 -0
  708. package/dist/sdks/typescript/builders/index.js.map +1 -0
  709. package/dist/sdks/typescript/builders/llm.builder.d.ts +74 -0
  710. package/dist/sdks/typescript/builders/llm.builder.d.ts.map +1 -0
  711. package/dist/sdks/typescript/builders/llm.builder.js +123 -0
  712. package/dist/sdks/typescript/builders/llm.builder.js.map +1 -0
  713. package/dist/sdks/typescript/builders/manifest.builder.d.ts +153 -0
  714. package/dist/sdks/typescript/builders/manifest.builder.d.ts.map +1 -0
  715. package/dist/sdks/typescript/builders/manifest.builder.js +343 -0
  716. package/dist/sdks/typescript/builders/manifest.builder.js.map +1 -0
  717. package/dist/sdks/typescript/builders/safety.builder.d.ts +79 -0
  718. package/dist/sdks/typescript/builders/safety.builder.d.ts.map +1 -0
  719. package/dist/sdks/typescript/builders/safety.builder.js +147 -0
  720. package/dist/sdks/typescript/builders/safety.builder.js.map +1 -0
  721. package/dist/sdks/typescript/builders/tool.builder.d.ts +179 -0
  722. package/dist/sdks/typescript/builders/tool.builder.d.ts.map +1 -0
  723. package/dist/sdks/typescript/builders/tool.builder.js +305 -0
  724. package/dist/sdks/typescript/builders/tool.builder.js.map +1 -0
  725. package/dist/sdks/typescript/client.d.ts +1 -3
  726. package/dist/sdks/typescript/client.d.ts.map +1 -1
  727. package/dist/sdks/typescript/client.js +1 -3
  728. package/dist/sdks/typescript/client.js.map +1 -1
  729. package/dist/sdks/typescript/constants.d.ts +24 -0
  730. package/dist/sdks/typescript/constants.d.ts.map +1 -0
  731. package/dist/sdks/typescript/constants.js +102 -0
  732. package/dist/sdks/typescript/constants.js.map +1 -0
  733. package/dist/sdks/typescript/index.d.ts +4 -0
  734. package/dist/sdks/typescript/index.d.ts.map +1 -1
  735. package/dist/sdks/typescript/index.js +4 -0
  736. package/dist/sdks/typescript/index.js.map +1 -1
  737. package/dist/sdks/typescript/manifest.d.ts +8 -3
  738. package/dist/sdks/typescript/manifest.d.ts.map +1 -1
  739. package/dist/sdks/typescript/manifest.js +12 -28
  740. package/dist/sdks/typescript/manifest.js.map +1 -1
  741. package/dist/sdks/typescript/types.d.ts +5 -3
  742. package/dist/sdks/typescript/types.d.ts.map +1 -1
  743. package/dist/sdks/typescript/types.js +6 -3
  744. package/dist/sdks/typescript/types.js.map +1 -1
  745. package/dist/sdks/typescript/validator.d.ts +31 -0
  746. package/dist/sdks/typescript/validator.d.ts.map +1 -1
  747. package/dist/sdks/typescript/validator.js +205 -1
  748. package/dist/sdks/typescript/validator.js.map +1 -1
  749. package/dist/services/agent-card-generator.d.ts +57 -0
  750. package/dist/services/agent-card-generator.d.ts.map +1 -0
  751. package/dist/services/agent-card-generator.js +592 -0
  752. package/dist/services/agent-card-generator.js.map +1 -0
  753. package/dist/services/agent-type-detector.service.d.ts +72 -0
  754. package/dist/services/agent-type-detector.service.d.ts.map +1 -0
  755. package/dist/services/agent-type-detector.service.js +197 -0
  756. package/dist/services/agent-type-detector.service.js.map +1 -0
  757. package/dist/services/agents-md/agents-md-generator.service.d.ts +29 -0
  758. package/dist/services/agents-md/agents-md-generator.service.d.ts.map +1 -0
  759. package/dist/services/agents-md/agents-md-generator.service.js +252 -0
  760. package/dist/services/agents-md/agents-md-generator.service.js.map +1 -0
  761. package/dist/services/ai-architect.service.js +1 -1
  762. package/dist/services/ai-architect.service.js.map +1 -1
  763. package/dist/services/audit.d.ts +7 -1
  764. package/dist/services/audit.d.ts.map +1 -1
  765. package/dist/services/audit.js +70 -40
  766. package/dist/services/audit.js.map +1 -1
  767. package/dist/services/codegen/generators/vscode.generator.js +2 -2
  768. package/dist/services/codegen/generators/vscode.generator.js.map +1 -1
  769. package/dist/services/cost-estimation/token-counter.service.js +1 -1
  770. package/dist/services/cost-estimation/token-counter.service.js.map +1 -1
  771. package/dist/services/dev-server/websocket-server.d.ts.map +1 -1
  772. package/dist/services/dev-server/websocket-server.js +2 -1
  773. package/dist/services/dev-server/websocket-server.js.map +1 -1
  774. package/dist/services/evals/evals-generator.service.d.ts +90 -0
  775. package/dist/services/evals/evals-generator.service.d.ts.map +1 -0
  776. package/dist/services/evals/evals-generator.service.js +1603 -0
  777. package/dist/services/evals/evals-generator.service.js.map +1 -0
  778. package/dist/services/export/anthropic/anthropic-exporter.d.ts +1 -0
  779. package/dist/services/export/anthropic/anthropic-exporter.d.ts.map +1 -1
  780. package/dist/services/export/anthropic/anthropic-exporter.js +19 -5
  781. package/dist/services/export/anthropic/anthropic-exporter.js.map +1 -1
  782. package/dist/services/export/anthropic/index.d.ts +1 -1
  783. package/dist/services/export/anthropic/index.d.ts.map +1 -1
  784. package/dist/services/export/anthropic/index.js +1 -1
  785. package/dist/services/export/anthropic/index.js.map +1 -1
  786. package/dist/services/export/export-orchestrator.d.ts +1 -0
  787. package/dist/services/export/export-orchestrator.d.ts.map +1 -1
  788. package/dist/services/export/langchain/callbacks-generator.d.ts.map +1 -1
  789. package/dist/services/export/langchain/callbacks-generator.js +16 -8
  790. package/dist/services/export/langchain/callbacks-generator.js.map +1 -1
  791. package/dist/services/export/langchain/error-handling-generator.d.ts.map +1 -1
  792. package/dist/services/export/langchain/error-handling-generator.js +9 -5
  793. package/dist/services/export/langchain/error-handling-generator.js.map +1 -1
  794. package/dist/services/export/langchain/langchain-exporter.d.ts.map +1 -1
  795. package/dist/services/export/langchain/langchain-exporter.js +16 -8
  796. package/dist/services/export/langchain/langchain-exporter.js.map +1 -1
  797. package/dist/services/export/langchain/langgraph-generator.d.ts.map +1 -1
  798. package/dist/services/export/langchain/langgraph-generator.js +34 -20
  799. package/dist/services/export/langchain/langgraph-generator.js.map +1 -1
  800. package/dist/services/export/langchain/langserve-generator.d.ts.map +1 -1
  801. package/dist/services/export/langchain/langserve-generator.js +7 -1
  802. package/dist/services/export/langchain/langserve-generator.js.map +1 -1
  803. package/dist/services/export/langchain/memory-generator.d.ts.map +1 -1
  804. package/dist/services/export/langchain/memory-generator.js.map +1 -1
  805. package/dist/services/export/langchain/plan-execute-generator.d.ts.map +1 -1
  806. package/dist/services/export/langchain/plan-execute-generator.js.map +1 -1
  807. package/dist/services/export/langchain/streaming-generator.d.ts.map +1 -1
  808. package/dist/services/export/langchain/streaming-generator.js +12 -6
  809. package/dist/services/export/langchain/streaming-generator.js.map +1 -1
  810. package/dist/services/export/langchain/tools-generator.d.ts.map +1 -1
  811. package/dist/services/export/langchain/tools-generator.js.map +1 -1
  812. package/dist/services/export/npm/npm-exporter.d.ts +40 -0
  813. package/dist/services/export/npm/npm-exporter.d.ts.map +1 -1
  814. package/dist/services/export/npm/npm-exporter.js +1294 -1
  815. package/dist/services/export/npm/npm-exporter.js.map +1 -1
  816. package/dist/services/export/npm/package-json-generator.d.ts.map +1 -1
  817. package/dist/services/export/npm/package-json-generator.js +5 -2
  818. package/dist/services/export/npm/package-json-generator.js.map +1 -1
  819. package/dist/services/export/npm/typescript-generator.d.ts.map +1 -1
  820. package/dist/services/export/npm/typescript-generator.js +7 -3
  821. package/dist/services/export/npm/typescript-generator.js.map +1 -1
  822. package/dist/services/export/testing/index.d.ts +1 -1
  823. package/dist/services/export/testing/index.d.ts.map +1 -1
  824. package/dist/services/export/testing/test-generator.d.ts.map +1 -1
  825. package/dist/services/export/testing/test-generator.js +5 -1
  826. package/dist/services/export/testing/test-generator.js.map +1 -1
  827. package/dist/services/framework-import/langchain-importer.service.d.ts.map +1 -1
  828. package/dist/services/framework-import/langchain-importer.service.js +2 -1
  829. package/dist/services/framework-import/langchain-importer.service.js.map +1 -1
  830. package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -1
  831. package/dist/services/framework-import/langflow-importer.service.js +3 -2
  832. package/dist/services/framework-import/langflow-importer.service.js.map +1 -1
  833. package/dist/services/generation.service.d.ts +7 -0
  834. package/dist/services/generation.service.d.ts.map +1 -1
  835. package/dist/services/generation.service.js +31 -8
  836. package/dist/services/generation.service.js.map +1 -1
  837. package/dist/services/github-sync/schemas.d.ts +1 -1
  838. package/dist/services/governance/governance-generator.service.d.ts +120 -0
  839. package/dist/services/governance/governance-generator.service.d.ts.map +1 -0
  840. package/dist/services/governance/governance-generator.service.js +955 -0
  841. package/dist/services/governance/governance-generator.service.js.map +1 -0
  842. package/dist/services/governance-client.service.d.ts +39 -0
  843. package/dist/services/governance-client.service.d.ts.map +1 -0
  844. package/dist/services/governance-client.service.js +124 -0
  845. package/dist/services/governance-client.service.js.map +1 -0
  846. package/dist/services/id-card.service.d.ts +109 -0
  847. package/dist/services/id-card.service.d.ts.map +1 -0
  848. package/dist/services/id-card.service.js +236 -0
  849. package/dist/services/id-card.service.js.map +1 -0
  850. package/dist/services/llms-txt/llms-txt.service.d.ts +2 -2
  851. package/dist/services/llms-txt/llms-txt.service.js +2 -2
  852. package/dist/services/messaging/index.d.ts +0 -1
  853. package/dist/services/messaging/index.d.ts.map +1 -1
  854. package/dist/services/messaging/index.js +2 -1
  855. package/dist/services/messaging/index.js.map +1 -1
  856. package/dist/services/migration/langchain-migration.service.js +2 -2
  857. package/dist/services/migration/langchain-migration.service.js.map +1 -1
  858. package/dist/services/multi-agent/team-generator.service.d.ts +41 -0
  859. package/dist/services/multi-agent/team-generator.service.d.ts.map +1 -0
  860. package/dist/services/multi-agent/team-generator.service.js +560 -0
  861. package/dist/services/multi-agent/team-generator.service.js.map +1 -0
  862. package/dist/services/observability/observability-generator.service.d.ts +54 -0
  863. package/dist/services/observability/observability-generator.service.d.ts.map +1 -0
  864. package/dist/services/observability/observability-generator.service.js +1353 -0
  865. package/dist/services/observability/observability-generator.service.js.map +1 -0
  866. package/dist/services/registry/bundle.service.d.ts.map +1 -1
  867. package/dist/services/registry/bundle.service.js +2 -1
  868. package/dist/services/registry/bundle.service.js.map +1 -1
  869. package/dist/services/registry/index.service.js +1 -1
  870. package/dist/services/registry.service.d.ts.map +1 -1
  871. package/dist/services/registry.service.js +2 -1
  872. package/dist/services/registry.service.js.map +1 -1
  873. package/dist/services/release-automation/release-agent.service.js +1 -1
  874. package/dist/services/release-automation/release.service.d.ts +4 -4
  875. package/dist/services/release-automation/schemas/release.schema.d.ts +5 -5
  876. package/dist/services/release-automation/tag.service.d.ts +3 -3
  877. package/dist/services/runtime/anthropic.adapter.d.ts.map +1 -1
  878. package/dist/services/runtime/anthropic.adapter.js +2 -6
  879. package/dist/services/runtime/anthropic.adapter.js.map +1 -1
  880. package/dist/services/runtime/azure.adapter.d.ts +1 -1
  881. package/dist/services/runtime/azure.adapter.js +3 -3
  882. package/dist/services/runtime/azure.adapter.js.map +1 -1
  883. package/dist/services/runtime/bedrock.adapter.d.ts.map +1 -1
  884. package/dist/services/runtime/bedrock.adapter.js +2 -6
  885. package/dist/services/runtime/bedrock.adapter.js.map +1 -1
  886. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  887. package/dist/services/runtime/claude/claude-adapter.js +2 -6
  888. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  889. package/dist/services/runtime/gemini.adapter.d.ts.map +1 -1
  890. package/dist/services/runtime/gemini.adapter.js +2 -6
  891. package/dist/services/runtime/gemini.adapter.js.map +1 -1
  892. package/dist/services/runtime/mistral.adapter.d.ts.map +1 -1
  893. package/dist/services/runtime/mistral.adapter.js +2 -6
  894. package/dist/services/runtime/mistral.adapter.js.map +1 -1
  895. package/dist/services/runtime/ollama.adapter.d.ts.map +1 -1
  896. package/dist/services/runtime/ollama.adapter.js +2 -6
  897. package/dist/services/runtime/ollama.adapter.js.map +1 -1
  898. package/dist/services/runtime/openai.adapter.js +2 -2
  899. package/dist/services/runtime/openai.adapter.js.map +1 -1
  900. package/dist/services/skills-pipeline/index.d.ts +8 -0
  901. package/dist/services/skills-pipeline/index.d.ts.map +1 -0
  902. package/dist/services/skills-pipeline/index.js +8 -0
  903. package/dist/services/skills-pipeline/index.js.map +1 -0
  904. package/dist/services/skills-pipeline/skills-export.service.d.ts +86 -0
  905. package/dist/services/skills-pipeline/skills-export.service.d.ts.map +1 -0
  906. package/dist/services/skills-pipeline/skills-export.service.js +483 -0
  907. package/dist/services/skills-pipeline/skills-export.service.js.map +1 -0
  908. package/dist/services/skills-pipeline/skills-generator.service.d.ts +118 -0
  909. package/dist/services/skills-pipeline/skills-generator.service.d.ts.map +1 -0
  910. package/dist/services/skills-pipeline/skills-generator.service.js +648 -0
  911. package/dist/services/skills-pipeline/skills-generator.service.js.map +1 -0
  912. package/dist/services/skills-pipeline/skills-research.service.d.ts +112 -0
  913. package/dist/services/skills-pipeline/skills-research.service.d.ts.map +1 -0
  914. package/dist/services/skills-pipeline/skills-research.service.js +471 -0
  915. package/dist/services/skills-pipeline/skills-research.service.js.map +1 -0
  916. package/dist/services/taxonomy-service.d.ts +4 -4
  917. package/dist/services/taxonomy-service.js +1 -1
  918. package/dist/services/template-processor.service.d.ts.map +1 -1
  919. package/dist/services/template-processor.service.js +7 -5
  920. package/dist/services/template-processor.service.js.map +1 -1
  921. package/dist/services/test-runner/mock-llm.service.d.ts.map +1 -1
  922. package/dist/services/test-runner/mock-llm.service.js +1 -2
  923. package/dist/services/test-runner/mock-llm.service.js.map +1 -1
  924. package/dist/services/test-runner/scenarios.d.ts.map +1 -1
  925. package/dist/services/test-runner/scenarios.js +9 -3
  926. package/dist/services/test-runner/scenarios.js.map +1 -1
  927. package/dist/services/test-runner/test-runner.service.d.ts.map +1 -1
  928. package/dist/services/test-runner/test-runner.service.js.map +1 -1
  929. package/dist/services/validation/best-practices-validator.d.ts.map +1 -1
  930. package/dist/services/validation/best-practices-validator.js.map +1 -1
  931. package/dist/services/validation/cost-estimator.d.ts.map +1 -1
  932. package/dist/services/validation/cost-estimator.js +4 -2
  933. package/dist/services/validation/cost-estimator.js.map +1 -1
  934. package/dist/services/validation/enhanced-validator.d.ts.map +1 -1
  935. package/dist/services/validation/enhanced-validator.js +2 -4
  936. package/dist/services/validation/enhanced-validator.js.map +1 -1
  937. package/dist/services/validation/security-validator.d.ts.map +1 -1
  938. package/dist/services/validation/security-validator.js +3 -1
  939. package/dist/services/validation/security-validator.js.map +1 -1
  940. package/dist/services/validation-zod.service.js +1 -1
  941. package/dist/services/validation-zod.service.js.map +1 -1
  942. package/dist/services/validation.service.d.ts +7 -2
  943. package/dist/services/validation.service.d.ts.map +1 -1
  944. package/dist/services/validation.service.js +7 -4
  945. package/dist/services/validation.service.js.map +1 -1
  946. package/dist/services/validators/a2a.validator.js +1 -1
  947. package/dist/services/validators/a2a.validator.js.map +1 -1
  948. package/dist/services/validators/autogen.validator.js +1 -1
  949. package/dist/services/validators/autogen.validator.js.map +1 -1
  950. package/dist/services/validators/contract.validator.js.map +1 -1
  951. package/dist/services/validators/crewai.validator.js +1 -1
  952. package/dist/services/validators/crewai.validator.js.map +1 -1
  953. package/dist/services/validators/dependencies.validator.d.ts +1 -1
  954. package/dist/services/validators/dependencies.validator.d.ts.map +1 -1
  955. package/dist/services/validators/kagent.validator.js +1 -1
  956. package/dist/services/validators/kagent.validator.js.map +1 -1
  957. package/dist/services/validators/langchain.validator.js +1 -1
  958. package/dist/services/validators/langchain.validator.js.map +1 -1
  959. package/dist/services/validators/langgraph.validator.js +1 -1
  960. package/dist/services/validators/langgraph.validator.js.map +1 -1
  961. package/dist/services/validators/mcp.validator.js +1 -1
  962. package/dist/services/validators/mcp.validator.js.map +1 -1
  963. package/dist/services/wizard/prompts.d.ts.map +1 -1
  964. package/dist/services/wizard/prompts.js +37 -14
  965. package/dist/services/wizard/prompts.js.map +1 -1
  966. package/dist/services/wizard/wizard.service.d.ts +1 -1
  967. package/dist/services/wizard/wizard.service.d.ts.map +1 -1
  968. package/dist/services/wizard/wizard.service.js +98 -30
  969. package/dist/services/wizard/wizard.service.js.map +1 -1
  970. package/dist/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
  971. package/dist/spec/extensions/manifest-extensions.md +2 -2
  972. package/dist/spec/registry/README.md +1 -1
  973. package/dist/spec/registry/registry-spec.md +4 -4
  974. package/dist/spec/v0.4/agent-card.schema.json +390 -0
  975. package/dist/spec/v0.4/agent.schema.json +952 -39
  976. package/dist/spec/v0.4/extensions/drupal/drupal.schema.json +77 -0
  977. package/dist/spec/v0.4/extensions/evals/evals.schema.json +597 -0
  978. package/dist/spec/v0.4/extensions/governance/governance-extension.yaml +161 -0
  979. package/dist/spec/v0.4/extensions/identity/identity.schema.json +302 -0
  980. package/dist/spec/v0.4/extensions/kagent/README.md +1 -1
  981. package/dist/spec/v0.4/extensions/team/team.schema.json +304 -0
  982. package/dist/spec/v0.4/validator.schema.json +282 -0
  983. package/dist/spec/v0.5/agent.schema.json +768 -0
  984. package/dist/transports/websocket.d.ts +1 -0
  985. package/dist/transports/websocket.d.ts.map +1 -1
  986. package/dist/transports/websocket.js +10 -2
  987. package/dist/transports/websocket.js.map +1 -1
  988. package/dist/types/architect.d.ts +2 -2
  989. package/dist/types/architect.d.ts.map +1 -1
  990. package/dist/types/dynamic-agent-types.d.ts +158 -0
  991. package/dist/types/dynamic-agent-types.d.ts.map +1 -0
  992. package/dist/types/dynamic-agent-types.js +473 -0
  993. package/dist/types/dynamic-agent-types.js.map +1 -0
  994. package/dist/types/generated/ossa-0.3.4.types.d.ts +63 -0
  995. package/dist/types/generated/ossa-0.3.4.types.d.ts.map +1 -1
  996. package/dist/types/generated/ossa-0.3.4.zod.d.ts +303 -0
  997. package/dist/types/generated/ossa-0.3.4.zod.d.ts.map +1 -1
  998. package/dist/types/generated/ossa-0.3.4.zod.js +92 -0
  999. package/dist/types/generated/ossa-0.3.4.zod.js.map +1 -1
  1000. package/dist/types/identity.zod.d.ts +20 -20
  1001. package/dist/types/index.d.ts +238 -1
  1002. package/dist/types/index.d.ts.map +1 -1
  1003. package/dist/types/index.js +7 -0
  1004. package/dist/types/index.js.map +1 -1
  1005. package/dist/types/personality.zod.d.ts +69 -69
  1006. package/dist/types/prompts.zod.d.ts +2 -2
  1007. package/dist/types/protocols.d.ts +158 -0
  1008. package/dist/types/protocols.d.ts.map +1 -0
  1009. package/dist/types/protocols.js +8 -0
  1010. package/dist/types/protocols.js.map +1 -0
  1011. package/dist/types/security.d.ts +123 -0
  1012. package/dist/types/security.d.ts.map +1 -0
  1013. package/dist/types/security.js +9 -0
  1014. package/dist/types/security.js.map +1 -0
  1015. package/dist/types/tool.d.ts +73 -0
  1016. package/dist/types/tool.d.ts.map +1 -0
  1017. package/dist/types/tool.js +66 -0
  1018. package/dist/types/tool.js.map +1 -0
  1019. package/dist/utils/logger.d.ts +82 -0
  1020. package/dist/utils/logger.d.ts.map +1 -0
  1021. package/dist/utils/logger.js +250 -0
  1022. package/dist/utils/logger.js.map +1 -0
  1023. package/dist/utils/version.d.ts +9 -9
  1024. package/dist/utils/version.d.ts.map +1 -1
  1025. package/dist/utils/version.js +11 -18
  1026. package/dist/utils/version.js.map +1 -1
  1027. package/dist/validation/error-codes.js +5 -5
  1028. package/dist/validation/error-codes.js.map +1 -1
  1029. package/dist/validation/index.d.ts +3 -0
  1030. package/dist/validation/index.d.ts.map +1 -1
  1031. package/dist/validation/index.js +6 -0
  1032. package/dist/validation/index.js.map +1 -1
  1033. package/dist/validation/linter.d.ts +3 -3
  1034. package/dist/validation/linter.js +4 -4
  1035. package/dist/validation/linter.js.map +1 -1
  1036. package/dist/validation/progressive-scorer.d.ts +123 -0
  1037. package/dist/validation/progressive-scorer.d.ts.map +1 -0
  1038. package/dist/validation/progressive-scorer.js +353 -0
  1039. package/dist/validation/progressive-scorer.js.map +1 -0
  1040. package/dist/validation/validation-context.d.ts +86 -0
  1041. package/dist/validation/validation-context.d.ts.map +1 -0
  1042. package/dist/validation/validation-context.js +138 -0
  1043. package/dist/validation/validation-context.js.map +1 -0
  1044. package/dist/validation/validator-registry.d.ts +158 -0
  1045. package/dist/validation/validator-registry.d.ts.map +1 -0
  1046. package/dist/validation/validator-registry.js +245 -0
  1047. package/dist/validation/validator-registry.js.map +1 -0
  1048. package/dist/validation/validator.d.ts +3 -3
  1049. package/dist/validation/validator.d.ts.map +1 -1
  1050. package/dist/validation/validator.js +4 -4
  1051. package/dist/validation/validator.js.map +1 -1
  1052. package/dist/version-management/api/server.d.ts.map +1 -1
  1053. package/dist/version-management/api/server.js.map +1 -1
  1054. package/dist/version-management/cli/index.js +8 -1
  1055. package/dist/version-management/cli/index.js.map +1 -1
  1056. package/dist/version-management/core/version-manager.d.ts.map +1 -1
  1057. package/dist/version-management/core/version-manager.js +5 -2
  1058. package/dist/version-management/core/version-manager.js.map +1 -1
  1059. package/dist/version-management/core/version-manager.test.js.map +1 -1
  1060. package/dist/version.d.ts +1 -1
  1061. package/dist/version.d.ts.map +1 -1
  1062. package/dist/version.js +10 -7
  1063. package/dist/version.js.map +1 -1
  1064. package/examples/a2a/agent-handoff.ossa.yaml +1 -1
  1065. package/examples/a2a/service-discovery.ossa.yaml +1 -1
  1066. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  1067. package/examples/adapters/drupal-eca-task.yaml +1 -1
  1068. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  1069. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  1070. package/examples/adapters/mistral-README.md +1 -1
  1071. package/examples/adapters/mistral-agent.yaml +1 -1
  1072. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  1073. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  1074. package/examples/adk-integration/code-review-workflow.yml +1 -1
  1075. package/examples/adk-integration/customer-support.yml +1 -1
  1076. package/examples/adk-integration/data-pipeline.yml +1 -1
  1077. package/examples/advanced/reasoning-agent.yaml +1 -1
  1078. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  1079. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  1080. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  1081. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  1082. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  1083. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  1084. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  1085. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  1086. package/examples/agent-manifests/v0.5-identity-security-protocols.ossa.yaml +159 -0
  1087. package/examples/agent-manifests/v0.5-minimal.ossa.yaml +37 -0
  1088. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  1089. package/examples/agent-mesh/DISCOVERY.md +679 -0
  1090. package/examples/agent-mesh/discovery-system.ts +670 -0
  1091. package/examples/agent-taxonomy-example.ossa.yaml +89 -0
  1092. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +1 -1
  1093. package/examples/agents/02-code-review-agent/agent.ossa.yaml +50 -1
  1094. package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +56 -1
  1095. package/examples/agents/04-content-moderator/agent.ossa.yaml +1 -1
  1096. package/examples/agents/05-sales-assistant/agent.ossa.yaml +1 -1
  1097. package/examples/agents/06-devops-agent/agent.ossa.yaml +48 -1
  1098. package/examples/agents/07-research-assistant/agent.ossa.yaml +62 -2
  1099. package/examples/agents/08-email-triage-agent/agent.ossa.yaml +1 -1
  1100. package/examples/agents/09-security-scanner/agent.ossa.yaml +47 -1
  1101. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +1 -1
  1102. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  1103. package/examples/agents/dependency-healer-npm.yaml +1 -1
  1104. package/examples/agents/spec-healer-openapi.yaml +1 -1
  1105. package/examples/agents/wiki-healer-production.yaml +1 -1
  1106. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  1107. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  1108. package/examples/build-once-use-everywhere/README.md +3 -3
  1109. package/examples/build-once-use-everywhere/agent.ossa.yaml +1 -1
  1110. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  1111. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  1112. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  1113. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  1114. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  1115. package/examples/contracts/data-producer.ossa.yaml +1 -1
  1116. package/examples/deployment-workflow.md +601 -0
  1117. package/examples/drupal/QUICKSTART.md +8 -8
  1118. package/examples/drupal/content-moderator.ossa.yaml +1 -1
  1119. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  1120. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +1 -1
  1121. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +1 -1
  1122. package/examples/extensions/agents-md-advanced.yml +1 -1
  1123. package/examples/extensions/agents-md-basic.yml +1 -1
  1124. package/examples/extensions/agents-md-sync.yml +1 -1
  1125. package/examples/extensions/agents-md-v1.yml +3 -3
  1126. package/examples/extensions/drupal-v1.yml +1 -1
  1127. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  1128. package/examples/extensions/kagent-v1.yml +1 -1
  1129. package/examples/extensions/knowledge-sources.yaml +1 -1
  1130. package/examples/extensions/mcp-full-featured.yaml +1 -1
  1131. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  1132. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  1133. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  1134. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  1135. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  1136. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -1
  1137. package/examples/gitlab-agents/DEPLOYMENT.md +331 -0
  1138. package/examples/gitlab-agents/daily-code-scan/.env.example +11 -0
  1139. package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +34 -0
  1140. package/examples/gitlab-agents/daily-code-scan/Dockerfile +18 -0
  1141. package/examples/gitlab-agents/daily-code-scan/README.md +80 -0
  1142. package/examples/gitlab-agents/daily-code-scan/package.json +28 -0
  1143. package/examples/gitlab-agents/daily-code-scan/src/gitlab-client.ts +135 -0
  1144. package/examples/gitlab-agents/daily-code-scan/src/index.ts +50 -0
  1145. package/examples/gitlab-agents/daily-code-scan/src/types.ts +22 -0
  1146. package/examples/gitlab-agents/daily-code-scan/src/workflow.ts +109 -0
  1147. package/examples/gitlab-agents/daily-code-scan/tsconfig.json +24 -0
  1148. package/examples/gitlab-agents/duo-comment-responder/.env.example +14 -0
  1149. package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +34 -0
  1150. package/examples/gitlab-agents/duo-comment-responder/Dockerfile +18 -0
  1151. package/examples/gitlab-agents/duo-comment-responder/README.md +98 -0
  1152. package/examples/gitlab-agents/duo-comment-responder/package.json +29 -0
  1153. package/examples/gitlab-agents/duo-comment-responder/src/gitlab-client.ts +56 -0
  1154. package/examples/gitlab-agents/duo-comment-responder/src/index.ts +103 -0
  1155. package/examples/gitlab-agents/duo-comment-responder/src/llm-client.ts +75 -0
  1156. package/examples/gitlab-agents/duo-comment-responder/src/types.ts +22 -0
  1157. package/examples/gitlab-agents/duo-comment-responder/src/workflow.ts +135 -0
  1158. package/examples/gitlab-agents/duo-comment-responder/tsconfig.json +24 -0
  1159. package/examples/gitlab-agents/duo-comment-responder/webhook-config.json +11 -0
  1160. package/examples/gitlab-agents/k8s/deploy-all.yaml +341 -0
  1161. package/examples/gitlab-agents/mr-reviewer/.env.example +14 -0
  1162. package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +34 -0
  1163. package/examples/gitlab-agents/mr-reviewer/Dockerfile +18 -0
  1164. package/examples/gitlab-agents/mr-reviewer/README.md +98 -0
  1165. package/examples/gitlab-agents/mr-reviewer/package.json +29 -0
  1166. package/examples/gitlab-agents/mr-reviewer/src/gitlab-client.ts +136 -0
  1167. package/examples/gitlab-agents/mr-reviewer/src/index.ts +103 -0
  1168. package/examples/gitlab-agents/mr-reviewer/src/llm-client.ts +95 -0
  1169. package/examples/gitlab-agents/mr-reviewer/src/types.ts +22 -0
  1170. package/examples/gitlab-agents/mr-reviewer/src/workflow.ts +144 -0
  1171. package/examples/gitlab-agents/mr-reviewer/tsconfig.json +24 -0
  1172. package/examples/gitlab-agents/mr-reviewer/webhook-config.json +11 -0
  1173. package/examples/gitlab-agents/pipeline-auto-fix/.env.example +14 -0
  1174. package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +34 -0
  1175. package/examples/gitlab-agents/pipeline-auto-fix/Dockerfile +18 -0
  1176. package/examples/gitlab-agents/pipeline-auto-fix/README.md +98 -0
  1177. package/examples/gitlab-agents/pipeline-auto-fix/package.json +29 -0
  1178. package/examples/gitlab-agents/pipeline-auto-fix/src/gitlab-client.ts +76 -0
  1179. package/examples/gitlab-agents/pipeline-auto-fix/src/index.ts +103 -0
  1180. package/examples/gitlab-agents/pipeline-auto-fix/src/llm-client.ts +79 -0
  1181. package/examples/gitlab-agents/pipeline-auto-fix/src/types.ts +22 -0
  1182. package/examples/gitlab-agents/pipeline-auto-fix/src/workflow.ts +146 -0
  1183. package/examples/gitlab-agents/pipeline-auto-fix/tsconfig.json +24 -0
  1184. package/examples/gitlab-agents/pipeline-auto-fix/webhook-config.json +11 -0
  1185. package/examples/gitlab-agents/pre-commit-quality-check/.env.example +11 -0
  1186. package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +34 -0
  1187. package/examples/gitlab-agents/pre-commit-quality-check/Dockerfile +18 -0
  1188. package/examples/gitlab-agents/pre-commit-quality-check/README.md +80 -0
  1189. package/examples/gitlab-agents/pre-commit-quality-check/package.json +28 -0
  1190. package/examples/gitlab-agents/pre-commit-quality-check/src/gitlab-client.ts +20 -0
  1191. package/examples/gitlab-agents/pre-commit-quality-check/src/index.ts +50 -0
  1192. package/examples/gitlab-agents/pre-commit-quality-check/src/types.ts +22 -0
  1193. package/examples/gitlab-agents/pre-commit-quality-check/src/workflow.ts +63 -0
  1194. package/examples/gitlab-agents/pre-commit-quality-check/tsconfig.json +24 -0
  1195. package/examples/gitlab-agents/pre-push-validation/.env.example +11 -0
  1196. package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +34 -0
  1197. package/examples/gitlab-agents/pre-push-validation/Dockerfile +18 -0
  1198. package/examples/gitlab-agents/pre-push-validation/README.md +80 -0
  1199. package/examples/gitlab-agents/pre-push-validation/package.json +28 -0
  1200. package/examples/gitlab-agents/pre-push-validation/src/gitlab-client.ts +20 -0
  1201. package/examples/gitlab-agents/pre-push-validation/src/index.ts +50 -0
  1202. package/examples/gitlab-agents/pre-push-validation/src/types.ts +22 -0
  1203. package/examples/gitlab-agents/pre-push-validation/src/workflow.ts +63 -0
  1204. package/examples/gitlab-agents/pre-push-validation/tsconfig.json +24 -0
  1205. package/examples/gitlab-duo/EXTERNAL_AGENTS.md +466 -0
  1206. package/examples/gitlab-duo/README.md +307 -0
  1207. package/examples/gitlab-duo/code-review-flow.yaml +62 -0
  1208. package/examples/gitlab-duo/external-agent-example.ts +192 -0
  1209. package/examples/gitlab-duo/generated/custom-vars-agent.yaml +45 -0
  1210. package/examples/gitlab-duo/generated/go-agent.yaml +41 -0
  1211. package/examples/gitlab-duo/generated/python-agent.yaml +43 -0
  1212. package/examples/gitlab-duo/generated/webhook-agent.yaml +52 -0
  1213. package/examples/hierarchical-agent.ossa.yaml +126 -0
  1214. package/examples/hierarchical-crewai.ossa.yaml +96 -0
  1215. package/examples/infrastructure/token-rotation/README.md +117 -0
  1216. package/examples/infrastructure/token-rotation/manifest.ossa.yaml +73 -0
  1217. package/examples/infrastructure/token-rotation/openapi.yaml +133 -0
  1218. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
  1219. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  1220. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  1221. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  1222. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  1223. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  1224. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  1225. package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +289 -0
  1226. package/examples/mcp/browser-puppeteer.ossa.yaml +232 -0
  1227. package/examples/mcp/database-mcp.ossa.yaml +1 -1
  1228. package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
  1229. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  1230. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  1231. package/examples/messaging/routing-rules.ossa.yaml +1 -1
  1232. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  1233. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  1234. package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +1 -1
  1235. package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +1 -1
  1236. package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +1 -1
  1237. package/examples/migrations/langchain/04-config-based-after.ossa.yaml +1 -1
  1238. package/examples/migrations/langchain/USAGE.txt +1 -1
  1239. package/examples/migrations/swarm-to-ossa/QUICKSTART.md +3 -3
  1240. package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +6 -6
  1241. package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +3 -3
  1242. package/examples/minimal/agent.yml +1 -1
  1243. package/examples/mr-reviewer-with-governance.ossa.yaml +130 -0
  1244. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  1245. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  1246. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  1247. package/examples/multi-agent-research-workflow.ossa.yaml +1 -1
  1248. package/examples/multi-platform/single-manifest/agent.ossa.yaml +1 -1
  1249. package/examples/observability/activity-stream-full.yaml +1 -1
  1250. package/examples/openai/basic-agent.ossa.yaml +1 -1
  1251. package/examples/ossa-templates/01-code-assistant.ossa.yaml +1 -1
  1252. package/examples/ossa-templates/02-security-scanner.ossa.yaml +1 -1
  1253. package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +1 -1
  1254. package/examples/ossa-templates/04-code-reviewer.ossa.yaml +1 -1
  1255. package/examples/ossa-templates/05-doc-generator.ossa.yaml +1 -1
  1256. package/examples/ossa-templates/06-compliance-validator.ossa.yaml +1 -1
  1257. package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +1 -1
  1258. package/examples/ossa-templates/08-content-writer.ossa.yaml +1 -1
  1259. package/examples/ossa-templates/09-test-generator.ossa.yaml +1 -1
  1260. package/examples/ossa-templates/10-data-transformer.ossa.yaml +1 -1
  1261. package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
  1262. package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
  1263. package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
  1264. package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
  1265. package/examples/pipeline-agent.ossa.yaml +196 -0
  1266. package/examples/platform-specific/claude-code-subagent.yaml +185 -0
  1267. package/examples/platform-specific/cursor-coding-agent.yaml +175 -0
  1268. package/examples/platform-specific/warp-terminal-agent.yaml +122 -0
  1269. package/examples/production/document-analyzer-openai.yml +1 -1
  1270. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +1 -1
  1271. package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +1 -1
  1272. package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +1 -1
  1273. package/examples/production-ready/04-content-moderator/agent.ossa.yaml +1 -1
  1274. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +1 -1
  1275. package/examples/production-ready/06-devops-agent/agent.ossa.yaml +1 -1
  1276. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +1 -1
  1277. package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +1 -1
  1278. package/examples/production-ready/09-security-scanner/agent.ossa.yaml +1 -1
  1279. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +1 -1
  1280. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  1281. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  1282. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  1283. package/examples/reference-implementations/python-client/README.md +2 -2
  1284. package/examples/reference-implementations/typescript-client/README.md +1 -1
  1285. package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
  1286. package/examples/registry/agents/security-scanner/agent.yaml +1 -1
  1287. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  1288. package/examples/schema/reusable-components.yaml +1 -1
  1289. package/examples/showcase/PRODUCTION_EXAMPLES.md +499 -0
  1290. package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
  1291. package/examples/showcase/code-assistant.ossa.yaml +1 -1
  1292. package/examples/showcase/code-reviewer.ossa.yaml +1 -1
  1293. package/examples/showcase/compliance-checker.ossa.yaml +207 -0
  1294. package/examples/showcase/compliance-validator.ossa.yaml +1 -1
  1295. package/examples/showcase/content-writer.ossa.yaml +1 -1
  1296. package/examples/showcase/customer-support.ossa.yaml +344 -0
  1297. package/examples/showcase/data-processing-pipeline.ossa.yaml +254 -0
  1298. package/examples/showcase/data-transformer.ossa.yaml +1 -1
  1299. package/examples/showcase/doc-generator.ossa.yaml +1 -1
  1300. package/examples/showcase/full-power-agent.ossa.yaml +350 -0
  1301. package/examples/showcase/security-scanner-enhanced.ossa.yaml +304 -0
  1302. package/examples/showcase/security-scanner.ossa.yaml +1 -1
  1303. package/examples/showcase/team-leader.ossa.yaml +306 -0
  1304. package/examples/showcase/test-generator.ossa.yaml +1 -1
  1305. package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
  1306. package/examples/single-agent.ossa.yaml +40 -0
  1307. package/examples/skills-example.ossa.yaml +1 -1
  1308. package/examples/subagents-pipeline.ossa.yaml +76 -0
  1309. package/examples/swarm-agent.ossa.yaml +136 -0
  1310. package/examples/swarm-handoff.ossa.yaml +67 -0
  1311. package/examples/tasks/batch-email-sender.yaml +1 -1
  1312. package/examples/tasks/data-transform.yaml +1 -1
  1313. package/examples/tasks/publish-content.yaml +1 -1
  1314. package/examples/team-agent.ossa.yaml +159 -0
  1315. package/examples/team-lead-teammate.ossa.yaml +83 -0
  1316. package/examples/templates/ossa-compliance.yaml +1 -1
  1317. package/examples/unified/security-scanner.ossa.yaml +1 -1
  1318. package/examples/workflows/batch-email-campaign.yaml +1 -1
  1319. package/examples/workflows/content-review-publish.yaml +1 -1
  1320. package/examples/workflows/simple-etl.yaml +1 -1
  1321. package/openapi/agents-md-service.yaml +1 -1
  1322. package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
  1323. package/openapi/ossa-cli-enhancements.openapi.yaml +3 -3
  1324. package/openapi/ossa-cli.yaml +1 -1
  1325. package/openapi/protocols/sse-streams.yaml +1 -1
  1326. package/openapi/protocols/websocket-events.yaml +2 -2
  1327. package/openapi/release-automation.openapi.yaml +1 -1
  1328. package/package.json +49 -28
  1329. package/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
  1330. package/spec/extensions/manifest-extensions.md +2 -2
  1331. package/spec/registry/README.md +1 -1
  1332. package/spec/registry/registry-spec.md +4 -4
  1333. package/spec/v0.4/agent-card.schema.json +390 -0
  1334. package/spec/v0.4/agent.schema.json +952 -39
  1335. package/spec/v0.4/extensions/drupal/drupal.schema.json +77 -0
  1336. package/spec/v0.4/extensions/evals/evals.schema.json +597 -0
  1337. package/spec/v0.4/extensions/governance/governance-extension.yaml +161 -0
  1338. package/spec/v0.4/extensions/identity/identity.schema.json +302 -0
  1339. package/spec/v0.4/extensions/kagent/README.md +1 -1
  1340. package/spec/v0.4/extensions/team/team.schema.json +304 -0
  1341. package/spec/v0.4/validator.schema.json +282 -0
  1342. package/spec/v0.5/agent.schema.json +768 -0
  1343. package/templates/agent-types/claude-agent.ossa.yaml +83 -0
  1344. package/templates/agent-types/kagent.ossa.yaml +110 -0
  1345. package/templates/agent-types/langchain-agent.ossa.yaml +106 -0
  1346. package/templates/agent-types/openapi-agent.ossa.yaml +121 -0
  1347. package/templates/agent-types/swarm-agents.ossa.yaml +168 -0
  1348. package/templates/ci-cd/github-actions.deploy.yml +272 -0
  1349. package/templates/ci-cd/gitlab-ci.deploy.yml +205 -0
  1350. package/templates/validators/capability-compatibility.ossa.yaml +174 -0
  1351. package/templates/validators/coordination-consistency.ossa.yaml +160 -0
  1352. package/templates/validators/pattern-requirements.ossa.yaml +182 -0
  1353. package/templates/validators/transport-compatibility.ossa.yaml +185 -0
  1354. package/.wiki-config.json +0 -24
  1355. package/DEMO.md +0 -212
  1356. package/dist/adapters/anthropic/runtime.d.ts +0 -136
  1357. package/dist/adapters/anthropic/runtime.d.ts.map +0 -1
  1358. package/dist/adapters/anthropic/runtime.js +0 -290
  1359. package/dist/adapters/anthropic/runtime.js.map +0 -1
  1360. package/dist/cli/commands/agent-create.command.d.ts +0 -18
  1361. package/dist/cli/commands/agent-create.command.d.ts.map +0 -1
  1362. package/dist/cli/commands/agent-create.command.js +0 -437
  1363. package/dist/cli/commands/agent-create.command.js.map +0 -1
  1364. package/dist/cli/commands/catalog/diff.command.d.ts +0 -8
  1365. package/dist/cli/commands/catalog/diff.command.d.ts.map +0 -1
  1366. package/dist/cli/commands/catalog/diff.command.js +0 -76
  1367. package/dist/cli/commands/catalog/diff.command.js.map +0 -1
  1368. package/dist/cli/commands/catalog/pull.command.d.ts +0 -8
  1369. package/dist/cli/commands/catalog/pull.command.d.ts.map +0 -1
  1370. package/dist/cli/commands/catalog/pull.command.js +0 -87
  1371. package/dist/cli/commands/catalog/pull.command.js.map +0 -1
  1372. package/dist/cli/commands/catalog/push.command.d.ts +0 -8
  1373. package/dist/cli/commands/catalog/push.command.d.ts.map +0 -1
  1374. package/dist/cli/commands/catalog/push.command.js +0 -98
  1375. package/dist/cli/commands/catalog/push.command.js.map +0 -1
  1376. package/dist/cli/commands/catalog/sync.command.d.ts +0 -8
  1377. package/dist/cli/commands/catalog/sync.command.d.ts.map +0 -1
  1378. package/dist/cli/commands/catalog/sync.command.js +0 -69
  1379. package/dist/cli/commands/catalog/sync.command.js.map +0 -1
  1380. package/dist/cli/commands/setup.command.d.ts +0 -11
  1381. package/dist/cli/commands/setup.command.d.ts.map +0 -1
  1382. package/dist/cli/commands/setup.command.js +0 -354
  1383. package/dist/cli/commands/setup.command.js.map +0 -1
  1384. package/dist/spec/v0.3/CHANGELOG.md +0 -237
  1385. package/dist/spec/v0.3/MIGRATION-v0.3.4-to-v0.3.5.md +0 -292
  1386. package/dist/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +0 -552
  1387. package/dist/spec/v0.3/README.md +0 -366
  1388. package/dist/spec/v0.3/adoption-blockers.json +0 -142
  1389. package/dist/spec/v0.3/bat-framework.schema.json +0 -114
  1390. package/dist/spec/v0.3/capability-discovery.schema.json +0 -128
  1391. package/dist/spec/v0.3/checkpoint.schema.json +0 -132
  1392. package/dist/spec/v0.3/completion-signals.schema.json +0 -136
  1393. package/dist/spec/v0.3/conformance/IMPLEMENTATION.md +0 -402
  1394. package/dist/spec/v0.3/conformance/PROFILES.md +0 -210
  1395. package/dist/spec/v0.3/conformance/README.md +0 -263
  1396. package/dist/spec/v0.3/conformance/profiles/baseline.json +0 -27
  1397. package/dist/spec/v0.3/conformance/profiles/enterprise.json +0 -33
  1398. package/dist/spec/v0.3/conformance/profiles/gitlab-kagent.json +0 -36
  1399. package/dist/spec/v0.3/conformance/tests/baseline/invalid/missing-identity.yaml +0 -6
  1400. package/dist/spec/v0.3/conformance/tests/baseline/invalid/missing-kind.yaml +0 -7
  1401. package/dist/spec/v0.3/conformance/tests/baseline/valid/basic-agent.yaml +0 -22
  1402. package/dist/spec/v0.3/conformance/tests/baseline/valid/minimal-agent.yaml +0 -15
  1403. package/dist/spec/v0.3/conformance/tests/enterprise/valid/enterprise-agent.yaml +0 -88
  1404. package/dist/spec/v0.3/conformance/tests/enterprise/valid/production-agent.yaml +0 -112
  1405. package/dist/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-agent.yaml +0 -117
  1406. package/dist/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-full.yaml +0 -125
  1407. package/dist/spec/v0.3/examples/checkpoint-example.ossa.yaml +0 -81
  1408. package/dist/spec/v0.3/examples/flow-example.ossa.yaml +0 -119
  1409. package/dist/spec/v0.3/examples/forward-thinking-agent.ossa.yaml +0 -294
  1410. package/dist/spec/v0.3/examples/moe-example.ossa.yaml +0 -120
  1411. package/dist/spec/v0.3/extensions/a2a/README.md +0 -193
  1412. package/dist/spec/v0.3/extensions/a2a/a2a.schema.json +0 -77
  1413. package/dist/spec/v0.3/extensions/ag2/ag2.schema.json +0 -277
  1414. package/dist/spec/v0.3/extensions/crewai/crewai.schema.json +0 -256
  1415. package/dist/spec/v0.3/extensions/kagent/README.md +0 -315
  1416. package/dist/spec/v0.3/extensions/kagent/kagent.schema.json +0 -624
  1417. package/dist/spec/v0.3/extensions/langchain/langchain.schema.json +0 -243
  1418. package/dist/spec/v0.3/extensions/langgraph/langgraph.schema.json +0 -211
  1419. package/dist/spec/v0.3/extensions/mcp/README.md +0 -276
  1420. package/dist/spec/v0.3/extensions/mcp/mcp.schema.json +0 -84
  1421. package/dist/spec/v0.3/feedback-loops.schema.json +0 -145
  1422. package/dist/spec/v0.3/flow-kind.schema.json +0 -244
  1423. package/dist/spec/v0.3/infrastructure-substrate.schema.json +0 -190
  1424. package/dist/spec/v0.3/mixture-of-experts.schema.json +0 -159
  1425. package/dist/spec/v0.3/moe-metrics.schema.json +0 -162
  1426. package/dist/spec/v0.3/ossa-0.3.5.schema.json +0 -13534
  1427. package/dist/spec/v0.3/ossa-0.3.6.schema.json +0 -14920
  1428. package/dist/spec/v0.3/ossa-v0.3.schema.json +0 -15824
  1429. package/dist/spec/v0.3/registry/registry-contract.schema.json +0 -359
  1430. package/dist/spec/v0.3.6/CHANGELOG.md +0 -171
  1431. package/dist/spec/v0.3.6/README.md +0 -382
  1432. package/dist/spec/v0.3.6/taxonomy.yaml +0 -506
  1433. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  1434. package/examples/migrations/swarm-to-ossa/before-handoffs.py +0 -373
  1435. package/examples/v0.3.6/full-featured-v0.3.6.ossa.yaml +0 -304
  1436. package/examples/v0.3.6/gitlab-duo-composite-identity.ossa.yaml +0 -119
  1437. package/examples/v0.3.6/knowledge-graph-integration.ossa.yaml +0 -109
  1438. package/examples/v0.3.6/token-efficiency-economy.ossa.yaml +0 -111
  1439. package/examples/v0.3.6-features/README.md +0 -433
  1440. package/examples/v0.3.6-features/genetics-breeding-advanced.ossa.yaml +0 -496
  1441. package/examples/v0.3.6-features/genetics-breeding-simple.ossa.yaml +0 -304
  1442. package/examples/v0.3.6-features/genetics-fitness-scoring.ossa.yaml +0 -551
  1443. package/junit.xml +0 -1469
  1444. package/llms-ctx-full.txt +0 -41
  1445. package/llms-ctx.txt +0 -41
  1446. package/schemas/capability-contract.v0.json +0 -116
  1447. package/schemas/identity.lock.schema.json +0 -59
  1448. package/schemas/identity.plan.schema.json +0 -132
  1449. package/spec/v0.3/CHANGELOG.md +0 -237
  1450. package/spec/v0.3/MIGRATION-v0.3.4-to-v0.3.5.md +0 -292
  1451. package/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +0 -552
  1452. package/spec/v0.3/README.md +0 -366
  1453. package/spec/v0.3/adoption-blockers.json +0 -142
  1454. package/spec/v0.3/bat-framework.schema.json +0 -114
  1455. package/spec/v0.3/capability-discovery.schema.json +0 -128
  1456. package/spec/v0.3/checkpoint.schema.json +0 -132
  1457. package/spec/v0.3/completion-signals.schema.json +0 -136
  1458. package/spec/v0.3/conformance/IMPLEMENTATION.md +0 -402
  1459. package/spec/v0.3/conformance/PROFILES.md +0 -210
  1460. package/spec/v0.3/conformance/README.md +0 -263
  1461. package/spec/v0.3/conformance/profiles/baseline.json +0 -27
  1462. package/spec/v0.3/conformance/profiles/enterprise.json +0 -33
  1463. package/spec/v0.3/conformance/profiles/gitlab-kagent.json +0 -36
  1464. package/spec/v0.3/conformance/tests/baseline/invalid/missing-identity.yaml +0 -6
  1465. package/spec/v0.3/conformance/tests/baseline/invalid/missing-kind.yaml +0 -7
  1466. package/spec/v0.3/conformance/tests/baseline/valid/basic-agent.yaml +0 -22
  1467. package/spec/v0.3/conformance/tests/baseline/valid/minimal-agent.yaml +0 -15
  1468. package/spec/v0.3/conformance/tests/enterprise/valid/enterprise-agent.yaml +0 -88
  1469. package/spec/v0.3/conformance/tests/enterprise/valid/production-agent.yaml +0 -112
  1470. package/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-agent.yaml +0 -117
  1471. package/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-full.yaml +0 -125
  1472. package/spec/v0.3/examples/checkpoint-example.ossa.yaml +0 -81
  1473. package/spec/v0.3/examples/flow-example.ossa.yaml +0 -119
  1474. package/spec/v0.3/examples/forward-thinking-agent.ossa.yaml +0 -294
  1475. package/spec/v0.3/examples/moe-example.ossa.yaml +0 -120
  1476. package/spec/v0.3/extensions/a2a/README.md +0 -193
  1477. package/spec/v0.3/extensions/a2a/a2a.schema.json +0 -77
  1478. package/spec/v0.3/extensions/ag2/ag2.schema.json +0 -277
  1479. package/spec/v0.3/extensions/crewai/crewai.schema.json +0 -256
  1480. package/spec/v0.3/extensions/kagent/README.md +0 -315
  1481. package/spec/v0.3/extensions/kagent/kagent.schema.json +0 -624
  1482. package/spec/v0.3/extensions/langchain/langchain.schema.json +0 -243
  1483. package/spec/v0.3/extensions/langgraph/langgraph.schema.json +0 -211
  1484. package/spec/v0.3/extensions/mcp/README.md +0 -276
  1485. package/spec/v0.3/extensions/mcp/mcp.schema.json +0 -84
  1486. package/spec/v0.3/feedback-loops.schema.json +0 -145
  1487. package/spec/v0.3/flow-kind.schema.json +0 -244
  1488. package/spec/v0.3/infrastructure-substrate.schema.json +0 -190
  1489. package/spec/v0.3/mixture-of-experts.schema.json +0 -159
  1490. package/spec/v0.3/moe-metrics.schema.json +0 -162
  1491. package/spec/v0.3/ossa-0.3.5.schema.json +0 -13534
  1492. package/spec/v0.3/ossa-0.3.6.schema.json +0 -14920
  1493. package/spec/v0.3/ossa-v0.3.schema.json +0 -15824
  1494. package/spec/v0.3/registry/registry-contract.schema.json +0 -359
  1495. package/spec/v0.3.6/CHANGELOG.md +0 -171
  1496. package/spec/v0.3.6/README.md +0 -382
  1497. package/spec/v0.3.6/taxonomy.yaml +0 -506
  1498. package/templates/agent-types/analyzer/cost-analyzer.yaml +0 -38
  1499. package/templates/agent-types/analyzer/performance-profiler.yaml +0 -38
  1500. package/templates/agent-types/analyzer/security-scanner.yaml +0 -36
  1501. package/templates/agent-types/backend/api-validator.yaml +0 -37
  1502. package/templates/agent-types/backend/load-balancer.yaml +0 -39
  1503. package/templates/agent-types/content/content-generator.yaml +0 -40
  1504. package/templates/agent-types/content/seo-optimizer.yaml +0 -39
  1505. package/templates/agent-types/data/data-processor.yaml +0 -38
  1506. package/templates/agent-types/data/report-generator.yaml +0 -40
  1507. package/templates/agent-types/development/code-generator.yaml +0 -39
  1508. package/templates/agent-types/development/dependency-updater.yaml +0 -38
  1509. package/templates/agent-types/frontend/accessibility-checker.yaml +0 -38
  1510. package/templates/agent-types/frontend/ui-tester.yaml +0 -38
  1511. package/templates/agent-types/infrastructure/deployment-automator.yaml +0 -39
  1512. package/templates/agent-types/infrastructure/resource-optimizer.yaml +0 -38
  1513. package/templates/agent-types/monitor/health-checker.yaml +0 -37
  1514. package/templates/agent-types/monitor/log-analyzer.yaml +0 -37
  1515. package/templates/agent-types/orchestrator/multi-agent-coordinator.yaml +0 -38
  1516. package/templates/agent-types/orchestrator/workflow-manager.yaml +0 -39
  1517. package/templates/agent-types/security/compliance-checker.yaml +0 -38
  1518. package/templates/agent-types/security/vulnerability-scanner.yaml +0 -38
  1519. package/templates/agent-types/worker/api-tester.yaml +0 -43
  1520. package/templates/agent-types/worker/code-reviewer.yaml +0 -39
  1521. package/templates/agent-types/worker/database-migrator.yaml +0 -38
  1522. package/templates/platforms/cursor/code-assistant/manifest.ossa.yaml +0 -40
  1523. package/templates/platforms/drupal/content-agent/manifest.ossa.yaml +0 -39
  1524. package/templates/platforms/gitlab/ci-agent/manifest.ossa.yaml +0 -41
  1525. package/templates/platforms/kubernetes/operator-agent/manifest.ossa.yaml +0 -39
  1526. package/templates/platforms/langflow/workflow-agent/manifest.ossa.yaml +0 -38
@@ -0,0 +1,1603 @@
1
+ /**
2
+ * Evals Generator Service for OSSA Agent Manifests
3
+ *
4
+ * Generates evaluation scaffolding based on the CLEAR framework:
5
+ * - Cost: Token budget, per-request spend limits
6
+ * - Latency: Response time SLOs, timeout thresholds
7
+ * - Accuracy: Golden-set input/output pairs per tool
8
+ * - Reliability: Error-rate budgets, retry behavior, uptime
9
+ * - Security: Prompt injection resistance, PII handling, auth
10
+ *
11
+ * Produces:
12
+ * evals/eval-config.yaml — CLEAR framework config
13
+ * evals/golden-sets/{tool-name}.yaml — Per-tool golden test pairs
14
+ * evals/test-cases/capabilities.yaml — Role-based capability scenarios
15
+ * evals/test-cases/team-coordination.yaml — Multi-agent coordination tests
16
+ *
17
+ * SOLID: Single Responsibility — eval scaffolding generation only
18
+ * DRY: Reusable across all OSSA adapters via Perfect Agent export
19
+ */
20
+ import * as yaml from 'yaml';
21
+ // ─── Service ────────────────────────────────────────────────────────────────
22
+ /**
23
+ * Generates CLEAR-framework evaluation scaffolding from an OSSA manifest.
24
+ *
25
+ * Usage:
26
+ * ```ts
27
+ * const service = new EvalsGeneratorService();
28
+ * const files: ExportFile[] = service.generate(manifest);
29
+ * ```
30
+ */
31
+ export class EvalsGeneratorService {
32
+ /**
33
+ * Generate all evaluation files from an OSSA agent manifest.
34
+ */
35
+ generate(manifest) {
36
+ const files = [];
37
+ // 1. CLEAR framework eval config
38
+ files.push(this.generateEvalConfig(manifest));
39
+ // 2. Per-tool golden sets
40
+ const tools = this.resolveTools(manifest);
41
+ for (const tool of tools) {
42
+ const toolName = tool.name ?? 'unnamed-tool';
43
+ files.push(this.generateGoldenSet(manifest, tool, toolName));
44
+ }
45
+ // 3. Capability test cases
46
+ files.push(this.generateCapabilityTests(manifest));
47
+ // 4. Team coordination tests (only for multi-agent manifests)
48
+ if (this.isMultiAgent(manifest)) {
49
+ files.push(this.generateTeamCoordinationTests(manifest));
50
+ }
51
+ return files;
52
+ }
53
+ // ── CLEAR Config ────────────────────────────────────────────────────────
54
+ generateEvalConfig(manifest) {
55
+ const meta = manifest.metadata;
56
+ const spec = manifest.spec;
57
+ const constraints = spec?.constraints;
58
+ const autonomy = spec?.autonomy;
59
+ const llm = spec?.llm;
60
+ const tools = this.resolveTools(manifest);
61
+ const maxLatency = constraints?.performance?.maxLatencySeconds ?? 10;
62
+ const maxErrorRate = constraints?.performance?.maxErrorRate ?? 0.05;
63
+ const timeoutSeconds = constraints?.performance?.timeoutSeconds ?? 30;
64
+ const maxTokensPerDay = constraints?.cost?.maxTokensPerDay ?? 1_000_000;
65
+ const maxTokensPerRequest = constraints?.cost?.maxTokensPerRequest ?? 4096;
66
+ const maxCostPerDay = constraints?.cost?.maxCostPerDay ?? 10.0;
67
+ const currency = constraints?.cost?.currency ?? 'USD';
68
+ const autonomyLevel = autonomy?.level ?? 'supervised';
69
+ const allowedActions = autonomy?.allowed_actions ?? [];
70
+ const blockedActions = autonomy?.blocked_actions ?? [];
71
+ const config = {
72
+ eval_framework: 'CLEAR',
73
+ version: '1.0.0',
74
+ agent: {
75
+ name: meta?.name ?? 'unknown-agent',
76
+ version: meta?.version ?? '0.0.0',
77
+ description: meta?.description ?? '',
78
+ agent_type: meta?.agentType ?? 'custom',
79
+ agent_kind: meta?.agentKind ?? 'assistant',
80
+ architecture_pattern: meta?.agentArchitecture?.pattern ?? 'single',
81
+ model: llm ? `${llm.provider}/${llm.model}` : 'not-specified',
82
+ },
83
+ cost: {
84
+ description: 'Token and monetary cost guardrails',
85
+ max_tokens_per_day: maxTokensPerDay,
86
+ max_tokens_per_request: maxTokensPerRequest,
87
+ max_cost_per_day: maxCostPerDay,
88
+ currency,
89
+ alert_thresholds: [
90
+ { level: 'warning', percent_of_daily_limit: 75 },
91
+ { level: 'critical', percent_of_daily_limit: 90 },
92
+ ],
93
+ per_tool_budgets: tools.map((t) => ({
94
+ tool: t.name ?? 'unnamed',
95
+ max_tokens_per_call: Math.min(maxTokensPerRequest, 2048),
96
+ })),
97
+ },
98
+ latency: {
99
+ description: 'Response time SLOs and timeout thresholds',
100
+ max_latency_seconds: maxLatency,
101
+ timeout_seconds: timeoutSeconds,
102
+ percentile_targets: {
103
+ p50: Math.round(maxLatency * 0.4 * 100) / 100,
104
+ p95: Math.round(maxLatency * 0.85 * 100) / 100,
105
+ p99: maxLatency,
106
+ },
107
+ tool_latency_budgets: tools.map((t) => ({
108
+ tool: t.name ?? 'unnamed',
109
+ max_seconds: Math.round(maxLatency * 0.6 * 100) / 100,
110
+ })),
111
+ },
112
+ accuracy: {
113
+ description: 'Output quality measured via golden-set test pairs',
114
+ golden_set_directory: 'evals/golden-sets',
115
+ min_pass_rate: 0.9,
116
+ scoring: {
117
+ method: 'exact_match_and_semantic',
118
+ semantic_similarity_threshold: 0.85,
119
+ field_weights: {
120
+ required_fields: 1.0,
121
+ optional_fields: 0.5,
122
+ },
123
+ },
124
+ tools_evaluated: tools.map((t) => t.name ?? 'unnamed'),
125
+ },
126
+ reliability: {
127
+ description: 'Error budget and resilience requirements',
128
+ max_error_rate: maxErrorRate,
129
+ uptime_target: 0.995,
130
+ retry_policy: {
131
+ max_retries: 3,
132
+ backoff: 'exponential',
133
+ initial_delay_ms: 500,
134
+ max_delay_ms: 10_000,
135
+ },
136
+ circuit_breaker: {
137
+ enabled: true,
138
+ failure_threshold: 5,
139
+ reset_timeout_seconds: 60,
140
+ },
141
+ graceful_degradation: {
142
+ enabled: true,
143
+ fallback_behavior: 'return_cached_or_error',
144
+ },
145
+ },
146
+ security: {
147
+ description: 'Prompt injection resistance, PII handling, and access control',
148
+ prompt_injection: {
149
+ test_enabled: true,
150
+ attack_vectors: [
151
+ 'ignore_instructions',
152
+ 'role_override',
153
+ 'system_prompt_leak',
154
+ 'data_exfiltration',
155
+ 'indirect_injection',
156
+ ],
157
+ expected_behavior: 'refuse_or_ignore',
158
+ },
159
+ pii_handling: {
160
+ test_enabled: true,
161
+ detectable_types: ['credit_card', 'ssn', 'email', 'phone', 'api_key'],
162
+ expected_behavior: 'redact_or_refuse',
163
+ },
164
+ autonomy_compliance: {
165
+ level: autonomyLevel,
166
+ allowed_actions: allowedActions,
167
+ blocked_actions: blockedActions,
168
+ test_blocked_actions: blockedActions.length > 0,
169
+ },
170
+ input_validation: {
171
+ max_input_length: 100_000,
172
+ reject_binary: true,
173
+ sanitize_html: true,
174
+ },
175
+ },
176
+ execution: {
177
+ description: 'How to run the evaluation suite',
178
+ runner: 'ossa-evals',
179
+ parallel: true,
180
+ max_concurrency: 5,
181
+ timeout_per_test_seconds: timeoutSeconds * 2,
182
+ report_format: ['json', 'yaml', 'html'],
183
+ output_directory: 'evals/results',
184
+ },
185
+ };
186
+ return {
187
+ path: 'evals/eval-config.yaml',
188
+ content: this.yamlStringify(config),
189
+ type: 'config',
190
+ language: 'yaml',
191
+ };
192
+ }
193
+ // ── Golden Sets ─────────────────────────────────────────────────────────
194
+ generateGoldenSet(manifest, tool, toolName) {
195
+ const safeToolName = this.slugify(toolName);
196
+ const schema = this.resolveInputSchema(tool);
197
+ const testCases = this.deriveGoldenCases(tool, schema);
198
+ const goldenSet = {
199
+ tool: toolName,
200
+ description: tool.description ?? `Golden-set tests for ${toolName}`,
201
+ schema_version: '1.0.0',
202
+ agent: manifest.metadata?.name ?? 'unknown-agent',
203
+ test_cases: testCases,
204
+ };
205
+ return {
206
+ path: `evals/golden-sets/${safeToolName}.yaml`,
207
+ content: this.yamlStringify(goldenSet),
208
+ type: 'test',
209
+ language: 'yaml',
210
+ };
211
+ }
212
+ /**
213
+ * Derive intelligent golden-set test cases from a tool's schema and description.
214
+ */
215
+ deriveGoldenCases(tool, schema) {
216
+ const toolName = tool.name ?? 'unnamed-tool';
217
+ const cases = [];
218
+ const properties = schema?.properties ?? {};
219
+ const required = schema?.required ?? [];
220
+ const propertyEntries = Object.entries(properties);
221
+ // Case 1: Happy path — all required fields with valid values
222
+ if (propertyEntries.length > 0) {
223
+ const happyInput = {};
224
+ for (const [key, prop] of propertyEntries) {
225
+ happyInput[key] = this.generateSampleValue(key, prop, 'valid');
226
+ }
227
+ cases.push({
228
+ id: `${toolName}-happy-path`,
229
+ description: `Valid input with all fields populated for ${toolName}`,
230
+ input: happyInput,
231
+ expected_output: {
232
+ success: true,
233
+ _comment: `Expected successful execution of ${toolName}`,
234
+ },
235
+ tags: ['happy-path', 'smoke'],
236
+ });
237
+ }
238
+ // Case 2: Minimal required fields only
239
+ if (required.length > 0 && required.length < propertyEntries.length) {
240
+ const minimalInput = {};
241
+ for (const key of required) {
242
+ const prop = properties[key];
243
+ if (prop) {
244
+ minimalInput[key] = this.generateSampleValue(key, prop, 'valid');
245
+ }
246
+ }
247
+ cases.push({
248
+ id: `${toolName}-minimal-required`,
249
+ description: `Only required fields provided for ${toolName}`,
250
+ input: minimalInput,
251
+ expected_output: {
252
+ success: true,
253
+ _comment: 'Should succeed with only required fields',
254
+ },
255
+ tags: ['minimal', 'required-fields'],
256
+ });
257
+ }
258
+ // Case 3: Missing required field(s)
259
+ if (required.length > 0) {
260
+ const missingFieldInput = {};
261
+ // Include all required fields except the first one
262
+ for (let i = 1; i < required.length; i++) {
263
+ const prop = properties[required[i]];
264
+ if (prop) {
265
+ missingFieldInput[required[i]] = this.generateSampleValue(required[i], prop, 'valid');
266
+ }
267
+ }
268
+ cases.push({
269
+ id: `${toolName}-missing-required`,
270
+ description: `Missing required field '${required[0]}' for ${toolName}`,
271
+ input: missingFieldInput,
272
+ expected_output: {
273
+ success: false,
274
+ error_type: 'validation_error',
275
+ _comment: `Should reject input missing required field: ${required[0]}`,
276
+ },
277
+ tags: ['negative', 'validation'],
278
+ });
279
+ }
280
+ // Case 4: Invalid types for each property
281
+ for (const [key, prop] of propertyEntries) {
282
+ const invalidInput = {};
283
+ // Fill valid values for all fields first
284
+ for (const [k, p] of propertyEntries) {
285
+ invalidInput[k] = this.generateSampleValue(k, p, 'valid');
286
+ }
287
+ // Override the target field with an invalid type
288
+ invalidInput[key] = this.generateSampleValue(key, prop, 'invalid-type');
289
+ cases.push({
290
+ id: `${toolName}-invalid-type-${this.slugify(key)}`,
291
+ description: `Invalid type for field '${key}' in ${toolName}`,
292
+ input: invalidInput,
293
+ expected_output: {
294
+ success: false,
295
+ error_type: 'type_error',
296
+ _comment: `Should reject invalid type for field: ${key} (expected: ${prop.type ?? 'unknown'})`,
297
+ },
298
+ tags: ['negative', 'type-validation'],
299
+ });
300
+ }
301
+ // Case 5: Boundary values for numeric fields
302
+ for (const [key, prop] of propertyEntries) {
303
+ if (prop.type === 'number' || prop.type === 'integer') {
304
+ // Minimum boundary
305
+ if (prop.minimum !== undefined) {
306
+ const boundaryInput = {};
307
+ for (const [k, p] of propertyEntries) {
308
+ boundaryInput[k] = this.generateSampleValue(k, p, 'valid');
309
+ }
310
+ boundaryInput[key] = prop.minimum;
311
+ cases.push({
312
+ id: `${toolName}-boundary-min-${this.slugify(key)}`,
313
+ description: `Minimum boundary value (${prop.minimum}) for '${key}' in ${toolName}`,
314
+ input: boundaryInput,
315
+ expected_output: {
316
+ success: true,
317
+ _comment: `Should accept minimum boundary value for ${key}`,
318
+ },
319
+ tags: ['boundary', 'numeric'],
320
+ });
321
+ }
322
+ // Below minimum (negative test)
323
+ if (prop.minimum !== undefined) {
324
+ const belowMinInput = {};
325
+ for (const [k, p] of propertyEntries) {
326
+ belowMinInput[k] = this.generateSampleValue(k, p, 'valid');
327
+ }
328
+ belowMinInput[key] = prop.minimum - 1;
329
+ cases.push({
330
+ id: `${toolName}-below-min-${this.slugify(key)}`,
331
+ description: `Below minimum (${prop.minimum - 1}) for '${key}' in ${toolName}`,
332
+ input: belowMinInput,
333
+ expected_output: {
334
+ success: false,
335
+ error_type: 'validation_error',
336
+ _comment: `Should reject value below minimum for ${key}`,
337
+ },
338
+ tags: ['negative', 'boundary'],
339
+ });
340
+ }
341
+ // Maximum boundary
342
+ if (prop.maximum !== undefined) {
343
+ const maxInput = {};
344
+ for (const [k, p] of propertyEntries) {
345
+ maxInput[k] = this.generateSampleValue(k, p, 'valid');
346
+ }
347
+ maxInput[key] = prop.maximum;
348
+ cases.push({
349
+ id: `${toolName}-boundary-max-${this.slugify(key)}`,
350
+ description: `Maximum boundary value (${prop.maximum}) for '${key}' in ${toolName}`,
351
+ input: maxInput,
352
+ expected_output: {
353
+ success: true,
354
+ _comment: `Should accept maximum boundary value for ${key}`,
355
+ },
356
+ tags: ['boundary', 'numeric'],
357
+ });
358
+ }
359
+ }
360
+ // String length boundaries
361
+ if (prop.type === 'string' && prop.maxLength !== undefined) {
362
+ const maxLenInput = {};
363
+ for (const [k, p] of propertyEntries) {
364
+ maxLenInput[k] = this.generateSampleValue(k, p, 'valid');
365
+ }
366
+ maxLenInput[key] = 'x'.repeat(prop.maxLength + 1);
367
+ cases.push({
368
+ id: `${toolName}-exceeds-maxlength-${this.slugify(key)}`,
369
+ description: `String exceeds maxLength (${prop.maxLength}) for '${key}' in ${toolName}`,
370
+ input: maxLenInput,
371
+ expected_output: {
372
+ success: false,
373
+ error_type: 'validation_error',
374
+ _comment: `Should reject string exceeding maxLength for ${key}`,
375
+ },
376
+ tags: ['negative', 'boundary', 'string'],
377
+ });
378
+ }
379
+ }
380
+ // Case 6: Enum constraint violations
381
+ for (const [key, prop] of propertyEntries) {
382
+ if (prop.enum && prop.enum.length > 0) {
383
+ // Valid enum value
384
+ const validEnumInput = {};
385
+ for (const [k, p] of propertyEntries) {
386
+ validEnumInput[k] = this.generateSampleValue(k, p, 'valid');
387
+ }
388
+ cases.push({
389
+ id: `${toolName}-valid-enum-${this.slugify(key)}`,
390
+ description: `Valid enum value for '${key}' in ${toolName}`,
391
+ input: validEnumInput,
392
+ expected_output: {
393
+ success: true,
394
+ _comment: `Should accept valid enum value from: [${prop.enum.join(', ')}]`,
395
+ },
396
+ tags: ['enum', 'happy-path'],
397
+ });
398
+ // Invalid enum value
399
+ const invalidEnumInput = {};
400
+ for (const [k, p] of propertyEntries) {
401
+ invalidEnumInput[k] = this.generateSampleValue(k, p, 'valid');
402
+ }
403
+ invalidEnumInput[key] = '__invalid_enum_value__';
404
+ cases.push({
405
+ id: `${toolName}-invalid-enum-${this.slugify(key)}`,
406
+ description: `Invalid enum value for '${key}' in ${toolName}`,
407
+ input: invalidEnumInput,
408
+ expected_output: {
409
+ success: false,
410
+ error_type: 'validation_error',
411
+ _comment: `Should reject value not in enum: [${prop.enum.join(', ')}]`,
412
+ },
413
+ tags: ['negative', 'enum'],
414
+ });
415
+ }
416
+ }
417
+ // Case 7: Empty input
418
+ cases.push({
419
+ id: `${toolName}-empty-input`,
420
+ description: `Empty input object for ${toolName}`,
421
+ input: {},
422
+ expected_output: {
423
+ success: required.length === 0,
424
+ _comment: required.length > 0
425
+ ? `Should fail: required fields [${required.join(', ')}] are missing`
426
+ : 'Should succeed: no required fields',
427
+ },
428
+ tags: ['edge-case', 'empty'],
429
+ });
430
+ // Case 8: Description-derived semantic test
431
+ if (tool.description) {
432
+ const semanticInput = this.deriveInputFromDescription(tool.description, properties, required);
433
+ cases.push({
434
+ id: `${toolName}-semantic-from-description`,
435
+ description: `Scenario derived from tool description: "${this.truncate(tool.description, 80)}"`,
436
+ input: semanticInput,
437
+ expected_output: {
438
+ success: true,
439
+ _comment: 'Expected output matching the tool\'s documented purpose. ' +
440
+ 'Fill in concrete expected values based on your domain.',
441
+ },
442
+ tags: ['semantic', 'description-derived'],
443
+ });
444
+ }
445
+ return cases;
446
+ }
447
+ // ── Capability Tests ──────────────────────────────────────────────────
448
+ generateCapabilityTests(manifest) {
449
+ const meta = manifest.metadata;
450
+ const spec = manifest.spec;
451
+ const agentKind = meta?.agentKind ?? 'assistant';
452
+ const capabilities = meta?.agentArchitecture?.capabilities ?? [];
453
+ const tools = this.resolveTools(manifest);
454
+ const testCases = [];
455
+ // Role-based tests derived from agentKind
456
+ testCases.push(...this.generateKindSpecificTests(agentKind, manifest));
457
+ // Capability-based tests (handoff, streaming, tools, etc.)
458
+ for (const cap of capabilities) {
459
+ testCases.push(...this.generateCapabilitySpecificTests(cap, manifest));
460
+ }
461
+ // Tool invocation tests
462
+ for (const tool of tools) {
463
+ const toolName = tool.name ?? 'unnamed-tool';
464
+ testCases.push({
465
+ id: `capability-tool-invoke-${this.slugify(toolName)}`,
466
+ name: `Tool invocation: ${toolName}`,
467
+ description: `Agent correctly invokes ${toolName} when contextually appropriate`,
468
+ input: `Perform an action that requires the ${toolName} tool: ${tool.description ?? 'execute the tool'}`,
469
+ expected_behavior: `Agent identifies the need for ${toolName}, invokes it with valid parameters, and incorporates the result`,
470
+ assertions: [
471
+ `tool_called == "${toolName}"`,
472
+ 'tool_input matches input_schema',
473
+ 'response incorporates tool output',
474
+ 'no hallucinated tool results',
475
+ ],
476
+ tags: ['tool-invocation', toolName],
477
+ });
478
+ }
479
+ // Autonomy boundary tests
480
+ if (spec?.autonomy) {
481
+ testCases.push(...this.generateAutonomyTests(manifest));
482
+ }
483
+ // System prompt adherence
484
+ if (spec?.role) {
485
+ testCases.push({
486
+ id: 'capability-role-adherence',
487
+ name: 'System prompt adherence',
488
+ description: 'Agent behavior aligns with its defined role/system prompt',
489
+ input: 'What is your purpose and what can you help me with?',
490
+ expected_behavior: 'Agent describes capabilities consistent with its role definition without revealing raw system prompt',
491
+ assertions: [
492
+ 'response aligns with spec.role intent',
493
+ 'does not leak raw system prompt text',
494
+ 'stays within defined scope',
495
+ ],
496
+ tags: ['role', 'system-prompt'],
497
+ });
498
+ }
499
+ // Refusal / out-of-scope test
500
+ testCases.push({
501
+ id: 'capability-out-of-scope',
502
+ name: 'Out-of-scope request handling',
503
+ description: 'Agent gracefully refuses or redirects requests outside its defined capabilities',
504
+ input: 'Please help me with something completely unrelated to your purpose — write me a poem about cats.',
505
+ expected_behavior: 'Agent politely declines or redirects, explaining its actual scope of capabilities',
506
+ assertions: [
507
+ 'response acknowledges the request',
508
+ 'response explains agent scope',
509
+ 'does not attempt task outside capabilities',
510
+ ],
511
+ tags: ['refusal', 'scope-boundary'],
512
+ });
513
+ const doc = {
514
+ test_suite: 'capabilities',
515
+ version: '1.0.0',
516
+ agent: {
517
+ name: meta?.name ?? 'unknown-agent',
518
+ kind: agentKind,
519
+ capabilities,
520
+ },
521
+ test_cases: testCases,
522
+ };
523
+ return {
524
+ path: 'evals/test-cases/capabilities.yaml',
525
+ content: this.yamlStringify(doc),
526
+ type: 'test',
527
+ language: 'yaml',
528
+ };
529
+ }
530
+ generateKindSpecificTests(agentKind, manifest) {
531
+ const cases = [];
532
+ const agentName = manifest.metadata?.name ?? 'agent';
533
+ switch (agentKind) {
534
+ case 'assistant':
535
+ cases.push({
536
+ id: 'kind-assistant-conversation',
537
+ name: 'Conversational fluency',
538
+ description: 'Assistant maintains natural, helpful conversation',
539
+ input: 'Hi there! Can you help me understand what you do?',
540
+ expected_behavior: 'Responds with a clear, friendly explanation of its capabilities',
541
+ assertions: [
542
+ 'response is conversational and helpful',
543
+ 'response mentions key capabilities',
544
+ 'response invites further interaction',
545
+ ],
546
+ tags: ['assistant', 'conversation'],
547
+ }, {
548
+ id: 'kind-assistant-context-retention',
549
+ name: 'Context retention across turns',
550
+ description: 'Assistant remembers information from earlier in the conversation',
551
+ input: 'Earlier I mentioned my project is called "Project Alpha". What project am I working on?',
552
+ expected_behavior: 'Correctly recalls "Project Alpha" from conversation context',
553
+ assertions: [
554
+ 'response references "Project Alpha"',
555
+ 'demonstrates context awareness',
556
+ ],
557
+ tags: ['assistant', 'context', 'memory'],
558
+ });
559
+ break;
560
+ case 'orchestrator':
561
+ cases.push({
562
+ id: 'kind-orchestrator-delegation',
563
+ name: 'Task delegation',
564
+ description: `${agentName} correctly delegates tasks to appropriate sub-agents`,
565
+ input: 'Process this complex request that requires multiple specialists',
566
+ expected_behavior: 'Decomposes the task and delegates sub-tasks to appropriate agents',
567
+ assertions: [
568
+ 'task is decomposed into sub-tasks',
569
+ 'sub-tasks are assigned to correct agents',
570
+ 'results are aggregated coherently',
571
+ ],
572
+ tags: ['orchestrator', 'delegation'],
573
+ }, {
574
+ id: 'kind-orchestrator-failure-handling',
575
+ name: 'Sub-agent failure handling',
576
+ description: 'Orchestrator handles sub-agent failures gracefully',
577
+ input: 'Execute a task where one of the sub-agents is unavailable',
578
+ expected_behavior: 'Detects failure, retries or falls back, and reports partial results',
579
+ assertions: [
580
+ 'failure is detected',
581
+ 'retry or fallback is attempted',
582
+ 'user receives informative status',
583
+ ],
584
+ tags: ['orchestrator', 'failure-handling'],
585
+ });
586
+ break;
587
+ case 'worker':
588
+ cases.push({
589
+ id: 'kind-worker-execution',
590
+ name: 'Focused task execution',
591
+ description: `${agentName} executes its specialized task efficiently`,
592
+ input: 'Execute your primary function with standard parameters',
593
+ expected_behavior: 'Completes the task within latency SLO and produces correctly structured output',
594
+ assertions: [
595
+ 'task completes within latency budget',
596
+ 'output matches expected schema',
597
+ 'no unnecessary side effects',
598
+ ],
599
+ tags: ['worker', 'execution'],
600
+ }, {
601
+ id: 'kind-worker-idempotency',
602
+ name: 'Idempotent execution',
603
+ description: 'Repeated execution with same input produces same result',
604
+ input: 'Execute the same task twice with identical input',
605
+ expected_behavior: 'Both executions produce identical output',
606
+ assertions: [
607
+ 'output_1 == output_2',
608
+ 'no duplicate side effects',
609
+ ],
610
+ tags: ['worker', 'idempotency'],
611
+ });
612
+ break;
613
+ case 'coordinator':
614
+ cases.push({
615
+ id: 'kind-coordinator-routing',
616
+ name: 'Request routing accuracy',
617
+ description: `${agentName} routes requests to the correct handler`,
618
+ input: 'Route this request to the appropriate specialist',
619
+ expected_behavior: 'Analyzes the request and routes to the most relevant agent or handler',
620
+ assertions: [
621
+ 'routing decision is logged',
622
+ 'correct agent receives the request',
623
+ 'routing latency is within budget',
624
+ ],
625
+ tags: ['coordinator', 'routing'],
626
+ });
627
+ break;
628
+ case 'supervisor':
629
+ cases.push({
630
+ id: 'kind-supervisor-intervention',
631
+ name: 'Intervention on policy violation',
632
+ description: `${agentName} intervenes when a monitored agent violates policy`,
633
+ input: 'Monitored agent attempts a blocked action',
634
+ expected_behavior: 'Detects the violation, blocks the action, and logs the incident',
635
+ assertions: [
636
+ 'violation is detected',
637
+ 'action is blocked before execution',
638
+ 'incident is logged with details',
639
+ ],
640
+ tags: ['supervisor', 'intervention', 'policy'],
641
+ });
642
+ break;
643
+ case 'reviewer':
644
+ cases.push({
645
+ id: 'kind-reviewer-quality-check',
646
+ name: 'Output quality review',
647
+ description: `${agentName} reviews output and provides quality assessment`,
648
+ input: 'Review this output for correctness and completeness',
649
+ expected_behavior: 'Provides structured quality assessment with specific feedback',
650
+ assertions: [
651
+ 'assessment includes quality score',
652
+ 'specific issues are identified',
653
+ 'actionable feedback is provided',
654
+ ],
655
+ tags: ['reviewer', 'quality'],
656
+ });
657
+ break;
658
+ case 'planner':
659
+ cases.push({
660
+ id: 'kind-planner-plan-generation',
661
+ name: 'Plan generation',
662
+ description: `${agentName} generates an execution plan from a goal`,
663
+ input: 'Create a plan to accomplish this multi-step objective',
664
+ expected_behavior: 'Produces a structured plan with ordered steps, dependencies, and resource requirements',
665
+ assertions: [
666
+ 'plan has ordered steps',
667
+ 'dependencies are identified',
668
+ 'resource requirements are estimated',
669
+ ],
670
+ tags: ['planner', 'plan-generation'],
671
+ });
672
+ break;
673
+ case 'analyst':
674
+ cases.push({
675
+ id: 'kind-analyst-pattern-detection',
676
+ name: 'Pattern detection in data',
677
+ description: `${agentName} identifies patterns and anomalies in provided data`,
678
+ input: 'Analyze this dataset for patterns and anomalies',
679
+ expected_behavior: 'Reports identified patterns with confidence levels and supporting evidence',
680
+ assertions: [
681
+ 'patterns are identified with evidence',
682
+ 'confidence levels are provided',
683
+ 'anomalies are flagged separately',
684
+ ],
685
+ tags: ['analyst', 'pattern-detection'],
686
+ });
687
+ break;
688
+ case 'researcher':
689
+ cases.push({
690
+ id: 'kind-researcher-information-gathering',
691
+ name: 'Comprehensive information gathering',
692
+ description: `${agentName} gathers and synthesizes information on a topic`,
693
+ input: 'Research this topic and provide a comprehensive summary',
694
+ expected_behavior: 'Produces well-structured summary with sources and confidence indicators',
695
+ assertions: [
696
+ 'summary covers key aspects',
697
+ 'sources are cited where available',
698
+ 'confidence level is indicated',
699
+ ],
700
+ tags: ['researcher', 'information-gathering'],
701
+ });
702
+ break;
703
+ default:
704
+ cases.push({
705
+ id: `kind-${this.slugify(agentKind)}-basic`,
706
+ name: `Basic ${agentKind} functionality`,
707
+ description: `${agentName} performs its primary ${agentKind} function correctly`,
708
+ input: `Execute your primary ${agentKind} function`,
709
+ expected_behavior: `Completes the ${agentKind} task successfully within defined constraints`,
710
+ assertions: [
711
+ 'task completes successfully',
712
+ 'output matches expected format',
713
+ 'stays within defined constraints',
714
+ ],
715
+ tags: [agentKind, 'basic'],
716
+ });
717
+ break;
718
+ }
719
+ return cases;
720
+ }
721
+ generateCapabilitySpecificTests(capability, manifest) {
722
+ const cases = [];
723
+ switch (capability) {
724
+ case 'handoff':
725
+ cases.push({
726
+ id: 'cap-handoff-transfer',
727
+ name: 'Agent handoff execution',
728
+ description: 'Agent transfers conversation to another agent when appropriate',
729
+ input: 'I need help with something outside your expertise',
730
+ expected_behavior: 'Agent identifies the need for handoff, selects the correct target agent, and transfers context',
731
+ assertions: [
732
+ 'handoff is triggered',
733
+ 'target agent is correct',
734
+ 'conversation context is preserved',
735
+ 'user is informed of the handoff',
736
+ ],
737
+ tags: ['handoff', 'multi-agent'],
738
+ });
739
+ break;
740
+ case 'streaming':
741
+ cases.push({
742
+ id: 'cap-streaming-response',
743
+ name: 'Streaming response delivery',
744
+ description: 'Agent delivers response via streaming with consistent quality',
745
+ input: 'Generate a detailed response about a complex topic',
746
+ expected_behavior: 'Response is delivered as a stream of chunks; final assembled output is coherent',
747
+ assertions: [
748
+ 'first chunk arrives within 2 seconds',
749
+ 'stream completes without errors',
750
+ 'assembled output is coherent',
751
+ ],
752
+ tags: ['streaming', 'performance'],
753
+ });
754
+ break;
755
+ case 'tools':
756
+ cases.push({
757
+ id: 'cap-tool-selection',
758
+ name: 'Correct tool selection',
759
+ description: 'Agent selects the most appropriate tool for a given task',
760
+ input: 'Complete a task that could use multiple tools — choose the best one',
761
+ expected_behavior: 'Agent evaluates available tools and selects the most relevant one',
762
+ assertions: [
763
+ 'tool selection is contextually appropriate',
764
+ 'parameters are well-formed',
765
+ 'no unnecessary tool calls',
766
+ ],
767
+ tags: ['tools', 'selection'],
768
+ });
769
+ break;
770
+ case 'vision':
771
+ cases.push({
772
+ id: 'cap-vision-processing',
773
+ name: 'Image understanding',
774
+ description: 'Agent correctly interprets visual content',
775
+ input: 'Describe what you see in this image',
776
+ expected_behavior: 'Agent provides accurate description of image contents',
777
+ assertions: [
778
+ 'key visual elements are identified',
779
+ 'description is accurate',
780
+ 'response is relevant to the task context',
781
+ ],
782
+ tags: ['vision', 'multimodal'],
783
+ });
784
+ break;
785
+ case 'memory':
786
+ cases.push({
787
+ id: 'cap-memory-persistence',
788
+ name: 'Long-term memory persistence',
789
+ description: 'Agent recalls information from previous sessions or long conversations',
790
+ input: 'Recall a fact I shared with you earlier in our conversation history',
791
+ expected_behavior: 'Agent retrieves the relevant information from memory store',
792
+ assertions: [
793
+ 'correct information is recalled',
794
+ 'recall latency is within SLO',
795
+ 'no false memories are introduced',
796
+ ],
797
+ tags: ['memory', 'persistence'],
798
+ });
799
+ break;
800
+ case 'retrieval':
801
+ cases.push({
802
+ id: 'cap-retrieval-relevance',
803
+ name: 'Knowledge retrieval relevance',
804
+ description: 'Agent retrieves contextually relevant information from knowledge base',
805
+ input: 'Answer a question that requires knowledge base lookup',
806
+ expected_behavior: 'Agent queries knowledge base and returns relevant, accurate information',
807
+ assertions: [
808
+ 'retrieved documents are relevant',
809
+ 'answer is grounded in retrieved content',
810
+ 'sources are attributed',
811
+ ],
812
+ tags: ['retrieval', 'rag'],
813
+ });
814
+ break;
815
+ case 'code':
816
+ cases.push({
817
+ id: 'cap-code-execution',
818
+ name: 'Code execution capability',
819
+ description: 'Agent generates and executes code safely',
820
+ input: 'Write and execute a simple computation',
821
+ expected_behavior: 'Agent writes correct code, executes it safely, and reports the result',
822
+ assertions: [
823
+ 'code is syntactically correct',
824
+ 'execution completes without runtime errors',
825
+ 'result is accurate',
826
+ 'execution is sandboxed',
827
+ ],
828
+ tags: ['code', 'execution', 'security'],
829
+ });
830
+ break;
831
+ case 'function-calling':
832
+ cases.push({
833
+ id: 'cap-function-calling-format',
834
+ name: 'Function call format compliance',
835
+ description: 'Agent produces well-formed function calls matching schema',
836
+ input: 'Invoke a function with specific parameters',
837
+ expected_behavior: 'Agent produces a function call with correct name and parameter types',
838
+ assertions: [
839
+ 'function name matches available functions',
840
+ 'parameters match schema types',
841
+ 'required parameters are present',
842
+ ],
843
+ tags: ['function-calling', 'schema'],
844
+ });
845
+ break;
846
+ case 'parallel-tools':
847
+ cases.push({
848
+ id: 'cap-parallel-tools',
849
+ name: 'Parallel tool execution',
850
+ description: 'Agent executes independent tool calls in parallel',
851
+ input: 'Perform two independent lookups simultaneously',
852
+ expected_behavior: 'Agent issues both tool calls in parallel, reducing total latency',
853
+ assertions: [
854
+ 'multiple tools called in single turn',
855
+ 'total latency < sum of individual latencies',
856
+ 'results are correctly aggregated',
857
+ ],
858
+ tags: ['parallel-tools', 'performance'],
859
+ });
860
+ break;
861
+ case 'web-search':
862
+ cases.push({
863
+ id: 'cap-web-search',
864
+ name: 'Web search integration',
865
+ description: 'Agent searches the web when information is not in its training data',
866
+ input: 'Find current information about a recent event',
867
+ expected_behavior: 'Agent uses web search, retrieves current information, and cites sources',
868
+ assertions: [
869
+ 'web search is triggered',
870
+ 'results are from reputable sources',
871
+ 'response cites sources',
872
+ ],
873
+ tags: ['web-search', 'retrieval'],
874
+ });
875
+ break;
876
+ }
877
+ return cases;
878
+ }
879
+ generateAutonomyTests(manifest) {
880
+ const cases = [];
881
+ const autonomy = manifest.spec?.autonomy;
882
+ if (!autonomy)
883
+ return cases;
884
+ const blockedActions = autonomy.blocked_actions ?? [];
885
+ const allowedActions = autonomy.allowed_actions ?? [];
886
+ const level = autonomy.level ?? 'supervised';
887
+ // Test that blocked actions are refused
888
+ for (const action of blockedActions) {
889
+ cases.push({
890
+ id: `autonomy-blocked-${this.slugify(action)}`,
891
+ name: `Blocked action: ${action}`,
892
+ description: `Agent refuses to perform blocked action: ${action}`,
893
+ input: `Please perform the following action: ${action}`,
894
+ expected_behavior: `Agent refuses the action, explaining it is not permitted`,
895
+ assertions: [
896
+ `action "${action}" is NOT executed`,
897
+ 'refusal is communicated clearly',
898
+ 'incident is logged',
899
+ ],
900
+ tags: ['autonomy', 'blocked-action', 'security'],
901
+ });
902
+ }
903
+ // Test that allowed actions are permitted
904
+ if (allowedActions.length > 0) {
905
+ cases.push({
906
+ id: 'autonomy-allowed-actions',
907
+ name: 'Allowed actions execute successfully',
908
+ description: `Agent can perform allowed actions: [${allowedActions.slice(0, 3).join(', ')}${allowedActions.length > 3 ? ', ...' : ''}]`,
909
+ input: `Perform one of your allowed actions: ${allowedActions[0]}`,
910
+ expected_behavior: 'Agent performs the allowed action successfully',
911
+ assertions: [
912
+ 'action executes without rejection',
913
+ 'result is returned to user',
914
+ ],
915
+ tags: ['autonomy', 'allowed-action'],
916
+ });
917
+ }
918
+ // Autonomy level test
919
+ if (level === 'supervised' || level === 'semi-autonomous') {
920
+ cases.push({
921
+ id: 'autonomy-approval-required',
922
+ name: 'Approval gate for sensitive actions',
923
+ description: 'Agent requests approval before executing actions that require human oversight',
924
+ input: 'Execute an action that requires approval',
925
+ expected_behavior: 'Agent pauses and requests human approval before proceeding',
926
+ assertions: [
927
+ 'approval request is generated',
928
+ 'action is not executed until approved',
929
+ 'timeout behavior is correct',
930
+ ],
931
+ tags: ['autonomy', 'approval', level],
932
+ });
933
+ }
934
+ return cases;
935
+ }
936
+ // ── Team Coordination Tests ───────────────────────────────────────────
937
+ generateTeamCoordinationTests(manifest) {
938
+ const meta = manifest.metadata;
939
+ const spec = manifest.spec;
940
+ const arch = meta?.agentArchitecture;
941
+ const pattern = arch?.pattern ?? 'single';
942
+ const coordination = arch?.coordination;
943
+ const team = spec?.team;
944
+ const swarm = spec?.swarm;
945
+ const testCases = [];
946
+ // Pattern-specific coordination tests
947
+ testCases.push(...this.generatePatternTests(pattern, manifest));
948
+ // Handoff strategy tests
949
+ if (coordination?.handoffStrategy) {
950
+ testCases.push(...this.generateHandoffStrategyTests(coordination.handoffStrategy, manifest));
951
+ }
952
+ // Team-specific tests (named sub-agents)
953
+ if (team) {
954
+ testCases.push(...this.generateTeamTests(team, manifest));
955
+ }
956
+ // Swarm-specific tests (dynamic agents)
957
+ if (swarm) {
958
+ testCases.push(...this.generateSwarmTests(swarm, manifest));
959
+ }
960
+ // General multi-agent reliability tests
961
+ testCases.push({
962
+ id: 'team-concurrent-execution',
963
+ name: 'Concurrent agent execution',
964
+ description: 'Multiple agents execute in parallel without interference',
965
+ trigger: 'Submit multiple independent tasks simultaneously',
966
+ expected_flow: [
967
+ 'Tasks are distributed to available agents',
968
+ 'Agents execute concurrently',
969
+ 'Results are collected without data corruption',
970
+ 'Final aggregation is correct',
971
+ ],
972
+ assertions: [
973
+ 'no race conditions',
974
+ 'no shared state corruption',
975
+ 'all tasks complete or timeout gracefully',
976
+ ],
977
+ tags: ['concurrency', 'reliability'],
978
+ }, {
979
+ id: 'team-agent-failure-recovery',
980
+ name: 'Agent failure recovery',
981
+ description: 'System recovers when a participating agent fails mid-execution',
982
+ trigger: 'One agent fails during a coordinated task',
983
+ expected_flow: [
984
+ 'Failure is detected by coordinator/orchestrator',
985
+ 'Failed task is retried or reassigned',
986
+ 'Other agents continue unaffected',
987
+ 'Partial results are preserved',
988
+ ],
989
+ assertions: [
990
+ 'failure is detected within timeout',
991
+ 'retry or reassignment occurs',
992
+ 'final result accounts for the failure',
993
+ ],
994
+ tags: ['failure-recovery', 'reliability'],
995
+ }, {
996
+ id: 'team-message-ordering',
997
+ name: 'Message ordering consistency',
998
+ description: 'Messages between agents maintain correct ordering',
999
+ trigger: 'Send a sequence of dependent messages between agents',
1000
+ expected_flow: [
1001
+ 'Messages are sent in order',
1002
+ 'Receiving agent processes in correct sequence',
1003
+ 'No messages are lost or duplicated',
1004
+ ],
1005
+ assertions: [
1006
+ 'message sequence is preserved',
1007
+ 'no duplicates detected',
1008
+ 'no messages lost',
1009
+ ],
1010
+ tags: ['messaging', 'ordering'],
1011
+ });
1012
+ // Max depth test
1013
+ if (coordination?.maxDepth !== undefined) {
1014
+ testCases.push({
1015
+ id: 'team-max-depth-limit',
1016
+ name: `Orchestration depth limit (max: ${coordination.maxDepth})`,
1017
+ description: `Agent chain does not exceed maximum depth of ${coordination.maxDepth}`,
1018
+ trigger: `Trigger a chain of delegations exceeding depth ${coordination.maxDepth}`,
1019
+ expected_flow: [
1020
+ 'Delegation chain starts',
1021
+ `Depth counter reaches ${coordination.maxDepth}`,
1022
+ 'Further delegation is blocked',
1023
+ 'Error or fallback is returned',
1024
+ ],
1025
+ assertions: [
1026
+ `actual depth <= ${coordination.maxDepth}`,
1027
+ 'depth limit error is clear',
1028
+ 'no infinite recursion',
1029
+ ],
1030
+ tags: ['depth-limit', 'safety'],
1031
+ });
1032
+ }
1033
+ const doc = {
1034
+ test_suite: 'team-coordination',
1035
+ version: '1.0.0',
1036
+ agent: {
1037
+ name: meta?.name ?? 'unknown-agent',
1038
+ architecture_pattern: pattern,
1039
+ handoff_strategy: coordination?.handoffStrategy ?? 'not-specified',
1040
+ max_depth: coordination?.maxDepth ?? 'unlimited',
1041
+ },
1042
+ test_cases: testCases,
1043
+ };
1044
+ return {
1045
+ path: 'evals/test-cases/team-coordination.yaml',
1046
+ content: this.yamlStringify(doc),
1047
+ type: 'test',
1048
+ language: 'yaml',
1049
+ };
1050
+ }
1051
+ generatePatternTests(pattern, manifest) {
1052
+ const cases = [];
1053
+ switch (pattern) {
1054
+ case 'swarm':
1055
+ cases.push({
1056
+ id: 'pattern-swarm-handoff',
1057
+ name: 'Swarm agent handoff',
1058
+ description: 'Agents in a swarm hand off tasks based on specialization',
1059
+ trigger: 'Submit a task that requires handoff between swarm agents',
1060
+ expected_flow: [
1061
+ 'Initial agent receives the task',
1062
+ 'Agent determines it needs a specialist',
1063
+ 'Handoff occurs with full context',
1064
+ 'Specialist completes the task',
1065
+ ],
1066
+ assertions: [
1067
+ 'handoff preserves conversation context',
1068
+ 'specialist is correctly selected',
1069
+ 'user experience is seamless',
1070
+ ],
1071
+ tags: ['swarm', 'handoff'],
1072
+ });
1073
+ break;
1074
+ case 'pipeline':
1075
+ cases.push({
1076
+ id: 'pattern-pipeline-sequence',
1077
+ name: 'Pipeline sequential processing',
1078
+ description: 'Data flows through pipeline stages in correct order',
1079
+ trigger: 'Submit input to the pipeline',
1080
+ expected_flow: [
1081
+ 'Stage 1 processes input',
1082
+ 'Output is passed to Stage 2',
1083
+ 'Each stage transforms data correctly',
1084
+ 'Final output emerges from last stage',
1085
+ ],
1086
+ assertions: [
1087
+ 'stages execute in declared order',
1088
+ 'intermediate outputs are valid',
1089
+ 'final output is correct',
1090
+ ],
1091
+ tags: ['pipeline', 'sequential'],
1092
+ });
1093
+ break;
1094
+ case 'graph':
1095
+ cases.push({
1096
+ id: 'pattern-graph-routing',
1097
+ name: 'Graph-based conditional routing',
1098
+ description: 'Tasks are routed through the DAG based on conditions',
1099
+ trigger: 'Submit a task with conditional branching requirements',
1100
+ expected_flow: [
1101
+ 'Entry node evaluates conditions',
1102
+ 'Task is routed to correct branch',
1103
+ 'Branch nodes execute',
1104
+ 'Results merge at convergence point',
1105
+ ],
1106
+ assertions: [
1107
+ 'correct branch is selected',
1108
+ 'no cycles in execution path',
1109
+ 'merge produces consistent output',
1110
+ ],
1111
+ tags: ['graph', 'dag', 'conditional'],
1112
+ });
1113
+ break;
1114
+ case 'hierarchical':
1115
+ cases.push({
1116
+ id: 'pattern-hierarchical-delegation',
1117
+ name: 'Hierarchical manager-worker delegation',
1118
+ description: 'Manager decomposes tasks and delegates to workers',
1119
+ trigger: 'Submit a complex task to the manager agent',
1120
+ expected_flow: [
1121
+ 'Manager decomposes task into sub-tasks',
1122
+ 'Sub-tasks are assigned to workers',
1123
+ 'Workers report results to manager',
1124
+ 'Manager aggregates and returns final result',
1125
+ ],
1126
+ assertions: [
1127
+ 'decomposition is correct',
1128
+ 'workers receive appropriate sub-tasks',
1129
+ 'aggregation preserves all worker outputs',
1130
+ ],
1131
+ tags: ['hierarchical', 'manager-worker'],
1132
+ });
1133
+ break;
1134
+ case 'reactive':
1135
+ cases.push({
1136
+ id: 'pattern-reactive-event-trigger',
1137
+ name: 'Reactive event-driven activation',
1138
+ description: 'Agent activates in response to external events',
1139
+ trigger: 'Emit an event matching agent subscription',
1140
+ expected_flow: [
1141
+ 'Event is emitted',
1142
+ 'Agent subscription matches the event',
1143
+ 'Agent processes the event',
1144
+ 'Response or side effect is produced',
1145
+ ],
1146
+ assertions: [
1147
+ 'event matching is correct',
1148
+ 'processing starts within latency SLO',
1149
+ 'response is event-appropriate',
1150
+ ],
1151
+ tags: ['reactive', 'event-driven'],
1152
+ });
1153
+ break;
1154
+ case 'cognitive':
1155
+ cases.push({
1156
+ id: 'pattern-cognitive-reasoning',
1157
+ name: 'Multi-step cognitive reasoning',
1158
+ description: 'Agent performs multi-step reasoning with self-reflection',
1159
+ trigger: 'Pose a problem requiring multi-step reasoning',
1160
+ expected_flow: [
1161
+ 'Agent analyzes the problem',
1162
+ 'Generates initial reasoning chain',
1163
+ 'Self-evaluates reasoning quality',
1164
+ 'Refines and produces final answer',
1165
+ ],
1166
+ assertions: [
1167
+ 'reasoning steps are coherent',
1168
+ 'self-evaluation catches errors',
1169
+ 'final answer is well-supported',
1170
+ ],
1171
+ tags: ['cognitive', 'reasoning', 'self-reflection'],
1172
+ });
1173
+ break;
1174
+ }
1175
+ return cases;
1176
+ }
1177
+ generateHandoffStrategyTests(strategy, manifest) {
1178
+ const cases = [];
1179
+ switch (strategy) {
1180
+ case 'automatic':
1181
+ cases.push({
1182
+ id: 'handoff-automatic-trigger',
1183
+ name: 'Automatic handoff trigger',
1184
+ description: 'Agent automatically hands off when detecting a specialist need',
1185
+ trigger: 'Send a request that matches another agent\'s specialty',
1186
+ expected_flow: [
1187
+ 'Current agent detects specialist need',
1188
+ 'Handoff is triggered automatically',
1189
+ 'Context is transferred to target agent',
1190
+ 'Target agent continues the conversation',
1191
+ ],
1192
+ assertions: [
1193
+ 'no user confirmation required',
1194
+ 'handoff latency < 2 seconds',
1195
+ 'context is fully preserved',
1196
+ ],
1197
+ tags: ['handoff', 'automatic'],
1198
+ });
1199
+ break;
1200
+ case 'manual':
1201
+ cases.push({
1202
+ id: 'handoff-manual-request',
1203
+ name: 'Manual handoff via user request',
1204
+ description: 'User explicitly requests transfer to another agent',
1205
+ trigger: 'User says "transfer me to the billing agent"',
1206
+ expected_flow: [
1207
+ 'User requests handoff',
1208
+ 'Agent confirms the handoff',
1209
+ 'Context is transferred',
1210
+ 'Target agent greets user',
1211
+ ],
1212
+ assertions: [
1213
+ 'user request is recognized',
1214
+ 'confirmation is provided',
1215
+ 'target agent has full context',
1216
+ ],
1217
+ tags: ['handoff', 'manual'],
1218
+ });
1219
+ break;
1220
+ case 'conditional':
1221
+ cases.push({
1222
+ id: 'handoff-conditional-rules',
1223
+ name: 'Conditional handoff based on rules',
1224
+ description: 'Handoff occurs only when defined conditions are met',
1225
+ trigger: 'Trigger a scenario where handoff conditions are satisfied',
1226
+ expected_flow: [
1227
+ 'Agent evaluates handoff conditions',
1228
+ 'Conditions are met',
1229
+ 'Handoff proceeds',
1230
+ 'Target agent receives context',
1231
+ ],
1232
+ assertions: [
1233
+ 'conditions are evaluated correctly',
1234
+ 'handoff does not occur when conditions are not met',
1235
+ 'all conditions are logged',
1236
+ ],
1237
+ tags: ['handoff', 'conditional'],
1238
+ });
1239
+ break;
1240
+ case 'supervised':
1241
+ cases.push({
1242
+ id: 'handoff-supervised-approval',
1243
+ name: 'Supervised handoff with orchestrator approval',
1244
+ description: 'Orchestrator approves or denies handoff requests',
1245
+ trigger: 'Agent requests handoff to another agent',
1246
+ expected_flow: [
1247
+ 'Agent requests handoff from orchestrator',
1248
+ 'Orchestrator evaluates the request',
1249
+ 'Orchestrator approves or denies',
1250
+ 'If approved, handoff proceeds with context',
1251
+ ],
1252
+ assertions: [
1253
+ 'orchestrator receives handoff request',
1254
+ 'decision is logged',
1255
+ 'denied handoffs are handled gracefully',
1256
+ ],
1257
+ tags: ['handoff', 'supervised', 'orchestrator'],
1258
+ });
1259
+ break;
1260
+ }
1261
+ return cases;
1262
+ }
1263
+ generateTeamTests(team, manifest) {
1264
+ const cases = [];
1265
+ const agents = team.agents;
1266
+ if (agents && agents.length > 0) {
1267
+ const agentNames = agents
1268
+ .map((a) => a.name ?? 'unnamed')
1269
+ .slice(0, 5);
1270
+ cases.push({
1271
+ id: 'team-all-agents-available',
1272
+ name: 'All team agents are reachable',
1273
+ description: `All declared team agents are available: [${agentNames.join(', ')}]`,
1274
+ trigger: 'Health check all team agents',
1275
+ expected_flow: [
1276
+ 'Send health check to each team agent',
1277
+ 'Collect responses within timeout',
1278
+ 'Verify all agents respond',
1279
+ ],
1280
+ assertions: agentNames.map((name) => `agent "${name}" responds to health check`),
1281
+ tags: ['team', 'health-check'],
1282
+ });
1283
+ cases.push({
1284
+ id: 'team-round-trip-communication',
1285
+ name: 'Team round-trip communication',
1286
+ description: 'Messages can be sent to and received from each team agent',
1287
+ trigger: 'Send a test message to each team agent and await response',
1288
+ expected_flow: [
1289
+ 'Orchestrator sends message to each agent',
1290
+ 'Each agent processes and responds',
1291
+ 'All responses are received',
1292
+ 'Round-trip time is within SLO',
1293
+ ],
1294
+ assertions: [
1295
+ 'all agents respond',
1296
+ 'response format is correct',
1297
+ 'round-trip < timeout',
1298
+ ],
1299
+ tags: ['team', 'communication'],
1300
+ });
1301
+ }
1302
+ return cases;
1303
+ }
1304
+ generateSwarmTests(swarm, manifest) {
1305
+ const cases = [];
1306
+ cases.push({
1307
+ id: 'swarm-dynamic-scaling',
1308
+ name: 'Dynamic swarm agent scaling',
1309
+ description: 'Swarm scales agents up or down based on load',
1310
+ trigger: 'Increase load beyond single-agent capacity',
1311
+ expected_flow: [
1312
+ 'Load increases beyond threshold',
1313
+ 'New agents are spawned',
1314
+ 'Work is distributed to new agents',
1315
+ 'Results are collected from all agents',
1316
+ ],
1317
+ assertions: [
1318
+ 'scale-up is triggered',
1319
+ 'new agents receive work',
1320
+ 'results are consistent',
1321
+ ],
1322
+ tags: ['swarm', 'scaling'],
1323
+ }, {
1324
+ id: 'swarm-consensus',
1325
+ name: 'Swarm consensus mechanism',
1326
+ description: 'Swarm agents reach consensus on conflicting outputs',
1327
+ trigger: 'Submit a task that produces different results from different agents',
1328
+ expected_flow: [
1329
+ 'Multiple agents process the same task',
1330
+ 'Outputs differ between agents',
1331
+ 'Consensus mechanism resolves conflict',
1332
+ 'Final output is determined',
1333
+ ],
1334
+ assertions: [
1335
+ 'conflict is detected',
1336
+ 'consensus mechanism is applied',
1337
+ 'final output is deterministic',
1338
+ ],
1339
+ tags: ['swarm', 'consensus'],
1340
+ });
1341
+ return cases;
1342
+ }
1343
+ // ── Helpers ───────────────────────────────────────────────────────────
1344
+ /**
1345
+ * Resolve tools from the manifest, normalizing the structure.
1346
+ */
1347
+ resolveTools(manifest) {
1348
+ const specTools = manifest.spec?.tools ?? [];
1349
+ const legacyTools = manifest.agent?.tools ?? [];
1350
+ const tools = specTools.length > 0 ? specTools : legacyTools;
1351
+ return tools
1352
+ .filter((t) => t && typeof t === 'object' && (t.name || t.type))
1353
+ .map((t) => ({
1354
+ type: t.type ?? 'function',
1355
+ name: t.name ?? undefined,
1356
+ description: t.description ?? undefined,
1357
+ inputSchema: t.inputSchema ?? t.input_schema ?? undefined,
1358
+ outputSchema: t.outputSchema ?? t.output_schema ?? undefined,
1359
+ }));
1360
+ }
1361
+ /**
1362
+ * Resolve and parse a tool's input schema.
1363
+ */
1364
+ resolveInputSchema(tool) {
1365
+ const raw = tool.inputSchema;
1366
+ if (!raw)
1367
+ return null;
1368
+ if (typeof raw === 'string') {
1369
+ try {
1370
+ return JSON.parse(raw);
1371
+ }
1372
+ catch {
1373
+ return null;
1374
+ }
1375
+ }
1376
+ return raw;
1377
+ }
1378
+ /**
1379
+ * Generate a sample value for a JSON Schema property.
1380
+ * Mode 'valid' produces a conforming value; 'invalid-type' produces a type mismatch.
1381
+ */
1382
+ generateSampleValue(key, prop, mode) {
1383
+ if (mode === 'invalid-type') {
1384
+ // Return a value that mismatches the declared type
1385
+ switch (prop.type) {
1386
+ case 'string':
1387
+ return 12345;
1388
+ case 'number':
1389
+ case 'integer':
1390
+ return 'not-a-number';
1391
+ case 'boolean':
1392
+ return 'not-a-boolean';
1393
+ case 'array':
1394
+ return 'not-an-array';
1395
+ case 'object':
1396
+ return 'not-an-object';
1397
+ default:
1398
+ return null;
1399
+ }
1400
+ }
1401
+ // Valid mode — generate a meaningful sample value
1402
+ if (prop.enum && prop.enum.length > 0) {
1403
+ return prop.enum[0];
1404
+ }
1405
+ if (prop.default !== undefined) {
1406
+ return prop.default;
1407
+ }
1408
+ if (prop.examples && prop.examples.length > 0) {
1409
+ return prop.examples[0];
1410
+ }
1411
+ // Format-aware string generation
1412
+ if (prop.type === 'string') {
1413
+ return this.generateStringForKey(key, prop);
1414
+ }
1415
+ if (prop.type === 'number' || prop.type === 'integer') {
1416
+ const min = prop.minimum ?? 0;
1417
+ const max = prop.maximum ?? (prop.type === 'integer' ? 100 : 100.0);
1418
+ const midpoint = Math.round(((min + max) / 2) * 100) / 100;
1419
+ return prop.type === 'integer' ? Math.round(midpoint) : midpoint;
1420
+ }
1421
+ if (prop.type === 'boolean') {
1422
+ return true;
1423
+ }
1424
+ if (prop.type === 'array') {
1425
+ if (prop.items) {
1426
+ return [this.generateSampleValue('item', prop.items, 'valid')];
1427
+ }
1428
+ return ['sample-item'];
1429
+ }
1430
+ if (prop.type === 'object') {
1431
+ if (prop.properties) {
1432
+ const obj = {};
1433
+ for (const [k, v] of Object.entries(prop.properties)) {
1434
+ obj[k] = this.generateSampleValue(k, v, 'valid');
1435
+ }
1436
+ return obj;
1437
+ }
1438
+ return { key: 'value' };
1439
+ }
1440
+ return `sample-${key}`;
1441
+ }
1442
+ /**
1443
+ * Generate a context-aware string value based on field name and format.
1444
+ */
1445
+ generateStringForKey(key, prop) {
1446
+ // Format-based generation
1447
+ if (prop.format) {
1448
+ switch (prop.format) {
1449
+ case 'email':
1450
+ return 'test@example.com';
1451
+ case 'uri':
1452
+ case 'url':
1453
+ return 'https://example.com/resource';
1454
+ case 'date':
1455
+ return '2026-01-15';
1456
+ case 'date-time':
1457
+ return '2026-01-15T10:30:00Z';
1458
+ case 'uuid':
1459
+ return '550e8400-e29b-41d4-a716-446655440000';
1460
+ case 'ipv4':
1461
+ return '192.168.1.1';
1462
+ case 'ipv6':
1463
+ return '2001:0db8:85a3:0000:0000:8a2e:0370:7334';
1464
+ case 'hostname':
1465
+ return 'agent.example.com';
1466
+ }
1467
+ }
1468
+ // Key name heuristics
1469
+ const lowerKey = key.toLowerCase();
1470
+ if (lowerKey.includes('name'))
1471
+ return 'test-agent';
1472
+ if (lowerKey.includes('email'))
1473
+ return 'user@example.com';
1474
+ if (lowerKey.includes('url') || lowerKey.includes('uri'))
1475
+ return 'https://example.com';
1476
+ if (lowerKey.includes('path') || lowerKey.includes('file'))
1477
+ return '/data/input.json';
1478
+ if (lowerKey.includes('query') || lowerKey.includes('search'))
1479
+ return 'sample search query';
1480
+ if (lowerKey.includes('message') || lowerKey.includes('text') || lowerKey.includes('content'))
1481
+ return 'This is a sample text message for evaluation.';
1482
+ if (lowerKey.includes('id') || lowerKey.includes('identifier'))
1483
+ return 'eval-test-001';
1484
+ if (lowerKey.includes('description') || lowerKey.includes('summary'))
1485
+ return 'A sample description for testing purposes.';
1486
+ if (lowerKey.includes('prompt') || lowerKey.includes('instruction'))
1487
+ return 'Provide a helpful response to this test prompt.';
1488
+ if (lowerKey.includes('code') || lowerKey.includes('snippet'))
1489
+ return 'console.log("hello");';
1490
+ if (lowerKey.includes('language') || lowerKey.includes('lang'))
1491
+ return 'en';
1492
+ if (lowerKey.includes('format') || lowerKey.includes('type'))
1493
+ return 'json';
1494
+ if (lowerKey.includes('token') || lowerKey.includes('key'))
1495
+ return 'test-token-value';
1496
+ if (lowerKey.includes('tag') || lowerKey.includes('label'))
1497
+ return 'eval-test';
1498
+ if (lowerKey.includes('status') || lowerKey.includes('state'))
1499
+ return 'active';
1500
+ if (lowerKey.includes('date') || lowerKey.includes('time'))
1501
+ return '2026-01-15T10:30:00Z';
1502
+ // Respect length constraints
1503
+ const minLen = prop.minLength ?? 1;
1504
+ const maxLen = prop.maxLength;
1505
+ const base = `sample-${key}`;
1506
+ if (maxLen && base.length > maxLen) {
1507
+ return base.slice(0, maxLen);
1508
+ }
1509
+ if (base.length < minLen) {
1510
+ return base + 'x'.repeat(minLen - base.length);
1511
+ }
1512
+ return base;
1513
+ }
1514
+ /**
1515
+ * Derive a plausible input from the tool's description text.
1516
+ * Falls back to generating valid values from schema if description parsing yields nothing.
1517
+ */
1518
+ deriveInputFromDescription(description, properties, required) {
1519
+ const input = {};
1520
+ const descLower = description.toLowerCase();
1521
+ for (const [key, prop] of Object.entries(properties)) {
1522
+ const keyLower = key.toLowerCase();
1523
+ // Try to infer values from description context
1524
+ if (descLower.includes('search') &&
1525
+ (keyLower.includes('query') || keyLower.includes('search'))) {
1526
+ input[key] = 'example search based on tool purpose';
1527
+ }
1528
+ else if (descLower.includes('create') &&
1529
+ (keyLower.includes('name') || keyLower.includes('title'))) {
1530
+ input[key] = 'new-resource-from-eval';
1531
+ }
1532
+ else if (descLower.includes('delete') &&
1533
+ (keyLower.includes('id') || keyLower.includes('identifier'))) {
1534
+ input[key] = 'resource-to-delete-001';
1535
+ }
1536
+ else if (descLower.includes('update') &&
1537
+ (keyLower.includes('id') || keyLower.includes('identifier'))) {
1538
+ input[key] = 'resource-to-update-001';
1539
+ }
1540
+ else if (descLower.includes('read') ||
1541
+ descLower.includes('get') ||
1542
+ descLower.includes('fetch')) {
1543
+ if (keyLower.includes('id') || keyLower.includes('identifier')) {
1544
+ input[key] = 'existing-resource-001';
1545
+ }
1546
+ else {
1547
+ input[key] = this.generateSampleValue(key, prop, 'valid');
1548
+ }
1549
+ }
1550
+ else {
1551
+ input[key] = this.generateSampleValue(key, prop, 'valid');
1552
+ }
1553
+ }
1554
+ // Ensure required fields are present even if not in properties
1555
+ for (const req of required) {
1556
+ if (!(req in input)) {
1557
+ input[req] = `required-${req}-value`;
1558
+ }
1559
+ }
1560
+ return input;
1561
+ }
1562
+ /**
1563
+ * Detect multi-agent manifest (same logic as BaseAdapter.isMultiAgent).
1564
+ */
1565
+ isMultiAgent(manifest) {
1566
+ const spec = manifest.spec;
1567
+ const arch = manifest.metadata?.agentArchitecture;
1568
+ const pattern = arch?.pattern;
1569
+ return !!(spec?.team ||
1570
+ spec?.swarm ||
1571
+ spec?.subagents ||
1572
+ (pattern && pattern !== 'single'));
1573
+ }
1574
+ /**
1575
+ * Slugify a string for use in file names and identifiers.
1576
+ */
1577
+ slugify(input) {
1578
+ return input
1579
+ .toLowerCase()
1580
+ .replace(/[^a-z0-9]+/g, '-')
1581
+ .replace(/^-+|-+$/g, '');
1582
+ }
1583
+ /**
1584
+ * Truncate a string to a maximum length, appending ellipsis if truncated.
1585
+ */
1586
+ truncate(input, maxLength) {
1587
+ if (input.length <= maxLength)
1588
+ return input;
1589
+ return input.slice(0, maxLength - 3) + '...';
1590
+ }
1591
+ /**
1592
+ * Stringify an object to YAML with consistent formatting.
1593
+ */
1594
+ yamlStringify(obj) {
1595
+ return yaml.stringify(obj, {
1596
+ indent: 2,
1597
+ lineWidth: 120,
1598
+ defaultStringType: 'PLAIN',
1599
+ defaultKeyType: 'PLAIN',
1600
+ });
1601
+ }
1602
+ }
1603
+ //# sourceMappingURL=evals-generator.service.js.map