@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: meeting-assistant
|
|
@@ -19,19 +19,16 @@ spec:
|
|
|
19
19
|
- Action item identification and tracking
|
|
20
20
|
- Meeting minutes generation
|
|
21
21
|
- Follow-up task creation
|
|
22
|
-
|
|
23
22
|
llm:
|
|
24
23
|
provider: openai
|
|
25
24
|
model: gpt-4o
|
|
26
25
|
temperature: 0.5
|
|
27
26
|
maxTokens: 3000
|
|
28
|
-
|
|
29
27
|
capabilities:
|
|
30
28
|
- transcribe_audio
|
|
31
29
|
- summarize_meeting
|
|
32
30
|
- extract_action_items
|
|
33
31
|
- generate_minutes
|
|
34
|
-
|
|
35
32
|
tools:
|
|
36
33
|
- type: function
|
|
37
34
|
name: transcribe_audio
|
|
@@ -50,7 +47,6 @@ spec:
|
|
|
50
47
|
default: true
|
|
51
48
|
required:
|
|
52
49
|
- audioUrl
|
|
53
|
-
|
|
54
50
|
- type: function
|
|
55
51
|
name: summarize_meeting
|
|
56
52
|
description: Generate meeting summary
|
|
@@ -61,13 +57,15 @@ spec:
|
|
|
61
57
|
type: string
|
|
62
58
|
summaryType:
|
|
63
59
|
type: string
|
|
64
|
-
enum:
|
|
60
|
+
enum:
|
|
61
|
+
- brief
|
|
62
|
+
- detailed
|
|
63
|
+
- executive
|
|
65
64
|
includeTopic:
|
|
66
65
|
type: boolean
|
|
67
66
|
default: true
|
|
68
67
|
required:
|
|
69
68
|
- transcript
|
|
70
|
-
|
|
71
69
|
- type: function
|
|
72
70
|
name: extract_action_items
|
|
73
71
|
description: Extract action items from meeting
|
|
@@ -82,7 +80,6 @@ spec:
|
|
|
82
80
|
type: string
|
|
83
81
|
required:
|
|
84
82
|
- transcript
|
|
85
|
-
|
|
86
83
|
- type: function
|
|
87
84
|
name: generate_minutes
|
|
88
85
|
description: Generate formal meeting minutes
|
|
@@ -103,19 +100,22 @@ spec:
|
|
|
103
100
|
type: array
|
|
104
101
|
format:
|
|
105
102
|
type: string
|
|
106
|
-
enum:
|
|
103
|
+
enum:
|
|
104
|
+
- markdown
|
|
105
|
+
- html
|
|
106
|
+
- pdf
|
|
107
107
|
default: markdown
|
|
108
108
|
required:
|
|
109
109
|
- meetingData
|
|
110
|
-
|
|
111
110
|
triggers:
|
|
112
111
|
- type: webhook
|
|
113
112
|
source: zoom
|
|
114
|
-
events:
|
|
113
|
+
events:
|
|
114
|
+
- recording.completed
|
|
115
115
|
- type: webhook
|
|
116
116
|
source: google_meet
|
|
117
|
-
events:
|
|
118
|
-
|
|
117
|
+
events:
|
|
118
|
+
- recording.ready
|
|
119
119
|
tasks:
|
|
120
120
|
- name: process-recording
|
|
121
121
|
steps:
|
|
@@ -125,20 +125,17 @@ spec:
|
|
|
125
125
|
params:
|
|
126
126
|
audioUrl: ${inputs.recording_url}
|
|
127
127
|
speakerDiarization: true
|
|
128
|
-
|
|
129
128
|
- name: generate-summary
|
|
130
129
|
action: function_call
|
|
131
130
|
function: summarize_meeting
|
|
132
131
|
params:
|
|
133
132
|
transcript: ${outputs.transcript}
|
|
134
133
|
summaryType: detailed
|
|
135
|
-
|
|
136
134
|
- name: extract-actions
|
|
137
135
|
action: function_call
|
|
138
136
|
function: extract_action_items
|
|
139
137
|
params:
|
|
140
138
|
transcript: ${outputs.transcript}
|
|
141
|
-
|
|
142
139
|
- name: create-minutes
|
|
143
140
|
action: function_call
|
|
144
141
|
function: generate_minutes
|
|
@@ -148,26 +145,23 @@ spec:
|
|
|
148
145
|
attendees: ${inputs.attendees}
|
|
149
146
|
topics: ${outputs.summary}
|
|
150
147
|
decisions: ${outputs.action_items}
|
|
151
|
-
|
|
152
148
|
- name: send-to-participants
|
|
153
149
|
action: http
|
|
154
150
|
method: POST
|
|
155
151
|
url: ${env.EMAIL_SERVICE_URL}/send
|
|
156
152
|
body:
|
|
157
153
|
to: ${inputs.attendees}
|
|
158
|
-
subject:
|
|
154
|
+
subject: 'Meeting Notes: ${inputs.meeting_title}'
|
|
159
155
|
body: ${outputs.minutes}
|
|
160
156
|
attachments:
|
|
161
157
|
- type: pdf
|
|
162
158
|
content: ${outputs.minutes_pdf}
|
|
163
|
-
|
|
164
159
|
memory:
|
|
165
160
|
enabled: true
|
|
166
161
|
type: conversation_buffer
|
|
167
162
|
window_size: 5
|
|
168
163
|
persistence:
|
|
169
164
|
enabled: false
|
|
170
|
-
|
|
171
165
|
outputs:
|
|
172
166
|
- name: transcript
|
|
173
167
|
type: string
|
|
@@ -181,7 +175,6 @@ spec:
|
|
|
181
175
|
- name: minutes
|
|
182
176
|
type: string
|
|
183
177
|
description: Formal meeting minutes
|
|
184
|
-
|
|
185
178
|
observability:
|
|
186
179
|
logging:
|
|
187
180
|
level: info
|
|
@@ -193,19 +186,18 @@ spec:
|
|
|
193
186
|
- action_items_extracted
|
|
194
187
|
tracing:
|
|
195
188
|
enabled: true
|
|
196
|
-
|
|
197
189
|
extensions:
|
|
198
190
|
langchain:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
-
|
|
205
|
-
|
|
206
|
-
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
191
|
+
enabled: true
|
|
192
|
+
chain_type: agent
|
|
193
|
+
memory:
|
|
194
|
+
type: buffer
|
|
195
|
+
tools:
|
|
196
|
+
- name: transcribe_audio
|
|
197
|
+
description: Transcribe meeting audio to text
|
|
198
|
+
- name: summarize_meeting
|
|
199
|
+
description: Generate meeting summary
|
|
200
|
+
- name: extract_action_items
|
|
201
|
+
description: Extract action items from meeting
|
|
202
|
+
- name: generate_minutes
|
|
203
|
+
description: Generate formal meeting minutes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
|
+
kind: Role
|
|
3
|
+
metadata:
|
|
4
|
+
name: drupal-developer
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Drupal module development role
|
|
7
|
+
labels:
|
|
8
|
+
platform: claude-code
|
|
9
|
+
domain: drupal
|
|
10
|
+
spec:
|
|
11
|
+
role: |
|
|
12
|
+
You are a Drupal module developer following Drupal coding standards.
|
|
13
|
+
instructions:
|
|
14
|
+
preamble: |
|
|
15
|
+
## Drupal Rules
|
|
16
|
+
- Use DI everywhere, not \Drupal::service()
|
|
17
|
+
- All config needs schema YAML
|
|
18
|
+
- PHPCS with Drupal/DrupalPractice
|
|
19
|
+
constraints:
|
|
20
|
+
- Never use db_query()
|
|
21
|
+
- Never hardcode module paths
|
|
22
|
+
tools:
|
|
23
|
+
allowed: [Read, Write, Edit, Bash, Grep, Glob]
|
|
24
|
+
skills: [drupal-phpcs, drupal-test-runner]
|
|
25
|
+
context:
|
|
26
|
+
files:
|
|
27
|
+
- path: composer.json
|
|
28
|
+
- path: "*.info.yml"
|
|
29
|
+
protocols:
|
|
30
|
+
mcp:
|
|
31
|
+
servers:
|
|
32
|
+
- name: drupal-tools
|
|
33
|
+
transport: stdio
|
|
34
|
+
command: drush
|
|
35
|
+
args: [mcp:serve]
|
|
36
|
+
activation:
|
|
37
|
+
file_patterns: ["*.module", "*.info.yml", "src/Plugin/**/*.php"]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
|
+
kind: Role
|
|
3
|
+
metadata:
|
|
4
|
+
name: platform-operator
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Full-stack platform operations role
|
|
7
|
+
spec:
|
|
8
|
+
role: |
|
|
9
|
+
You are a platform operator managing TypeScript services, CI/CD, and infrastructure.
|
|
10
|
+
instructions:
|
|
11
|
+
constraints:
|
|
12
|
+
- API-first: OpenAPI spec before implementation
|
|
13
|
+
- Never create shell scripts
|
|
14
|
+
- Never commit to main/release directly
|
|
15
|
+
tools:
|
|
16
|
+
allowed: [Read, Write, Edit, Bash, Grep, Glob]
|
|
17
|
+
skills: [commit, review-pr]
|
|
18
|
+
protocols:
|
|
19
|
+
mcp:
|
|
20
|
+
servers:
|
|
21
|
+
- name: gkg
|
|
22
|
+
transport: sse
|
|
23
|
+
url: https://gkg.example.com/mcp/sse
|
|
24
|
+
extends:
|
|
25
|
+
- role: typescript-developer
|
|
26
|
+
activation:
|
|
27
|
+
file_patterns: ["src/**/*.ts", "package.json"]
|
|
28
|
+
command: "/role platform"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
|
+
kind: Role
|
|
3
|
+
metadata:
|
|
4
|
+
name: security-auditor
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Security audit and compliance review role
|
|
7
|
+
labels:
|
|
8
|
+
platform: claude-code
|
|
9
|
+
domain: security
|
|
10
|
+
spec:
|
|
11
|
+
role: |
|
|
12
|
+
You are a security auditor focused on OWASP, CVE analysis, and compliance.
|
|
13
|
+
instructions:
|
|
14
|
+
preamble: |
|
|
15
|
+
## Security Rules
|
|
16
|
+
- Check all inputs for injection vulnerabilities
|
|
17
|
+
- Verify authentication on every endpoint
|
|
18
|
+
- Review secrets management
|
|
19
|
+
constraints:
|
|
20
|
+
- Never approve code with hardcoded credentials
|
|
21
|
+
- Never skip security tests
|
|
22
|
+
tools:
|
|
23
|
+
allowed: [Read, Grep, Glob, Bash]
|
|
24
|
+
denied: [Write, Edit]
|
|
25
|
+
skills: [security-scan, ossa-validate]
|
|
26
|
+
activation:
|
|
27
|
+
file_patterns: ["**/security/**", "**/*.policy"]
|
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
#
|
|
3
|
-
# Demonstrates the swarm pattern with hub-spoke coordination. A triage
|
|
4
|
-
# coordinator routes conversations to specialist agents via automatic
|
|
5
|
-
# handoffs. Each member handles a specific domain and can hand back to
|
|
6
|
-
# triage when the query falls outside its scope.
|
|
7
|
-
#
|
|
8
|
-
# Key characteristics:
|
|
9
|
-
# - Hub-spoke model: triage agent is the central hub
|
|
10
|
-
# - Direct communication: agents hand off control directly
|
|
11
|
-
# - Assigned task coordination: triage decides who handles what
|
|
12
|
-
# - In-memory persistence: no durable task list needed
|
|
13
|
-
|
|
14
|
-
apiVersion: ossa/v0.4.7
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
15
2
|
kind: Agent
|
|
16
3
|
metadata:
|
|
17
4
|
name: support-swarm
|
|
18
|
-
version:
|
|
19
|
-
description:
|
|
20
|
-
An OpenAI Swarm-style customer support system. A triage coordinator
|
|
21
|
-
routes incoming queries to specialist agents (orders, returns, billing)
|
|
22
|
-
via automatic handoffs. Each specialist can hand back to triage when
|
|
23
|
-
it encounters an out-of-scope request.
|
|
24
|
-
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: An OpenAI Swarm-style customer support system. A triage coordinator routes incoming queries to specialist agents (orders, returns, billing) via automatic handoffs. Each specialist can hand back to triage when it encounters an out-of-scope request.
|
|
25
7
|
agentKind: coordinator
|
|
26
|
-
agentType:
|
|
27
|
-
|
|
8
|
+
agentType: swarm
|
|
28
9
|
agentArchitecture:
|
|
29
10
|
pattern: swarm
|
|
30
11
|
capabilities:
|
|
@@ -40,36 +21,25 @@ metadata:
|
|
|
40
21
|
taskCoordination: assigned
|
|
41
22
|
conflictResolution: leader-decides
|
|
42
23
|
taskPersistence: in-memory
|
|
43
|
-
|
|
44
24
|
labels:
|
|
45
25
|
domain: customer-support
|
|
46
26
|
pattern: swarm
|
|
47
27
|
framework: openai-swarm
|
|
48
|
-
|
|
49
28
|
spec:
|
|
50
|
-
role:
|
|
51
|
-
You are the triage coordinator for a customer support swarm. Analyze
|
|
52
|
-
incoming customer messages and route them to the appropriate specialist
|
|
53
|
-
agent. If a specialist hands back to you, re-evaluate and route to a
|
|
54
|
-
different specialist or handle the query directly.
|
|
55
|
-
|
|
29
|
+
role: You are the triage coordinator for a customer support swarm. Analyze incoming customer messages and route them to the appropriate specialist agent. If a specialist hands back to you, re-evaluate and route to a different specialist or handle the query directly.
|
|
56
30
|
llm:
|
|
57
31
|
provider: openai
|
|
58
32
|
model: gpt-4o
|
|
59
33
|
temperature: 0.2
|
|
60
34
|
maxTokens: 1024
|
|
61
|
-
|
|
62
35
|
team:
|
|
63
36
|
model: hub-spoke
|
|
64
37
|
lead: triage-agent
|
|
65
38
|
delegateMode: false
|
|
66
|
-
|
|
67
39
|
members:
|
|
68
40
|
- name: order-agent
|
|
69
41
|
kind: teammate
|
|
70
|
-
role:
|
|
71
|
-
Handle order-related queries: order status, shipment tracking,
|
|
72
|
-
order modifications, and cancellations.
|
|
42
|
+
role: 'Handle order-related queries: order status, shipment tracking, order modifications, and cancellations.'
|
|
73
43
|
model:
|
|
74
44
|
provider: openai
|
|
75
45
|
name: gpt-4o-mini
|
|
@@ -80,15 +50,12 @@ spec:
|
|
|
80
50
|
contextIsolation: true
|
|
81
51
|
handoffs:
|
|
82
52
|
- to: triage-agent
|
|
83
|
-
condition:
|
|
53
|
+
condition: Query is not order-related
|
|
84
54
|
- to: returns-agent
|
|
85
|
-
condition:
|
|
86
|
-
|
|
55
|
+
condition: Customer wants to return an ordered item
|
|
87
56
|
- name: returns-agent
|
|
88
57
|
kind: teammate
|
|
89
|
-
role:
|
|
90
|
-
Process returns and exchanges. Validate return eligibility, generate
|
|
91
|
-
return labels, and track return shipments.
|
|
58
|
+
role: Process returns and exchanges. Validate return eligibility, generate return labels, and track return shipments.
|
|
92
59
|
model:
|
|
93
60
|
provider: openai
|
|
94
61
|
name: gpt-4o-mini
|
|
@@ -99,15 +66,12 @@ spec:
|
|
|
99
66
|
contextIsolation: true
|
|
100
67
|
handoffs:
|
|
101
68
|
- to: triage-agent
|
|
102
|
-
condition:
|
|
69
|
+
condition: Query is not returns-related
|
|
103
70
|
- to: billing-agent
|
|
104
|
-
condition:
|
|
105
|
-
|
|
71
|
+
condition: Customer asks about refund timing or amount
|
|
106
72
|
- name: billing-agent
|
|
107
73
|
kind: teammate
|
|
108
|
-
role:
|
|
109
|
-
Handle billing and payment queries. Look up invoices, process
|
|
110
|
-
refunds, and answer payment-related questions.
|
|
74
|
+
role: Handle billing and payment queries. Look up invoices, process refunds, and answer payment-related questions.
|
|
111
75
|
model:
|
|
112
76
|
provider: openai
|
|
113
77
|
name: gpt-4o-mini
|
|
@@ -118,8 +82,7 @@ spec:
|
|
|
118
82
|
contextIsolation: true
|
|
119
83
|
handoffs:
|
|
120
84
|
- to: triage-agent
|
|
121
|
-
condition:
|
|
122
|
-
|
|
85
|
+
condition: Query is not billing-related
|
|
123
86
|
taskList:
|
|
124
87
|
coordination: assigned
|
|
125
88
|
persistence: in-memory
|
|
@@ -130,7 +93,6 @@ spec:
|
|
|
130
93
|
dependencyTracking: false
|
|
131
94
|
waveExecution: false
|
|
132
95
|
lockingStrategy: none
|
|
133
|
-
|
|
134
96
|
communication:
|
|
135
97
|
pattern: direct
|
|
136
98
|
broadcastEnabled: false
|
|
@@ -1,34 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
#
|
|
3
|
-
# Demonstrates the lead-teammate pattern modeled after Claude Code Agent
|
|
4
|
-
# Teams. An Opus lead orchestrates Sonnet workers and a Haiku explorer.
|
|
5
|
-
# The lead operates in delegate mode (never implements directly), while
|
|
6
|
-
# teammates self-claim tasks from a shared, file-backed task list with
|
|
7
|
-
# dependency tracking and wave execution.
|
|
8
|
-
#
|
|
9
|
-
# Key characteristics:
|
|
10
|
-
# - Lead-teammate model with delegate mode
|
|
11
|
-
# - Shared task list with self-claim coordination
|
|
12
|
-
# - File-backed persistence with dependency tracking
|
|
13
|
-
# - Mailbox communication (async, inbox-based)
|
|
14
|
-
# - Mixed model tiers (Opus lead, Sonnet workers, Haiku explorer)
|
|
15
|
-
# - In-process deployment with fixed scaling
|
|
16
|
-
|
|
17
|
-
apiVersion: ossa/v0.4.7
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
18
2
|
kind: Agent
|
|
19
3
|
metadata:
|
|
20
4
|
name: fullstack-dev-team
|
|
21
|
-
version:
|
|
22
|
-
description:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
worker (Sonnet), a frontend worker (Sonnet), and a codebase explorer
|
|
26
|
-
(Haiku). Teammates self-claim tasks from a shared list, communicate via
|
|
27
|
-
mailbox, and work in isolated directories.
|
|
28
|
-
|
|
29
|
-
agentKind: team-lead
|
|
30
|
-
agentType: a2a
|
|
31
|
-
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: 'A Claude Code-style development team for fullstack feature implementation. An Opus lead decomposes tasks and coordinates three teammates: a backend worker (Sonnet), a frontend worker (Sonnet), and a codebase explorer (Haiku). Teammates self-claim tasks from a shared list, communicate via mailbox, and work in isolated directories.'
|
|
7
|
+
agentKind: supervisor
|
|
8
|
+
agentType: custom
|
|
32
9
|
agentArchitecture:
|
|
33
10
|
pattern: lead-teammate
|
|
34
11
|
capabilities:
|
|
@@ -47,43 +24,29 @@ metadata:
|
|
|
47
24
|
conflictResolution: leader-decides
|
|
48
25
|
taskPersistence: file-backed
|
|
49
26
|
dependencyTracking: true
|
|
50
|
-
|
|
51
27
|
labels:
|
|
52
28
|
domain: development
|
|
53
29
|
pattern: lead-teammate
|
|
54
30
|
framework: claude-code
|
|
55
|
-
|
|
56
31
|
spec:
|
|
57
|
-
role:
|
|
58
|
-
You are the lead of a fullstack development team. Your job is to:
|
|
59
|
-
1. Analyze the user's feature request and decompose it into tasks.
|
|
60
|
-
2. Create tasks in the shared task list with clear descriptions and
|
|
32
|
+
role: |-
|
|
33
|
+
You are the lead of a fullstack development team. Your job is to: 1. Analyze the user's feature request and decompose it into tasks. 2. Create tasks in the shared task list with clear descriptions and
|
|
61
34
|
dependency relationships.
|
|
62
|
-
3. Monitor teammate progress and resolve blockers.
|
|
63
|
-
4. Synthesize completed work into a final deliverable.
|
|
64
|
-
You operate in delegate mode — you NEVER write code directly. Instead,
|
|
65
|
-
you coordinate your teammates who do the implementation work.
|
|
66
|
-
|
|
35
|
+
3. Monitor teammate progress and resolve blockers. 4. Synthesize completed work into a final deliverable. You operate in delegate mode — you NEVER write code directly. Instead, you coordinate your teammates who do the implementation work.
|
|
67
36
|
llm:
|
|
68
37
|
provider: anthropic
|
|
69
38
|
model: claude-opus-4-20250514
|
|
70
39
|
temperature: 0.4
|
|
71
40
|
maxTokens: 8192
|
|
72
41
|
profile: deep
|
|
73
|
-
|
|
74
42
|
team:
|
|
75
43
|
model: lead-teammate
|
|
76
44
|
lead: lead
|
|
77
45
|
delegateMode: true
|
|
78
|
-
|
|
79
46
|
members:
|
|
80
47
|
- name: backend-worker
|
|
81
48
|
kind: teammate
|
|
82
|
-
role:
|
|
83
|
-
Implement backend features: API endpoints, database schemas,
|
|
84
|
-
business logic, and server-side tests. Work in the backend/
|
|
85
|
-
directory. Claim tasks from the shared list and mark them
|
|
86
|
-
complete when done.
|
|
49
|
+
role: 'Implement backend features: API endpoints, database schemas, business logic, and server-side tests. Work in the backend/ directory. Claim tasks from the shared list and mark them complete when done.'
|
|
87
50
|
model:
|
|
88
51
|
provider: anthropic
|
|
89
52
|
name: claude-sonnet-4-20250514
|
|
@@ -95,13 +58,9 @@ spec:
|
|
|
95
58
|
- glob
|
|
96
59
|
contextIsolation: true
|
|
97
60
|
workingDirectory: /backend
|
|
98
|
-
|
|
99
61
|
- name: frontend-worker
|
|
100
62
|
kind: teammate
|
|
101
|
-
role:
|
|
102
|
-
Implement frontend features: React components, API integration,
|
|
103
|
-
styling, and UI tests. Work in the frontend/ directory. Claim
|
|
104
|
-
tasks from the shared list and mark them complete when done.
|
|
63
|
+
role: 'Implement frontend features: React components, API integration, styling, and UI tests. Work in the frontend/ directory. Claim tasks from the shared list and mark them complete when done.'
|
|
105
64
|
model:
|
|
106
65
|
provider: anthropic
|
|
107
66
|
name: claude-sonnet-4-20250514
|
|
@@ -113,13 +72,9 @@ spec:
|
|
|
113
72
|
- glob
|
|
114
73
|
contextIsolation: true
|
|
115
74
|
workingDirectory: /frontend
|
|
116
|
-
|
|
117
75
|
- name: codebase-explorer
|
|
118
76
|
kind: researcher
|
|
119
|
-
role:
|
|
120
|
-
Explore the codebase to answer questions from the lead and other
|
|
121
|
-
teammates. Search for patterns, find dependencies, and analyze
|
|
122
|
-
architecture. Read-only — never modify files.
|
|
77
|
+
role: Explore the codebase to answer questions from the lead and other teammates. Search for patterns, find dependencies, and analyze architecture. Read-only — never modify files.
|
|
123
78
|
model:
|
|
124
79
|
provider: anthropic
|
|
125
80
|
name: claude-haiku-4-5-20250514
|
|
@@ -129,7 +84,6 @@ spec:
|
|
|
129
84
|
- glob
|
|
130
85
|
contextIsolation: true
|
|
131
86
|
workingDirectory: /
|
|
132
|
-
|
|
133
87
|
taskList:
|
|
134
88
|
coordination: self-claim
|
|
135
89
|
persistence: file-backed
|
|
@@ -141,19 +95,16 @@ spec:
|
|
|
141
95
|
dependencyTracking: true
|
|
142
96
|
waveExecution: true
|
|
143
97
|
lockingStrategy: file-lock
|
|
144
|
-
|
|
145
98
|
communication:
|
|
146
99
|
pattern: mailbox
|
|
147
100
|
broadcastEnabled: false
|
|
148
|
-
|
|
149
101
|
deployment:
|
|
150
102
|
backend: in-process
|
|
151
103
|
scaling: fixed
|
|
152
|
-
|
|
153
104
|
constraints:
|
|
154
105
|
cost:
|
|
155
106
|
maxTokensPerDay: 2000000
|
|
156
|
-
maxCostPerDay: 100
|
|
107
|
+
maxCostPerDay: 100
|
|
157
108
|
currency: USD
|
|
158
109
|
performance:
|
|
159
110
|
timeoutSeconds: 300
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
apiVersion: ossa/v0.
|
|
1
|
+
apiVersion: ossa/v0.5
|
|
2
2
|
kind: Agent
|
|
3
3
|
metadata:
|
|
4
4
|
name: code-review-team
|
|
5
5
|
version: 1.0.0
|
|
6
6
|
description: Claude Code teams pattern - lead delegates to specialized reviewers
|
|
7
7
|
agentType: claude
|
|
8
|
-
agentKind:
|
|
8
|
+
agentKind: supervisor
|
|
9
9
|
agentArchitecture:
|
|
10
10
|
pattern: lead-teammate
|
|
11
11
|
capabilities:
|
|
@@ -21,9 +21,8 @@ metadata:
|
|
|
21
21
|
taskPersistence: file-backed
|
|
22
22
|
dependencyTracking: true
|
|
23
23
|
spec:
|
|
24
|
-
role:
|
|
25
|
-
You lead a code review team. Analyze pull requests and delegate
|
|
26
|
-
specific review tasks to specialized teammates.
|
|
24
|
+
role: |
|
|
25
|
+
You lead a code review team. Analyze pull requests and delegate specific review tasks to specialized teammates.
|
|
27
26
|
llm:
|
|
28
27
|
provider: anthropic
|
|
29
28
|
model: claude-sonnet-4-5-20250514
|
|
@@ -34,9 +33,8 @@ spec:
|
|
|
34
33
|
members:
|
|
35
34
|
- name: lead-reviewer
|
|
36
35
|
kind: team-lead
|
|
37
|
-
role:
|
|
38
|
-
Senior code reviewer. Analyze PRs, break down review into tasks,
|
|
39
|
-
delegate to specialists, and synthesize final review.
|
|
36
|
+
role: |
|
|
37
|
+
Senior code reviewer. Analyze PRs, break down review into tasks, delegate to specialists, and synthesize final review.
|
|
40
38
|
model: claude-sonnet-4-5-20250514
|
|
41
39
|
tools:
|
|
42
40
|
- read-file
|
|
@@ -44,9 +42,8 @@ spec:
|
|
|
44
42
|
- git-diff
|
|
45
43
|
- name: security-reviewer
|
|
46
44
|
kind: specialist
|
|
47
|
-
role:
|
|
48
|
-
Security vulnerability scanner. Check for OWASP top 10,
|
|
49
|
-
injection attacks, authentication flaws, and data exposure.
|
|
45
|
+
role: |
|
|
46
|
+
Security vulnerability scanner. Check for OWASP top 10, injection attacks, authentication flaws, and data exposure.
|
|
50
47
|
tools:
|
|
51
48
|
- sast-scan
|
|
52
49
|
- dependency-check
|
|
@@ -54,18 +51,16 @@ spec:
|
|
|
54
51
|
maxTokenBudget: 15000
|
|
55
52
|
- name: style-checker
|
|
56
53
|
kind: teammate
|
|
57
|
-
role:
|
|
58
|
-
Code style and formatting reviewer. Verify adherence to
|
|
59
|
-
project conventions, naming, and documentation standards.
|
|
54
|
+
role: |
|
|
55
|
+
Code style and formatting reviewer. Verify adherence to project conventions, naming, and documentation standards.
|
|
60
56
|
tools:
|
|
61
57
|
- eslint
|
|
62
58
|
- prettier
|
|
63
59
|
- read-file
|
|
64
60
|
- name: test-reviewer
|
|
65
61
|
kind: teammate
|
|
66
|
-
role:
|
|
67
|
-
Test coverage reviewer. Verify test adequacy, check edge cases,
|
|
68
|
-
and validate test assertions.
|
|
62
|
+
role: |
|
|
63
|
+
Test coverage reviewer. Verify test adequacy, check edge cases, and validate test assertions.
|
|
69
64
|
tools:
|
|
70
65
|
- run-tests
|
|
71
66
|
- coverage-report
|