@bluefly/openstandardagents 0.3.0 → 0.3.2

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 (406) hide show
  1. package/.devfile.yaml +87 -0
  2. package/.gitlab-ci-trigger +1 -0
  3. package/.wiki-config.json +24 -0
  4. package/CHANGELOG.md +212 -1
  5. package/README.md +8 -193
  6. package/dist/adapters/anthropic/runtime.js +2 -2
  7. package/dist/adapters/anthropic/runtime.js.map +1 -1
  8. package/dist/bot/architecture-validator-bot.d.ts +8 -0
  9. package/dist/bot/architecture-validator-bot.d.ts.map +1 -0
  10. package/dist/bot/architecture-validator-bot.js +15 -0
  11. package/dist/bot/architecture-validator-bot.js.map +1 -0
  12. package/dist/bot/ci-pipeline-bot.d.ts +7 -0
  13. package/dist/bot/ci-pipeline-bot.d.ts.map +1 -0
  14. package/dist/bot/ci-pipeline-bot.js +7 -0
  15. package/dist/bot/ci-pipeline-bot.js.map +1 -0
  16. package/dist/bot/compliance-bot.d.ts +56 -0
  17. package/dist/bot/compliance-bot.d.ts.map +1 -0
  18. package/dist/bot/compliance-bot.js +203 -0
  19. package/dist/bot/compliance-bot.js.map +1 -0
  20. package/dist/bot/dependency-updater-bot.d.ts +9 -0
  21. package/dist/bot/dependency-updater-bot.d.ts.map +1 -0
  22. package/dist/bot/dependency-updater-bot.js +9 -0
  23. package/dist/bot/dependency-updater-bot.js.map +1 -0
  24. package/dist/bot/security-scanner-bot.d.ts +11 -0
  25. package/dist/bot/security-scanner-bot.d.ts.map +1 -0
  26. package/dist/bot/security-scanner-bot.js +21 -0
  27. package/dist/bot/security-scanner-bot.js.map +1 -0
  28. package/dist/cli/commands/agent-card.command.d.ts +11 -0
  29. package/dist/cli/commands/agent-card.command.d.ts.map +1 -0
  30. package/dist/cli/commands/agent-card.command.js +285 -0
  31. package/dist/cli/commands/agent-card.command.js.map +1 -0
  32. package/dist/cli/commands/agents.command.d.ts +11 -0
  33. package/dist/cli/commands/agents.command.d.ts.map +1 -0
  34. package/dist/cli/commands/agents.command.js +326 -0
  35. package/dist/cli/commands/agents.command.js.map +1 -0
  36. package/dist/cli/commands/diff.command.d.ts +7 -0
  37. package/dist/cli/commands/diff.command.d.ts.map +1 -0
  38. package/dist/cli/commands/diff.command.js +181 -0
  39. package/dist/cli/commands/diff.command.js.map +1 -0
  40. package/dist/cli/commands/docs.command.d.ts +7 -0
  41. package/dist/cli/commands/docs.command.d.ts.map +1 -0
  42. package/dist/cli/commands/docs.command.js +274 -0
  43. package/dist/cli/commands/docs.command.js.map +1 -0
  44. package/dist/cli/commands/generate.command.d.ts +13 -2
  45. package/dist/cli/commands/generate.command.d.ts.map +1 -1
  46. package/dist/cli/commands/generate.command.js +204 -29
  47. package/dist/cli/commands/generate.command.js.map +1 -1
  48. package/dist/cli/commands/lint.command.d.ts +7 -0
  49. package/dist/cli/commands/lint.command.d.ts.map +1 -0
  50. package/dist/cli/commands/lint.command.js +342 -0
  51. package/dist/cli/commands/lint.command.js.map +1 -0
  52. package/dist/cli/commands/registry.command.d.ts +14 -0
  53. package/dist/cli/commands/registry.command.d.ts.map +1 -0
  54. package/dist/cli/commands/registry.command.js +428 -0
  55. package/dist/cli/commands/registry.command.js.map +1 -0
  56. package/dist/cli/commands/serve.command.d.ts +7 -0
  57. package/dist/cli/commands/serve.command.d.ts.map +1 -0
  58. package/dist/cli/commands/serve.command.js +232 -0
  59. package/dist/cli/commands/serve.command.js.map +1 -0
  60. package/dist/cli/commands/workspace.command.d.ts +14 -0
  61. package/dist/cli/commands/workspace.command.d.ts.map +1 -0
  62. package/dist/cli/commands/workspace.command.js +467 -0
  63. package/dist/cli/commands/workspace.command.js.map +1 -0
  64. package/dist/cli/index.js +13 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/di-container.d.ts.map +1 -1
  67. package/dist/di-container.js +23 -0
  68. package/dist/di-container.js.map +1 -1
  69. package/dist/services/codegen/codegen.service.d.ts +75 -0
  70. package/dist/services/codegen/codegen.service.d.ts.map +1 -0
  71. package/dist/services/codegen/codegen.service.js +136 -0
  72. package/dist/services/codegen/codegen.service.js.map +1 -0
  73. package/dist/services/codegen/generators/manifest.generator.d.ts +41 -0
  74. package/dist/services/codegen/generators/manifest.generator.d.ts.map +1 -0
  75. package/dist/services/codegen/generators/manifest.generator.js +178 -0
  76. package/dist/services/codegen/generators/manifest.generator.js.map +1 -0
  77. package/dist/services/codegen/generators/openapi.generator.d.ts +46 -0
  78. package/dist/services/codegen/generators/openapi.generator.d.ts.map +1 -0
  79. package/dist/services/codegen/generators/openapi.generator.js +157 -0
  80. package/dist/services/codegen/generators/openapi.generator.js.map +1 -0
  81. package/dist/services/codegen/generators/types.generator.d.ts +27 -0
  82. package/dist/services/codegen/generators/types.generator.d.ts.map +1 -0
  83. package/dist/services/codegen/generators/types.generator.js +97 -0
  84. package/dist/services/codegen/generators/types.generator.js.map +1 -0
  85. package/dist/services/codegen/generators/vscode.generator.d.ts +43 -0
  86. package/dist/services/codegen/generators/vscode.generator.d.ts.map +1 -0
  87. package/dist/services/codegen/generators/vscode.generator.js +163 -0
  88. package/dist/services/codegen/generators/vscode.generator.js.map +1 -0
  89. package/dist/services/codegen/generators/zod.generator.d.ts +31 -0
  90. package/dist/services/codegen/generators/zod.generator.d.ts.map +1 -0
  91. package/dist/services/codegen/generators/zod.generator.js +134 -0
  92. package/dist/services/codegen/generators/zod.generator.js.map +1 -0
  93. package/dist/services/codegen/index.d.ts +33 -0
  94. package/dist/services/codegen/index.d.ts.map +1 -0
  95. package/dist/services/codegen/index.js +36 -0
  96. package/dist/services/codegen/index.js.map +1 -0
  97. package/dist/services/git.service.d.ts +40 -0
  98. package/dist/services/git.service.d.ts.map +1 -0
  99. package/dist/services/git.service.js +122 -0
  100. package/dist/services/git.service.js.map +1 -0
  101. package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  102. package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  103. package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  104. package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  105. package/dist/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  106. package/dist/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  107. package/dist/spec/v0.3.1/adapters/drupal.md +541 -0
  108. package/dist/spec/v0.3.1/adapters/symfony.md +659 -0
  109. package/dist/spec/v0.3.1/agent-test.schema.json +75 -0
  110. package/dist/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  111. package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  112. package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  113. package/dist/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  114. package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  115. package/dist/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  116. package/dist/spec/v0.3.1/extensions/drupal.md +417 -0
  117. package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  118. package/dist/spec/v0.3.1/protocols/sse.md +494 -0
  119. package/dist/spec/v0.3.1/protocols/webrtc.md +600 -0
  120. package/dist/spec/v0.3.1/protocols/websocket.md +362 -0
  121. package/dist/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  122. package/dist/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  123. package/dist/spec/v0.3.1/schemas/functions.yaml +75 -0
  124. package/dist/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  125. package/dist/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  126. package/dist/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  127. package/dist/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  128. package/dist/spec/v0.3.1/schemas/runtime.yaml +102 -0
  129. package/dist/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  130. package/dist/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  131. package/dist/spec/v0.3.1/taxonomy.yaml +256 -0
  132. package/dist/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  133. package/dist/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  134. package/dist/spec/v0.3.2/access_tiers.yaml +375 -0
  135. package/dist/spec/v0.3.2/adapters/drupal.md +541 -0
  136. package/dist/spec/v0.3.2/adapters/symfony.md +659 -0
  137. package/dist/spec/v0.3.2/agent-test.schema.json +75 -0
  138. package/dist/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  139. package/dist/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  140. package/dist/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  141. package/dist/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  142. package/dist/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  143. package/dist/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  144. package/dist/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  145. package/dist/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  146. package/dist/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  147. package/dist/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  148. package/dist/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  149. package/dist/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  150. package/dist/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  151. package/dist/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  152. package/dist/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  153. package/dist/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  154. package/dist/spec/v0.3.2/extensions/drupal.md +417 -0
  155. package/dist/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  156. package/dist/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  157. package/dist/spec/v0.3.2/protocols/delegation.yaml +239 -0
  158. package/dist/spec/v0.3.2/protocols/sse.md +494 -0
  159. package/dist/spec/v0.3.2/protocols/webrtc.md +600 -0
  160. package/dist/spec/v0.3.2/protocols/websocket.md +362 -0
  161. package/dist/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  162. package/dist/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  163. package/dist/spec/v0.3.2/runtime/runtime.yaml +926 -0
  164. package/dist/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  165. package/dist/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  166. package/dist/spec/v0.3.2/schemas/functions.yaml +75 -0
  167. package/dist/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  168. package/dist/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  169. package/dist/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  170. package/dist/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  171. package/dist/spec/v0.3.2/schemas/runtime.yaml +102 -0
  172. package/dist/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  173. package/dist/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  174. package/dist/spec/v0.3.2/taxonomy.yaml +363 -0
  175. package/dist/testing/fixtures.d.ts.map +1 -1
  176. package/dist/testing/fixtures.js +3 -2
  177. package/dist/testing/fixtures.js.map +1 -1
  178. package/dist/types/generated/{ossa-0.3.0.types.d.ts → ossa-0.3.2.types.d.ts} +58 -7
  179. package/dist/types/generated/ossa-0.3.2.types.d.ts.map +1 -0
  180. package/dist/types/generated/ossa-0.3.2.types.js +10 -0
  181. package/dist/types/generated/ossa-0.3.2.types.js.map +1 -0
  182. package/dist/types/generated/ossa-0.3.2.zod.d.ts +36 -0
  183. package/dist/types/generated/ossa-0.3.2.zod.d.ts.map +1 -0
  184. package/dist/types/generated/ossa-0.3.2.zod.js +25 -0
  185. package/dist/types/generated/ossa-0.3.2.zod.js.map +1 -0
  186. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  187. package/examples/adapters/drupal-eca-task.yaml +1 -1
  188. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  189. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  190. package/examples/adapters/mistral-agent.yaml +1 -1
  191. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  192. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  193. package/examples/adk-integration/code-review-workflow.yml +1 -1
  194. package/examples/adk-integration/customer-support.yml +1 -1
  195. package/examples/adk-integration/data-pipeline.yml +1 -1
  196. package/examples/advanced/reasoning-agent.yaml +1 -1
  197. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  198. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  199. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  200. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  201. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  202. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  203. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  204. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  205. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  206. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  207. package/examples/agents/dependency-healer-npm.yaml +1 -1
  208. package/examples/agents/spec-healer-openapi.yaml +1 -1
  209. package/examples/agents/wiki-healer-production.yaml +1 -1
  210. package/examples/agents-md/code-agent.ossa.json +36 -11
  211. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  212. package/examples/anthropic/claude-assistant.ossa.json +4 -4
  213. package/examples/autogen/multi-agent.ossa.json +2 -2
  214. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  215. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  216. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  217. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  218. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  219. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  220. package/examples/contracts/data-producer.ossa.yaml +1 -1
  221. package/examples/crewai/research-team.ossa.json +2 -2
  222. package/examples/cursor/code-review-agent.ossa.json +2 -2
  223. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +1 -1
  224. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  225. package/examples/extensions/agents-md-advanced.yml +1 -1
  226. package/examples/extensions/agents-md-basic.yml +1 -1
  227. package/examples/extensions/agents-md-sync.yml +1 -1
  228. package/examples/extensions/agents-md-v1.yml +1 -1
  229. package/examples/extensions/drupal-v1.yml +1 -1
  230. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  231. package/examples/extensions/kagent-v1.yml +1 -1
  232. package/examples/extensions/knowledge-sources.yaml +1 -1
  233. package/examples/extensions/mcp-full-featured.yaml +1 -1
  234. package/examples/getting-started/01-minimal-agent.ossa.yaml +3 -3
  235. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  236. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  237. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +2 -2
  238. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  239. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  240. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  241. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  242. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  243. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  244. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  245. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  246. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  247. package/examples/langchain/chain-agent.ossa.json +2 -2
  248. package/examples/langflow/workflow-agent.ossa.json +2 -2
  249. package/examples/langgraph/state-machine-agent.ossa.json +2 -2
  250. package/examples/llamaindex/rag-agent.ossa.json +2 -2
  251. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  252. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  253. package/examples/messaging/routing-rules.ossa.yaml +3 -3
  254. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  255. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  256. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  257. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  258. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  259. package/examples/observability/activity-stream-full.yaml +1 -1
  260. package/examples/openai/basic-agent.ossa.yaml +1 -1
  261. package/examples/openai/multi-tool-agent.ossa.json +2 -2
  262. package/examples/openai/swarm-agent.ossa.json +2 -2
  263. package/examples/production/document-analyzer-openai.yml +1 -1
  264. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  265. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  266. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  267. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  268. package/examples/schema/reusable-components.yaml +1 -1
  269. package/examples/showcase/ci-pipeline.ossa.yaml +59 -0
  270. package/examples/showcase/code-assistant.ossa.yaml +118 -0
  271. package/examples/showcase/code-reviewer.ossa.yaml +61 -0
  272. package/examples/showcase/compliance-validator.ossa.yaml +62 -0
  273. package/examples/showcase/content-writer.ossa.yaml +67 -0
  274. package/examples/showcase/data-transformer.ossa.yaml +78 -0
  275. package/examples/showcase/doc-generator.ossa.yaml +68 -0
  276. package/examples/showcase/security-scanner.ossa.yaml +65 -0
  277. package/examples/showcase/test-generator.ossa.yaml +63 -0
  278. package/examples/showcase/workflow-orchestrator.ossa.yaml +129 -0
  279. package/examples/tasks/batch-email-sender.yaml +1 -1
  280. package/examples/tasks/data-transform.yaml +1 -1
  281. package/examples/tasks/publish-content.yaml +1 -1
  282. package/examples/templates/ossa-compliance.yaml +1 -1
  283. package/examples/unified/security-scanner.ossa.yaml +1 -1
  284. package/examples/vercel/edge-agent.ossa.json +2 -2
  285. package/examples/workflows/batch-email-campaign.yaml +1 -1
  286. package/examples/workflows/content-review-publish.yaml +1 -1
  287. package/examples/workflows/simple-etl.yaml +1 -1
  288. package/llms-ctx-full.txt +39 -0
  289. package/llms-ctx.txt +39 -0
  290. package/openapi/agent-communication.yaml +1 -1
  291. package/openapi/agent-crud.yaml +8 -8
  292. package/openapi/agent-discovery.yaml +2 -2
  293. package/openapi/agent-identity.yaml +8 -8
  294. package/openapi/cli-commands.openapi.yaml +231 -0
  295. package/openapi/core/ossa-core-api.openapi.yaml +1 -1
  296. package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
  297. package/openapi/core/ossa-registry.openapi.yaml +1 -1
  298. package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
  299. package/openapi/github-sync.yaml +1 -1
  300. package/openapi/protocols/sse-streams.yaml +1 -1
  301. package/openapi/protocols/websocket-events.yaml +2 -2
  302. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +2 -2
  303. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +1 -1
  304. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +1 -1
  305. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +2 -2
  306. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +2 -2
  307. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +1 -1
  308. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +1 -1
  309. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +2 -2
  310. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +1 -1
  311. package/openapi/reference-implementations/helm-generator.openapi.yaml +1 -1
  312. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +1 -1
  313. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +1 -1
  314. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +2 -2
  315. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +1 -1
  316. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +2 -2
  317. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +1 -1
  318. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +2 -2
  319. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1 -1
  320. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +2 -2
  321. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +1 -1
  322. package/package.json +14 -32
  323. package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  324. package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  325. package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  326. package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  327. package/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  328. package/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  329. package/spec/v0.3.1/adapters/drupal.md +541 -0
  330. package/spec/v0.3.1/adapters/symfony.md +659 -0
  331. package/spec/v0.3.1/agent-test.schema.json +75 -0
  332. package/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  333. package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  334. package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  335. package/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  336. package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  337. package/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  338. package/spec/v0.3.1/extensions/drupal.md +417 -0
  339. package/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  340. package/spec/v0.3.1/protocols/sse.md +494 -0
  341. package/spec/v0.3.1/protocols/webrtc.md +600 -0
  342. package/spec/v0.3.1/protocols/websocket.md +362 -0
  343. package/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  344. package/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  345. package/spec/v0.3.1/schemas/functions.yaml +75 -0
  346. package/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  347. package/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  348. package/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  349. package/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  350. package/spec/v0.3.1/schemas/runtime.yaml +102 -0
  351. package/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  352. package/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  353. package/spec/v0.3.1/taxonomy.yaml +256 -0
  354. package/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  355. package/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  356. package/spec/v0.3.2/access_tiers.yaml +375 -0
  357. package/spec/v0.3.2/adapters/drupal.md +541 -0
  358. package/spec/v0.3.2/adapters/symfony.md +659 -0
  359. package/spec/v0.3.2/agent-test.schema.json +75 -0
  360. package/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  361. package/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  362. package/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  363. package/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  364. package/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  365. package/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  366. package/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  367. package/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  368. package/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  369. package/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  370. package/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  371. package/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  372. package/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  373. package/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  374. package/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  375. package/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  376. package/spec/v0.3.2/extensions/drupal.md +417 -0
  377. package/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  378. package/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  379. package/spec/v0.3.2/protocols/delegation.yaml +239 -0
  380. package/spec/v0.3.2/protocols/sse.md +494 -0
  381. package/spec/v0.3.2/protocols/webrtc.md +600 -0
  382. package/spec/v0.3.2/protocols/websocket.md +362 -0
  383. package/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  384. package/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  385. package/spec/v0.3.2/runtime/runtime.yaml +926 -0
  386. package/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  387. package/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  388. package/spec/v0.3.2/schemas/functions.yaml +75 -0
  389. package/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  390. package/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  391. package/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  392. package/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  393. package/spec/v0.3.2/schemas/runtime.yaml +102 -0
  394. package/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  395. package/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  396. package/spec/v0.3.2/taxonomy.yaml +363 -0
  397. package/dist/types/generated/ossa-0.3.0.types.d.ts.map +0 -1
  398. package/dist/types/generated/ossa-0.3.0.types.js +0 -8
  399. package/dist/types/generated/ossa-0.3.0.types.js.map +0 -1
  400. package/dist/types/generated/ossa-0.3.0.zod.d.ts +0 -17
  401. package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +0 -1
  402. package/dist/types/generated/ossa-0.3.0.zod.js +0 -3
  403. package/dist/types/generated/ossa-0.3.0.zod.js.map +0 -1
  404. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +0 -60
  405. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +0 -68
  406. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +0 -106
@@ -0,0 +1,362 @@
1
+ # WebSocket Transport Protocol
2
+
3
+ ## Overview
4
+
5
+ WebSocket transport enables bidirectional, real-time communication between OSSA agents over persistent connections. This specification defines how agents use WebSocket connections for agent-to-agent messaging, capability calls, and status updates.
6
+
7
+ ## Connection Lifecycle
8
+
9
+ ### Connection Establishment
10
+
11
+ ```typescript
12
+ // Client initiates connection
13
+ const ws = new WebSocket('wss://agent.example.com/ws');
14
+
15
+ // Send agent registration on connect
16
+ ws.onopen = () => {
17
+ ws.send(JSON.stringify({
18
+ type: 'register',
19
+ agentId: 'agent://example.com/my-agent',
20
+ capabilities: ['process_data', 'analyze_content'],
21
+ version: 'ossa/v0.3.1'
22
+ }));
23
+ };
24
+ ```
25
+
26
+ ### Authentication
27
+
28
+ WebSocket connections MUST authenticate using one of:
29
+
30
+ 1. **Bearer Token** - Include in initial HTTP upgrade request
31
+ 2. **Query Parameter** - For restricted environments: `?token=<jwt>`
32
+ 3. **Message-based Auth** - Send auth message after connection
33
+
34
+ ```http
35
+ GET /ws HTTP/1.1
36
+ Host: agent.example.com
37
+ Upgrade: websocket
38
+ Connection: Upgrade
39
+ Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
40
+ Sec-WebSocket-Version: 13
41
+ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
42
+ ```
43
+
44
+ ### Heartbeat/Keepalive
45
+
46
+ Agents MUST implement ping/pong to maintain connection health:
47
+
48
+ - Server sends `ping` every 30 seconds
49
+ - Client responds with `pong` within 5 seconds
50
+ - Connection closes after 3 missed pongs
51
+
52
+ ```json
53
+ // Server ping
54
+ {"type": "ping", "timestamp": "2025-12-18T14:00:00Z"}
55
+
56
+ // Client pong
57
+ {"type": "pong", "timestamp": "2025-12-18T14:00:00Z"}
58
+ ```
59
+
60
+ ## Message Format
61
+
62
+ ### Base Message Structure
63
+
64
+ ```typescript
65
+ interface WebSocketEvent {
66
+ type: 'message' | 'capability_call' | 'status_update' | 'error' | 'ack';
67
+ id: string; // Unique message ID (UUID)
68
+ timestamp: string; // ISO 8601 timestamp
69
+ payload: unknown; // Message-specific payload
70
+ metadata: {
71
+ agentId: string; // Sender agent URI
72
+ correlationId?: string; // For request/response matching
73
+ replyTo?: string; // WebSocket connection ID for responses
74
+ priority?: 'low' | 'normal' | 'high' | 'critical';
75
+ ttl?: number; // Time-to-live in seconds
76
+ };
77
+ }
78
+ ```
79
+
80
+ ### Message Types
81
+
82
+ #### 1. Message Event
83
+
84
+ Pub/sub style message broadcast:
85
+
86
+ ```json
87
+ {
88
+ "type": "message",
89
+ "id": "msg-123e4567-e89b-12d3-a456-426614174000",
90
+ "timestamp": "2025-12-18T14:00:00Z",
91
+ "payload": {
92
+ "channel": "content.published",
93
+ "data": {
94
+ "contentId": "node-123",
95
+ "title": "New Article",
96
+ "status": "published"
97
+ }
98
+ },
99
+ "metadata": {
100
+ "agentId": "agent://example.com/publisher",
101
+ "priority": "normal"
102
+ }
103
+ }
104
+ ```
105
+
106
+ #### 2. Capability Call
107
+
108
+ RPC-style capability invocation:
109
+
110
+ ```json
111
+ {
112
+ "type": "capability_call",
113
+ "id": "call-456e7890-a12b-34c5-d678-901234567890",
114
+ "timestamp": "2025-12-18T14:00:00Z",
115
+ "payload": {
116
+ "capability": "analyze_content",
117
+ "input": {
118
+ "contentId": "node-123",
119
+ "analysisType": "sentiment"
120
+ }
121
+ },
122
+ "metadata": {
123
+ "agentId": "agent://example.com/analyzer",
124
+ "correlationId": "req-789",
125
+ "replyTo": "ws-conn-abc123"
126
+ }
127
+ }
128
+ ```
129
+
130
+ #### 3. Status Update
131
+
132
+ Agent health and status broadcasts:
133
+
134
+ ```json
135
+ {
136
+ "type": "status_update",
137
+ "id": "status-901e2345-f67g-89h0-i123-456789012345",
138
+ "timestamp": "2025-12-18T14:00:00Z",
139
+ "payload": {
140
+ "status": "healthy",
141
+ "load": 0.45,
142
+ "activeConnections": 12,
143
+ "capabilities": ["process_data", "analyze_content"]
144
+ },
145
+ "metadata": {
146
+ "agentId": "agent://example.com/worker-1"
147
+ }
148
+ }
149
+ ```
150
+
151
+ #### 4. Error Event
152
+
153
+ Error notifications:
154
+
155
+ ```json
156
+ {
157
+ "type": "error",
158
+ "id": "err-234f5678-g90h-12i3-j456-789012345678",
159
+ "timestamp": "2025-12-18T14:00:00Z",
160
+ "payload": {
161
+ "code": "CAPABILITY_NOT_FOUND",
162
+ "message": "Capability 'unknown_capability' not found",
163
+ "details": {
164
+ "requestedCapability": "unknown_capability",
165
+ "availableCapabilities": ["process_data", "analyze_content"]
166
+ }
167
+ },
168
+ "metadata": {
169
+ "agentId": "agent://example.com/agent",
170
+ "correlationId": "req-789"
171
+ }
172
+ }
173
+ ```
174
+
175
+ #### 5. Acknowledgment
176
+
177
+ Message delivery confirmation:
178
+
179
+ ```json
180
+ {
181
+ "type": "ack",
182
+ "id": "ack-567g8901-h23i-45j6-k789-012345678901",
183
+ "timestamp": "2025-12-18T14:00:00Z",
184
+ "payload": {
185
+ "messageId": "msg-123e4567-e89b-12d3-a456-426614174000",
186
+ "status": "received"
187
+ },
188
+ "metadata": {
189
+ "agentId": "agent://example.com/receiver"
190
+ }
191
+ }
192
+ ```
193
+
194
+ ## Error Handling
195
+
196
+ ### Reconnection Strategy
197
+
198
+ Clients MUST implement exponential backoff for reconnection:
199
+
200
+ ```typescript
201
+ const reconnect = (attempt: number) => {
202
+ const delay = Math.min(1000 * Math.pow(2, attempt), 30000);
203
+ setTimeout(() => connectWebSocket(), delay);
204
+ };
205
+ ```
206
+
207
+ ### Connection Loss
208
+
209
+ On connection loss:
210
+
211
+ 1. Client buffers outgoing messages (up to configured limit)
212
+ 2. Client attempts reconnection with exponential backoff
213
+ 3. On reconnect, client reregisters and resends buffered messages
214
+ 4. Messages older than TTL are discarded
215
+
216
+ ### Error Codes
217
+
218
+ | Code | Description | Action |
219
+ |------|-------------|--------|
220
+ | `AUTH_FAILED` | Authentication failed | Refresh token and reconnect |
221
+ | `CAPABILITY_NOT_FOUND` | Unknown capability | Check capability registration |
222
+ | `RATE_LIMIT_EXCEEDED` | Too many messages | Implement backoff |
223
+ | `PAYLOAD_TOO_LARGE` | Message exceeds size limit | Reduce payload or use chunking |
224
+ | `PROTOCOL_ERROR` | Invalid message format | Fix message structure |
225
+
226
+ ## Message Ordering
227
+
228
+ WebSocket transport provides **ordered delivery** per connection:
229
+
230
+ - Messages sent on the same connection arrive in order
231
+ - No ordering guarantees across different connections
232
+ - Use `correlationId` for request/response matching
233
+
234
+ ## Reliability Features
235
+
236
+ ### At-Least-Once Delivery
237
+
238
+ Implement using acknowledgments:
239
+
240
+ ```typescript
241
+ // Sender waits for ACK
242
+ const sendWithAck = async (message: WebSocketEvent) => {
243
+ ws.send(JSON.stringify(message));
244
+
245
+ return new Promise((resolve, reject) => {
246
+ const timeout = setTimeout(() => {
247
+ reject(new Error('ACK timeout'));
248
+ }, 5000);
249
+
250
+ ackHandlers.set(message.id, () => {
251
+ clearTimeout(timeout);
252
+ resolve();
253
+ });
254
+ });
255
+ };
256
+ ```
257
+
258
+ ### Message Deduplication
259
+
260
+ Receivers SHOULD track message IDs to prevent duplicate processing:
261
+
262
+ ```typescript
263
+ const processedMessages = new Set<string>();
264
+
265
+ ws.onmessage = (event) => {
266
+ const message = JSON.parse(event.data);
267
+
268
+ if (processedMessages.has(message.id)) {
269
+ return; // Duplicate, skip
270
+ }
271
+
272
+ processedMessages.add(message.id);
273
+ processMessage(message);
274
+
275
+ // Send ACK
276
+ ws.send(JSON.stringify({
277
+ type: 'ack',
278
+ payload: { messageId: message.id, status: 'received' }
279
+ }));
280
+ };
281
+ ```
282
+
283
+ ## Security Considerations
284
+
285
+ 1. **TLS Required** - MUST use `wss://` in production
286
+ 2. **Token Expiry** - JWT tokens SHOULD have short expiry (15 minutes)
287
+ 3. **Rate Limiting** - Server SHOULD limit messages per connection
288
+ 4. **Message Size** - Server SHOULD enforce max message size (1MB default)
289
+ 5. **Origin Validation** - Server MUST validate `Origin` header
290
+
291
+ ## Performance Tuning
292
+
293
+ ### Message Batching
294
+
295
+ For high-throughput scenarios, batch multiple messages:
296
+
297
+ ```json
298
+ {
299
+ "type": "batch",
300
+ "messages": [
301
+ {"type": "message", "payload": {...}},
302
+ {"type": "message", "payload": {...}}
303
+ ]
304
+ }
305
+ ```
306
+
307
+ ### Compression
308
+
309
+ Enable WebSocket compression (permessage-deflate):
310
+
311
+ ```http
312
+ Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
313
+ ```
314
+
315
+ ## Examples
316
+
317
+ ### Agent-to-Agent Communication
318
+
319
+ ```typescript
320
+ // Agent A sends capability call to Agent B
321
+ ws.send(JSON.stringify({
322
+ type: 'capability_call',
323
+ id: uuid(),
324
+ timestamp: new Date().toISOString(),
325
+ payload: {
326
+ capability: 'process_data',
327
+ input: { data: [1, 2, 3] }
328
+ },
329
+ metadata: {
330
+ agentId: 'agent://example.com/agent-a',
331
+ correlationId: 'req-123',
332
+ replyTo: 'ws-conn-abc'
333
+ }
334
+ }));
335
+
336
+ // Agent B responds
337
+ ws.send(JSON.stringify({
338
+ type: 'message',
339
+ id: uuid(),
340
+ timestamp: new Date().toISOString(),
341
+ payload: {
342
+ result: { processed: true, count: 3 }
343
+ },
344
+ metadata: {
345
+ agentId: 'agent://example.com/agent-b',
346
+ correlationId: 'req-123'
347
+ }
348
+ }));
349
+ ```
350
+
351
+ ## Compatibility
352
+
353
+ - WebSocket protocol version: RFC 6455
354
+ - Minimum TLS version: 1.2
355
+ - Supported subprotocols: `ossa.v0.3.1`
356
+ - JSON payload encoding: UTF-8
357
+
358
+ ## References
359
+
360
+ - [RFC 6455 - The WebSocket Protocol](https://tools.ietf.org/html/rfc6455)
361
+ - [OSSA Message Envelope Specification](../messaging.md)
362
+ - [Agent Discovery Protocol](../discovery.md)
@@ -0,0 +1,165 @@
1
+ # OSSA v0.3.1 - Unified Agent Schema
2
+ # Universal agent platform: OSSA + GitLab Duo + Google A2A + MCP
3
+ # Zero hardcoded models, runtime-agnostic, infrastructure-driven
4
+
5
+ apiVersion: ossa/v0.3.1
6
+ kind: Agent
7
+
8
+ metadata:
9
+ name: string
10
+ version: string # semver
11
+ description: string
12
+ labels:
13
+ domain: string
14
+ capability: string
15
+ runtime: string
16
+
17
+ spec:
18
+ # ============================================
19
+ # UNIFIED LLM CONFIGURATION
20
+ # No hardcoded models, runtime-configurable
21
+ # ============================================
22
+ llm:
23
+ provider: ${LLM_PROVIDER:-anthropic}
24
+ model: ${LLM_MODEL:-claude-sonnet}
25
+ profile: ${LLM_PROFILE:-balanced} # NEW: A2A compatible
26
+ temperature: ${LLM_TEMPERATURE:-0.1}
27
+ maxTokens: ${LLM_MAX_TOKENS:-16000}
28
+ topP: ${LLM_TOP_P:-0.9}
29
+
30
+ fallback_models:
31
+ - provider: ${LLM_FALLBACK_PROVIDER_1:-openai}
32
+ model: ${LLM_FALLBACK_MODEL_1:-gpt-4o}
33
+ condition: on_error
34
+ - provider: ${LLM_FALLBACK_PROVIDER_2:-google}
35
+ model: ${LLM_FALLBACK_MODEL_2:-gemini-2.0-flash}
36
+ condition: on_rate_limit
37
+
38
+ retry_config:
39
+ max_attempts: ${LLM_RETRY_ATTEMPTS:-3}
40
+ backoff_strategy: ${LLM_BACKOFF_STRATEGY:-exponential}
41
+
42
+ # ============================================
43
+ # EXECUTION PROFILES (Google A2A)
44
+ # Task-specific optimization
45
+ # ============================================
46
+ execution_profile:
47
+ default: ${LLM_PROFILE:-balanced}
48
+ profiles:
49
+ fast:
50
+ maxTokens: 4000
51
+ temperature: 0.0
52
+ description: "Quick responses for triage"
53
+ balanced:
54
+ maxTokens: 16000
55
+ temperature: 0.1
56
+ description: "General agent operations"
57
+ deep:
58
+ maxTokens: 32000
59
+ temperature: 0.2
60
+ reasoning_enabled: true
61
+ description: "Deep analysis and reasoning"
62
+ safe:
63
+ temperature: 0.0
64
+ validation_required: true
65
+ audit_log: true
66
+ description: "Compliance and security"
67
+
68
+ # ============================================
69
+ # RUNTIME DECLARATION (Multi-platform)
70
+ # ============================================
71
+ runtime:
72
+ type: ${AGENT_RUNTIME:-unified}
73
+ supports:
74
+ - google-a2a
75
+ - gitlab-duo
76
+ - ossa-mesh
77
+ - mcp
78
+ - local-execution
79
+ scheduling:
80
+ strategy: ${AGENT_SCHEDULING:-fair}
81
+ priority: ${AGENT_PRIORITY:-normal}
82
+ max_concurrent: ${AGENT_MAX_CONCURRENT:-10}
83
+ timeout_seconds: ${AGENT_TIMEOUT:-300}
84
+ resource_limits:
85
+ memory_mb: ${AGENT_MEMORY_MB:-512}
86
+ cpu_millicores: ${AGENT_CPU_MILLICORES:-500}
87
+
88
+ # ============================================
89
+ # CAPABILITIES (A2A/Duo compatible)
90
+ # ============================================
91
+ capabilities:
92
+ - name: ${CAPABILITY_SCAN:-security_scan}
93
+ type: action
94
+ runtime: llm
95
+ description: "Run security analysis"
96
+ input_schema:
97
+ type: object
98
+ required: [path]
99
+ properties:
100
+ path:
101
+ type: string
102
+ severity:
103
+ type: string
104
+ enum: [low, medium, high, critical]
105
+
106
+ # ============================================
107
+ # FUNCTIONS (A2A format)
108
+ # OpenAI-style function calling
109
+ # ============================================
110
+ functions:
111
+ - name: scan_security
112
+ description: "Run OSSA security analysis"
113
+ parameters:
114
+ type: object
115
+ properties:
116
+ path:
117
+ type: string
118
+ description: "Path to scan"
119
+ severity:
120
+ type: string
121
+ enum: [low, medium, high, critical]
122
+ required: [path]
123
+ returns:
124
+ type: object
125
+ properties:
126
+ findings:
127
+ type: array
128
+ score:
129
+ type: number
130
+
131
+ # ============================================
132
+ # EXTENSIONS (A2A compatible)
133
+ # ============================================
134
+ extensions:
135
+ - type: http
136
+ name: ossa-mesh
137
+ endpoint: ${OSSA_MESH_URL}
138
+ credentials_ref: OSSA_MESH_TOKEN
139
+ - type: mcp
140
+ name: gitlab-mcp
141
+ endpoint: ${GITLAB_MCP_URL}
142
+ credentials_ref: GITLAB_TOKEN
143
+
144
+ # ============================================
145
+ # EXISTING OSSA FEATURES
146
+ # ============================================
147
+ role: string
148
+ taxonomy:
149
+ domain: string
150
+ subdomain: string
151
+ capability: string
152
+
153
+ tools:
154
+ - name: string
155
+ description: string
156
+ source:
157
+ type: mcp
158
+ uri: string
159
+
160
+ knowledge_graph:
161
+ enabled: boolean
162
+ provider: string
163
+ connection:
164
+ endpoint: string
165
+ credentials_ref: string
@@ -0,0 +1,102 @@
1
+ # OSSA v0.3.1 - Capabilities Schema
2
+ # Google A2A and GitLab Duo compatible capability declarations
3
+
4
+ $schema: http://json-schema.org/draft-07/schema#
5
+ $id: https://openstandardagents.org/schemas/v0.3.1/capabilities.yaml
6
+
7
+ title: Agent Capabilities
8
+ description: |
9
+ Structured capability declarations compatible with Google A2A and GitLab Duo.
10
+ Maps agent actions to callable functions.
11
+
12
+ type: array
13
+ items:
14
+ type: object
15
+ required:
16
+ - name
17
+ - type
18
+ properties:
19
+ name:
20
+ type: string
21
+ description: Capability identifier
22
+ pattern: ^[a-z][a-z0-9_]*$
23
+ examples:
24
+ - security_scan
25
+ - code_review
26
+ - deploy_service
27
+ - analyze_logs
28
+
29
+ type:
30
+ type: string
31
+ description: Capability type
32
+ enum:
33
+ - action
34
+ - query
35
+ - transform
36
+ - validation
37
+ - orchestration
38
+
39
+ runtime:
40
+ type: string
41
+ description: Execution runtime
42
+ enum:
43
+ - llm
44
+ - code
45
+ - hybrid
46
+ - external
47
+ default: llm
48
+
49
+ description:
50
+ type: string
51
+ description: Human-readable capability description
52
+
53
+ input_schema:
54
+ type: object
55
+ description: JSON Schema for input validation
56
+
57
+ output_schema:
58
+ type: object
59
+ description: JSON Schema for output validation
60
+
61
+ requires:
62
+ type: array
63
+ description: Required dependencies
64
+ items:
65
+ type: string
66
+
67
+ timeout_seconds:
68
+ type: integer
69
+ description: Capability-specific timeout
70
+ default: 60
71
+
72
+ retry_policy:
73
+ type: object
74
+ properties:
75
+ max_attempts:
76
+ type: integer
77
+ default: 3
78
+ backoff:
79
+ type: string
80
+ enum: [exponential, linear, constant]
81
+
82
+ examples:
83
+ - name: security_scan
84
+ type: action
85
+ runtime: hybrid
86
+ description: Run OSSA security analysis on codebase
87
+ input_schema:
88
+ type: object
89
+ required: [path]
90
+ properties:
91
+ path:
92
+ type: string
93
+ severity:
94
+ type: string
95
+ enum: [low, medium, high, critical]
96
+ output_schema:
97
+ type: object
98
+ properties:
99
+ findings:
100
+ type: array
101
+ score:
102
+ type: number
@@ -0,0 +1,75 @@
1
+ # OSSA v0.3.1 - Functions Schema
2
+ # Google A2A compatible function declarations (OpenAI function calling format)
3
+
4
+ $schema: http://json-schema.org/draft-07/schema#
5
+ $id: https://openstandardagents.org/schemas/v0.3.1/functions.yaml
6
+
7
+ title: Agent Functions
8
+ description: |
9
+ Function declarations in Google A2A / OpenAI format.
10
+ Enables structured function calling across all runtimes.
11
+
12
+ type: array
13
+ items:
14
+ type: object
15
+ required:
16
+ - name
17
+ - description
18
+ - parameters
19
+ properties:
20
+ name:
21
+ type: string
22
+ description: Function name
23
+ pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
24
+
25
+ description:
26
+ type: string
27
+ description: What the function does
28
+
29
+ parameters:
30
+ type: object
31
+ description: JSON Schema for function parameters
32
+ required:
33
+ - type
34
+ - properties
35
+ properties:
36
+ type:
37
+ type: string
38
+ const: object
39
+ properties:
40
+ type: object
41
+ required:
42
+ type: array
43
+ items:
44
+ type: string
45
+
46
+ returns:
47
+ type: object
48
+ description: Return value schema
49
+
50
+ strict:
51
+ type: boolean
52
+ description: Enforce strict schema validation
53
+ default: true
54
+
55
+ examples:
56
+ - name: scan_security
57
+ description: Run OSSA security analysis
58
+ parameters:
59
+ type: object
60
+ properties:
61
+ path:
62
+ type: string
63
+ description: Path to scan
64
+ severity:
65
+ type: string
66
+ enum: [low, medium, high, critical]
67
+ description: Minimum severity level
68
+ required: [path]
69
+ returns:
70
+ type: object
71
+ properties:
72
+ findings:
73
+ type: array
74
+ score:
75
+ type: number