@bluefly/openstandardagents 0.2.5-RC → 0.2.7
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/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
- package/.github/workflows/dependabot-comment.yml +34 -0
- package/.github/workflows/pr-comment.yml +33 -0
- package/.husky/pre-commit +5 -0
- package/.kiro/config.json +21 -0
- package/.kiro/settings/mcp.json +61 -0
- package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
- package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
- package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
- package/.kiro/specs/website-brand-identity/tasks.md +981 -0
- package/CHANGELOG.md +23 -0
- package/README.md +12 -3
- package/bin/ossa-dev +42 -0
- package/bin/ossa-export +32 -0
- package/bin/ossa-generate +60 -0
- package/bin/ossa-health +40 -0
- package/bin/ossa-init +26 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +15 -10
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/github-sync/github-client.d.ts +14 -0
- package/dist/services/github-sync/github-client.d.ts.map +1 -0
- package/dist/services/github-sync/github-client.js +41 -0
- package/dist/services/github-sync/github-client.js.map +1 -0
- package/dist/services/github-sync/gitlab-client.d.ts +17 -0
- package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
- package/dist/services/github-sync/gitlab-client.js +42 -0
- package/dist/services/github-sync/gitlab-client.js.map +1 -0
- package/dist/services/github-sync/schemas.d.ts +46 -0
- package/dist/services/github-sync/schemas.d.ts.map +1 -0
- package/dist/services/github-sync/schemas.js +36 -0
- package/dist/services/github-sync/schemas.js.map +1 -0
- package/dist/services/github-sync/sync.service.d.ts +27 -0
- package/dist/services/github-sync/sync.service.d.ts.map +1 -0
- package/dist/services/github-sync/sync.service.js +99 -0
- package/dist/services/github-sync/sync.service.js.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.js +245 -0
- package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.js +287 -0
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.js +169 -0
- package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
- package/dist/services/runtime/claude/types.d.ts +115 -0
- package/dist/services/runtime/claude/types.d.ts.map +1 -0
- package/dist/services/runtime/claude/types.js +6 -0
- package/dist/services/runtime/claude/types.js.map +1 -0
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +12 -1
- package/dist/services/validation.service.js.map +1 -1
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.6/README.md +72 -0
- package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
- package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/dist/spec/v0.2.6-dev/README.md +75 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6-dev/ossa-0.2.5.schema.json} +9 -9
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/{spec/v0.2.4/ossa-0.2.4-dev.schema.json → dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json} +9 -9
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
- package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/docs/brand-guide/01-brand-overview.md +37 -0
- package/docs/brand-guide/02-logo-usage.md +43 -0
- package/docs/brand-guide/03-color-palette.md +70 -0
- package/docs/brand-guide/04-typography.md +82 -0
- package/docs/brand-guide/05-voice-and-tone.md +108 -0
- package/docs/brand-guide/06-visual-elements.md +137 -0
- package/docs/brand-guide/07-application-examples.md +153 -0
- package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
- package/docs/brand-guide/OssaLogo/brand.af +0 -0
- package/docs/brand-guide/README.md +107 -0
- package/docs/comparison.md +315 -0
- package/docs/operations/automation-roadmap.md +245 -0
- package/docs/operations/github-sync-strategy.md +357 -0
- package/examples/anthropic/claude-assistant.ossa.json +5 -4
- package/examples/autogen/multi-agent.ossa.json +6 -4
- package/examples/crewai/research-team.ossa.json +14 -5
- package/examples/cursor/code-review-agent.ossa.json +21 -6
- package/examples/langchain/chain-agent.ossa.json +21 -5
- package/examples/langflow/workflow-agent.ossa.json +2 -3
- package/examples/langgraph/state-machine-agent.ossa.json +2 -3
- package/examples/llamaindex/rag-agent.ossa.json +2 -3
- package/examples/openai/multi-tool-agent.ossa.json +32 -9
- package/examples/openai/swarm-agent.ossa.json +18 -5
- package/examples/vercel/edge-agent.ossa.json +5 -4
- package/openapi/github-sync.yaml +115 -0
- package/package.json +25 -4
- package/scripts/README.md +103 -0
- package/scripts/auto-rebase-mrs.ts +106 -0
- package/scripts/batch-dependabot.sh +57 -0
- package/scripts/configure-gitlab-branch-protection.ts +95 -0
- package/scripts/create-issue-helper.ts +238 -0
- package/scripts/create-milestone-issue.ts +73 -0
- package/scripts/fix-schema-formats.js +82 -0
- package/scripts/generate-agents-catalog.ts +77 -0
- package/scripts/generate-api-docs.ts +218 -0
- package/scripts/generate-cli-docs.ts +410 -0
- package/scripts/generate-config-docs.ts +109 -0
- package/scripts/generate-errors-docs.ts +76 -0
- package/scripts/generate-examples-docs.ts +99 -0
- package/scripts/generate-schema-docs.ts +296 -0
- package/scripts/generate-types-docs.ts +48 -0
- package/scripts/lowercase-docs.ts +43 -0
- package/scripts/manage-milestone-mrs.ts +279 -0
- package/scripts/rebase-all-mrs.sh +75 -0
- package/scripts/sync-github-pr.sh +48 -0
- package/scripts/sync-version.js +40 -0
- package/scripts/sync-wiki.sh +50 -0
- package/scripts/validate-all.js +127 -0
- package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/spec/v0.2.6/CHANGELOG.md +401 -0
- package/spec/v0.2.6/README.md +72 -0
- package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
- package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/spec/v0.2.6-dev/README.md +75 -0
- package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +1696 -0
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/spec/v0.2.7/core/agentgraph.md +324 -0
- package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
- package/website/app/about/page.tsx +53 -44
- package/website/app/ecosystem/page.tsx +146 -111
- package/website/app/globals.scss +256 -21
- package/website/app/page.tsx +394 -182
- package/website/app/page.tsx.bak +679 -0
- package/website/app/page.tsx.bak2 +649 -0
- package/website/app/schema/page.tsx +3 -3
- package/website/app/specification/page.tsx +1 -1
- package/website/components/layout/Header.tsx +27 -23
- package/website/components/ui/Badge.tsx +82 -0
- package/website/components/ui/Button.tsx +116 -0
- package/website/components/ui/Card.tsx +167 -0
- package/website/components/ui/Checkbox.tsx +141 -0
- package/website/components/ui/Input.tsx +169 -0
- package/website/components/ui/Radio.tsx +141 -0
- package/website/components/ui/Select.tsx +182 -0
- package/website/components/ui/Tag.tsx +158 -0
- package/website/components/ui/Textarea.tsx +195 -0
- package/website/components/ui/index.ts +11 -0
- package/website/content/docs/{00-HOME.md → 00-home.md} +1 -1
- package/website/content/docs/agents/catalog.md +28 -0
- package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
- package/website/content/docs/api-reference/index.md +38 -0
- package/website/content/docs/api-reference/ossa-core-api.md +634 -0
- package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
- package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
- package/website/content/docs/cli-reference/index.md +111 -0
- package/website/content/docs/cli-reference/ossa-agents.md +70 -0
- package/website/content/docs/cli-reference/ossa-export.md +56 -0
- package/website/content/docs/cli-reference/ossa-generate.md +66 -0
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
- package/website/content/docs/cli-reference/ossa-import.md +56 -0
- package/website/content/docs/cli-reference/ossa-init.md +57 -0
- package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
- package/website/content/docs/cli-reference/ossa-run.md +66 -0
- package/website/content/docs/cli-reference/ossa-schema.md +57 -0
- package/website/content/docs/cli-reference/ossa-setup.md +57 -0
- package/website/content/docs/cli-reference/ossa-validate.md +66 -0
- package/website/content/docs/configuration/index.md +97 -0
- package/website/content/docs/deployment/github-mirroring.md +924 -0
- package/website/content/docs/documentation.md +100 -0
- package/website/content/docs/ecosystem/framework-support.md +551 -9
- package/website/content/docs/errors/index.md +10 -0
- package/website/content/docs/examples/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
- package/website/content/docs/examples/catalog.md +300 -0
- package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
- package/website/content/docs/getting-started/{Installation.md → installation.md} +1 -1
- package/website/content/docs/getting-started.md +1 -1
- package/website/content/docs/integrations/aiflow.md +2 -2
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
- package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +7 -7
- package/website/content/docs/migration-guides/langchain-to-ossa.md +4 -4
- package/website/content/docs/openapi-extensions/index.md +1 -1
- package/website/content/docs/ossa-compliant-badge.md +1 -1
- package/website/content/docs/pre-release/index.md +5 -5
- package/website/content/docs/releases/v0.2.6.md +99 -0
- package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
- package/website/content/docs/schema-reference/agent-id.md +52 -0
- package/website/content/docs/schema-reference/agent-name.md +50 -0
- package/website/content/docs/schema-reference/agent-role.md +54 -0
- package/website/content/docs/schema-reference/agent-version.md +50 -0
- package/website/content/docs/schema-reference/index.md +26 -157
- package/website/content/docs/types-reference/index.md +105 -0
- package/website/content/docs/versioning.md +3 -3
- package/website/dev.sh +53 -0
- package/website/docker-compose.dev.yml +36 -0
- package/website/lib/version.ts +1 -1
- package/website/lib/versions.json +45 -20
- package/website/package.json +1 -1
- package/website/styles/_spacing.scss +453 -0
- package/website/styles/_tokens.scss +245 -0
- package/website/styles/_typography.scss +361 -0
- package/website/styles/_variables.scss +270 -19
- package/website/tailwind.config.ts +113 -79
- package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
- package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
- package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
- package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
- package/docs/issue-19-completion-summary.md +0 -648
- package/docs/issue-19-validation.md +0 -351
- package/website/content/docs/Examples.md +0 -71
- package/website/content/docs/OpenAPI-Extensions.md +0 -934
- package/website/content/docs/core-concepts/Project-Structure.md +0 -348
- package/website/content/docs/examples/Migration-Guides.md +0 -214
- package/website/content/docs/for-audiences/Architects.md +0 -224
- package/website/content/docs/for-audiences/Developers.md +0 -220
- package/website/content/docs/for-audiences/Enterprises.md +0 -256
- package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
- package/website/content/docs/getting-started/First-Agent.md +0 -196
- package/website/content/docs/getting-started/Hello-World.md +0 -184
- package/website/content/docs/migration-guides/00-INDEX.md +0 -76
- package/website/content/docs/migration-guides/README.md +0 -133
- /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
- /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
|
@@ -0,0 +1,581 @@
|
|
|
1
|
+
ossaVersion: '0.2.5'
|
|
2
|
+
|
|
3
|
+
# OSSA (Open Standard for Smart & Scalable Agents) - Version 0.2.5
|
|
4
|
+
# The OpenAPI for AI Agents
|
|
5
|
+
#
|
|
6
|
+
# DEVELOPMENT VERSION - APIs and schemas may change without notice
|
|
7
|
+
#
|
|
8
|
+
# This specification defines a standard format for AI agent definition,
|
|
9
|
+
# deployment, and orchestration across heterogeneous environments.
|
|
10
|
+
#
|
|
11
|
+
# v0.2.5-RC NEW FEATURES:
|
|
12
|
+
# - Transport metadata for capabilities (streaming, protocol binding)
|
|
13
|
+
# - State/memory block for agent state management
|
|
14
|
+
# - Enhanced security with scopes and compliance tags
|
|
15
|
+
# - Capability versioning and deprecation support
|
|
16
|
+
# - Google ADK extension for Agent Development Kit integration
|
|
17
|
+
|
|
18
|
+
spec:
|
|
19
|
+
title: OSSA 0.2.5 Specification
|
|
20
|
+
description: Open Standard for Smart & Scalable Agents - Development Release
|
|
21
|
+
version: '0.2.5'
|
|
22
|
+
status: development
|
|
23
|
+
license: Apache-2.0
|
|
24
|
+
maintainer: OSSA Working Group
|
|
25
|
+
website: https://openstandardagents.org
|
|
26
|
+
repository: https://github.com/ossa-standard/specification
|
|
27
|
+
|
|
28
|
+
# ==============================================================================
|
|
29
|
+
# NEW IN v0.2.5: Transport Metadata
|
|
30
|
+
# ==============================================================================
|
|
31
|
+
# Transport configuration for protocol-specific settings
|
|
32
|
+
# Supports ADK, A2A, MCP, and other protocols with streaming
|
|
33
|
+
|
|
34
|
+
transport:
|
|
35
|
+
description: |
|
|
36
|
+
Transport metadata defines how capabilities communicate over different protocols.
|
|
37
|
+
This is essential for:
|
|
38
|
+
- Google ADK bidirectional streaming
|
|
39
|
+
- A2A protocol agent-to-agent communication
|
|
40
|
+
- MCP tool server integration
|
|
41
|
+
- gRPC streaming services
|
|
42
|
+
|
|
43
|
+
schema:
|
|
44
|
+
protocol:
|
|
45
|
+
type: enum
|
|
46
|
+
values: [http, grpc, a2a, mcp, websocket, custom]
|
|
47
|
+
description: Transport protocol for the capability
|
|
48
|
+
|
|
49
|
+
streaming:
|
|
50
|
+
type: enum
|
|
51
|
+
values: [none, request, response, bidirectional]
|
|
52
|
+
default: none
|
|
53
|
+
description: |
|
|
54
|
+
Streaming mode:
|
|
55
|
+
- none: Standard request/response
|
|
56
|
+
- request: Client streams to server
|
|
57
|
+
- response: Server streams to client (SSE, streaming LLM)
|
|
58
|
+
- bidirectional: Full duplex (WebSocket, gRPC bidirectional)
|
|
59
|
+
|
|
60
|
+
binding:
|
|
61
|
+
type: string
|
|
62
|
+
description: |
|
|
63
|
+
Path or endpoint binding specific to the protocol:
|
|
64
|
+
- HTTP: "/api/v1/chat"
|
|
65
|
+
- gRPC: "myservice.MyMethod"
|
|
66
|
+
- MCP: Tool name
|
|
67
|
+
- A2A: Action path
|
|
68
|
+
|
|
69
|
+
content_type:
|
|
70
|
+
type: string
|
|
71
|
+
examples:
|
|
72
|
+
- application/json
|
|
73
|
+
- application/x-ndjson # For streaming
|
|
74
|
+
- text/event-stream # For SSE
|
|
75
|
+
|
|
76
|
+
examples:
|
|
77
|
+
# HTTP streaming response (common for LLM)
|
|
78
|
+
- protocol: http
|
|
79
|
+
streaming: response
|
|
80
|
+
binding: /api/v1/chat/stream
|
|
81
|
+
content_type: text/event-stream
|
|
82
|
+
|
|
83
|
+
# gRPC bidirectional (for real-time agents)
|
|
84
|
+
- protocol: grpc
|
|
85
|
+
streaming: bidirectional
|
|
86
|
+
binding: AgentService.StreamChat
|
|
87
|
+
|
|
88
|
+
# A2A protocol
|
|
89
|
+
- protocol: a2a
|
|
90
|
+
streaming: none
|
|
91
|
+
binding: /tasks/send
|
|
92
|
+
|
|
93
|
+
# MCP tool
|
|
94
|
+
- protocol: mcp
|
|
95
|
+
streaming: none
|
|
96
|
+
binding: query_database
|
|
97
|
+
|
|
98
|
+
# ==============================================================================
|
|
99
|
+
# NEW IN v0.2.5: State/Memory Block
|
|
100
|
+
# ==============================================================================
|
|
101
|
+
# Agent state management configuration
|
|
102
|
+
# Essential for OpenAI SDK, Microsoft Autogen Framework, and long-running agents
|
|
103
|
+
|
|
104
|
+
state:
|
|
105
|
+
description: |
|
|
106
|
+
State configuration defines how an agent manages memory and context.
|
|
107
|
+
Critical for:
|
|
108
|
+
- Session continuity (OpenAI Agents SDK)
|
|
109
|
+
- Long-running workflows (MS Autogen Framework)
|
|
110
|
+
- RAG systems with context retention
|
|
111
|
+
- Multi-turn conversations
|
|
112
|
+
|
|
113
|
+
schema:
|
|
114
|
+
mode:
|
|
115
|
+
type: enum
|
|
116
|
+
values: [stateless, session, long_running]
|
|
117
|
+
default: stateless
|
|
118
|
+
description: |
|
|
119
|
+
State management mode:
|
|
120
|
+
- stateless: No state between requests
|
|
121
|
+
- session: State retained for session duration
|
|
122
|
+
- long_running: Persistent state across sessions
|
|
123
|
+
|
|
124
|
+
storage:
|
|
125
|
+
type: object
|
|
126
|
+
properties:
|
|
127
|
+
type:
|
|
128
|
+
type: enum
|
|
129
|
+
values: [memory, vector-db, kv, rdbms, custom]
|
|
130
|
+
default: memory
|
|
131
|
+
description: |
|
|
132
|
+
Storage backend:
|
|
133
|
+
- memory: In-process (lost on restart)
|
|
134
|
+
- vector-db: Vector database (Pinecone, Weaviate, etc.)
|
|
135
|
+
- kv: Key-value store (Redis, DynamoDB)
|
|
136
|
+
- rdbms: Relational database
|
|
137
|
+
- custom: Custom implementation
|
|
138
|
+
|
|
139
|
+
retention:
|
|
140
|
+
type: string
|
|
141
|
+
examples: [24h, 7d, 30d, 1y, forever]
|
|
142
|
+
description: How long to retain state
|
|
143
|
+
|
|
144
|
+
config:
|
|
145
|
+
type: object
|
|
146
|
+
description: Storage-specific configuration
|
|
147
|
+
|
|
148
|
+
context_window:
|
|
149
|
+
type: object
|
|
150
|
+
properties:
|
|
151
|
+
max_messages:
|
|
152
|
+
type: integer
|
|
153
|
+
description: Maximum messages to retain in context
|
|
154
|
+
max_tokens:
|
|
155
|
+
type: integer
|
|
156
|
+
description: Maximum tokens to retain
|
|
157
|
+
strategy:
|
|
158
|
+
type: enum
|
|
159
|
+
values: [sliding_window, summarization, importance_weighted]
|
|
160
|
+
default: sliding_window
|
|
161
|
+
description: How to manage context when limits exceeded
|
|
162
|
+
|
|
163
|
+
examples:
|
|
164
|
+
# Stateless API agent
|
|
165
|
+
- mode: stateless
|
|
166
|
+
|
|
167
|
+
# Session-based chat agent
|
|
168
|
+
- mode: session
|
|
169
|
+
storage:
|
|
170
|
+
type: memory
|
|
171
|
+
retention: 24h
|
|
172
|
+
context_window:
|
|
173
|
+
max_messages: 50
|
|
174
|
+
strategy: sliding_window
|
|
175
|
+
|
|
176
|
+
# Long-running workflow agent
|
|
177
|
+
- mode: long_running
|
|
178
|
+
storage:
|
|
179
|
+
type: vector-db
|
|
180
|
+
retention: 1y
|
|
181
|
+
config:
|
|
182
|
+
provider: pinecone
|
|
183
|
+
index: agent-memory
|
|
184
|
+
context_window:
|
|
185
|
+
max_tokens: 128000
|
|
186
|
+
strategy: summarization
|
|
187
|
+
|
|
188
|
+
# ==============================================================================
|
|
189
|
+
# NEW IN v0.2.5: Enhanced Security with Scopes
|
|
190
|
+
# ==============================================================================
|
|
191
|
+
# Fine-grained permission scopes and compliance tags
|
|
192
|
+
|
|
193
|
+
security_scopes:
|
|
194
|
+
description: |
|
|
195
|
+
Security scopes provide fine-grained access control for capabilities.
|
|
196
|
+
Similar to OAuth2 scopes but for agent capabilities.
|
|
197
|
+
|
|
198
|
+
schema:
|
|
199
|
+
scopes:
|
|
200
|
+
type: array
|
|
201
|
+
items: string
|
|
202
|
+
description: |
|
|
203
|
+
Required permission scopes for the capability:
|
|
204
|
+
- read:data - Read access to data
|
|
205
|
+
- write:data - Write access to data
|
|
206
|
+
- admin:system - Administrative operations
|
|
207
|
+
- execute:code - Code execution permissions
|
|
208
|
+
|
|
209
|
+
compliance_tags:
|
|
210
|
+
type: array
|
|
211
|
+
items: string
|
|
212
|
+
description: |
|
|
213
|
+
Compliance framework tags:
|
|
214
|
+
- pii - Handles personally identifiable information
|
|
215
|
+
- hipaa - HIPAA compliance required
|
|
216
|
+
- gdpr - GDPR compliance required
|
|
217
|
+
- fedramp - FedRAMP requirements
|
|
218
|
+
- soc2 - SOC2 Type II controls
|
|
219
|
+
|
|
220
|
+
examples:
|
|
221
|
+
# Database query capability with scopes
|
|
222
|
+
- name: query_database
|
|
223
|
+
scopes:
|
|
224
|
+
- read:data
|
|
225
|
+
- execute:query
|
|
226
|
+
compliance_tags:
|
|
227
|
+
- pii
|
|
228
|
+
- gdpr
|
|
229
|
+
|
|
230
|
+
# Admin capability with elevated permissions
|
|
231
|
+
- name: manage_users
|
|
232
|
+
scopes:
|
|
233
|
+
- admin:users
|
|
234
|
+
- write:data
|
|
235
|
+
compliance_tags:
|
|
236
|
+
- pii
|
|
237
|
+
- soc2
|
|
238
|
+
- hipaa
|
|
239
|
+
|
|
240
|
+
# ==============================================================================
|
|
241
|
+
# NEW IN v0.2.5: Capability Versioning
|
|
242
|
+
# ==============================================================================
|
|
243
|
+
# Version capabilities independently for backward compatibility
|
|
244
|
+
|
|
245
|
+
capability_versioning:
|
|
246
|
+
description: |
|
|
247
|
+
Capabilities can be versioned independently of the agent.
|
|
248
|
+
Supports deprecation with migration paths.
|
|
249
|
+
|
|
250
|
+
schema:
|
|
251
|
+
version:
|
|
252
|
+
type: string
|
|
253
|
+
pattern: '^[0-9]+\.[0-9]+$'
|
|
254
|
+
description: |
|
|
255
|
+
Capability version in major.minor format.
|
|
256
|
+
- Major: Breaking changes
|
|
257
|
+
- Minor: New features, backward compatible
|
|
258
|
+
|
|
259
|
+
deprecated:
|
|
260
|
+
type: boolean
|
|
261
|
+
default: false
|
|
262
|
+
description: Whether capability is deprecated
|
|
263
|
+
|
|
264
|
+
deprecation_message:
|
|
265
|
+
type: string
|
|
266
|
+
description: |
|
|
267
|
+
Migration guidance for deprecated capabilities.
|
|
268
|
+
Should include:
|
|
269
|
+
- When it will be removed
|
|
270
|
+
- What to use instead
|
|
271
|
+
- Migration steps
|
|
272
|
+
|
|
273
|
+
examples:
|
|
274
|
+
# Current capability
|
|
275
|
+
- name: search_documents
|
|
276
|
+
version: '2.1'
|
|
277
|
+
deprecated: false
|
|
278
|
+
|
|
279
|
+
# Deprecated capability with migration path
|
|
280
|
+
- name: search_legacy
|
|
281
|
+
version: '1.0'
|
|
282
|
+
deprecated: true
|
|
283
|
+
deprecation_message: |
|
|
284
|
+
Deprecated in v0.2.4. Will be removed in v0.3.0.
|
|
285
|
+
Use 'search_documents' capability instead.
|
|
286
|
+
Migration: Change capability name and update input schema
|
|
287
|
+
to use 'query' instead of 'search_term'.
|
|
288
|
+
|
|
289
|
+
# ==============================================================================
|
|
290
|
+
# NEW IN v0.2.5: Google ADK Extension
|
|
291
|
+
# ==============================================================================
|
|
292
|
+
# Integration with Google's Agent Development Kit
|
|
293
|
+
|
|
294
|
+
google_adk_extension:
|
|
295
|
+
description: |
|
|
296
|
+
Google Agent Development Kit (ADK) integration.
|
|
297
|
+
Supports LLM agents, workflow agents, and multi-agent orchestration.
|
|
298
|
+
|
|
299
|
+
schema:
|
|
300
|
+
enabled:
|
|
301
|
+
type: boolean
|
|
302
|
+
default: false
|
|
303
|
+
|
|
304
|
+
agent_type:
|
|
305
|
+
type: enum
|
|
306
|
+
values: [llm_agent, sequential_agent, parallel_agent, loop_agent, custom]
|
|
307
|
+
default: llm_agent
|
|
308
|
+
description: |
|
|
309
|
+
ADK agent architecture:
|
|
310
|
+
- llm_agent: Single LLM-powered agent
|
|
311
|
+
- sequential_agent: Pipeline of agents
|
|
312
|
+
- parallel_agent: Concurrent agent execution
|
|
313
|
+
- loop_agent: Iterative agent with conditions
|
|
314
|
+
|
|
315
|
+
model:
|
|
316
|
+
type: string
|
|
317
|
+
examples: [gemini-2.0-flash-exp, gemini-1.5-pro]
|
|
318
|
+
|
|
319
|
+
session:
|
|
320
|
+
type: object
|
|
321
|
+
properties:
|
|
322
|
+
service:
|
|
323
|
+
type: enum
|
|
324
|
+
values: [in_memory, database, vertex_ai]
|
|
325
|
+
state_schema:
|
|
326
|
+
type: object
|
|
327
|
+
description: Session state schema definition
|
|
328
|
+
|
|
329
|
+
memory:
|
|
330
|
+
type: object
|
|
331
|
+
properties:
|
|
332
|
+
enabled: boolean
|
|
333
|
+
service:
|
|
334
|
+
type: enum
|
|
335
|
+
values: [in_memory, vertex_ai_rag]
|
|
336
|
+
|
|
337
|
+
examples:
|
|
338
|
+
# Simple LLM agent
|
|
339
|
+
- enabled: true
|
|
340
|
+
agent_type: llm_agent
|
|
341
|
+
model: gemini-2.0-flash-exp
|
|
342
|
+
session:
|
|
343
|
+
service: in_memory
|
|
344
|
+
|
|
345
|
+
# Multi-agent orchestration
|
|
346
|
+
- enabled: true
|
|
347
|
+
agent_type: sequential_agent
|
|
348
|
+
sub_agents:
|
|
349
|
+
- research-agent
|
|
350
|
+
- writing-agent
|
|
351
|
+
- review-agent
|
|
352
|
+
|
|
353
|
+
# ==============================================================================
|
|
354
|
+
# Complete Agent Manifest Example (v0.2.5)
|
|
355
|
+
# ==============================================================================
|
|
356
|
+
|
|
357
|
+
example_manifest:
|
|
358
|
+
apiVersion: ossa/v0.2.5
|
|
359
|
+
kind: Agent
|
|
360
|
+
metadata:
|
|
361
|
+
name: research-assistant
|
|
362
|
+
version: 1.0.0
|
|
363
|
+
description: AI research assistant with memory and streaming support
|
|
364
|
+
labels:
|
|
365
|
+
domain: research
|
|
366
|
+
tier: production
|
|
367
|
+
annotations:
|
|
368
|
+
openstandardagents.org/stability: development
|
|
369
|
+
|
|
370
|
+
spec:
|
|
371
|
+
role: |
|
|
372
|
+
You are a research assistant that helps users find and analyze information.
|
|
373
|
+
You maintain context across conversations and can search multiple sources.
|
|
374
|
+
|
|
375
|
+
llm:
|
|
376
|
+
provider: google
|
|
377
|
+
model: gemini-2.0-flash-exp
|
|
378
|
+
temperature: 0.7
|
|
379
|
+
maxTokens: 8192
|
|
380
|
+
|
|
381
|
+
# NEW: State/memory configuration
|
|
382
|
+
state:
|
|
383
|
+
mode: session
|
|
384
|
+
storage:
|
|
385
|
+
type: vector-db
|
|
386
|
+
retention: 30d
|
|
387
|
+
config:
|
|
388
|
+
provider: pinecone
|
|
389
|
+
index: research-memory
|
|
390
|
+
context_window:
|
|
391
|
+
max_messages: 100
|
|
392
|
+
max_tokens: 32000
|
|
393
|
+
strategy: summarization
|
|
394
|
+
|
|
395
|
+
tools:
|
|
396
|
+
- type: http
|
|
397
|
+
name: search-api
|
|
398
|
+
endpoint: https://api.example.com/search
|
|
399
|
+
# NEW: Transport metadata
|
|
400
|
+
transport:
|
|
401
|
+
protocol: http
|
|
402
|
+
streaming: response
|
|
403
|
+
binding: /v1/search/stream
|
|
404
|
+
content_type: text/event-stream
|
|
405
|
+
auth:
|
|
406
|
+
type: bearer
|
|
407
|
+
credentials: secret:search-api-key
|
|
408
|
+
# NEW: Security scopes
|
|
409
|
+
scopes:
|
|
410
|
+
- read:search
|
|
411
|
+
- read:documents
|
|
412
|
+
# NEW: Compliance tags
|
|
413
|
+
compliance_tags:
|
|
414
|
+
- gdpr
|
|
415
|
+
capabilities:
|
|
416
|
+
- name: web_search
|
|
417
|
+
description: Search the web for information
|
|
418
|
+
# NEW: Capability versioning
|
|
419
|
+
version: '2.0'
|
|
420
|
+
deprecated: false
|
|
421
|
+
input_schema:
|
|
422
|
+
type: object
|
|
423
|
+
properties:
|
|
424
|
+
query:
|
|
425
|
+
type: string
|
|
426
|
+
output_schema:
|
|
427
|
+
type: array
|
|
428
|
+
items:
|
|
429
|
+
type: object
|
|
430
|
+
# NEW: Per-capability transport
|
|
431
|
+
transport:
|
|
432
|
+
protocol: http
|
|
433
|
+
streaming: response
|
|
434
|
+
# NEW: Per-capability scopes
|
|
435
|
+
scopes:
|
|
436
|
+
- read:search
|
|
437
|
+
|
|
438
|
+
- name: legacy_search
|
|
439
|
+
description: Old search endpoint
|
|
440
|
+
version: '1.0'
|
|
441
|
+
# NEW: Deprecation
|
|
442
|
+
deprecated: true
|
|
443
|
+
deprecation_message: |
|
|
444
|
+
Use 'web_search' instead. Will be removed in v2.0.0.
|
|
445
|
+
|
|
446
|
+
autonomy:
|
|
447
|
+
level: autonomous
|
|
448
|
+
approval_required: false
|
|
449
|
+
allowed_actions:
|
|
450
|
+
- search
|
|
451
|
+
- summarize
|
|
452
|
+
- analyze
|
|
453
|
+
|
|
454
|
+
constraints:
|
|
455
|
+
cost:
|
|
456
|
+
maxTokensPerDay: 1000000
|
|
457
|
+
maxCostPerDay: 50
|
|
458
|
+
currency: USD
|
|
459
|
+
performance:
|
|
460
|
+
maxLatencySeconds: 30
|
|
461
|
+
maxConcurrentRequests: 10
|
|
462
|
+
|
|
463
|
+
observability:
|
|
464
|
+
tracing:
|
|
465
|
+
enabled: true
|
|
466
|
+
exporter: otlp
|
|
467
|
+
metrics:
|
|
468
|
+
enabled: true
|
|
469
|
+
exporter: prometheus
|
|
470
|
+
logging:
|
|
471
|
+
level: info
|
|
472
|
+
format: json
|
|
473
|
+
|
|
474
|
+
extensions:
|
|
475
|
+
# NEW: Google ADK extension
|
|
476
|
+
google_adk:
|
|
477
|
+
enabled: true
|
|
478
|
+
agent_type: llm_agent
|
|
479
|
+
model: gemini-2.0-flash-exp
|
|
480
|
+
session:
|
|
481
|
+
service: in_memory
|
|
482
|
+
state_schema:
|
|
483
|
+
search_history: array
|
|
484
|
+
current_topic: string
|
|
485
|
+
memory:
|
|
486
|
+
enabled: true
|
|
487
|
+
service: vertex_ai_rag
|
|
488
|
+
callbacks:
|
|
489
|
+
before_model_callback: validate_input
|
|
490
|
+
after_model_callback: log_response
|
|
491
|
+
|
|
492
|
+
openai_agents:
|
|
493
|
+
enabled: true
|
|
494
|
+
model: gpt-4o
|
|
495
|
+
memory:
|
|
496
|
+
enabled: true
|
|
497
|
+
type: session
|
|
498
|
+
max_messages: 100
|
|
499
|
+
|
|
500
|
+
mcp:
|
|
501
|
+
enabled: true
|
|
502
|
+
server_type: sse
|
|
503
|
+
config:
|
|
504
|
+
max_message_size: 1048576
|
|
505
|
+
|
|
506
|
+
# ==============================================================================
|
|
507
|
+
# Migration Notes
|
|
508
|
+
# ==============================================================================
|
|
509
|
+
|
|
510
|
+
migration:
|
|
511
|
+
from_v0.2.3:
|
|
512
|
+
breaking_changes: none
|
|
513
|
+
new_optional_fields:
|
|
514
|
+
- spec.state
|
|
515
|
+
- spec.tools[].transport
|
|
516
|
+
- spec.tools[].capabilities[].version
|
|
517
|
+
- spec.tools[].capabilities[].deprecated
|
|
518
|
+
- spec.tools[].capabilities[].deprecation_message
|
|
519
|
+
- spec.tools[].capabilities[].scopes
|
|
520
|
+
- spec.tools[].capabilities[].compliance_tags
|
|
521
|
+
- spec.tools[].auth.scopes
|
|
522
|
+
- spec.tools[].compliance_tags
|
|
523
|
+
- extensions.google_adk
|
|
524
|
+
recommended_actions:
|
|
525
|
+
- Add state configuration for stateful agents
|
|
526
|
+
- Add transport metadata for streaming capabilities
|
|
527
|
+
- Add compliance tags for regulated environments
|
|
528
|
+
- Version capabilities for better API lifecycle management
|
|
529
|
+
|
|
530
|
+
# ==============================================================================
|
|
531
|
+
# Best Practices (v0.2.5)
|
|
532
|
+
# ==============================================================================
|
|
533
|
+
|
|
534
|
+
best_practices:
|
|
535
|
+
# State management
|
|
536
|
+
- Use stateless mode for simple request/response agents
|
|
537
|
+
- Use session mode for chat and conversational agents
|
|
538
|
+
- Use long_running mode for workflow agents with persistent state
|
|
539
|
+
- Configure appropriate retention periods to manage storage costs
|
|
540
|
+
|
|
541
|
+
# Transport
|
|
542
|
+
- Use streaming: response for LLM text generation
|
|
543
|
+
- Use streaming: bidirectional for real-time collaborative agents
|
|
544
|
+
- Specify content_type for HTTP transports to ensure compatibility
|
|
545
|
+
|
|
546
|
+
# Security
|
|
547
|
+
- Apply least-privilege scopes to each capability
|
|
548
|
+
- Tag all capabilities that handle PII with appropriate compliance tags
|
|
549
|
+
- Use compliance_tags consistently across related capabilities
|
|
550
|
+
|
|
551
|
+
# Versioning
|
|
552
|
+
- Version capabilities when making API changes
|
|
553
|
+
- Use deprecation_message to provide clear migration paths
|
|
554
|
+
- Allow deprecation period of at least one minor version
|
|
555
|
+
|
|
556
|
+
# Google ADK
|
|
557
|
+
- Use appropriate agent_type based on workflow complexity
|
|
558
|
+
- Enable memory service for agents requiring long-term context
|
|
559
|
+
- Configure session state schema for type safety
|
|
560
|
+
|
|
561
|
+
# ==============================================================================
|
|
562
|
+
# Development Notes
|
|
563
|
+
# ==============================================================================
|
|
564
|
+
|
|
565
|
+
development_notes:
|
|
566
|
+
status: DEVELOPMENT VERSION - APIs may change
|
|
567
|
+
stability: unstable
|
|
568
|
+
feedback: https://github.com/blueflyio/openstandardagents/issues
|
|
569
|
+
planned_ga: v0.3.0
|
|
570
|
+
|
|
571
|
+
known_limitations:
|
|
572
|
+
- Transport metadata validation is experimental
|
|
573
|
+
- State storage backends limited to documented types
|
|
574
|
+
- Capability versioning pattern may be refined
|
|
575
|
+
- Google ADK extension is based on ADK preview release
|
|
576
|
+
|
|
577
|
+
upcoming_features:
|
|
578
|
+
- Agent composition patterns
|
|
579
|
+
- Distributed state management
|
|
580
|
+
- Cross-agent memory sharing
|
|
581
|
+
- Enhanced A2A protocol support
|
package/{spec/v0.2.4/ossa-0.2.4-dev.schema.json → dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://openstandardagents.org/schemas/v0.2.
|
|
4
|
-
"title": "OSSA v0.2.
|
|
5
|
-
"description": "Open Standard for Scalable AI Agents (OSSA) - The OpenAPI for AI Agents. Specification for declarative agent definition with framework-agnostic portability.
|
|
3
|
+
"$id": "https://openstandardagents.org/schemas/v0.2.6/agent.json",
|
|
4
|
+
"title": "OSSA v0.2.6 Agent Manifest Schema",
|
|
5
|
+
"description": "Open Standard for Scalable AI Agents (OSSA) - The OpenAPI for AI Agents. Specification for declarative agent definition with framework-agnostic portability.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
8
|
"apiVersion",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"properties": {
|
|
14
14
|
"apiVersion": {
|
|
15
15
|
"type": "string",
|
|
16
|
-
"pattern": "^ossa/v(0\\.2\\.[2-
|
|
17
|
-
"description": "OSSA API version (supports ossa/v0.2.2, ossa/v0.2.3, ossa/v0.2.
|
|
16
|
+
"pattern": "^ossa/v(0\\.2\\.[2-5](-dev)?|1)(\\.[0-9]+)?(-[a-zA-Z0-9]+)?$",
|
|
17
|
+
"description": "OSSA API version (supports ossa/v0.2.2, ossa/v0.2.3, ossa/v0.2.5, or ossa/v1 for compatibility)",
|
|
18
18
|
"examples": [
|
|
19
19
|
"ossa/v1",
|
|
20
|
-
"ossa/v0.2.
|
|
20
|
+
"ossa/v0.2.5",
|
|
21
21
|
"ossa/v0.2.3",
|
|
22
22
|
"ossa/v0.2.2",
|
|
23
23
|
"ossa/v1.0"
|
|
@@ -412,7 +412,7 @@
|
|
|
412
412
|
},
|
|
413
413
|
"Transport": {
|
|
414
414
|
"type": "object",
|
|
415
|
-
"description": "Transport metadata for protocol-specific configuration (v0.2.
|
|
415
|
+
"description": "Transport metadata for protocol-specific configuration (v0.2.5)",
|
|
416
416
|
"properties": {
|
|
417
417
|
"protocol": {
|
|
418
418
|
"type": "string",
|
|
@@ -455,7 +455,7 @@
|
|
|
455
455
|
},
|
|
456
456
|
"State": {
|
|
457
457
|
"type": "object",
|
|
458
|
-
"description": "Agent state and memory configuration (v0.2.
|
|
458
|
+
"description": "Agent state and memory configuration (v0.2.5)",
|
|
459
459
|
"properties": {
|
|
460
460
|
"mode": {
|
|
461
461
|
"type": "string",
|
|
@@ -1593,7 +1593,7 @@
|
|
|
1593
1593
|
},
|
|
1594
1594
|
"GoogleADKExtension": {
|
|
1595
1595
|
"type": "object",
|
|
1596
|
-
"description": "Google Agent Development Kit (ADK) integration extension (v0.2.
|
|
1596
|
+
"description": "Google Agent Development Kit (ADK) integration extension (v0.2.5)",
|
|
1597
1597
|
"properties": {
|
|
1598
1598
|
"enabled": {
|
|
1599
1599
|
"type": "boolean",
|