@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.
- package/.version.json +3 -3
- package/CHANGELOG.md +8 -8
- package/README.md +68 -58
- package/bin/postinstall +0 -0
- package/dist/.version.json +3 -3
- package/dist/adapters/claude-code/adapter.js +2 -2
- package/dist/adapters/docker/generators.js +19 -19
- package/dist/adapters/drupal/generator.js +76 -76
- package/dist/adapters/openai-agents/adapter.js +2 -2
- package/dist/cli/schema-driven/schema-loader.js +5 -5
- package/dist/mcp-server/__tests__/mcp-server.spec.js +20 -11
- package/dist/mcp-server/index.js +0 -0
- package/dist/package.json +24 -11
- 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/taxonomy-service.d.ts +3 -3
- package/dist/skills/test-skill/package.json +1 -1
- package/dist/spec/extensions/role-manifest.md +188 -0
- package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
- package/dist/spec/v0.5/agent.schema.json +2 -1
- package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
- package/dist/spec/v0.5/role.schema.json +268 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/role.d.ts +126 -0
- package/dist/types/role.js +38 -0
- package/dist/validation/validator.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/agent.ossa.yaml +36 -32
- package/examples/drupal/content-moderator.ossa.yaml +2 -2
- 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/reference-implementations/python-client/examples/basic_usage.py +0 -0
- package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
- 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-communication.yaml +260 -212
- package/openapi/agent-crud.yaml +217 -187
- 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 +298 -235
- 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 +108 -89
- 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 +47 -13
- package/openapi/schemas/common/agent.yaml +30 -29
- 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 +4 -2
- package/openapi/uadp-openapi.yaml +243 -165
- package/openapi/version-management.openapi.yaml +142 -135
- package/package.json +114 -103
- package/spec/extensions/role-manifest.md +188 -0
- package/spec/v0.4/extensions/mcp/README.md +1 -1
- package/spec/v0.5/agent.schema.json +2 -1
- package/spec/v0.5/extensions/mcp/README.md +1 -1
- package/spec/v0.5/role.schema.json +268 -0
|
@@ -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
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: gitlab-ci-agent
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Pipeline fixer agent. Detects broken CI/CD pipelines, inspects job logs, diagnoses failures, and applies fixes. Uses BuildKit CLI and GitLab API.
|
|
7
|
+
labels:
|
|
8
|
+
use-case: ci-cd-automation
|
|
9
|
+
production-ready: 'false'
|
|
10
|
+
ossa-native: 'true'
|
|
11
|
+
agentType: custom
|
|
12
|
+
agentKind: worker
|
|
13
|
+
identity:
|
|
14
|
+
namespace: blueflyio/ossa
|
|
15
|
+
agent_id: gitlab-ci-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
|
+
- devops
|
|
28
|
+
- ci-cd
|
|
29
|
+
- gitlab
|
|
30
|
+
tags:
|
|
31
|
+
- gitlab
|
|
32
|
+
- ci
|
|
33
|
+
- pipeline
|
|
34
|
+
- buildkit
|
|
35
|
+
- ossa-native
|
|
36
|
+
spec:
|
|
37
|
+
role: |
|
|
38
|
+
You are an autonomous GitLab CI/CD pipeline fixer agent.
|
|
39
|
+
|
|
40
|
+
Your mission:
|
|
41
|
+
1. Monitor pipelines across GitLab projects
|
|
42
|
+
2. Detect failed jobs and inspect their logs
|
|
43
|
+
3. Diagnose root causes (dependency issues, test failures, config errors)
|
|
44
|
+
4. Apply fixes (update CI config, fix tests, update dependencies)
|
|
45
|
+
5. Push fixes and verify the pipeline turns green
|
|
46
|
+
|
|
47
|
+
Guidelines:
|
|
48
|
+
- Never force-push to shared branches
|
|
49
|
+
- Always create fix branches, never commit directly to main/release
|
|
50
|
+
- Explain your diagnosis clearly in commit messages
|
|
51
|
+
- Escalate to humans for infrastructure-level issues
|
|
52
|
+
llm:
|
|
53
|
+
provider: anthropic
|
|
54
|
+
model: claude-sonnet-4-20250514
|
|
55
|
+
temperature: 0.1
|
|
56
|
+
max_tokens: 8192
|
|
57
|
+
tools:
|
|
58
|
+
- type: command
|
|
59
|
+
name: pipeline_list
|
|
60
|
+
description: List recent pipelines for a project
|
|
61
|
+
operation: read
|
|
62
|
+
command: buildkit gitlab pipelines list
|
|
63
|
+
parameters:
|
|
64
|
+
project:
|
|
65
|
+
type: string
|
|
66
|
+
description: GitLab project path (e.g. blueflyio/agent-platform/tools/agent-buildkit)
|
|
67
|
+
ref:
|
|
68
|
+
type: string
|
|
69
|
+
description: Branch to check (e.g. release/v0.1.x)
|
|
70
|
+
- type: command
|
|
71
|
+
name: pipeline_jobs
|
|
72
|
+
description: List jobs in a pipeline with status
|
|
73
|
+
operation: read
|
|
74
|
+
command: buildkit gitlab pipelines jobs
|
|
75
|
+
parameters:
|
|
76
|
+
pipeline_id:
|
|
77
|
+
type: number
|
|
78
|
+
description: Pipeline ID to inspect
|
|
79
|
+
- type: command
|
|
80
|
+
name: job_log
|
|
81
|
+
description: Fetch the log output of a failed job
|
|
82
|
+
operation: read
|
|
83
|
+
command: buildkit gitlab pipelines job-log
|
|
84
|
+
parameters:
|
|
85
|
+
job_id:
|
|
86
|
+
type: number
|
|
87
|
+
description: Job ID to get log for
|
|
88
|
+
- type: command
|
|
89
|
+
name: deploy_service
|
|
90
|
+
description: Deploy a service to Oracle via BuildKit
|
|
91
|
+
operation: write
|
|
92
|
+
command: buildkit deploy oracle
|
|
93
|
+
parameters:
|
|
94
|
+
service:
|
|
95
|
+
type: string
|
|
96
|
+
description: Service name to deploy (e.g. mcp, mesh, router)
|
|
97
|
+
- type: api
|
|
98
|
+
name: gitlab_api
|
|
99
|
+
description: Direct GitLab API calls for MR management
|
|
100
|
+
operation: write
|
|
101
|
+
parameters:
|
|
102
|
+
method:
|
|
103
|
+
type: string
|
|
104
|
+
enum:
|
|
105
|
+
- GET
|
|
106
|
+
- POST
|
|
107
|
+
- PUT
|
|
108
|
+
endpoint:
|
|
109
|
+
type: string
|
|
110
|
+
description: GitLab API endpoint path
|
|
111
|
+
capabilities:
|
|
112
|
+
- name: pipeline-monitoring
|
|
113
|
+
description: Monitor CI/CD pipeline status across projects
|
|
114
|
+
- name: failure-diagnosis
|
|
115
|
+
description: Analyze job logs to identify root causes
|
|
116
|
+
- name: automated-fix
|
|
117
|
+
description: Apply fixes for common CI failures
|
|
118
|
+
- name: deployment
|
|
119
|
+
description: Deploy services via BuildKit
|
|
120
|
+
safety:
|
|
121
|
+
guardrails:
|
|
122
|
+
- no_force_push
|
|
123
|
+
- no_direct_main_commits
|
|
124
|
+
- human_escalation_for_infra
|
|
125
|
+
- audit_all_actions
|
|
126
|
+
pii_handling: none
|
|
127
|
+
audit_all_actions: true
|
|
128
|
+
max_cost_per_execution: 0.3
|
|
129
|
+
security:
|
|
130
|
+
tier: tier_2_write_limited
|
|
131
|
+
threat_model:
|
|
132
|
+
- category: privilege-escalation
|
|
133
|
+
severity: high
|
|
134
|
+
mitigations:
|
|
135
|
+
- scoped-tokens
|
|
136
|
+
- least-privilege
|
|
137
|
+
description: CI tokens must be scoped to minimum required permissions
|
|
138
|
+
capabilities:
|
|
139
|
+
required:
|
|
140
|
+
- network-outbound
|
|
141
|
+
- process-spawn
|
|
142
|
+
- tool-execution
|
|
143
|
+
optional:
|
|
144
|
+
- filesystem-read
|
|
145
|
+
- filesystem-write
|
|
146
|
+
sandboxing:
|
|
147
|
+
required: true
|
|
148
|
+
type: container
|
|
149
|
+
resource_limits:
|
|
150
|
+
max_memory_mb: 1024
|
|
151
|
+
max_cpu_cores: 1
|
|
152
|
+
max_execution_seconds: 300
|
|
153
|
+
network_access:
|
|
154
|
+
allowed_domains:
|
|
155
|
+
- gitlab.com
|
|
156
|
+
- '*.gitlab.com'
|
|
157
|
+
- api.anthropic.com
|
|
158
|
+
protocols:
|
|
159
|
+
- https
|
|
160
|
+
egress_policy: allow-list
|
|
161
|
+
data_classification: internal
|
|
162
|
+
protocols:
|
|
163
|
+
mcp:
|
|
164
|
+
version: 1.0.0
|
|
165
|
+
role: client
|
|
166
|
+
capabilities:
|
|
167
|
+
tools: true
|
|
168
|
+
resources: false
|
|
169
|
+
prompts: false
|
|
170
|
+
sampling: false
|
|
171
|
+
servers:
|
|
172
|
+
- name: buildkit
|
|
173
|
+
transport: stdio
|
|
174
|
+
command: buildkit
|
|
175
|
+
tools:
|
|
176
|
+
- pipeline_list
|
|
177
|
+
- pipeline_jobs
|
|
178
|
+
- job_log
|
|
179
|
+
- deploy_service
|
|
180
|
+
- gitlab_api
|
|
181
|
+
a2a:
|
|
182
|
+
version: 0.2.0
|
|
183
|
+
endpoint: https://openstandardagents.org/agents/gitlab-ci-agent
|
|
184
|
+
agent_card:
|
|
185
|
+
name: GitLab CI Agent
|
|
186
|
+
description: Diagnose and repair GitLab CI/CD pipelines
|
|
187
|
+
skills:
|
|
188
|
+
- id: fix-pipeline
|
|
189
|
+
name: Fix Pipeline
|
|
190
|
+
description: Diagnose and fix a broken CI pipeline
|
|
191
|
+
capabilities:
|
|
192
|
+
streaming: true
|
|
193
|
+
pushNotifications: false
|
|
194
|
+
stateTransitionHistory: true
|
|
195
|
+
authentication:
|
|
196
|
+
schemes:
|
|
197
|
+
- bearer
|
|
198
|
+
governance:
|
|
199
|
+
authorization:
|
|
200
|
+
clearance_level: 2
|
|
201
|
+
policy_references:
|
|
202
|
+
- blueflyio/cedar-policies
|
|
203
|
+
tool_permissions:
|
|
204
|
+
- tool: pipeline_list
|
|
205
|
+
risk_level: low
|
|
206
|
+
- tool: pipeline_jobs
|
|
207
|
+
risk_level: low
|
|
208
|
+
- tool: job_log
|
|
209
|
+
risk_level: low
|
|
210
|
+
- tool: deploy_service
|
|
211
|
+
risk_level: high
|
|
212
|
+
requires_approval: true
|
|
213
|
+
- tool: gitlab_api
|
|
214
|
+
risk_level: high
|
|
215
|
+
requires_approval: true
|
|
216
|
+
quality_requirements:
|
|
217
|
+
confidence_threshold: 0.85
|
|
218
|
+
security_score_threshold: 80
|
|
219
|
+
compliance:
|
|
220
|
+
data_classification: internal
|
|
221
|
+
audit_logging_required: true
|