@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,1001 +0,0 @@
|
|
|
1
|
-
import Link from 'next/link';
|
|
2
|
-
import { SchemaExplorer } from '@/components/schema/SchemaExplorer';
|
|
3
|
-
import { SchemaComponentsAccordion } from '@/components/schema/SchemaComponentsAccordion';
|
|
4
|
-
import { STABLE_VERSION, STABLE_VERSION_TAG, getSchemaPath } from '@/lib/version';
|
|
5
|
-
import { Logo } from '@/components/Logo';
|
|
6
|
-
import fs from 'fs';
|
|
7
|
-
import path from 'path';
|
|
8
|
-
|
|
9
|
-
// Get actual stable version from versions.json (not website package.json)
|
|
10
|
-
function getStableVersion(): string {
|
|
11
|
-
try {
|
|
12
|
-
const versionsPath = path.join(process.cwd(), 'lib', 'versions.json');
|
|
13
|
-
if (fs.existsSync(versionsPath)) {
|
|
14
|
-
const versions = JSON.parse(fs.readFileSync(versionsPath, 'utf8'));
|
|
15
|
-
return versions.stable || '0.2.6';
|
|
16
|
-
}
|
|
17
|
-
} catch (error) {
|
|
18
|
-
console.error('Error reading versions.json:', error);
|
|
19
|
-
}
|
|
20
|
-
// Fallback to 0.2.6 if versions.json not available
|
|
21
|
-
return '0.2.6';
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Try to load schema dynamically - fallback to stable version
|
|
25
|
-
function loadSchema(version?: string): any {
|
|
26
|
-
const stableVersion = version || getStableVersion();
|
|
27
|
-
try {
|
|
28
|
-
// Try to load from public/schemas first
|
|
29
|
-
const publicSchemaPath = path.join(process.cwd(), 'public', 'schemas', `ossa-${stableVersion}.schema.json`);
|
|
30
|
-
if (fs.existsSync(publicSchemaPath)) {
|
|
31
|
-
return JSON.parse(fs.readFileSync(publicSchemaPath, 'utf8'));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Fallback to spec directory
|
|
35
|
-
const specSchemaPath = path.join(process.cwd(), '..', 'spec', `v${stableVersion}`, `ossa-${stableVersion}.schema.json`);
|
|
36
|
-
if (fs.existsSync(specSchemaPath)) {
|
|
37
|
-
return JSON.parse(fs.readFileSync(specSchemaPath, 'utf8'));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Final fallback - try to require (for build time)
|
|
41
|
-
try {
|
|
42
|
-
return require(`../../public/schemas/ossa-${stableVersion}.schema.json`);
|
|
43
|
-
} catch {
|
|
44
|
-
// If all else fails, return null
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
} catch (error) {
|
|
48
|
-
console.error('Error loading schema:', error);
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export default function SchemaPage() {
|
|
54
|
-
const stableVersion = getStableVersion();
|
|
55
|
-
const schema = loadSchema(stableVersion);
|
|
56
|
-
|
|
57
|
-
if (!schema) {
|
|
58
|
-
return (
|
|
59
|
-
<div className="container mx-auto max-w-7xl px-4 py-8">
|
|
60
|
-
<h1 className="text-4xl font-bold mb-4">Schema Explorer</h1>
|
|
61
|
-
<p className="text-lg text-gray-600">
|
|
62
|
-
Schema file not found. Please ensure the OSSA schema is available.
|
|
63
|
-
</p>
|
|
64
|
-
</div>
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<>
|
|
70
|
-
{/* Hero Section */}
|
|
71
|
-
<div className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-16 px-4">
|
|
72
|
-
<div className="container mx-auto max-w-6xl text-center">
|
|
73
|
-
<div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
|
|
74
|
-
<svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
75
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
|
76
|
-
</svg>
|
|
77
|
-
</div>
|
|
78
|
-
<h1 className="text-5xl font-bold mb-4">OSSA Schema Reference</h1>
|
|
79
|
-
<p className="text-xl text-white/90 mb-2">
|
|
80
|
-
Complete JSON Schema for defining portable, framework-agnostic AI agents
|
|
81
|
-
</p>
|
|
82
|
-
<p className="text-lg text-white/80">
|
|
83
|
-
Version v{stableVersion} • The OpenAPI for AI Agents
|
|
84
|
-
</p>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<div className="container mx-auto max-w-7xl px-4 py-12">
|
|
89
|
-
{/* Schema Architecture Diagram - MOVED TO TOP */}
|
|
90
|
-
<section className="mb-16">
|
|
91
|
-
<div className="bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50 rounded-2xl p-8 mb-8">
|
|
92
|
-
<div className="flex items-start mb-6">
|
|
93
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4 flex-shrink-0">
|
|
94
|
-
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
95
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
96
|
-
</svg>
|
|
97
|
-
</div>
|
|
98
|
-
<div>
|
|
99
|
-
<h2 className="text-3xl font-bold mb-4 text-gray-900">Why This Schema?</h2>
|
|
100
|
-
<div className="space-y-4 text-lg text-gray-700">
|
|
101
|
-
<p>
|
|
102
|
-
<strong className="text-primary">The Problem:</strong> Every AI framework defines agents differently.
|
|
103
|
-
LangChain has "chains," CrewAI has "crews," OpenAI has "assistants," Anthropic has different tools.
|
|
104
|
-
This creates <span className="text-red-600 font-semibold">vendor lock-in</span> and makes it impossible to share agents between teams or frameworks.
|
|
105
|
-
</p>
|
|
106
|
-
<p>
|
|
107
|
-
<strong className="text-secondary">The Solution:</strong> OSSA provides a single, standard way to describe agents that works everywhere.
|
|
108
|
-
Like OpenAPI revolutionized REST APIs, OSSA revolutionizes AI agents.
|
|
109
|
-
</p>
|
|
110
|
-
<p>
|
|
111
|
-
<strong className="text-primary">The Result:</strong> Write your agent definition once, deploy it to any framework.
|
|
112
|
-
Switch providers without rewriting code. Share agents across organizations. True portability.
|
|
113
|
-
</p>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
</section>
|
|
119
|
-
|
|
120
|
-
{/* Schema Architecture Diagram */}
|
|
121
|
-
<section className="mb-16">
|
|
122
|
-
<div className="flex items-center mb-8">
|
|
123
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
124
|
-
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
125
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
|
|
126
|
-
</svg>
|
|
127
|
-
</div>
|
|
128
|
-
<h2 className="text-3xl font-bold text-primary">Schema Architecture</h2>
|
|
129
|
-
</div>
|
|
130
|
-
|
|
131
|
-
{/* Visual Structure Diagram with HTML/CSS */}
|
|
132
|
-
<div className="bg-white rounded-2xl shadow-lg p-8 mb-8 border-2 border-gray-300">
|
|
133
|
-
<h3 className="text-2xl font-bold mb-4 text-center text-gray-900">OSSA Agent Manifest Structure</h3>
|
|
134
|
-
<p className="text-center text-gray-600 mb-8 text-base">
|
|
135
|
-
Complete breakdown of all manifest components and their relationships
|
|
136
|
-
</p>
|
|
137
|
-
|
|
138
|
-
<div className="space-y-6">
|
|
139
|
-
{/* Root */}
|
|
140
|
-
<div className="bg-gradient-to-r from-secondary via-primary to-accent text-white rounded-xl p-6 text-center shadow-md">
|
|
141
|
-
<div className="font-bold text-2xl mb-2">OSSA Agent Manifest</div>
|
|
142
|
-
<div className="text-base opacity-90">agent.yaml / agent.json</div>
|
|
143
|
-
</div>
|
|
144
|
-
|
|
145
|
-
{/* Top Level Fields */}
|
|
146
|
-
<div className="grid md:grid-cols-3 gap-6">
|
|
147
|
-
<div className="bg-blue-50/50 border-2 border-blue-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
|
|
148
|
-
<div className="font-bold text-gray-900 mb-2 text-xl">apiVersion</div>
|
|
149
|
-
<div className="text-base text-gray-600 mb-3">Specifies the OSSA specification version</div>
|
|
150
|
-
<div className="text-lg text-gray-800 font-mono">ossa/v{stableVersion}</div>
|
|
151
|
-
</div>
|
|
152
|
-
<div className="bg-green-50/50 border-2 border-green-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
|
|
153
|
-
<div className="font-bold text-gray-900 mb-2 text-xl">kind</div>
|
|
154
|
-
<div className="text-base text-gray-600 mb-3">Resource type identifier that specifies what type of OSSA resource this manifest defines.</div>
|
|
155
|
-
<div className="text-lg text-gray-800 font-mono mb-3">Agent</div>
|
|
156
|
-
<div className="text-sm text-gray-700 space-y-2 pt-3 border-t border-green-200">
|
|
157
|
-
<p><strong className="text-gray-900">Agent</strong> is the primary resource type in OSSA. An Agent represents an autonomous AI system that can:</p>
|
|
158
|
-
<ul className="list-disc list-inside space-y-1 text-gray-600 ml-2">
|
|
159
|
-
<li>Process natural language instructions</li>
|
|
160
|
-
<li>Make decisions and take actions</li>
|
|
161
|
-
<li>Use tools and interact with external systems</li>
|
|
162
|
-
<li>Maintain context and state across interactions</li>
|
|
163
|
-
</ul>
|
|
164
|
-
<p className="text-gray-600">Think of an Agent as a reusable, portable definition of an AI assistant that can be deployed to any framework.</p>
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
<div className="bg-purple-50/50 border-2 border-purple-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
|
|
168
|
-
<div className="font-bold text-gray-900 mb-2 text-xl">metadata</div>
|
|
169
|
-
<div className="text-base text-gray-600 mb-3">Agent identification and labeling</div>
|
|
170
|
-
<div className="text-base text-gray-700 space-y-1.5 mt-3">
|
|
171
|
-
<div>• name - Unique agent identifier</div>
|
|
172
|
-
<div>• version - Agent version number</div>
|
|
173
|
-
<div>• description - Human-readable description</div>
|
|
174
|
-
<div>• labels - Key-value metadata tags</div>
|
|
175
|
-
<div>• annotations - Additional metadata</div>
|
|
176
|
-
</div>
|
|
177
|
-
</div>
|
|
178
|
-
</div>
|
|
179
|
-
|
|
180
|
-
{/* Main Content: spec and extensions - STACKED */}
|
|
181
|
-
<div className="space-y-6">
|
|
182
|
-
{/* spec */}
|
|
183
|
-
<div className="bg-gradient-to-br from-blue-50/30 to-indigo-50/30 border-2 border-blue-200 rounded-xl p-6 shadow-md">
|
|
184
|
-
<div className="font-bold text-primary text-2xl mb-3">spec</div>
|
|
185
|
-
<div className="text-base text-gray-700 mb-6">Core agent configuration including behavior, capabilities, and operational settings.</div>
|
|
186
|
-
<div className="space-y-3">
|
|
187
|
-
{/* role */}
|
|
188
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
189
|
-
<div className="font-bold text-gray-900 text-lg mb-2">role</div>
|
|
190
|
-
<div className="text-base text-gray-700 mb-3">Defines the agent's system prompt and identity. This is the core instruction that tells the agent who it is and how it should behave.</div>
|
|
191
|
-
<div className="text-sm text-gray-600 bg-gray-50 rounded p-3 font-mono border border-gray-200">
|
|
192
|
-
type: string (multi-line)
|
|
193
|
-
</div>
|
|
194
|
-
</div>
|
|
195
|
-
|
|
196
|
-
{/* llm */}
|
|
197
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
198
|
-
<div className="font-bold text-gray-900 text-lg mb-2">llm</div>
|
|
199
|
-
<div className="text-base text-gray-700 mb-4">Configuration for the Large Language Model that powers the agent's reasoning and responses.</div>
|
|
200
|
-
<div className="grid grid-cols-2 gap-3 text-base text-gray-700">
|
|
201
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
202
|
-
<strong className="text-gray-900">provider</strong>
|
|
203
|
-
<div className="text-sm text-gray-600 mt-1">openai | anthropic | azure</div>
|
|
204
|
-
</div>
|
|
205
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
206
|
-
<strong className="text-gray-900">model</strong>
|
|
207
|
-
<div className="text-sm text-gray-600 mt-1">gpt-4, claude-3, etc.</div>
|
|
208
|
-
</div>
|
|
209
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
210
|
-
<strong className="text-gray-900">temperature</strong>
|
|
211
|
-
<div className="text-sm text-gray-600 mt-1">0.0 - 2.0 (creativity level)</div>
|
|
212
|
-
</div>
|
|
213
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
214
|
-
<strong className="text-gray-900">max_tokens</strong>
|
|
215
|
-
<div className="text-sm text-gray-600 mt-1">Maximum response length</div>
|
|
216
|
-
</div>
|
|
217
|
-
</div>
|
|
218
|
-
</div>
|
|
219
|
-
|
|
220
|
-
{/* tools */}
|
|
221
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
222
|
-
<div className="font-bold text-gray-900 text-lg mb-2">tools</div>
|
|
223
|
-
<div className="text-base text-gray-700 mb-4">Capabilities the agent can use to interact with external systems and perform actions.</div>
|
|
224
|
-
<div className="text-base text-gray-700 space-y-2.5">
|
|
225
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
226
|
-
<strong className="text-gray-900">http</strong>
|
|
227
|
-
<div className="text-sm text-gray-600 mt-1">Make REST API calls to external services</div>
|
|
228
|
-
</div>
|
|
229
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
230
|
-
<strong className="text-gray-900">code</strong>
|
|
231
|
-
<div className="text-sm text-gray-600 mt-1">Execute Python, JavaScript, or Shell scripts</div>
|
|
232
|
-
</div>
|
|
233
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
234
|
-
<strong className="text-gray-900">database</strong>
|
|
235
|
-
<div className="text-sm text-gray-600 mt-1">Run SQL queries against databases</div>
|
|
236
|
-
</div>
|
|
237
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
238
|
-
<strong className="text-gray-900">file</strong>
|
|
239
|
-
<div className="text-sm text-gray-600 mt-1">Read and write file system operations</div>
|
|
240
|
-
</div>
|
|
241
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
242
|
-
<strong className="text-gray-900">search</strong>
|
|
243
|
-
<div className="text-sm text-gray-600 mt-1">Web search and vector similarity search</div>
|
|
244
|
-
</div>
|
|
245
|
-
</div>
|
|
246
|
-
</div>
|
|
247
|
-
|
|
248
|
-
{/* taxonomy */}
|
|
249
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
250
|
-
<div className="font-bold text-gray-900 text-lg mb-2">taxonomy</div>
|
|
251
|
-
<div className="text-base text-gray-700 mb-4">Categorization metadata for organizing and discovering agents across domains and use cases.</div>
|
|
252
|
-
<div className="grid grid-cols-2 gap-3 text-base">
|
|
253
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
254
|
-
<strong className="text-gray-900">domain</strong>
|
|
255
|
-
<div className="text-sm text-gray-600 mt-1">customer_service, engineering, etc.</div>
|
|
256
|
-
</div>
|
|
257
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
258
|
-
<strong className="text-gray-900">subdomain</strong>
|
|
259
|
-
<div className="text-sm text-gray-600 mt-1">technical_support, devops, etc.</div>
|
|
260
|
-
</div>
|
|
261
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
262
|
-
<strong className="text-gray-900">use_case</strong>
|
|
263
|
-
<div className="text-sm text-gray-600 mt-1">troubleshooting, automation</div>
|
|
264
|
-
</div>
|
|
265
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
266
|
-
<strong className="text-gray-900">industry</strong>
|
|
267
|
-
<div className="text-sm text-gray-600 mt-1">saas, healthcare, finance</div>
|
|
268
|
-
</div>
|
|
269
|
-
</div>
|
|
270
|
-
</div>
|
|
271
|
-
|
|
272
|
-
{/* autonomy */}
|
|
273
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
274
|
-
<div className="font-bold text-gray-900 text-lg mb-2">autonomy</div>
|
|
275
|
-
<div className="text-base text-gray-700 mb-4">Controls how independently the agent can operate, from fully manual (L0) to fully autonomous (L5).</div>
|
|
276
|
-
<div className="space-y-2.5 text-base">
|
|
277
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
278
|
-
<strong className="text-gray-900">level</strong>
|
|
279
|
-
<div className="text-sm text-gray-600 mt-1">L0 (no autonomy) → L5 (full autonomy)</div>
|
|
280
|
-
</div>
|
|
281
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
282
|
-
<strong className="text-gray-900">approval_required</strong>
|
|
283
|
-
<div className="text-sm text-gray-600 mt-1">List of actions that require human approval before execution</div>
|
|
284
|
-
</div>
|
|
285
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
286
|
-
<strong className="text-gray-900">human_in_loop</strong>
|
|
287
|
-
<div className="text-sm text-gray-600 mt-1">Notification and escalation settings for human oversight</div>
|
|
288
|
-
</div>
|
|
289
|
-
</div>
|
|
290
|
-
</div>
|
|
291
|
-
|
|
292
|
-
{/* observability */}
|
|
293
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
294
|
-
<div className="font-bold text-gray-900 text-lg mb-2">observability</div>
|
|
295
|
-
<div className="text-base text-gray-700 mb-4">Monitoring and debugging capabilities for tracking agent behavior and performance.</div>
|
|
296
|
-
<div className="grid grid-cols-3 gap-3 text-base">
|
|
297
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
|
|
298
|
-
<div className="font-bold text-gray-900">logging</div>
|
|
299
|
-
<div className="text-sm text-gray-600 mt-1">Logs & audit trails</div>
|
|
300
|
-
</div>
|
|
301
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
|
|
302
|
-
<div className="font-bold text-gray-900">metrics</div>
|
|
303
|
-
<div className="text-sm text-gray-600 mt-1">Performance data</div>
|
|
304
|
-
</div>
|
|
305
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
|
|
306
|
-
<div className="font-bold text-gray-900">tracing</div>
|
|
307
|
-
<div className="text-sm text-gray-600 mt-1">Execution paths</div>
|
|
308
|
-
</div>
|
|
309
|
-
</div>
|
|
310
|
-
</div>
|
|
311
|
-
|
|
312
|
-
{/* constraints (additional) */}
|
|
313
|
-
<div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
|
|
314
|
-
<div className="font-bold text-gray-900 text-lg mb-2 flex items-center gap-2">
|
|
315
|
-
constraints
|
|
316
|
-
<span className="text-sm bg-gray-200 text-gray-700 px-2 py-1 rounded font-normal">Optional</span>
|
|
317
|
-
</div>
|
|
318
|
-
<div className="text-base text-gray-700 mb-4">Resource limits and operational boundaries to ensure safe and controlled agent execution.</div>
|
|
319
|
-
<div className="grid grid-cols-2 gap-3 text-base">
|
|
320
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
321
|
-
<strong className="text-gray-900">cost</strong>
|
|
322
|
-
<div className="text-sm text-gray-600 mt-1">Budget and spending limits</div>
|
|
323
|
-
</div>
|
|
324
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
325
|
-
<strong className="text-gray-900">performance</strong>
|
|
326
|
-
<div className="text-sm text-gray-600 mt-1">Timeout and rate limiting</div>
|
|
327
|
-
</div>
|
|
328
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
329
|
-
<strong className="text-gray-900">resources</strong>
|
|
330
|
-
<div className="text-sm text-gray-600 mt-1">Memory and CPU constraints</div>
|
|
331
|
-
</div>
|
|
332
|
-
<div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
|
|
333
|
-
<strong className="text-gray-900">security</strong>
|
|
334
|
-
<div className="text-sm text-gray-600 mt-1">Access control and permissions</div>
|
|
335
|
-
</div>
|
|
336
|
-
</div>
|
|
337
|
-
</div>
|
|
338
|
-
</div>
|
|
339
|
-
</div>
|
|
340
|
-
|
|
341
|
-
{/* extensions */}
|
|
342
|
-
<div className="bg-gradient-to-br from-purple-50/30 to-pink-50/30 border-2 border-purple-200 rounded-xl p-6 shadow-md">
|
|
343
|
-
<div className="font-bold text-secondary text-2xl mb-3">extensions</div>
|
|
344
|
-
<div className="text-base text-gray-700 mb-6">Optional framework-specific configurations that extend the core OSSA specification for platform-specific features.</div>
|
|
345
|
-
<div className="text-base text-gray-800 mb-6 font-semibold">Supported frameworks:</div>
|
|
346
|
-
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-4">
|
|
347
|
-
<Logo domain="kagent.dev" name="kAgent" />
|
|
348
|
-
<Logo domain="langchain.com" name="LangChain" />
|
|
349
|
-
<Logo domain="crewai.com" name="CrewAI" />
|
|
350
|
-
<Logo domain="openai.com" name="OpenAI" />
|
|
351
|
-
<Logo domain="anthropic.com" name="Anthropic" />
|
|
352
|
-
<Logo domain="cursor.sh" name="Cursor" />
|
|
353
|
-
<Logo domain="langflow.com" name="Langflow" />
|
|
354
|
-
<Logo domain="microsoft.com" name="AutoGen" />
|
|
355
|
-
<Logo domain="vercel.com" name="Vercel AI" />
|
|
356
|
-
<Logo domain="llamaindex.ai" name="LlamaIndex" />
|
|
357
|
-
<Logo domain="langchain.com" name="LangGraph" />
|
|
358
|
-
<Logo domain="drupal.org" name="Drupal" />
|
|
359
|
-
<Logo domain="librechat.com" name="LibreChat" />
|
|
360
|
-
<Logo domain="modelcontextprotocol.io" name="MCP" />
|
|
361
|
-
<Logo domain="huggingface.co" name="Hugging Face" />
|
|
362
|
-
<Logo domain="google.com" name="Google" />
|
|
363
|
-
<Logo domain="aws.amazon.com" name="AWS" />
|
|
364
|
-
<Logo domain="azure.com" name="Azure" />
|
|
365
|
-
<Logo domain="github.com" name="GitHub" />
|
|
366
|
-
<Logo domain="docker.com" name="Docker" />
|
|
367
|
-
<Logo domain="kubernetes.io" name="Kubernetes" />
|
|
368
|
-
</div>
|
|
369
|
-
</div>
|
|
370
|
-
</div>
|
|
371
|
-
</div>
|
|
372
|
-
</div>
|
|
373
|
-
</section>
|
|
374
|
-
|
|
375
|
-
{/* Data Flow Diagram */}
|
|
376
|
-
<section className="mb-16">
|
|
377
|
-
<div className="flex items-center mb-8">
|
|
378
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
379
|
-
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
380
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
|
|
381
|
-
</svg>
|
|
382
|
-
</div>
|
|
383
|
-
<h2 className="text-3xl font-bold text-secondary">Data Flow: How OSSA Works</h2>
|
|
384
|
-
</div>
|
|
385
|
-
|
|
386
|
-
<div className="grid md:grid-cols-2 gap-6 mb-8">
|
|
387
|
-
{/* Flow 1: Agent Definition to Execution */}
|
|
388
|
-
<div className="bg-white rounded-xl shadow-lg p-6 border border-gray-200">
|
|
389
|
-
<h3 className="text-lg font-bold mb-4 text-primary">1. Definition → Execution</h3>
|
|
390
|
-
<div className="bg-gray-50 rounded-lg p-4 font-mono text-xs space-y-2">
|
|
391
|
-
<div className="flex items-center">
|
|
392
|
-
<div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">1</div>
|
|
393
|
-
<div>
|
|
394
|
-
<div className="font-semibold">Write agent.yaml</div>
|
|
395
|
-
<div className="text-gray-600">Define role, LLM, tools</div>
|
|
396
|
-
</div>
|
|
397
|
-
</div>
|
|
398
|
-
<div className="ml-4 border-l-2 border-primary h-4"></div>
|
|
399
|
-
<div className="flex items-center">
|
|
400
|
-
<div className="w-8 h-8 bg-secondary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">2</div>
|
|
401
|
-
<div>
|
|
402
|
-
<div className="font-semibold">Validate schema</div>
|
|
403
|
-
<div className="text-gray-600">JSON Schema validation</div>
|
|
404
|
-
</div>
|
|
405
|
-
</div>
|
|
406
|
-
<div className="ml-4 border-l-2 border-secondary h-4"></div>
|
|
407
|
-
<div className="flex items-center">
|
|
408
|
-
<div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">3</div>
|
|
409
|
-
<div>
|
|
410
|
-
<div className="font-semibold">Load into runtime</div>
|
|
411
|
-
<div className="text-gray-600">kAgent / LangChain / etc</div>
|
|
412
|
-
</div>
|
|
413
|
-
</div>
|
|
414
|
-
<div className="ml-4 border-l-2 border-primary h-4"></div>
|
|
415
|
-
<div className="flex items-center">
|
|
416
|
-
<div className="w-8 h-8 bg-secondary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">4</div>
|
|
417
|
-
<div>
|
|
418
|
-
<div className="font-semibold">Execute agent</div>
|
|
419
|
-
<div className="text-gray-600">Run tasks, call LLM, use tools</div>
|
|
420
|
-
</div>
|
|
421
|
-
</div>
|
|
422
|
-
</div>
|
|
423
|
-
</div>
|
|
424
|
-
|
|
425
|
-
{/* Flow 2: Cross-Framework Portability */}
|
|
426
|
-
<div className="bg-white rounded-xl shadow-lg p-6 border border-gray-200">
|
|
427
|
-
<h3 className="text-lg font-bold mb-4 text-secondary">2. Cross-Framework Portability</h3>
|
|
428
|
-
<div className="bg-gray-50 rounded-lg p-4 font-mono text-xs space-y-2">
|
|
429
|
-
<div className="flex items-center">
|
|
430
|
-
<div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">A</div>
|
|
431
|
-
<div>
|
|
432
|
-
<div className="font-semibold">agent.yaml (OSSA)</div>
|
|
433
|
-
<div className="text-gray-600">Framework-agnostic definition</div>
|
|
434
|
-
</div>
|
|
435
|
-
</div>
|
|
436
|
-
<div className="ml-4 border-l-2 border-dashed border-primary h-4"></div>
|
|
437
|
-
<div className="text-center text-gray-500 font-bold">↓ Export to ↓</div>
|
|
438
|
-
<div className="ml-4 border-l-2 border-dashed border-primary h-4"></div>
|
|
439
|
-
<div className="space-y-2">
|
|
440
|
-
<div className="bg-blue-50 p-2 rounded border-l-2 border-blue-500">
|
|
441
|
-
<strong>LangChain</strong>: chains.json
|
|
442
|
-
</div>
|
|
443
|
-
<div className="bg-purple-50 p-2 rounded border-l-2 border-purple-500">
|
|
444
|
-
<strong>CrewAI</strong>: crew_config.yaml
|
|
445
|
-
</div>
|
|
446
|
-
<div className="bg-green-50 p-2 rounded border-l-2 border-green-500">
|
|
447
|
-
<strong>OpenAI</strong>: assistant_config.json
|
|
448
|
-
</div>
|
|
449
|
-
<div className="bg-orange-50 p-2 rounded border-l-2 border-orange-500">
|
|
450
|
-
<strong>Anthropic</strong>: claude_tools.json
|
|
451
|
-
</div>
|
|
452
|
-
</div>
|
|
453
|
-
</div>
|
|
454
|
-
</div>
|
|
455
|
-
</div>
|
|
456
|
-
|
|
457
|
-
{/* Visual Data Flow Diagram - Clean HTML/CSS Version */}
|
|
458
|
-
<div className="bg-gradient-to-br from-gray-50 to-gray-100 rounded-2xl p-8 border-2 border-gray-300">
|
|
459
|
-
<h3 className="text-2xl font-bold mb-4 text-center text-gray-900">Complete Agent Lifecycle</h3>
|
|
460
|
-
<p className="text-center text-gray-600 mb-8 text-base">From development to deployment across any framework</p>
|
|
461
|
-
|
|
462
|
-
<div className="space-y-6">
|
|
463
|
-
{/* Step 1: Developer */}
|
|
464
|
-
<div className="flex flex-col items-center">
|
|
465
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-md text-center">
|
|
466
|
-
<div className="text-lg font-bold mb-2 text-gray-900">Developer</div>
|
|
467
|
-
<div className="text-base text-gray-700">Writes OSSA Manifest</div>
|
|
468
|
-
<div className="text-sm mt-2 text-gray-600 font-mono">agent.yaml</div>
|
|
469
|
-
</div>
|
|
470
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
471
|
-
</div>
|
|
472
|
-
|
|
473
|
-
{/* Step 2: Validation */}
|
|
474
|
-
<div className="flex flex-col items-center">
|
|
475
|
-
<div className="grid md:grid-cols-2 gap-4 w-full max-w-4xl">
|
|
476
|
-
<div className="bg-gray-800 text-white rounded-xl p-6 shadow-lg">
|
|
477
|
-
<div className="text-lg font-bold mb-2">OSSA Schema Validator</div>
|
|
478
|
-
<div className="text-sm opacity-90">JSON Schema validation engine</div>
|
|
479
|
-
</div>
|
|
480
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md">
|
|
481
|
-
<div className="text-base font-bold text-gray-900 mb-3">Validation Checks:</div>
|
|
482
|
-
<div className="space-y-2 text-sm text-gray-700">
|
|
483
|
-
<div className="flex items-center">
|
|
484
|
-
<span className="text-green-600 mr-2">✓</span>
|
|
485
|
-
<span>Required fields present</span>
|
|
486
|
-
</div>
|
|
487
|
-
<div className="flex items-center">
|
|
488
|
-
<span className="text-green-600 mr-2">✓</span>
|
|
489
|
-
<span>Correct types</span>
|
|
490
|
-
</div>
|
|
491
|
-
<div className="flex items-center">
|
|
492
|
-
<span className="text-green-600 mr-2">✓</span>
|
|
493
|
-
<span>Value constraints</span>
|
|
494
|
-
</div>
|
|
495
|
-
<div className="flex items-center">
|
|
496
|
-
<span className="text-green-600 mr-2">✓</span>
|
|
497
|
-
<span>Schema compliance</span>
|
|
498
|
-
</div>
|
|
499
|
-
</div>
|
|
500
|
-
</div>
|
|
501
|
-
</div>
|
|
502
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
503
|
-
<div className="bg-gray-800 text-white px-6 py-2 rounded-full font-bold shadow-md">
|
|
504
|
-
Valid Manifest
|
|
505
|
-
</div>
|
|
506
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
507
|
-
</div>
|
|
508
|
-
|
|
509
|
-
{/* Step 3: Framework Adapter Layer */}
|
|
510
|
-
<div className="flex flex-col items-center">
|
|
511
|
-
<div className="bg-gray-800 text-white rounded-xl p-6 shadow-lg w-full max-w-3xl text-center">
|
|
512
|
-
<div className="text-xl font-bold mb-2">Framework Adapter Layer</div>
|
|
513
|
-
<div className="text-base opacity-90">Converts OSSA → Framework-Specific Config</div>
|
|
514
|
-
</div>
|
|
515
|
-
<div className="flex space-x-2 mt-4">
|
|
516
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
517
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
518
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
519
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
520
|
-
</div>
|
|
521
|
-
</div>
|
|
522
|
-
|
|
523
|
-
{/* Step 4: Runtimes */}
|
|
524
|
-
<div className="flex flex-col items-center">
|
|
525
|
-
<div className="grid md:grid-cols-4 gap-4 w-full max-w-5xl">
|
|
526
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
|
|
527
|
-
<div className="text-base font-bold mb-2 text-gray-900">kAgent</div>
|
|
528
|
-
<div className="text-xs text-gray-600">Runtime</div>
|
|
529
|
-
</div>
|
|
530
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
|
|
531
|
-
<div className="text-base font-bold mb-2 text-gray-900">LangChain</div>
|
|
532
|
-
<div className="text-xs text-gray-600">Runtime</div>
|
|
533
|
-
</div>
|
|
534
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
|
|
535
|
-
<div className="text-base font-bold mb-2 text-gray-900">CrewAI</div>
|
|
536
|
-
<div className="text-xs text-gray-600">Runtime</div>
|
|
537
|
-
</div>
|
|
538
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
|
|
539
|
-
<div className="text-base font-bold mb-2 text-gray-900">OpenAI</div>
|
|
540
|
-
<div className="text-xs text-gray-600">Runtime</div>
|
|
541
|
-
</div>
|
|
542
|
-
</div>
|
|
543
|
-
<div className="flex justify-center mt-4 space-x-2">
|
|
544
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
545
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
546
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
547
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
548
|
-
</div>
|
|
549
|
-
</div>
|
|
550
|
-
|
|
551
|
-
{/* Step 5: Agent Execution */}
|
|
552
|
-
<div className="flex flex-col items-center">
|
|
553
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-2xl">
|
|
554
|
-
<div className="text-xl font-bold mb-4 text-center text-gray-900">Agent Execution</div>
|
|
555
|
-
<div className="grid grid-cols-3 gap-3 text-base">
|
|
556
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
557
|
-
<div className="font-bold mb-1 text-gray-900">LLM Calls</div>
|
|
558
|
-
<div className="text-sm text-gray-600">GPT-4, Claude, etc.</div>
|
|
559
|
-
</div>
|
|
560
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
561
|
-
<div className="font-bold mb-1 text-gray-900">Tool Usage</div>
|
|
562
|
-
<div className="text-sm text-gray-600">APIs, Code, DB</div>
|
|
563
|
-
</div>
|
|
564
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
565
|
-
<div className="font-bold mb-1 text-gray-900">Task Processing</div>
|
|
566
|
-
<div className="text-sm text-gray-600">Execute workflows</div>
|
|
567
|
-
</div>
|
|
568
|
-
</div>
|
|
569
|
-
</div>
|
|
570
|
-
<div className="w-0.5 h-12 bg-gray-300"></div>
|
|
571
|
-
</div>
|
|
572
|
-
|
|
573
|
-
{/* Step 6: Observability */}
|
|
574
|
-
<div className="flex flex-col items-center">
|
|
575
|
-
<div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-2xl">
|
|
576
|
-
<div className="text-xl font-bold mb-4 text-center text-gray-900">Observability</div>
|
|
577
|
-
<div className="grid grid-cols-3 gap-3 text-base">
|
|
578
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
579
|
-
<div className="font-bold mb-1 text-gray-900">Logs</div>
|
|
580
|
-
<div className="text-sm text-gray-600">Debug & audit</div>
|
|
581
|
-
</div>
|
|
582
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
583
|
-
<div className="font-bold mb-1 text-gray-900">Metrics</div>
|
|
584
|
-
<div className="text-sm text-gray-600">Performance data</div>
|
|
585
|
-
</div>
|
|
586
|
-
<div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
|
|
587
|
-
<div className="font-bold mb-1 text-gray-900">Traces</div>
|
|
588
|
-
<div className="text-sm text-gray-600">Execution paths</div>
|
|
589
|
-
</div>
|
|
590
|
-
</div>
|
|
591
|
-
</div>
|
|
592
|
-
</div>
|
|
593
|
-
</div>
|
|
594
|
-
</div>
|
|
595
|
-
</section>
|
|
596
|
-
|
|
597
|
-
{/* Core Components Breakdown */}
|
|
598
|
-
<section className="mb-16">
|
|
599
|
-
<div className="flex items-center mb-6">
|
|
600
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
601
|
-
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
602
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z" />
|
|
603
|
-
</svg>
|
|
604
|
-
</div>
|
|
605
|
-
<h2 className="text-3xl font-bold text-primary">Schema Components</h2>
|
|
606
|
-
</div>
|
|
607
|
-
|
|
608
|
-
<p className="text-lg text-gray-700 mb-8 max-w-4xl">
|
|
609
|
-
The OSSA schema is organized into core components that define every aspect of an AI agent.
|
|
610
|
-
Each component serves a specific purpose in creating portable, framework-agnostic agent definitions.
|
|
611
|
-
Click on any component below to learn more about its structure, purpose, and usage.
|
|
612
|
-
</p>
|
|
613
|
-
|
|
614
|
-
<SchemaComponentsAccordion
|
|
615
|
-
items={[
|
|
616
|
-
{
|
|
617
|
-
id: 'apiversion-kind',
|
|
618
|
-
title: 'apiVersion & kind',
|
|
619
|
-
borderColor: 'border-primary',
|
|
620
|
-
content: (
|
|
621
|
-
<div className="space-y-4">
|
|
622
|
-
<div>
|
|
623
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
624
|
-
<p className="text-gray-700">Version identifier and resource type for the manifest.</p>
|
|
625
|
-
</div>
|
|
626
|
-
<div>
|
|
627
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
628
|
-
<p className="text-gray-700">Enables schema evolution while maintaining backward compatibility. Like Kubernetes resources or OpenAPI specs, agents can evolve without breaking existing definitions.</p>
|
|
629
|
-
</div>
|
|
630
|
-
<div>
|
|
631
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
632
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
633
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`apiVersion: ossa/v${stableVersion}
|
|
634
|
-
kind: Agent`}</code></pre>
|
|
635
|
-
</div>
|
|
636
|
-
</div>
|
|
637
|
-
</div>
|
|
638
|
-
),
|
|
639
|
-
},
|
|
640
|
-
{
|
|
641
|
-
id: 'metadata',
|
|
642
|
-
title: 'metadata',
|
|
643
|
-
borderColor: 'border-secondary',
|
|
644
|
-
content: (
|
|
645
|
-
<div className="space-y-4">
|
|
646
|
-
<div>
|
|
647
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
648
|
-
<p className="text-gray-700">Identification and classification information: name, version, description, labels, annotations.</p>
|
|
649
|
-
</div>
|
|
650
|
-
<div>
|
|
651
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
652
|
-
<p className="text-gray-700">
|
|
653
|
-
<strong>Discovery:</strong> Find agents by name/labels in catalogs.<br/>
|
|
654
|
-
<strong>Versioning:</strong> Track changes over time.<br/>
|
|
655
|
-
<strong>Organization:</strong> Group agents by team, project, environment.<br/>
|
|
656
|
-
<strong>Documentation:</strong> Human-readable descriptions and URLs.
|
|
657
|
-
</p>
|
|
658
|
-
</div>
|
|
659
|
-
<div>
|
|
660
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
661
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
662
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`metadata:
|
|
663
|
-
name: customer-support-agent
|
|
664
|
-
version: 2.1.0
|
|
665
|
-
description: Handles tier-1 support tickets with sentiment analysis
|
|
666
|
-
labels:
|
|
667
|
-
team: support
|
|
668
|
-
environment: production
|
|
669
|
-
annotations:
|
|
670
|
-
docs: https://docs.example.com/agents/support
|
|
671
|
-
owner: support-team@example.com`}</code></pre>
|
|
672
|
-
</div>
|
|
673
|
-
</div>
|
|
674
|
-
</div>
|
|
675
|
-
),
|
|
676
|
-
},
|
|
677
|
-
{
|
|
678
|
-
id: 'spec-role',
|
|
679
|
-
title: 'spec.role',
|
|
680
|
-
borderColor: 'border-primary',
|
|
681
|
-
content: (
|
|
682
|
-
<div className="space-y-4">
|
|
683
|
-
<div>
|
|
684
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
685
|
-
<p className="text-gray-700">The system prompt / role definition that guides the agent's behavior and personality.</p>
|
|
686
|
-
</div>
|
|
687
|
-
<div>
|
|
688
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
689
|
-
<p className="text-gray-700">
|
|
690
|
-
Defines <strong>who</strong> the agent is, <strong>what</strong> it can do, and <strong>how</strong> it should behave.
|
|
691
|
-
This is the agent's identity and primary instruction set that shapes all interactions.
|
|
692
|
-
</p>
|
|
693
|
-
</div>
|
|
694
|
-
<div>
|
|
695
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
696
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
697
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
698
|
-
role: |
|
|
699
|
-
You are a senior software architect specializing in distributed systems.
|
|
700
|
-
Your role is to review code for scalability, security, and best practices.
|
|
701
|
-
You provide constructive feedback with specific examples and recommendations.
|
|
702
|
-
You communicate in a professional but friendly tone.`}</code></pre>
|
|
703
|
-
</div>
|
|
704
|
-
</div>
|
|
705
|
-
</div>
|
|
706
|
-
),
|
|
707
|
-
},
|
|
708
|
-
{
|
|
709
|
-
id: 'spec-llm',
|
|
710
|
-
title: 'spec.llm',
|
|
711
|
-
borderColor: 'border-secondary',
|
|
712
|
-
content: (
|
|
713
|
-
<div className="space-y-4">
|
|
714
|
-
<div>
|
|
715
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
716
|
-
<p className="text-gray-700">LLM provider configuration: model, temperature, max_tokens, top_p, and other parameters.</p>
|
|
717
|
-
</div>
|
|
718
|
-
<div>
|
|
719
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
720
|
-
<p className="text-gray-700">
|
|
721
|
-
<strong>Portability:</strong> Switch from OpenAI to Anthropic without changing agent logic.<br/>
|
|
722
|
-
<strong>Optimization:</strong> Tune temperature for creativity vs consistency.<br/>
|
|
723
|
-
<strong>Cost Control:</strong> Set token limits and choose appropriate model sizes.<br/>
|
|
724
|
-
<strong>Quality:</strong> Configure sampling parameters for best results.
|
|
725
|
-
</p>
|
|
726
|
-
</div>
|
|
727
|
-
<div>
|
|
728
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
729
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
730
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
731
|
-
llm:
|
|
732
|
-
provider: openai
|
|
733
|
-
model: gpt-4-turbo
|
|
734
|
-
temperature: 0.7
|
|
735
|
-
max_tokens: 2000
|
|
736
|
-
top_p: 0.9
|
|
737
|
-
frequency_penalty: 0.0
|
|
738
|
-
presence_penalty: 0.6`}</code></pre>
|
|
739
|
-
</div>
|
|
740
|
-
</div>
|
|
741
|
-
</div>
|
|
742
|
-
),
|
|
743
|
-
},
|
|
744
|
-
{
|
|
745
|
-
id: 'spec-tools',
|
|
746
|
-
title: 'spec.tools',
|
|
747
|
-
borderColor: 'border-primary',
|
|
748
|
-
content: (
|
|
749
|
-
<div className="space-y-4">
|
|
750
|
-
<div>
|
|
751
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
752
|
-
<p className="text-gray-700">Array of tools/functions the agent can call: HTTP APIs, code execution, database queries, file operations, etc.</p>
|
|
753
|
-
</div>
|
|
754
|
-
<div>
|
|
755
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
756
|
-
<p className="text-gray-700">
|
|
757
|
-
Agents need to <strong>take action</strong>, not just respond with text. Tools enable agents to:
|
|
758
|
-
interact with APIs, query databases, run code, search the web, manipulate files, and integrate with external systems.
|
|
759
|
-
Standardizing tool definitions ensures portability across frameworks.
|
|
760
|
-
</p>
|
|
761
|
-
</div>
|
|
762
|
-
<div>
|
|
763
|
-
<p className="font-semibold text-gray-900 mb-2">TYPES:</p>
|
|
764
|
-
<ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
|
|
765
|
-
<li><strong>http:</strong> REST API calls</li>
|
|
766
|
-
<li><strong>code:</strong> Execute Python/JS/etc</li>
|
|
767
|
-
<li><strong>database:</strong> SQL queries</li>
|
|
768
|
-
<li><strong>file:</strong> Read/write files</li>
|
|
769
|
-
<li><strong>search:</strong> Web/vector search</li>
|
|
770
|
-
<li><strong>custom:</strong> Framework-specific tools</li>
|
|
771
|
-
</ul>
|
|
772
|
-
</div>
|
|
773
|
-
<div>
|
|
774
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
775
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
776
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
777
|
-
tools:
|
|
778
|
-
- type: http
|
|
779
|
-
name: search_issues
|
|
780
|
-
endpoint: https://api.github.com/search/issues
|
|
781
|
-
method: GET
|
|
782
|
-
auth:
|
|
783
|
-
type: bearer
|
|
784
|
-
token: \${GITHUB_TOKEN}
|
|
785
|
-
|
|
786
|
-
- type: code
|
|
787
|
-
name: analyze_logs
|
|
788
|
-
language: python
|
|
789
|
-
allowed_libraries: [pandas, numpy]`}</code></pre>
|
|
790
|
-
</div>
|
|
791
|
-
</div>
|
|
792
|
-
</div>
|
|
793
|
-
),
|
|
794
|
-
},
|
|
795
|
-
{
|
|
796
|
-
id: 'spec-taxonomy',
|
|
797
|
-
title: 'spec.taxonomy',
|
|
798
|
-
borderColor: 'border-secondary',
|
|
799
|
-
content: (
|
|
800
|
-
<div className="space-y-4">
|
|
801
|
-
<div>
|
|
802
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
803
|
-
<p className="text-gray-700">Classification of agent purpose: domain, subdomain, use_case, and industry.</p>
|
|
804
|
-
</div>
|
|
805
|
-
<div>
|
|
806
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
807
|
-
<p className="text-gray-700">
|
|
808
|
-
<strong>Discoverability:</strong> Find agents for specific use cases in catalogs.<br/>
|
|
809
|
-
<strong>Organization:</strong> Group similar agents together.<br/>
|
|
810
|
-
<strong>Routing:</strong> Automatically route tasks to appropriate agents.<br/>
|
|
811
|
-
<strong>Analytics:</strong> Track agent usage by domain/industry.
|
|
812
|
-
</p>
|
|
813
|
-
</div>
|
|
814
|
-
<div>
|
|
815
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
816
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
817
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
818
|
-
taxonomy:
|
|
819
|
-
domain: customer_service
|
|
820
|
-
subdomain: technical_support
|
|
821
|
-
use_case: troubleshooting
|
|
822
|
-
industry: saas
|
|
823
|
-
tags: [support, automation, tier1]`}</code></pre>
|
|
824
|
-
</div>
|
|
825
|
-
</div>
|
|
826
|
-
</div>
|
|
827
|
-
),
|
|
828
|
-
},
|
|
829
|
-
{
|
|
830
|
-
id: 'spec-autonomy',
|
|
831
|
-
title: 'spec.autonomy',
|
|
832
|
-
borderColor: 'border-primary',
|
|
833
|
-
content: (
|
|
834
|
-
<div className="space-y-4">
|
|
835
|
-
<div>
|
|
836
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
837
|
-
<p className="text-gray-700">Defines how much independence the agent has: level (L0-L5), approval_required, human_in_loop settings.</p>
|
|
838
|
-
</div>
|
|
839
|
-
<div>
|
|
840
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
841
|
-
<p className="text-gray-700">
|
|
842
|
-
<strong>Safety:</strong> Prevent agents from taking destructive actions without oversight.<br/>
|
|
843
|
-
<strong>Compliance:</strong> Require approvals for regulated operations.<br/>
|
|
844
|
-
<strong>Trust:</strong> Gradually increase autonomy as agents prove reliable.<br/>
|
|
845
|
-
<strong>Audit:</strong> Track which actions required human approval.
|
|
846
|
-
</p>
|
|
847
|
-
</div>
|
|
848
|
-
<div>
|
|
849
|
-
<p className="font-semibold text-gray-900 mb-2">LEVELS:</p>
|
|
850
|
-
<ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
|
|
851
|
-
<li><strong>L0:</strong> No autonomy (human controls everything)</li>
|
|
852
|
-
<li><strong>L1:</strong> Suggestions only (human approves all actions)</li>
|
|
853
|
-
<li><strong>L2:</strong> Conditional autonomy (human approves risky actions)</li>
|
|
854
|
-
<li><strong>L3:</strong> High autonomy (human approves critical actions)</li>
|
|
855
|
-
<li><strong>L4:</strong> Full autonomy (human notified of actions)</li>
|
|
856
|
-
<li><strong>L5:</strong> Complete autonomy (no human oversight)</li>
|
|
857
|
-
</ul>
|
|
858
|
-
</div>
|
|
859
|
-
<div>
|
|
860
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
861
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
862
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
863
|
-
autonomy:
|
|
864
|
-
level: L2
|
|
865
|
-
approval_required:
|
|
866
|
-
- delete_operations
|
|
867
|
-
- financial_transactions
|
|
868
|
-
- user_data_access
|
|
869
|
-
human_in_loop:
|
|
870
|
-
notification_channels: [slack, email]
|
|
871
|
-
timeout_seconds: 300`}</code></pre>
|
|
872
|
-
</div>
|
|
873
|
-
</div>
|
|
874
|
-
</div>
|
|
875
|
-
),
|
|
876
|
-
},
|
|
877
|
-
{
|
|
878
|
-
id: 'spec-observability',
|
|
879
|
-
title: 'spec.observability',
|
|
880
|
-
borderColor: 'border-secondary',
|
|
881
|
-
content: (
|
|
882
|
-
<div className="space-y-4">
|
|
883
|
-
<div>
|
|
884
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
885
|
-
<p className="text-gray-700">Logging, metrics, and tracing configuration for monitoring agent behavior.</p>
|
|
886
|
-
</div>
|
|
887
|
-
<div>
|
|
888
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
889
|
-
<p className="text-gray-700">
|
|
890
|
-
<strong>Debugging:</strong> Understand what went wrong when agents fail.<br/>
|
|
891
|
-
<strong>Performance:</strong> Track response times, token usage, costs.<br/>
|
|
892
|
-
<strong>Quality:</strong> Monitor success rates and user satisfaction.<br/>
|
|
893
|
-
<strong>Compliance:</strong> Audit trails for regulated industries.
|
|
894
|
-
</p>
|
|
895
|
-
</div>
|
|
896
|
-
<div>
|
|
897
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
898
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
899
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`spec:
|
|
900
|
-
observability:
|
|
901
|
-
logging:
|
|
902
|
-
level: info
|
|
903
|
-
include_prompts: true
|
|
904
|
-
include_responses: true
|
|
905
|
-
metrics:
|
|
906
|
-
enabled: true
|
|
907
|
-
export_to: prometheus
|
|
908
|
-
tracing:
|
|
909
|
-
enabled: true
|
|
910
|
-
provider: opentelemetry
|
|
911
|
-
sample_rate: 1.0`}</code></pre>
|
|
912
|
-
</div>
|
|
913
|
-
</div>
|
|
914
|
-
</div>
|
|
915
|
-
),
|
|
916
|
-
},
|
|
917
|
-
{
|
|
918
|
-
id: 'extensions',
|
|
919
|
-
title: 'extensions',
|
|
920
|
-
borderColor: 'border-primary',
|
|
921
|
-
content: (
|
|
922
|
-
<div className="space-y-4">
|
|
923
|
-
<div>
|
|
924
|
-
<p className="font-semibold text-gray-900 mb-2">WHAT:</p>
|
|
925
|
-
<p className="text-gray-700">Framework-specific configuration blocks: kagent, buildkit, langchain, crewai, openai, anthropic, cursor, langflow, autogen, etc.</p>
|
|
926
|
-
</div>
|
|
927
|
-
<div>
|
|
928
|
-
<p className="font-semibold text-gray-900 mb-2">WHY:</p>
|
|
929
|
-
<p className="text-gray-700">
|
|
930
|
-
While OSSA provides a <strong>common core</strong>, each framework has unique features. Extensions allow you to:
|
|
931
|
-
leverage framework-specific capabilities, maintain compatibility with existing code, and gradually migrate from proprietary formats.
|
|
932
|
-
<strong className="block mt-2">The core spec ensures portability. Extensions provide power.</strong>
|
|
933
|
-
</p>
|
|
934
|
-
</div>
|
|
935
|
-
<div>
|
|
936
|
-
<p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
|
|
937
|
-
<div className="bg-gray-900 rounded-lg p-4 mt-2">
|
|
938
|
-
<pre className="text-green-400 text-sm font-mono"><code>{`extensions:
|
|
939
|
-
kagent:
|
|
940
|
-
mesh_discovery: true
|
|
941
|
-
routing_strategy: round_robin
|
|
942
|
-
|
|
943
|
-
langchain:
|
|
944
|
-
memory_type: conversation_buffer_window
|
|
945
|
-
memory_window_size: 5
|
|
946
|
-
|
|
947
|
-
openai_agents:
|
|
948
|
-
code_interpreter: true
|
|
949
|
-
file_search: true`}</code></pre>
|
|
950
|
-
</div>
|
|
951
|
-
</div>
|
|
952
|
-
</div>
|
|
953
|
-
),
|
|
954
|
-
},
|
|
955
|
-
]}
|
|
956
|
-
/>
|
|
957
|
-
</section>
|
|
958
|
-
|
|
959
|
-
{/* Interactive Schema Explorer */}
|
|
960
|
-
<section className="mb-16">
|
|
961
|
-
<div className="flex items-center mb-8">
|
|
962
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
963
|
-
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
964
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
|
|
965
|
-
</svg>
|
|
966
|
-
</div>
|
|
967
|
-
<h2 className="text-3xl font-bold text-primary">Interactive Schema Explorer</h2>
|
|
968
|
-
</div>
|
|
969
|
-
<p className="text-lg text-gray-700 mb-6">
|
|
970
|
-
Explore the complete JSON Schema interactively. Click on any property to see its type, description, and validation rules.
|
|
971
|
-
</p>
|
|
972
|
-
<SchemaExplorer schema={schema} />
|
|
973
|
-
</section>
|
|
974
|
-
|
|
975
|
-
{/* Next Steps */}
|
|
976
|
-
<section className="mb-8">
|
|
977
|
-
<div className="bg-gradient-to-br from-primary/10 via-accent/10 to-secondary/10 rounded-2xl p-8">
|
|
978
|
-
<h2 className="text-3xl font-bold mb-6 text-center">Ready to Build Agents?</h2>
|
|
979
|
-
<div className="grid md:grid-cols-3 gap-4">
|
|
980
|
-
<Link href="/playground" className="card-hover p-6 text-center border-l-4 border-primary hover:-translate-y-1 transition-all duration-300">
|
|
981
|
-
<div className="text-4xl mb-3">🎮</div>
|
|
982
|
-
<h3 className="text-xl font-semibold text-primary mb-2">Try the Playground</h3>
|
|
983
|
-
<p className="text-gray-700">Write and validate your first agent manifest</p>
|
|
984
|
-
</Link>
|
|
985
|
-
<Link href="/examples" className="card-hover p-6 text-center border-l-4 border-secondary hover:-translate-y-1 transition-all duration-300">
|
|
986
|
-
<div className="text-4xl mb-3">📚</div>
|
|
987
|
-
<h3 className="text-xl font-semibold text-secondary mb-2">Browse Examples</h3>
|
|
988
|
-
<p className="text-gray-700">See 58+ real-world agent definitions</p>
|
|
989
|
-
</Link>
|
|
990
|
-
<Link href="/docs" className="card-hover p-6 text-center border-l-4 border-primary hover:-translate-y-1 transition-all duration-300">
|
|
991
|
-
<div className="text-4xl mb-3">📖</div>
|
|
992
|
-
<h3 className="text-xl font-semibold text-primary mb-2">Read the Docs</h3>
|
|
993
|
-
<p className="text-gray-700">Comprehensive guides and tutorials</p>
|
|
994
|
-
</Link>
|
|
995
|
-
</div>
|
|
996
|
-
</div>
|
|
997
|
-
</section>
|
|
998
|
-
</div>
|
|
999
|
-
</>
|
|
1000
|
-
);
|
|
1001
|
-
}
|