@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.
- package/.version.json +3 -3
- package/CHANGELOG.md +16 -0
- package/README.md +1 -0
- package/dist/.version.json +3 -3
- package/dist/adapters/mcp/converter.js +4 -3
- package/dist/adapters/npm/adapter.js +2 -1
- package/dist/adapters/openai-agents/adapter.js +1 -1
- package/dist/cli/commands/config.command.d.ts +7 -0
- package/dist/cli/commands/config.command.js +92 -0
- package/dist/cli/commands/migrate.command.js +1 -1
- package/dist/cli/commands/sign.command.d.ts +3 -0
- package/dist/cli/commands/sign.command.js +42 -0
- package/dist/cli/commands/skills.command.js +4 -6
- package/dist/config/cli-config.d.ts +33 -0
- package/dist/config/cli-config.js +107 -0
- package/dist/mcp-server/index.js +0 -0
- package/dist/package.json +8 -9
- package/dist/services/governance/cedar-provider.js +2 -1
- package/dist/services/release-automation/base-crud.service.d.ts +93 -0
- package/dist/services/release-automation/base-crud.service.js +68 -0
- package/dist/services/release-automation/generate-changelog.d.ts +7 -0
- package/dist/services/release-automation/generate-changelog.js +288 -0
- package/dist/services/release-automation/increment-dev-tag.d.ts +7 -0
- package/dist/services/release-automation/increment-dev-tag.js +160 -0
- package/dist/services/release-automation/index.d.ts +12 -0
- package/dist/services/release-automation/index.js +12 -0
- package/dist/services/release-automation/merge-request.service.d.ts +119 -0
- package/dist/services/release-automation/merge-request.service.js +212 -0
- package/dist/services/release-automation/milestone.service.d.ts +104 -0
- package/dist/services/release-automation/milestone.service.js +207 -0
- package/dist/services/release-automation/release-agent.service.d.ts +39 -0
- package/dist/services/release-automation/release-agent.service.js +43 -0
- package/dist/services/release-automation/release-buttons.d.ts +7 -0
- package/dist/services/release-automation/release-buttons.js +207 -0
- package/dist/services/release-automation/release.service.d.ts +118 -0
- package/dist/services/release-automation/release.service.js +207 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
- package/dist/services/release-automation/schemas/release.schema.js +272 -0
- package/dist/services/release-automation/tag.service.d.ts +99 -0
- package/dist/services/release-automation/tag.service.js +183 -0
- package/dist/services/release-automation/webhook.service.d.ts +37 -0
- package/dist/services/release-automation/webhook.service.js +187 -0
- package/dist/skills/test-skill/README.md +36 -0
- package/dist/skills/test-skill/SKILL.md +31 -0
- package/dist/skills/test-skill/index.d.ts +31 -0
- package/dist/skills/test-skill/install.js +44 -0
- package/dist/skills/test-skill/package.json +36 -0
- package/dist/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +1 -1
- package/dist/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +1 -1
- package/dist/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +1 -1
- package/dist/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +1 -1
- package/dist/spec/reference/reference-agents/pipeline-fixer/manifest.ossa.yaml +1 -1
- package/dist/spec/reference/reference-agents/release-orchestrator/manifest.ossa.yaml +1 -1
- package/dist/spec/uadp/README.md +393 -0
- package/dist/spec/uadp/openapi.yaml +387 -0
- package/dist/spec/uadp/schemas/uadp-agents-response.schema.json +68 -0
- package/dist/spec/uadp/schemas/uadp-federation-response.schema.json +46 -0
- package/dist/spec/uadp/schemas/uadp-manifest.schema.json +82 -0
- package/dist/spec/uadp/schemas/uadp-skills-response.schema.json +72 -0
- package/dist/spec/v0.4/agent-card.schema.json +1 -1
- package/dist/spec/v0.4/agent.schema.json +15 -15
- package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
- package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +1 -1
- package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +1 -1
- package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +1 -1
- package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +1 -1
- package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +1 -1
- package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +1 -1
- package/dist/spec/v0.5/agent-card.schema.json +477 -0
- package/dist/spec/v0.5/agent.schema.json +1556 -0
- package/dist/spec/v0.5/conformance/profiles/baseline.json +19 -0
- package/dist/spec/v0.5/conformance/profiles/enterprise.json +20 -0
- package/dist/spec/v0.5/extensions/a2a/README.md +193 -0
- package/dist/spec/v0.5/extensions/a2a/a2a.schema.json +77 -0
- package/dist/spec/v0.5/extensions/ag2/ag2.schema.json +277 -0
- package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +94 -0
- package/dist/spec/v0.5/extensions/cognition/thought-node.schema.json +80 -0
- package/dist/spec/v0.5/extensions/crewai/crewai.schema.json +256 -0
- package/dist/spec/v0.5/extensions/drupal/drupal.schema.json +318 -0
- package/dist/spec/v0.5/extensions/evals/evals.schema.json +597 -0
- package/dist/spec/v0.5/extensions/governance/governance-extension.yaml +161 -0
- package/dist/spec/v0.5/extensions/identity/identity.schema.json +302 -0
- package/dist/spec/v0.5/extensions/kagent/README.md +315 -0
- package/dist/spec/v0.5/extensions/kagent/kagent.schema.json +624 -0
- package/dist/spec/v0.5/extensions/langchain/langchain.schema.json +243 -0
- package/dist/spec/v0.5/extensions/langgraph/langgraph.schema.json +211 -0
- package/dist/spec/v0.5/extensions/mcp/README.md +276 -0
- package/dist/spec/v0.5/extensions/mcp/mcp.schema.json +84 -0
- package/dist/spec/v0.5/extensions/memory/memory.schema.json +7 -0
- package/dist/spec/v0.5/extensions/team/team.schema.json +304 -0
- package/dist/spec/v0.5/extensions/token-efficiency/token-efficiency.schema.json +47 -0
- package/dist/spec/v0.5/mcp.schema.json +1 -0
- package/dist/spec/v0.5/skill.schema.json +1 -0
- package/dist/spec/v0.5/validator.schema.json +282 -0
- package/dist/validation/error-codes.js +1 -1
- package/examples/a2a/agent-handoff.ossa.yaml +1 -1
- package/examples/a2a/service-discovery.ossa.yaml +1 -1
- package/examples/adapters/drupal-eca-mapping.yaml +1 -1
- package/examples/adapters/drupal-eca-task.yaml +1 -1
- package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
- package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
- package/examples/adapters/mistral-agent.yaml +1 -1
- package/examples/adapters/symfony-messenger-task.yaml +1 -1
- package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/reasoning-agent.yaml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/agent-taxonomy-example.ossa.yaml +1 -1
- package/examples/agents/01-customer-support-bot/agent.ossa.yaml +1 -1
- package/examples/agents/02-code-review-agent/agent.ossa.yaml +1 -1
- package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +1 -1
- package/examples/agents/04-content-moderator/agent.ossa.yaml +1 -1
- package/examples/agents/05-sales-assistant/agent.ossa.yaml +1 -1
- package/examples/agents/06-devops-agent/agent.ossa.yaml +1 -1
- package/examples/agents/07-research-assistant/agent.ossa.yaml +1 -1
- package/examples/agents/08-email-triage-agent/agent.ossa.yaml +1 -1
- package/examples/agents/09-security-scanner/agent.ossa.yaml +1 -1
- package/examples/agents/10-meeting-assistant/agent.ossa.yaml +1 -1
- package/examples/agents/architecture-healer-enterprise.yaml +1 -1
- package/examples/agents/dependency-healer-npm.yaml +1 -1
- package/examples/agents/spec-healer-openapi.yaml +1 -1
- package/examples/agents/wiki-healer-production.yaml +1 -1
- package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
- package/examples/agentscope/react-assistant/README.md +111 -0
- package/examples/agentscope/react-assistant/agent.ossa.yaml +132 -0
- package/examples/agentscope/react-assistant/skills/code-analysis/SKILL.md +18 -0
- package/examples/agentscope/react-assistant/skills/question-answering/SKILL.md +18 -0
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
- package/examples/bridges/.gitlab-ci.yml +2 -2
- package/examples/build-once-use-everywhere/agent.ossa.yaml +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
- package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
- package/examples/common_npm/agent-router.ossa.yaml +1 -1
- package/examples/contracts/data-consumer.ossa.yaml +1 -1
- package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
- package/examples/contracts/data-producer.ossa.yaml +1 -1
- package/examples/drupal/QUICKSTART.md +17 -3
- package/examples/drupal/ai_agents_agentscope/README.md +62 -0
- package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.info.yml +13 -0
- package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.services.yml +4 -0
- package/examples/drupal/ai_agents_agentscope/config/install/ai_agents_agentscope.settings.yml +3 -0
- package/examples/drupal/ai_agents_agentscope/config/schema/ai_agents_agentscope.schema.yml +14 -0
- package/examples/drupal/ai_agents_agentscope/src/AgentScopeRuntime.php +11 -0
- package/examples/drupal/ai_agents_agentscope/src/Plugin/AiAgent/AgentScopeAgent.php +10 -0
- package/examples/drupal/ai_agents_agentscope/src/Plugin/AiProvider/AgentScopeProvider.php +217 -0
- package/examples/drupal/ai_agents_agentscope/src/Plugin/Derivative/AgentScopeDeriver.php +10 -0
- package/examples/drupal/ai_agents_agentscope/src/Service/AgentScopeAdapter.php +9 -0
- package/examples/drupal/content-moderator.ossa.yaml +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
- package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +1 -1
- package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +1 -1
- package/examples/extensions/agents-md-advanced.yml +1 -1
- package/examples/extensions/agents-md-basic.yml +1 -1
- package/examples/extensions/agents-md-sync.yml +1 -1
- package/examples/extensions/agents-md-v1.yml +1 -1
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/encryption-multi-provider.yaml +4 -4
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/extensions/knowledge-sources.yaml +1 -1
- package/examples/extensions/mcp-full-featured.yaml +1 -1
- package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
- package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +2 -2
- package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +2 -2
- package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +2 -2
- package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +2 -2
- package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +2 -2
- package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +2 -2
- package/examples/hierarchical-agent.ossa.yaml +1 -1
- package/examples/infrastructure/token-rotation/manifest.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +1 -1
- package/examples/mcp/browser-puppeteer.ossa.yaml +1 -1
- package/examples/mcp/database-mcp.ossa.yaml +1 -1
- package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
- package/examples/messaging/dependency-healer.ossa.yaml +1 -1
- package/examples/messaging/incident-responder.ossa.yaml +1 -1
- package/examples/messaging/routing-rules.ossa.yaml +1 -1
- package/examples/messaging/security-scanner.ossa.yaml +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/04-config-based-after.ossa.yaml +1 -1
- package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +6 -6
- package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +3 -3
- package/examples/mr-reviewer-with-governance.ossa.yaml +1 -1
- package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
- package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
- package/examples/multi-agent-research-workflow.ossa.yaml +1 -1
- package/examples/multi-platform/single-manifest/agent.ossa.yaml +1 -1
- package/examples/observability/activity-stream-full.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/ossa-templates/01-code-assistant.ossa.yaml +1 -1
- package/examples/ossa-templates/02-security-scanner.ossa.yaml +1 -1
- package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +1 -1
- package/examples/ossa-templates/04-code-reviewer.ossa.yaml +1 -1
- package/examples/ossa-templates/05-doc-generator.ossa.yaml +1 -1
- package/examples/ossa-templates/06-compliance-validator.ossa.yaml +1 -1
- package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +1 -1
- package/examples/ossa-templates/08-content-writer.ossa.yaml +1 -1
- package/examples/ossa-templates/09-test-generator.ossa.yaml +1 -1
- package/examples/ossa-templates/10-data-transformer.ossa.yaml +1 -1
- package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
- package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
- package/examples/pipeline-agent.ossa.yaml +1 -1
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +1 -1
- package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/04-content-moderator/agent.ossa.yaml +1 -1
- package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +1 -1
- package/examples/production-ready/06-devops-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/07-research-assistant/agent.ossa.yaml +1 -1
- package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/09-security-scanner/agent.ossa.yaml +1 -1
- package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
- package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
- package/examples/registry/agents/security-scanner/agent.yaml +1 -1
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
- package/examples/schema/reusable-components.yaml +1 -1
- package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
- package/examples/showcase/code-assistant.ossa.yaml +1 -1
- package/examples/showcase/code-reviewer.ossa.yaml +1 -1
- package/examples/showcase/compliance-checker.ossa.yaml +1 -1
- package/examples/showcase/compliance-validator.ossa.yaml +1 -1
- package/examples/showcase/content-writer.ossa.yaml +1 -1
- package/examples/showcase/customer-support.ossa.yaml +1 -1
- package/examples/showcase/data-processing-pipeline.ossa.yaml +1 -1
- package/examples/showcase/data-transformer.ossa.yaml +1 -1
- package/examples/showcase/doc-generator.ossa.yaml +1 -1
- package/examples/showcase/full-power-agent.ossa.yaml +1 -1
- package/examples/showcase/security-scanner-enhanced.ossa.yaml +1 -1
- package/examples/showcase/security-scanner.ossa.yaml +1 -1
- package/examples/showcase/team-leader.ossa.yaml +1 -1
- package/examples/showcase/test-generator.ossa.yaml +1 -1
- package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
- package/examples/skills-example.ossa.yaml +1 -1
- package/examples/swarm-agent.ossa.yaml +1 -1
- package/examples/tasks/batch-email-sender.yaml +1 -1
- package/examples/tasks/data-transform.yaml +1 -1
- package/examples/tasks/publish-content.yaml +1 -1
- package/examples/team-agent.ossa.yaml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/unified/security-scanner.ossa.yaml +1 -1
- package/examples/workflows/batch-email-campaign.yaml +1 -1
- package/examples/workflows/content-review-publish.yaml +1 -1
- package/examples/workflows/simple-etl.yaml +1 -1
- package/package.json +6 -7
- package/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/pipeline-fixer/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/release-orchestrator/manifest.ossa.yaml +1 -1
- package/spec/v0.4/agent-card.schema.json +1 -1
- package/spec/v0.4/agent.schema.json +84 -15
- package/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
- package/spec/v0.4/extensions/ag2/ag2.schema.json +1 -1
- package/spec/v0.4/extensions/crewai/crewai.schema.json +1 -1
- package/spec/v0.4/extensions/kagent/kagent.schema.json +1 -1
- package/spec/v0.4/extensions/langchain/langchain.schema.json +1 -1
- package/spec/v0.4/extensions/langgraph/langgraph.schema.json +1 -1
- package/spec/v0.4/extensions/mcp/mcp.schema.json +1 -1
- package/templates/agent-types/claude-agent.ossa.yaml +1 -1
- package/templates/agent-types/kagent.ossa.yaml +1 -1
- package/templates/agent-types/langchain-agent.ossa.yaml +1 -1
- package/templates/agent-types/openapi-agent.ossa.yaml +1 -1
- package/templates/agent-types/swarm-agents.ossa.yaml +1 -1
- package/templates/ci-cd/gitlab-ci.deploy.yml +2 -2
- package/templates/validators/capability-compatibility.ossa.yaml +1 -1
- package/templates/validators/coordination-consistency.ossa.yaml +1 -1
- package/templates/validators/pattern-requirements.ossa.yaml +1 -1
- package/templates/validators/transport-compatibility.ossa.yaml +1 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# MCP (Model Context Protocol) Extension
|
|
2
|
+
|
|
3
|
+
**Version**: 0.4.6
|
|
4
|
+
**Status**: Stable
|
|
5
|
+
**Framework**: [Anthropic MCP](https://modelcontextprotocol.io/)
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The MCP extension enables native integration with Anthropic's Model Context Protocol, providing standardized context sharing, resource access, and tool invocation across LLM applications.
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **MCP Server Connections**: Connect to stdio, HTTP, WebSocket, or SSE-based MCP servers
|
|
14
|
+
- **Resource Management**: Expose and consume MCP resources (files, databases, APIs)
|
|
15
|
+
- **Prompt Templates**: Define reusable prompt templates with arguments
|
|
16
|
+
- **Tool Integration**: Expose tools via MCP for LLM invocation
|
|
17
|
+
- **Sampling Support**: Enable agents to request LLM completions
|
|
18
|
+
- **Capability Discovery**: Dynamic capability negotiation
|
|
19
|
+
|
|
20
|
+
## Schema Reference
|
|
21
|
+
|
|
22
|
+
### MCP Server Configuration
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
extensions:
|
|
26
|
+
mcp:
|
|
27
|
+
servers:
|
|
28
|
+
- name: filesystem
|
|
29
|
+
description: "Local filesystem access"
|
|
30
|
+
transport:
|
|
31
|
+
type: stdio
|
|
32
|
+
command: npx
|
|
33
|
+
args:
|
|
34
|
+
- "-y"
|
|
35
|
+
- "@modelcontextprotocol/server-filesystem"
|
|
36
|
+
- "/path/to/allowed/files"
|
|
37
|
+
version: "0.1.0"
|
|
38
|
+
capabilities:
|
|
39
|
+
resources:
|
|
40
|
+
subscribe: true
|
|
41
|
+
listChanged: true
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Transport Types
|
|
45
|
+
|
|
46
|
+
1. **stdio**: Local process communication
|
|
47
|
+
```yaml
|
|
48
|
+
transport:
|
|
49
|
+
type: stdio
|
|
50
|
+
command: node
|
|
51
|
+
args: ["server.js"]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
2. **HTTP/WebSocket/SSE**: Network-based transport
|
|
55
|
+
```yaml
|
|
56
|
+
transport:
|
|
57
|
+
type: http
|
|
58
|
+
url: https://mcp-server.example.com/api
|
|
59
|
+
headers:
|
|
60
|
+
Authorization: "Bearer ${MCP_TOKEN}"
|
|
61
|
+
timeout: 30
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Resource Definition
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
extensions:
|
|
68
|
+
mcp:
|
|
69
|
+
resources:
|
|
70
|
+
- uri: "file:///workspace/README.md"
|
|
71
|
+
name: "Project README"
|
|
72
|
+
description: "Main project documentation"
|
|
73
|
+
mimeType: "text/markdown"
|
|
74
|
+
annotations:
|
|
75
|
+
audience: ["user", "assistant"]
|
|
76
|
+
priority: 0.9
|
|
77
|
+
contents:
|
|
78
|
+
- type: text
|
|
79
|
+
text: "# Project Documentation..."
|
|
80
|
+
mimeType: "text/markdown"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Prompt Templates
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
extensions:
|
|
87
|
+
mcp:
|
|
88
|
+
prompts:
|
|
89
|
+
- name: "review-code"
|
|
90
|
+
description: "Review code changes for quality and security"
|
|
91
|
+
arguments:
|
|
92
|
+
- name: "code"
|
|
93
|
+
description: "Code to review"
|
|
94
|
+
required: true
|
|
95
|
+
- name: "language"
|
|
96
|
+
description: "Programming language"
|
|
97
|
+
required: false
|
|
98
|
+
messages:
|
|
99
|
+
- role: system
|
|
100
|
+
content: "You are a code reviewer focused on quality and security."
|
|
101
|
+
- role: user
|
|
102
|
+
content: "Review this {{language}} code:\n\n{{code}}"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Tool Definition
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
extensions:
|
|
109
|
+
mcp:
|
|
110
|
+
tools:
|
|
111
|
+
- name: "read_file"
|
|
112
|
+
description: "Read contents of a file"
|
|
113
|
+
inputSchema:
|
|
114
|
+
type: object
|
|
115
|
+
required: ["path"]
|
|
116
|
+
properties:
|
|
117
|
+
path:
|
|
118
|
+
type: string
|
|
119
|
+
description: "File path to read"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Sampling Configuration
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
extensions:
|
|
126
|
+
mcp:
|
|
127
|
+
sampling:
|
|
128
|
+
enabled: true
|
|
129
|
+
maxTokens: 4096
|
|
130
|
+
temperature: 0.7
|
|
131
|
+
stopSequences: ["</response>"]
|
|
132
|
+
modelPreferences:
|
|
133
|
+
- "claude-sonnet-4-20250514"
|
|
134
|
+
- "gpt-4o"
|
|
135
|
+
capabilities:
|
|
136
|
+
sampling:
|
|
137
|
+
enabled: true
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Use Cases
|
|
141
|
+
|
|
142
|
+
### 1. Filesystem MCP Server
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
apiVersion: ossa/v0.4.6
|
|
146
|
+
kind: Agent
|
|
147
|
+
metadata:
|
|
148
|
+
name: file-assistant
|
|
149
|
+
version: 1.0.0
|
|
150
|
+
spec:
|
|
151
|
+
extensions:
|
|
152
|
+
mcp:
|
|
153
|
+
servers:
|
|
154
|
+
- name: filesystem
|
|
155
|
+
description: "Access project files"
|
|
156
|
+
transport:
|
|
157
|
+
type: stdio
|
|
158
|
+
command: npx
|
|
159
|
+
args:
|
|
160
|
+
- "-y"
|
|
161
|
+
- "@modelcontextprotocol/server-filesystem"
|
|
162
|
+
- "/workspace"
|
|
163
|
+
capabilities:
|
|
164
|
+
resources:
|
|
165
|
+
subscribe: true
|
|
166
|
+
listChanged: true
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### 2. Database MCP Server
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
apiVersion: ossa/v0.4.6
|
|
173
|
+
kind: Agent
|
|
174
|
+
metadata:
|
|
175
|
+
name: database-assistant
|
|
176
|
+
version: 1.0.0
|
|
177
|
+
spec:
|
|
178
|
+
extensions:
|
|
179
|
+
mcp:
|
|
180
|
+
servers:
|
|
181
|
+
- name: postgres
|
|
182
|
+
description: "PostgreSQL database access"
|
|
183
|
+
transport:
|
|
184
|
+
type: stdio
|
|
185
|
+
command: npx
|
|
186
|
+
args:
|
|
187
|
+
- "-y"
|
|
188
|
+
- "@modelcontextprotocol/server-postgres"
|
|
189
|
+
env:
|
|
190
|
+
DATABASE_URL: "postgresql://user:pass@localhost:5432/db"
|
|
191
|
+
capabilities:
|
|
192
|
+
tools:
|
|
193
|
+
listChanged: false
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 3. Custom MCP Resources
|
|
197
|
+
|
|
198
|
+
```yaml
|
|
199
|
+
apiVersion: ossa/v0.4.6
|
|
200
|
+
kind: Agent
|
|
201
|
+
metadata:
|
|
202
|
+
name: documentation-agent
|
|
203
|
+
version: 1.0.0
|
|
204
|
+
spec:
|
|
205
|
+
extensions:
|
|
206
|
+
mcp:
|
|
207
|
+
resources:
|
|
208
|
+
- uri: "docs://api-reference"
|
|
209
|
+
name: "API Reference"
|
|
210
|
+
description: "Complete API documentation"
|
|
211
|
+
mimeType: "text/markdown"
|
|
212
|
+
contents:
|
|
213
|
+
- type: text
|
|
214
|
+
text: "# API Reference\n\n..."
|
|
215
|
+
mimeType: "text/markdown"
|
|
216
|
+
prompts:
|
|
217
|
+
- name: "explain-api"
|
|
218
|
+
description: "Explain an API endpoint"
|
|
219
|
+
arguments:
|
|
220
|
+
- name: "endpoint"
|
|
221
|
+
description: "API endpoint path"
|
|
222
|
+
required: true
|
|
223
|
+
messages:
|
|
224
|
+
- role: system
|
|
225
|
+
content: "You are an API documentation expert."
|
|
226
|
+
- role: user
|
|
227
|
+
content: "Explain the {{endpoint}} API endpoint"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Best Practices
|
|
231
|
+
|
|
232
|
+
1. **Server Naming**: Use descriptive names that indicate the server's purpose
|
|
233
|
+
2. **Transport Security**: Use HTTPS/WSS for network transports and validate certificates
|
|
234
|
+
3. **Resource URIs**: Follow URI scheme conventions (file://, db://, http://)
|
|
235
|
+
4. **Error Handling**: Configure appropriate timeouts and retry policies
|
|
236
|
+
5. **Capabilities**: Declare capabilities accurately to enable proper protocol negotiation
|
|
237
|
+
6. **Environment Variables**: Use env vars for sensitive configuration (API keys, credentials)
|
|
238
|
+
7. **Resource Updates**: Enable `subscribe` and `listChanged` for dynamic resources
|
|
239
|
+
|
|
240
|
+
## Validation
|
|
241
|
+
|
|
242
|
+
The MCP validator checks:
|
|
243
|
+
|
|
244
|
+
- Server transport configuration is complete and valid
|
|
245
|
+
- Resource URIs are properly formatted
|
|
246
|
+
- No duplicate resource URIs or prompt/tool names
|
|
247
|
+
- Content types match declared MIME types
|
|
248
|
+
- Sampling configuration is consistent with capabilities
|
|
249
|
+
- Network URLs are valid and accessible
|
|
250
|
+
|
|
251
|
+
## Integration
|
|
252
|
+
|
|
253
|
+
### With ValidationService
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
import { MCPValidator } from './validators/mcp.validator.js';
|
|
257
|
+
|
|
258
|
+
const mcpValidator = container.get(MCPValidator);
|
|
259
|
+
const result = mcpValidator.validate(manifest);
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### With Agent Runtime
|
|
263
|
+
|
|
264
|
+
MCP servers are automatically initialized when an agent starts. Resources, prompts, and tools are registered with the MCP protocol handler.
|
|
265
|
+
|
|
266
|
+
## Related Extensions
|
|
267
|
+
|
|
268
|
+
- **Kagent**: Kubernetes-native deployment
|
|
269
|
+
- **A2A**: Agent-to-agent communication
|
|
270
|
+
- **LangChain**: LangChain integration
|
|
271
|
+
|
|
272
|
+
## References
|
|
273
|
+
|
|
274
|
+
- [Model Context Protocol Specification](https://modelcontextprotocol.io/)
|
|
275
|
+
- [MCP Server Examples](https://github.com/modelcontextprotocol/servers)
|
|
276
|
+
- [OSSA v0.4.6 Specification](../../README.md)
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://openstandardagents.org/schemas/v0.4.6/extensions/mcp.json",
|
|
4
|
+
"title": "MCP Extension Schema",
|
|
5
|
+
"description": "Model Context Protocol extension for OSSA agents",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"servers": {
|
|
9
|
+
"type": "array",
|
|
10
|
+
"description": "MCP server configurations",
|
|
11
|
+
"items": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"name": { "type": "string" },
|
|
15
|
+
"command": { "type": "string" },
|
|
16
|
+
"args": { "type": "array", "items": { "type": "string" } },
|
|
17
|
+
"env": { "type": "object", "additionalProperties": { "type": "string" } },
|
|
18
|
+
"transport": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": ["stdio", "sse", "websocket"],
|
|
21
|
+
"default": "stdio"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["name", "command"],
|
|
25
|
+
"additionalProperties": false
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"tools": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"description": "MCP tools exposed by servers",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"name": { "type": "string" },
|
|
35
|
+
"description": { "type": "string" },
|
|
36
|
+
"inputSchema": { "type": "object" },
|
|
37
|
+
"server": { "type": "string" }
|
|
38
|
+
},
|
|
39
|
+
"required": ["name", "description", "inputSchema"],
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"resources": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"description": "MCP resources provided by servers",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"uri": { "type": "string", "format": "uri" },
|
|
50
|
+
"name": { "type": "string" },
|
|
51
|
+
"mimeType": { "type": "string" },
|
|
52
|
+
"description": { "type": "string" }
|
|
53
|
+
},
|
|
54
|
+
"required": ["uri", "name"],
|
|
55
|
+
"additionalProperties": false
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"prompts": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"description": "MCP prompts provided by servers",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"name": { "type": "string" },
|
|
65
|
+
"description": { "type": "string" },
|
|
66
|
+
"arguments": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"items": {
|
|
69
|
+
"type": "object",
|
|
70
|
+
"properties": {
|
|
71
|
+
"name": { "type": "string" },
|
|
72
|
+
"description": { "type": "string" },
|
|
73
|
+
"required": { "type": "boolean" }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"required": ["name"],
|
|
79
|
+
"additionalProperties": false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"additionalProperties": false
|
|
84
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://openstandardagents.org/schemas/v0.4/extensions/memory.schema.json",
|
|
4
|
+
"title": "OSSA Memory Management Extension",
|
|
5
|
+
"description": "Extension schema for agent memory file management. Manages CLAUDE.md hierarchy, rules extraction, conditional loading, and auto-memory for IDE/CLI tools (Claude Code, Cursor, Windsurf).",
|
|
6
|
+
"$ref": "../../agent.schema.json#/definitions/MemoryManagement"
|
|
7
|
+
}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://openstandardagents.org/schemas/v0.4/extensions/team.json",
|
|
4
|
+
"title": "OSSA Team Extension Schema",
|
|
5
|
+
"description": "Validates team/config.json generated by the TeamGeneratorService. Defines multi-agent team structure, coordination model, and deployment configuration for OSSA agent teams.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["name", "version", "pattern"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Team name, typically derived from the lead agent manifest metadata.name"
|
|
12
|
+
},
|
|
13
|
+
"version": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Team configuration version",
|
|
16
|
+
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
|
|
17
|
+
"examples": ["1.0.0"]
|
|
18
|
+
},
|
|
19
|
+
"pattern": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Multi-agent architecture pattern governing team coordination",
|
|
22
|
+
"enum": [
|
|
23
|
+
"single",
|
|
24
|
+
"swarm",
|
|
25
|
+
"pipeline",
|
|
26
|
+
"graph",
|
|
27
|
+
"hierarchical",
|
|
28
|
+
"reactive",
|
|
29
|
+
"cognitive",
|
|
30
|
+
"lead-teammate"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"lead": {
|
|
34
|
+
"oneOf": [
|
|
35
|
+
{ "type": "string" },
|
|
36
|
+
{ "type": "null" }
|
|
37
|
+
],
|
|
38
|
+
"description": "Name of the lead/orchestrator agent. Null when no explicit lead is designated."
|
|
39
|
+
},
|
|
40
|
+
"members": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"description": "Team member agent definitions",
|
|
43
|
+
"items": {
|
|
44
|
+
"$ref": "#/definitions/TeamMember"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"coordination": {
|
|
48
|
+
"$ref": "#/definitions/Coordination",
|
|
49
|
+
"description": "Task coordination and communication configuration"
|
|
50
|
+
},
|
|
51
|
+
"deployment": {
|
|
52
|
+
"$ref": "#/definitions/Deployment",
|
|
53
|
+
"description": "Deployment backend and scaling configuration"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"definitions": {
|
|
58
|
+
"TeamMember": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"description": "A single team member agent definition",
|
|
61
|
+
"required": ["name", "kind"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"name": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "Unique agent name within the team"
|
|
66
|
+
},
|
|
67
|
+
"kind": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "Agent kind/role classification within the team",
|
|
70
|
+
"examples": [
|
|
71
|
+
"team-lead",
|
|
72
|
+
"orchestrator",
|
|
73
|
+
"coordinator",
|
|
74
|
+
"teammate",
|
|
75
|
+
"worker",
|
|
76
|
+
"specialist",
|
|
77
|
+
"subagent",
|
|
78
|
+
"reviewer",
|
|
79
|
+
"planner",
|
|
80
|
+
"monitor",
|
|
81
|
+
"analyst"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"role": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "Human-readable role description or system prompt summary"
|
|
87
|
+
},
|
|
88
|
+
"contextIsolation": {
|
|
89
|
+
"type": "boolean",
|
|
90
|
+
"description": "Whether this agent operates with an independent context window (true) or shares context with lead (false)",
|
|
91
|
+
"default": true
|
|
92
|
+
},
|
|
93
|
+
"model": {
|
|
94
|
+
"type": "object",
|
|
95
|
+
"description": "LLM model configuration override for this member",
|
|
96
|
+
"properties": {
|
|
97
|
+
"provider": { "type": "string" },
|
|
98
|
+
"model": { "type": "string" },
|
|
99
|
+
"temperature": {
|
|
100
|
+
"type": "number",
|
|
101
|
+
"minimum": 0,
|
|
102
|
+
"maximum": 2
|
|
103
|
+
},
|
|
104
|
+
"maxTokens": {
|
|
105
|
+
"type": "integer",
|
|
106
|
+
"minimum": 1
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"additionalProperties": true
|
|
110
|
+
},
|
|
111
|
+
"tools": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"description": "Tools available to this member",
|
|
114
|
+
"items": {
|
|
115
|
+
"oneOf": [
|
|
116
|
+
{ "type": "string" },
|
|
117
|
+
{
|
|
118
|
+
"type": "object",
|
|
119
|
+
"properties": {
|
|
120
|
+
"name": { "type": "string" },
|
|
121
|
+
"description": { "type": "string" }
|
|
122
|
+
},
|
|
123
|
+
"required": ["name"]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"handoffs": {
|
|
129
|
+
"type": "array",
|
|
130
|
+
"description": "Handoff targets for this member (swarm/graph patterns)",
|
|
131
|
+
"items": {
|
|
132
|
+
"type": "object",
|
|
133
|
+
"properties": {
|
|
134
|
+
"to": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"description": "Target agent name"
|
|
137
|
+
},
|
|
138
|
+
"condition": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"description": "Condition triggering the handoff",
|
|
141
|
+
"default": "any"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"required": ["to"],
|
|
145
|
+
"additionalProperties": true
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"permissions": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"description": "Team-level permissions for this member",
|
|
151
|
+
"properties": {
|
|
152
|
+
"spawn": { "type": "boolean", "description": "Can spawn new agents" },
|
|
153
|
+
"shutdown": { "type": "boolean", "description": "Can shut down agents" },
|
|
154
|
+
"assignTasks": { "type": "boolean", "description": "Can assign tasks to others" },
|
|
155
|
+
"broadcast": { "type": "boolean", "description": "Can broadcast to all members" },
|
|
156
|
+
"modifyTeam": { "type": "boolean", "description": "Can modify team configuration" },
|
|
157
|
+
"approveWork": { "type": "boolean", "description": "Can approve completed work" },
|
|
158
|
+
"rejectWork": { "type": "boolean", "description": "Can reject completed work" },
|
|
159
|
+
"claimTasks": { "type": "boolean", "description": "Can self-claim tasks" },
|
|
160
|
+
"messagePeers": { "type": "boolean", "description": "Can message peer agents" },
|
|
161
|
+
"messageLeader": { "type": "boolean", "description": "Can message team lead" },
|
|
162
|
+
"reportToParent": { "type": "boolean", "description": "Can report to parent agent" }
|
|
163
|
+
},
|
|
164
|
+
"additionalProperties": false
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"additionalProperties": false
|
|
168
|
+
},
|
|
169
|
+
"Coordination": {
|
|
170
|
+
"type": "object",
|
|
171
|
+
"description": "Coordination model governing how team members interact and synchronize",
|
|
172
|
+
"properties": {
|
|
173
|
+
"taskModel": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Task coordination strategy",
|
|
176
|
+
"enum": [
|
|
177
|
+
"shared-list",
|
|
178
|
+
"self-claim",
|
|
179
|
+
"assigned",
|
|
180
|
+
"handoff",
|
|
181
|
+
"event-driven",
|
|
182
|
+
"pipeline"
|
|
183
|
+
],
|
|
184
|
+
"default": "shared-list"
|
|
185
|
+
},
|
|
186
|
+
"communication": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "Inter-agent communication pattern",
|
|
189
|
+
"enum": [
|
|
190
|
+
"mailbox",
|
|
191
|
+
"broadcast",
|
|
192
|
+
"direct",
|
|
193
|
+
"shared-file",
|
|
194
|
+
"report-to-parent",
|
|
195
|
+
"pub-sub",
|
|
196
|
+
"request-reply"
|
|
197
|
+
],
|
|
198
|
+
"default": "mailbox"
|
|
199
|
+
},
|
|
200
|
+
"conflictResolution": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"description": "Strategy for resolving conflicts between agents",
|
|
203
|
+
"enum": [
|
|
204
|
+
"leader-decides",
|
|
205
|
+
"voting",
|
|
206
|
+
"priority-based",
|
|
207
|
+
"first-writer-wins",
|
|
208
|
+
"merge",
|
|
209
|
+
"escalate"
|
|
210
|
+
],
|
|
211
|
+
"default": "leader-decides"
|
|
212
|
+
},
|
|
213
|
+
"taskPersistence": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "How task state is persisted across agent restarts",
|
|
216
|
+
"enum": [
|
|
217
|
+
"in-memory",
|
|
218
|
+
"file-backed",
|
|
219
|
+
"database",
|
|
220
|
+
"distributed"
|
|
221
|
+
],
|
|
222
|
+
"default": "file-backed"
|
|
223
|
+
},
|
|
224
|
+
"dependencyTracking": {
|
|
225
|
+
"type": "boolean",
|
|
226
|
+
"description": "Whether task dependencies (blocks/blockedBy) are tracked and enforced",
|
|
227
|
+
"default": true
|
|
228
|
+
},
|
|
229
|
+
"waveExecution": {
|
|
230
|
+
"type": "boolean",
|
|
231
|
+
"description": "Whether tasks are executed in dependency waves (all tasks in a wave start concurrently, next wave starts when current completes)",
|
|
232
|
+
"default": true
|
|
233
|
+
},
|
|
234
|
+
"lockingStrategy": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"description": "Concurrency control strategy for shared resources",
|
|
237
|
+
"enum": [
|
|
238
|
+
"none",
|
|
239
|
+
"file-lock",
|
|
240
|
+
"advisory-lock",
|
|
241
|
+
"optimistic",
|
|
242
|
+
"pessimistic",
|
|
243
|
+
"distributed-lock"
|
|
244
|
+
],
|
|
245
|
+
"default": "file-lock"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"additionalProperties": false
|
|
249
|
+
},
|
|
250
|
+
"Deployment": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"description": "Deployment configuration for the agent team",
|
|
253
|
+
"properties": {
|
|
254
|
+
"backend": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"description": "Execution backend for agent processes",
|
|
257
|
+
"enum": [
|
|
258
|
+
"in-process",
|
|
259
|
+
"subprocess",
|
|
260
|
+
"docker",
|
|
261
|
+
"kubernetes",
|
|
262
|
+
"serverless",
|
|
263
|
+
"cloud-run",
|
|
264
|
+
"remote"
|
|
265
|
+
],
|
|
266
|
+
"default": "in-process"
|
|
267
|
+
},
|
|
268
|
+
"scaling": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "Scaling strategy for team members",
|
|
271
|
+
"enum": [
|
|
272
|
+
"fixed",
|
|
273
|
+
"auto",
|
|
274
|
+
"manual",
|
|
275
|
+
"event-driven",
|
|
276
|
+
"queue-based"
|
|
277
|
+
],
|
|
278
|
+
"default": "fixed"
|
|
279
|
+
},
|
|
280
|
+
"minReplicas": {
|
|
281
|
+
"type": "integer",
|
|
282
|
+
"description": "Minimum number of agent replicas (for auto-scaling)",
|
|
283
|
+
"minimum": 0
|
|
284
|
+
},
|
|
285
|
+
"maxReplicas": {
|
|
286
|
+
"type": "integer",
|
|
287
|
+
"description": "Maximum number of agent replicas (for auto-scaling)",
|
|
288
|
+
"minimum": 1
|
|
289
|
+
},
|
|
290
|
+
"resources": {
|
|
291
|
+
"type": "object",
|
|
292
|
+
"description": "Resource constraints per agent process",
|
|
293
|
+
"properties": {
|
|
294
|
+
"cpu": { "type": "string", "description": "CPU limit (e.g., '500m', '2')" },
|
|
295
|
+
"memory": { "type": "string", "description": "Memory limit (e.g., '512Mi', '2Gi')" },
|
|
296
|
+
"gpu": { "type": "string", "description": "GPU requirement (e.g., 'nvidia-a100')" }
|
|
297
|
+
},
|
|
298
|
+
"additionalProperties": false
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"additionalProperties": false
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|