@bluefly/openstandardagents 0.4.9 → 0.5.1
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 +35 -4
- package/README.md +77 -62
- package/dist/.version.json +3 -3
- package/dist/adapters/a2a/a2a-protocol.js +4 -2
- package/dist/adapters/a2a/a2a-tool.js +4 -2
- package/dist/adapters/a2a/mcp-integration.d.ts +2 -1
- package/dist/adapters/a2a/mcp-integration.js +6 -3
- package/dist/adapters/browser/browser-exporter.d.ts +26 -0
- package/dist/adapters/browser/browser-exporter.js +73 -0
- package/dist/adapters/browser/browser-runner.d.ts +23 -0
- package/dist/adapters/browser/browser-runner.js +46 -0
- package/dist/adapters/browser/index.d.ts +9 -0
- package/dist/adapters/browser/index.js +9 -0
- package/dist/adapters/claude-code/adapter.js +2 -2
- package/dist/adapters/docker/generators.js +19 -19
- package/dist/adapters/docker/index.d.ts +2 -0
- package/dist/adapters/docker/index.js +2 -0
- package/dist/adapters/docker/openclaw-bridge.d.ts +57 -0
- package/dist/adapters/docker/openclaw-bridge.js +173 -0
- package/dist/adapters/drupal/generator.js +76 -76
- package/dist/adapters/drupal/index.d.ts +1 -0
- package/dist/adapters/drupal/index.js +2 -0
- package/dist/adapters/drupal/twig-renderer.d.ts +23 -0
- package/dist/adapters/drupal/twig-renderer.js +99 -0
- package/dist/adapters/gitlab/agent-generator.js +2 -1
- package/dist/adapters/openai-agents/adapter.js +2 -2
- package/dist/api/index.js +2 -1
- package/dist/api/routes/mcp.router.js +3 -1
- package/dist/api/routes/wizard.router.js +3 -1
- package/dist/cli/commands/agent/discover-type.command.js +1 -1
- package/dist/cli/commands/agent-card.command.js +37 -10
- package/dist/cli/commands/agents-sync.command.d.ts +2 -2
- package/dist/cli/commands/agents-sync.command.js +27 -17
- package/dist/cli/commands/catalog/config.js +1 -1
- package/dist/cli/commands/catalog/validate.command.js +2 -2
- package/dist/cli/commands/config.command.js +2 -2
- package/dist/cli/commands/daemon.command.js +32 -8
- package/dist/cli/commands/discover.d.ts +1 -1
- package/dist/cli/commands/discover.js +16 -8
- package/dist/cli/commands/economics.command.d.ts +9 -0
- package/dist/cli/commands/economics.command.js +113 -0
- package/dist/cli/commands/export.command.js +6 -3
- package/dist/cli/commands/mcp.command.js +3 -1
- package/dist/cli/commands/memory.command.d.ts +18 -0
- package/dist/cli/commands/memory.command.js +168 -0
- package/dist/cli/commands/publish.command.js +7 -4
- package/dist/cli/commands/serve-builder-routes.js +1 -1
- package/dist/cli/commands/usie-skills.command.d.ts +24 -0
- package/dist/cli/commands/usie-skills.command.js +297 -0
- package/dist/cli/commands/validate.command.js +8 -1
- package/dist/cli/commands/verify.d.ts +3 -3
- package/dist/cli/commands/verify.js +12 -6
- package/dist/cli/commands/workspace.command.d.ts +1 -0
- package/dist/cli/commands/workspace.command.js +28 -4
- package/dist/cli/index.js +12 -0
- package/dist/cli/schema-driven/schema-loader.js +5 -5
- package/dist/cli/workspace-validate.d.ts +23 -0
- package/dist/cli/workspace-validate.js +117 -0
- package/dist/data/platform-matrix.js +1 -4
- package/dist/generated/types.d.ts +97 -97
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/mcp-server/index.js +658 -982
- package/dist/mesh/discovery-gkg.d.ts +26 -0
- package/dist/mesh/discovery-gkg.js +92 -0
- package/dist/messenger/Handler/AgentBatchHandler.js +3 -2
- package/dist/messenger/Handler/AgentExecutionHandler.js +6 -1
- package/dist/package.json +43 -14
- package/dist/sdks/shared/types.d.ts +1 -1
- package/dist/services/agent-card-generator.js +6 -2
- package/dist/services/daemon/audit-log.service.js +3 -1
- package/dist/services/daemon/execution.service.js +8 -4
- package/dist/services/daemon/fs-watcher.service.js +6 -7
- package/dist/services/daemon/pairing.service.js +2 -1
- package/dist/services/daemon/skill-aggregator.service.js +105 -21
- package/dist/services/daemon/sse-endpoints.js +1 -1
- package/dist/services/daemon/ws-server.js +10 -3
- package/dist/services/export/langchain/langchain-exporter.js +2 -2
- package/dist/services/export/langchain/memory-generator.js +2 -2
- package/dist/services/export/testing/test-generator.js +1 -1
- package/dist/services/governance/cedar-provider.js +12 -8
- package/dist/services/governance/cedar-validator.service.js +1 -1
- package/dist/services/mcp/bridge.service.js +40 -9
- package/dist/services/openapi-extensions-validation.d.ts +20 -0
- package/dist/services/openapi-extensions-validation.js +193 -0
- package/dist/services/release-automation/merge-request.service.d.ts +4 -4
- package/dist/services/release-automation/release-buttons.js +3 -3
- package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
- package/dist/services/runtime/openai.adapter.d.ts +46 -13
- package/dist/services/runtime/openai.adapter.js +169 -131
- package/dist/services/skill-registry.service.d.ts +1 -1
- package/dist/services/skills-pipeline/skills-research.service.js +47 -7
- package/dist/services/taxonomy-service.d.ts +3 -3
- package/dist/services/trust/trust.service.js +6 -4
- package/dist/services/validation-zod.service.js +3 -22
- package/dist/services/validators/index.d.ts +1 -0
- package/dist/services/validators/index.js +1 -0
- package/dist/services/validators/registry.d.ts +21 -0
- package/dist/services/validators/registry.js +42 -0
- package/dist/skills/test-skill/package.json +1 -1
- package/dist/spec/extensions/cognition.schema.json +87 -0
- package/dist/spec/extensions/role-manifest.md +188 -0
- package/dist/spec/layer4-economics/duadp-examples.json +44 -0
- package/dist/spec/v0.4/agent.schema.json +14 -0
- package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
- package/dist/spec/v0.5/agent-builder-openapi.yaml +230 -0
- package/dist/spec/v0.5/agent.schema.json +34 -2
- package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
- package/dist/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
- package/dist/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
- package/dist/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
- package/dist/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
- package/dist/spec/v0.5/memory-hierarchy.yaml +120 -0
- package/dist/spec/v0.5/role.schema.json +268 -0
- package/dist/spec/v1/agent-card.schema.json +254 -0
- package/dist/types/cognition.zod.d.ts +312 -0
- package/dist/types/cognition.zod.js +223 -0
- package/dist/types/identity.zod.d.ts +5 -5
- package/dist/types/index.d.ts +54 -6
- package/dist/types/index.js +6 -2
- package/dist/types/personality.zod.d.ts +3 -3
- package/dist/types/role.d.ts +126 -0
- package/dist/types/role.js +38 -0
- package/dist/utils/http-client.d.ts +22 -0
- package/dist/utils/http-client.js +51 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/proxy-resolver.d.ts +36 -0
- package/dist/utils/proxy-resolver.js +59 -0
- package/dist/utils/user-agent.d.ts +11 -0
- package/dist/utils/user-agent.js +17 -0
- package/dist/validation/validator.js +1 -1
- package/dist/validation/version-compliance.js +1 -1
- package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
- package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
- package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
- package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
- package/examples/agents/security-audit-agent.ossa.yaml +234 -0
- package/examples/agentscope/react-assistant/README.md +1 -1
- package/examples/agentscope/react-assistant/agent.ossa.yaml +37 -33
- package/examples/drupal/content-moderator.ossa.yaml +2 -2
- package/examples/drupal/drupal-contributor-agent/.eslintrc.json +58 -0
- package/examples/drupal/drupal-contributor-agent/.prettierrc.json +10 -0
- package/examples/drupal/drupal-contributor-agent/package.json +55 -0
- package/examples/drupal/drupal-contributor-agent/src/core/index.ts +10 -0
- package/examples/drupal/drupal-contributor-agent/src/index.ts +17 -0
- package/examples/drupal/drupal-contributor-agent/src/types/index.ts +180 -0
- package/examples/drupal/drupal-contributor-agent/tsconfig.json +36 -0
- package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
- package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
- package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
- package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
- package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
- 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/README.md +3 -3
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
- package/examples/hierarchical-agent.ossa.yaml +10 -53
- package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
- package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
- package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
- package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
- package/examples/pipeline-agent.ossa.yaml +3 -3
- package/examples/platform-specific/claude-code-subagent.yaml +1 -1
- package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
- package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
- package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
- package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
- package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
- package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
- package/examples/roles/drupal-developer.role.yaml +37 -0
- package/examples/roles/platform-operator.role.yaml +28 -0
- package/examples/roles/security-auditor.role.yaml +27 -0
- package/examples/swarm-agent.ossa.yaml +13 -51
- package/examples/team-agent.ossa.yaml +12 -61
- package/examples/team-lead-teammate.ossa.yaml +12 -17
- package/openapi/agent-cognition-sessions.yaml +580 -0
- package/openapi/agent-communication.yaml +260 -212
- package/openapi/agent-crud.yaml +237 -207
- package/openapi/agent-discovery.yaml +119 -81
- package/openapi/agent-identity.yaml +219 -187
- package/openapi/agent-taxonomy.yaml +95 -38
- package/openapi/agents-md-service.yaml +103 -30
- package/openapi/cli/openapi.yaml +147 -40
- package/openapi/core/ossa-core-api.openapi.yaml +327 -271
- package/openapi/core/ossa-registry-api.openapi.yaml +299 -236
- package/openapi/core/ossa-registry.openapi.yaml +299 -159
- package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
- package/openapi/daemon-api.openapi.yaml +323 -181
- package/openapi/dev-cli/openapi.yaml +137 -113
- package/openapi/github-sync.yaml +62 -19
- package/openapi/marketplace-plugin.openapi.yaml +539 -466
- package/openapi/ossa-api.openapi.yaml +354 -213
- package/openapi/ossa-cli-enhancements.openapi.yaml +109 -90
- package/openapi/ossa-cli.yaml +260 -184
- package/openapi/protocols/sse-streams.yaml +66 -74
- package/openapi/protocols/websocket-events.yaml +61 -54
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
- package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
- package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
- package/openapi/release-automation.openapi.yaml +48 -14
- package/openapi/schemas/common/agent.yaml +30 -29
- package/openapi/schemas/common/economics.yaml +98 -0
- package/openapi/schemas/common/errors.yaml +13 -3
- package/openapi/schemas/common/metadata.yaml +22 -7
- package/openapi/schemas/common/pagination.yaml +18 -6
- package/openapi/schemas/common/security.yaml +13 -5
- package/openapi/schemas/index.yaml +49 -42
- package/openapi/uadp-asyncapi.yaml +5 -3
- package/openapi/uadp-openapi.yaml +243 -165
- package/openapi/version-management.openapi.yaml +142 -135
- package/package.json +43 -14
- package/spec/extensions/cognition.schema.json +87 -0
- package/spec/extensions/role-manifest.md +188 -0
- package/spec/layer4-economics/duadp-examples.json +44 -0
- package/spec/v0.4/agent.schema.json +14 -0
- package/spec/v0.4/extensions/mcp/README.md +1 -1
- package/spec/v0.5/agent-builder-openapi.yaml +230 -0
- package/spec/v0.5/agent.schema.json +34 -2
- package/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
- package/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
- package/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
- package/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
- package/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
- package/spec/v0.5/memory-hierarchy.yaml +120 -0
- package/spec/v0.5/role.schema.json +268 -0
- package/spec/v1/agent-card.schema.json +254 -0
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +0 -5
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +0 -268
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +0 -5
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +0 -203
- package/dist/mcp-server/__tests__/mcp-server.spec.d.ts +0 -8
- package/dist/mcp-server/__tests__/mcp-server.spec.js +0 -557
- package/dist/validation/__tests__/error-codes.test.d.ts +0 -5
- package/dist/validation/__tests__/error-codes.test.js +0 -252
- package/dist/version-management/core/version-manager.test.d.ts +0 -2
- package/dist/version-management/core/version-manager.test.js +0 -210
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
apiVersion: ossa/v0.5.0
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: drupal-contributor
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: >-
|
|
7
|
+
Autonomous Drupal issue contributor. Discovers issues on Drupal.org,
|
|
8
|
+
analyzes discussions, implements patches, pushes merge requests, and
|
|
9
|
+
monitors CI pipelines. The first OSSA-native development agent.
|
|
10
|
+
labels:
|
|
11
|
+
use-case: open-source-contribution
|
|
12
|
+
drupal-version: "11"
|
|
13
|
+
production-ready: "false"
|
|
14
|
+
ossa-native: "true"
|
|
15
|
+
agentType: custom
|
|
16
|
+
agentKind: worker
|
|
17
|
+
identity:
|
|
18
|
+
namespace: blueflyio/ossa
|
|
19
|
+
agent_id: drupal-contributor
|
|
20
|
+
version: 1.0.0
|
|
21
|
+
publisher:
|
|
22
|
+
name: BlueFly.io
|
|
23
|
+
email: agents@bluefly.io
|
|
24
|
+
website: https://openstandardagents.org
|
|
25
|
+
created_at: "2026-03-10T12:00:00Z"
|
|
26
|
+
updated_at: "2026-03-10T12:00:00Z"
|
|
27
|
+
catalog:
|
|
28
|
+
published: true
|
|
29
|
+
visibility: public
|
|
30
|
+
categories:
|
|
31
|
+
- development
|
|
32
|
+
- open-source
|
|
33
|
+
- drupal
|
|
34
|
+
tags:
|
|
35
|
+
- drupal
|
|
36
|
+
- contributor
|
|
37
|
+
- issue-fixing
|
|
38
|
+
- merge-request
|
|
39
|
+
- ci-monitoring
|
|
40
|
+
- ossa-native
|
|
41
|
+
|
|
42
|
+
spec:
|
|
43
|
+
role: |
|
|
44
|
+
You are an autonomous Drupal open-source contributor agent.
|
|
45
|
+
|
|
46
|
+
Your mission:
|
|
47
|
+
1. Discover open issues on Drupal.org via the drupalorg-cli
|
|
48
|
+
2. Analyze issue discussions and existing patches
|
|
49
|
+
3. Implement fixes following Drupal coding standards
|
|
50
|
+
4. Run static analysis (PHPStan, PHPCS) before pushing
|
|
51
|
+
5. Create merge requests on GitLab
|
|
52
|
+
6. Monitor CI pipeline results and iterate
|
|
53
|
+
|
|
54
|
+
Guidelines:
|
|
55
|
+
- Follow Drupal coding standards strictly
|
|
56
|
+
- Write tests for all changes
|
|
57
|
+
- Keep patches minimal and focused
|
|
58
|
+
- Provide clear commit messages referencing the issue
|
|
59
|
+
- Respect human reviewer feedback
|
|
60
|
+
|
|
61
|
+
llm:
|
|
62
|
+
provider: anthropic
|
|
63
|
+
model: claude-sonnet-4-20250514
|
|
64
|
+
temperature: 0.2
|
|
65
|
+
max_tokens: 8192
|
|
66
|
+
|
|
67
|
+
tools:
|
|
68
|
+
- type: command
|
|
69
|
+
name: drupal_issue_context
|
|
70
|
+
description: Fetch issue details and discussion from Drupal.org
|
|
71
|
+
operation: read
|
|
72
|
+
command: drupalorg issue:show
|
|
73
|
+
parameters:
|
|
74
|
+
issue_id:
|
|
75
|
+
type: string
|
|
76
|
+
description: Drupal.org issue ID (e.g. 3456789)
|
|
77
|
+
|
|
78
|
+
- type: function
|
|
79
|
+
name: drupal_issue_checkout
|
|
80
|
+
description: Checkout issue branch for local development
|
|
81
|
+
operation: write
|
|
82
|
+
command: drupalorg issue:checkout
|
|
83
|
+
parameters:
|
|
84
|
+
issue_id:
|
|
85
|
+
type: string
|
|
86
|
+
description: Drupal.org issue ID to checkout
|
|
87
|
+
|
|
88
|
+
- type: function
|
|
89
|
+
name: drupal_mr_diff
|
|
90
|
+
description: Show merge request diff for review
|
|
91
|
+
operation: read
|
|
92
|
+
command: drupalorg mr:diff
|
|
93
|
+
parameters:
|
|
94
|
+
mr_id:
|
|
95
|
+
type: string
|
|
96
|
+
description: Merge request ID on Drupal.org GitLab
|
|
97
|
+
|
|
98
|
+
- type: function
|
|
99
|
+
name: phpstan_analyze
|
|
100
|
+
description: Run PHPStan static analysis on changed files
|
|
101
|
+
operation: read
|
|
102
|
+
command: phpstan analyse
|
|
103
|
+
parameters:
|
|
104
|
+
path:
|
|
105
|
+
type: string
|
|
106
|
+
description: Path to analyze (file or directory)
|
|
107
|
+
level:
|
|
108
|
+
type: number
|
|
109
|
+
description: Analysis level 0-9
|
|
110
|
+
default: 6
|
|
111
|
+
|
|
112
|
+
- type: command
|
|
113
|
+
name: phpcs_check
|
|
114
|
+
description: Run PHP CodeSniffer with Drupal coding standards
|
|
115
|
+
operation: read
|
|
116
|
+
command: phpcs
|
|
117
|
+
parameters:
|
|
118
|
+
path:
|
|
119
|
+
type: string
|
|
120
|
+
description: Path to check
|
|
121
|
+
standard:
|
|
122
|
+
type: string
|
|
123
|
+
description: Coding standard to use
|
|
124
|
+
default: Drupal,DrupalPractice
|
|
125
|
+
|
|
126
|
+
- type: command
|
|
127
|
+
name: git_push_mr
|
|
128
|
+
description: Stage, commit, and push changes to create a merge request
|
|
129
|
+
operation: write
|
|
130
|
+
command: git
|
|
131
|
+
parameters:
|
|
132
|
+
message:
|
|
133
|
+
type: string
|
|
134
|
+
description: Commit message referencing the issue
|
|
135
|
+
branch:
|
|
136
|
+
type: string
|
|
137
|
+
description: Target branch for the merge request
|
|
138
|
+
|
|
139
|
+
capabilities:
|
|
140
|
+
- name: issue-analysis
|
|
141
|
+
description: Analyze Drupal.org issue context and patches
|
|
142
|
+
- name: code-implementation
|
|
143
|
+
description: Implement fixes following Drupal standards
|
|
144
|
+
- name: static-analysis
|
|
145
|
+
description: Run PHPStan and PHPCS checks
|
|
146
|
+
- name: merge-request-creation
|
|
147
|
+
description: Create and manage GitLab merge requests
|
|
148
|
+
- name: ci-monitoring
|
|
149
|
+
description: Monitor CI pipeline results
|
|
150
|
+
|
|
151
|
+
safety:
|
|
152
|
+
guardrails:
|
|
153
|
+
- no_production_deploys
|
|
154
|
+
- human_review_required_before_merge
|
|
155
|
+
- follow_drupal_coding_standards
|
|
156
|
+
- audit_all_actions
|
|
157
|
+
pii_handling: none
|
|
158
|
+
audit_all_actions: true
|
|
159
|
+
max_cost_per_execution: 0.50
|
|
160
|
+
|
|
161
|
+
observability:
|
|
162
|
+
telemetry:
|
|
163
|
+
enabled: true
|
|
164
|
+
export_traces: true
|
|
165
|
+
export_metrics: true
|
|
166
|
+
|
|
167
|
+
security:
|
|
168
|
+
tier: tier_2_write_limited
|
|
169
|
+
threat_model:
|
|
170
|
+
- category: prompt-injection
|
|
171
|
+
severity: medium
|
|
172
|
+
mitigations:
|
|
173
|
+
- input-validation
|
|
174
|
+
- output-filtering
|
|
175
|
+
description: Issue text from Drupal.org could contain adversarial content
|
|
176
|
+
- category: supply-chain
|
|
177
|
+
severity: high
|
|
178
|
+
mitigations:
|
|
179
|
+
- dependency-scanning
|
|
180
|
+
- code-review
|
|
181
|
+
description: Patches must be reviewed before merge
|
|
182
|
+
capabilities:
|
|
183
|
+
required:
|
|
184
|
+
- filesystem-read
|
|
185
|
+
- filesystem-write
|
|
186
|
+
- network-outbound
|
|
187
|
+
- process-spawn
|
|
188
|
+
- tool-execution
|
|
189
|
+
optional:
|
|
190
|
+
- browser
|
|
191
|
+
sandboxing:
|
|
192
|
+
required: true
|
|
193
|
+
type: container
|
|
194
|
+
resource_limits:
|
|
195
|
+
max_memory_mb: 2048
|
|
196
|
+
max_cpu_cores: 2
|
|
197
|
+
max_execution_seconds: 600
|
|
198
|
+
max_disk_mb: 1024
|
|
199
|
+
network_access:
|
|
200
|
+
allowed_domains:
|
|
201
|
+
- "*.drupal.org"
|
|
202
|
+
- "*.drupalcode.org"
|
|
203
|
+
- "gitlab.com"
|
|
204
|
+
- "api.anthropic.com"
|
|
205
|
+
protocols:
|
|
206
|
+
- https
|
|
207
|
+
egress_policy: allow-list
|
|
208
|
+
data_classification: internal
|
|
209
|
+
audit:
|
|
210
|
+
log_inputs: true
|
|
211
|
+
log_outputs: true
|
|
212
|
+
log_tool_calls: true
|
|
213
|
+
retention_days: 90
|
|
214
|
+
|
|
215
|
+
protocols:
|
|
216
|
+
mcp:
|
|
217
|
+
version: 1.0.0
|
|
218
|
+
role: client
|
|
219
|
+
capabilities:
|
|
220
|
+
tools: true
|
|
221
|
+
resources: true
|
|
222
|
+
servers:
|
|
223
|
+
- name: drupalorg-cli
|
|
224
|
+
transport: stdio
|
|
225
|
+
command: drupalorg
|
|
226
|
+
a2a:
|
|
227
|
+
version: 0.2.0
|
|
228
|
+
endpoint: https://openstandardagents.org/agents/drupal-contributor
|
|
229
|
+
agent_card:
|
|
230
|
+
name: drupal-contributor
|
|
231
|
+
description: Analyze and fix a Drupal.org issue
|
|
232
|
+
skills:
|
|
233
|
+
- id: fix-drupal-issue
|
|
234
|
+
name: fix-drupal-issue
|
|
235
|
+
description: Analyze and fix a Drupal.org issue
|
|
236
|
+
capabilities:
|
|
237
|
+
stateTransitionHistory: true
|
|
238
|
+
|
|
239
|
+
governance:
|
|
240
|
+
authorization:
|
|
241
|
+
policy_references:
|
|
242
|
+
- blueflyio/cedar-policies
|
|
243
|
+
compliance:
|
|
244
|
+
frameworks:
|
|
245
|
+
- NIST-800-53
|
|
246
|
+
data_classification: internal
|
|
247
|
+
audit_logging_required: true
|
|
@@ -328,7 +328,7 @@ REDIS_URL=redis://localhost:6379
|
|
|
328
328
|
|
|
329
329
|
**PostgreSQL Backend:**
|
|
330
330
|
```bash
|
|
331
|
-
POSTGRES_URL=postgresql://postgres
|
|
331
|
+
POSTGRES_URL=postgresql://postgres:${POSTGRES_PASSWORD}@localhost:5432/agent_memory
|
|
332
332
|
```
|
|
333
333
|
|
|
334
334
|
**OpenAI API (for Summary/Entity Memory):**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
apiVersion: ossa/v0.
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
2
|
kind: Agent
|
|
3
3
|
metadata:
|
|
4
4
|
name: production-agent-with-memory
|
|
@@ -16,36 +16,29 @@ metadata:
|
|
|
16
16
|
use-case: production-showcase
|
|
17
17
|
tier: production
|
|
18
18
|
version: v0.4.1
|
|
19
|
-
|
|
20
19
|
spec:
|
|
21
20
|
role: |
|
|
22
21
|
You are a production assistant with advanced memory capabilities.
|
|
23
22
|
You maintain conversation context across sessions and track entities.
|
|
24
|
-
|
|
25
23
|
llm:
|
|
26
24
|
provider: openai
|
|
27
25
|
model: gpt-4o
|
|
28
26
|
temperature: 0.7
|
|
29
27
|
maxTokens: 2000
|
|
30
|
-
|
|
31
|
-
# Memory Configuration (Full OSSA spec)
|
|
32
28
|
memory:
|
|
33
29
|
enabled: true
|
|
34
30
|
type: conversation_buffer
|
|
35
31
|
window_size: 20
|
|
36
32
|
max_token_limit: 4000
|
|
37
33
|
return_messages: true
|
|
38
|
-
|
|
39
|
-
# Persistence Configuration
|
|
40
34
|
persistence:
|
|
41
35
|
enabled: true
|
|
42
|
-
backend: redis
|
|
43
|
-
ttl: 86400
|
|
36
|
+
backend: redis
|
|
37
|
+
ttl: 86400
|
|
44
38
|
connection:
|
|
45
|
-
url: ${REDIS_URL}
|
|
39
|
+
url: ${REDIS_URL}
|
|
46
40
|
pool_size: 10
|
|
47
41
|
timeout: 30
|
|
48
|
-
|
|
49
42
|
tools:
|
|
50
43
|
- type: function
|
|
51
44
|
name: remember_fact
|
|
@@ -58,7 +51,6 @@ spec:
|
|
|
58
51
|
description: Fact to remember
|
|
59
52
|
required:
|
|
60
53
|
- fact
|
|
61
|
-
|
|
62
54
|
- type: function
|
|
63
55
|
name: recall_conversation
|
|
64
56
|
description: Recall previous conversation
|
|
@@ -70,11 +62,9 @@ spec:
|
|
|
70
62
|
description: What to recall
|
|
71
63
|
required:
|
|
72
64
|
- query
|
|
73
|
-
|
|
74
65
|
autonomy:
|
|
75
66
|
level: supervised
|
|
76
67
|
approval_required: false
|
|
77
|
-
|
|
78
68
|
observability:
|
|
79
69
|
logging:
|
|
80
70
|
level: info
|
|
@@ -84,14 +74,14 @@ spec:
|
|
|
84
74
|
tracing:
|
|
85
75
|
enabled: true
|
|
86
76
|
provider: opentelemetry
|
|
87
|
-
|
|
88
77
|
extensions:
|
|
89
78
|
langchain:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
79
|
+
enabled: true
|
|
80
|
+
chain_type: agent
|
|
81
|
+
memory:
|
|
82
|
+
type: buffer
|
|
83
|
+
tools:
|
|
84
|
+
- name: remember_fact
|
|
85
|
+
description: Remember an important fact
|
|
86
|
+
- name: recall_conversation
|
|
87
|
+
description: Recall previous conversation
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
ossaVersion: 0.4.1
|
|
2
1
|
kind: Agent
|
|
3
2
|
metadata:
|
|
4
3
|
name: production-streaming-agent
|
|
@@ -12,7 +11,6 @@ metadata:
|
|
|
12
11
|
- sse
|
|
13
12
|
- websocket
|
|
14
13
|
- a2a
|
|
15
|
-
|
|
16
14
|
spec:
|
|
17
15
|
role: |
|
|
18
16
|
You are a production streaming agent that demonstrates real-time response streaming.
|
|
@@ -23,13 +21,11 @@ spec:
|
|
|
23
21
|
- Agent-to-agent (a2a) streaming integration
|
|
24
22
|
- Token-by-token streaming responses
|
|
25
23
|
- Real-time tool execution updates
|
|
26
|
-
|
|
27
24
|
llm:
|
|
28
25
|
provider: openai
|
|
29
26
|
model: gpt-4-turbo-preview
|
|
30
27
|
temperature: 0.7
|
|
31
28
|
max_tokens: 2000
|
|
32
|
-
|
|
33
29
|
tools:
|
|
34
30
|
- name: search_web
|
|
35
31
|
type: function
|
|
@@ -42,7 +38,6 @@ spec:
|
|
|
42
38
|
description: Search query
|
|
43
39
|
required:
|
|
44
40
|
- query
|
|
45
|
-
|
|
46
41
|
- name: analyze_data
|
|
47
42
|
type: function
|
|
48
43
|
description: Analyze data and return insights
|
|
@@ -54,7 +49,6 @@ spec:
|
|
|
54
49
|
description: Data to analyze
|
|
55
50
|
required:
|
|
56
51
|
- data
|
|
57
|
-
|
|
58
52
|
memory:
|
|
59
53
|
type: redis
|
|
60
54
|
config:
|
|
@@ -62,32 +56,23 @@ spec:
|
|
|
62
56
|
port: ${REDIS_PORT:6379}
|
|
63
57
|
db: 0
|
|
64
58
|
session_ttl: 3600
|
|
65
|
-
|
|
66
59
|
streaming:
|
|
67
|
-
# Server-Sent Events (SSE) Configuration
|
|
68
60
|
sse:
|
|
69
61
|
enabled: true
|
|
70
62
|
endpoint: /chat/stream
|
|
71
|
-
|
|
72
|
-
# WebSocket Configuration
|
|
73
63
|
websocket:
|
|
74
64
|
enabled: true
|
|
75
65
|
endpoint: /ws
|
|
76
66
|
port: 8000
|
|
77
|
-
|
|
78
|
-
# Agent-to-Agent (a2a) Streaming
|
|
79
67
|
a2a:
|
|
80
68
|
enabled: true
|
|
81
69
|
mesh_url: ${AGENT_MESH_URL:http://localhost:8080}
|
|
82
|
-
|
|
83
|
-
# LangChain Callbacks
|
|
84
70
|
callbacks:
|
|
85
71
|
on_llm_start: true
|
|
86
72
|
on_llm_new_token: true
|
|
87
73
|
on_llm_end: true
|
|
88
74
|
on_tool_start: true
|
|
89
75
|
on_tool_end: true
|
|
90
|
-
|
|
91
76
|
api:
|
|
92
77
|
port: 8000
|
|
93
78
|
cors:
|
|
@@ -98,3 +83,4 @@ spec:
|
|
|
98
83
|
rate_limit:
|
|
99
84
|
enabled: true
|
|
100
85
|
requests_per_minute: 60
|
|
86
|
+
apiVersion: ossa/v0.5
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
apiVersion: ossa/v0.
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
2
|
kind: Agent
|
|
3
3
|
metadata:
|
|
4
4
|
name: production-agent-with-tools
|
|
@@ -15,7 +15,6 @@ metadata:
|
|
|
15
15
|
use-case: production-showcase
|
|
16
16
|
tier: production
|
|
17
17
|
version: v0.4.1
|
|
18
|
-
|
|
19
18
|
spec:
|
|
20
19
|
role: |
|
|
21
20
|
You are a production assistant with multiple capabilities:
|
|
@@ -24,22 +23,18 @@ spec:
|
|
|
24
23
|
3. Execute MCP tools
|
|
25
24
|
4. Process text and generate reports
|
|
26
25
|
5. Send notifications
|
|
27
|
-
|
|
28
26
|
llm:
|
|
29
27
|
provider: openai
|
|
30
28
|
model: gpt-4o
|
|
31
29
|
temperature: 0.7
|
|
32
30
|
maxTokens: 2000
|
|
33
|
-
|
|
34
31
|
capabilities:
|
|
35
32
|
- search
|
|
36
33
|
- api_calls
|
|
37
34
|
- text_processing
|
|
38
35
|
- notifications
|
|
39
36
|
- mcp_tools
|
|
40
|
-
|
|
41
37
|
tools:
|
|
42
|
-
# API Tool - Async HTTP requests with Pydantic validation
|
|
43
38
|
- type: api
|
|
44
39
|
name: search_api
|
|
45
40
|
description: Search external knowledge base via REST API
|
|
@@ -60,8 +55,6 @@ spec:
|
|
|
60
55
|
description: Optional search filters
|
|
61
56
|
required:
|
|
62
57
|
- query
|
|
63
|
-
|
|
64
|
-
# Function Tool - Complex schema with Pydantic model
|
|
65
58
|
- type: function
|
|
66
59
|
name: analyze_text
|
|
67
60
|
description: Analyze text content and extract insights
|
|
@@ -87,8 +80,6 @@ spec:
|
|
|
87
80
|
required:
|
|
88
81
|
- text
|
|
89
82
|
- analysis_types
|
|
90
|
-
|
|
91
|
-
# Function Tool - Data processing with nested schema
|
|
92
83
|
- type: function
|
|
93
84
|
name: generate_report
|
|
94
85
|
description: Generate formatted report from data
|
|
@@ -106,7 +97,10 @@ spec:
|
|
|
106
97
|
format:
|
|
107
98
|
type: string
|
|
108
99
|
description: Output format
|
|
109
|
-
enum:
|
|
100
|
+
enum:
|
|
101
|
+
- markdown
|
|
102
|
+
- html
|
|
103
|
+
- pdf
|
|
110
104
|
default: markdown
|
|
111
105
|
include_charts:
|
|
112
106
|
type: boolean
|
|
@@ -115,8 +109,6 @@ spec:
|
|
|
115
109
|
required:
|
|
116
110
|
- title
|
|
117
111
|
- sections
|
|
118
|
-
|
|
119
|
-
# API Tool - Webhook notification
|
|
120
112
|
- type: api
|
|
121
113
|
name: send_notification
|
|
122
114
|
description: Send notification via webhook
|
|
@@ -130,7 +122,11 @@ spec:
|
|
|
130
122
|
description: Notification message
|
|
131
123
|
priority:
|
|
132
124
|
type: string
|
|
133
|
-
enum:
|
|
125
|
+
enum:
|
|
126
|
+
- low
|
|
127
|
+
- medium
|
|
128
|
+
- high
|
|
129
|
+
- urgent
|
|
134
130
|
description: Notification priority
|
|
135
131
|
channels:
|
|
136
132
|
type: array
|
|
@@ -140,8 +136,6 @@ spec:
|
|
|
140
136
|
required:
|
|
141
137
|
- message
|
|
142
138
|
- priority
|
|
143
|
-
|
|
144
|
-
# MCP Tool - Model Context Protocol integration
|
|
145
139
|
- type: mcp
|
|
146
140
|
name: mcp_database_query
|
|
147
141
|
description: Query database via MCP server
|
|
@@ -165,8 +159,6 @@ spec:
|
|
|
165
159
|
required:
|
|
166
160
|
- query
|
|
167
161
|
- database
|
|
168
|
-
|
|
169
|
-
# Function Tool - Simple tool without complex schema
|
|
170
162
|
- type: function
|
|
171
163
|
name: format_timestamp
|
|
172
164
|
description: Format timestamp to human-readable string
|
|
@@ -179,23 +171,20 @@ spec:
|
|
|
179
171
|
format:
|
|
180
172
|
type: string
|
|
181
173
|
description: Output format string
|
|
182
|
-
default:
|
|
174
|
+
default: '%Y-%m-%d %H:%M:%S'
|
|
183
175
|
timezone:
|
|
184
176
|
type: string
|
|
185
177
|
description: Timezone (e.g., UTC, America/New_York)
|
|
186
178
|
default: UTC
|
|
187
179
|
required:
|
|
188
180
|
- timestamp
|
|
189
|
-
|
|
190
181
|
autonomy:
|
|
191
182
|
level: supervised
|
|
192
183
|
approval_required: false
|
|
193
|
-
|
|
194
184
|
memory:
|
|
195
185
|
enabled: true
|
|
196
186
|
type: conversation_buffer
|
|
197
187
|
window_size: 20
|
|
198
|
-
|
|
199
188
|
observability:
|
|
200
189
|
logging:
|
|
201
190
|
level: info
|
|
@@ -205,12 +194,22 @@ spec:
|
|
|
205
194
|
tracing:
|
|
206
195
|
enabled: true
|
|
207
196
|
provider: opentelemetry
|
|
208
|
-
|
|
209
197
|
extensions:
|
|
210
198
|
langchain:
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
199
|
+
enabled: true
|
|
200
|
+
chain_type: agent
|
|
201
|
+
memory:
|
|
202
|
+
type: buffer
|
|
203
|
+
tools:
|
|
204
|
+
- name: search_api
|
|
205
|
+
description: Search external knowledge base via REST API
|
|
206
|
+
- name: analyze_text
|
|
207
|
+
description: Analyze text content and extract insights
|
|
208
|
+
- name: generate_report
|
|
209
|
+
description: Generate formatted report from data
|
|
210
|
+
- name: send_notification
|
|
211
|
+
description: Send notification via webhook
|
|
212
|
+
- name: mcp_database_query
|
|
213
|
+
description: Query database via MCP server
|
|
214
|
+
- name: format_timestamp
|
|
215
|
+
description: Format timestamp to human-readable string
|
|
@@ -5,7 +5,7 @@ Learn OSSA step-by-step with these progressively complex examples.
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install -g @bluefly/
|
|
8
|
+
npm install -g @bluefly/openstandardagents
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Examples
|
|
@@ -29,7 +29,7 @@ export ANTHROPIC_API_KEY=your-key
|
|
|
29
29
|
ossa run 01-minimal-agent.ossa.yaml --input "Hello, how can you help me?"
|
|
30
30
|
|
|
31
31
|
# Export to framework
|
|
32
|
-
ossa export 02-agent-with-tools.ossa.yaml --
|
|
32
|
+
ossa export 02-agent-with-tools.ossa.yaml --platform langchain
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
## Learning Path
|
|
@@ -66,4 +66,4 @@ export OTEL_ENDPOINT=http://localhost:4317
|
|
|
66
66
|
|
|
67
67
|
- [Full Examples](../agent-manifests/) - Real-world agent definitions
|
|
68
68
|
- [Framework Adapters](../adapters/) - LangChain, CrewAI, AutoGen
|
|
69
|
-
- [Schema Reference](../../spec/v0.
|
|
69
|
+
- [Schema Reference](../../spec/v0.5/agent.schema.json) - Current OSSA schema
|