@bluefly/openstandardagents 0.2.7 → 0.2.8
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/.devfile.yaml +1 -1
- package/.env.example +1 -1
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +11 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +171 -243
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +6 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +49 -27
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/migration.service.d.ts +4 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +11 -10
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/release.service.js +1 -1
- package/dist/services/release-automation/release.service.js.map +1 -1
- package/dist/services/release-automation/schemas/release.schema.js +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +1 -1
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.8/README.md +72 -0
- package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/version.d.ts +68 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +156 -0
- package/dist/utils/version.js.map +1 -0
- package/eslint-report.json +1 -0
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
- package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
- package/examples/common_npm/agent-router.ossa.yaml +1 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/README.md +74 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
- package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/spec-examples/audit-agent.yml +1 -1
- package/examples/spec-examples/chat-agent.yml +1 -1
- package/examples/spec-examples/compliance-agent.yml +1 -1
- package/examples/spec-examples/monitoring-agent.yml +1 -1
- package/examples/spec-examples/workflow-agent.yml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/gl-code-quality-report.json +62 -0
- package/llms-ctx-full.txt +39 -0
- package/llms-ctx.txt +39 -0
- package/llms.txt +47 -0
- package/package.json +3 -2
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +31 -10
- package/scripts/sync-version.js +4 -12
- package/scripts/validate-schema.ts +2 -1
- package/spec/v0.2.8/CHANGELOG.md +401 -0
- package/spec/v0.2.8/README.md +72 -0
- package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/{dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json → spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/test-results/junit.xml +299 -0
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- package/scripts/lib/exec.ts +0 -37
- package/scripts/lib/file-ops.ts +0 -58
- package/scripts/lib/version.ts +0 -83
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- package/website/.lighthouserc.ts +0 -24
- package/website/.prettierrc +0 -10
- package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
- package/website/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -304
- package/website/app/blog/[slug]/page.tsx +0 -208
- package/website/app/blog/page.tsx +0 -249
- package/website/app/design-guide/page.tsx +0 -511
- package/website/app/docs/[[...slug]]/page.tsx +0 -847
- package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
- package/website/app/ecosystem/page.tsx +0 -410
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -370
- package/website/app/layout.tsx +0 -106
- package/website/app/license/page.tsx +0 -183
- package/website/app/not-found.tsx +0 -18
- package/website/app/page.tsx +0 -686
- package/website/app/page.tsx.bak +0 -679
- package/website/app/page.tsx.bak2 +0 -649
- package/website/app/playground/page.tsx +0 -487
- package/website/app/robots.ts +0 -19
- package/website/app/rss.xml/route.ts +0 -74
- package/website/app/schema/page.tsx +0 -1001
- package/website/app/sitemap.ts +0 -56
- package/website/app/specification/page.tsx +0 -287
- package/website/components/InstallCommand.tsx +0 -96
- package/website/components/Logo.tsx +0 -97
- package/website/components/StructuredData.tsx +0 -65
- package/website/components/docs/DocsSearch.tsx +0 -104
- package/website/components/docs/DocsSidebar.tsx +0 -155
- package/website/components/docs/MarkdownContent.tsx +0 -401
- package/website/components/docs/VersionSelector.tsx +0 -105
- package/website/components/examples/ExamplesViewer.tsx +0 -293
- package/website/components/layout/Footer.tsx +0 -116
- package/website/components/layout/Header.tsx +0 -172
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- package/website/components/ui/Badge.tsx +0 -82
- package/website/components/ui/Button.tsx +0 -116
- package/website/components/ui/Card.tsx +0 -167
- package/website/components/ui/Checkbox.tsx +0 -141
- package/website/components/ui/Input.tsx +0 -169
- package/website/components/ui/Radio.tsx +0 -141
- package/website/components/ui/Select.tsx +0 -182
- package/website/components/ui/Tag.tsx +0 -158
- package/website/components/ui/Textarea.tsx +0 -195
- package/website/components/ui/index.ts +0 -11
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
- package/website/content/blog/introducing-ossa-framework.md +0 -328
- package/website/content/blog/ossa-production-results.md +0 -279
- package/website/content/blog/welcome-to-ossa.md +0 -43
- package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
- package/website/content/docs/00-home.md +0 -153
- package/website/content/docs/adapters/openai-adapter.md +0 -693
- package/website/content/docs/agents/catalog.md +0 -28
- package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/api-reference/index.md +0 -38
- package/website/content/docs/api-reference/ossa-core-api.md +0 -634
- package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
- package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
- package/website/content/docs/architecture/execution-flow.md +0 -335
- package/website/content/docs/architecture/multi-agent-systems.md +0 -737
- package/website/content/docs/architecture/overview.md +0 -121
- package/website/content/docs/architecture/stack-integration.md +0 -461
- package/website/content/docs/changelog.md +0 -246
- package/website/content/docs/cli-reference/index.md +0 -111
- package/website/content/docs/cli-reference/ossa-agents.md +0 -70
- package/website/content/docs/cli-reference/ossa-export.md +0 -56
- package/website/content/docs/cli-reference/ossa-generate.md +0 -66
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
- package/website/content/docs/cli-reference/ossa-import.md +0 -56
- package/website/content/docs/cli-reference/ossa-init.md +0 -57
- package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
- package/website/content/docs/cli-reference/ossa-run.md +0 -66
- package/website/content/docs/cli-reference/ossa-schema.md +0 -57
- package/website/content/docs/cli-reference/ossa-setup.md +0 -57
- package/website/content/docs/cli-reference/ossa-validate.md +0 -66
- package/website/content/docs/configuration/index.md +0 -97
- package/website/content/docs/contributing.md +0 -599
- package/website/content/docs/deployment/github-mirroring.md +0 -924
- package/website/content/docs/documentation.md +0 -100
- package/website/content/docs/ecosystem/framework-support.md +0 -1361
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/errors/index.md +0 -10
- package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/examples/catalog.md +0 -300
- package/website/content/docs/for-audiences/students-researchers.md +0 -122
- package/website/content/docs/getting-started/index.md +0 -92
- package/website/content/docs/getting-started/installation.md +0 -155
- package/website/content/docs/getting-started/running-agents.md +0 -309
- package/website/content/docs/getting-started.md +0 -91
- package/website/content/docs/integrations/aiflow.md +0 -104
- package/website/content/docs/integrations/drupal.md +0 -105
- package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
- package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
- package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
- package/website/content/docs/migration-guides/index.md +0 -133
- package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
- package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
- package/website/content/docs/migration-guides/migration-manifest.json +0 -64
- package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
- package/website/content/docs/openapi-extensions/examples.md +0 -550
- package/website/content/docs/openapi-extensions/index.md +0 -551
- package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
- package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
- package/website/content/docs/ossa-compliant-badge.md +0 -251
- package/website/content/docs/pre-release/index.md +0 -175
- package/website/content/docs/quick-reference.md +0 -17
- package/website/content/docs/readme.md +0 -35
- package/website/content/docs/releases/v0.2.6.md +0 -99
- package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
- package/website/content/docs/schema-reference/agent-id.md +0 -52
- package/website/content/docs/schema-reference/agent-name.md +0 -50
- package/website/content/docs/schema-reference/agent-role.md +0 -54
- package/website/content/docs/schema-reference/agent-spec.md +0 -406
- package/website/content/docs/schema-reference/agent-version.md +0 -50
- package/website/content/docs/schema-reference/autonomy.md +0 -568
- package/website/content/docs/schema-reference/constraints.md +0 -543
- package/website/content/docs/schema-reference/index.md +0 -45
- package/website/content/docs/schema-reference/llm-config.md +0 -445
- package/website/content/docs/schema-reference/observability.md +0 -654
- package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
- package/website/content/docs/schema-reference/taxonomy.md +0 -509
- package/website/content/docs/schema-reference/tools.md +0 -628
- package/website/content/docs/templates/blog-post.md +0 -43
- package/website/content/docs/types-reference/index.md +0 -105
- package/website/content/docs/use-cases/00-index.md +0 -395
- package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
- package/website/content/docs/use-cases/customer-support.md +0 -1234
- package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
- package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
- package/website/content/docs/versioning.md +0 -288
- package/website/dev.sh +0 -53
- package/website/docker-compose.dev.yml +0 -36
- package/website/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -103
- package/website/next.config.ts +0 -18
- package/website/nginx.conf +0 -32
- package/website/package-lock.json +0 -9679
- package/website/package.json +0 -59
- package/website/postcss.config.mjs +0 -9
- package/website/scripts/fetch-versions.js +0 -166
- package/website/scripts/generate-examples-index.js +0 -163
- package/website/scripts/merge-docs-to-wiki.ts +0 -207
- package/website/scripts/sync-version.js +0 -72
- package/website/scripts/sync-wiki.ts +0 -322
- package/website/scripts/upload-wiki.ts +0 -199
- package/website/styles/_spacing.scss +0 -453
- package/website/styles/_tokens.scss +0 -245
- package/website/styles/_typography.scss +0 -361
- package/website/styles/_variables.scss +0 -287
- package/website/tailwind.config.ts +0 -170
|
@@ -1,457 +0,0 @@
|
|
|
1
|
-
# Operation-Level Extensions
|
|
2
|
-
|
|
3
|
-
Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, DELETE, etc.).
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## x-ossa-capability
|
|
8
|
-
|
|
9
|
-
Links an OpenAPI operation to an OSSA agent capability. Can be a simple string reference or a detailed capability object.
|
|
10
|
-
|
|
11
|
-
### Location
|
|
12
|
-
|
|
13
|
-
Operation object within path item
|
|
14
|
-
|
|
15
|
-
### Schema
|
|
16
|
-
|
|
17
|
-
**Simple string reference**:
|
|
18
|
-
```yaml
|
|
19
|
-
x-ossa-capability: "capability-name"
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Detailed object**:
|
|
23
|
-
```yaml
|
|
24
|
-
x-ossa-capability:
|
|
25
|
-
name: string # Capability name
|
|
26
|
-
description: string # Capability description (optional)
|
|
27
|
-
input: boolean # Whether this is an input capability (optional)
|
|
28
|
-
output: boolean # Whether this is an output capability (optional)
|
|
29
|
-
inputSchema: object # JSON Schema for capability input (optional)
|
|
30
|
-
outputSchema: object # JSON Schema for capability output (optional)
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Schema Reference Table:**
|
|
34
|
-
|
|
35
|
-
| Field | Type | Description |
|
|
36
|
-
|-------|------|-------------|
|
|
37
|
-
| `name` | string | Capability name |
|
|
38
|
-
| `description` | string | Capability description (optional) |
|
|
39
|
-
| `input` | boolean | Whether this is an input capability (optional) |
|
|
40
|
-
| `output` | boolean | Whether this is an output capability (optional) |
|
|
41
|
-
| `inputSchema` | object | JSON Schema for capability input (optional) |
|
|
42
|
-
| `outputSchema` | object | JSON Schema for capability output (optional) |
|
|
43
|
-
|
|
44
|
-
### Example
|
|
45
|
-
|
|
46
|
-
```yaml
|
|
47
|
-
paths:
|
|
48
|
-
/api/v1/process-data:
|
|
49
|
-
post:
|
|
50
|
-
summary: Process incoming data
|
|
51
|
-
operationId: processData
|
|
52
|
-
x-ossa-capability:
|
|
53
|
-
name: data-transformation
|
|
54
|
-
description: Transforms CSV data to JSON format
|
|
55
|
-
inputSchema:
|
|
56
|
-
type: object
|
|
57
|
-
required: [csvData]
|
|
58
|
-
properties:
|
|
59
|
-
csvData:
|
|
60
|
-
type: string
|
|
61
|
-
description: CSV content to transform
|
|
62
|
-
outputSchema:
|
|
63
|
-
type: object
|
|
64
|
-
properties:
|
|
65
|
-
jsonData:
|
|
66
|
-
type: array
|
|
67
|
-
items:
|
|
68
|
-
type: object
|
|
69
|
-
requestBody:
|
|
70
|
-
# ... request body ...
|
|
71
|
-
responses:
|
|
72
|
-
# ... responses ...
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Use Cases
|
|
76
|
-
|
|
77
|
-
- **Capability mapping** - Link API operations to agent capabilities
|
|
78
|
-
- **Schema validation** - Provide additional capability-level schemas
|
|
79
|
-
- **Documentation** - Describe what capability each operation provides
|
|
80
|
-
- **Discovery** - Enable capability-based API discovery
|
|
81
|
-
|
|
82
|
-
**Note**: The `inputSchema` and `outputSchema` should match the OpenAPI `requestBody` and `responses` schemas respectively, providing additional capability-level metadata.
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## x-ossa-autonomy
|
|
87
|
-
|
|
88
|
-
Defines autonomy level and approval requirements for operation execution.
|
|
89
|
-
|
|
90
|
-
### Location
|
|
91
|
-
|
|
92
|
-
Operation object within path item
|
|
93
|
-
|
|
94
|
-
### Schema
|
|
95
|
-
|
|
96
|
-
```yaml
|
|
97
|
-
x-ossa-autonomy:
|
|
98
|
-
level: string # "supervised" | "semi-autonomous" | "autonomous"
|
|
99
|
-
approval_required: boolean # Whether human approval is required
|
|
100
|
-
allowed_actions: string[] # List of allowed actions (optional)
|
|
101
|
-
blocked_actions: string[] # List of blocked actions (optional)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Schema Reference Table:**
|
|
105
|
-
|
|
106
|
-
| Field | Type | Description |
|
|
107
|
-
|-------|------|-------------|
|
|
108
|
-
| `level` | string | Autonomy level: "supervised" \| "autonomous" \| "semi-autonomous" |
|
|
109
|
-
| `approval_required` | boolean | Whether human approval is required |
|
|
110
|
-
| `allowed_actions` | string[] | List of allowed actions (optional) |
|
|
111
|
-
| `blocked_actions` | string[] | List of blocked actions (optional) |
|
|
112
|
-
|
|
113
|
-
### Autonomy Levels
|
|
114
|
-
|
|
115
|
-
| Level | Description |
|
|
116
|
-
|-------|-------------|
|
|
117
|
-
| `supervised` | Requires human approval before execution |
|
|
118
|
-
| `semi-autonomous` | Can execute with automatic approval under certain conditions |
|
|
119
|
-
| `autonomous` | Can execute without human intervention |
|
|
120
|
-
|
|
121
|
-
### Example
|
|
122
|
-
|
|
123
|
-
```yaml
|
|
124
|
-
paths:
|
|
125
|
-
/api/v1/delete-resource:
|
|
126
|
-
delete:
|
|
127
|
-
summary: Delete a resource
|
|
128
|
-
operationId: deleteResource
|
|
129
|
-
x-ossa-autonomy:
|
|
130
|
-
level: supervised
|
|
131
|
-
approval_required: true
|
|
132
|
-
allowed_actions:
|
|
133
|
-
- read_resource
|
|
134
|
-
- validate_deletion
|
|
135
|
-
blocked_actions:
|
|
136
|
-
- permanent_delete
|
|
137
|
-
- cascade_delete
|
|
138
|
-
parameters:
|
|
139
|
-
# ... parameters ...
|
|
140
|
-
responses:
|
|
141
|
-
# ... responses ...
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Use Cases
|
|
145
|
-
|
|
146
|
-
- **Safety controls** - Require approval for destructive operations
|
|
147
|
-
- **Action whitelisting** - Define what actions agent can perform
|
|
148
|
-
- **Action blacklisting** - Prevent specific dangerous actions
|
|
149
|
-
- **Governance** - Document approval workflows per operation
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## x-ossa-constraints
|
|
154
|
-
|
|
155
|
-
Defines cost, token, performance, and time constraints for operation execution.
|
|
156
|
-
|
|
157
|
-
### Location
|
|
158
|
-
|
|
159
|
-
Operation object within path item
|
|
160
|
-
|
|
161
|
-
### Schema
|
|
162
|
-
|
|
163
|
-
```yaml
|
|
164
|
-
x-ossa-constraints:
|
|
165
|
-
cost:
|
|
166
|
-
maxTokensPerDay: integer # Maximum tokens allowed per day
|
|
167
|
-
maxTokensPerRequest: integer # Maximum tokens allowed per request
|
|
168
|
-
maxCostPerDay: number # Maximum cost in USD per day
|
|
169
|
-
currency: string # Currency code (default: "USD")
|
|
170
|
-
performance:
|
|
171
|
-
maxLatencySeconds: number # Maximum acceptable latency in seconds
|
|
172
|
-
maxConcurrentRequests: integer # Maximum concurrent requests
|
|
173
|
-
time:
|
|
174
|
-
maxExecutionTime: integer # Maximum execution time in seconds
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
**Schema Reference Table:**
|
|
178
|
-
|
|
179
|
-
| Field | Type | Description |
|
|
180
|
-
|-------|------|-------------|
|
|
181
|
-
| `cost.maxTokensPerDay` | integer | Maximum tokens allowed per day |
|
|
182
|
-
| `cost.maxTokensPerRequest` | integer | Maximum tokens allowed per request |
|
|
183
|
-
| `cost.maxCostPerDay` | number | Maximum cost in USD per day |
|
|
184
|
-
| `cost.currency` | string | Currency code (default: "USD") |
|
|
185
|
-
| `performance.maxLatencySeconds` | number | Maximum acceptable latency in seconds |
|
|
186
|
-
| `performance.maxConcurrentRequests` | integer | Maximum concurrent requests |
|
|
187
|
-
| `time.maxExecutionTime` | integer | Maximum execution time in seconds |
|
|
188
|
-
|
|
189
|
-
### Example
|
|
190
|
-
|
|
191
|
-
```yaml
|
|
192
|
-
paths:
|
|
193
|
-
/api/v1/generate-report:
|
|
194
|
-
post:
|
|
195
|
-
summary: Generate comprehensive report
|
|
196
|
-
operationId: generateReport
|
|
197
|
-
x-ossa-constraints:
|
|
198
|
-
cost:
|
|
199
|
-
maxTokensPerDay: 50000
|
|
200
|
-
maxTokensPerRequest: 4000
|
|
201
|
-
maxCostPerDay: 10.0
|
|
202
|
-
currency: USD
|
|
203
|
-
performance:
|
|
204
|
-
maxLatencySeconds: 30
|
|
205
|
-
maxConcurrentRequests: 5
|
|
206
|
-
time:
|
|
207
|
-
maxExecutionTime: 300
|
|
208
|
-
requestBody:
|
|
209
|
-
# ... request body ...
|
|
210
|
-
responses:
|
|
211
|
-
# ... responses ...
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
### Use Cases
|
|
215
|
-
|
|
216
|
-
- **Cost control** - Prevent runaway LLM costs
|
|
217
|
-
- **Performance SLAs** - Define acceptable latency and throughput
|
|
218
|
-
- **Resource limits** - Control concurrent execution
|
|
219
|
-
- **Timeout handling** - Set maximum execution time
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## x-ossa-tools
|
|
224
|
-
|
|
225
|
-
Specifies MCP servers or tools required for operation execution.
|
|
226
|
-
|
|
227
|
-
### Location
|
|
228
|
-
|
|
229
|
-
Operation object within path item
|
|
230
|
-
|
|
231
|
-
### Schema
|
|
232
|
-
|
|
233
|
-
Each tool is an object in an array:
|
|
234
|
-
|
|
235
|
-
```yaml
|
|
236
|
-
x-ossa-tools:
|
|
237
|
-
- type: string # "mcp" | "http" | "custom"
|
|
238
|
-
server: string # Tool server identifier or URL
|
|
239
|
-
namespace: string # Namespace for the tool (optional, for MCP servers)
|
|
240
|
-
capabilities: string[] # List of tool capabilities (optional)
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
**Schema Reference Table:**
|
|
244
|
-
|
|
245
|
-
| Field | Type | Description |
|
|
246
|
-
|-------|------|-------------|
|
|
247
|
-
| `type` | string | Tool type: "mcp" \| "http" \| "custom" |
|
|
248
|
-
| `server` | string | Tool server identifier or URL |
|
|
249
|
-
| `namespace` | string | Namespace for the tool (optional, for MCP servers) |
|
|
250
|
-
| `capabilities` | string[] | List of tool capabilities (optional) |
|
|
251
|
-
|
|
252
|
-
### Example
|
|
253
|
-
|
|
254
|
-
```yaml
|
|
255
|
-
paths:
|
|
256
|
-
/api/v1/diagnose-issue:
|
|
257
|
-
post:
|
|
258
|
-
summary: Diagnose Kubernetes issue
|
|
259
|
-
operationId: diagnoseIssue
|
|
260
|
-
x-ossa-tools:
|
|
261
|
-
- type: mcp
|
|
262
|
-
server: kubernetes-mcp
|
|
263
|
-
namespace: default
|
|
264
|
-
capabilities:
|
|
265
|
-
- get_pods
|
|
266
|
-
- get_logs
|
|
267
|
-
- get_events
|
|
268
|
-
- describe_resource
|
|
269
|
-
- type: mcp
|
|
270
|
-
server: buildkit-agent-protocol
|
|
271
|
-
namespace: default
|
|
272
|
-
capabilities:
|
|
273
|
-
- search_documentation
|
|
274
|
-
- analyze_logs
|
|
275
|
-
requestBody:
|
|
276
|
-
# ... request body ...
|
|
277
|
-
responses:
|
|
278
|
-
# ... responses ...
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Use Cases
|
|
282
|
-
|
|
283
|
-
- **Tool requirements** - Document MCP servers needed per operation
|
|
284
|
-
- **Capability dependencies** - List specific tool capabilities required
|
|
285
|
-
- **Runtime validation** - Verify required tools are available
|
|
286
|
-
- **Documentation** - Auto-generate tool dependency graphs
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## x-ossa-llm
|
|
291
|
-
|
|
292
|
-
Overrides LLM configuration for a specific operation. Useful when different operations require different models or settings.
|
|
293
|
-
|
|
294
|
-
### Location
|
|
295
|
-
|
|
296
|
-
Operation object within path item
|
|
297
|
-
|
|
298
|
-
### Schema
|
|
299
|
-
|
|
300
|
-
```yaml
|
|
301
|
-
x-ossa-llm:
|
|
302
|
-
provider: string # "openai" | "anthropic" | "google" | "azure" | "custom"
|
|
303
|
-
model: string # Model identifier (e.g., "gpt-4", "claude-3-opus")
|
|
304
|
-
temperature: number # Sampling temperature (0-2, optional)
|
|
305
|
-
maxTokens: integer # Maximum tokens in response (optional)
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
**Schema Reference Table:**
|
|
309
|
-
|
|
310
|
-
| Field | Type | Description |
|
|
311
|
-
|-------|------|-------------|
|
|
312
|
-
| `provider` | string | Provider: "openai" \| "anthropic" \| "google" \| "azure" \| "custom" |
|
|
313
|
-
| `model` | string | Model identifier (e.g., "gpt-4", "claude-3-opus") |
|
|
314
|
-
| `temperature` | number | Sampling temperature (0-2, optional) |
|
|
315
|
-
| `maxTokens` | integer | Maximum tokens in response (optional) |
|
|
316
|
-
|
|
317
|
-
### Example
|
|
318
|
-
|
|
319
|
-
```yaml
|
|
320
|
-
paths:
|
|
321
|
-
/api/v1/analyze-code:
|
|
322
|
-
post:
|
|
323
|
-
summary: Analyze code for issues
|
|
324
|
-
operationId: analyzeCode
|
|
325
|
-
x-ossa-llm:
|
|
326
|
-
provider: openai
|
|
327
|
-
model: gpt-4
|
|
328
|
-
temperature: 0.2
|
|
329
|
-
maxTokens: 4000
|
|
330
|
-
requestBody:
|
|
331
|
-
# ... request body ...
|
|
332
|
-
responses:
|
|
333
|
-
# ... responses ...
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
### Use Cases
|
|
337
|
-
|
|
338
|
-
- **Model selection** - Use different models for different tasks
|
|
339
|
-
- **Temperature tuning** - Lower temperature for factual tasks, higher for creative
|
|
340
|
-
- **Token limits** - Control response size per operation
|
|
341
|
-
- **Cost optimization** - Use cheaper models for simple operations
|
|
342
|
-
|
|
343
|
-
**Note**: If `x-ossa-llm` is not specified at the operation level, the agent should use the default LLM configuration from the OSSA manifest or root-level configuration.
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
## Complete Operation Example
|
|
348
|
-
|
|
349
|
-
All extensions combined:
|
|
350
|
-
|
|
351
|
-
```yaml
|
|
352
|
-
paths:
|
|
353
|
-
/api/v1/diagnose/pod:
|
|
354
|
-
post:
|
|
355
|
-
summary: Diagnose pod issues
|
|
356
|
-
operationId: diagnosePod
|
|
357
|
-
tags: [Diagnostics]
|
|
358
|
-
|
|
359
|
-
# Link to capability
|
|
360
|
-
x-ossa-capability:
|
|
361
|
-
name: pod-diagnostics
|
|
362
|
-
description: Diagnose Kubernetes pod failures and issues
|
|
363
|
-
|
|
364
|
-
# Autonomy and safety
|
|
365
|
-
x-ossa-autonomy:
|
|
366
|
-
level: supervised
|
|
367
|
-
approval_required: true
|
|
368
|
-
allowed_actions:
|
|
369
|
-
- read_pods
|
|
370
|
-
- read_logs
|
|
371
|
-
- read_events
|
|
372
|
-
blocked_actions:
|
|
373
|
-
- delete_pods
|
|
374
|
-
- modify_configs
|
|
375
|
-
|
|
376
|
-
# Cost and performance constraints
|
|
377
|
-
x-ossa-constraints:
|
|
378
|
-
cost:
|
|
379
|
-
maxTokensPerDay: 50000
|
|
380
|
-
maxTokensPerRequest: 4000
|
|
381
|
-
maxCostPerDay: 10.0
|
|
382
|
-
currency: USD
|
|
383
|
-
performance:
|
|
384
|
-
maxLatencySeconds: 30
|
|
385
|
-
maxConcurrentRequests: 5
|
|
386
|
-
time:
|
|
387
|
-
maxExecutionTime: 300
|
|
388
|
-
|
|
389
|
-
# Required tools
|
|
390
|
-
x-ossa-tools:
|
|
391
|
-
- type: mcp
|
|
392
|
-
server: kubernetes-mcp
|
|
393
|
-
namespace: default
|
|
394
|
-
capabilities:
|
|
395
|
-
- get_pods
|
|
396
|
-
- get_logs
|
|
397
|
-
- get_events
|
|
398
|
-
|
|
399
|
-
# LLM configuration
|
|
400
|
-
x-ossa-llm:
|
|
401
|
-
provider: openai
|
|
402
|
-
model: gpt-4
|
|
403
|
-
temperature: 0.2
|
|
404
|
-
maxTokens: 4000
|
|
405
|
-
|
|
406
|
-
# Standard OpenAPI
|
|
407
|
-
requestBody:
|
|
408
|
-
required: true
|
|
409
|
-
content:
|
|
410
|
-
application/json:
|
|
411
|
-
schema:
|
|
412
|
-
type: object
|
|
413
|
-
required: [podName, namespace]
|
|
414
|
-
properties:
|
|
415
|
-
podName:
|
|
416
|
-
type: string
|
|
417
|
-
namespace:
|
|
418
|
-
type: string
|
|
419
|
-
|
|
420
|
-
responses:
|
|
421
|
-
'200':
|
|
422
|
-
description: Diagnosis complete
|
|
423
|
-
content:
|
|
424
|
-
application/json:
|
|
425
|
-
schema:
|
|
426
|
-
type: object
|
|
427
|
-
properties:
|
|
428
|
-
status:
|
|
429
|
-
type: string
|
|
430
|
-
issues:
|
|
431
|
-
type: array
|
|
432
|
-
items:
|
|
433
|
-
type: object
|
|
434
|
-
recommendations:
|
|
435
|
-
type: array
|
|
436
|
-
items:
|
|
437
|
-
type: string
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
---
|
|
441
|
-
|
|
442
|
-
## Best Practices
|
|
443
|
-
|
|
444
|
-
1. **Always define autonomy levels** - Especially for destructive operations
|
|
445
|
-
2. **Set realistic constraints** - Monitor actual usage to tune limits
|
|
446
|
-
3. **Document tool requirements** - List all MCP servers and capabilities needed
|
|
447
|
-
4. **Use appropriate LLM configs** - Match model to task complexity
|
|
448
|
-
5. **Link to capabilities** - Enable capability-based discovery
|
|
449
|
-
|
|
450
|
-
---
|
|
451
|
-
|
|
452
|
-
## References
|
|
453
|
-
|
|
454
|
-
- [Root-Level Extensions](root-extensions)
|
|
455
|
-
- [Examples & Patterns](examples)
|
|
456
|
-
- [OSSA Specification](/docs/specification)
|
|
457
|
-
- [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)
|