@bluefly/openstandardagents 0.4.6 → 0.4.8

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 (300) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +16 -0
  3. package/README.md +1 -0
  4. package/dist/.version.json +3 -3
  5. package/dist/adapters/mcp/converter.js +4 -3
  6. package/dist/adapters/npm/adapter.js +2 -1
  7. package/dist/adapters/openai-agents/adapter.js +1 -1
  8. package/dist/cli/commands/config.command.d.ts +7 -0
  9. package/dist/cli/commands/config.command.js +92 -0
  10. package/dist/cli/commands/migrate.command.js +1 -1
  11. package/dist/cli/commands/sign.command.d.ts +3 -0
  12. package/dist/cli/commands/sign.command.js +42 -0
  13. package/dist/cli/commands/skills.command.js +4 -6
  14. package/dist/config/cli-config.d.ts +33 -0
  15. package/dist/config/cli-config.js +107 -0
  16. package/dist/mcp-server/index.js +0 -0
  17. package/dist/package.json +8 -9
  18. package/dist/services/governance/cedar-provider.js +2 -1
  19. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  20. package/dist/services/release-automation/base-crud.service.js +68 -0
  21. package/dist/services/release-automation/generate-changelog.d.ts +7 -0
  22. package/dist/services/release-automation/generate-changelog.js +288 -0
  23. package/dist/services/release-automation/increment-dev-tag.d.ts +7 -0
  24. package/dist/services/release-automation/increment-dev-tag.js +160 -0
  25. package/dist/services/release-automation/index.d.ts +12 -0
  26. package/dist/services/release-automation/index.js +12 -0
  27. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  28. package/dist/services/release-automation/merge-request.service.js +212 -0
  29. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  30. package/dist/services/release-automation/milestone.service.js +207 -0
  31. package/dist/services/release-automation/release-agent.service.d.ts +39 -0
  32. package/dist/services/release-automation/release-agent.service.js +43 -0
  33. package/dist/services/release-automation/release-buttons.d.ts +7 -0
  34. package/dist/services/release-automation/release-buttons.js +207 -0
  35. package/dist/services/release-automation/release.service.d.ts +118 -0
  36. package/dist/services/release-automation/release.service.js +207 -0
  37. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  38. package/dist/services/release-automation/schemas/release.schema.js +272 -0
  39. package/dist/services/release-automation/tag.service.d.ts +99 -0
  40. package/dist/services/release-automation/tag.service.js +183 -0
  41. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  42. package/dist/services/release-automation/webhook.service.js +187 -0
  43. package/dist/skills/test-skill/README.md +36 -0
  44. package/dist/skills/test-skill/SKILL.md +31 -0
  45. package/dist/skills/test-skill/index.d.ts +31 -0
  46. package/dist/skills/test-skill/install.js +44 -0
  47. package/dist/skills/test-skill/package.json +36 -0
  48. package/dist/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +1 -1
  49. package/dist/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +1 -1
  50. package/dist/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +1 -1
  51. package/dist/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +1 -1
  52. package/dist/spec/reference/reference-agents/pipeline-fixer/manifest.ossa.yaml +1 -1
  53. package/dist/spec/reference/reference-agents/release-orchestrator/manifest.ossa.yaml +1 -1
  54. package/dist/spec/uadp/README.md +393 -0
  55. package/dist/spec/uadp/openapi.yaml +387 -0
  56. package/dist/spec/uadp/schemas/uadp-agents-response.schema.json +68 -0
  57. package/dist/spec/uadp/schemas/uadp-federation-response.schema.json +46 -0
  58. package/dist/spec/uadp/schemas/uadp-manifest.schema.json +82 -0
  59. package/dist/spec/uadp/schemas/uadp-skills-response.schema.json +72 -0
  60. package/dist/spec/v0.4/agent-card.schema.json +1 -1
  61. package/dist/spec/v0.4/agent.schema.json +15 -15
  62. package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  63. package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +1 -1
  64. package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +1 -1
  65. package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +1 -1
  66. package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +1 -1
  67. package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +1 -1
  68. package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +1 -1
  69. package/dist/spec/v0.5/agent-card.schema.json +477 -0
  70. package/dist/spec/v0.5/agent.schema.json +1556 -0
  71. package/dist/spec/v0.5/conformance/profiles/baseline.json +19 -0
  72. package/dist/spec/v0.5/conformance/profiles/enterprise.json +20 -0
  73. package/dist/spec/v0.5/extensions/a2a/README.md +193 -0
  74. package/dist/spec/v0.5/extensions/a2a/a2a.schema.json +77 -0
  75. package/dist/spec/v0.5/extensions/ag2/ag2.schema.json +277 -0
  76. package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +94 -0
  77. package/dist/spec/v0.5/extensions/cognition/thought-node.schema.json +80 -0
  78. package/dist/spec/v0.5/extensions/crewai/crewai.schema.json +256 -0
  79. package/dist/spec/v0.5/extensions/drupal/drupal.schema.json +318 -0
  80. package/dist/spec/v0.5/extensions/evals/evals.schema.json +597 -0
  81. package/dist/spec/v0.5/extensions/governance/governance-extension.yaml +161 -0
  82. package/dist/spec/v0.5/extensions/identity/identity.schema.json +302 -0
  83. package/dist/spec/v0.5/extensions/kagent/README.md +315 -0
  84. package/dist/spec/v0.5/extensions/kagent/kagent.schema.json +624 -0
  85. package/dist/spec/v0.5/extensions/langchain/langchain.schema.json +243 -0
  86. package/dist/spec/v0.5/extensions/langgraph/langgraph.schema.json +211 -0
  87. package/dist/spec/v0.5/extensions/mcp/README.md +276 -0
  88. package/dist/spec/v0.5/extensions/mcp/mcp.schema.json +84 -0
  89. package/dist/spec/v0.5/extensions/memory/memory.schema.json +7 -0
  90. package/dist/spec/v0.5/extensions/team/team.schema.json +304 -0
  91. package/dist/spec/v0.5/extensions/token-efficiency/token-efficiency.schema.json +47 -0
  92. package/dist/spec/v0.5/mcp.schema.json +1 -0
  93. package/dist/spec/v0.5/skill.schema.json +1 -0
  94. package/dist/spec/v0.5/validator.schema.json +282 -0
  95. package/dist/validation/error-codes.js +1 -1
  96. package/examples/a2a/agent-handoff.ossa.yaml +1 -1
  97. package/examples/a2a/service-discovery.ossa.yaml +1 -1
  98. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  99. package/examples/adapters/drupal-eca-task.yaml +1 -1
  100. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  101. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  102. package/examples/adapters/mistral-agent.yaml +1 -1
  103. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  104. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  105. package/examples/adk-integration/code-review-workflow.yml +1 -1
  106. package/examples/adk-integration/customer-support.yml +1 -1
  107. package/examples/adk-integration/data-pipeline.yml +1 -1
  108. package/examples/advanced/reasoning-agent.yaml +1 -1
  109. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  110. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  111. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  112. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  113. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  114. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  115. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  116. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  117. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  118. package/examples/agent-taxonomy-example.ossa.yaml +1 -1
  119. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +1 -1
  120. package/examples/agents/02-code-review-agent/agent.ossa.yaml +1 -1
  121. package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +1 -1
  122. package/examples/agents/04-content-moderator/agent.ossa.yaml +1 -1
  123. package/examples/agents/05-sales-assistant/agent.ossa.yaml +1 -1
  124. package/examples/agents/06-devops-agent/agent.ossa.yaml +1 -1
  125. package/examples/agents/07-research-assistant/agent.ossa.yaml +1 -1
  126. package/examples/agents/08-email-triage-agent/agent.ossa.yaml +1 -1
  127. package/examples/agents/09-security-scanner/agent.ossa.yaml +1 -1
  128. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +1 -1
  129. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  130. package/examples/agents/dependency-healer-npm.yaml +1 -1
  131. package/examples/agents/spec-healer-openapi.yaml +1 -1
  132. package/examples/agents/wiki-healer-production.yaml +1 -1
  133. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  134. package/examples/agentscope/react-assistant/README.md +111 -0
  135. package/examples/agentscope/react-assistant/agent.ossa.yaml +132 -0
  136. package/examples/agentscope/react-assistant/skills/code-analysis/SKILL.md +18 -0
  137. package/examples/agentscope/react-assistant/skills/question-answering/SKILL.md +18 -0
  138. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  139. package/examples/bridges/.gitlab-ci.yml +2 -2
  140. package/examples/build-once-use-everywhere/agent.ossa.yaml +1 -1
  141. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  142. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  143. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  144. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  145. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  146. package/examples/contracts/data-producer.ossa.yaml +1 -1
  147. package/examples/drupal/QUICKSTART.md +17 -3
  148. package/examples/drupal/ai_agents_agentscope/README.md +62 -0
  149. package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.info.yml +13 -0
  150. package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.services.yml +4 -0
  151. package/examples/drupal/ai_agents_agentscope/config/install/ai_agents_agentscope.settings.yml +3 -0
  152. package/examples/drupal/ai_agents_agentscope/config/schema/ai_agents_agentscope.schema.yml +14 -0
  153. package/examples/drupal/ai_agents_agentscope/src/AgentScopeRuntime.php +11 -0
  154. package/examples/drupal/ai_agents_agentscope/src/Plugin/AiAgent/AgentScopeAgent.php +10 -0
  155. package/examples/drupal/ai_agents_agentscope/src/Plugin/AiProvider/AgentScopeProvider.php +217 -0
  156. package/examples/drupal/ai_agents_agentscope/src/Plugin/Derivative/AgentScopeDeriver.php +10 -0
  157. package/examples/drupal/ai_agents_agentscope/src/Service/AgentScopeAdapter.php +9 -0
  158. package/examples/drupal/content-moderator.ossa.yaml +1 -1
  159. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  160. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +1 -1
  161. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +1 -1
  162. package/examples/extensions/agents-md-advanced.yml +1 -1
  163. package/examples/extensions/agents-md-basic.yml +1 -1
  164. package/examples/extensions/agents-md-sync.yml +1 -1
  165. package/examples/extensions/agents-md-v1.yml +1 -1
  166. package/examples/extensions/drupal-v1.yml +1 -1
  167. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  168. package/examples/extensions/kagent-v1.yml +1 -1
  169. package/examples/extensions/knowledge-sources.yaml +1 -1
  170. package/examples/extensions/mcp-full-featured.yaml +1 -1
  171. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  172. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  173. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  174. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  175. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  176. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  177. package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +2 -2
  178. package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +2 -2
  179. package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +2 -2
  180. package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +2 -2
  181. package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +2 -2
  182. package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +2 -2
  183. package/examples/hierarchical-agent.ossa.yaml +1 -1
  184. package/examples/infrastructure/token-rotation/manifest.ossa.yaml +1 -1
  185. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
  186. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  187. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  188. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  189. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  190. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  191. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  192. package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +1 -1
  193. package/examples/mcp/browser-puppeteer.ossa.yaml +1 -1
  194. package/examples/mcp/database-mcp.ossa.yaml +1 -1
  195. package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
  196. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  197. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  198. package/examples/messaging/routing-rules.ossa.yaml +1 -1
  199. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  200. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  201. package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +1 -1
  202. package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +1 -1
  203. package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +1 -1
  204. package/examples/migrations/langchain/04-config-based-after.ossa.yaml +1 -1
  205. package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +6 -6
  206. package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +3 -3
  207. package/examples/mr-reviewer-with-governance.ossa.yaml +1 -1
  208. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  209. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  210. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  211. package/examples/multi-agent-research-workflow.ossa.yaml +1 -1
  212. package/examples/multi-platform/single-manifest/agent.ossa.yaml +1 -1
  213. package/examples/observability/activity-stream-full.yaml +1 -1
  214. package/examples/openai/basic-agent.ossa.yaml +1 -1
  215. package/examples/ossa-templates/01-code-assistant.ossa.yaml +1 -1
  216. package/examples/ossa-templates/02-security-scanner.ossa.yaml +1 -1
  217. package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +1 -1
  218. package/examples/ossa-templates/04-code-reviewer.ossa.yaml +1 -1
  219. package/examples/ossa-templates/05-doc-generator.ossa.yaml +1 -1
  220. package/examples/ossa-templates/06-compliance-validator.ossa.yaml +1 -1
  221. package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +1 -1
  222. package/examples/ossa-templates/08-content-writer.ossa.yaml +1 -1
  223. package/examples/ossa-templates/09-test-generator.ossa.yaml +1 -1
  224. package/examples/ossa-templates/10-data-transformer.ossa.yaml +1 -1
  225. package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
  226. package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
  227. package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
  228. package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
  229. package/examples/pipeline-agent.ossa.yaml +1 -1
  230. package/examples/production/document-analyzer-openai.yml +1 -1
  231. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +1 -1
  232. package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +1 -1
  233. package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +1 -1
  234. package/examples/production-ready/04-content-moderator/agent.ossa.yaml +1 -1
  235. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +1 -1
  236. package/examples/production-ready/06-devops-agent/agent.ossa.yaml +1 -1
  237. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +1 -1
  238. package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +1 -1
  239. package/examples/production-ready/09-security-scanner/agent.ossa.yaml +1 -1
  240. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +1 -1
  241. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  242. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  243. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  244. package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
  245. package/examples/registry/agents/security-scanner/agent.yaml +1 -1
  246. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  247. package/examples/schema/reusable-components.yaml +1 -1
  248. package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
  249. package/examples/showcase/code-assistant.ossa.yaml +1 -1
  250. package/examples/showcase/code-reviewer.ossa.yaml +1 -1
  251. package/examples/showcase/compliance-checker.ossa.yaml +1 -1
  252. package/examples/showcase/compliance-validator.ossa.yaml +1 -1
  253. package/examples/showcase/content-writer.ossa.yaml +1 -1
  254. package/examples/showcase/customer-support.ossa.yaml +1 -1
  255. package/examples/showcase/data-processing-pipeline.ossa.yaml +1 -1
  256. package/examples/showcase/data-transformer.ossa.yaml +1 -1
  257. package/examples/showcase/doc-generator.ossa.yaml +1 -1
  258. package/examples/showcase/full-power-agent.ossa.yaml +1 -1
  259. package/examples/showcase/security-scanner-enhanced.ossa.yaml +1 -1
  260. package/examples/showcase/security-scanner.ossa.yaml +1 -1
  261. package/examples/showcase/team-leader.ossa.yaml +1 -1
  262. package/examples/showcase/test-generator.ossa.yaml +1 -1
  263. package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
  264. package/examples/skills-example.ossa.yaml +1 -1
  265. package/examples/swarm-agent.ossa.yaml +1 -1
  266. package/examples/tasks/batch-email-sender.yaml +1 -1
  267. package/examples/tasks/data-transform.yaml +1 -1
  268. package/examples/tasks/publish-content.yaml +1 -1
  269. package/examples/team-agent.ossa.yaml +1 -1
  270. package/examples/templates/ossa-compliance.yaml +1 -1
  271. package/examples/unified/security-scanner.ossa.yaml +1 -1
  272. package/examples/workflows/batch-email-campaign.yaml +1 -1
  273. package/examples/workflows/content-review-publish.yaml +1 -1
  274. package/examples/workflows/simple-etl.yaml +1 -1
  275. package/package.json +6 -7
  276. package/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +1 -1
  277. package/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +1 -1
  278. package/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +1 -1
  279. package/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +1 -1
  280. package/spec/reference/reference-agents/pipeline-fixer/manifest.ossa.yaml +1 -1
  281. package/spec/reference/reference-agents/release-orchestrator/manifest.ossa.yaml +1 -1
  282. package/spec/v0.4/agent-card.schema.json +1 -1
  283. package/spec/v0.4/agent.schema.json +84 -15
  284. package/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  285. package/spec/v0.4/extensions/ag2/ag2.schema.json +1 -1
  286. package/spec/v0.4/extensions/crewai/crewai.schema.json +1 -1
  287. package/spec/v0.4/extensions/kagent/kagent.schema.json +1 -1
  288. package/spec/v0.4/extensions/langchain/langchain.schema.json +1 -1
  289. package/spec/v0.4/extensions/langgraph/langgraph.schema.json +1 -1
  290. package/spec/v0.4/extensions/mcp/mcp.schema.json +1 -1
  291. package/templates/agent-types/claude-agent.ossa.yaml +1 -1
  292. package/templates/agent-types/kagent.ossa.yaml +1 -1
  293. package/templates/agent-types/langchain-agent.ossa.yaml +1 -1
  294. package/templates/agent-types/openapi-agent.ossa.yaml +1 -1
  295. package/templates/agent-types/swarm-agents.ossa.yaml +1 -1
  296. package/templates/ci-cd/gitlab-ci.deploy.yml +2 -2
  297. package/templates/validators/capability-compatibility.ossa.yaml +1 -1
  298. package/templates/validators/coordination-consistency.ossa.yaml +1 -1
  299. package/templates/validators/pattern-requirements.ossa.yaml +1 -1
  300. package/templates/validators/transport-compatibility.ossa.yaml +1 -1
@@ -0,0 +1,393 @@
1
+ # Universal AI Discovery Protocol (UADP)
2
+
3
+ **Version:** 0.1.0
4
+ **Status:** Draft
5
+ **Spec URI:** `https://openstandardagents.org/spec/uadp/v0.1`
6
+
7
+ ## 1. Overview
8
+
9
+ The Universal AI Discovery Protocol (UADP) is a decentralized, hybrid-federated protocol for the discovery, validation, and exchange of AI Agents, Skills, Tools, and Marketplaces. Built on top of the [Open Standard for Agent Systems (OSSA)](https://openstandardagents.org), UADP allows any organization, department, or individual to host a "UADP Node" that acts as an API-first microservice registry for any AI capability.
10
+
11
+ Drawing inspiration from ActivityPub and WebFinger, UADP ensures that AI resources built on one platform can seamlessly discover and securely utilize capabilities hosted on an entirely different platform. Whether it's an agent marketplace, a skills registry, an MCP tool directory, or an enterprise AI hub — if it speaks UADP, it's discoverable.
12
+
13
+ **Any system that implements the endpoints below is a UADP node.** There is no required language, framework, or database. A static JSON file on GitHub Pages, a Flask app, an Express server, a Drupal site, or a Kubernetes sidecar — all valid.
14
+
15
+ ## 2. Conformance
16
+
17
+ The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).
18
+
19
+ A conforming UADP node:
20
+ - MUST serve `GET /.well-known/uadp.json` (Section 3)
21
+ - MUST serve at least one of: `GET /uadp/v1/skills` or `GET /uadp/v1/agents` (Section 4)
22
+ - SHOULD serve `GET /uadp/v1/federation` (Section 5)
23
+ - MUST return `Content-Type: application/json` for all UADP endpoints
24
+ - MUST return OSSA-formatted payloads (`apiVersion: ossa/v0.4` or later)
25
+
26
+ ## 3. Discovery Layer
27
+
28
+ ### 3.1 Well-Known Endpoint
29
+
30
+ Every UADP node MUST publish a JSON document at:
31
+
32
+ ```
33
+ GET /.well-known/uadp.json
34
+ ```
35
+
36
+ **Response** (`UadpManifest`):
37
+
38
+ ```json
39
+ {
40
+ "protocol_version": "0.1.0",
41
+ "node_name": "Acme Corp Skills Hub",
42
+ "node_description": "Enterprise AI skills registry for Acme Corp",
43
+ "contact": "admin@acme.com",
44
+ "endpoints": {
45
+ "skills": "https://api.acme.com/uadp/v1/skills",
46
+ "agents": "https://api.acme.com/uadp/v1/agents",
47
+ "federation": "https://api.acme.com/uadp/v1/federation",
48
+ "validate": "https://api.acme.com/uadp/v1/skills/validate"
49
+ },
50
+ "capabilities": ["skills", "agents", "federation", "validation"],
51
+ "public_key": "-----BEGIN PUBLIC KEY-----\n...",
52
+ "ossa_versions": ["v0.4", "v0.5"]
53
+ }
54
+ ```
55
+
56
+ | Field | Type | Required | Description |
57
+ |-------|------|----------|-------------|
58
+ | `protocol_version` | string | MUST | Semver. Current: `"0.1.0"` |
59
+ | `node_name` | string | MUST | Human-readable node name |
60
+ | `node_description` | string | SHOULD | Short description of the node |
61
+ | `contact` | string | SHOULD | Admin contact (email or URL) |
62
+ | `endpoints` | object | MUST | Map of capability name to absolute URL |
63
+ | `endpoints.skills` | string | MUST* | Skills listing endpoint |
64
+ | `endpoints.agents` | string | MUST* | Agents listing endpoint |
65
+ | `endpoints.federation` | string | SHOULD | Federation/peering endpoint |
66
+ | `endpoints.validate` | string | MAY | Manifest validation endpoint |
67
+ | `capabilities` | string[] | SHOULD | List of supported capabilities |
68
+ | `public_key` | string | MAY | PEM-encoded public key for signature verification |
69
+ | `ossa_versions` | string[] | SHOULD | Supported OSSA spec versions |
70
+
71
+ *At least one of `endpoints.skills` or `endpoints.agents` MUST be present.
72
+
73
+ ### 3.2 Discovery Flow
74
+
75
+ ```
76
+ Client UADP Node
77
+ | |
78
+ | GET /.well-known/uadp.json |
79
+ |-------------------------------->|
80
+ | 200 OK { endpoints: {...} } |
81
+ |<--------------------------------|
82
+ | |
83
+ | GET /uadp/v1/skills?search=... |
84
+ |-------------------------------->|
85
+ | 200 OK { data: [...], meta } |
86
+ |<--------------------------------|
87
+ ```
88
+
89
+ ## 4. Resource Endpoints
90
+
91
+ ### 4.1 Skills Endpoint
92
+
93
+ ```
94
+ GET /uadp/v1/skills
95
+ ```
96
+
97
+ **Query Parameters:**
98
+
99
+ | Param | Type | Default | Description |
100
+ |-------|------|---------|-------------|
101
+ | `search` | string | `""` | Full-text search across name + description |
102
+ | `category` | string | — | Filter by category |
103
+ | `capability` | string | — | Filter by capability tag |
104
+ | `trust_tier` | string | — | Filter: `official`, `verified-signature`, `signed`, `community`, `experimental` |
105
+ | `page` | integer | `1` | Page number (1-indexed) |
106
+ | `limit` | integer | `20` | Items per page (max 100) |
107
+
108
+ **Response** (`UadpSkillsResponse`):
109
+
110
+ ```json
111
+ {
112
+ "data": [
113
+ {
114
+ "apiVersion": "ossa/v0.4",
115
+ "kind": "Skill",
116
+ "metadata": {
117
+ "name": "code-review",
118
+ "version": "1.2.0",
119
+ "description": "Reviews code for quality, security, and best practices",
120
+ "uri": "uadp://acme.com/skills/code-review",
121
+ "category": "development",
122
+ "trust_tier": "verified-signature",
123
+ "created": "2026-01-15T10:30:00Z",
124
+ "updated": "2026-02-20T14:00:00Z"
125
+ },
126
+ "spec": {
127
+ "capabilities": ["analysis", "security"],
128
+ "inputs": { "code": { "type": "string", "required": true } },
129
+ "outputs": { "review": { "type": "string" } }
130
+ }
131
+ }
132
+ ],
133
+ "meta": {
134
+ "total": 42,
135
+ "page": 1,
136
+ "limit": 20,
137
+ "node_name": "Acme Corp Skills Hub"
138
+ }
139
+ }
140
+ ```
141
+
142
+ ### 4.2 Agents Endpoint
143
+
144
+ ```
145
+ GET /uadp/v1/agents
146
+ ```
147
+
148
+ Same query parameters as Skills. Response shape:
149
+
150
+ ```json
151
+ {
152
+ "data": [
153
+ {
154
+ "apiVersion": "ossa/v0.4",
155
+ "kind": "Agent",
156
+ "metadata": {
157
+ "name": "security-auditor",
158
+ "version": "2.0.0",
159
+ "description": "Audits infrastructure for vulnerabilities",
160
+ "uri": "uadp://acme.com/agents/security-auditor"
161
+ },
162
+ "spec": {
163
+ "role": "You are a security auditor...",
164
+ "skills": ["code-review", "dependency-scan"],
165
+ "llm": { "provider": "anthropic", "model": "claude-sonnet-4-5-20250514" }
166
+ }
167
+ }
168
+ ],
169
+ "meta": {
170
+ "total": 12,
171
+ "page": 1,
172
+ "limit": 20,
173
+ "node_name": "Acme Corp Skills Hub"
174
+ }
175
+ }
176
+ ```
177
+
178
+ ### 4.3 Validation Endpoint (Optional)
179
+
180
+ ```
181
+ POST /uadp/v1/skills/validate
182
+ Content-Type: application/json
183
+
184
+ {
185
+ "manifest": "apiVersion: ossa/v0.4\nkind: Skill\nmetadata:\n name: my-skill\n..."
186
+ }
187
+ ```
188
+
189
+ **Response:**
190
+
191
+ ```json
192
+ {
193
+ "valid": true,
194
+ "errors": [],
195
+ "warnings": ["metadata.version is recommended"]
196
+ }
197
+ ```
198
+
199
+ ### 4.4 Common Response Envelope
200
+
201
+ All list endpoints MUST return:
202
+
203
+ ```json
204
+ {
205
+ "data": [ ... ],
206
+ "meta": {
207
+ "total": <integer>,
208
+ "page": <integer>,
209
+ "limit": <integer>,
210
+ "node_name": <string>
211
+ }
212
+ }
213
+ ```
214
+
215
+ Error responses MUST use standard HTTP status codes with:
216
+
217
+ ```json
218
+ {
219
+ "error": "<human-readable message>",
220
+ "code": "<machine-readable error code>"
221
+ }
222
+ ```
223
+
224
+ ## 5. Federation
225
+
226
+ ### 5.1 Federation Endpoint
227
+
228
+ ```
229
+ GET /uadp/v1/federation
230
+ ```
231
+
232
+ Returns this node's peer list and federation metadata:
233
+
234
+ ```json
235
+ {
236
+ "protocol_version": "0.1.0",
237
+ "node_name": "Acme Corp Skills Hub",
238
+ "peers": [
239
+ {
240
+ "url": "https://skills.sh",
241
+ "name": "Skills.sh",
242
+ "status": "healthy",
243
+ "last_synced": "2026-03-05T12:00:00Z",
244
+ "skill_count": 150
245
+ }
246
+ ]
247
+ }
248
+ ```
249
+
250
+ ### 5.2 Peer Registration
251
+
252
+ ```
253
+ POST /uadp/v1/federation
254
+ Content-Type: application/json
255
+
256
+ {
257
+ "url": "https://my-node.example.com",
258
+ "name": "My UADP Node"
259
+ }
260
+ ```
261
+
262
+ The receiving node SHOULD:
263
+ 1. Fetch `{url}/.well-known/uadp.json` to validate the peer
264
+ 2. If valid, add to its peer list
265
+ 3. Return `201 Created` with the peer record
266
+
267
+ The receiving node MAY require authentication for peer registration.
268
+
269
+ ### 5.3 Peer Discovery Flow
270
+
271
+ ```
272
+ Node A Node B
273
+ | |
274
+ | POST /uadp/v1/federation |
275
+ | { url: "https://node-a.com" } |
276
+ |-------------------------------->|
277
+ | |
278
+ | Node B validates: |
279
+ | GET node-a.com/.well-known/ |
280
+ | uadp.json |
281
+ |<--------------------------------|
282
+ | 200 OK (valid UADP manifest) |
283
+ |-------------------------------->|
284
+ | |
285
+ | 201 Created { peer: {...} } |
286
+ |<--------------------------------|
287
+ | |
288
+ | Node B can now query: |
289
+ | GET node-a.com/uadp/v1/skills |
290
+ ```
291
+
292
+ ### 5.4 Circuit Breaker
293
+
294
+ Implementations SHOULD implement a circuit breaker for peer health:
295
+ - Track consecutive fetch failures per peer
296
+ - After N failures (recommended: 3), mark peer as `degraded`
297
+ - Stop active fetching from degraded peers
298
+ - Retry after a backoff period (recommended: 24 hours)
299
+ - On successful fetch, reset failure count and mark `healthy`
300
+
301
+ Peer status values: `healthy`, `degraded`, `unreachable`
302
+
303
+ ## 6. Trust Tiers
304
+
305
+ UADP defines five trust tiers for skills and agents:
306
+
307
+ | Tier | Badge | Description |
308
+ |------|-------|-------------|
309
+ | `official` | Shield (gold) | Published by the OSSA project or node operator |
310
+ | `verified-signature` | Shield (blue) | Cryptographically signed + verified identity |
311
+ | `signed` | Shield (green) | Cryptographically signed (identity not verified) |
312
+ | `community` | Shield (gray) | Published by authenticated user, no signature |
313
+ | `experimental` | Shield (orange) | Unreviewed, use at own risk |
314
+
315
+ Nodes SHOULD include `trust_tier` in skill/agent metadata. Consuming nodes SHOULD display trust badges to users.
316
+
317
+ ## 7. Agent Identifiers (GAID)
318
+
319
+ Skills and agents MAY include a Global Agent Identifier (GAID) using the `uadp://` URI scheme:
320
+
321
+ ```
322
+ uadp://<namespace>/<type>/<name>
323
+ ```
324
+
325
+ Examples:
326
+ - `uadp://acme.com/skills/code-review`
327
+ - `uadp://marketplace.openstandardagents.org/agents/security-auditor`
328
+ - `uadp://skills.sh/skills/web-search`
329
+
330
+ GAIDs enable cross-registry resolution: a consumer seeing `uadp://skills.sh/skills/web-search` knows to query `skills.sh/.well-known/uadp.json` to find the skills endpoint, then search for `web-search`.
331
+
332
+ ## 8. OSSA Integration
333
+
334
+ UADP is the transport and discovery layer; OSSA is the payload format.
335
+
336
+ - All items in `data[]` arrays MUST include `apiVersion` (e.g., `ossa/v0.4`) and `kind` (`Skill` or `Agent`)
337
+ - All items MUST include a `metadata` object with at least `name`
338
+ - Items SHOULD include a `spec` object with the OSSA specification body
339
+ - Consumers SHOULD validate incoming payloads against the OSSA schema before importing
340
+
341
+ Because OSSA enforces explicit `safety` guardrails declaratively, a downstream node can statically validate an upstream tool's safety requirements *before* importing it.
342
+
343
+ ## 9. Security Considerations
344
+
345
+ - Nodes SHOULD serve all endpoints over HTTPS
346
+ - Write endpoints (POST to federation, skill publishing) SHOULD require authentication
347
+ - Read endpoints (GET skills, agents, federation) SHOULD be publicly accessible
348
+ - Nodes MUST NOT execute code from discovered skills without explicit user consent
349
+ - Signature verification using `public_key` from the well-known manifest is RECOMMENDED for high-trust deployments
350
+ - Rate limiting on all endpoints is RECOMMENDED
351
+
352
+ ## 10. Implementing a Minimal UADP Node
353
+
354
+ The simplest possible UADP node is two static JSON files:
355
+
356
+ ```
357
+ your-domain.com/
358
+ .well-known/uadp.json <- discovery manifest
359
+ uadp/v1/skills <- skills list (can be static JSON)
360
+ ```
361
+
362
+ A more complete implementation adds:
363
+ - Database-backed skill/agent storage
364
+ - Federation with peer discovery and caching
365
+ - Authentication for write operations
366
+ - Manifest validation service
367
+
368
+ Reference implementations:
369
+ - **Drupal**: `ai_agents_marketplace` module (PHP)
370
+ - **Express**: `@ossa/uadp-node` (TypeScript) — planned
371
+ - **Static**: GitHub Pages with JSON files — planned
372
+
373
+ ## Appendix A: JSON Schemas
374
+
375
+ See `schemas/` directory:
376
+ - `uadp-manifest.schema.json` — `/.well-known/uadp.json` validation
377
+ - `uadp-skills-response.schema.json` — `/uadp/v1/skills` response
378
+ - `uadp-agents-response.schema.json` — `/uadp/v1/agents` response
379
+ - `uadp-federation-response.schema.json` — `/uadp/v1/federation` response
380
+
381
+ ## Appendix B: OpenAPI Specification
382
+
383
+ See `openapi.yaml` for the complete OpenAPI 3.1 definition of all UADP endpoints.
384
+
385
+ ## Appendix C: Changelog
386
+
387
+ ### 0.1.0 (2026-03-06)
388
+ - Initial draft specification
389
+ - Discovery layer (`/.well-known/uadp.json`)
390
+ - Skills and Agents endpoints with OSSA payloads
391
+ - Federation with peer registration and circuit breaker
392
+ - Trust tiers and GAID identifiers
393
+ - Validation endpoint