@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,1556 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://openstandardagents.org/schemas/v0.4.6/agent.schema.json",
4
+ "title": "OSSA v0.4.6 Agent Manifest Schema",
5
+ "description": "Open Standard for Software Agents (OSSA) v0.4.6 - Extends v0.4 with Agent Identity, Security Posture, and Protocol Declarations. Backward compatible with v0.4 manifests.",
6
+ "type": "object",
7
+ "required": [
8
+ "apiVersion",
9
+ "kind",
10
+ "metadata"
11
+ ],
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "pattern": "^ossa/v(0\\.5(\\.[0-9]+(-[a-zA-Z0-9.]+)?)?|0\\.4(\\.[0-9]+(-[a-zA-Z0-9.]+)?)?|0\\.3(\\.[4-9]|\\.[0-9]+(-[a-zA-Z0-9.]+)?)?|0\\.2\\.[2-9](-dev)?|1)(\\.[0-9]+)?(-[a-zA-Z0-9.]+)?$",
16
+ "description": "OSSA API version (v0.4.6 introduces identity, security posture, and protocol declarations)",
17
+ "examples": [
18
+ "ossa/v0.4.6",
19
+ "ossa/v0.4.6.0",
20
+ "ossa/v0.4",
21
+ "ossa/v1"
22
+ ]
23
+ },
24
+ "kind": {
25
+ "type": "string",
26
+ "enum": [
27
+ "Agent",
28
+ "Task",
29
+ "Workflow",
30
+ "Flow"
31
+ ],
32
+ "description": "Resource type: Agent (agentic loops), Task (deterministic steps), Workflow (composition), or Flow (streaming)"
33
+ },
34
+ "metadata": {
35
+ "$ref": "#/definitions/Metadata"
36
+ },
37
+ "spec": {
38
+ "description": "Specification varies based on kind",
39
+ "type": "object",
40
+ "properties": {
41
+ "user_controls": {
42
+ "$ref": "#/definitions/UserControls"
43
+ },
44
+ "consent": {
45
+ "$ref": "#/definitions/Consent"
46
+ },
47
+ "impact": {
48
+ "$ref": "#/definitions/Impact"
49
+ },
50
+ "transparency": {
51
+ "$ref": "#/definitions/Transparency"
52
+ }
53
+ }
54
+ },
55
+ "security": {
56
+ "$ref": "#/definitions/SecurityPosture",
57
+ "description": "Security posture metadata defining threat model, capability requirements, sandboxing, and network access constraints (v0.4.6)"
58
+ },
59
+ "protocols": {
60
+ "$ref": "#/definitions/ProtocolDeclarations",
61
+ "description": "Protocol declarations for MCP, A2A, and ANP interoperability (v0.4.6)"
62
+ },
63
+ "token_efficiency": {
64
+ "$ref": "#/definitions/TokenEfficiency",
65
+ "description": "Token efficiency configuration for cost-optimized execution (v0.4.6)"
66
+ },
67
+ "cognition": {
68
+ "$ref": "#/definitions/Cognition",
69
+ "description": "Reasoning pattern, trace config, and governance for auditable cognition (v0.5.0 draft)"
70
+ },
71
+ "governance": {
72
+ "$ref": "#/definitions/Governance",
73
+ "description": "Governance and authorization policies including Cedar pre-execution checks and compliance profiles (v0.4.6)"
74
+ },
75
+ "extensions": {
76
+ "type": "object",
77
+ "description": "Framework-specific extensions (inherited from v0.4)",
78
+ "additionalProperties": true
79
+ },
80
+ "runtime": {
81
+ "description": "Runtime-specific capability bindings (for Task and Workflow kinds)"
82
+ },
83
+ "composition": {
84
+ "$ref": "#/definitions/WorkflowComposition",
85
+ "description": "Workflow composition with sequential/parallel projection (v0.4.6, when kind is Workflow)"
86
+ }
87
+ },
88
+ "definitions": {
89
+ "Metadata": {
90
+ "type": "object",
91
+ "required": [
92
+ "name"
93
+ ],
94
+ "properties": {
95
+ "name": {
96
+ "type": "string",
97
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
98
+ "maxLength": 253,
99
+ "description": "Resource identifier (DNS-1123 subdomain format for Kubernetes compatibility)"
100
+ },
101
+ "namespace": {
102
+ "type": "string",
103
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
104
+ "maxLength": 63,
105
+ "description": "Logical grouping namespace (like Kubernetes namespace)"
106
+ },
107
+ "version": {
108
+ "type": "string",
109
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
110
+ "description": "Semantic version (semver 2.0.0)"
111
+ },
112
+ "description": {
113
+ "type": "string",
114
+ "maxLength": 2000,
115
+ "description": "Human-readable description"
116
+ },
117
+ "uuid": {
118
+ "type": "string",
119
+ "format": "uuid",
120
+ "description": "Optional UUID v4 for stable cross-system reference"
121
+ },
122
+ "x-signature": {
123
+ "type": "object",
124
+ "description": "Optional cryptographic signature block for NIST CAISI identity alignment and provenance verification",
125
+ "properties": {
126
+ "type": {
127
+ "type": "string",
128
+ "enum": [
129
+ "Ed25519",
130
+ "RSA-PSS",
131
+ "ECDSA",
132
+ "jwt",
133
+ "vc",
134
+ "did"
135
+ ],
136
+ "description": "Signature scheme or protocol used"
137
+ },
138
+ "value": {
139
+ "type": "string",
140
+ "description": "The base64 encoded signature payload"
141
+ },
142
+ "publicKey": {
143
+ "type": "string",
144
+ "description": "Public key matching the signature, formatted as base64 or PEM"
145
+ },
146
+ "issuer": {
147
+ "type": "string",
148
+ "description": "Optional DID or URI of the entity that issued the signature for trust path building"
149
+ },
150
+ "timestamp": {
151
+ "type": "string",
152
+ "format": "date-time",
153
+ "description": "ISO 8601 timestamp of when the signature was generated"
154
+ }
155
+ },
156
+ "required": [
157
+ "type",
158
+ "value",
159
+ "publicKey"
160
+ ]
161
+ },
162
+ "machine_name": {
163
+ "type": "string",
164
+ "pattern": "^[a-z0-9_]+$",
165
+ "maxLength": 128,
166
+ "description": "Drupal-friendly machine name (config/entity identifier)"
167
+ },
168
+ "signature": {
169
+ "type": "string",
170
+ "description": "Optional manifest signature (e.g. Ed25519) for signing"
171
+ },
172
+ "sbom_pointer": {
173
+ "type": "string",
174
+ "format": "uri",
175
+ "description": "Optional URL or path to SBOM document (e.g. CycloneDX JSON)"
176
+ },
177
+ "status": {
178
+ "type": "string",
179
+ "enum": [
180
+ "active",
181
+ "deprecated",
182
+ "revoked"
183
+ ],
184
+ "default": "active",
185
+ "description": "Agent status: active, deprecated, revoked"
186
+ },
187
+ "revoked_at": {
188
+ "type": "string",
189
+ "format": "date-time",
190
+ "description": "ISO 8601 when agent was revoked"
191
+ },
192
+ "deprecated_message": {
193
+ "type": "string",
194
+ "maxLength": 500,
195
+ "description": "Message when status is deprecated"
196
+ },
197
+ "labels": {
198
+ "type": "object",
199
+ "additionalProperties": {
200
+ "type": "string",
201
+ "maxLength": 63
202
+ },
203
+ "description": "Key-value labels for organization and filtering"
204
+ },
205
+ "annotations": {
206
+ "type": "object",
207
+ "additionalProperties": {
208
+ "type": "string"
209
+ },
210
+ "description": "Arbitrary metadata for tooling"
211
+ },
212
+ "identity": {
213
+ "$ref": "#/definitions/AgentIdentity",
214
+ "description": "Agent identity model with namespace, versioned identifier, and publisher information (v0.4.6)"
215
+ },
216
+ "catalog": {
217
+ "type": "object",
218
+ "description": "Agent catalog metadata for discovery and publication",
219
+ "properties": {
220
+ "published": {
221
+ "type": "boolean",
222
+ "default": false,
223
+ "description": "Whether this agent is published to a catalog"
224
+ },
225
+ "catalog_id": {
226
+ "type": "string",
227
+ "description": "Unique identifier in the catalog"
228
+ },
229
+ "visibility": {
230
+ "type": "string",
231
+ "enum": [
232
+ "public",
233
+ "private",
234
+ "internal"
235
+ ],
236
+ "default": "private",
237
+ "description": "Agent visibility: public (anyone), private (owner only), internal (organization)"
238
+ },
239
+ "categories": {
240
+ "type": "array",
241
+ "items": {
242
+ "type": "string"
243
+ },
244
+ "description": "Agent categories (e.g., code-quality, security, devops)"
245
+ },
246
+ "tags": {
247
+ "type": "array",
248
+ "items": {
249
+ "type": "string"
250
+ },
251
+ "description": "Searchable tags"
252
+ }
253
+ },
254
+ "additionalProperties": false
255
+ },
256
+ "mesh_bindings": {
257
+ "$ref": "#/definitions/MeshBindings",
258
+ "description": "Spatial and execution bindings for mesh orchestration (e.g., GitLab/Drupal environments)"
259
+ },
260
+ "agentType": {
261
+ "type": "string",
262
+ "enum": [
263
+ "claude",
264
+ "kagent",
265
+ "openai",
266
+ "langchain",
267
+ "crewai",
268
+ "autogen",
269
+ "llamaindex",
270
+ "haystack",
271
+ "semantic-kernel",
272
+ "vertex-ai",
273
+ "bedrock",
274
+ "pydantic-ai",
275
+ "swarm",
276
+ "custom"
277
+ ],
278
+ "description": "Agent runtime platform. Specifies which platform/framework will execute this agent."
279
+ },
280
+ "agentKind": {
281
+ "type": "string",
282
+ "enum": [
283
+ "assistant",
284
+ "orchestrator",
285
+ "worker",
286
+ "coordinator",
287
+ "supervisor",
288
+ "tool",
289
+ "reviewer",
290
+ "planner",
291
+ "executor",
292
+ "monitor",
293
+ "analyst",
294
+ "researcher",
295
+ "specialist"
296
+ ],
297
+ "description": "Agent functional role. Describes WHAT the agent does in the system."
298
+ }
299
+ },
300
+ "additionalProperties": true
301
+ },
302
+ "MeshBindings": {
303
+ "type": "object",
304
+ "description": "Bindings linking this OSSA agent to its external execution and spatial environments.",
305
+ "properties": {
306
+ "source_project_id": {
307
+ "type": "string",
308
+ "description": "The numeric or namespaced source project identifier serving as the execution substrate for this agent."
309
+ },
310
+ "execution_node_id": {
311
+ "type": "string",
312
+ "description": "The UUID representing this agent in the spatial interaction matrix."
313
+ }
314
+ },
315
+ "additionalProperties": false
316
+ },
317
+ "AgentIdentity": {
318
+ "type": "object",
319
+ "description": "Agent identity model for unique identification, versioning, and publisher attribution (v0.4.6). Enables trust chains, agent discovery, and provenance tracking across registries.",
320
+ "required": [
321
+ "agent_id"
322
+ ],
323
+ "properties": {
324
+ "namespace": {
325
+ "type": "string",
326
+ "pattern": "^[a-z0-9]([-a-z0-9./]*[a-z0-9])?$",
327
+ "maxLength": 253,
328
+ "description": "Hierarchical namespace for scoping agent identifiers (e.g., 'acme/platform', 'org.example.agents'). Supports DNS-style or path-style naming.",
329
+ "examples": [
330
+ "acme/platform",
331
+ "org.example.agents",
332
+ "gitlab.com/my-org/agents"
333
+ ]
334
+ },
335
+ "agent_id": {
336
+ "type": "string",
337
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
338
+ "maxLength": 63,
339
+ "description": "Unique agent identifier within the namespace. DNS-1123 label format for maximum compatibility.",
340
+ "examples": [
341
+ "compliance-scanner",
342
+ "code-reviewer",
343
+ "deploy-orchestrator"
344
+ ]
345
+ },
346
+ "version": {
347
+ "type": "string",
348
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
349
+ "description": "Agent identity version (semver 2.0.0). Independent of manifest version, tracks the agent's own release lifecycle.",
350
+ "examples": [
351
+ "1.0.0",
352
+ "2.1.0-beta.1",
353
+ "0.9.0+build.123"
354
+ ]
355
+ },
356
+ "publisher": {
357
+ "$ref": "#/definitions/Publisher",
358
+ "description": "Publisher information for trust and attribution"
359
+ },
360
+ "checksum": {
361
+ "type": "string",
362
+ "pattern": "^(sha256|sha512):[a-f0-9]+$",
363
+ "description": "Content-addressable checksum of the agent manifest for integrity verification",
364
+ "examples": [
365
+ "sha256:a1b2c3d4e5f6..."
366
+ ]
367
+ },
368
+ "created_at": {
369
+ "type": "string",
370
+ "format": "date-time",
371
+ "description": "ISO 8601 timestamp of when this agent identity was created"
372
+ },
373
+ "updated_at": {
374
+ "type": "string",
375
+ "format": "date-time",
376
+ "description": "ISO 8601 timestamp of the last identity update"
377
+ }
378
+ },
379
+ "additionalProperties": false
380
+ },
381
+ "Publisher": {
382
+ "type": "object",
383
+ "description": "Publisher information for agent attribution, trust, and contact. Enables trust chains when combined with PGP signatures.",
384
+ "required": [
385
+ "name"
386
+ ],
387
+ "properties": {
388
+ "name": {
389
+ "type": "string",
390
+ "maxLength": 200,
391
+ "description": "Publisher display name (person or organization)",
392
+ "examples": [
393
+ "BlueFly.io",
394
+ "OSSA Contributors",
395
+ "Jane Smith"
396
+ ]
397
+ },
398
+ "email": {
399
+ "type": "string",
400
+ "format": "email",
401
+ "description": "Publisher contact email",
402
+ "examples": [
403
+ "agents@bluefly.io"
404
+ ]
405
+ },
406
+ "website": {
407
+ "type": "string",
408
+ "format": "uri",
409
+ "description": "Publisher website URL",
410
+ "examples": [
411
+ "https://openstandardagents.org",
412
+ "https://bluefly.io"
413
+ ]
414
+ },
415
+ "pgp_key": {
416
+ "type": "string",
417
+ "description": "PGP public key fingerprint or URL for verifying signed manifests. Enables cryptographic trust chains.",
418
+ "examples": [
419
+ "https://keyserver.example.com/pks/lookup?search=agents@bluefly.io",
420
+ "4AEE18F83AFDEB23"
421
+ ]
422
+ },
423
+ "registry_url": {
424
+ "type": "string",
425
+ "format": "uri",
426
+ "description": "URL to the publisher's agent registry",
427
+ "examples": [
428
+ "https://registry.openstandardagents.org/blueflyio"
429
+ ]
430
+ }
431
+ },
432
+ "additionalProperties": false
433
+ },
434
+ "SecurityPosture": {
435
+ "type": "object",
436
+ "description": "Security posture metadata defining the agent's threat model, required capabilities, sandboxing requirements, and network access constraints (v0.4.6). Enables security-aware orchestration and policy enforcement.",
437
+ "properties": {
438
+ "tier": {
439
+ "type": "string",
440
+ "enum": [
441
+ "tier_1_read",
442
+ "tier_2_write_limited",
443
+ "tier_3_write_elevated",
444
+ "tier_4_system_admin"
445
+ ],
446
+ "description": "Trust and authorization tier used for Cedar pre-execution policy evaluation and capability constraints."
447
+ },
448
+ "threat_model": {
449
+ "type": "array",
450
+ "description": "Threat categories this agent is designed to handle or is exposed to. Used by orchestrators for security-aware task routing.",
451
+ "items": {
452
+ "type": "object",
453
+ "required": [
454
+ "category"
455
+ ],
456
+ "properties": {
457
+ "category": {
458
+ "type": "string",
459
+ "enum": [
460
+ "prompt-injection",
461
+ "data-exfiltration",
462
+ "privilege-escalation",
463
+ "resource-abuse",
464
+ "model-poisoning",
465
+ "supply-chain",
466
+ "denial-of-service",
467
+ "information-disclosure",
468
+ "unauthorized-access",
469
+ "custom"
470
+ ],
471
+ "description": "Threat category from OWASP LLM Top 10 and agent-specific threats"
472
+ },
473
+ "severity": {
474
+ "type": "string",
475
+ "enum": [
476
+ "critical",
477
+ "high",
478
+ "medium",
479
+ "low",
480
+ "informational"
481
+ ],
482
+ "description": "Assessed severity level for this threat category"
483
+ },
484
+ "mitigations": {
485
+ "type": "array",
486
+ "items": {
487
+ "type": "string"
488
+ },
489
+ "description": "Mitigation strategies implemented for this threat",
490
+ "examples": [
491
+ [
492
+ "input-validation",
493
+ "output-filtering",
494
+ "rate-limiting"
495
+ ]
496
+ ]
497
+ },
498
+ "description": {
499
+ "type": "string",
500
+ "maxLength": 500,
501
+ "description": "Human-readable description of the threat and its context"
502
+ }
503
+ },
504
+ "additionalProperties": false
505
+ }
506
+ },
507
+ "capabilities": {
508
+ "type": "object",
509
+ "description": "Capability requirements declare what permissions and system access the agent needs to function.",
510
+ "properties": {
511
+ "required": {
512
+ "type": "array",
513
+ "items": {
514
+ "type": "string",
515
+ "enum": [
516
+ "filesystem-read",
517
+ "filesystem-write",
518
+ "network-outbound",
519
+ "network-inbound",
520
+ "process-spawn",
521
+ "env-read",
522
+ "env-write",
523
+ "clipboard-read",
524
+ "clipboard-write",
525
+ "browser",
526
+ "database-read",
527
+ "database-write",
528
+ "secrets-read",
529
+ "gpu",
530
+ "memory-extended",
531
+ "tool-execution",
532
+ "agent-spawn",
533
+ "human-interaction"
534
+ ]
535
+ },
536
+ "uniqueItems": true,
537
+ "description": "Capabilities the agent MUST have to function correctly. Orchestrators should reject execution if these are not available."
538
+ },
539
+ "optional": {
540
+ "type": "array",
541
+ "items": {
542
+ "type": "string",
543
+ "enum": [
544
+ "filesystem-read",
545
+ "filesystem-write",
546
+ "network-outbound",
547
+ "network-inbound",
548
+ "process-spawn",
549
+ "env-read",
550
+ "env-write",
551
+ "clipboard-read",
552
+ "clipboard-write",
553
+ "browser",
554
+ "database-read",
555
+ "database-write",
556
+ "secrets-read",
557
+ "gpu",
558
+ "memory-extended",
559
+ "tool-execution",
560
+ "agent-spawn",
561
+ "human-interaction"
562
+ ]
563
+ },
564
+ "uniqueItems": true,
565
+ "description": "Capabilities the agent can use if available but does not require. Enables graceful degradation."
566
+ }
567
+ },
568
+ "additionalProperties": false
569
+ },
570
+ "sandboxing": {
571
+ "type": "object",
572
+ "description": "Sandboxing requirements for isolating agent execution.",
573
+ "required": [
574
+ "required"
575
+ ],
576
+ "properties": {
577
+ "required": {
578
+ "type": "boolean",
579
+ "description": "Whether sandboxed execution is mandatory for this agent"
580
+ },
581
+ "type": {
582
+ "type": "string",
583
+ "enum": [
584
+ "container",
585
+ "vm",
586
+ "wasm",
587
+ "process",
588
+ "none"
589
+ ],
590
+ "description": "Preferred sandboxing technology. 'container' (Docker/OCI), 'vm' (firecracker/gVisor), 'wasm' (WebAssembly), 'process' (OS-level isolation), 'none' (trusted execution)"
591
+ },
592
+ "resource_limits": {
593
+ "type": "object",
594
+ "description": "Resource constraints for sandboxed execution",
595
+ "properties": {
596
+ "max_memory_mb": {
597
+ "type": "integer",
598
+ "minimum": 64,
599
+ "description": "Maximum memory allocation in megabytes"
600
+ },
601
+ "max_cpu_cores": {
602
+ "type": "number",
603
+ "minimum": 0.1,
604
+ "description": "Maximum CPU cores (e.g., 0.5, 1, 2)"
605
+ },
606
+ "max_execution_seconds": {
607
+ "type": "integer",
608
+ "minimum": 1,
609
+ "description": "Maximum execution time in seconds before forced termination"
610
+ },
611
+ "max_disk_mb": {
612
+ "type": "integer",
613
+ "minimum": 0,
614
+ "description": "Maximum disk usage in megabytes"
615
+ }
616
+ },
617
+ "additionalProperties": false
618
+ }
619
+ },
620
+ "additionalProperties": false
621
+ },
622
+ "network_access": {
623
+ "type": "object",
624
+ "description": "Network access constraints for controlling agent communication boundaries.",
625
+ "properties": {
626
+ "allowed_domains": {
627
+ "type": "array",
628
+ "items": {
629
+ "type": "string",
630
+ "pattern": "^(\\*\\.)?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$"
631
+ },
632
+ "description": "Allowlist of domains the agent may connect to. Supports wildcard subdomains (e.g., '*.example.com'). Empty array means no network access.",
633
+ "examples": [
634
+ [
635
+ "api.openai.com",
636
+ "*.anthropic.com",
637
+ "registry.npmjs.org"
638
+ ]
639
+ ]
640
+ },
641
+ "blocked_domains": {
642
+ "type": "array",
643
+ "items": {
644
+ "type": "string"
645
+ },
646
+ "description": "Denylist of domains the agent must never connect to. Takes precedence over allowed_domains."
647
+ },
648
+ "protocols": {
649
+ "type": "array",
650
+ "items": {
651
+ "type": "string",
652
+ "enum": [
653
+ "https",
654
+ "http",
655
+ "wss",
656
+ "ws",
657
+ "grpc",
658
+ "ssh",
659
+ "stdio"
660
+ ]
661
+ },
662
+ "uniqueItems": true,
663
+ "description": "Allowed network protocols. Restrict to 'https' for maximum security.",
664
+ "default": [
665
+ "https"
666
+ ]
667
+ },
668
+ "egress_policy": {
669
+ "type": "string",
670
+ "enum": [
671
+ "allow-all",
672
+ "allow-list",
673
+ "deny-all"
674
+ ],
675
+ "default": "allow-list",
676
+ "description": "Default egress policy. 'allow-list' requires explicit allowed_domains, 'deny-all' blocks all outbound, 'allow-all' permits any outbound."
677
+ }
678
+ },
679
+ "additionalProperties": false
680
+ },
681
+ "data_classification": {
682
+ "type": "string",
683
+ "enum": [
684
+ "public",
685
+ "internal",
686
+ "confidential",
687
+ "restricted"
688
+ ],
689
+ "default": "internal",
690
+ "description": "Data classification level this agent is authorized to handle. Enforced by orchestrators for data-aware routing."
691
+ },
692
+ "audit": {
693
+ "type": "object",
694
+ "description": "Audit and compliance requirements",
695
+ "properties": {
696
+ "log_inputs": {
697
+ "type": "boolean",
698
+ "default": false,
699
+ "description": "Whether to log all inputs to the agent"
700
+ },
701
+ "log_outputs": {
702
+ "type": "boolean",
703
+ "default": false,
704
+ "description": "Whether to log all outputs from the agent"
705
+ },
706
+ "log_tool_calls": {
707
+ "type": "boolean",
708
+ "default": true,
709
+ "description": "Whether to log all tool invocations"
710
+ },
711
+ "retention_days": {
712
+ "type": "integer",
713
+ "minimum": 1,
714
+ "description": "Number of days to retain audit logs"
715
+ }
716
+ },
717
+ "additionalProperties": false
718
+ }
719
+ },
720
+ "additionalProperties": false
721
+ },
722
+ "ProtocolDeclarations": {
723
+ "type": "object",
724
+ "description": "Protocol declarations for agent interoperability (v0.4.6). Declares which agent communication protocols this agent supports, enabling automatic discovery and routing by orchestrators.",
725
+ "properties": {
726
+ "mcp": {
727
+ "$ref": "#/definitions/MCPProtocol",
728
+ "description": "Model Context Protocol (MCP) configuration for tool serving and consumption"
729
+ },
730
+ "a2a": {
731
+ "$ref": "#/definitions/A2AProtocol",
732
+ "description": "Agent-to-Agent (A2A) protocol configuration for Google's agent interoperability standard"
733
+ },
734
+ "anp": {
735
+ "$ref": "#/definitions/ANPProtocol",
736
+ "description": "Agent Network Protocol (ANP) configuration for decentralized agent networking"
737
+ }
738
+ },
739
+ "additionalProperties": true
740
+ },
741
+ "MCPProtocol": {
742
+ "type": "object",
743
+ "description": "Model Context Protocol (MCP) declaration. Specifies MCP server/client capabilities for tool-based interoperability with Claude, Cursor, and other MCP-compatible clients.",
744
+ "required": [
745
+ "version"
746
+ ],
747
+ "properties": {
748
+ "version": {
749
+ "type": "string",
750
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
751
+ "description": "MCP protocol version (e.g., '1.0.0', '2025-03-26')",
752
+ "examples": [
753
+ "1.0.0",
754
+ "0.6.0"
755
+ ]
756
+ },
757
+ "role": {
758
+ "type": "string",
759
+ "enum": [
760
+ "server",
761
+ "client",
762
+ "both"
763
+ ],
764
+ "default": "server",
765
+ "description": "MCP role: 'server' (exposes tools), 'client' (consumes tools), 'both' (bidirectional)"
766
+ },
767
+ "servers": {
768
+ "type": "array",
769
+ "description": "MCP server configurations this agent exposes or connects to",
770
+ "items": {
771
+ "type": "object",
772
+ "required": [
773
+ "name",
774
+ "transport"
775
+ ],
776
+ "properties": {
777
+ "name": {
778
+ "type": "string",
779
+ "description": "Server identifier"
780
+ },
781
+ "transport": {
782
+ "type": "string",
783
+ "enum": [
784
+ "stdio",
785
+ "http",
786
+ "sse",
787
+ "streamable-http"
788
+ ],
789
+ "description": "MCP transport mechanism"
790
+ },
791
+ "url": {
792
+ "type": "string",
793
+ "format": "uri",
794
+ "description": "Server URL (for http/sse transports)"
795
+ },
796
+ "command": {
797
+ "type": "string",
798
+ "description": "Command to launch server (for stdio transport)"
799
+ },
800
+ "args": {
801
+ "type": "array",
802
+ "items": {
803
+ "type": "string"
804
+ },
805
+ "description": "Command arguments (for stdio transport)"
806
+ },
807
+ "tools": {
808
+ "type": "array",
809
+ "items": {
810
+ "type": "string"
811
+ },
812
+ "description": "List of tool names exposed by this server"
813
+ },
814
+ "resources": {
815
+ "type": "array",
816
+ "items": {
817
+ "type": "string"
818
+ },
819
+ "description": "List of resource URIs exposed by this server"
820
+ }
821
+ },
822
+ "additionalProperties": false
823
+ }
824
+ },
825
+ "capabilities": {
826
+ "type": "object",
827
+ "description": "MCP capability flags",
828
+ "properties": {
829
+ "tools": {
830
+ "type": "boolean",
831
+ "default": true,
832
+ "description": "Whether agent supports MCP tools"
833
+ },
834
+ "resources": {
835
+ "type": "boolean",
836
+ "default": false,
837
+ "description": "Whether agent supports MCP resources"
838
+ },
839
+ "prompts": {
840
+ "type": "boolean",
841
+ "default": false,
842
+ "description": "Whether agent supports MCP prompts"
843
+ },
844
+ "sampling": {
845
+ "type": "boolean",
846
+ "default": false,
847
+ "description": "Whether agent supports MCP sampling"
848
+ }
849
+ },
850
+ "additionalProperties": false
851
+ }
852
+ },
853
+ "additionalProperties": false
854
+ },
855
+ "A2AProtocol": {
856
+ "type": "object",
857
+ "description": "Agent-to-Agent (A2A) protocol declaration. Google's standard for agent interoperability, enabling task delegation, status updates, and artifact exchange between agents.",
858
+ "required": [
859
+ "version"
860
+ ],
861
+ "properties": {
862
+ "version": {
863
+ "type": "string",
864
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
865
+ "description": "A2A protocol version",
866
+ "examples": [
867
+ "0.2.0",
868
+ "1.0.0"
869
+ ]
870
+ },
871
+ "endpoint": {
872
+ "type": "string",
873
+ "format": "uri",
874
+ "description": "A2A endpoint URL where this agent can be reached",
875
+ "examples": [
876
+ "https://agents.example.com/.well-known/agent.json"
877
+ ]
878
+ },
879
+ "agent_card": {
880
+ "type": "object",
881
+ "description": "A2A Agent Card fields for discovery",
882
+ "properties": {
883
+ "name": {
884
+ "type": "string",
885
+ "description": "Agent display name in A2A network"
886
+ },
887
+ "description": {
888
+ "type": "string",
889
+ "description": "Agent description for A2A discovery"
890
+ },
891
+ "skills": {
892
+ "type": "array",
893
+ "items": {
894
+ "type": "object",
895
+ "properties": {
896
+ "id": {
897
+ "type": "string"
898
+ },
899
+ "name": {
900
+ "type": "string"
901
+ },
902
+ "description": {
903
+ "type": "string"
904
+ }
905
+ },
906
+ "required": [
907
+ "id",
908
+ "name"
909
+ ]
910
+ },
911
+ "description": "Skills advertised via A2A"
912
+ }
913
+ },
914
+ "additionalProperties": true
915
+ },
916
+ "capabilities": {
917
+ "type": "object",
918
+ "description": "A2A capability flags",
919
+ "properties": {
920
+ "streaming": {
921
+ "type": "boolean",
922
+ "default": false,
923
+ "description": "Whether agent supports streaming responses"
924
+ },
925
+ "pushNotifications": {
926
+ "type": "boolean",
927
+ "default": false,
928
+ "description": "Whether agent supports push notifications"
929
+ },
930
+ "stateTransitionHistory": {
931
+ "type": "boolean",
932
+ "default": false,
933
+ "description": "Whether agent maintains task state history"
934
+ }
935
+ },
936
+ "additionalProperties": false
937
+ },
938
+ "authentication": {
939
+ "type": "object",
940
+ "description": "A2A authentication configuration",
941
+ "properties": {
942
+ "schemes": {
943
+ "type": "array",
944
+ "items": {
945
+ "type": "string",
946
+ "enum": [
947
+ "bearer",
948
+ "oauth2",
949
+ "apiKey",
950
+ "none"
951
+ ]
952
+ },
953
+ "description": "Supported authentication schemes"
954
+ }
955
+ },
956
+ "additionalProperties": true
957
+ }
958
+ },
959
+ "additionalProperties": false
960
+ },
961
+ "ANPProtocol": {
962
+ "type": "object",
963
+ "description": "Agent Network Protocol (ANP) declaration for decentralized agent networking. Enables DID-based identity, verifiable credentials, and peer-to-peer agent communication.",
964
+ "properties": {
965
+ "did": {
966
+ "type": "string",
967
+ "pattern": "^did:[a-z0-9]+:.+$",
968
+ "description": "Decentralized Identifier (DID) for this agent. Enables decentralized identity verification and trust without a central authority.",
969
+ "examples": [
970
+ "did:web:agents.bluefly.io:compliance-scanner",
971
+ "did:key:z6Mkf5rGMoatrSj1f4CyvuHBeXJELe9RPdzo2PKGNCKVtZxP"
972
+ ]
973
+ },
974
+ "verifiable_credentials": {
975
+ "type": "array",
976
+ "items": {
977
+ "type": "object",
978
+ "properties": {
979
+ "type": {
980
+ "type": "string",
981
+ "description": "Credential type (e.g., 'AgentCapabilityCredential', 'SecurityAuditCredential')"
982
+ },
983
+ "issuer": {
984
+ "type": "string",
985
+ "description": "DID of the credential issuer"
986
+ },
987
+ "credential_url": {
988
+ "type": "string",
989
+ "format": "uri",
990
+ "description": "URL to the verifiable credential document"
991
+ }
992
+ },
993
+ "required": [
994
+ "type",
995
+ "issuer"
996
+ ]
997
+ },
998
+ "description": "Verifiable credentials issued to this agent for trust establishment"
999
+ },
1000
+ "discovery": {
1001
+ "type": "object",
1002
+ "description": "ANP discovery configuration",
1003
+ "properties": {
1004
+ "registry_url": {
1005
+ "type": "string",
1006
+ "format": "uri",
1007
+ "description": "URL of the ANP agent registry"
1008
+ },
1009
+ "advertise": {
1010
+ "type": "boolean",
1011
+ "default": true,
1012
+ "description": "Whether to advertise this agent in the network"
1013
+ }
1014
+ },
1015
+ "additionalProperties": false
1016
+ }
1017
+ },
1018
+ "additionalProperties": false
1019
+ },
1020
+ "TokenEfficiency": {
1021
+ "type": "object",
1022
+ "description": "Token efficiency configuration for cost-optimized agent execution",
1023
+ "properties": {
1024
+ "serialization_profile": {
1025
+ "type": "string",
1026
+ "enum": [
1027
+ "full",
1028
+ "compact",
1029
+ "fingerprint"
1030
+ ],
1031
+ "default": "compact",
1032
+ "description": "Manifest serialization profile. full=200-400 tokens (discovery), compact=60-120 tokens (runtime), fingerprint=15-30 tokens (routing)"
1033
+ },
1034
+ "observation_format": {
1035
+ "type": "string",
1036
+ "enum": [
1037
+ "full",
1038
+ "diff",
1039
+ "projected",
1040
+ "summary"
1041
+ ],
1042
+ "default": "projected",
1043
+ "description": "How tool observations are formatted. diff=returns diff not full file. projected=only matched fields. summary=compressed summary."
1044
+ },
1045
+ "budget": {
1046
+ "$ref": "#/definitions/TokenBudget"
1047
+ },
1048
+ "routing": {
1049
+ "$ref": "#/definitions/ModelRouting"
1050
+ },
1051
+ "consolidation": {
1052
+ "$ref": "#/definitions/ConsolidationStrategy"
1053
+ },
1054
+ "compression": {
1055
+ "$ref": "#/definitions/CompressionConfig"
1056
+ },
1057
+ "custom_metrics": {
1058
+ "type": "array",
1059
+ "items": {
1060
+ "$ref": "#/definitions/CustomMetric"
1061
+ },
1062
+ "description": "Agent-specific token efficiency metrics"
1063
+ }
1064
+ },
1065
+ "additionalProperties": false
1066
+ },
1067
+ "TokenBudget": {
1068
+ "type": "object",
1069
+ "description": "Token budget allocation and enforcement",
1070
+ "properties": {
1071
+ "max_input_tokens": {
1072
+ "type": "integer",
1073
+ "description": "Maximum input tokens per request"
1074
+ },
1075
+ "max_output_tokens": {
1076
+ "type": "integer",
1077
+ "description": "Maximum output tokens per request"
1078
+ },
1079
+ "allocation_strategy": {
1080
+ "type": "string",
1081
+ "enum": [
1082
+ "equal",
1083
+ "proportional",
1084
+ "adaptive"
1085
+ ],
1086
+ "default": "adaptive",
1087
+ "description": "How budget is divided across pipeline stages"
1088
+ },
1089
+ "cascade": {
1090
+ "type": "array",
1091
+ "items": {
1092
+ "$ref": "#/definitions/CascadeStage"
1093
+ },
1094
+ "description": "Model cascade for cost-optimized routing"
1095
+ }
1096
+ }
1097
+ },
1098
+ "CascadeStage": {
1099
+ "type": "object",
1100
+ "description": "A stage in a model cascade pipeline",
1101
+ "required": [
1102
+ "model",
1103
+ "max_complexity"
1104
+ ],
1105
+ "properties": {
1106
+ "model": {
1107
+ "type": "string",
1108
+ "description": "Model identifier"
1109
+ },
1110
+ "max_complexity": {
1111
+ "type": "string",
1112
+ "enum": [
1113
+ "low",
1114
+ "medium",
1115
+ "high"
1116
+ ],
1117
+ "description": "Maximum complexity this model handles"
1118
+ },
1119
+ "budget_share": {
1120
+ "type": "number",
1121
+ "minimum": 0,
1122
+ "maximum": 1,
1123
+ "description": "Fraction of total budget allocated to this stage"
1124
+ },
1125
+ "budget_tokens": {
1126
+ "type": "integer",
1127
+ "description": "Absolute token budget for this stage"
1128
+ },
1129
+ "condition": {
1130
+ "type": "string",
1131
+ "description": "Condition expression for when to use this stage"
1132
+ }
1133
+ }
1134
+ },
1135
+ "ModelRouting": {
1136
+ "type": "object",
1137
+ "description": "Intelligent model routing configuration",
1138
+ "properties": {
1139
+ "cascade": {
1140
+ "type": "array",
1141
+ "items": {
1142
+ "type": "string"
1143
+ },
1144
+ "description": "Model tiers in order of cost (e.g., [haiku, sonnet, opus])"
1145
+ },
1146
+ "complexity_threshold": {
1147
+ "type": "array",
1148
+ "items": {
1149
+ "type": "number"
1150
+ },
1151
+ "description": "Complexity score thresholds between tiers (e.g., [0.3, 0.7])"
1152
+ },
1153
+ "strategy": {
1154
+ "type": "string",
1155
+ "enum": [
1156
+ "cost_optimized",
1157
+ "quality_optimized",
1158
+ "balanced"
1159
+ ],
1160
+ "default": "cost_optimized"
1161
+ }
1162
+ }
1163
+ },
1164
+ "ConsolidationStrategy": {
1165
+ "type": "object",
1166
+ "description": "Trajectory consolidation strategy for multi-turn interactions",
1167
+ "properties": {
1168
+ "strategy": {
1169
+ "type": "string",
1170
+ "enum": [
1171
+ "aggressive",
1172
+ "moderate",
1173
+ "minimal",
1174
+ "none"
1175
+ ],
1176
+ "default": "moderate",
1177
+ "description": "How aggressively to consolidate trajectory history"
1178
+ },
1179
+ "retain": {
1180
+ "type": "array",
1181
+ "items": {
1182
+ "type": "string"
1183
+ },
1184
+ "description": "Fields to always retain (e.g., final_answer, confidence)"
1185
+ },
1186
+ "summarize": {
1187
+ "type": "array",
1188
+ "items": {
1189
+ "type": "string"
1190
+ },
1191
+ "description": "Fields to summarize instead of keeping verbatim"
1192
+ },
1193
+ "drop": {
1194
+ "type": "array",
1195
+ "items": {
1196
+ "type": "string"
1197
+ },
1198
+ "description": "Fields to drop entirely (e.g., raw_observations, intermediate_diffs)"
1199
+ },
1200
+ "accumulate": {
1201
+ "type": "array",
1202
+ "items": {
1203
+ "type": "string"
1204
+ },
1205
+ "description": "Fields to accumulate with a token cap"
1206
+ },
1207
+ "max_accumulated_tokens": {
1208
+ "type": "integer",
1209
+ "default": 5000,
1210
+ "description": "Maximum tokens for accumulated fields"
1211
+ }
1212
+ }
1213
+ },
1214
+ "CompressionConfig": {
1215
+ "type": "object",
1216
+ "description": "Prompt and context compression configuration",
1217
+ "properties": {
1218
+ "enabled": {
1219
+ "type": "boolean",
1220
+ "default": true
1221
+ },
1222
+ "strategy": {
1223
+ "type": "string",
1224
+ "enum": [
1225
+ "template",
1226
+ "semantic",
1227
+ "hybrid",
1228
+ "none"
1229
+ ],
1230
+ "description": "Compression approach: template=pattern replacement, semantic=LLMLingua-style, hybrid=both"
1231
+ },
1232
+ "compression_ratio": {
1233
+ "type": "number",
1234
+ "minimum": 0,
1235
+ "maximum": 1,
1236
+ "description": "Target compression ratio (0.2 = 5x compression)"
1237
+ },
1238
+ "min_quality": {
1239
+ "type": "number",
1240
+ "minimum": 0,
1241
+ "maximum": 1,
1242
+ "default": 0.95,
1243
+ "description": "Minimum quality threshold - do not compress if quality drops below this"
1244
+ },
1245
+ "templates": {
1246
+ "type": "array",
1247
+ "items": {
1248
+ "$ref": "#/definitions/CompressionTemplate"
1249
+ }
1250
+ }
1251
+ }
1252
+ },
1253
+ "CompressionTemplate": {
1254
+ "type": "object",
1255
+ "required": [
1256
+ "name",
1257
+ "pattern"
1258
+ ],
1259
+ "properties": {
1260
+ "name": {
1261
+ "type": "string"
1262
+ },
1263
+ "pattern": {
1264
+ "type": "string",
1265
+ "description": "Compact pattern (e.g., scan_ctx[{{lang}}|{{framework}}|{{file_count}}])"
1266
+ },
1267
+ "expands_to": {
1268
+ "type": "string",
1269
+ "description": "Full expansion template"
1270
+ },
1271
+ "savings": {
1272
+ "type": "integer",
1273
+ "description": "Estimated tokens saved per use"
1274
+ }
1275
+ }
1276
+ },
1277
+ "CustomMetric": {
1278
+ "type": "object",
1279
+ "required": [
1280
+ "name",
1281
+ "type"
1282
+ ],
1283
+ "properties": {
1284
+ "name": {
1285
+ "type": "string"
1286
+ },
1287
+ "type": {
1288
+ "type": "string",
1289
+ "enum": [
1290
+ "counter",
1291
+ "gauge",
1292
+ "histogram"
1293
+ ]
1294
+ },
1295
+ "description": {
1296
+ "type": "string"
1297
+ },
1298
+ "labels": {
1299
+ "type": "array",
1300
+ "items": {
1301
+ "type": "string"
1302
+ }
1303
+ }
1304
+ }
1305
+ },
1306
+ "Capability": {
1307
+ "type": "object",
1308
+ "description": "Capability declaration with optional fingerprint for routing without loading full descriptions",
1309
+ "properties": {
1310
+ "fingerprint": {
1311
+ "type": "string",
1312
+ "pattern": "^sha256:[a-f0-9]{64}$",
1313
+ "description": "Deterministic hash of capability type signature for routing without loading full descriptions"
1314
+ }
1315
+ }
1316
+ },
1317
+ "Cognition": {
1318
+ "type": "object",
1319
+ "description": "Reasoning pattern, thought trace configuration, and governance for auditable agent cognition (v0.5.0 draft). First-class spec-level primitive for NIST/FedRAMP alignment.",
1320
+ "properties": {
1321
+ "pattern": {
1322
+ "type": "string",
1323
+ "enum": ["sequential", "tree_of_thought", "react", "plan_and_execute"],
1324
+ "description": "Cognitive architecture pattern"
1325
+ },
1326
+ "constraints": {
1327
+ "type": "object",
1328
+ "properties": {
1329
+ "max_depth": { "type": "integer", "minimum": 1 },
1330
+ "branching": { "type": "boolean", "default": true },
1331
+ "revision": { "type": "boolean", "default": true },
1332
+ "confidence_threshold": { "type": "number", "minimum": 0, "maximum": 1 }
1333
+ },
1334
+ "additionalProperties": false
1335
+ },
1336
+ "trace": {
1337
+ "type": "object",
1338
+ "properties": {
1339
+ "format": { "type": "string", "enum": ["otel_spans", "ossa_native", "both"], "default": "both" },
1340
+ "storage": { "type": "string", "enum": ["vector", "graph", "both"], "default": "graph" },
1341
+ "retention": { "type": "string", "pattern": "^(\\d+d|\\d+w|\\d+\\s*days?)$" }
1342
+ },
1343
+ "additionalProperties": false
1344
+ },
1345
+ "governance": {
1346
+ "type": "object",
1347
+ "properties": {
1348
+ "human_review_triggers": {
1349
+ "type": "array",
1350
+ "items": {
1351
+ "type": "object",
1352
+ "properties": {
1353
+ "confidence_below": { "type": "number", "minimum": 0, "maximum": 1 },
1354
+ "contradiction_detected": { "type": "boolean" },
1355
+ "branch_depth_exceeds": { "type": "integer", "minimum": 1 }
1356
+ },
1357
+ "additionalProperties": true
1358
+ }
1359
+ },
1360
+ "audit_required": { "type": "boolean", "default": false }
1361
+ },
1362
+ "additionalProperties": false
1363
+ }
1364
+ },
1365
+ "additionalProperties": false
1366
+ },
1367
+ "WorkflowComposition": {
1368
+ "type": "object",
1369
+ "description": "Workflow composition with output projection for sequential and parallel agent execution",
1370
+ "properties": {
1371
+ "sequential": {
1372
+ "type": "array",
1373
+ "items": {
1374
+ "type": "object",
1375
+ "properties": {
1376
+ "agent": {
1377
+ "type": "string"
1378
+ },
1379
+ "project": {
1380
+ "type": "array",
1381
+ "items": {
1382
+ "type": "string"
1383
+ },
1384
+ "description": "Output field projection - only these fields pass to the next agent"
1385
+ }
1386
+ }
1387
+ }
1388
+ },
1389
+ "parallel": {
1390
+ "type": "object",
1391
+ "properties": {
1392
+ "shared_context": {
1393
+ "type": "boolean",
1394
+ "default": true,
1395
+ "description": "Deduplicate input context across parallel branches"
1396
+ },
1397
+ "agents": {
1398
+ "type": "array",
1399
+ "items": {
1400
+ "type": "string"
1401
+ }
1402
+ }
1403
+ }
1404
+ }
1405
+ }
1406
+ },
1407
+ "Governance": {
1408
+ "type": "object",
1409
+ "description": "Governance and authorization policies mapped to Cedar or OPA engines.",
1410
+ "properties": {
1411
+ "authorization": {
1412
+ "type": "object",
1413
+ "properties": {
1414
+ "clearance_level": {
1415
+ "type": "integer",
1416
+ "minimum": 0,
1417
+ "description": "Numeric clearance level required for this agent"
1418
+ },
1419
+ "tool_permissions": {
1420
+ "type": "array",
1421
+ "items": {
1422
+ "type": "object",
1423
+ "properties": {
1424
+ "tool": {
1425
+ "type": "string"
1426
+ },
1427
+ "risk_level": {
1428
+ "type": "string",
1429
+ "enum": [
1430
+ "low",
1431
+ "medium",
1432
+ "high",
1433
+ "critical"
1434
+ ]
1435
+ },
1436
+ "requires_approval": {
1437
+ "type": "boolean"
1438
+ }
1439
+ },
1440
+ "required": [
1441
+ "tool",
1442
+ "risk_level"
1443
+ ]
1444
+ }
1445
+ },
1446
+ "policy_references": {
1447
+ "type": "array",
1448
+ "items": {
1449
+ "type": "string"
1450
+ },
1451
+ "description": "List of Cedar (or other) policy IDs this agent must adhere to"
1452
+ }
1453
+ }
1454
+ },
1455
+ "quality_requirements": {
1456
+ "type": "object",
1457
+ "properties": {
1458
+ "confidence_threshold": {
1459
+ "type": "number",
1460
+ "minimum": 0,
1461
+ "maximum": 1
1462
+ },
1463
+ "test_coverage_threshold": {
1464
+ "type": "number",
1465
+ "minimum": 0,
1466
+ "maximum": 100
1467
+ },
1468
+ "security_score_threshold": {
1469
+ "type": "number",
1470
+ "minimum": 0,
1471
+ "maximum": 100
1472
+ },
1473
+ "max_vulnerability_count": {
1474
+ "type": "integer",
1475
+ "minimum": 0
1476
+ }
1477
+ }
1478
+ },
1479
+ "compliance": {
1480
+ "type": "object",
1481
+ "properties": {
1482
+ "frameworks": {
1483
+ "type": "array",
1484
+ "items": {
1485
+ "type": "string",
1486
+ "enum": [
1487
+ "SOC2",
1488
+ "HIPAA",
1489
+ "GDPR",
1490
+ "PCI-DSS",
1491
+ "NIST-800-53"
1492
+ ]
1493
+ }
1494
+ },
1495
+ "data_classification": {
1496
+ "type": "string",
1497
+ "enum": [
1498
+ "public",
1499
+ "internal",
1500
+ "confidential",
1501
+ "restricted"
1502
+ ]
1503
+ },
1504
+ "audit_logging_required": {
1505
+ "type": "boolean"
1506
+ }
1507
+ }
1508
+ }
1509
+ },
1510
+ "additionalProperties": false
1511
+ },
1512
+ "UserControls": {
1513
+ "type": "object",
1514
+ "description": "Declares what granular runtime controls the orchestrator has over this agent.",
1515
+ "properties": {
1516
+ "pause": { "type": "boolean", "default": true },
1517
+ "stop": { "type": "boolean", "default": true },
1518
+ "undo": { "type": "boolean", "default": false }
1519
+ },
1520
+ "additionalProperties": false
1521
+ },
1522
+ "Consent": {
1523
+ "type": "object",
1524
+ "description": "Data privacy and telemetry consent properties.",
1525
+ "properties": {
1526
+ "data_collected": {
1527
+ "type": "array",
1528
+ "items": { "type": "string" }
1529
+ },
1530
+ "opt_out": { "type": "boolean", "default": false }
1531
+ },
1532
+ "additionalProperties": false
1533
+ },
1534
+ "Impact": {
1535
+ "type": "object",
1536
+ "description": "Calculated potential blast radius and reversibility of actions.",
1537
+ "properties": {
1538
+ "reversible": { "type": "boolean", "default": true },
1539
+ "blast_radius": {
1540
+ "type": "string",
1541
+ "enum": ["isolated", "local", "system", "external"]
1542
+ }
1543
+ },
1544
+ "additionalProperties": false
1545
+ },
1546
+ "Transparency": {
1547
+ "type": "object",
1548
+ "description": "Transparency and provenance declarations.",
1549
+ "properties": {
1550
+ "self_disclosure": { "type": "boolean", "default": true },
1551
+ "provenance": { "type": "string" }
1552
+ },
1553
+ "additionalProperties": false
1554
+ }
1555
+ }
1556
+ }