@bluefly/openstandardagents 0.4.9 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +8 -8
  3. package/README.md +68 -58
  4. package/bin/postinstall +0 -0
  5. package/dist/.version.json +3 -3
  6. package/dist/adapters/claude-code/adapter.js +2 -2
  7. package/dist/adapters/docker/generators.js +19 -19
  8. package/dist/adapters/drupal/generator.js +76 -76
  9. package/dist/adapters/openai-agents/adapter.js +2 -2
  10. package/dist/cli/schema-driven/schema-loader.js +5 -5
  11. package/dist/mcp-server/__tests__/mcp-server.spec.js +20 -11
  12. package/dist/mcp-server/index.js +0 -0
  13. package/dist/package.json +24 -11
  14. package/dist/services/export/langchain/langchain-exporter.js +2 -2
  15. package/dist/services/export/langchain/memory-generator.js +2 -2
  16. package/dist/services/export/testing/test-generator.js +1 -1
  17. package/dist/services/taxonomy-service.d.ts +3 -3
  18. package/dist/skills/test-skill/package.json +1 -1
  19. package/dist/spec/extensions/role-manifest.md +188 -0
  20. package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
  21. package/dist/spec/v0.5/agent.schema.json +2 -1
  22. package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
  23. package/dist/spec/v0.5/role.schema.json +268 -0
  24. package/dist/types/index.d.ts +2 -0
  25. package/dist/types/index.js +2 -0
  26. package/dist/types/role.d.ts +126 -0
  27. package/dist/types/role.js +38 -0
  28. package/dist/validation/validator.js +1 -1
  29. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
  30. package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
  31. package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
  32. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
  33. package/examples/agents/security-audit-agent.ossa.yaml +234 -0
  34. package/examples/agentscope/react-assistant/agent.ossa.yaml +36 -32
  35. package/examples/drupal/content-moderator.ossa.yaml +2 -2
  36. package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
  37. package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
  38. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
  39. package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
  40. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
  41. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  42. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  43. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  44. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  45. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  46. package/examples/getting-started/README.md +3 -3
  47. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  48. package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
  49. package/examples/hierarchical-agent.ossa.yaml +10 -53
  50. package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
  51. package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
  52. package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
  53. package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
  54. package/examples/pipeline-agent.ossa.yaml +3 -3
  55. package/examples/platform-specific/claude-code-subagent.yaml +1 -1
  56. package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
  57. package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
  58. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
  59. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
  60. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
  61. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
  62. package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
  63. package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
  64. package/examples/roles/drupal-developer.role.yaml +37 -0
  65. package/examples/roles/platform-operator.role.yaml +28 -0
  66. package/examples/roles/security-auditor.role.yaml +27 -0
  67. package/examples/swarm-agent.ossa.yaml +13 -51
  68. package/examples/team-agent.ossa.yaml +12 -61
  69. package/examples/team-lead-teammate.ossa.yaml +12 -17
  70. package/openapi/agent-communication.yaml +260 -212
  71. package/openapi/agent-crud.yaml +217 -187
  72. package/openapi/agent-discovery.yaml +119 -81
  73. package/openapi/agent-identity.yaml +219 -187
  74. package/openapi/agent-taxonomy.yaml +95 -38
  75. package/openapi/agents-md-service.yaml +103 -30
  76. package/openapi/cli/openapi.yaml +147 -40
  77. package/openapi/core/ossa-core-api.openapi.yaml +327 -271
  78. package/openapi/core/ossa-registry-api.openapi.yaml +298 -235
  79. package/openapi/core/ossa-registry.openapi.yaml +299 -159
  80. package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
  81. package/openapi/daemon-api.openapi.yaml +323 -181
  82. package/openapi/dev-cli/openapi.yaml +137 -113
  83. package/openapi/github-sync.yaml +62 -19
  84. package/openapi/marketplace-plugin.openapi.yaml +539 -466
  85. package/openapi/ossa-api.openapi.yaml +354 -213
  86. package/openapi/ossa-cli-enhancements.openapi.yaml +108 -89
  87. package/openapi/ossa-cli.yaml +260 -184
  88. package/openapi/protocols/sse-streams.yaml +66 -74
  89. package/openapi/protocols/websocket-events.yaml +61 -54
  90. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
  91. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
  92. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
  93. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
  94. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
  95. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
  96. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
  97. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
  98. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
  99. package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
  100. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
  101. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
  102. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
  103. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
  104. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
  105. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
  106. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
  107. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
  108. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
  109. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
  110. package/openapi/release-automation.openapi.yaml +47 -13
  111. package/openapi/schemas/common/agent.yaml +30 -29
  112. package/openapi/schemas/common/errors.yaml +13 -3
  113. package/openapi/schemas/common/metadata.yaml +22 -7
  114. package/openapi/schemas/common/pagination.yaml +18 -6
  115. package/openapi/schemas/common/security.yaml +13 -5
  116. package/openapi/schemas/index.yaml +49 -42
  117. package/openapi/uadp-asyncapi.yaml +4 -2
  118. package/openapi/uadp-openapi.yaml +243 -165
  119. package/openapi/version-management.openapi.yaml +142 -135
  120. package/package.json +114 -103
  121. package/spec/extensions/role-manifest.md +188 -0
  122. package/spec/v0.4/extensions/mcp/README.md +1 -1
  123. package/spec/v0.5/agent.schema.json +2 -1
  124. package/spec/v0.5/extensions/mcp/README.md +1 -1
  125. package/spec/v0.5/role.schema.json +268 -0
@@ -0,0 +1,234 @@
1
+ apiVersion: ossa/v0.5
2
+ kind: Agent
3
+ metadata:
4
+ name: security-audit-agent
5
+ version: 1.0.0
6
+ description: Repository security scanner. Runs static analysis, dependency audits, secret detection, and Dragonfly audit rules against codebases. Reports findings with severity and remediation guidance.
7
+ labels:
8
+ use-case: security-audit
9
+ production-ready: 'false'
10
+ ossa-native: 'true'
11
+ agentType: custom
12
+ agentKind: specialist
13
+ identity:
14
+ namespace: blueflyio/ossa
15
+ agent_id: security-audit-agent
16
+ version: 1.0.0
17
+ publisher:
18
+ name: BlueFly.io
19
+ email: agents@bluefly.io
20
+ website: https://openstandardagents.org
21
+ created_at: 2026-03-10T12:00:00Z
22
+ updated_at: 2026-03-10T12:00:00Z
23
+ catalog:
24
+ published: true
25
+ visibility: public
26
+ categories:
27
+ - security
28
+ - code-quality
29
+ - compliance
30
+ tags:
31
+ - security
32
+ - audit
33
+ - phpstan
34
+ - phpcs
35
+ - dragonfly
36
+ - ossa-native
37
+ spec:
38
+ role: |
39
+ You are a security audit specialist agent.
40
+
41
+ Your mission:
42
+ 1. Scan repositories for vulnerabilities using static analysis tools
43
+ 2. Run PHPStan at strictest levels for type safety issues
44
+ 3. Run PHPCS for coding standard violations
45
+ 4. Execute Dragonfly audit rules for anti-patterns and best practices
46
+ 5. Check for exposed secrets and credentials
47
+ 6. Produce structured reports with severity ratings and remediation steps
48
+
49
+ Guidelines:
50
+ - Never output or log actual secret values
51
+ - Classify findings by severity: critical, high, medium, low, informational
52
+ - Provide actionable remediation for each finding
53
+ - Reference CWE/CVE identifiers where applicable
54
+ - Map findings to NIST AI RMF and OWASP Top 10 where relevant
55
+ llm:
56
+ provider: anthropic
57
+ model: claude-sonnet-4-20250514
58
+ temperature: 0.1
59
+ max_tokens: 16384
60
+ tools:
61
+ - type: command
62
+ name: phpstan_analyze
63
+ description: Run PHPStan static analysis
64
+ operation: read
65
+ command: phpstan analyse
66
+ parameters:
67
+ path:
68
+ type: string
69
+ description: Path to analyze
70
+ level:
71
+ type: number
72
+ description: Analysis strictness 0-9
73
+ default: 8
74
+ - type: command
75
+ name: phpcs_check
76
+ description: Run PHP CodeSniffer checks
77
+ operation: read
78
+ command: phpcs
79
+ parameters:
80
+ path:
81
+ type: string
82
+ description: Path to check
83
+ standard:
84
+ type: string
85
+ default: Drupal,DrupalPractice
86
+ - type: command
87
+ name: npm_audit
88
+ description: Run npm audit for JS/TS dependencies
89
+ operation: read
90
+ command: npm audit
91
+ parameters:
92
+ path:
93
+ type: string
94
+ description: Project path with package.json
95
+ - type: command
96
+ name: secret_scan
97
+ description: Scan for exposed secrets and credentials
98
+ operation: read
99
+ command: git secrets --scan
100
+ parameters:
101
+ path:
102
+ type: string
103
+ description: Repository path to scan
104
+ - type: api
105
+ name: dragonfly_audit
106
+ description: Run Dragonfly audit rules from catalog
107
+ operation: read
108
+ parameters:
109
+ rule_set:
110
+ type: string
111
+ description: Audit rule set (e.g. anti-patterns, best-practices, a11y, seo)
112
+ target_url:
113
+ type: string
114
+ description: URL or path to audit
115
+ capabilities:
116
+ - name: static-analysis
117
+ description: PHPStan and PHPCS code analysis
118
+ - name: dependency-audit
119
+ description: npm/composer dependency vulnerability checks
120
+ - name: secret-detection
121
+ description: Scan for exposed credentials and secrets
122
+ - name: dragonfly-audit
123
+ description: Run Dragonfly quality audit rules
124
+ - name: compliance-mapping
125
+ description: Map findings to NIST, OWASP, CWE frameworks
126
+ safety:
127
+ guardrails:
128
+ - never_output_secrets
129
+ - read_only_operations
130
+ - audit_all_actions
131
+ pii_handling: redact
132
+ audit_all_actions: true
133
+ max_cost_per_execution: 0.4
134
+ observability:
135
+ telemetry:
136
+ enabled: true
137
+ export_traces: true
138
+ export_metrics: true
139
+ security:
140
+ tier: tier_1_read
141
+ threat_model:
142
+ - category: information-disclosure
143
+ severity: critical
144
+ mitigations:
145
+ - output-filtering
146
+ - secret-redaction
147
+ description: Must never expose secrets found during scanning
148
+ capabilities:
149
+ required:
150
+ - filesystem-read
151
+ - network-outbound
152
+ - process-spawn
153
+ - tool-execution
154
+ optional:
155
+ - browser
156
+ sandboxing:
157
+ required: true
158
+ type: container
159
+ resource_limits:
160
+ max_memory_mb: 2048
161
+ max_cpu_cores: 2
162
+ max_execution_seconds: 600
163
+ network_access:
164
+ allowed_domains:
165
+ - registry.npmjs.org
166
+ - packagist.org
167
+ - api.anthropic.com
168
+ - nvd.nist.gov
169
+ protocols:
170
+ - https
171
+ egress_policy: allow-list
172
+ data_classification: confidential
173
+ audit:
174
+ log_inputs: true
175
+ log_outputs: false
176
+ log_tool_calls: true
177
+ retention_days: 365
178
+ protocols:
179
+ mcp:
180
+ version: 1.0.0
181
+ role: client
182
+ capabilities:
183
+ tools: true
184
+ resources: true
185
+ prompts: false
186
+ sampling: false
187
+ servers:
188
+ - name: dragonfly
189
+ transport: stdio
190
+ command: dragonfly
191
+ tools:
192
+ - dragonfly_audit
193
+ a2a:
194
+ version: 0.2.0
195
+ endpoint: https://openstandardagents.org/agents/security-audit-agent
196
+ agent_card:
197
+ name: Security Audit Agent
198
+ description: Run repository security audits and compliance scans
199
+ skills:
200
+ - id: audit-repository
201
+ name: Audit Repository
202
+ description: Run a security audit on a repository
203
+ capabilities:
204
+ streaming: false
205
+ pushNotifications: false
206
+ stateTransitionHistory: true
207
+ authentication:
208
+ schemes:
209
+ - none
210
+ governance:
211
+ authorization:
212
+ clearance_level: 1
213
+ policy_references:
214
+ - blueflyio/cedar-policies
215
+ tool_permissions:
216
+ - tool: phpstan_analyze
217
+ risk_level: low
218
+ - tool: phpcs_check
219
+ risk_level: low
220
+ - tool: npm_audit
221
+ risk_level: low
222
+ - tool: secret_scan
223
+ risk_level: medium
224
+ - tool: dragonfly_audit
225
+ risk_level: medium
226
+ quality_requirements:
227
+ confidence_threshold: 0.9
228
+ security_score_threshold: 90
229
+ max_vulnerability_count: 0
230
+ compliance:
231
+ frameworks:
232
+ - NIST-800-53
233
+ data_classification: confidential
234
+ audit_logging_required: true
@@ -1,10 +1,10 @@
1
- apiVersion: ossa/v0.4.6
1
+ apiVersion: ossa/v0.5
2
2
  kind: Agent
3
3
  metadata:
4
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."
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
8
  agentType: agentscope
9
9
  agentKind: assistant
10
10
  status: active
@@ -14,17 +14,14 @@ metadata:
14
14
  framework: agentscope
15
15
  identity:
16
16
  agent_id: agentscope-react-assistant
17
- namespace: bluefly/examples
18
- version: "1.0.0"
17
+ namespace: bluefly-examples
18
+ version: 1.0.0
19
19
  publisher:
20
20
  name: BlueFly Collective
21
21
  website: https://bluefly.io
22
-
23
22
  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.
23
+ role: |
24
+ You are a helpful assistant that uses tools to answer questions accurately. Always verify information before responding. Use available MCP tools for real-time data retrieval and knowledge base queries.
28
25
  llm:
29
26
  provider: anthropic
30
27
  model: claude-sonnet-4-20250514
@@ -39,18 +36,19 @@ spec:
39
36
  - type: mcp
40
37
  name: knowledge-base
41
38
  endpoint: https://gkg.blueflyagents.com/mcp/sse
42
- description: "Graph knowledge base for codebase analysis"
39
+ description: Graph knowledge base for codebase analysis
43
40
  - type: mcp
44
41
  name: web-search
45
42
  endpoint: https://mcp.blueflyagents.com/api/mcp/sse
46
- description: "Web search and content retrieval"
43
+ description: Web search and content retrieval
47
44
  inputs:
48
45
  type: object
49
46
  properties:
50
47
  query:
51
48
  type: string
52
- description: "User query or task"
53
- required: [query]
49
+ description: User query or task
50
+ required:
51
+ - query
54
52
  outputs:
55
53
  type: object
56
54
  properties:
@@ -60,23 +58,26 @@ spec:
60
58
  type: integer
61
59
  confidence:
62
60
  type: number
63
-
64
61
  security:
65
62
  tier: tier_1_read
66
63
  capabilities:
67
- required: [network-outbound, tool-execution]
68
- optional: [memory-extended]
64
+ required:
65
+ - network-outbound
66
+ - tool-execution
67
+ optional:
68
+ - memory-extended
69
69
  network_access:
70
70
  allowed_domains:
71
- - "*.blueflyagents.com"
72
- - "api.anthropic.com"
73
- protocols: [https, wss]
71
+ - '*.blueflyagents.com'
72
+ - api.anthropic.com
73
+ protocols:
74
+ - https
75
+ - wss
74
76
  egress_policy: allow-list
75
77
  data_classification: internal
76
-
77
78
  protocols:
78
79
  mcp:
79
- version: "1.0.0"
80
+ version: 1.0.0
80
81
  role: client
81
82
  capabilities:
82
83
  tools: true
@@ -84,23 +85,22 @@ protocols:
84
85
  prompts: false
85
86
  sampling: false
86
87
  a2a:
87
- version: "0.2.1"
88
+ version: 0.2.1
88
89
  endpoint: https://agents.blueflyagents.com/a2a/react-assistant
89
90
  agent_card:
90
91
  name: AgentScope React Assistant
91
- description: "ReAct agent with tool use and memory"
92
+ description: ReAct agent with tool use and memory
92
93
  skills:
93
94
  - id: question-answering
94
95
  name: Question Answering
95
- description: "Answer questions using tools and knowledge"
96
+ description: Answer questions using tools and knowledge
96
97
  - id: code-analysis
97
98
  name: Code Analysis
98
- description: "Analyze code using knowledge graph"
99
+ description: Analyze code using knowledge graph
99
100
  capabilities:
100
101
  streaming: true
101
102
  pushNotifications: false
102
103
  stateTransitionHistory: false
103
-
104
104
  token_efficiency:
105
105
  serialization_profile: compact
106
106
  observation_format: projected
@@ -109,13 +109,17 @@ token_efficiency:
109
109
  max_output_tokens: 4096
110
110
  allocation_strategy: adaptive
111
111
  routing:
112
- cascade: [claude-haiku-4-5-20251001, claude-sonnet-4-20250514, claude-opus-4-20250514]
113
- complexity_threshold: [0.3, 0.7]
112
+ cascade:
113
+ - claude-haiku-4-5-20251001
114
+ - claude-sonnet-4-20250514
115
+ - claude-opus-4-20250514
116
+ complexity_threshold:
117
+ - 0.3
118
+ - 0.7
114
119
  strategy: cost_optimized
115
-
116
120
  extensions:
117
121
  agentscope:
118
- version: "1.0.16"
122
+ version: 1.0.16
119
123
  agent_class: ReActAgent
120
124
  capabilities:
121
125
  - rag
@@ -1,7 +1,7 @@
1
- apiVersion: ossa/v0.4.7
1
+ apiVersion: ossa/v0.5.0
2
2
  kind: Agent
3
3
  metadata:
4
- name: content_moderator
4
+ name: content-moderator
5
5
  version: 1.0.0
6
6
  description: AI-powered content moderation agent for Drupal
7
7
  labels:
@@ -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:postgres@localhost:5432/agent_memory
331
+ POSTGRES_URL=postgresql://postgres:${POSTGRES_PASSWORD}@localhost:5432/agent_memory
332
332
  ```
333
333
 
334
334
  **OpenAI API (for Summary/Entity Memory):**