@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,111 @@
|
|
|
1
|
+
# AgentScope ReAct Assistant -- OSSA Example
|
|
2
|
+
|
|
3
|
+
This example demonstrates an OSSA agent manifest that uses [AgentScope](https://github.com/modelscope/agentscope) as its runtime. It showcases how OSSA's declarative manifest format integrates with AgentScope's `ReActAgent` class, MCP tool servers, the A2A protocol, and Mem0 long-term memory.
|
|
4
|
+
|
|
5
|
+
## What This Example Shows
|
|
6
|
+
|
|
7
|
+
- **AgentScope runtime binding** via the `extensions.agentscope` block, specifying `ReActAgent` as the agent class, iteration limits, and memory backend.
|
|
8
|
+
- **MCP tool integration** with two tool servers: a graph knowledge base (GKG) and a general web search/content retrieval endpoint.
|
|
9
|
+
- **A2A protocol support** exposing the agent as a discoverable service with an agent card and skill declarations.
|
|
10
|
+
- **Token efficiency controls** including model cascading (Haiku -> Sonnet -> Opus), adaptive budget allocation, and context compression.
|
|
11
|
+
- **Security boundaries** with allow-listed domains, required capabilities, and data classification.
|
|
12
|
+
|
|
13
|
+
## Manifest Structure
|
|
14
|
+
|
|
15
|
+
| Section | Purpose |
|
|
16
|
+
|---------|---------|
|
|
17
|
+
| `metadata` | Identity, labels, publisher info |
|
|
18
|
+
| `spec` | Role prompt, LLM config, taxonomy, tools, input/output schema |
|
|
19
|
+
| `security` | Tier classification, network policy, data classification |
|
|
20
|
+
| `protocols.mcp` | MCP client capabilities (tools, resources) |
|
|
21
|
+
| `protocols.a2a` | A2A endpoint, agent card, skills |
|
|
22
|
+
| `token_efficiency` | Budget, model cascade routing, serialization profile |
|
|
23
|
+
| `extensions.agentscope` | AgentScope-specific: agent class, memory, orchestration, compression |
|
|
24
|
+
|
|
25
|
+
## How AgentScope Maps to OSSA
|
|
26
|
+
|
|
27
|
+
The `extensions.agentscope` block is the runtime-specific configuration:
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
extensions:
|
|
31
|
+
agentscope:
|
|
32
|
+
version: "1.0.16"
|
|
33
|
+
agent_class: ReActAgent # AgentScope agent type
|
|
34
|
+
capabilities: [rag, parallel_tool_calls]
|
|
35
|
+
memory_backend: mem0 # Long-term memory via Mem0
|
|
36
|
+
orchestration: msghub # AgentScope MsgHub for multi-agent
|
|
37
|
+
max_iters: 10 # ReAct loop iteration cap
|
|
38
|
+
formatter: anthropic # Message format for Anthropic models
|
|
39
|
+
compression:
|
|
40
|
+
enable: true
|
|
41
|
+
trigger_threshold: 50000 # Compress context above 50k tokens
|
|
42
|
+
keep_recent: 5 # Always keep last 5 messages
|
|
43
|
+
skill_dirs: [./skills/] # Local skill modules
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
An OSSA-to-AgentScope adapter would read this manifest and instantiate:
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
import agentscope
|
|
50
|
+
from agentscope.agents import ReActAgent
|
|
51
|
+
|
|
52
|
+
agentscope.init(model_configs=[{
|
|
53
|
+
"config_name": "anthropic",
|
|
54
|
+
"model_type": "anthropic_chat",
|
|
55
|
+
"model_name": "claude-sonnet-4-20250514",
|
|
56
|
+
"temperature": 0.7,
|
|
57
|
+
"max_tokens": 4096,
|
|
58
|
+
"stream": True,
|
|
59
|
+
}])
|
|
60
|
+
|
|
61
|
+
agent = ReActAgent(
|
|
62
|
+
name="agentscope-react-assistant",
|
|
63
|
+
model_config_name="anthropic",
|
|
64
|
+
sys_prompt=manifest["spec"]["role"],
|
|
65
|
+
tools=loaded_mcp_tools,
|
|
66
|
+
max_iters=10,
|
|
67
|
+
)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## MCP Tool Integration
|
|
71
|
+
|
|
72
|
+
The manifest declares two MCP tool servers under `spec.tools`:
|
|
73
|
+
|
|
74
|
+
1. **knowledge-base** -- Graph knowledge base at `gkg.blueflyagents.com` for codebase analysis and structured queries.
|
|
75
|
+
2. **web-search** -- General MCP server at `mcp.blueflyagents.com` for web search and content retrieval.
|
|
76
|
+
|
|
77
|
+
At runtime, the adapter connects to these SSE endpoints, discovers available tools, and registers them with the AgentScope `ReActAgent` tool list.
|
|
78
|
+
|
|
79
|
+
## A2A Protocol
|
|
80
|
+
|
|
81
|
+
The `protocols.a2a` block exposes this agent as an A2A-compatible service:
|
|
82
|
+
|
|
83
|
+
- **Endpoint**: `https://agents.blueflyagents.com/a2a/react-assistant`
|
|
84
|
+
- **Skills**: `question-answering`, `code-analysis`
|
|
85
|
+
- **Streaming**: Enabled for real-time responses
|
|
86
|
+
|
|
87
|
+
Other agents can discover and invoke this agent via the A2A protocol using the published agent card.
|
|
88
|
+
|
|
89
|
+
## Token Efficiency
|
|
90
|
+
|
|
91
|
+
The manifest uses a three-tier model cascade to optimize cost:
|
|
92
|
+
|
|
93
|
+
1. Queries below complexity 0.3 route to `claude-haiku-4-5-20251001` (cheapest).
|
|
94
|
+
2. Queries between 0.3 and 0.7 route to `claude-sonnet-4-20250514`.
|
|
95
|
+
3. Complex queries above 0.7 route to `claude-opus-4-20250514`.
|
|
96
|
+
|
|
97
|
+
Context compression triggers at 50k tokens, keeping the 5 most recent messages intact.
|
|
98
|
+
|
|
99
|
+
## Prerequisites
|
|
100
|
+
|
|
101
|
+
- AgentScope >= 1.0.16
|
|
102
|
+
- Anthropic API key
|
|
103
|
+
- Network access to `*.blueflyagents.com`
|
|
104
|
+
- (Optional) Mem0 backend for persistent memory
|
|
105
|
+
|
|
106
|
+
## Related
|
|
107
|
+
|
|
108
|
+
- [OSSA Specification](https://openstandardagents.org)
|
|
109
|
+
- [AgentScope Documentation](https://doc.agentscope.io/)
|
|
110
|
+
- [MCP Protocol](https://modelcontextprotocol.io/)
|
|
111
|
+
- [A2A Protocol](https://google.github.io/A2A/)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
apiVersion: ossa/v0.4.6
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: agentscope-react-assistant
|
|
5
|
+
namespace: bluefly/examples
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
description: "Example ReAct agent powered by AgentScope runtime with MCP tool integration, A2A protocol support, and Mem0 long-term memory."
|
|
8
|
+
agentType: agentscope
|
|
9
|
+
agentKind: assistant
|
|
10
|
+
status: active
|
|
11
|
+
labels:
|
|
12
|
+
tier: experimental
|
|
13
|
+
category: example
|
|
14
|
+
framework: agentscope
|
|
15
|
+
identity:
|
|
16
|
+
agent_id: agentscope-react-assistant
|
|
17
|
+
namespace: bluefly/examples
|
|
18
|
+
version: "1.0.0"
|
|
19
|
+
publisher:
|
|
20
|
+
name: BlueFly Collective
|
|
21
|
+
website: https://bluefly.io
|
|
22
|
+
|
|
23
|
+
spec:
|
|
24
|
+
role: >
|
|
25
|
+
You are a helpful assistant that uses tools to answer questions accurately.
|
|
26
|
+
Always verify information before responding. Use available MCP tools for
|
|
27
|
+
real-time data retrieval and knowledge base queries.
|
|
28
|
+
llm:
|
|
29
|
+
provider: anthropic
|
|
30
|
+
model: claude-sonnet-4-20250514
|
|
31
|
+
temperature: 0.7
|
|
32
|
+
maxTokens: 4096
|
|
33
|
+
streaming: true
|
|
34
|
+
taxonomy:
|
|
35
|
+
domain: agents
|
|
36
|
+
subdomain: assistant
|
|
37
|
+
capability: react-tool-use
|
|
38
|
+
tools:
|
|
39
|
+
- type: mcp
|
|
40
|
+
name: knowledge-base
|
|
41
|
+
endpoint: https://gkg.blueflyagents.com/mcp/sse
|
|
42
|
+
description: "Graph knowledge base for codebase analysis"
|
|
43
|
+
- type: mcp
|
|
44
|
+
name: web-search
|
|
45
|
+
endpoint: https://mcp.blueflyagents.com/api/mcp/sse
|
|
46
|
+
description: "Web search and content retrieval"
|
|
47
|
+
inputs:
|
|
48
|
+
type: object
|
|
49
|
+
properties:
|
|
50
|
+
query:
|
|
51
|
+
type: string
|
|
52
|
+
description: "User query or task"
|
|
53
|
+
required: [query]
|
|
54
|
+
outputs:
|
|
55
|
+
type: object
|
|
56
|
+
properties:
|
|
57
|
+
response:
|
|
58
|
+
type: string
|
|
59
|
+
tool_calls_made:
|
|
60
|
+
type: integer
|
|
61
|
+
confidence:
|
|
62
|
+
type: number
|
|
63
|
+
|
|
64
|
+
security:
|
|
65
|
+
tier: tier_1_read
|
|
66
|
+
capabilities:
|
|
67
|
+
required: [network-outbound, tool-execution]
|
|
68
|
+
optional: [memory-extended]
|
|
69
|
+
network_access:
|
|
70
|
+
allowed_domains:
|
|
71
|
+
- "*.blueflyagents.com"
|
|
72
|
+
- "api.anthropic.com"
|
|
73
|
+
protocols: [https, wss]
|
|
74
|
+
egress_policy: allow-list
|
|
75
|
+
data_classification: internal
|
|
76
|
+
|
|
77
|
+
protocols:
|
|
78
|
+
mcp:
|
|
79
|
+
version: "1.0.0"
|
|
80
|
+
role: client
|
|
81
|
+
capabilities:
|
|
82
|
+
tools: true
|
|
83
|
+
resources: true
|
|
84
|
+
prompts: false
|
|
85
|
+
sampling: false
|
|
86
|
+
a2a:
|
|
87
|
+
version: "0.2.1"
|
|
88
|
+
endpoint: https://agents.blueflyagents.com/a2a/react-assistant
|
|
89
|
+
agent_card:
|
|
90
|
+
name: AgentScope React Assistant
|
|
91
|
+
description: "ReAct agent with tool use and memory"
|
|
92
|
+
skills:
|
|
93
|
+
- id: question-answering
|
|
94
|
+
name: Question Answering
|
|
95
|
+
description: "Answer questions using tools and knowledge"
|
|
96
|
+
- id: code-analysis
|
|
97
|
+
name: Code Analysis
|
|
98
|
+
description: "Analyze code using knowledge graph"
|
|
99
|
+
capabilities:
|
|
100
|
+
streaming: true
|
|
101
|
+
pushNotifications: false
|
|
102
|
+
stateTransitionHistory: false
|
|
103
|
+
|
|
104
|
+
token_efficiency:
|
|
105
|
+
serialization_profile: compact
|
|
106
|
+
observation_format: projected
|
|
107
|
+
budget:
|
|
108
|
+
max_input_tokens: 100000
|
|
109
|
+
max_output_tokens: 4096
|
|
110
|
+
allocation_strategy: adaptive
|
|
111
|
+
routing:
|
|
112
|
+
cascade: [claude-haiku-4-5-20251001, claude-sonnet-4-20250514, claude-opus-4-20250514]
|
|
113
|
+
complexity_threshold: [0.3, 0.7]
|
|
114
|
+
strategy: cost_optimized
|
|
115
|
+
|
|
116
|
+
extensions:
|
|
117
|
+
agentscope:
|
|
118
|
+
version: "1.0.16"
|
|
119
|
+
agent_class: ReActAgent
|
|
120
|
+
capabilities:
|
|
121
|
+
- rag
|
|
122
|
+
- parallel_tool_calls
|
|
123
|
+
memory_backend: mem0
|
|
124
|
+
orchestration: msghub
|
|
125
|
+
max_iters: 10
|
|
126
|
+
formatter: anthropic
|
|
127
|
+
compression:
|
|
128
|
+
enable: true
|
|
129
|
+
trigger_threshold: 50000
|
|
130
|
+
keep_recent: 5
|
|
131
|
+
skill_dirs:
|
|
132
|
+
- ./skills/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code_analysis
|
|
3
|
+
description: Analyze source code for quality issues, security vulnerabilities, and architectural patterns using the knowledge graph.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Analysis Skill
|
|
7
|
+
|
|
8
|
+
Use the knowledge graph MCP tools to analyze codebases:
|
|
9
|
+
|
|
10
|
+
1. Query the graph for definitions and references
|
|
11
|
+
2. Identify patterns and anti-patterns
|
|
12
|
+
3. Check for security vulnerabilities
|
|
13
|
+
4. Report findings with confidence scores
|
|
14
|
+
|
|
15
|
+
## Available Tools
|
|
16
|
+
- `search_codebase_definitions` — Find code definitions
|
|
17
|
+
- `get_references` — Trace references
|
|
18
|
+
- `repo_map` — Get repository structure
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: question_answering
|
|
3
|
+
description: Answer questions accurately using web search and knowledge base tools, with source citations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Question Answering Skill
|
|
7
|
+
|
|
8
|
+
Answer user questions by:
|
|
9
|
+
|
|
10
|
+
1. Search the knowledge base first
|
|
11
|
+
2. Fall back to web search if needed
|
|
12
|
+
3. Synthesize information from multiple sources
|
|
13
|
+
4. Always cite sources with URLs
|
|
14
|
+
|
|
15
|
+
## Strategy
|
|
16
|
+
- Prefer authoritative sources
|
|
17
|
+
- Cross-reference multiple results
|
|
18
|
+
- State confidence level in answers
|
|
@@ -68,9 +68,9 @@ validate:ossa:
|
|
|
68
68
|
|
|
69
69
|
build:docker:
|
|
70
70
|
stage: build
|
|
71
|
-
image: docker:
|
|
71
|
+
image: docker:27-dind
|
|
72
72
|
services:
|
|
73
|
-
- docker:
|
|
73
|
+
- docker:27-dind
|
|
74
74
|
before_script:
|
|
75
75
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $DOCKER_REGISTRY
|
|
76
76
|
script:
|
|
@@ -422,13 +422,27 @@ Response → Entity Storage → Views
|
|
|
422
422
|
- **Issues**: https://gitlab.com/blueflyio/ossa/openstandardagents/-/issues
|
|
423
423
|
- **OSSA Spec**: https://openstandardagents.org/
|
|
424
424
|
|
|
425
|
+
## Example: AgentScope ReAct Assistant
|
|
426
|
+
|
|
427
|
+
A complete Drupal module integrating [AgentScope](https://github.com/modelscope/agentscope) ReAct agents:
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
# Copy to Drupal
|
|
431
|
+
cp -r examples/drupal/ai_agents_agentscope /path/to/drupal/web/modules/custom/
|
|
432
|
+
drush en ai_agents_agentscope
|
|
433
|
+
drush cr
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
See [`ai_agents_agentscope/README.md`](./ai_agents_agentscope/README.md) for details.
|
|
437
|
+
|
|
425
438
|
## Next Steps
|
|
426
439
|
|
|
427
440
|
1. Read the [full documentation](../../docs/adapters/drupal-module-generator.md)
|
|
428
441
|
2. Try the [content moderator example](./content-moderator.ossa.yaml)
|
|
429
|
-
3.
|
|
430
|
-
4.
|
|
431
|
-
5.
|
|
442
|
+
3. Try the [AgentScope example](./ai_agents_agentscope/)
|
|
443
|
+
4. Create your own agent manifests
|
|
444
|
+
5. Generate and deploy modules
|
|
445
|
+
6. Share your agents with the community
|
|
432
446
|
|
|
433
447
|
---
|
|
434
448
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# AI Agents: AgentScope Provider
|
|
2
|
+
|
|
3
|
+
Thin AiProvider bridge that connects Drupal's `drupal/ai` system to an [AgentScope](https://github.com/modelscope/agentscope) Python HTTP runtime.
|
|
4
|
+
|
|
5
|
+
## What This Module Does
|
|
6
|
+
|
|
7
|
+
Provides **one thing**: an `AiProvider` plugin (`agentscope`) that speaks AgentScope's REST API.
|
|
8
|
+
|
|
9
|
+
Everything else is handled by contrib:
|
|
10
|
+
- **Agent plugin derivation** -- `ai_agents_ossa` (reads OSSA manifests, creates AiAgent plugins)
|
|
11
|
+
- **Tool registration** -- `drupal/ai` Tool API
|
|
12
|
+
- **Manifest management** -- `ai_agents_ossa` config entities
|
|
13
|
+
|
|
14
|
+
## Requirements
|
|
15
|
+
|
|
16
|
+
- Drupal 10.4+ or 11.x
|
|
17
|
+
- PHP 8.3+
|
|
18
|
+
- `drupal/ai` module (provides AiProvider plugin system)
|
|
19
|
+
- `ai_agents_ossa` module (OSSA manifest bridge)
|
|
20
|
+
- AgentScope Python runtime running as HTTP service
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
drush en ai_agents_agentscope
|
|
26
|
+
drush cr
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
|
|
31
|
+
Settings at `ai_agents_agentscope.settings`:
|
|
32
|
+
|
|
33
|
+
| Setting | Default | Description |
|
|
34
|
+
|---------|---------|-------------|
|
|
35
|
+
| `endpoint` | `http://127.0.0.1:12310` | AgentScope HTTP API URL |
|
|
36
|
+
| `timeout` | `60` | Request timeout (seconds) |
|
|
37
|
+
| `api_key` | `` | Optional API key for runtime auth |
|
|
38
|
+
|
|
39
|
+
## AgentScope Runtime
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install agentscope
|
|
43
|
+
agentscope serve --port 12310
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Architecture
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
ai_agents_ossa (config entity + deriver + agent plugin)
|
|
50
|
+
|
|
|
51
|
+
v
|
|
52
|
+
AgentScopeProvider (THIS MODULE -- AiProvider, HTTP transport only)
|
|
53
|
+
|
|
|
54
|
+
v
|
|
55
|
+
AgentScope Python Runtime (POST /api/v1/agent/message)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Links
|
|
59
|
+
|
|
60
|
+
- [AgentScope](https://github.com/modelscope/agentscope)
|
|
61
|
+
- [OSSA Specification](https://openstandardagents.org/)
|
|
62
|
+
- [Drupal AI Module](https://www.drupal.org/project/ai)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: 'AI Agents: AgentScope Provider'
|
|
2
|
+
type: module
|
|
3
|
+
description: 'Thin AiProvider bridge to AgentScope Python HTTP runtime. Agent plugins are handled by ai_agents_ossa.'
|
|
4
|
+
core_version_requirement: ^10.4 || ^11
|
|
5
|
+
package: AI
|
|
6
|
+
php: 8.3
|
|
7
|
+
|
|
8
|
+
dependencies:
|
|
9
|
+
- drupal:ai
|
|
10
|
+
- ai_agents_ossa:ai_agents_ossa
|
|
11
|
+
|
|
12
|
+
lifecycle: experimental
|
|
13
|
+
configure: ai_agents_agentscope.settings
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ai_agents_agentscope.settings:
|
|
2
|
+
type: config_object
|
|
3
|
+
label: 'AI Agents AgentScope settings'
|
|
4
|
+
mapping:
|
|
5
|
+
endpoint:
|
|
6
|
+
type: string
|
|
7
|
+
label: 'AgentScope HTTP endpoint'
|
|
8
|
+
description: 'URL of the AgentScope Python runtime API.'
|
|
9
|
+
timeout:
|
|
10
|
+
type: integer
|
|
11
|
+
label: 'Request timeout in seconds'
|
|
12
|
+
api_key:
|
|
13
|
+
type: string
|
|
14
|
+
label: 'API key for AgentScope runtime (optional)'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file
|
|
5
|
+
* DELETED — This file is no longer needed.
|
|
6
|
+
*
|
|
7
|
+
* Runtime HTTP communication is now handled directly by
|
|
8
|
+
* AgentScopeProvider (src/Plugin/AiProvider/AgentScopeProvider.php)
|
|
9
|
+
* which extends AiProviderClientBase and uses its built-in httpClient.
|
|
10
|
+
* Remove this file.
|
|
11
|
+
*/
|