@bluefly/openstandardagents 0.2.7 → 0.2.9
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/.github/AGENTS.md +245 -0
- package/.github/agents/github-issue-triage.ossa.yaml +99 -0
- package/.github/agents/github-pr-triage.ossa.yaml +137 -0
- package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
- package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +44 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +103 -4
- package/README.md +178 -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/release-automation/webhook.service.js +3 -3
- package/dist/services/release-automation/webhook.service.js.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +2 -2
- 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/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/dist/spec/v0.2.9/agent.md +1946 -0
- package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/dist/spec/v0.2.9/capability-schema.md +576 -0
- package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
- package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
- package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
- package/dist/spec/v0.2.9/security-model.md +1245 -0
- package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
- package/dist/spec/v0.2.9/types.ts +522 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/policy.d.ts +377 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/policy.js +84 -0
- package/dist/types/policy.js.map +1 -0
- 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/docs/specs/policy-dsl.md +925 -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/reasoning-agent.yaml +136 -0
- 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/agents-md/code-agent.ossa.json +100 -0
- package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
- 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/agents-md-v1.yml +175 -0
- 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 +6 -3
- package/scripts/README.md +25 -0
- package/scripts/compliance-audit.ts +796 -0
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/generate-agents-catalog.ts +2 -1
- package/scripts/generate-api-docs.ts +2 -1
- package/scripts/generate-examples-docs.ts +2 -1
- 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/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/spec/v0.2.9/agent.md +1946 -0
- package/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/spec/v0.2.9/capability-schema.md +576 -0
- package/spec/v0.2.9/compliance-profiles.md +533 -0
- package/spec/v0.2.9/conformance-testing.md +1527 -0
- package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/spec/v0.2.9/runtime-semantics.md +464 -0
- package/spec/v0.2.9/security-model.md +1245 -0
- package/spec/v0.2.9/semantic-conventions.md +347 -0
- package/spec/v0.2.9/types.ts +522 -0
- package/test-results/junit.xml +337 -0
- package/.github/workflows/pr-comment.yml +0 -33
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
- 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/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
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const crypto = require('crypto');
|
|
4
|
+
|
|
5
|
+
const eslintResults = JSON.parse(fs.readFileSync(process.argv[2] || 'eslint-report.json', 'utf8'));
|
|
6
|
+
|
|
7
|
+
const codeQualityReport = [];
|
|
8
|
+
|
|
9
|
+
eslintResults.forEach(file => {
|
|
10
|
+
file.messages.forEach(msg => {
|
|
11
|
+
const fingerprint = crypto
|
|
12
|
+
.createHash('md5')
|
|
13
|
+
.update(`${file.filePath}:${msg.line}:${msg.ruleId}`)
|
|
14
|
+
.digest('hex');
|
|
15
|
+
|
|
16
|
+
codeQualityReport.push({
|
|
17
|
+
description: msg.message,
|
|
18
|
+
check_name: msg.ruleId || 'eslint',
|
|
19
|
+
fingerprint,
|
|
20
|
+
severity: msg.severity === 2 ? 'major' : 'minor',
|
|
21
|
+
location: {
|
|
22
|
+
path: file.filePath.replace(process.cwd() + '/', ''),
|
|
23
|
+
lines: {
|
|
24
|
+
begin: msg.line
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
fs.writeFileSync(
|
|
32
|
+
process.argv[3] || 'gl-code-quality-report.json',
|
|
33
|
+
JSON.stringify(codeQualityReport, null, 2)
|
|
34
|
+
);
|
|
@@ -23,7 +23,8 @@ function findAgents(): Agent[] {
|
|
|
23
23
|
const manifestPath = join(AGENTS_DIR, entry, 'manifest.ossa.yaml');
|
|
24
24
|
try {
|
|
25
25
|
const content = readFileSync(manifestPath, 'utf-8');
|
|
26
|
-
|
|
26
|
+
// Use safeLoad to prevent arbitrary code execution (CWE-502)
|
|
27
|
+
const data = yaml.load(content, { schema: yaml.JSON_SCHEMA }) as Record<string, unknown>;
|
|
27
28
|
|
|
28
29
|
if (data?.agent) {
|
|
29
30
|
agents.push({
|
|
@@ -154,7 +154,8 @@ function main() {
|
|
|
154
154
|
try {
|
|
155
155
|
const specPath = join(coreDir, file);
|
|
156
156
|
const specContent = readFileSync(specPath, 'utf-8');
|
|
157
|
-
|
|
157
|
+
// Use JSON_SCHEMA to prevent arbitrary code execution (CWE-502)
|
|
158
|
+
const spec = yaml.load(specContent, { schema: yaml.JSON_SCHEMA }) as OpenAPISpec;
|
|
158
159
|
|
|
159
160
|
const docContent = generateAPIDoc(spec, file);
|
|
160
161
|
const outputFile = join(OUTPUT_DIR, file.replace('.openapi.yaml', '.md'));
|
|
@@ -31,7 +31,8 @@ function findYamlFiles(dir: string, category: string = ''): Example[] {
|
|
|
31
31
|
} else if (entry.match(/\.(yaml|yml)$/)) {
|
|
32
32
|
try {
|
|
33
33
|
const content = readFileSync(fullPath, 'utf-8');
|
|
34
|
-
|
|
34
|
+
// Use JSON_SCHEMA to prevent arbitrary code execution (CWE-502)
|
|
35
|
+
const data = yaml.load(content, { schema: yaml.JSON_SCHEMA }) as any;
|
|
35
36
|
|
|
36
37
|
if (data?.agent) {
|
|
37
38
|
examples.push({
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Generate llms-ctx.txt files from llms.txt
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "Installing llms-txt..."
|
|
7
|
+
pip install llms-txt --quiet
|
|
8
|
+
|
|
9
|
+
echo "Generating llms-ctx.txt (without Optional)..."
|
|
10
|
+
llms_txt2ctx llms.txt > llms-ctx.txt
|
|
11
|
+
|
|
12
|
+
echo "Generating llms-ctx-full.txt (with Optional)..."
|
|
13
|
+
llms_txt2ctx llms.txt --optional True > llms-ctx-full.txt
|
|
14
|
+
|
|
15
|
+
echo "✅ Generated:"
|
|
16
|
+
echo " - llms-ctx.txt ($(wc -l < llms-ctx.txt) lines)"
|
|
17
|
+
echo " - llms-ctx-full.txt ($(wc -l < llms-ctx-full.txt) lines)"
|
|
@@ -5,8 +5,28 @@
|
|
|
5
5
|
* Usage: npm run docs:schema:generate
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
9
|
-
import { join } from 'path';
|
|
8
|
+
import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'fs';
|
|
9
|
+
import { join, resolve } from 'path';
|
|
10
|
+
|
|
11
|
+
// Dynamic version detection - find latest spec directory
|
|
12
|
+
function getLatestSchemaVersion(): { dir: string; file: string } {
|
|
13
|
+
const specDir = join(process.cwd(), 'spec');
|
|
14
|
+
const dirs = readdirSync(specDir, { withFileTypes: true })
|
|
15
|
+
.filter(d => d.isDirectory() && d.name.startsWith('v'))
|
|
16
|
+
.map(d => d.name)
|
|
17
|
+
.sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
|
|
18
|
+
|
|
19
|
+
if (dirs.length === 0) {
|
|
20
|
+
throw new Error('No schema version directories found in spec/');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const latestDir = dirs[0];
|
|
24
|
+
const version = latestDir.slice(1); // Remove 'v' prefix
|
|
25
|
+
return {
|
|
26
|
+
dir: latestDir,
|
|
27
|
+
file: `ossa-${version}.schema.json`
|
|
28
|
+
};
|
|
29
|
+
}
|
|
10
30
|
|
|
11
31
|
interface SchemaProperty {
|
|
12
32
|
type: string | string[];
|
|
@@ -25,8 +45,10 @@ interface SchemaProperty {
|
|
|
25
45
|
items?: SchemaProperty;
|
|
26
46
|
}
|
|
27
47
|
|
|
28
|
-
|
|
29
|
-
const
|
|
48
|
+
// Dynamic paths based on detected version
|
|
49
|
+
const schemaVersion = getLatestSchemaVersion();
|
|
50
|
+
const SPEC_DIR = join(process.cwd(), 'spec', schemaVersion.dir);
|
|
51
|
+
const OUTPUT_DIR = join(process.cwd(), 'docs/schema-reference');
|
|
30
52
|
|
|
31
53
|
// Field documentation metadata
|
|
32
54
|
const FIELD_DOCS: Record<string, {
|
|
@@ -211,8 +233,9 @@ function main() {
|
|
|
211
233
|
// Create output directory
|
|
212
234
|
mkdirSync(OUTPUT_DIR, { recursive: true });
|
|
213
235
|
|
|
214
|
-
// Read schema
|
|
215
|
-
const schemaPath = join(SPEC_DIR,
|
|
236
|
+
// Read schema dynamically
|
|
237
|
+
const schemaPath = join(SPEC_DIR, schemaVersion.file);
|
|
238
|
+
console.log(`📜 Using schema: ${schemaVersion.dir}/${schemaVersion.file}`);
|
|
216
239
|
const schemaContent = readFileSync(schemaPath, 'utf-8');
|
|
217
240
|
const schema = JSON.parse(schemaContent);
|
|
218
241
|
|
|
@@ -259,9 +282,7 @@ The OSSA schema defines the structure of agent manifests. Every field serves a s
|
|
|
259
282
|
|
|
260
283
|
## Schema Versions
|
|
261
284
|
|
|
262
|
-
- **Current**:
|
|
263
|
-
- **Stable**: v0.2.4
|
|
264
|
-
- **Previous**: v0.2.3, v0.2.2
|
|
285
|
+
- **Current**: ${schemaVersion.dir}
|
|
265
286
|
|
|
266
287
|
See [Versioning Guide](../guides/versioning.md) for migration information.
|
|
267
288
|
|
|
@@ -276,7 +297,7 @@ ossa validate agent.ossa.yaml
|
|
|
276
297
|
## Complete Schema
|
|
277
298
|
|
|
278
299
|
View the complete JSON Schema:
|
|
279
|
-
- [
|
|
300
|
+
- [${schemaVersion.dir} Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/${schemaVersion.dir}/${schemaVersion.file})
|
|
280
301
|
|
|
281
302
|
## Related Documentation
|
|
282
303
|
|
package/scripts/sync-version.js
CHANGED
|
@@ -5,18 +5,10 @@ import { resolve } from 'path';
|
|
|
5
5
|
|
|
6
6
|
const { version } = JSON.parse(readFileSync('package.json', 'utf-8'));
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
replacement: `version: '${version}'`
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
path: 'src/version.ts',
|
|
16
|
-
pattern: /VERSION\s*=\s*['"][\d.]+['"]/,
|
|
17
|
-
replacement: `VERSION = '${version}'`
|
|
18
|
-
}
|
|
19
|
-
];
|
|
8
|
+
// Website moved to openstandardagents.org repository
|
|
9
|
+
// Version is read from package.json at runtime via scripts/lib/version.ts
|
|
10
|
+
// No hardcoded version files to sync
|
|
11
|
+
const files = [];
|
|
20
12
|
|
|
21
13
|
console.log(`📦 Syncing version: ${version}\n`);
|
|
22
14
|
|
|
@@ -33,7 +33,8 @@ async function main() {
|
|
|
33
33
|
// Get additional args
|
|
34
34
|
const args = process.argv.slice(2);
|
|
35
35
|
// Use ajv-cli compile to validate schema syntax (no data file needed)
|
|
36
|
-
|
|
36
|
+
// --strict=false allows unknown formats like "uri"
|
|
37
|
+
const command = `npx ajv-cli compile -s ${schemaPath} --strict=false ${args.join(' ')}`;
|
|
37
38
|
|
|
38
39
|
// Run validation
|
|
39
40
|
execCommand(command, { stdio: 'inherit' });
|
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
# OSSA v0.2.8 Release Notes
|
|
2
|
+
|
|
3
|
+
**Release Date**: 2025-11-24
|
|
4
|
+
**Type**: Minor Release
|
|
5
|
+
**Status**: STABLE
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
OSSA v0.2.8 introduces significant new features for transport metadata, state management, enhanced security, and capability versioning. This release enhances OSSA integration with Google ADK, A2A protocol, OpenAI Agents SDK, and Microsoft Autogen Framework.
|
|
10
|
+
|
|
11
|
+
## What's New
|
|
12
|
+
|
|
13
|
+
### Transport Metadata for Capabilities
|
|
14
|
+
|
|
15
|
+
Support for protocol-specific transport configuration, enabling streaming and advanced communication patterns.
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
tools:
|
|
19
|
+
- type: http
|
|
20
|
+
name: chat-api
|
|
21
|
+
transport:
|
|
22
|
+
protocol: http
|
|
23
|
+
streaming: response # Server streams to client
|
|
24
|
+
binding: /v1/chat/stream
|
|
25
|
+
content_type: text/event-stream
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Supported protocols**: `http`, `grpc`, `a2a`, `mcp`, `websocket`, `custom`
|
|
29
|
+
|
|
30
|
+
**Streaming modes**:
|
|
31
|
+
- `none` - Standard request/response
|
|
32
|
+
- `request` - Client streams to server
|
|
33
|
+
- `response` - Server streams to client (SSE, streaming LLM)
|
|
34
|
+
- `bidirectional` - Full duplex (WebSocket, gRPC)
|
|
35
|
+
|
|
36
|
+
**Use cases**:
|
|
37
|
+
- Google ADK bidirectional streaming
|
|
38
|
+
- A2A protocol agent-to-agent communication
|
|
39
|
+
- Streaming LLM responses
|
|
40
|
+
- Real-time collaborative agents
|
|
41
|
+
|
|
42
|
+
### State/Memory Block
|
|
43
|
+
|
|
44
|
+
Agent state management configuration for stateful and long-running agents.
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
spec:
|
|
48
|
+
state:
|
|
49
|
+
mode: session # stateless | session | long_running
|
|
50
|
+
storage:
|
|
51
|
+
type: vector-db # memory | vector-db | kv | rdbms | custom
|
|
52
|
+
retention: 30d
|
|
53
|
+
config:
|
|
54
|
+
provider: pinecone
|
|
55
|
+
index: agent-memory
|
|
56
|
+
context_window:
|
|
57
|
+
max_messages: 100
|
|
58
|
+
max_tokens: 32000
|
|
59
|
+
strategy: summarization # sliding_window | summarization | importance_weighted
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Storage types**:
|
|
63
|
+
- `memory` - In-process (lost on restart)
|
|
64
|
+
- `vector-db` - Vector database (Pinecone, Weaviate, Chroma)
|
|
65
|
+
- `kv` - Key-value store (Redis, DynamoDB)
|
|
66
|
+
- `rdbms` - Relational database
|
|
67
|
+
- `custom` - Custom implementation
|
|
68
|
+
|
|
69
|
+
**Critical for**:
|
|
70
|
+
- OpenAI Agents SDK session continuity
|
|
71
|
+
- Microsoft Autogen Framework workflows
|
|
72
|
+
- RAG systems with context retention
|
|
73
|
+
- Multi-turn conversations
|
|
74
|
+
|
|
75
|
+
### Enhanced Security with Scopes
|
|
76
|
+
|
|
77
|
+
Fine-grained permission scopes and compliance tags for capabilities.
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
tools:
|
|
81
|
+
- type: http
|
|
82
|
+
name: database-api
|
|
83
|
+
auth:
|
|
84
|
+
type: bearer
|
|
85
|
+
credentials: secret:db-api-key
|
|
86
|
+
scopes: # NEW: OAuth2-like scopes
|
|
87
|
+
- read:data
|
|
88
|
+
- execute:query
|
|
89
|
+
compliance_tags: # NEW: Compliance framework tags
|
|
90
|
+
- pii
|
|
91
|
+
- gdpr
|
|
92
|
+
- hipaa
|
|
93
|
+
capabilities:
|
|
94
|
+
- name: query_users
|
|
95
|
+
scopes: # Per-capability scopes
|
|
96
|
+
- read:users
|
|
97
|
+
compliance_tags:
|
|
98
|
+
- pii
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Security scopes**:
|
|
102
|
+
- `read:data`, `write:data` - Data access
|
|
103
|
+
- `admin:system`, `admin:users` - Administrative operations
|
|
104
|
+
- `execute:code`, `execute:query` - Execution permissions
|
|
105
|
+
|
|
106
|
+
**Compliance tags**:
|
|
107
|
+
- `pii` - Personally identifiable information
|
|
108
|
+
- `hipaa` - HIPAA compliance required
|
|
109
|
+
- `gdpr` - GDPR compliance required
|
|
110
|
+
- `fedramp` - FedRAMP requirements
|
|
111
|
+
- `soc2` - SOC2 Type II controls
|
|
112
|
+
|
|
113
|
+
### Capability Versioning
|
|
114
|
+
|
|
115
|
+
Independent versioning and deprecation for capabilities.
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
capabilities:
|
|
119
|
+
- name: search_documents
|
|
120
|
+
version: '2.1' # NEW: Capability version
|
|
121
|
+
deprecated: false
|
|
122
|
+
|
|
123
|
+
- name: search_legacy
|
|
124
|
+
version: '1.0'
|
|
125
|
+
deprecated: true # NEW: Deprecation flag
|
|
126
|
+
deprecation_message: | # NEW: Migration guidance
|
|
127
|
+
Deprecated in v0.2.4. Will be removed in v0.3.0.
|
|
128
|
+
Use 'search_documents' capability instead.
|
|
129
|
+
Migration: Change capability name and update input schema
|
|
130
|
+
to use 'query' instead of 'search_term'.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Benefits**:
|
|
134
|
+
- Independent capability lifecycle management
|
|
135
|
+
- Clear migration paths for breaking changes
|
|
136
|
+
- Backward compatibility tracking
|
|
137
|
+
- API versioning best practices
|
|
138
|
+
|
|
139
|
+
### Google ADK Extension
|
|
140
|
+
|
|
141
|
+
Integration with Google's Agent Development Kit (ADK).
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
extensions:
|
|
145
|
+
google_adk:
|
|
146
|
+
enabled: true
|
|
147
|
+
agent_type: llm_agent # llm_agent | sequential_agent | parallel_agent | loop_agent
|
|
148
|
+
model: gemini-2.0-flash-exp
|
|
149
|
+
instruction: "You are a helpful research assistant."
|
|
150
|
+
session:
|
|
151
|
+
service: in_memory # in_memory | database | vertex_ai
|
|
152
|
+
state_schema:
|
|
153
|
+
search_history: array
|
|
154
|
+
current_topic: string
|
|
155
|
+
memory:
|
|
156
|
+
enabled: true
|
|
157
|
+
service: vertex_ai_rag
|
|
158
|
+
callbacks:
|
|
159
|
+
before_model_callback: validate_input
|
|
160
|
+
after_model_callback: log_response
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Agent types**:
|
|
164
|
+
- `llm_agent` - Single LLM-powered agent
|
|
165
|
+
- `sequential_agent` - Pipeline of agents
|
|
166
|
+
- `parallel_agent` - Concurrent agent execution
|
|
167
|
+
- `loop_agent` - Iterative agent with conditions
|
|
168
|
+
|
|
169
|
+
**Features**:
|
|
170
|
+
- Session management (in_memory, database, Vertex AI)
|
|
171
|
+
- Memory service integration (Vertex AI RAG)
|
|
172
|
+
- Lifecycle callbacks
|
|
173
|
+
- Sub-agent orchestration
|
|
174
|
+
|
|
175
|
+
### Schema Updates
|
|
176
|
+
|
|
177
|
+
#### apiVersion Pattern
|
|
178
|
+
Updated to support v0.2.8:
|
|
179
|
+
```regex
|
|
180
|
+
^ossa/v(0\.2\.[2-4](-dev)?|1)(\.[0-9]+)?(-[a-zA-Z0-9]+)?$
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Valid versions**:
|
|
184
|
+
- `ossa/v0.2.2`
|
|
185
|
+
- `ossa/v0.2.4`
|
|
186
|
+
- `ossa/v0.2.8`
|
|
187
|
+
- `ossa/v1`
|
|
188
|
+
- `ossa/v1.0`
|
|
189
|
+
|
|
190
|
+
#### Tool Type Enum
|
|
191
|
+
Added `a2a` to supported tool types:
|
|
192
|
+
```json
|
|
193
|
+
"type": {
|
|
194
|
+
"enum": ["mcp", "kubernetes", "http", "grpc", "function", "a2a", "custom"]
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
#### New Definitions
|
|
199
|
+
- `Transport` - Transport metadata schema
|
|
200
|
+
- `State` - State/memory configuration schema
|
|
201
|
+
- `Capability` - Enhanced capability with versioning and scopes
|
|
202
|
+
- `GoogleADKExtension` - Google ADK integration
|
|
203
|
+
|
|
204
|
+
## Breaking Changes
|
|
205
|
+
|
|
206
|
+
**None** - This release maintains full backward compatibility with v0.2.3.
|
|
207
|
+
|
|
208
|
+
All new features are additive and optional.
|
|
209
|
+
|
|
210
|
+
## Deprecations
|
|
211
|
+
|
|
212
|
+
**None** - No features deprecated in this release.
|
|
213
|
+
|
|
214
|
+
## Migration from v0.2.3
|
|
215
|
+
|
|
216
|
+
### Required Changes
|
|
217
|
+
**None** - v0.2.3 manifests work without modification.
|
|
218
|
+
|
|
219
|
+
### Recommended Changes
|
|
220
|
+
|
|
221
|
+
1. **Add state configuration for stateful agents**:
|
|
222
|
+
```yaml
|
|
223
|
+
spec:
|
|
224
|
+
state:
|
|
225
|
+
mode: session
|
|
226
|
+
storage:
|
|
227
|
+
type: memory
|
|
228
|
+
retention: 24h
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
2. **Add transport metadata for streaming capabilities**:
|
|
232
|
+
```yaml
|
|
233
|
+
tools:
|
|
234
|
+
- type: http
|
|
235
|
+
transport:
|
|
236
|
+
protocol: http
|
|
237
|
+
streaming: response
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
3. **Add compliance tags for regulated environments**:
|
|
241
|
+
```yaml
|
|
242
|
+
tools:
|
|
243
|
+
- type: http
|
|
244
|
+
compliance_tags:
|
|
245
|
+
- pii
|
|
246
|
+
- gdpr
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
4. **Version capabilities for better lifecycle management**:
|
|
250
|
+
```yaml
|
|
251
|
+
capabilities:
|
|
252
|
+
- name: my_capability
|
|
253
|
+
version: '1.0'
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
See [migrations/v0.2.3-to-v0.2.4.md](migrations/v0.2.3-to-v0.2.4.md) for detailed migration guide.
|
|
257
|
+
|
|
258
|
+
## Installation
|
|
259
|
+
|
|
260
|
+
### Development Version
|
|
261
|
+
```bash
|
|
262
|
+
npm install -g @bluefly/openstandardagents@0.2.8
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Verify Installation
|
|
266
|
+
```bash
|
|
267
|
+
ossa --version
|
|
268
|
+
# Output: 0.2.8
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Compatibility
|
|
272
|
+
|
|
273
|
+
| Component | Version | Status |
|
|
274
|
+
|-----------|---------|--------|
|
|
275
|
+
| Node.js | >=18.0.0 | Required |
|
|
276
|
+
| npm | >=9.0.0 | Required |
|
|
277
|
+
| kAgent | v1alpha1, v1alpha2 | Full support |
|
|
278
|
+
| Drupal | 11.x, 10.x | Full support |
|
|
279
|
+
| OpenAI Agents SDK | v2.x | Full support |
|
|
280
|
+
| LangChain | v0.3.x | Full support |
|
|
281
|
+
| CrewAI | v0.11.x | Full support |
|
|
282
|
+
| MCP | Latest | Full support |
|
|
283
|
+
| Google ADK | Preview | Experimental |
|
|
284
|
+
| A2A Protocol | v0.1 | Experimental |
|
|
285
|
+
|
|
286
|
+
## Known Issues
|
|
287
|
+
|
|
288
|
+
- Transport metadata validation is experimental and may be refined
|
|
289
|
+
- State storage backends are limited to documented types
|
|
290
|
+
- Capability versioning pattern may change before stable release
|
|
291
|
+
- Google ADK extension is based on ADK preview release
|
|
292
|
+
|
|
293
|
+
## Testing
|
|
294
|
+
|
|
295
|
+
All existing tests pass. New tests added for:
|
|
296
|
+
- Transport metadata validation
|
|
297
|
+
- State configuration validation
|
|
298
|
+
- Security scopes validation
|
|
299
|
+
- Capability versioning validation
|
|
300
|
+
- Google ADK extension validation
|
|
301
|
+
|
|
302
|
+
## Security
|
|
303
|
+
|
|
304
|
+
No new security vulnerabilities introduced.
|
|
305
|
+
|
|
306
|
+
**Recommendations**:
|
|
307
|
+
- Use scopes to enforce least-privilege access
|
|
308
|
+
- Apply compliance_tags consistently for regulated data
|
|
309
|
+
- Review security implications of new transport modes
|
|
310
|
+
|
|
311
|
+
## Use Cases
|
|
312
|
+
|
|
313
|
+
### Streaming LLM Agent
|
|
314
|
+
```yaml
|
|
315
|
+
spec:
|
|
316
|
+
tools:
|
|
317
|
+
- type: http
|
|
318
|
+
transport:
|
|
319
|
+
protocol: http
|
|
320
|
+
streaming: response
|
|
321
|
+
content_type: text/event-stream
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Stateful Chat Agent
|
|
325
|
+
```yaml
|
|
326
|
+
spec:
|
|
327
|
+
state:
|
|
328
|
+
mode: session
|
|
329
|
+
storage:
|
|
330
|
+
type: memory
|
|
331
|
+
retention: 24h
|
|
332
|
+
context_window:
|
|
333
|
+
max_messages: 50
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### HIPAA-Compliant Agent
|
|
337
|
+
```yaml
|
|
338
|
+
spec:
|
|
339
|
+
tools:
|
|
340
|
+
- type: http
|
|
341
|
+
auth:
|
|
342
|
+
scopes: [read:phi, write:phi]
|
|
343
|
+
compliance_tags: [hipaa, pii]
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Google ADK Multi-Agent
|
|
347
|
+
```yaml
|
|
348
|
+
extensions:
|
|
349
|
+
google_adk:
|
|
350
|
+
enabled: true
|
|
351
|
+
agent_type: sequential_agent
|
|
352
|
+
sub_agents: [researcher, writer, reviewer]
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Roadmap to v0.2.4 Stable
|
|
356
|
+
|
|
357
|
+
- [ ] Finalize transport metadata validation rules
|
|
358
|
+
- [ ] Extend state storage backend options
|
|
359
|
+
- [ ] Refine capability versioning semantics
|
|
360
|
+
- [ ] Update Google ADK extension for GA release
|
|
361
|
+
- [ ] Enhanced A2A protocol support
|
|
362
|
+
- [ ] Additional examples and migration guides
|
|
363
|
+
|
|
364
|
+
## Contributors
|
|
365
|
+
|
|
366
|
+
- Transport and streaming design
|
|
367
|
+
- State management implementation
|
|
368
|
+
- Security scopes and compliance tagging
|
|
369
|
+
- Capability versioning system
|
|
370
|
+
- Google ADK extension
|
|
371
|
+
|
|
372
|
+
## Feedback
|
|
373
|
+
|
|
374
|
+
This is a development release. Please provide feedback:
|
|
375
|
+
|
|
376
|
+
- **Issues**: https://github.com/blueflyio/openstandardagents/issues
|
|
377
|
+
- **Documentation**: https://github.com/blueflyio/openstandardagents
|
|
378
|
+
|
|
379
|
+
## Next Steps
|
|
380
|
+
|
|
381
|
+
### v0.2.4 Stable (Planned)
|
|
382
|
+
- Finalized transport and state schemas
|
|
383
|
+
- Comprehensive examples
|
|
384
|
+
- Full test coverage
|
|
385
|
+
- Production-ready Google ADK extension
|
|
386
|
+
|
|
387
|
+
### v0.3.0 (Future)
|
|
388
|
+
- Agent composition patterns
|
|
389
|
+
- Distributed state management
|
|
390
|
+
- Cross-agent memory sharing
|
|
391
|
+
- Enhanced A2A protocol support
|
|
392
|
+
|
|
393
|
+
## Support
|
|
394
|
+
|
|
395
|
+
- **Documentation**: https://github.com/blueflyio/openstandardagents
|
|
396
|
+
- **Issues**: https://github.com/blueflyio/openstandardagents/issues
|
|
397
|
+
- **Examples**: https://github.com/blueflyio/openstandardagents/tree/main/examples
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
**Full Changelog**: [v0.2.5...v0.2.8](https://github.com/blueflyio/openstandardagents/compare/v0.2.5...v0.2.8)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# OSSA v0.2.8 Specification
|
|
2
|
+
|
|
3
|
+
**Release Date**: November 24, 2025
|
|
4
|
+
**Status**: Stable Release
|
|
5
|
+
**Version**: 0.2.8
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
OSSA (Open Standard for Scalable AI Agents) v0.2.8 is a minor release introducing enhanced transport metadata, state management, security features, and capability versioning for better framework integration.
|
|
10
|
+
|
|
11
|
+
## What's in This Directory
|
|
12
|
+
|
|
13
|
+
- **`ossa-0.2.8.schema.json`** - JSON Schema definition for OSSA v0.2.8 agent manifests
|
|
14
|
+
- **`ossa-0.2.8.yaml`** - YAML specification document
|
|
15
|
+
- **`CHANGELOG.md`** - Detailed release notes and feature descriptions
|
|
16
|
+
- **`README.md`** - This file
|
|
17
|
+
- **`migrations/`** - Upgrade guides from previous versions
|
|
18
|
+
|
|
19
|
+
## Key Features
|
|
20
|
+
|
|
21
|
+
### 🔄 Transport Metadata
|
|
22
|
+
- Protocol-specific configuration for capabilities
|
|
23
|
+
- Streaming support (SSE, WebSocket, gRPC)
|
|
24
|
+
- Enhanced integration with Google ADK, A2A protocol, MCP
|
|
25
|
+
|
|
26
|
+
### 🔒 Enhanced Security
|
|
27
|
+
- Security policies for tools and memory
|
|
28
|
+
- Access control for capabilities
|
|
29
|
+
- Audit logging support
|
|
30
|
+
|
|
31
|
+
### 📊 State Management
|
|
32
|
+
- Persistent and ephemeral state handling
|
|
33
|
+
- State versioning and migration
|
|
34
|
+
- Multi-agent state coordination
|
|
35
|
+
|
|
36
|
+
### 🔧 Capability Versioning
|
|
37
|
+
- Semantic versioning for tools and capabilities
|
|
38
|
+
- Backward compatibility tracking
|
|
39
|
+
- Deprecation warnings
|
|
40
|
+
|
|
41
|
+
## Compatibility
|
|
42
|
+
|
|
43
|
+
- **Backward Compatible**: Yes (with v0.2.2, v0.2.3, v0.2.4)
|
|
44
|
+
- **Breaking Changes**: None
|
|
45
|
+
- **Supported API Versions**: `ossa/v0.2.2`, `ossa/v0.2.3`, `ossa/v0.2.4`, `ossa/v0.2.8`, `ossa/v1`
|
|
46
|
+
|
|
47
|
+
## Migration
|
|
48
|
+
|
|
49
|
+
To upgrade from previous versions, see the migration guides:
|
|
50
|
+
- [v0.2.4 → v0.2.8](./migrations/v0.2.4-to-v0.2.8.md)
|
|
51
|
+
- [v0.2.3 → v0.2.8](./migrations/v0.2.3-to-v0.2.8.md)
|
|
52
|
+
|
|
53
|
+
## Validation
|
|
54
|
+
|
|
55
|
+
To validate manifests against this schema:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install @bluefly/openstandardagents
|
|
59
|
+
ossa validate your-agent.yaml
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Resources
|
|
63
|
+
|
|
64
|
+
- **Website**: https://openstandardagents.org
|
|
65
|
+
- **Schema URL**: https://openstandardagents.org/schemas/v0.2.8/agent.json
|
|
66
|
+
- **GitHub**: https://github.com/blueflyio/openstandardagents
|
|
67
|
+
- **GitHub Mirror**: https://github.com/blueflyio/openstandardagents
|
|
68
|
+
- **npm Package**: https://npmjs.com/package/@bluefly/openstandardagents
|
|
69
|
+
|
|
70
|
+
## License
|
|
71
|
+
|
|
72
|
+
MIT License - See root LICENSE file for details.
|