@bluefly/openstandardagents 0.3.0 → 0.3.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/CHANGELOG.md +1 -1
- package/README.md +58 -218
- package/dist/cli/commands/diff.command.d.ts +7 -0
- package/dist/cli/commands/diff.command.d.ts.map +1 -0
- package/dist/cli/commands/diff.command.js +181 -0
- package/dist/cli/commands/diff.command.js.map +1 -0
- package/dist/cli/commands/docs.command.d.ts +7 -0
- package/dist/cli/commands/docs.command.d.ts.map +1 -0
- package/dist/cli/commands/docs.command.js +274 -0
- package/dist/cli/commands/docs.command.js.map +1 -0
- package/dist/cli/commands/lint.command.d.ts +7 -0
- package/dist/cli/commands/lint.command.d.ts.map +1 -0
- package/dist/cli/commands/lint.command.js +342 -0
- package/dist/cli/commands/lint.command.js.map +1 -0
- package/dist/cli/commands/serve.command.d.ts +7 -0
- package/dist/cli/commands/serve.command.d.ts.map +1 -0
- package/dist/cli/commands/serve.command.js +232 -0
- package/dist/cli/commands/serve.command.js.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +3 -0
- package/dist/di-container.js.map +1 -1
- package/dist/services/git.service.d.ts +40 -0
- package/dist/services/git.service.d.ts.map +1 -0
- package/dist/services/git.service.js +122 -0
- package/dist/services/git.service.js.map +1 -0
- package/dist/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
- package/dist/spec/v0.3.1/adapters/drupal.md +541 -0
- package/dist/spec/v0.3.1/adapters/symfony.md +659 -0
- package/dist/spec/v0.3.1/agent-test.schema.json +75 -0
- package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
- package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/dist/spec/v0.3.1/extensions/drupal.md +417 -0
- package/dist/spec/v0.3.1/ossa-0.3.0.schema.json +2787 -0
- package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +2806 -0
- package/dist/spec/v0.3.1/protocols/sse.md +494 -0
- package/dist/spec/v0.3.1/protocols/webrtc.md +600 -0
- package/dist/spec/v0.3.1/protocols/websocket.md +362 -0
- package/dist/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
- package/dist/spec/v0.3.1/schemas/capabilities.yaml +102 -0
- package/dist/spec/v0.3.1/schemas/functions.yaml +75 -0
- package/dist/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
- package/dist/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/dist/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
- package/dist/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
- package/dist/spec/v0.3.1/schemas/runtime.yaml +102 -0
- package/dist/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
- package/dist/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
- package/dist/spec/v0.3.1/taxonomy.yaml +256 -0
- package/dist/testing/fixtures.d.ts.map +1 -1
- package/dist/testing/fixtures.js +3 -2
- package/dist/testing/fixtures.js.map +1 -1
- package/package.json +3 -31
- package/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
- package/spec/v0.3.1/adapters/drupal.md +541 -0
- package/spec/v0.3.1/adapters/symfony.md +659 -0
- package/spec/v0.3.1/agent-test.schema.json +75 -0
- package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
- package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/spec/v0.3.1/extensions/drupal.md +417 -0
- package/spec/v0.3.1/ossa-0.3.0.schema.json +2787 -0
- package/spec/v0.3.1/ossa-0.3.1.schema.json +2806 -0
- package/spec/v0.3.1/protocols/sse.md +494 -0
- package/spec/v0.3.1/protocols/webrtc.md +600 -0
- package/spec/v0.3.1/protocols/websocket.md +362 -0
- package/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
- package/spec/v0.3.1/schemas/capabilities.yaml +102 -0
- package/spec/v0.3.1/schemas/functions.yaml +75 -0
- package/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
- package/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
- package/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
- package/spec/v0.3.1/schemas/runtime.yaml +102 -0
- package/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
- package/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
- package/spec/v0.3.1/taxonomy.yaml +256 -0
- package/dist/types/generated/ossa-0.3.0.types.d.ts +0 -316
- package/dist/types/generated/ossa-0.3.0.types.d.ts.map +0 -1
- package/dist/types/generated/ossa-0.3.0.types.js +0 -8
- package/dist/types/generated/ossa-0.3.0.types.js.map +0 -1
- package/dist/types/generated/ossa-0.3.0.zod.d.ts +0 -17
- package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +0 -1
- package/dist/types/generated/ossa-0.3.0.zod.js +0 -3
- package/dist/types/generated/ossa-0.3.0.zod.js.map +0 -1
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# OSSA v0.3.1 - Agent Taxonomy Specification
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Hierarchical classification system for agents with cross-cutting concerns
|
|
5
|
+
# Issue: https://gitlab.com/blueflyio/openstandardagents/-/issues/194
|
|
6
|
+
# =============================================================================
|
|
7
|
+
|
|
8
|
+
apiVersion: ossa/v0.3.1
|
|
9
|
+
kind: TaxonomySpec
|
|
10
|
+
version: "1.0.0"
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# PRIMARY DOMAINS
|
|
14
|
+
# Top-level classification - every agent belongs to exactly one domain
|
|
15
|
+
# =============================================================================
|
|
16
|
+
domains:
|
|
17
|
+
security:
|
|
18
|
+
description: "Authentication, authorization, encryption, compliance, vulnerability management"
|
|
19
|
+
subdomains:
|
|
20
|
+
- auth # Authentication & authorization
|
|
21
|
+
- encryption # Encryption & key management
|
|
22
|
+
- compliance # Regulatory compliance (SOC2, ISO, GDPR)
|
|
23
|
+
- vulnerability # Vulnerability scanning & remediation
|
|
24
|
+
- secrets # Secrets management & rotation
|
|
25
|
+
- threat-detection # Threat detection & response
|
|
26
|
+
examples:
|
|
27
|
+
- security-scanner
|
|
28
|
+
- compliance-checker
|
|
29
|
+
- secret-detector
|
|
30
|
+
- threat-modeler
|
|
31
|
+
|
|
32
|
+
infrastructure:
|
|
33
|
+
description: "DevOps, CI/CD, deployment, configuration, cloud resources"
|
|
34
|
+
subdomains:
|
|
35
|
+
- ci-cd # CI/CD pipeline management
|
|
36
|
+
- gitops # GitOps workflows
|
|
37
|
+
- deployment # Deployment automation
|
|
38
|
+
- configuration # Configuration management
|
|
39
|
+
- networking # Network configuration
|
|
40
|
+
- storage # Storage management
|
|
41
|
+
- kubernetes # Kubernetes orchestration
|
|
42
|
+
- cloud # Cloud provider management
|
|
43
|
+
examples:
|
|
44
|
+
- deployment-manager
|
|
45
|
+
- pipeline-fixer
|
|
46
|
+
- infrastructure-provisioner
|
|
47
|
+
- incident-responder
|
|
48
|
+
|
|
49
|
+
documentation:
|
|
50
|
+
description: "Documentation, wiki, guides, knowledge management"
|
|
51
|
+
subdomains:
|
|
52
|
+
- api-docs # API documentation
|
|
53
|
+
- user-guides # User guides & tutorials
|
|
54
|
+
- wiki # Wiki management
|
|
55
|
+
- knowledge-base # Knowledge base management
|
|
56
|
+
- changelog # Changelog & release notes
|
|
57
|
+
examples:
|
|
58
|
+
- documentation-generator
|
|
59
|
+
- wiki-manager
|
|
60
|
+
- api-docs-generator
|
|
61
|
+
|
|
62
|
+
backend:
|
|
63
|
+
description: "API, database, services, business logic"
|
|
64
|
+
subdomains:
|
|
65
|
+
- api # API design & implementation
|
|
66
|
+
- database # Database management
|
|
67
|
+
- services # Microservices
|
|
68
|
+
- messaging # Message queues & events
|
|
69
|
+
- caching # Caching strategies
|
|
70
|
+
- integration # System integration
|
|
71
|
+
examples:
|
|
72
|
+
- api-builder
|
|
73
|
+
- database-migrator
|
|
74
|
+
- service-orchestrator
|
|
75
|
+
|
|
76
|
+
frontend:
|
|
77
|
+
description: "UI/UX, web, mobile interfaces"
|
|
78
|
+
subdomains:
|
|
79
|
+
- web # Web applications
|
|
80
|
+
- mobile # Mobile applications
|
|
81
|
+
- design-system # Design system components
|
|
82
|
+
- accessibility # Accessibility (a11y)
|
|
83
|
+
- performance # Frontend performance
|
|
84
|
+
examples:
|
|
85
|
+
- ui-reviewer
|
|
86
|
+
- accessibility-checker
|
|
87
|
+
- design-system-manager
|
|
88
|
+
|
|
89
|
+
data:
|
|
90
|
+
description: "Data engineering, analytics, ML/AI operations"
|
|
91
|
+
subdomains:
|
|
92
|
+
- analytics # Business analytics
|
|
93
|
+
- ml-ops # ML operations
|
|
94
|
+
- etl # Extract, transform, load
|
|
95
|
+
- data-quality # Data quality & validation
|
|
96
|
+
- data-governance # Data governance
|
|
97
|
+
- streaming # Real-time data streaming
|
|
98
|
+
examples:
|
|
99
|
+
- analytics-collector
|
|
100
|
+
- ml-model-manager
|
|
101
|
+
- data-quality-checker
|
|
102
|
+
|
|
103
|
+
agents:
|
|
104
|
+
description: "OSSA agents, automation, orchestration, meta-operations"
|
|
105
|
+
subdomains:
|
|
106
|
+
- orchestration # Multi-agent orchestration
|
|
107
|
+
- workers # Worker agents
|
|
108
|
+
- supervisors # Supervisor agents
|
|
109
|
+
- mesh # Agent mesh networking
|
|
110
|
+
- training # Agent training & improvement
|
|
111
|
+
- registry # Agent registry management
|
|
112
|
+
examples:
|
|
113
|
+
- master-orchestrator
|
|
114
|
+
- agent-trainer
|
|
115
|
+
- workflow-builder
|
|
116
|
+
|
|
117
|
+
development:
|
|
118
|
+
description: "Software development, code quality, testing"
|
|
119
|
+
subdomains:
|
|
120
|
+
- code-review # Code review automation
|
|
121
|
+
- testing # Test generation & execution
|
|
122
|
+
- refactoring # Code refactoring
|
|
123
|
+
- debugging # Debugging assistance
|
|
124
|
+
- ide # IDE integration
|
|
125
|
+
examples:
|
|
126
|
+
- code-reviewer
|
|
127
|
+
- test-generator
|
|
128
|
+
- refactoring-assistant
|
|
129
|
+
|
|
130
|
+
content:
|
|
131
|
+
description: "Content management, editing, publishing"
|
|
132
|
+
subdomains:
|
|
133
|
+
- authoring # Content authoring
|
|
134
|
+
- editing # Content editing
|
|
135
|
+
- publishing # Content publishing
|
|
136
|
+
- research # Research & knowledge gathering
|
|
137
|
+
- localization # Internationalization & localization
|
|
138
|
+
examples:
|
|
139
|
+
- content-orchestrator
|
|
140
|
+
- editor
|
|
141
|
+
- researcher
|
|
142
|
+
- publisher
|
|
143
|
+
|
|
144
|
+
# =============================================================================
|
|
145
|
+
# CROSS-CUTTING CONCERNS
|
|
146
|
+
# Tags that can apply to any agent regardless of domain
|
|
147
|
+
# An agent can have multiple concerns
|
|
148
|
+
# =============================================================================
|
|
149
|
+
concerns:
|
|
150
|
+
quality:
|
|
151
|
+
description: "Testing, code quality, standards enforcement"
|
|
152
|
+
applies_to: ["development", "backend", "frontend", "infrastructure"]
|
|
153
|
+
|
|
154
|
+
observability:
|
|
155
|
+
description: "Metrics, logging, tracing, monitoring"
|
|
156
|
+
applies_to: ["*"] # All domains
|
|
157
|
+
|
|
158
|
+
governance:
|
|
159
|
+
description: "Policies, compliance, audit trails"
|
|
160
|
+
applies_to: ["*"]
|
|
161
|
+
|
|
162
|
+
performance:
|
|
163
|
+
description: "Optimization, caching, scaling"
|
|
164
|
+
applies_to: ["*"]
|
|
165
|
+
|
|
166
|
+
architecture:
|
|
167
|
+
description: "Design patterns, system structure"
|
|
168
|
+
applies_to: ["development", "backend", "infrastructure", "agents"]
|
|
169
|
+
|
|
170
|
+
cost:
|
|
171
|
+
description: "FinOps, resource optimization, budget management"
|
|
172
|
+
applies_to: ["infrastructure", "data", "agents"]
|
|
173
|
+
|
|
174
|
+
reliability:
|
|
175
|
+
description: "SRE, uptime, resilience, disaster recovery"
|
|
176
|
+
applies_to: ["infrastructure", "backend", "agents"]
|
|
177
|
+
|
|
178
|
+
# =============================================================================
|
|
179
|
+
# AGENT TYPE CLASSIFICATION
|
|
180
|
+
# Based on OSSA spec.type field
|
|
181
|
+
# =============================================================================
|
|
182
|
+
agent_types:
|
|
183
|
+
worker:
|
|
184
|
+
description: "Executes specific tasks, no delegation"
|
|
185
|
+
typical_domains: ["development", "security", "documentation"]
|
|
186
|
+
|
|
187
|
+
supervisor:
|
|
188
|
+
description: "Coordinates other agents, can delegate"
|
|
189
|
+
typical_domains: ["agents", "infrastructure"]
|
|
190
|
+
|
|
191
|
+
orchestrator:
|
|
192
|
+
description: "High-level coordination, workflow management"
|
|
193
|
+
typical_domains: ["agents"]
|
|
194
|
+
|
|
195
|
+
specialist:
|
|
196
|
+
description: "Deep expertise in narrow domain"
|
|
197
|
+
typical_domains: ["security", "data", "backend"]
|
|
198
|
+
|
|
199
|
+
# =============================================================================
|
|
200
|
+
# USAGE IN AGENT MANIFESTS
|
|
201
|
+
# =============================================================================
|
|
202
|
+
# Example usage in OSSA agent manifest:
|
|
203
|
+
#
|
|
204
|
+
# metadata:
|
|
205
|
+
# name: security-scanner
|
|
206
|
+
# labels:
|
|
207
|
+
# domain: security
|
|
208
|
+
# subdomain: vulnerability
|
|
209
|
+
# concerns: quality,compliance
|
|
210
|
+
#
|
|
211
|
+
# spec:
|
|
212
|
+
# type: worker
|
|
213
|
+
# taxonomy:
|
|
214
|
+
# domain: security
|
|
215
|
+
# subdomain: vulnerability
|
|
216
|
+
# capability: scan_vulnerabilities
|
|
217
|
+
# concerns:
|
|
218
|
+
# - quality
|
|
219
|
+
# - compliance
|
|
220
|
+
|
|
221
|
+
# =============================================================================
|
|
222
|
+
# VALIDATION RULES
|
|
223
|
+
# =============================================================================
|
|
224
|
+
validation:
|
|
225
|
+
rules:
|
|
226
|
+
- name: valid-domain
|
|
227
|
+
description: "Domain must be from approved list"
|
|
228
|
+
severity: error
|
|
229
|
+
|
|
230
|
+
- name: valid-subdomain
|
|
231
|
+
description: "Subdomain must belong to specified domain"
|
|
232
|
+
severity: error
|
|
233
|
+
|
|
234
|
+
- name: concerns-applicable
|
|
235
|
+
description: "Concerns must be applicable to domain"
|
|
236
|
+
severity: warning
|
|
237
|
+
|
|
238
|
+
- name: type-domain-match
|
|
239
|
+
description: "Agent type should match typical domains"
|
|
240
|
+
severity: info
|
|
241
|
+
|
|
242
|
+
# =============================================================================
|
|
243
|
+
# MIGRATION FROM LEGACY
|
|
244
|
+
# =============================================================================
|
|
245
|
+
migration:
|
|
246
|
+
deprecated_domains:
|
|
247
|
+
ci-cd: { domain: infrastructure, subdomain: ci-cd }
|
|
248
|
+
gitops: { domain: infrastructure, subdomain: gitops }
|
|
249
|
+
deployment: { domain: infrastructure, subdomain: deployment }
|
|
250
|
+
configuration: { domain: infrastructure, subdomain: configuration }
|
|
251
|
+
cost-management: { domain: infrastructure, concerns: [cost] }
|
|
252
|
+
database: { domain: backend, subdomain: database }
|
|
253
|
+
performance: { concerns: [performance] }
|
|
254
|
+
observability: { concerns: [observability] }
|
|
255
|
+
governance: { concerns: [governance] }
|
|
256
|
+
architecture: { concerns: [architecture] }
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Open Standard for Scalable AI Agents (OSSA) v0.3.0 - Unified Task Schema. Supports Agent (agentic loops with LLM), Task (deterministic workflow steps), and Workflow (composition of Tasks and Agents) kinds Includes Agent-to-Agent Messaging Extension.
|
|
8
|
-
*/
|
|
9
|
-
export type OSSAV030ManifestSchema = {
|
|
10
|
-
[k: string]: unknown;
|
|
11
|
-
} & {
|
|
12
|
-
/**
|
|
13
|
-
* OSSA API version (v0.3.0+ supports Task and Workflow kinds)
|
|
14
|
-
*/
|
|
15
|
-
apiVersion: string;
|
|
16
|
-
/**
|
|
17
|
-
* Resource type: Agent (agentic loops), Task (deterministic steps), or Workflow (composition)
|
|
18
|
-
*/
|
|
19
|
-
kind: "Agent" | "Task" | "Workflow";
|
|
20
|
-
metadata: Metadata;
|
|
21
|
-
/**
|
|
22
|
-
* Specification varies based on kind
|
|
23
|
-
*/
|
|
24
|
-
spec?: {
|
|
25
|
-
[k: string]: unknown;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Framework-specific extensions
|
|
29
|
-
*/
|
|
30
|
-
extensions?: {
|
|
31
|
-
mcp?: MCPExtension;
|
|
32
|
-
[k: string]: unknown;
|
|
33
|
-
};
|
|
34
|
-
runtime?: RuntimeBinding;
|
|
35
|
-
[k: string]: unknown;
|
|
36
|
-
};
|
|
37
|
-
export interface Metadata {
|
|
38
|
-
/**
|
|
39
|
-
* Resource identifier (DNS-1123 subdomain format for Kubernetes compatibility)
|
|
40
|
-
*/
|
|
41
|
-
name: string;
|
|
42
|
-
/**
|
|
43
|
-
* Semantic version (semver 2.0.0)
|
|
44
|
-
*/
|
|
45
|
-
version?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Human-readable description
|
|
48
|
-
*/
|
|
49
|
-
description?: string;
|
|
50
|
-
/**
|
|
51
|
-
* Key-value labels for organization and filtering
|
|
52
|
-
*/
|
|
53
|
-
labels?: {
|
|
54
|
-
[k: string]: string;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Arbitrary metadata for tooling
|
|
58
|
-
*/
|
|
59
|
-
annotations?: {
|
|
60
|
-
[k: string]: string;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Model Context Protocol (MCP) extension for agents - supports tools, resources, and prompts
|
|
65
|
-
*/
|
|
66
|
-
export interface MCPExtension {
|
|
67
|
-
/**
|
|
68
|
-
* Whether MCP is enabled for this agent
|
|
69
|
-
*/
|
|
70
|
-
enabled?: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* MCP server transport mechanism
|
|
73
|
-
*/
|
|
74
|
-
server_type?: "stdio" | "http" | "sse";
|
|
75
|
-
/**
|
|
76
|
-
* Name of the MCP server
|
|
77
|
-
*/
|
|
78
|
-
server_name?: string;
|
|
79
|
-
/**
|
|
80
|
-
* MCP tools (functions/actions the agent can invoke)
|
|
81
|
-
*/
|
|
82
|
-
tools?: MCPTool[];
|
|
83
|
-
/**
|
|
84
|
-
* MCP resources (read-only context/data sources)
|
|
85
|
-
*/
|
|
86
|
-
resources?: MCPResource[];
|
|
87
|
-
/**
|
|
88
|
-
* MCP prompts (templated workflows and interactions)
|
|
89
|
-
*/
|
|
90
|
-
prompts?: MCPPrompt[];
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* MCP tool definition - actions/functions the agent can invoke
|
|
94
|
-
*/
|
|
95
|
-
export interface MCPTool {
|
|
96
|
-
/**
|
|
97
|
-
* Unique tool name
|
|
98
|
-
*/
|
|
99
|
-
name: string;
|
|
100
|
-
/**
|
|
101
|
-
* Human-readable description of what the tool does
|
|
102
|
-
*/
|
|
103
|
-
description?: string;
|
|
104
|
-
input_schema?: JSONSchemaDefinition;
|
|
105
|
-
inputSchema?: JSONSchemaDefinition1;
|
|
106
|
-
[k: string]: unknown;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* JSON Schema for tool input parameters (snake_case)
|
|
110
|
-
*/
|
|
111
|
-
export interface JSONSchemaDefinition {
|
|
112
|
-
type?: "object" | "array" | "string" | "number" | "integer" | "boolean" | "null";
|
|
113
|
-
properties?: {
|
|
114
|
-
[k: string]: unknown;
|
|
115
|
-
};
|
|
116
|
-
required?: string[];
|
|
117
|
-
items?: {
|
|
118
|
-
[k: string]: unknown;
|
|
119
|
-
};
|
|
120
|
-
additionalProperties?: boolean | {
|
|
121
|
-
[k: string]: unknown;
|
|
122
|
-
};
|
|
123
|
-
minItems?: 0;
|
|
124
|
-
[k: string]: unknown;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* JSON Schema for tool input parameters (camelCase - MCP SDK convention)
|
|
128
|
-
*/
|
|
129
|
-
export interface JSONSchemaDefinition1 {
|
|
130
|
-
type?: "object" | "array" | "string" | "number" | "integer" | "boolean" | "null";
|
|
131
|
-
properties?: {
|
|
132
|
-
[k: string]: unknown;
|
|
133
|
-
};
|
|
134
|
-
required?: string[];
|
|
135
|
-
items?: {
|
|
136
|
-
[k: string]: unknown;
|
|
137
|
-
};
|
|
138
|
-
additionalProperties?: boolean | {
|
|
139
|
-
[k: string]: unknown;
|
|
140
|
-
};
|
|
141
|
-
minItems?: 0;
|
|
142
|
-
[k: string]: unknown;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* MCP resource definition - read-only context and data sources
|
|
146
|
-
*/
|
|
147
|
-
export interface MCPResource {
|
|
148
|
-
/**
|
|
149
|
-
* Unique resource identifier (URI)
|
|
150
|
-
*/
|
|
151
|
-
uri: string;
|
|
152
|
-
/**
|
|
153
|
-
* Human-readable resource name
|
|
154
|
-
*/
|
|
155
|
-
name: string;
|
|
156
|
-
/**
|
|
157
|
-
* Description of the resource and its contents
|
|
158
|
-
*/
|
|
159
|
-
description?: string;
|
|
160
|
-
/**
|
|
161
|
-
* MIME type of the resource content
|
|
162
|
-
*/
|
|
163
|
-
mimeType?: string;
|
|
164
|
-
/**
|
|
165
|
-
* Additional resource metadata
|
|
166
|
-
*/
|
|
167
|
-
metadata?: {
|
|
168
|
-
[k: string]: unknown;
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* MCP prompt definition - templated messages and workflows
|
|
173
|
-
*/
|
|
174
|
-
export interface MCPPrompt {
|
|
175
|
-
/**
|
|
176
|
-
* Unique prompt identifier
|
|
177
|
-
*/
|
|
178
|
-
name: string;
|
|
179
|
-
/**
|
|
180
|
-
* Human-readable description of the prompt purpose
|
|
181
|
-
*/
|
|
182
|
-
description?: string;
|
|
183
|
-
/**
|
|
184
|
-
* Template arguments that can be substituted
|
|
185
|
-
*/
|
|
186
|
-
arguments?: MCPPromptArgument[];
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Argument definition for MCP prompts
|
|
190
|
-
*/
|
|
191
|
-
export interface MCPPromptArgument {
|
|
192
|
-
/**
|
|
193
|
-
* Argument name
|
|
194
|
-
*/
|
|
195
|
-
name: string;
|
|
196
|
-
/**
|
|
197
|
-
* Description of what this argument represents
|
|
198
|
-
*/
|
|
199
|
-
description?: string;
|
|
200
|
-
/**
|
|
201
|
-
* Whether this argument is required
|
|
202
|
-
*/
|
|
203
|
-
required?: boolean;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Runtime-specific capability bindings (for Task and Workflow kinds)
|
|
207
|
-
*/
|
|
208
|
-
export interface RuntimeBinding {
|
|
209
|
-
/**
|
|
210
|
-
* Primary runtime type
|
|
211
|
-
*/
|
|
212
|
-
type?: "unified" | "google-a2a" | "gitlab-duo" | "ossa-mesh" | "mcp" | "local" | "drupal" | "symfony_messenger" | "kagent" | "temporal" | "node";
|
|
213
|
-
/**
|
|
214
|
-
* List of compatible runtimes
|
|
215
|
-
*/
|
|
216
|
-
supports?: ("google-a2a" | "gitlab-duo" | "ossa-mesh" | "mcp" | "local-execution" | "kubernetes" | "serverless" | "lambda" | "cloudflare-workers" | "drupal" | "symfony")[];
|
|
217
|
-
/**
|
|
218
|
-
* Message transport for async runtimes
|
|
219
|
-
*/
|
|
220
|
-
transport?: string;
|
|
221
|
-
scheduling?: SchedulingConfig;
|
|
222
|
-
resource_limits?: ResourceLimits;
|
|
223
|
-
/**
|
|
224
|
-
* External runtime extensions
|
|
225
|
-
*/
|
|
226
|
-
extensions?: RuntimeExtension[];
|
|
227
|
-
/**
|
|
228
|
-
* Map of capability names to runtime-specific handlers
|
|
229
|
-
*/
|
|
230
|
-
bindings?: {
|
|
231
|
-
[k: string]: {
|
|
232
|
-
/**
|
|
233
|
-
* Handler class/function (e.g., 'Drupal\node\NodeQuery::getList')
|
|
234
|
-
*/
|
|
235
|
-
handler?: string;
|
|
236
|
-
/**
|
|
237
|
-
* MCP server name for MCP-based bindings
|
|
238
|
-
*/
|
|
239
|
-
mcp_server?: string;
|
|
240
|
-
/**
|
|
241
|
-
* Tool name within MCP server
|
|
242
|
-
*/
|
|
243
|
-
tool?: string;
|
|
244
|
-
/**
|
|
245
|
-
* Additional binding configuration
|
|
246
|
-
*/
|
|
247
|
-
config?: {
|
|
248
|
-
[k: string]: unknown;
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Agent scheduling configuration
|
|
255
|
-
*/
|
|
256
|
-
export interface SchedulingConfig {
|
|
257
|
-
/**
|
|
258
|
-
* Scheduling strategy
|
|
259
|
-
*/
|
|
260
|
-
strategy?: "fair" | "priority" | "deadline" | "cost-optimized";
|
|
261
|
-
/**
|
|
262
|
-
* Execution priority
|
|
263
|
-
*/
|
|
264
|
-
priority?: "critical" | "high" | "normal" | "low" | "background";
|
|
265
|
-
/**
|
|
266
|
-
* Maximum concurrent executions
|
|
267
|
-
*/
|
|
268
|
-
max_concurrent?: number;
|
|
269
|
-
/**
|
|
270
|
-
* Execution timeout in seconds
|
|
271
|
-
*/
|
|
272
|
-
timeout_seconds?: number;
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Compute resource constraints
|
|
276
|
-
*/
|
|
277
|
-
export interface ResourceLimits {
|
|
278
|
-
/**
|
|
279
|
-
* Memory limit in megabytes
|
|
280
|
-
*/
|
|
281
|
-
memory_mb?: number;
|
|
282
|
-
/**
|
|
283
|
-
* CPU limit in millicores (1000 = 1 CPU)
|
|
284
|
-
*/
|
|
285
|
-
cpu_millicores?: number;
|
|
286
|
-
/**
|
|
287
|
-
* Requires GPU acceleration
|
|
288
|
-
*/
|
|
289
|
-
gpu_required?: boolean;
|
|
290
|
-
/**
|
|
291
|
-
* Required GPU type (e.g., nvidia-a100, nvidia-h100)
|
|
292
|
-
*/
|
|
293
|
-
gpu_type?: string;
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* External runtime extension (A2A compatible)
|
|
297
|
-
*/
|
|
298
|
-
export interface RuntimeExtension {
|
|
299
|
-
/**
|
|
300
|
-
* Extension protocol type
|
|
301
|
-
*/
|
|
302
|
-
type: "http" | "grpc" | "mcp" | "websocket" | "kafka" | "pubsub";
|
|
303
|
-
/**
|
|
304
|
-
* Extension name
|
|
305
|
-
*/
|
|
306
|
-
name: string;
|
|
307
|
-
/**
|
|
308
|
-
* Extension endpoint URL
|
|
309
|
-
*/
|
|
310
|
-
endpoint?: string;
|
|
311
|
-
/**
|
|
312
|
-
* Reference to credentials for authentication
|
|
313
|
-
*/
|
|
314
|
-
credentials_ref?: string;
|
|
315
|
-
}
|
|
316
|
-
//# sourceMappingURL=ossa-0.3.0.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ossa-0.3.0.types.d.ts","sourceRoot":"","sources":["../../../src/types/generated/ossa-0.3.0.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
/**
|
|
3
|
-
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
-
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
-
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
-
*/
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=ossa-0.3.0.types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ossa-0.3.0.types.js","sourceRoot":"","sources":["../../../src/types/generated/ossa-0.3.0.types.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
declare const _default: z.ZodIntersection<z.ZodObject<{
|
|
3
|
-
apiVersion: z.ZodString;
|
|
4
|
-
kind: z.ZodEnum<{
|
|
5
|
-
Task: "Task";
|
|
6
|
-
Agent: "Agent";
|
|
7
|
-
Workflow: "Workflow";
|
|
8
|
-
}>;
|
|
9
|
-
metadata: z.ZodAny;
|
|
10
|
-
spec: z.ZodOptional<z.ZodAny>;
|
|
11
|
-
extensions: z.ZodOptional<z.ZodObject<{
|
|
12
|
-
mcp: z.ZodOptional<z.ZodAny>;
|
|
13
|
-
}, z.core.$catchall<z.ZodAny>>>;
|
|
14
|
-
runtime: z.ZodOptional<z.ZodAny>;
|
|
15
|
-
}, z.core.$strip>, z.ZodIntersection<z.ZodAny, z.ZodIntersection<z.ZodAny, z.ZodAny>>>;
|
|
16
|
-
export default _default;
|
|
17
|
-
//# sourceMappingURL=ossa-0.3.0.zod.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ossa-0.3.0.zod.d.ts","sourceRoot":"","sources":["../../../src/types/generated/ossa-0.3.0.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;AAEvB,wBAAohC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export default z.object({ "apiVersion": z.string().regex(new RegExp("^ossa/v(0\\.3\\.[0-9]+(-[a-zA-Z0-9]+)?|0\\.2\\.[2-9](-dev)?|1)(\\.[0-9]+)?(-[a-zA-Z0-9]+)?$")).describe("OSSA API version (v0.3.0+ supports Task and Workflow kinds)"), "kind": z.enum(["Agent", "Task", "Workflow"]).describe("Resource type: Agent (agentic loops), Task (deterministic steps), or Workflow (composition)"), "metadata": z.any(), "spec": z.any().describe("Specification varies based on kind").optional(), "extensions": z.object({ "mcp": z.any().optional() }).catchall(z.any()).describe("Framework-specific extensions").optional(), "runtime": z.any().describe("Runtime-specific capability bindings (for Task and Workflow kinds)").optional() }).and(z.intersection(z.any(), z.intersection(z.any(), z.any()))).describe("Open Standard for Scalable AI Agents (OSSA) v0.3.0 - Unified Task Schema. Supports Agent (agentic loops with LLM), Task (deterministic workflow steps), and Workflow (composition of Tasks and Agents) kinds Includes Agent-to-Agent Messaging Extension.");
|
|
3
|
-
//# sourceMappingURL=ossa-0.3.0.zod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ossa-0.3.0.zod.js","sourceRoot":"","sources":["../../../src/types/generated/ossa-0.3.0.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,6FAA6F,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAC,MAAM,EAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,6FAA6F,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2PAA2P,CAAC,CAAA"}
|