@bluefly/openstandardagents 0.2.7 → 0.2.9

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 (327) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/AGENTS.md +245 -0
  4. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  5. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  6. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  7. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  8. package/.version.json +2 -2
  9. package/.wiki-config.json +24 -0
  10. package/CHANGELOG.md +44 -18
  11. package/CODEOWNERS +75 -0
  12. package/CONTRIBUTING.md +103 -4
  13. package/README.md +178 -243
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/repositories/schema.repository.d.ts +6 -1
  19. package/dist/repositories/schema.repository.d.ts.map +1 -1
  20. package/dist/repositories/schema.repository.js +49 -27
  21. package/dist/repositories/schema.repository.js.map +1 -1
  22. package/dist/services/migration.service.d.ts +4 -3
  23. package/dist/services/migration.service.d.ts.map +1 -1
  24. package/dist/services/migration.service.js +11 -10
  25. package/dist/services/migration.service.js.map +1 -1
  26. package/dist/services/release-automation/release.service.js +1 -1
  27. package/dist/services/release-automation/release.service.js.map +1 -1
  28. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  29. package/dist/services/release-automation/webhook.service.js +3 -3
  30. package/dist/services/release-automation/webhook.service.js.map +1 -1
  31. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  32. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  33. package/dist/services/runtime/claude/claude-adapter.js +2 -2
  34. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  35. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  36. package/dist/spec/v0.2.8/README.md +72 -0
  37. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  38. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  39. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  40. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  41. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  42. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  43. package/dist/spec/v0.2.9/agent.md +1946 -0
  44. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  45. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  46. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  47. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  48. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  49. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  50. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  51. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  52. package/dist/spec/v0.2.9/security-model.md +1245 -0
  53. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  54. package/dist/spec/v0.2.9/types.ts +522 -0
  55. package/dist/types/index.d.ts +3 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/policy.d.ts +377 -0
  58. package/dist/types/policy.d.ts.map +1 -0
  59. package/dist/types/policy.js +84 -0
  60. package/dist/types/policy.js.map +1 -0
  61. package/dist/utils/index.d.ts +6 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/version.d.ts +68 -0
  66. package/dist/utils/version.d.ts.map +1 -0
  67. package/dist/utils/version.js +156 -0
  68. package/dist/utils/version.js.map +1 -0
  69. package/docs/specs/policy-dsl.md +925 -0
  70. package/eslint-report.json +1 -0
  71. package/examples/adk-integration/code-review-workflow.yml +1 -1
  72. package/examples/adk-integration/customer-support.yml +1 -1
  73. package/examples/adk-integration/data-pipeline.yml +1 -1
  74. package/examples/advanced/reasoning-agent.yaml +136 -0
  75. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  76. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  77. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  78. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  79. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  80. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  81. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  82. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  83. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  84. package/examples/agents-md/code-agent.ossa.json +100 -0
  85. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  86. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  87. package/examples/autogen/multi-agent.ossa.json +1 -1
  88. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  89. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  90. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  91. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  92. package/examples/crewai/research-team.ossa.json +1 -1
  93. package/examples/cursor/code-review-agent.ossa.json +1 -1
  94. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  95. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  96. package/examples/extensions/agents-md-v1.yml +175 -0
  97. package/examples/extensions/drupal-v1.yml +1 -1
  98. package/examples/extensions/kagent-v1.yml +1 -1
  99. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  100. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  101. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  102. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  103. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  104. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  105. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  106. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  107. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  108. package/examples/langchain/chain-agent.ossa.json +1 -1
  109. package/examples/langflow/workflow-agent.ossa.json +1 -1
  110. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  111. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  112. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  113. package/examples/multi-agent/README.md +74 -0
  114. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  115. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  116. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  117. package/examples/openai/basic-agent.ossa.yaml +1 -1
  118. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  119. package/examples/openai/swarm-agent.ossa.json +1 -1
  120. package/examples/production/document-analyzer-openai.yml +1 -1
  121. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  122. package/examples/spec-examples/audit-agent.yml +1 -1
  123. package/examples/spec-examples/chat-agent.yml +1 -1
  124. package/examples/spec-examples/compliance-agent.yml +1 -1
  125. package/examples/spec-examples/monitoring-agent.yml +1 -1
  126. package/examples/spec-examples/workflow-agent.yml +1 -1
  127. package/examples/templates/ossa-compliance.yaml +1 -1
  128. package/examples/vercel/edge-agent.ossa.json +1 -1
  129. package/gl-code-quality-report.json +62 -0
  130. package/llms-ctx-full.txt +39 -0
  131. package/llms-ctx.txt +39 -0
  132. package/llms.txt +47 -0
  133. package/package.json +6 -3
  134. package/scripts/README.md +25 -0
  135. package/scripts/compliance-audit.ts +796 -0
  136. package/scripts/eslint-to-codequality.cjs +34 -0
  137. package/scripts/generate-agents-catalog.ts +2 -1
  138. package/scripts/generate-api-docs.ts +2 -1
  139. package/scripts/generate-examples-docs.ts +2 -1
  140. package/scripts/generate-llms-ctx.sh +17 -0
  141. package/scripts/generate-schema-docs.ts +31 -10
  142. package/scripts/sync-version.js +4 -12
  143. package/scripts/validate-schema.ts +2 -1
  144. package/spec/v0.2.8/CHANGELOG.md +401 -0
  145. package/spec/v0.2.8/README.md +72 -0
  146. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  147. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  148. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  149. package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  150. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  151. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  152. package/spec/v0.2.9/agent.md +1946 -0
  153. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  154. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  155. package/spec/v0.2.9/capability-schema.md +576 -0
  156. package/spec/v0.2.9/compliance-profiles.md +533 -0
  157. package/spec/v0.2.9/conformance-testing.md +1527 -0
  158. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  159. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  160. package/spec/v0.2.9/runtime-semantics.md +464 -0
  161. package/spec/v0.2.9/security-model.md +1245 -0
  162. package/spec/v0.2.9/semantic-conventions.md +347 -0
  163. package/spec/v0.2.9/types.ts +522 -0
  164. package/test-results/junit.xml +337 -0
  165. package/.github/workflows/pr-comment.yml +0 -33
  166. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  167. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
  168. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  169. package/scripts/lib/exec.ts +0 -37
  170. package/scripts/lib/file-ops.ts +0 -58
  171. package/scripts/lib/version.ts +0 -83
  172. package/website/.lighthouserc.ts +0 -24
  173. package/website/.prettierrc +0 -10
  174. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  175. package/website/Dockerfile +0 -30
  176. package/website/app/about/page.tsx +0 -304
  177. package/website/app/blog/[slug]/page.tsx +0 -208
  178. package/website/app/blog/page.tsx +0 -249
  179. package/website/app/design-guide/page.tsx +0 -511
  180. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  181. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  182. package/website/app/ecosystem/page.tsx +0 -410
  183. package/website/app/examples/page.tsx +0 -133
  184. package/website/app/globals.scss +0 -370
  185. package/website/app/layout.tsx +0 -106
  186. package/website/app/license/page.tsx +0 -183
  187. package/website/app/not-found.tsx +0 -18
  188. package/website/app/page.tsx +0 -686
  189. package/website/app/page.tsx.bak +0 -679
  190. package/website/app/page.tsx.bak2 +0 -649
  191. package/website/app/playground/page.tsx +0 -487
  192. package/website/app/robots.ts +0 -19
  193. package/website/app/rss.xml/route.ts +0 -74
  194. package/website/app/schema/page.tsx +0 -1001
  195. package/website/app/sitemap.ts +0 -56
  196. package/website/app/specification/page.tsx +0 -287
  197. package/website/components/InstallCommand.tsx +0 -96
  198. package/website/components/Logo.tsx +0 -97
  199. package/website/components/StructuredData.tsx +0 -65
  200. package/website/components/docs/DocsSearch.tsx +0 -104
  201. package/website/components/docs/DocsSidebar.tsx +0 -155
  202. package/website/components/docs/MarkdownContent.tsx +0 -401
  203. package/website/components/docs/VersionSelector.tsx +0 -105
  204. package/website/components/examples/ExamplesViewer.tsx +0 -293
  205. package/website/components/layout/Footer.tsx +0 -116
  206. package/website/components/layout/Header.tsx +0 -172
  207. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  208. package/website/components/schema/SchemaExplorer.tsx +0 -213
  209. package/website/components/ui/Badge.tsx +0 -82
  210. package/website/components/ui/Button.tsx +0 -116
  211. package/website/components/ui/Card.tsx +0 -167
  212. package/website/components/ui/Checkbox.tsx +0 -141
  213. package/website/components/ui/Input.tsx +0 -169
  214. package/website/components/ui/Radio.tsx +0 -141
  215. package/website/components/ui/Select.tsx +0 -182
  216. package/website/components/ui/Tag.tsx +0 -158
  217. package/website/components/ui/Textarea.tsx +0 -195
  218. package/website/components/ui/index.ts +0 -11
  219. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  220. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  221. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  222. package/website/content/blog/introducing-ossa-framework.md +0 -328
  223. package/website/content/blog/ossa-production-results.md +0 -279
  224. package/website/content/blog/welcome-to-ossa.md +0 -43
  225. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  226. package/website/content/docs/00-home.md +0 -153
  227. package/website/content/docs/adapters/openai-adapter.md +0 -693
  228. package/website/content/docs/agents/catalog.md +0 -28
  229. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  230. package/website/content/docs/api-reference/index.md +0 -38
  231. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  232. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  233. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  234. package/website/content/docs/architecture/execution-flow.md +0 -335
  235. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  236. package/website/content/docs/architecture/overview.md +0 -121
  237. package/website/content/docs/architecture/stack-integration.md +0 -461
  238. package/website/content/docs/changelog.md +0 -246
  239. package/website/content/docs/cli-reference/index.md +0 -111
  240. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  241. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  242. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  243. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  244. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  245. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  246. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  247. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  248. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  249. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  250. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  251. package/website/content/docs/configuration/index.md +0 -97
  252. package/website/content/docs/contributing.md +0 -599
  253. package/website/content/docs/deployment/github-mirroring.md +0 -924
  254. package/website/content/docs/documentation.md +0 -100
  255. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  256. package/website/content/docs/ecosystem/overview.md +0 -366
  257. package/website/content/docs/errors/index.md +0 -10
  258. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  259. package/website/content/docs/examples/catalog.md +0 -300
  260. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  261. package/website/content/docs/getting-started/index.md +0 -92
  262. package/website/content/docs/getting-started/installation.md +0 -155
  263. package/website/content/docs/getting-started/running-agents.md +0 -309
  264. package/website/content/docs/getting-started.md +0 -91
  265. package/website/content/docs/integrations/aiflow.md +0 -104
  266. package/website/content/docs/integrations/drupal.md +0 -105
  267. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  268. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  269. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  270. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  271. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  272. package/website/content/docs/migration-guides/index.md +0 -133
  273. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  274. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  275. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  276. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  277. package/website/content/docs/openapi-extensions/examples.md +0 -550
  278. package/website/content/docs/openapi-extensions/index.md +0 -551
  279. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  280. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  281. package/website/content/docs/ossa-compliant-badge.md +0 -251
  282. package/website/content/docs/pre-release/index.md +0 -175
  283. package/website/content/docs/quick-reference.md +0 -17
  284. package/website/content/docs/readme.md +0 -35
  285. package/website/content/docs/releases/v0.2.6.md +0 -99
  286. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  287. package/website/content/docs/schema-reference/agent-id.md +0 -52
  288. package/website/content/docs/schema-reference/agent-name.md +0 -50
  289. package/website/content/docs/schema-reference/agent-role.md +0 -54
  290. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  291. package/website/content/docs/schema-reference/agent-version.md +0 -50
  292. package/website/content/docs/schema-reference/autonomy.md +0 -568
  293. package/website/content/docs/schema-reference/constraints.md +0 -543
  294. package/website/content/docs/schema-reference/index.md +0 -45
  295. package/website/content/docs/schema-reference/llm-config.md +0 -445
  296. package/website/content/docs/schema-reference/observability.md +0 -654
  297. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  298. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  299. package/website/content/docs/schema-reference/tools.md +0 -628
  300. package/website/content/docs/templates/blog-post.md +0 -43
  301. package/website/content/docs/types-reference/index.md +0 -105
  302. package/website/content/docs/use-cases/00-index.md +0 -395
  303. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  304. package/website/content/docs/use-cases/customer-support.md +0 -1234
  305. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  306. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  307. package/website/content/docs/versioning.md +0 -288
  308. package/website/dev.sh +0 -53
  309. package/website/docker-compose.dev.yml +0 -36
  310. package/website/lib/version.ts +0 -35
  311. package/website/lib/versions.json +0 -103
  312. package/website/next.config.ts +0 -18
  313. package/website/nginx.conf +0 -32
  314. package/website/package-lock.json +0 -9679
  315. package/website/package.json +0 -59
  316. package/website/postcss.config.mjs +0 -9
  317. package/website/scripts/fetch-versions.js +0 -166
  318. package/website/scripts/generate-examples-index.js +0 -163
  319. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  320. package/website/scripts/sync-version.js +0 -72
  321. package/website/scripts/sync-wiki.ts +0 -322
  322. package/website/scripts/upload-wiki.ts +0 -199
  323. package/website/styles/_spacing.scss +0 -453
  324. package/website/styles/_tokens.scss +0 -245
  325. package/website/styles/_typography.scss +0 -361
  326. package/website/styles/_variables.scss +0 -287
  327. package/website/tailwind.config.ts +0 -170
@@ -1,737 +0,0 @@
1
- # Multi-Agent Systems Architecture
2
-
3
- How multiple OSSA agents discover, communicate, and coordinate with each other.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- OSSA enables **multi-agent systems** where specialized agents collaborate to solve complex problems. Just as microservices communicate via REST APIs, OSSA agents communicate via standardized manifests and messaging protocols.
10
-
11
- ---
12
-
13
- ## Multi-Agent System Topology
14
-
15
- ```mermaid
16
- graph TB
17
- subgraph "Agent Registry"
18
- Registry[OSSA Agent Registry<br/>Discovery Service]
19
- Manifests[(Agent Manifests<br/>customer.ossa.yaml<br/>sales.ossa.yaml<br/>support.ossa.yaml)]
20
- end
21
-
22
- subgraph "Orchestrator Layer"
23
- Coordinator[Agent Coordinator]
24
- Router[Message Router]
25
- Queue[Message Queue<br/>RabbitMQ | Redis]
26
- end
27
-
28
- subgraph "Agent Layer"
29
- CustomerAgent[Customer Agent<br/>Handles inquiries]
30
- SalesAgent[Sales Agent<br/>Processes orders]
31
- SupportAgent[Support Agent<br/>Resolves issues]
32
- AnalyticsAgent[Analytics Agent<br/>Generates reports]
33
- end
34
-
35
- subgraph "Shared Resources"
36
- Memory[(Shared Memory<br/>PostgreSQL)]
37
- Vector[(Vector Store<br/>Pinecone)]
38
- Cache[(Cache<br/>Redis)]
39
- end
40
-
41
- Registry --> Coordinator
42
- Manifests --> Registry
43
-
44
- Coordinator --> Router
45
- Router --> Queue
46
-
47
- Queue --> CustomerAgent
48
- Queue --> SalesAgent
49
- Queue --> SupportAgent
50
- Queue --> AnalyticsAgent
51
-
52
- CustomerAgent --> Memory
53
- SalesAgent --> Memory
54
- SupportAgent --> Memory
55
- AnalyticsAgent --> Memory
56
-
57
- CustomerAgent --> Vector
58
- SalesAgent --> Vector
59
-
60
- CustomerAgent --> Cache
61
- SalesAgent --> Cache
62
- SupportAgent --> Cache
63
-
64
- CustomerAgent -.->|Delegate| SalesAgent
65
- CustomerAgent -.->|Escalate| SupportAgent
66
- SalesAgent -.->|Report| AnalyticsAgent
67
-
68
- style Registry fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
69
- style Manifests fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
70
- ```
71
-
72
- ---
73
-
74
- ## Agent Discovery Flow
75
-
76
- ```mermaid
77
- sequenceDiagram
78
- autonumber
79
- participant CustomerAgent as Customer Agent
80
- participant Registry as Agent Registry
81
- participant SalesAgent as Sales Agent
82
-
83
- CustomerAgent->>Registry: Query: "Find agent for 'process_order'"
84
- Note over Registry: Search manifests<br/>by capability
85
-
86
- Registry->>Registry: Load sales.ossa.yaml
87
- Note over Registry: apiVersion: ossa/v0.2.x<br/>capabilities:<br/> - process_order
88
-
89
- Registry-->>CustomerAgent: Return Agent Info
90
- Note over Registry: {<br/> name: "sales-agent",<br/> endpoint: "/api/sales",<br/> manifest: {...}<br/>}
91
-
92
- CustomerAgent->>SalesAgent: Delegate Task
93
- Note over CustomerAgent,SalesAgent: {<br/> task: "process_order",<br/> data: {...}<br/>}
94
-
95
- SalesAgent-->>CustomerAgent: Task Result
96
- ```
97
-
98
- **Key Concepts:**
99
- - **Agent Registry**: Central discovery service for OSSA agents
100
- - **Capability Matching**: Find agents by what they can do
101
- - **Manifest-Driven**: Agent capabilities defined in OSSA manifests
102
-
103
- ---
104
-
105
- ## Agent-to-Agent Communication
106
-
107
- ### Pattern 1: Direct Delegation
108
-
109
- ```mermaid
110
- sequenceDiagram
111
- participant User
112
- participant AgentA as Customer Agent
113
- participant AgentB as Sales Agent
114
- participant LLM as LLM Provider
115
-
116
- User->>AgentA: "I want to buy 5 widgets"
117
- AgentA->>LLM: Process Intent
118
- LLM-->>AgentA: Intent: purchase_order
119
-
120
- Note over AgentA: Check capabilities<br/>in manifest
121
-
122
- AgentA->>AgentA: Load sales.ossa.yaml
123
- Note over AgentA: Found: Sales Agent<br/>handles orders
124
-
125
- AgentA->>AgentB: Delegate Task
126
- Note over AgentA,AgentB: {<br/> action: "create_order",<br/> items: ["widget"],<br/> quantity: 5<br/>}
127
-
128
- AgentB->>LLM: Process Order
129
- LLM->>AgentB: Generate Confirmation
130
-
131
- AgentB-->>AgentA: Order Created
132
- Note over AgentB: {<br/> orderId: "12345",<br/> total: "$50.00"<br/>}
133
-
134
- AgentA->>User: "Order #12345 created for $50"
135
- ```
136
-
137
- **OSSA Manifest Example (Customer Agent):**
138
- ```yaml
139
- apiVersion: ossa/v0.2.x
140
- kind: Agent
141
- metadata:
142
- name: customer-agent
143
- spec:
144
- role: You are a customer service agent
145
- capabilities:
146
- - handle_inquiries
147
- - delegate_to_sales
148
- delegationRules:
149
- - intent: purchase_order
150
- targetAgent: sales-agent
151
- method: direct
152
- ```
153
-
154
- ---
155
-
156
- ### Pattern 2: Event-Driven Coordination
157
-
158
- ```mermaid
159
- sequenceDiagram
160
- participant AgentA as Order Agent
161
- participant Queue as Message Queue
162
- participant AgentB as Inventory Agent
163
- participant AgentC as Notification Agent
164
-
165
- AgentA->>Queue: Publish Event
166
- Note over Queue: Event: order_created<br/>{orderId: 12345}
167
-
168
- Queue->>AgentB: Consume Event
169
- Queue->>AgentC: Consume Event
170
-
171
- par Process in Parallel
172
- AgentB->>AgentB: Update Inventory
173
- Note over AgentB: Reduce stock by qty
174
- AgentB->>Queue: Publish: inventory_updated
175
- and
176
- AgentC->>AgentC: Send Email
177
- Note over AgentC: Email customer
178
- AgentC->>Queue: Publish: notification_sent
179
- end
180
-
181
- Queue->>AgentA: Events: inventory_updated, notification_sent
182
- AgentA->>AgentA: Mark Order Complete
183
- ```
184
-
185
- **OSSA Manifest Example (Order Agent):**
186
- ```yaml
187
- apiVersion: ossa/v0.2.x
188
- kind: Agent
189
- metadata:
190
- name: order-agent
191
- spec:
192
- role: You process customer orders
193
- events:
194
- publishes:
195
- - name: order_created
196
- schema:
197
- type: object
198
- properties:
199
- orderId: { type: string }
200
- items: { type: array }
201
- subscribes:
202
- - name: inventory_updated
203
- handler: update_order_status
204
- - name: notification_sent
205
- handler: mark_notified
206
- ```
207
-
208
- ---
209
-
210
- ### Pattern 3: Hierarchical Coordination
211
-
212
- ```mermaid
213
- graph TB
214
- Supervisor[Supervisor Agent<br/>Orchestrates workflow]
215
-
216
- Supervisor --> Worker1[Research Agent<br/>Gathers data]
217
- Supervisor --> Worker2[Analysis Agent<br/>Processes data]
218
- Supervisor --> Worker3[Report Agent<br/>Generates output]
219
-
220
- Worker1 --> Supervisor
221
- Worker2 --> Supervisor
222
- Worker3 --> Supervisor
223
-
224
- Supervisor --> Result[Final Result<br/>to User]
225
-
226
- style Supervisor fill:#E74C3C,stroke:#333,stroke-width:2px,color:#fff
227
- style Worker1 fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
228
- style Worker2 fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
229
- style Worker3 fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
230
- ```
231
-
232
- **Workflow:**
233
- 1. Supervisor receives complex task
234
- 2. Breaks task into subtasks
235
- 3. Assigns subtasks to worker agents
236
- 4. Collects results
237
- 5. Synthesizes final response
238
-
239
- **OSSA Manifest Example (Supervisor):**
240
- ```yaml
241
- apiVersion: ossa/v0.2.x
242
- kind: Agent
243
- metadata:
244
- name: supervisor-agent
245
- spec:
246
- role: You coordinate research workflows
247
- workerAgents:
248
- - name: research-agent
249
- capabilities: [gather_data, web_search]
250
- - name: analysis-agent
251
- capabilities: [analyze_data, statistics]
252
- - name: report-agent
253
- capabilities: [generate_report, format_output]
254
- workflow:
255
- - step: research
256
- agent: research-agent
257
- output: raw_data
258
- - step: analyze
259
- agent: analysis-agent
260
- input: raw_data
261
- output: insights
262
- - step: report
263
- agent: report-agent
264
- input: insights
265
- output: final_report
266
- ```
267
-
268
- ---
269
-
270
- ## Agent Capability Discovery
271
-
272
- ### Capability-Based Routing
273
-
274
- ```mermaid
275
- graph LR
276
- Task[User Task:<br/>Analyze sales data] --> Router[Agent Router]
277
-
278
- Router --> Registry[Query Registry<br/>capability=analytics]
279
-
280
- Registry --> Check1{Check Agent 1<br/>customer-agent}
281
- Registry --> Check2{Check Agent 2<br/>analytics-agent}
282
- Registry --> Check3{Check Agent 3<br/>support-agent}
283
-
284
- Check1 -->|No match| X1[Skip]
285
- Check2 -->|Match!| Select[Select Analytics Agent]
286
- Check3 -->|No match| X2[Skip]
287
-
288
- Select --> Execute[Execute Task]
289
-
290
- style Registry fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
291
- style Select fill:#2ECC71,stroke:#333,stroke-width:2px,color:#fff
292
- ```
293
-
294
- **How it works:**
295
- 1. Task comes in with required capability (e.g., "analytics")
296
- 2. Router queries agent registry
297
- 3. Registry scans all OSSA manifests
298
- 4. Returns agents with matching capabilities
299
- 5. Router selects best agent (by priority, load, etc.)
300
-
301
- **OSSA Manifest with Capabilities:**
302
- ```yaml
303
- apiVersion: ossa/v0.2.x
304
- kind: Agent
305
- metadata:
306
- name: analytics-agent
307
- version: 1.0.0
308
- spec:
309
- role: You analyze business data
310
- capabilities:
311
- - name: analyze_sales_data
312
- description: Analyze sales trends and metrics
313
- priority: high
314
- - name: generate_charts
315
- description: Create data visualizations
316
- priority: medium
317
- - name: forecast_revenue
318
- description: Predict future revenue
319
- priority: high
320
- ```
321
-
322
- ---
323
-
324
- ## Multi-Agent Communication Protocols
325
-
326
- ### Protocol 1: RESTful Agent Communication
327
-
328
- ```yaml
329
- # Agent A sends HTTP request to Agent B
330
- POST /api/agents/sales-agent/tasks
331
- Content-Type: application/json
332
- X-OSSA-Agent: customer-agent
333
- X-OSSA-Version: v0.2.x
334
-
335
- {
336
- "task": "create_order",
337
- "parameters": {
338
- "customerId": "C123",
339
- "items": [{"sku": "W001", "quantity": 5}]
340
- },
341
- "context": {
342
- "conversationId": "conv-456",
343
- "userId": "user-789"
344
- }
345
- }
346
- ```
347
-
348
- **Response:**
349
- ```json
350
- {
351
- "status": "success",
352
- "result": {
353
- "orderId": "12345",
354
- "total": 50.00
355
- },
356
- "metadata": {
357
- "agent": "sales-agent",
358
- "executionTime": 1230
359
- }
360
- }
361
- ```
362
-
363
- ---
364
-
365
- ### Protocol 2: Message Queue (Async)
366
-
367
- ```yaml
368
- # Agent publishes to queue
369
- Message:
370
- exchange: ossa.agents
371
- routingKey: order.created
372
- body:
373
- event: order_created
374
- agent: order-agent
375
- data:
376
- orderId: "12345"
377
- customerId: "C123"
378
- timestamp: "2024-01-15T10:30:00Z"
379
- ```
380
-
381
- **Consumer (Inventory Agent):**
382
- ```yaml
383
- # Subscribes to order.created events
384
- Subscription:
385
- queue: inventory-updates
386
- binding:
387
- exchange: ossa.agents
388
- routingKey: order.created
389
- handler: update_inventory
390
- ```
391
-
392
- ---
393
-
394
- ### Protocol 3: Shared Memory
395
-
396
- ```python
397
- # Agent A writes to shared memory
398
- shared_memory.set(
399
- key="task:order-12345",
400
- value={
401
- "status": "processing",
402
- "assignedTo": "inventory-agent",
403
- "createdBy": "order-agent",
404
- "data": {...}
405
- },
406
- ttl=3600 # 1 hour
407
- )
408
-
409
- # Agent B reads from shared memory
410
- task = shared_memory.get("task:order-12345")
411
- # Process task...
412
- shared_memory.update("task:order-12345", {"status": "completed"})
413
- ```
414
-
415
- ---
416
-
417
- ## Agent Coordination Patterns
418
-
419
- ### Pattern 1: Pipeline (Sequential)
420
-
421
- ```mermaid
422
- graph LR
423
- A[Agent A<br/>Extract Data] --> B[Agent B<br/>Transform Data]
424
- B --> C[Agent C<br/>Load Data]
425
- C --> D[Result]
426
-
427
- style A fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
428
- style B fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
429
- style C fill:#3498DB,stroke:#333,stroke-width:1px,color:#fff
430
- ```
431
-
432
- **Use case:** ETL workflows, document processing pipelines
433
-
434
- ---
435
-
436
- ### Pattern 2: Scatter-Gather (Parallel)
437
-
438
- ```mermaid
439
- graph TB
440
- Coordinator[Coordinator Agent]
441
-
442
- Coordinator -->|Scatter| A1[Agent 1]
443
- Coordinator -->|Scatter| A2[Agent 2]
444
- Coordinator -->|Scatter| A3[Agent 3]
445
-
446
- A1 -->|Gather| Result[Combined Result]
447
- A2 -->|Gather| Result
448
- A3 -->|Gather| Result
449
-
450
- style Coordinator fill:#E74C3C,stroke:#333,stroke-width:2px,color:#fff
451
- ```
452
-
453
- **Use case:** Research tasks, competitive analysis, multi-source data gathering
454
-
455
- ---
456
-
457
- ### Pattern 3: Request-Reply (Synchronous)
458
-
459
- ```mermaid
460
- sequenceDiagram
461
- participant A as Agent A
462
- participant B as Agent B
463
-
464
- A->>B: Request (sync)
465
- Note over B: Process request
466
- B-->>A: Reply
467
- Note over A: Continue with result
468
- ```
469
-
470
- **Use case:** API calls, database queries, simple delegations
471
-
472
- ---
473
-
474
- ### Pattern 4: Publish-Subscribe (Async)
475
-
476
- ```mermaid
477
- graph TB
478
- Publisher[Publisher Agent]
479
-
480
- Publisher -->|Publish| Topic[Event Topic<br/>order.created]
481
-
482
- Topic --> Sub1[Subscriber 1<br/>Inventory]
483
- Topic --> Sub2[Subscriber 2<br/>Analytics]
484
- Topic --> Sub3[Subscriber 3<br/>Notifications]
485
-
486
- style Publisher fill:#E74C3C,stroke:#333,stroke-width:2px,color:#fff
487
- ```
488
-
489
- **Use case:** Event-driven systems, real-time updates, loose coupling
490
-
491
- ---
492
-
493
- ## Multi-Agent System Example
494
-
495
- ### E-Commerce Platform with 5 Agents
496
-
497
- ```mermaid
498
- graph TB
499
- User[User] --> Frontend[Frontend Agent<br/>Handles UI interactions]
500
-
501
- Frontend --> Customer[Customer Agent<br/>Manages accounts]
502
- Frontend --> Product[Product Agent<br/>Searches catalog]
503
- Frontend --> Order[Order Agent<br/>Processes orders]
504
-
505
- Order --> Inventory[Inventory Agent<br/>Manages stock]
506
- Order --> Payment[Payment Agent<br/>Processes payments]
507
-
508
- Customer --> Analytics[Analytics Agent<br/>Tracks behavior]
509
- Product --> Analytics
510
- Order --> Analytics
511
-
512
- subgraph "OSSA Manifests"
513
- M1[frontend.ossa.yaml]
514
- M2[customer.ossa.yaml]
515
- M3[product.ossa.yaml]
516
- M4[order.ossa.yaml]
517
- M5[inventory.ossa.yaml]
518
- M6[payment.ossa.yaml]
519
- M7[analytics.ossa.yaml]
520
- end
521
-
522
- Frontend -.-> M1
523
- Customer -.-> M2
524
- Product -.-> M3
525
- Order -.-> M4
526
- Inventory -.-> M5
527
- Payment -.-> M6
528
- Analytics -.-> M7
529
-
530
- style M1 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
531
- style M2 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
532
- style M3 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
533
- style M4 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
534
- style M5 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
535
- style M6 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
536
- style M7 fill:#4A90E2,stroke:#333,stroke-width:1px,color:#fff
537
- ```
538
-
539
- **Flow:**
540
- 1. User interacts with Frontend Agent
541
- 2. Frontend Agent delegates to specialized agents (Customer, Product, Order)
542
- 3. Order Agent coordinates with Inventory and Payment agents
543
- 4. Analytics Agent passively observes all interactions
544
-
545
- **Benefits:**
546
- - ✅ Each agent has a single responsibility
547
- - ✅ Agents can be developed/deployed independently
548
- - ✅ Easy to add new agents (e.g., Shipping Agent)
549
- - ✅ Scales horizontally (run multiple instances)
550
-
551
- ---
552
-
553
- ## Agent Registry Implementation
554
-
555
- ### Registry Schema
556
-
557
- ```yaml
558
- # Agent Registry Entry
559
- agents:
560
- - id: customer-agent-001
561
- name: customer-agent
562
- version: 1.0.0
563
- manifest: s3://manifests/customer.ossa.yaml
564
- endpoint: https://api.example.com/agents/customer
565
- capabilities:
566
- - handle_inquiries
567
- - manage_accounts
568
- status: active
569
- healthCheck: https://api.example.com/agents/customer/health
570
- metadata:
571
- team: customer-experience
572
- environment: production
573
-
574
- - id: sales-agent-001
575
- name: sales-agent
576
- version: 2.1.0
577
- manifest: s3://manifests/sales.ossa.yaml
578
- endpoint: https://api.example.com/agents/sales
579
- capabilities:
580
- - process_orders
581
- - generate_quotes
582
- status: active
583
- healthCheck: https://api.example.com/agents/sales/health
584
- metadata:
585
- team: sales-ops
586
- environment: production
587
- ```
588
-
589
- **Registry API:**
590
- ```bash
591
- # Discover agents by capability
592
- GET /registry/agents?capability=process_orders
593
-
594
- # Get agent manifest
595
- GET /registry/agents/sales-agent-001/manifest
596
-
597
- # Register new agent
598
- POST /registry/agents
599
- Body: { name, version, manifest, endpoint, capabilities }
600
-
601
- # Update agent status
602
- PATCH /registry/agents/sales-agent-001
603
- Body: { status: "maintenance" }
604
- ```
605
-
606
- ---
607
-
608
- ## Security in Multi-Agent Systems
609
-
610
- ### Agent Authentication
611
-
612
- ```yaml
613
- # OSSA Manifest with Auth
614
- apiVersion: ossa/v0.2.x
615
- kind: Agent
616
- metadata:
617
- name: secure-agent
618
- spec:
619
- security:
620
- authentication:
621
- type: jwt
622
- issuer: https://auth.example.com
623
- audience: ossa-agents
624
- authorization:
625
- allowedAgents:
626
- - customer-agent
627
- - sales-agent
628
- deniedAgents:
629
- - untrusted-agent
630
- encryption:
631
- inTransit: tls1.3
632
- atRest: aes256
633
- ```
634
-
635
- ### Message Signing
636
-
637
- ```python
638
- # Agent A signs message to Agent B
639
- message = {
640
- "task": "create_order",
641
- "data": {...}
642
- }
643
-
644
- signature = sign_message(message, private_key)
645
-
646
- request = {
647
- "message": message,
648
- "signature": signature,
649
- "agent": "customer-agent",
650
- "timestamp": "2024-01-15T10:30:00Z"
651
- }
652
-
653
- # Agent B verifies signature
654
- if verify_signature(request, public_key):
655
- process_message(request["message"])
656
- else:
657
- raise AuthenticationError("Invalid signature")
658
- ```
659
-
660
- ---
661
-
662
- ## Monitoring Multi-Agent Systems
663
-
664
- ### Observability Dashboard
665
-
666
- ```mermaid
667
- graph TB
668
- subgraph "Agents"
669
- A1[Customer Agent]
670
- A2[Sales Agent]
671
- A3[Support Agent]
672
- end
673
-
674
- subgraph "Observability Layer"
675
- Metrics[Metrics Collector<br/>Prometheus]
676
- Logs[Log Aggregator<br/>Loki]
677
- Traces[Trace Collector<br/>Jaeger]
678
- end
679
-
680
- subgraph "Visualization"
681
- Grafana[Grafana Dashboard]
682
- end
683
-
684
- A1 --> Metrics
685
- A2 --> Metrics
686
- A3 --> Metrics
687
-
688
- A1 --> Logs
689
- A2 --> Logs
690
- A3 --> Logs
691
-
692
- A1 --> Traces
693
- A2 --> Traces
694
- A3 --> Traces
695
-
696
- Metrics --> Grafana
697
- Logs --> Grafana
698
- Traces --> Grafana
699
- ```
700
-
701
- **Key Metrics:**
702
- - Agent response times
703
- - Inter-agent communication latency
704
- - Task delegation counts
705
- - Error rates per agent
706
- - Resource utilization
707
-
708
- ---
709
-
710
- ## Key Takeaways
711
-
712
- ### What OSSA Enables
713
- - ✅ **Agent Discovery**: Find agents by capability
714
- - ✅ **Standard Communication**: Common protocols via manifests
715
- - ✅ **Loose Coupling**: Agents don't need to know implementation details
716
- - ✅ **Scalability**: Add/remove agents without system changes
717
- - ✅ **Portability**: Move agents between environments
718
-
719
- ### Best Practices
720
- 1. **Single Responsibility**: Each agent handles one domain
721
- 2. **Capability-Driven**: Define clear capabilities in manifests
722
- 3. **Event-Driven**: Use async messaging for loose coupling
723
- 4. **Health Checks**: Monitor agent availability
724
- 5. **Versioning**: Version manifests for backward compatibility
725
-
726
- ---
727
-
728
- ## Related Documentation
729
-
730
- - [Execution Flow](execution-flow) - How individual agents process requests
731
- - [Stack Integration](stack-integration) - Where multi-agent systems fit
732
- - [Ecosystem Overview](/docs/ecosystem/overview) - Real-world patterns
733
- - [Specification](/docs/specification) - OSSA spec details
734
-
735
- ---
736
-
737
- **Next Steps**: Explore [Ecosystem Overview](/docs/ecosystem/overview) for real-world multi-agent examples