@bluefly/openstandardagents 0.1.9 → 0.2.5-RC
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/.cursorrules +84 -0
- package/.devfile.yaml +87 -0
- package/.env.example +25 -3
- package/.eslintrc.cjs +43 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- package/.github/dependabot.yml +58 -0
- package/.github/workflows/ci.yml +154 -0
- package/.github/workflows/codeql.yml +41 -0
- package/.github/workflows/dependabot-auto-merge.yml +28 -0
- package/.github/workflows/release.yml +103 -0
- package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
- package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
- package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
- package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
- package/.kiro/specs/website-design-audit/design.md +679 -0
- package/.kiro/specs/website-design-audit/requirements.md +199 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +10 -0
- package/.redocly.yaml +8 -62
- package/.releaserc.json +85 -0
- package/.version.json +6 -0
- package/CHANGELOG.md +196 -0
- package/CONTRIBUTING.md +267 -0
- package/LICENSE +190 -0
- package/README.md +253 -454
- package/bin/ossa +29 -0
- package/bin/ossa-validate-all +55 -0
- package/bin/ossa-version +23 -0
- package/bin/validate-ossa-0.2.2.ts +244 -0
- package/bin/validate-ossa-0.2.4.ts +244 -0
- package/bin/validate-ossa-0.2.5-RC.ts +244 -0
- package/bin/validate-ossa.ts +273 -0
- package/dist/di-container.d.ts +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +0 -3
- package/dist/di-container.js.map +1 -1
- package/dist/index.d.ts +9 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -33
- package/dist/index.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +16 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +94 -17
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/generation.service.d.ts +7 -5
- package/dist/services/generation.service.d.ts.map +1 -1
- package/dist/services/generation.service.js +93 -45
- package/dist/services/generation.service.js.map +1 -1
- package/dist/services/gitlab-agent.service.d.ts.map +1 -1
- package/dist/services/gitlab-agent.service.js +12 -8
- package/dist/services/gitlab-agent.service.js.map +1 -1
- package/dist/services/migration.service.d.ts +3 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +108 -61
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/base-crud.service.d.ts +93 -0
- package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
- package/dist/services/release-automation/base-crud.service.js +68 -0
- package/dist/services/release-automation/base-crud.service.js.map +1 -0
- package/dist/services/release-automation/index.d.ts +12 -0
- package/dist/services/release-automation/index.d.ts.map +1 -0
- package/dist/services/release-automation/index.js +12 -0
- package/dist/services/release-automation/index.js.map +1 -0
- package/dist/services/release-automation/merge-request.service.d.ts +119 -0
- package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
- package/dist/services/release-automation/merge-request.service.js +212 -0
- package/dist/services/release-automation/merge-request.service.js.map +1 -0
- package/dist/services/release-automation/milestone.service.d.ts +104 -0
- package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
- package/dist/services/release-automation/milestone.service.js +207 -0
- package/dist/services/release-automation/milestone.service.js.map +1 -0
- package/dist/services/release-automation/release.service.d.ts +118 -0
- package/dist/services/release-automation/release.service.d.ts.map +1 -0
- package/dist/services/release-automation/release.service.js +207 -0
- package/dist/services/release-automation/release.service.js.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.js +269 -0
- package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
- package/dist/services/release-automation/tag.service.d.ts +99 -0
- package/dist/services/release-automation/tag.service.d.ts.map +1 -0
- package/dist/services/release-automation/tag.service.js +180 -0
- package/dist/services/release-automation/tag.service.js.map +1 -0
- package/dist/services/release-automation/webhook.service.d.ts +37 -0
- package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
- package/dist/services/release-automation/webhook.service.js +173 -0
- package/dist/services/release-automation/webhook.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
- package/dist/services/runtime/openai.adapter.js.map +1 -1
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +24 -11
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts +2 -2
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +14 -9
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts +2 -2
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +18 -15
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts +2 -2
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +18 -17
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts +2 -2
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +15 -11
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts +2 -2
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +14 -11
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts +2 -2
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +14 -9
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts +2 -2
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +23 -18
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts +2 -2
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +19 -16
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts +2 -2
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +20 -16
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +16 -15
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
- package/dist/spec/v0.2.3/README.md +4 -4
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +7 -7
- package/dist/spec/v0.2.4/CHANGELOG.md +403 -0
- package/dist/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4/ossa-0.2.4-dev.schema.json +1696 -0
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
- package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5/README.md +72 -0
- package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
- package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5-RC/README.md +72 -0
- package/dist/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/dist/types/index.d.ts +164 -260
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -65
- package/dist/types/index.js.map +1 -1
- package/docs/issue-19-completion-summary.md +648 -0
- package/docs/issue-19-validation.md +351 -0
- package/examples/adk-integration/code-review-workflow.yml +136 -0
- package/examples/adk-integration/customer-support.yml +263 -0
- package/examples/adk-integration/data-pipeline.yml +173 -0
- package/examples/advanced/patterns/compliance-context-production.json +53 -0
- package/examples/advanced/patterns/model-router.ts +274 -0
- package/examples/advanced/patterns/smart-model-routing.ts +248 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
- package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
- package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
- package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
- package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
- package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
- package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
- package/examples/anthropic/claude-assistant.ossa.json +45 -0
- package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
- package/examples/autogen/multi-agent.ossa.json +37 -0
- package/examples/bridge-configurations.yaml +346 -0
- package/examples/bridges/Dockerfile.production +87 -0
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
- package/examples/bridges/aiflow-bridge-example.yml +310 -0
- package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
- package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
- package/examples/bridges/k8s/configmap.yaml +121 -0
- package/examples/bridges/k8s/deployment-simple.yaml +34 -0
- package/examples/bridges/k8s/deployment.yaml +275 -0
- package/examples/bridges/k8s/hpa.yaml +126 -0
- package/examples/bridges/k8s/ingress.yaml +155 -0
- package/examples/bridges/kagent-bridge-example.yml +94 -0
- package/examples/bridges/load-tests/Dockerfile +28 -0
- package/examples/bridges/load-tests/k6-load-test.js +302 -0
- package/examples/bridges/load-tests/requirements.txt +20 -0
- package/examples/bridges/loadtest/k6-scenarios.js +270 -0
- package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
- package/examples/bridges/phase4/chaos-tests.yaml +226 -0
- package/examples/bridges/requirements.txt +24 -0
- package/examples/bridges/test_aiflow_integration.py +341 -0
- package/examples/common_npm/agent-router.ossa.yaml +182 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
- package/examples/compliance-agent.yml +155 -0
- package/examples/crewai/research-team.ossa.json +36 -0
- package/examples/cursor/code-review-agent.ossa.json +47 -0
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
- package/examples/enterprise/agent.yml +452 -0
- package/examples/extensions/drupal-v1.yml +266 -0
- package/examples/extensions/kagent-v1.yml +167 -0
- package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
- package/examples/kagent/README.md +31 -0
- package/examples/kagent/compliance-validator.ossa.yaml +111 -0
- package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
- package/examples/kagent/documentation-agent.ossa.yaml +91 -0
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
- package/examples/kagent/security-scanner.ossa.yaml +140 -0
- package/examples/langchain/chain-agent.ossa.json +42 -0
- package/examples/langflow/workflow-agent.ossa.json +39 -0
- package/examples/langgraph/state-machine-agent.ossa.json +59 -0
- package/examples/llamaindex/rag-agent.ossa.json +41 -0
- package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
- package/examples/minimal/agent.yml +152 -0
- package/examples/minimal/openapi.yaml +95 -0
- package/examples/openai/basic-agent.ossa.yaml +61 -0
- package/examples/openai/multi-tool-agent.ossa.json +165 -0
- package/examples/openai/swarm-agent.ossa.json +59 -0
- package/examples/openapi-extensions/README.md +87 -0
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
- package/examples/production/agent.yml +713 -0
- package/examples/production/document-analyzer-openai.yml +134 -0
- package/examples/quickstart/support-agent.ossa.yaml +59 -0
- package/examples/service-registry-usage.ts +423 -0
- package/examples/spec-examples/audit-agent.yml +147 -0
- package/examples/spec-examples/chat-agent.yml +189 -0
- package/examples/spec-examples/compliance-agent.yml +204 -0
- package/examples/spec-examples/data-processing-agent.yml +132 -0
- package/examples/spec-examples/development-agent.yml +138 -0
- package/examples/spec-examples/edge-agent.yml +101 -0
- package/examples/spec-examples/integration-agent.yml +129 -0
- package/examples/spec-examples/monitoring-agent.yml +130 -0
- package/examples/spec-examples/serverless-agent.yml +82 -0
- package/examples/spec-examples/workflow-agent.yml +223 -0
- package/examples/templates/ossa-compliance.yaml +56 -0
- package/examples/typescript/advanced/demo-registry.ts +168 -0
- package/examples/typescript/mcpb-agent-example.ts +358 -0
- package/examples/vercel/edge-agent.ossa.json +43 -0
- package/infrastructure/docker-compose.yml +33 -0
- package/infrastructure/gitlab-agent/rbac.yaml +126 -0
- package/infrastructure/gitlab-agent/values.yaml +150 -0
- package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
- package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
- package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
- package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
- package/infrastructure/k8s/monitoring/README.md +73 -0
- package/infrastructure/k8s/monitoring/deploy.sh +38 -0
- package/openapi/CHANGELOG.md +21 -0
- package/openapi/README.md +46 -0
- package/openapi/core/ossa-core-api.openapi.yaml +1503 -0
- package/openapi/core/ossa-registry-api.openapi.yaml +980 -0
- package/openapi/core/ossa-registry.openapi.yaml +855 -0
- package/openapi/core/unified-agent-gateway.openapi.yaml +833 -0
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
- package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +348 -0
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
- package/openapi/reference-implementations/helm-generator.openapi.yaml +389 -0
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1530 -0
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
- package/package.json +120 -83
- package/release.config.js +79 -0
- package/scripts/bump-version.ts +57 -0
- package/scripts/enhanced-version-manager.ts +257 -0
- package/scripts/gen-types.ts +51 -0
- package/scripts/gen-zod.ts +51 -0
- package/scripts/lib/exec.ts +37 -0
- package/scripts/lib/file-ops.ts +58 -0
- package/scripts/lib/version.ts +83 -0
- package/scripts/process-doc-templates.ts +37 -0
- package/scripts/schemas/package.schema.ts +75 -0
- package/scripts/setup-branch-protection.sh +33 -0
- package/scripts/sync-version.ts +39 -0
- package/scripts/sync-versions.ts +488 -0
- package/scripts/validate-schema.ts +49 -0
- package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/spec/v0.2.3/CHANGELOG.md +176 -0
- package/spec/v0.2.3/README.md +154 -0
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/spec/v0.2.4/CHANGELOG.md +403 -0
- package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.4/ossa-0.2.4-dev.schema.json +1696 -0
- package/spec/v0.2.4/ossa-0.2.4.schema.json +170 -68
- package/spec/v0.2.5/CHANGELOG.md +401 -0
- package/spec/v0.2.5/README.md +72 -0
- package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
- package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/spec/v0.2.5-RC/README.md +72 -0
- package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/test-results.xml +1 -0
- package/website/.lighthouserc.ts +24 -0
- package/website/.prettierrc +10 -0
- package/website/Dockerfile +30 -0
- package/website/app/about/page.tsx +295 -0
- package/website/app/blog/[slug]/page.tsx +208 -0
- package/website/app/blog/page.tsx +249 -0
- package/website/app/design-guide/page.tsx +511 -0
- package/website/app/docs/[[...slug]]/page.tsx +847 -0
- package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
- package/website/app/ecosystem/page.tsx +375 -0
- package/website/app/examples/page.tsx +133 -0
- package/website/app/globals.scss +135 -0
- package/website/app/layout.tsx +106 -0
- package/website/app/license/page.tsx +183 -0
- package/website/app/not-found.tsx +18 -0
- package/website/app/page.tsx +474 -0
- package/website/app/playground/page.tsx +487 -0
- package/website/app/robots.ts +19 -0
- package/website/app/rss.xml/route.ts +74 -0
- package/website/app/schema/page.tsx +1001 -0
- package/website/app/sitemap.ts +56 -0
- package/website/app/specification/page.tsx +287 -0
- package/website/components/InstallCommand.tsx +96 -0
- package/website/components/Logo.tsx +97 -0
- package/website/components/StructuredData.tsx +65 -0
- package/website/components/docs/DocsSearch.tsx +104 -0
- package/website/components/docs/DocsSidebar.tsx +155 -0
- package/website/components/docs/MarkdownContent.tsx +401 -0
- package/website/components/docs/VersionSelector.tsx +105 -0
- package/website/components/examples/ExamplesViewer.tsx +293 -0
- package/website/components/layout/Footer.tsx +116 -0
- package/website/components/layout/Header.tsx +168 -0
- package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
- package/website/components/schema/SchemaExplorer.tsx +213 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +198 -0
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
- package/website/content/blog/introducing-ossa-framework.md +328 -0
- package/website/content/blog/ossa-production-results.md +279 -0
- package/website/content/blog/welcome-to-ossa.md +43 -0
- package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
- package/website/content/docs/00-HOME.md +153 -0
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/Examples.md +71 -0
- package/website/content/docs/OpenAPI-Extensions.md +934 -0
- package/website/content/docs/adapters/openai-adapter.md +693 -0
- package/website/content/docs/architecture/execution-flow.md +335 -0
- package/website/content/docs/architecture/multi-agent-systems.md +737 -0
- package/website/content/docs/architecture/overview.md +121 -0
- package/website/content/docs/architecture/stack-integration.md +461 -0
- package/website/content/docs/changelog.md +246 -0
- package/website/content/docs/contributing.md +599 -0
- package/website/content/docs/core-concepts/Project-Structure.md +348 -0
- package/website/content/docs/ecosystem/framework-support.md +819 -0
- package/website/content/docs/ecosystem/overview.md +366 -0
- package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/examples/Migration-Guides.md +214 -0
- package/website/content/docs/for-audiences/Architects.md +224 -0
- package/website/content/docs/for-audiences/Developers.md +220 -0
- package/website/content/docs/for-audiences/Enterprises.md +256 -0
- package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
- package/website/content/docs/getting-started/5-Minute-Overview.md +85 -0
- package/website/content/docs/getting-started/First-Agent.md +196 -0
- package/website/content/docs/getting-started/Hello-World.md +184 -0
- package/website/content/docs/getting-started/Installation.md +155 -0
- package/website/content/docs/getting-started/index.md +92 -0
- package/website/content/docs/getting-started/running-agents.md +309 -0
- package/website/content/docs/getting-started.md +91 -0
- package/website/content/docs/integrations/aiflow.md +104 -0
- package/website/content/docs/integrations/drupal.md +105 -0
- package/website/content/docs/migration-guides/00-INDEX.md +76 -0
- package/website/content/docs/migration-guides/README.md +133 -0
- package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
- package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
- package/website/content/docs/migration-guides/general-agent-schema.yml +247 -0
- package/website/content/docs/migration-guides/index.md +133 -0
- package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
- package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
- package/website/content/docs/migration-guides/migration-manifest.json +64 -0
- package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
- package/website/content/docs/openapi-extensions/examples.md +550 -0
- package/website/content/docs/openapi-extensions/index.md +551 -0
- package/website/content/docs/openapi-extensions/operation-extensions.md +457 -0
- package/website/content/docs/openapi-extensions/root-extensions.md +410 -0
- package/website/content/docs/ossa-compliant-badge.md +251 -0
- package/website/content/docs/pre-release/index.md +175 -0
- package/website/content/docs/quick-reference.md +17 -0
- package/website/content/docs/readme.md +35 -0
- package/website/content/docs/schema-reference/agent-spec.md +406 -0
- package/website/content/docs/schema-reference/autonomy.md +568 -0
- package/website/content/docs/schema-reference/constraints.md +543 -0
- package/website/content/docs/schema-reference/index.md +176 -0
- package/website/content/docs/schema-reference/llm-config.md +445 -0
- package/website/content/docs/schema-reference/observability.md +654 -0
- package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
- package/website/content/docs/schema-reference/taxonomy.md +509 -0
- package/website/content/docs/schema-reference/tools.md +628 -0
- package/website/content/docs/templates/blog-post.md +43 -0
- package/website/content/docs/use-cases/00-index.md +395 -0
- package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
- package/website/content/docs/use-cases/customer-support.md +1234 -0
- package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
- package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
- package/website/content/docs/versioning.md +288 -0
- package/website/lib/version.ts +35 -0
- package/website/lib/versions.json +18 -17
- package/website/next.config.ts +18 -0
- package/website/nginx.conf +32 -0
- package/website/package-lock.json +9679 -0
- package/website/package.json +59 -0
- package/website/postcss.config.mjs +9 -0
- package/website/scripts/fetch-versions.js +166 -0
- package/website/scripts/generate-examples-index.js +163 -0
- package/website/scripts/merge-docs-to-wiki.ts +207 -0
- package/website/scripts/sync-version.js +72 -0
- package/website/scripts/sync-wiki.ts +322 -0
- package/website/scripts/upload-wiki.ts +199 -0
- package/website/styles/_variables.scss +36 -0
- package/website/tailwind.config.ts +136 -0
- package/.buildkit/agent-first-policy.sh +0 -65
- package/.buildkit/branching-workflow.json +0 -41
- package/.buildkit/hooks.yaml +0 -23
- package/.buildkit/install-buildkit-setup.cjs +0 -483
- package/.cursor/plans/ossa-comprehensive-enhancement-issue-audit-plan.plan.md +0 -735
- package/.cursor/plans/ossa-enterprise-transformation-plan-0ccaf09b.plan.md +0 -373
- package/.cursor/plans/ossa-milestone-organization-and-v0-2-4-release-6dafa4ec.plan.md +0 -214
- package/.cursor/rules/problems.json +0 -483
- package/.cursor/settings.json +0 -29
- package/.cursor/worktrees.json +0 -95
- package/.env.local +0 -31
- package/.github/ISSUE_TEMPLATE/README.md +0 -33
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -61
- package/.github/ISSUE_TEMPLATE/config.yml +0 -12
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -75
- package/.github/wiki_templates/home.md +0 -39
- package/.gitignore.bak +0 -489
- package/.gitlab-ci-trigger +0 -1
- package/.husky/pre-commit +0 -31
- package/.lintstagedrc.json +0 -16
- package/.vscode/extensions.json +0 -6
- package/.vscode/settings.json +0 -3
- package/AUDIT_FIXES.md +0 -139
- package/AUDIT_REPORT.md +0 -308
- package/BUILDKIT_INTEGRATION.md +0 -146
- package/Dockerfile +0 -35
- package/dist/adk/adapters/index.d.ts +0 -64
- package/dist/adk/adapters/index.d.ts.map +0 -1
- package/dist/adk/adapters/index.js +0 -257
- package/dist/adk/adapters/index.js.map +0 -1
- package/dist/adk/agents/custom-agent.d.ts +0 -55
- package/dist/adk/agents/custom-agent.d.ts.map +0 -1
- package/dist/adk/agents/custom-agent.js +0 -167
- package/dist/adk/agents/custom-agent.js.map +0 -1
- package/dist/adk/agents/index.d.ts +0 -64
- package/dist/adk/agents/index.d.ts.map +0 -1
- package/dist/adk/agents/index.js +0 -125
- package/dist/adk/agents/index.js.map +0 -1
- package/dist/adk/agents/llm-agent.d.ts +0 -27
- package/dist/adk/agents/llm-agent.d.ts.map +0 -1
- package/dist/adk/agents/llm-agent.js +0 -63
- package/dist/adk/agents/llm-agent.js.map +0 -1
- package/dist/adk/agents/workflow-agent.d.ts +0 -42
- package/dist/adk/agents/workflow-agent.d.ts.map +0 -1
- package/dist/adk/agents/workflow-agent.js +0 -144
- package/dist/adk/agents/workflow-agent.js.map +0 -1
- package/dist/adk/index.d.ts +0 -10
- package/dist/adk/index.d.ts.map +0 -1
- package/dist/adk/index.js +0 -10
- package/dist/adk/index.js.map +0 -1
- package/dist/adk/orchestration/index.d.ts +0 -63
- package/dist/adk/orchestration/index.d.ts.map +0 -1
- package/dist/adk/orchestration/index.js +0 -264
- package/dist/adk/orchestration/index.js.map +0 -1
- package/dist/adk/state/index.d.ts +0 -73
- package/dist/adk/state/index.d.ts.map +0 -1
- package/dist/adk/state/index.js +0 -177
- package/dist/adk/state/index.js.map +0 -1
- package/dist/adk/tools/index.d.ts +0 -65
- package/dist/adk/tools/index.d.ts.map +0 -1
- package/dist/adk/tools/index.js +0 -252
- package/dist/adk/tools/index.js.map +0 -1
- package/dist/cli/agent-deployment.d.ts +0 -34
- package/dist/cli/agent-deployment.d.ts.map +0 -1
- package/dist/cli/agent-deployment.js +0 -396
- package/dist/cli/agent-deployment.js.map +0 -1
- package/dist/cli/commands/discover.command.d.ts +0 -7
- package/dist/cli/commands/discover.command.d.ts.map +0 -1
- package/dist/cli/commands/discover.command.js +0 -80
- package/dist/cli/commands/discover.command.js.map +0 -1
- package/dist/cli/commands/export.command.d.ts +0 -7
- package/dist/cli/commands/export.command.d.ts.map +0 -1
- package/dist/cli/commands/export.command.js +0 -56
- package/dist/cli/commands/export.command.js.map +0 -1
- package/dist/cli/commands/generate.command.d.ts +0 -7
- package/dist/cli/commands/generate.command.d.ts.map +0 -1
- package/dist/cli/commands/generate.command.js +0 -66
- package/dist/cli/commands/generate.command.js.map +0 -1
- package/dist/cli/commands/gitlab-agent.command.d.ts +0 -8
- package/dist/cli/commands/gitlab-agent.command.d.ts.map +0 -1
- package/dist/cli/commands/gitlab-agent.command.js +0 -201
- package/dist/cli/commands/gitlab-agent.command.js.map +0 -1
- package/dist/cli/commands/import.command.d.ts +0 -7
- package/dist/cli/commands/import.command.d.ts.map +0 -1
- package/dist/cli/commands/import.command.js +0 -36
- package/dist/cli/commands/import.command.js.map +0 -1
- package/dist/cli/commands/init.command.d.ts +0 -7
- package/dist/cli/commands/init.command.d.ts.map +0 -1
- package/dist/cli/commands/init.command.js +0 -146
- package/dist/cli/commands/init.command.js.map +0 -1
- package/dist/cli/commands/migrate.command.d.ts +0 -7
- package/dist/cli/commands/migrate.command.d.ts.map +0 -1
- package/dist/cli/commands/migrate.command.js +0 -110
- package/dist/cli/commands/migrate.command.js.map +0 -1
- package/dist/cli/commands/ossa.d.ts +0 -9
- package/dist/cli/commands/ossa.d.ts.map +0 -1
- package/dist/cli/commands/ossa.js +0 -234
- package/dist/cli/commands/ossa.js.map +0 -1
- package/dist/cli/commands/run.command.d.ts +0 -7
- package/dist/cli/commands/run.command.d.ts.map +0 -1
- package/dist/cli/commands/run.command.js +0 -114
- package/dist/cli/commands/run.command.js.map +0 -1
- package/dist/cli/commands/schema.command.d.ts +0 -7
- package/dist/cli/commands/schema.command.d.ts.map +0 -1
- package/dist/cli/commands/schema.command.js +0 -72
- package/dist/cli/commands/schema.command.js.map +0 -1
- package/dist/cli/commands/validate.command.d.ts +0 -7
- package/dist/cli/commands/validate.command.d.ts.map +0 -1
- package/dist/cli/commands/validate.command.js +0 -125
- package/dist/cli/commands/validate.command.js.map +0 -1
- package/dist/cli/commands/worktree.d.ts +0 -7
- package/dist/cli/commands/worktree.d.ts.map +0 -1
- package/dist/cli/commands/worktree.js +0 -509
- package/dist/cli/commands/worktree.js.map +0 -1
- package/dist/cli/index.d.ts +0 -7
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -50
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/ossa-cli.d.ts +0 -52
- package/dist/cli/ossa-cli.d.ts.map +0 -1
- package/dist/cli/ossa-cli.js +0 -1061
- package/dist/cli/ossa-cli.js.map +0 -1
- package/dist/core/index.d.ts +0 -31
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -37
- package/dist/core/index.js.map +0 -1
- package/dist/core/mcp-server-implementation.d.ts +0 -39
- package/dist/core/mcp-server-implementation.d.ts.map +0 -1
- package/dist/core/mcp-server-implementation.js +0 -1262
- package/dist/core/mcp-server-implementation.js.map +0 -1
- package/dist/core/orchestrator/index.d.ts +0 -156
- package/dist/core/orchestrator/index.d.ts.map +0 -1
- package/dist/core/orchestrator/index.js +0 -446
- package/dist/core/orchestrator/index.js.map +0 -1
- package/dist/core/orchestrator/ossa-orchestrator.d.ts +0 -106
- package/dist/core/orchestrator/ossa-orchestrator.d.ts.map +0 -1
- package/dist/core/orchestrator/ossa-orchestrator.js +0 -396
- package/dist/core/orchestrator/ossa-orchestrator.js.map +0 -1
- package/dist/protocols/acap.d.ts +0 -61
- package/dist/protocols/acap.d.ts.map +0 -1
- package/dist/protocols/acap.js +0 -92
- package/dist/protocols/acap.js.map +0 -1
- package/dist/protocols/index.d.ts +0 -8
- package/dist/protocols/index.d.ts.map +0 -1
- package/dist/protocols/index.js +0 -8
- package/dist/protocols/index.js.map +0 -1
- package/dist/protocols/rasp.d.ts +0 -58
- package/dist/protocols/rasp.d.ts.map +0 -1
- package/dist/protocols/rasp.js +0 -212
- package/dist/protocols/rasp.js.map +0 -1
- package/dist/server/simple-app.d.ts +0 -18
- package/dist/server/simple-app.d.ts.map +0 -1
- package/dist/server/simple-app.js +0 -155
- package/dist/server/simple-app.js.map +0 -1
- package/dist/server/types/agent.d.ts +0 -498
- package/dist/server/types/agent.d.ts.map +0 -1
- package/dist/server/types/agent.js +0 -37
- package/dist/server/types/agent.js.map +0 -1
- package/dist/server/types/server.d.ts +0 -370
- package/dist/server/types/server.d.ts.map +0 -1
- package/dist/server/types/server.js +0 -68
- package/dist/server/types/server.js.map +0 -1
- package/dist/services/discovery.service.d.ts +0 -78
- package/dist/services/discovery.service.d.ts.map +0 -1
- package/dist/services/discovery.service.js +0 -212
- package/dist/services/discovery.service.js.map +0 -1
- package/dist/services/orchestration/worktree-orchestrator.d.ts +0 -146
- package/dist/services/orchestration/worktree-orchestrator.d.ts.map +0 -1
- package/dist/services/orchestration/worktree-orchestrator.js +0 -591
- package/dist/services/orchestration/worktree-orchestrator.js.map +0 -1
- package/dist/services/worktree/branching-strategy.d.ts +0 -17
- package/dist/services/worktree/branching-strategy.d.ts.map +0 -1
- package/dist/services/worktree/branching-strategy.js +0 -66
- package/dist/services/worktree/branching-strategy.js.map +0 -1
- package/dist/services/worktree/git-worktree-manager.d.ts +0 -32
- package/dist/services/worktree/git-worktree-manager.d.ts.map +0 -1
- package/dist/services/worktree/git-worktree-manager.js +0 -61
- package/dist/services/worktree/git-worktree-manager.js.map +0 -1
- package/dist/spec/v0.2.4-dev/README.md +0 -61
- package/dist/spec/v0.2.4-dev/RELEASE-PROCESS.md +0 -130
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.4-dev/openapi/CHANGELOG-0.2.4.md +0 -177
- package/dist/spec/v0.2.4-dev/openapi/README-0.2.4.md +0 -51
- package/dist/spec/v0.2.4-dev/openapi/VERIFICATION-0.2.4.md +0 -147
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +0 -1717
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +0 -1732
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/dist/specification/validator.d.ts +0 -82
- package/dist/specification/validator.d.ts.map +0 -1
- package/dist/specification/validator.js +0 -562
- package/dist/specification/validator.js.map +0 -1
- package/dist/types/acdl-api.d.ts +0 -335
- package/dist/types/acdl-api.d.ts.map +0 -1
- package/dist/types/acdl-api.js +0 -6
- package/dist/types/acdl-api.js.map +0 -1
- package/dist/types/agents/index.d.ts +0 -53
- package/dist/types/agents/index.d.ts.map +0 -1
- package/dist/types/agents/index.js +0 -5
- package/dist/types/agents/index.js.map +0 -1
- package/dist/types/api.d.ts +0 -225
- package/dist/types/api.d.ts.map +0 -1
- package/dist/types/api.js +0 -6
- package/dist/types/api.js.map +0 -1
- package/dist/types/architecture/index.d.ts +0 -530
- package/dist/types/architecture/index.d.ts.map +0 -1
- package/dist/types/architecture/index.js +0 -258
- package/dist/types/architecture/index.js.map +0 -1
- package/dist/types/policies/index.d.ts +0 -35
- package/dist/types/policies/index.d.ts.map +0 -1
- package/dist/types/policies/index.js +0 -5
- package/dist/types/policies/index.js.map +0 -1
- package/dist/types/workflows/index.d.ts +0 -40
- package/dist/types/workflows/index.d.ts.map +0 -1
- package/dist/types/workflows/index.js +0 -5
- package/dist/types/workflows/index.js.map +0 -1
- package/dist/utils/version-resolver.d.ts +0 -28
- package/dist/utils/version-resolver.d.ts.map +0 -1
- package/dist/utils/version-resolver.js +0 -110
- package/dist/utils/version-resolver.js.map +0 -1
- package/docker-compose.yml +0 -160
- package/public/api-docs.html +0 -206
- package/public/assets/favicon.svg +0 -8
- package/public/assets/script.js +0 -279
- package/public/assets/style.css +0 -632
- package/public/index.html +0 -307
- package/public/redocly-config.yaml +0 -80
- package/public/src/api/acdl-specification.yml +0 -531
- package/public/src/api/clean-architecture.openapi.yml +0 -1435
- package/public/src/api/context7-mcp.openapi.yml +0 -313
- package/public/src/api/magic-mcp.openapi.yml +0 -647
- package/public/src/api/mcp-infrastructure.openapi.yml +0 -904
- package/public/src/api/orchestration.openapi.yml +0 -444
- package/public/src/api/ossa-complete.openapi.yml +0 -2250
- package/public/src/api/project-discovery.openapi.yml +0 -1293
- package/public/src/api/rebuild-audit.openapi.yml +0 -800
- package/public/src/api/specification.openapi.yml +0 -498
- package/public/src/api/voice-agent-specification.yml +0 -640
- package/public/src/api/web-eval-mcp.openapi.yml +0 -426
- package/pyrightconfig.json +0 -13
- package/redocly.yaml +0 -56
- package/specs/README.md +0 -31
- package/specs/acdl-specification.yml +0 -531
- package/specs/clean-architecture.openapi.yml +0 -1435
- package/specs/context7-mcp.openapi.yml +0 -313
- package/specs/magic-mcp.openapi.yml +0 -647
- package/specs/mcp-infrastructure.openapi.yml +0 -904
- package/specs/orchestration.openapi.yml +0 -444
- package/specs/ossa-complete.openapi.yml +0 -2250
- package/specs/project-discovery.openapi.yml +0 -1293
- package/specs/rebuild-audit.openapi.yml +0 -800
- package/specs/specification.openapi.yml +0 -498
- package/specs/test-api.openapi.yml +0 -20
- package/specs/voice-agent-specification.yml +0 -640
- package/specs/web-eval-mcp.openapi.yml +0 -426
- package/src/adk/adapters/index.ts +0 -310
- package/src/adk/agents/custom-agent.ts +0 -206
- package/src/adk/agents/index.ts +0 -158
- package/src/adk/agents/llm-agent.ts +0 -76
- package/src/adk/agents/workflow-agent.ts +0 -191
- package/src/adk/index.ts +0 -10
- package/src/adk/orchestration/index.ts +0 -352
- package/src/adk/state/index.ts +0 -217
- package/src/adk/tools/index.ts +0 -291
- package/src/api/acdl-specification.yml +0 -531
- package/src/api/agent-manifest.schema.json +0 -859
- package/src/api/agent-worktree-schema.json +0 -320
- package/src/api/clean-architecture.openapi.yml +0 -1435
- package/src/api/context7-mcp.openapi.yml +0 -313
- package/src/api/magic-mcp.openapi.yml +0 -647
- package/src/api/mcp-infrastructure.openapi.yml +0 -904
- package/src/api/openapi.redoc.config.json +0 -6
- package/src/api/orchestration.openapi.yml +0 -444
- package/src/api/ossa-complete.openapi.yml +0 -2250
- package/src/api/project-discovery.openapi.yml +0 -1293
- package/src/api/rebuild-audit.openapi.yml +0 -800
- package/src/api/specification.openapi.yml +0 -498
- package/src/api/test-api.openapi.yml +0 -20
- package/src/api/voice-agent-specification.yml +0 -640
- package/src/api/web-eval-mcp.openapi.yml +0 -426
- package/src/api/workflow.schema.json +0 -524
- package/src/cli/agent-deployment.ts +0 -452
- package/src/cli/commands/ossa.ts +0 -272
- package/src/cli/commands/worktree.ts +0 -603
- package/src/cli/ossa-cli.ts +0 -1176
- package/src/core/index.ts +0 -42
- package/src/core/mcp-server-implementation.ts +0 -1409
- package/src/core/orchestrator/index.ts +0 -611
- package/src/core/orchestrator/ossa-orchestrator.ts +0 -504
- package/src/mcp/simple-server.ts +0 -322
- package/src/protocols/acap.ts +0 -146
- package/src/protocols/index.ts +0 -8
- package/src/protocols/rasp.ts +0 -263
- package/src/server/app.ts +0 -472
- package/src/server/middleware/agentAccess.ts +0 -10
- package/src/server/middleware/asyncHandler.ts +0 -10
- package/src/server/middleware/auth.ts +0 -10
- package/src/server/middleware/errorHandler.ts +0 -9
- package/src/server/middleware/logging.ts +0 -10
- package/src/server/middleware/metrics.ts +0 -10
- package/src/server/middleware/validation.ts +0 -10
- package/src/server/routes/agents.ts +0 -632
- package/src/server/routes/monitoring.ts +0 -13
- package/src/server/routes/orchestration.ts +0 -13
- package/src/server/routes/specifications.ts +0 -13
- package/src/server/services/AgentService.ts +0 -46
- package/src/server/services/ExecutionService.ts +0 -51
- package/src/server/services/SpecificationService.ts +0 -22
- package/src/server/services/WebhookService.ts +0 -24
- package/src/server/simple-app.ts +0 -174
- package/src/server/types/agent.ts +0 -612
- package/src/server/types/server.ts +0 -465
- package/src/services/orchestration/worktree-orchestrator.ts +0 -779
- package/src/services/worktree/branching-strategy.ts +0 -76
- package/src/services/worktree/git-worktree-manager.ts +0 -86
- package/website/.next/BUILD_ID +0 -1
- package/website/.next/app-build-manifest.json +0 -151
- package/website/.next/app-path-routes-manifest.json +0 -19
- package/website/.next/build-manifest.json +0 -33
- package/website/.next/cache/.previewinfo +0 -1
- package/website/.next/cache/.rscinfo +0 -1
- package/website/.next/cache/.tsbuildinfo +0 -1
- package/website/.next/cache/fetch-cache/920aec34c288eefa97c5efba3baf95a846a0beb0c48a5064980a2c24b83e941c +0 -1
- package/website/.next/cache/fetch-cache/c2ad7a72b43463a0daaa85ca926a8af38defd17ecb64f1fdd2dd4fe2293e8b26 +0 -1
- package/website/.next/cache/fetch-cache/d10eb963d5980c8a50ee9ed24472339ee6da054ead33e00676e61e8b8e62cc83 +0 -1
- package/website/.next/cache/fetch-cache/f243d84640477f3205b74a85013018acd63b692144675630a74d1af8a3e9eab5 +0 -1
- package/website/.next/cache/webpack/client-production/0.pack +0 -0
- package/website/.next/cache/webpack/client-production/1.pack +0 -0
- package/website/.next/cache/webpack/client-production/10.pack +0 -0
- package/website/.next/cache/webpack/client-production/11.pack +0 -0
- package/website/.next/cache/webpack/client-production/12.pack +0 -0
- package/website/.next/cache/webpack/client-production/13.pack +0 -0
- package/website/.next/cache/webpack/client-production/14.pack +0 -0
- package/website/.next/cache/webpack/client-production/15.pack +0 -0
- package/website/.next/cache/webpack/client-production/16.pack +0 -0
- package/website/.next/cache/webpack/client-production/17.pack +0 -0
- package/website/.next/cache/webpack/client-production/18.pack +0 -0
- package/website/.next/cache/webpack/client-production/2.pack +0 -0
- package/website/.next/cache/webpack/client-production/3.pack +0 -0
- package/website/.next/cache/webpack/client-production/4.pack +0 -0
- package/website/.next/cache/webpack/client-production/5.pack +0 -0
- package/website/.next/cache/webpack/client-production/6.pack +0 -0
- package/website/.next/cache/webpack/client-production/7.pack +0 -0
- package/website/.next/cache/webpack/client-production/8.pack +0 -0
- package/website/.next/cache/webpack/client-production/9.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/website/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/website/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/0.pack +0 -0
- package/website/.next/cache/webpack/server-production/1.pack +0 -0
- package/website/.next/cache/webpack/server-production/10.pack +0 -0
- package/website/.next/cache/webpack/server-production/11.pack +0 -0
- package/website/.next/cache/webpack/server-production/12.pack +0 -0
- package/website/.next/cache/webpack/server-production/2.pack +0 -0
- package/website/.next/cache/webpack/server-production/3.pack +0 -0
- package/website/.next/cache/webpack/server-production/4.pack +0 -0
- package/website/.next/cache/webpack/server-production/5.pack +0 -0
- package/website/.next/cache/webpack/server-production/6.pack +0 -0
- package/website/.next/cache/webpack/server-production/7.pack +0 -0
- package/website/.next/cache/webpack/server-production/8.pack +0 -0
- package/website/.next/cache/webpack/server-production/9.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/website/.next/diagnostics/build-diagnostics.json +0 -6
- package/website/.next/diagnostics/framework.json +0 -1
- package/website/.next/export-detail.json +0 -5
- package/website/.next/export-marker.json +0 -6
- package/website/.next/images-manifest.json +0 -57
- package/website/.next/next-minimal-server.js.nft.json +0 -1
- package/website/.next/next-server.js.nft.json +0 -1
- package/website/.next/package.json +0 -1
- package/website/.next/prerender-manifest.json +0 -2143
- package/website/.next/react-loadable-manifest.json +0 -1898
- package/website/.next/required-server-files.json +0 -320
- package/website/.next/routes-manifest.json +0 -161
- package/website/.next/server/app/_not-found/page.js +0 -2
- package/website/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/website/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/_not-found.html +0 -1
- package/website/.next/server/app/_not-found.meta +0 -8
- package/website/.next/server/app/_not-found.rsc +0 -23
- package/website/.next/server/app/about/page.js +0 -2
- package/website/.next/server/app/about/page.js.nft.json +0 -1
- package/website/.next/server/app/about/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/about.html +0 -1
- package/website/.next/server/app/about.meta +0 -7
- package/website/.next/server/app/about.rsc +0 -40
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.html +0 -217
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.meta +0 -7
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.rsc +0 -308
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.html +0 -180
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.meta +0 -7
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.rsc +0 -232
- package/website/.next/server/app/blog/[slug]/page.js +0 -2
- package/website/.next/server/app/blog/[slug]/page.js.nft.json +0 -1
- package/website/.next/server/app/blog/[slug]/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/blog/introducing-ossa-framework.html +0 -263
- package/website/.next/server/app/blog/introducing-ossa-framework.meta +0 -7
- package/website/.next/server/app/blog/introducing-ossa-framework.rsc +0 -351
- package/website/.next/server/app/blog/ossa-production-results.html +0 -198
- package/website/.next/server/app/blog/ossa-production-results.meta +0 -7
- package/website/.next/server/app/blog/ossa-production-results.rsc +0 -302
- package/website/.next/server/app/blog/page.js +0 -2
- package/website/.next/server/app/blog/page.js.nft.json +0 -1
- package/website/.next/server/app/blog/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/blog/welcome-to-ossa.html +0 -22
- package/website/.next/server/app/blog/welcome-to-ossa.meta +0 -7
- package/website/.next/server/app/blog/welcome-to-ossa.rsc +0 -31
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.html +0 -63
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.meta +0 -7
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.rsc +0 -121
- package/website/.next/server/app/blog.html +0 -1
- package/website/.next/server/app/blog.meta +0 -7
- package/website/.next/server/app/blog.rsc +0 -35
- package/website/.next/server/app/design-guide/page.js +0 -12
- package/website/.next/server/app/design-guide/page.js.nft.json +0 -1
- package/website/.next/server/app/design-guide/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/design-guide.html +0 -11
- package/website/.next/server/app/design-guide.meta +0 -7
- package/website/.next/server/app/design-guide.rsc +0 -41
- package/website/.next/server/app/docs.html +0 -1
- package/website/.next/server/app/docs.meta +0 -7
- package/website/.next/server/app/docs.rsc +0 -42
- package/website/.next/server/app/ecosystem/page.js +0 -2
- package/website/.next/server/app/ecosystem/page.js.nft.json +0 -1
- package/website/.next/server/app/ecosystem/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/ecosystem.html +0 -1
- package/website/.next/server/app/ecosystem.meta +0 -7
- package/website/.next/server/app/ecosystem.rsc +0 -40
- package/website/.next/server/app/examples.html +0 -1
- package/website/.next/server/app/examples.meta +0 -7
- package/website/.next/server/app/examples.rsc +0 -14559
- package/website/.next/server/app/index.html +0 -3
- package/website/.next/server/app/index.meta +0 -7
- package/website/.next/server/app/index.rsc +0 -40
- package/website/.next/server/app/license/page.js +0 -2
- package/website/.next/server/app/license/page.js.nft.json +0 -1
- package/website/.next/server/app/license/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/license.html +0 -191
- package/website/.next/server/app/license.meta +0 -7
- package/website/.next/server/app/license.rsc +0 -222
- package/website/.next/server/app/page.js +0 -4
- package/website/.next/server/app/page.js.nft.json +0 -1
- package/website/.next/server/app/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/playground/page.js +0 -111
- package/website/.next/server/app/playground/page.js.nft.json +0 -1
- package/website/.next/server/app/playground/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/playground.html +0 -1
- package/website/.next/server/app/playground.meta +0 -7
- package/website/.next/server/app/playground.rsc +0 -30
- package/website/.next/server/app/robots.txt/route.js +0 -1
- package/website/.next/server/app/robots.txt/route.js.nft.json +0 -1
- package/website/.next/server/app/robots.txt/route_client-reference-manifest.js +0 -1
- package/website/.next/server/app/robots.txt.body +0 -6
- package/website/.next/server/app/robots.txt.meta +0 -1
- package/website/.next/server/app/rss.xml/route.js +0 -18
- package/website/.next/server/app/rss.xml/route.js.nft.json +0 -1
- package/website/.next/server/app/rss.xml/route_client-reference-manifest.js +0 -1
- package/website/.next/server/app/rss.xml.body +0 -11
- package/website/.next/server/app/rss.xml.meta +0 -1
- package/website/.next/server/app/schema/page.js +0 -76
- package/website/.next/server/app/schema/page.js.nft.json +0 -1
- package/website/.next/server/app/schema/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/schema.html +0 -1
- package/website/.next/server/app/schema.meta +0 -7
- package/website/.next/server/app/schema.rsc +0 -26
- package/website/.next/server/app/sitemap.xml/route.js +0 -1
- package/website/.next/server/app/sitemap.xml/route.js.nft.json +0 -1
- package/website/.next/server/app/sitemap.xml/route_client-reference-manifest.js +0 -1
- package/website/.next/server/app/sitemap.xml.body +0 -39
- package/website/.next/server/app/sitemap.xml.meta +0 -1
- package/website/.next/server/app/specification/page.js +0 -10
- package/website/.next/server/app/specification/page.js.nft.json +0 -1
- package/website/.next/server/app/specification/page_client-reference-manifest.js +0 -1
- package/website/.next/server/app/specification.html +0 -9
- package/website/.next/server/app/specification.meta +0 -7
- package/website/.next/server/app/specification.rsc +0 -32
- package/website/.next/server/app-paths-manifest.json +0 -19
- package/website/.next/server/chunks/18.js +0 -1
- package/website/.next/server/chunks/227.js +0 -9
- package/website/.next/server/chunks/339.js +0 -25
- package/website/.next/server/chunks/49.js +0 -1
- package/website/.next/server/chunks/51.js +0 -1
- package/website/.next/server/chunks/57.js +0 -1
- package/website/.next/server/chunks/579.js +0 -16
- package/website/.next/server/chunks/611.js +0 -6
- package/website/.next/server/chunks/873.js +0 -22
- package/website/.next/server/chunks/900.js +0 -1
- package/website/.next/server/chunks/97.js +0 -1
- package/website/.next/server/functions-config-manifest.json +0 -4
- package/website/.next/server/interception-route-rewrite-manifest.js +0 -1
- package/website/.next/server/middleware-build-manifest.js +0 -1
- package/website/.next/server/middleware-manifest.json +0 -6
- package/website/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/website/.next/server/next-font-manifest.js +0 -1
- package/website/.next/server/next-font-manifest.json +0 -1
- package/website/.next/server/pages/404.html +0 -1
- package/website/.next/server/pages/500.html +0 -1
- package/website/.next/server/pages/_app.js +0 -1
- package/website/.next/server/pages/_app.js.nft.json +0 -1
- package/website/.next/server/pages/_document.js +0 -1
- package/website/.next/server/pages/_document.js.nft.json +0 -1
- package/website/.next/server/pages/_error.js +0 -19
- package/website/.next/server/pages/_error.js.nft.json +0 -1
- package/website/.next/server/pages-manifest.json +0 -6
- package/website/.next/server/server-reference-manifest.js +0 -1
- package/website/.next/server/server-reference-manifest.json +0 -1
- package/website/.next/server/webpack-runtime.js +0 -1
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_buildManifest.js +0 -1
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_ssgManifest.js +0 -1
- package/website/.next/static/chunks/119.05f66060d7798fc9.js +0 -25
- package/website/.next/static/chunks/255-bf407b21685f2318.js +0 -1
- package/website/.next/static/chunks/451-235273497e501ae9.js +0 -1
- package/website/.next/static/chunks/4bd1b696-409494caf8c83275.js +0 -1
- package/website/.next/static/chunks/619-f072ac750404f9da.js +0 -1
- package/website/.next/static/chunks/651-5cd3c87d43b7eb46.js +0 -1
- package/website/.next/static/chunks/778.278ac2aadb2a1105.js +0 -1
- package/website/.next/static/chunks/890-ab915e0570e1961b.js +0 -1
- package/website/.next/static/chunks/app/_not-found/page-ccdaf9d90b537c5d.js +0 -1
- package/website/.next/static/chunks/app/about/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/app/blog/[slug]/page-8fd43000c4969233.js +0 -1
- package/website/.next/static/chunks/app/blog/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/app/design-guide/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/app/ecosystem/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/app/layout-ccacbd90656baa78.js +0 -1
- package/website/.next/static/chunks/app/license/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/app/page-31241dc7465f9590.js +0 -1
- package/website/.next/static/chunks/app/playground/page-c2af00885374900f.js +0 -1
- package/website/.next/static/chunks/app/robots.txt/route-032c05054032342f.js +0 -1
- package/website/.next/static/chunks/app/rss.xml/route-032c05054032342f.js +0 -1
- package/website/.next/static/chunks/app/schema/page-f7c224b281771083.js +0 -1
- package/website/.next/static/chunks/app/sitemap.xml/route-032c05054032342f.js +0 -1
- package/website/.next/static/chunks/app/specification/page-bd4cb2219b41f933.js +0 -1
- package/website/.next/static/chunks/framework-1ce91eb6f9ecda85.js +0 -1
- package/website/.next/static/chunks/main-3099e141650ec47a.js +0 -1
- package/website/.next/static/chunks/main-app-a2fc6ac9305e3090.js +0 -1
- package/website/.next/static/chunks/pages/_app-5addca2b3b969fde.js +0 -1
- package/website/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +0 -1
- package/website/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/website/.next/static/chunks/webpack-6ecb09e5c6e34cb4.js +0 -1
- package/website/.next/static/css/23135390005d4468.css +0 -3
- package/website/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/website/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/website/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/website/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/website/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/website/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/website/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/website/.next/trace +0 -3
- package/website/.next/types/app/about/page.ts +0 -84
- package/website/.next/types/app/blog/[slug]/page.ts +0 -84
- package/website/.next/types/app/blog/page.ts +0 -84
- package/website/.next/types/app/design-guide/page.ts +0 -84
- package/website/.next/types/app/ecosystem/page.ts +0 -84
- package/website/.next/types/app/license/page.ts +0 -84
- package/website/.next/types/app/page.ts +0 -84
- package/website/.next/types/app/playground/page.ts +0 -84
- package/website/.next/types/app/rss.xml/route.ts +0 -347
- package/website/.next/types/app/schema/page.ts +0 -84
- package/website/.next/types/app/specification/page.ts +0 -84
- package/website/.next/types/cache-life.d.ts +0 -141
- package/website/.next/types/package.json +0 -1
- package/website/.next/types/routes.d.ts +0 -85
- package/website/.next/types/validator.ts +0 -187
- package/website/.wiki-export/Agent-Folder-Structure.md +0 -215
- package/website/.wiki-export/CI-STATUS.md +0 -66
- package/website/.wiki-export/COMPLETE-IMPLEMENTATION-CHECKLIST.md +0 -74
- package/website/.wiki-export/DRUPAL-MODULE-INTEGRATION.md +0 -103
- package/website/.wiki-export/FINAL-STATUS.md +0 -63
- package/website/.wiki-export/Getting-Started.md +0 -87
- package/website/.wiki-export/INSTRUCTIONS.md +0 -46
- package/website/.wiki-export/INTEGRATION-ANALYSIS.md +0 -216
- package/website/.wiki-export/MANIFEST.json +0 -62
- package/website/.wiki-export/OSSA-COMPLIANT-BADGE.md +0 -247
- package/website/.wiki-export/Openapi-Extensions.md +0 -930
- package/website/.wiki-export/README.md +0 -31
- package/website/.wiki-export/RELEASE-READINESS.md +0 -95
- package/website/.wiki-export/VERSIONING.md +0 -284
- package/website/next-env.d.ts +0 -6
- package/website/out/app-build-manifest.json +0 -3
- package/website/out/build-manifest.json +0 -17
- package/website/out/cache/.rscinfo +0 -1
- package/website/out/cache/next-devtools-config.json +0 -1
- package/website/out/cache/webpack/client-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/website/out/cache/webpack/client-development-fallback/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development-fallback/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/website/out/package.json +0 -1
- package/website/out/prerender-manifest.json +0 -11
- package/website/out/react-loadable-manifest.json +0 -1
- package/website/out/routes-manifest.json +0 -1
- package/website/out/server/app-paths-manifest.json +0 -1
- package/website/out/server/interception-route-rewrite-manifest.js +0 -1
- package/website/out/server/middleware-build-manifest.js +0 -19
- package/website/out/server/middleware-manifest.json +0 -6
- package/website/out/server/middleware-react-loadable-manifest.js +0 -1
- package/website/out/server/next-font-manifest.js +0 -1
- package/website/out/server/next-font-manifest.json +0 -1
- package/website/out/server/pages-manifest.json +0 -1
- package/website/out/server/server-reference-manifest.js +0 -1
- package/website/out/server/server-reference-manifest.json +0 -5
- package/website/out/static/chunks/polyfills.js +0 -1
- package/website/out/static/development/_buildManifest.js +0 -1
- package/website/out/static/development/_ssgManifest.js +0 -1
- package/website/out/trace +0 -2
- package/website/out/types/cache-life.d.ts +0 -141
- package/website/out/types/package.json +0 -1
- package/website/out/types/routes.d.ts +0 -85
- package/website/out/types/validator.ts +0 -187
- package/website/public/examples.json +0 -476
- package/website/public/schemas/openapi-extensions.schema.json +0 -486
- package/website/tsconfig.tsbuildinfo +0 -1
- /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +0 -0
- /package/spec/v0.2.4/{ossa-0.2.4.yaml → ossa-0.2.4-dev.yaml} +0 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# ============================================================================
|
|
2
|
+
# OSSA Framework Bridge Example: AIFlow-Agent Integration
|
|
3
|
+
# ============================================================================
|
|
4
|
+
#
|
|
5
|
+
# PURPOSE:
|
|
6
|
+
# Demonstrates OSSA's bridge pattern for integrating with AIFlow-Agent,
|
|
7
|
+
# a social agent framework for autonomous cryptocurrency market analysis
|
|
8
|
+
# and social media presence on Twitter, Telegram, and Discord.
|
|
9
|
+
#
|
|
10
|
+
# KEY FEATURES:
|
|
11
|
+
# - Character-based personality system (CryptoSage persona)
|
|
12
|
+
# - Multi-platform social media integration (Twitter/Telegram/Discord)
|
|
13
|
+
# - BNB Chain on-chain data analysis via web3
|
|
14
|
+
# - Autonomous posting with human approval workflow
|
|
15
|
+
# - Message style guides for consistent voice
|
|
16
|
+
#
|
|
17
|
+
# ARCHITECTURE:
|
|
18
|
+
# OSSA Agent (chat role)
|
|
19
|
+
# ↓ (bridge configuration)
|
|
20
|
+
# AIFlow-Agent Runtime
|
|
21
|
+
# ↓ (social platforms)
|
|
22
|
+
# Twitter API / Telegram Bot / Discord Bot
|
|
23
|
+
# ↓ (blockchain data)
|
|
24
|
+
# BNB Chain RPC (web3)
|
|
25
|
+
#
|
|
26
|
+
# USE CASE:
|
|
27
|
+
# Autonomous crypto analyst agent that:
|
|
28
|
+
# 1. Monitors BNB Chain DeFi protocols and token metrics
|
|
29
|
+
# 2. Analyzes market trends using AI
|
|
30
|
+
# 3. Engages with community via social media
|
|
31
|
+
# 4. Posts educational content and data-driven insights
|
|
32
|
+
#
|
|
33
|
+
# BRIDGE PATTERN:
|
|
34
|
+
# The `bridge.aiflow` extension translates OSSA agent capabilities
|
|
35
|
+
# into AIFlow's character-based configuration, enabling OSSA agents
|
|
36
|
+
# to leverage AIFlow's social agent infrastructure.
|
|
37
|
+
#
|
|
38
|
+
# RELATED DOCUMENTATION:
|
|
39
|
+
# - AIFlow-Agent: https://github.com/aiflowagent/aiflowagent
|
|
40
|
+
# - OSSA Bridge Spec: spec/OSSA_Bridge_Pattern.md
|
|
41
|
+
# - BNB Chain: https://www.bnbchain.org
|
|
42
|
+
# ============================================================================
|
|
43
|
+
|
|
44
|
+
# OSSA specification version
|
|
45
|
+
ossaVersion: "1.0"
|
|
46
|
+
|
|
47
|
+
agent:
|
|
48
|
+
# Unique agent identifier (DNS-compatible)
|
|
49
|
+
id: crypto-analyst-agent
|
|
50
|
+
|
|
51
|
+
# Human-readable name
|
|
52
|
+
name: Crypto Market Analyst
|
|
53
|
+
|
|
54
|
+
# Semantic version
|
|
55
|
+
version: 1.0.0
|
|
56
|
+
|
|
57
|
+
# Description of agent's purpose and capabilities
|
|
58
|
+
description: OSSA agent with AIFlow-Agent bridge for social crypto analysis
|
|
59
|
+
|
|
60
|
+
# Role: "chat" indicates interactive, conversational agent
|
|
61
|
+
# (as opposed to "worker" for task-based or "orchestrator" for coordination)
|
|
62
|
+
role: chat
|
|
63
|
+
|
|
64
|
+
# Tags for discovery and categorization
|
|
65
|
+
tags: ["crypto", "social", "bnb-chain", "twitter", "aiflow"]
|
|
66
|
+
|
|
67
|
+
# Runtime configuration
|
|
68
|
+
runtime:
|
|
69
|
+
# Serverless deployment (AWS Lambda, Cloudflare Workers, etc.)
|
|
70
|
+
type: serverless
|
|
71
|
+
|
|
72
|
+
# Python runtime requirements
|
|
73
|
+
requirements:
|
|
74
|
+
python: ">=3.11" # Python 3.11+ for modern async features
|
|
75
|
+
packages:
|
|
76
|
+
- "aiflow-agent" # AIFlow social agent framework
|
|
77
|
+
- "web3" # Ethereum/BNB Chain interaction
|
|
78
|
+
- "tweepy" # Twitter API v2 client
|
|
79
|
+
|
|
80
|
+
# Capabilities define what this agent can do (contract-first design)
|
|
81
|
+
capabilities:
|
|
82
|
+
# ========================================================================
|
|
83
|
+
# Capability 1: Analyze Market
|
|
84
|
+
# ========================================================================
|
|
85
|
+
# Analyzes cryptocurrency market trends for a specific token and timeframe.
|
|
86
|
+
# Uses on-chain data (BNB Chain) + LLM reasoning to generate sentiment.
|
|
87
|
+
# ========================================================================
|
|
88
|
+
- name: analyze_market
|
|
89
|
+
|
|
90
|
+
description: Analyze cryptocurrency market trends
|
|
91
|
+
|
|
92
|
+
# Input: token symbol and analysis timeframe
|
|
93
|
+
input_schema:
|
|
94
|
+
type: object
|
|
95
|
+
properties:
|
|
96
|
+
token:
|
|
97
|
+
type: string # Token symbol (e.g., "BNB", "CAKE")
|
|
98
|
+
timeframe:
|
|
99
|
+
type: string
|
|
100
|
+
enum: ["1h", "24h", "7d", "30d"] # Analysis window
|
|
101
|
+
|
|
102
|
+
# Output: sentiment analysis with confidence score
|
|
103
|
+
output_schema:
|
|
104
|
+
type: object
|
|
105
|
+
properties:
|
|
106
|
+
sentiment:
|
|
107
|
+
type: string
|
|
108
|
+
enum: ["bullish", "bearish", "neutral"] # Market direction
|
|
109
|
+
confidence:
|
|
110
|
+
type: number # 0.0-1.0 confidence in sentiment
|
|
111
|
+
summary:
|
|
112
|
+
type: string # Human-readable analysis summary
|
|
113
|
+
|
|
114
|
+
# ========================================================================
|
|
115
|
+
# Capability 2: Post Analysis
|
|
116
|
+
# ========================================================================
|
|
117
|
+
# Posts market analysis to social media platforms.
|
|
118
|
+
# Requires manual approval (auto_post: false in bridge config).
|
|
119
|
+
# ========================================================================
|
|
120
|
+
- name: post_analysis
|
|
121
|
+
|
|
122
|
+
description: Post market analysis to social media
|
|
123
|
+
|
|
124
|
+
# Input: target platform and content to post
|
|
125
|
+
input_schema:
|
|
126
|
+
type: object
|
|
127
|
+
properties:
|
|
128
|
+
platform:
|
|
129
|
+
type: string
|
|
130
|
+
enum: ["twitter", "telegram", "discord"] # Target social platform
|
|
131
|
+
content:
|
|
132
|
+
type: string # Post content (character limits apply)
|
|
133
|
+
|
|
134
|
+
# Output: posting result with URL reference
|
|
135
|
+
output_schema:
|
|
136
|
+
type: object
|
|
137
|
+
properties:
|
|
138
|
+
posted:
|
|
139
|
+
type: boolean # Success/failure indicator
|
|
140
|
+
post_url:
|
|
141
|
+
type: string # URL to the posted content
|
|
142
|
+
|
|
143
|
+
# Observability configuration
|
|
144
|
+
monitoring:
|
|
145
|
+
traces: true # Distributed tracing for multi-platform interactions
|
|
146
|
+
metrics: true # Prometheus metrics for engagement analytics
|
|
147
|
+
logs: true # Structured logging for audit trail
|
|
148
|
+
|
|
149
|
+
# ========================================================================
|
|
150
|
+
# AIFlow-Agent Bridge Configuration
|
|
151
|
+
# ========================================================================
|
|
152
|
+
# This section configures the AIFlow-Agent integration, defining the
|
|
153
|
+
# agent's personality, social platform connections, and behavior rules.
|
|
154
|
+
#
|
|
155
|
+
# AIFlow uses a "character" model where agents have:
|
|
156
|
+
# - Personality traits and bio
|
|
157
|
+
# - Lore and background story
|
|
158
|
+
# - Topic expertise areas
|
|
159
|
+
# - Communication style guides
|
|
160
|
+
# - Example messages for few-shot learning
|
|
161
|
+
# ========================================================================
|
|
162
|
+
bridge:
|
|
163
|
+
aiflow:
|
|
164
|
+
# Enable AIFlow bridge (false = use native OSSA runtime)
|
|
165
|
+
enabled: true
|
|
166
|
+
|
|
167
|
+
# Character definition (AIFlow personality system)
|
|
168
|
+
character:
|
|
169
|
+
# Character name (used in responses and attribution)
|
|
170
|
+
name: "CryptoSage"
|
|
171
|
+
|
|
172
|
+
# Social media handle/username
|
|
173
|
+
username: "@CryptoSageAI"
|
|
174
|
+
|
|
175
|
+
# Personality traits define the character's voice and behavior
|
|
176
|
+
# These guide LLM prompting for consistent persona
|
|
177
|
+
personality_traits:
|
|
178
|
+
- "analytical" # Data-driven reasoning
|
|
179
|
+
- "data-driven" # Evidence-based conclusions
|
|
180
|
+
- "cautiously optimistic" # Balanced market perspective
|
|
181
|
+
- "educational" # Teaching-oriented communication
|
|
182
|
+
|
|
183
|
+
# Bio appears on social profiles and in agent descriptions
|
|
184
|
+
bio: "AI-powered crypto analyst on BNB Chain. I analyze markets, share insights, and help you navigate the crypto space. Not financial advice!"
|
|
185
|
+
|
|
186
|
+
# Lore provides background story for character consistency
|
|
187
|
+
# Helps LLM understand the character's context and motivations
|
|
188
|
+
lore:
|
|
189
|
+
- "Created by the OSSA community to democratize crypto analysis"
|
|
190
|
+
- "Trained on millions of blockchain transactions and market data"
|
|
191
|
+
- "Believes in transparent, data-driven investment decisions"
|
|
192
|
+
|
|
193
|
+
# Topics the character is knowledgeable about
|
|
194
|
+
# Used for relevance filtering and topic modeling
|
|
195
|
+
topics:
|
|
196
|
+
- "BNB Chain ecosystem"
|
|
197
|
+
- "DeFi protocols"
|
|
198
|
+
- "Market analysis"
|
|
199
|
+
- "Blockchain technology"
|
|
200
|
+
- "Trading strategies"
|
|
201
|
+
|
|
202
|
+
# Style guides control communication patterns
|
|
203
|
+
# Different contexts (chat vs. posts) have different rules
|
|
204
|
+
style:
|
|
205
|
+
# Rules that apply to all interactions
|
|
206
|
+
all:
|
|
207
|
+
- "Use data and metrics to support claims"
|
|
208
|
+
- "Explain complex concepts simply"
|
|
209
|
+
- "Always include risk disclaimers"
|
|
210
|
+
|
|
211
|
+
# Chat-specific style (1-on-1 conversations)
|
|
212
|
+
chat:
|
|
213
|
+
- "Be helpful and educational"
|
|
214
|
+
- "Ask clarifying questions"
|
|
215
|
+
- "Provide actionable insights"
|
|
216
|
+
|
|
217
|
+
# Post-specific style (public social media)
|
|
218
|
+
post:
|
|
219
|
+
- "Lead with the key insight"
|
|
220
|
+
- "Use emojis sparingly (📊📈)"
|
|
221
|
+
- "Include relevant hashtags"
|
|
222
|
+
|
|
223
|
+
# Adjectives for character description (used in prompts)
|
|
224
|
+
adjectives:
|
|
225
|
+
- "analytical"
|
|
226
|
+
- "transparent"
|
|
227
|
+
- "educational"
|
|
228
|
+
- "data-focused"
|
|
229
|
+
|
|
230
|
+
# Few-shot learning examples for consistent response patterns
|
|
231
|
+
# AIFlow uses these to prime the LLM for character voice
|
|
232
|
+
# Conversation examples (few-shot learning for chat interactions)
|
|
233
|
+
# Format: user query → character response
|
|
234
|
+
message_examples:
|
|
235
|
+
- - user: "CryptoSage"
|
|
236
|
+
content:
|
|
237
|
+
text: "What's your take on BNB's price movement today?"
|
|
238
|
+
- character: "CryptoSage"
|
|
239
|
+
content:
|
|
240
|
+
# Example response demonstrating desired voice:
|
|
241
|
+
# - Starts with data
|
|
242
|
+
# - Uses specific metrics
|
|
243
|
+
# - Includes risk disclaimer (DYOR)
|
|
244
|
+
# - Sparing emoji use
|
|
245
|
+
text: "Looking at the 24h data: BNB is up 3.2% with volume increase of 15%. RSI at 62 suggests moderate bullish momentum. Key resistance at $610. Always DYOR! 📊"
|
|
246
|
+
|
|
247
|
+
# Post examples (few-shot learning for social media posts)
|
|
248
|
+
# These demonstrate the character's posting style and format
|
|
249
|
+
post_examples:
|
|
250
|
+
- "📊 BNB Chain TVL hit $5.2B today (+8% week over week). Pancakeswap leading with $2.1B. DeFi summer on BSC? Data suggests sustained growth. #BNB #DeFi #CryptoAnalysis"
|
|
251
|
+
- "🔍 Analyzing top 100 BNB Chain tokens: 67% showing positive 7d trends, avg volume up 12%. Market sentiment: Cautiously optimistic. Full breakdown 👇"
|
|
252
|
+
|
|
253
|
+
# ======================================================================
|
|
254
|
+
# Blockchain Integration (BNB Chain)
|
|
255
|
+
# ======================================================================
|
|
256
|
+
# Enables on-chain data analysis via web3.py
|
|
257
|
+
# ======================================================================
|
|
258
|
+
blockchain:
|
|
259
|
+
enabled: true
|
|
260
|
+
network: mainnet # mainnet or testnet
|
|
261
|
+
wallet_address: "0x..." # BNB Chain wallet for on-chain analysis
|
|
262
|
+
# (read-only, no private key in manifest)
|
|
263
|
+
|
|
264
|
+
# ======================================================================
|
|
265
|
+
# Social Platform Connections
|
|
266
|
+
# ======================================================================
|
|
267
|
+
# Configures social media integrations for multi-platform presence.
|
|
268
|
+
# Credentials are injected via environment variables (not in manifest).
|
|
269
|
+
# ======================================================================
|
|
270
|
+
social_platforms:
|
|
271
|
+
# Twitter integration (via tweepy)
|
|
272
|
+
twitter:
|
|
273
|
+
enabled: true
|
|
274
|
+
username: "@CryptoSageAI"
|
|
275
|
+
auto_post: false # Requires manual approval for safety
|
|
276
|
+
|
|
277
|
+
# Telegram bot integration
|
|
278
|
+
telegram:
|
|
279
|
+
enabled: true
|
|
280
|
+
bot_token: "${TELEGRAM_BOT_TOKEN}" # Env var substitution
|
|
281
|
+
|
|
282
|
+
# Discord bot integration
|
|
283
|
+
discord:
|
|
284
|
+
enabled: true
|
|
285
|
+
bot_token: "${DISCORD_BOT_TOKEN}" # Env var substitution
|
|
286
|
+
|
|
287
|
+
# ============================================================================
|
|
288
|
+
# End of AIFlow Bridge Example
|
|
289
|
+
# ============================================================================
|
|
290
|
+
#
|
|
291
|
+
# VALIDATION:
|
|
292
|
+
# ossa validate examples/bridges/aiflow-bridge-example.yml
|
|
293
|
+
#
|
|
294
|
+
# DEPLOYMENT:
|
|
295
|
+
# 1. Install AIFlow-Agent: pip install aiflow-agent
|
|
296
|
+
# 2. Set environment variables: TELEGRAM_BOT_TOKEN, DISCORD_BOT_TOKEN
|
|
297
|
+
# 3. Configure social platform API keys in .env file
|
|
298
|
+
# 4. Deploy to serverless: ossa deploy crypto-analyst-agent --platform aws-lambda
|
|
299
|
+
#
|
|
300
|
+
# BRIDGE PATTERN NOTES:
|
|
301
|
+
# - The `bridge.aiflow` section is translated into AIFlow character.json
|
|
302
|
+
# - OSSA capabilities map to AIFlow action handlers
|
|
303
|
+
# - Social platform configs generate AIFlow client configurations
|
|
304
|
+
# - Character personality informs LLM system prompts
|
|
305
|
+
#
|
|
306
|
+
# RELATED EXAMPLES:
|
|
307
|
+
# - examples/drupal/gitlab-ml-recommender.ossa.yaml (Drupal bridge)
|
|
308
|
+
# - examples/openapi-extensions/minimal-agent-api.openapi.yml (OpenAPI)
|
|
309
|
+
# - spec/OSSA_Bridge_Pattern.md (bridge specification)
|
|
310
|
+
# ============================================================================
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Phoenix Tracing Integration for AIFlow FastAPI Bridge
|
|
3
|
+
|
|
4
|
+
This module adds OpenTelemetry/Phoenix tracing to the AIFlow FastAPI bridge.
|
|
5
|
+
Traces all API calls, LLM interactions, and agent tasks.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
from aiflow_phoenix_tracing import init_phoenix_tracing, trace_agent_task
|
|
9
|
+
|
|
10
|
+
# Initialize at startup
|
|
11
|
+
init_phoenix_tracing(
|
|
12
|
+
service_name="social-agent-aiflow",
|
|
13
|
+
phoenix_endpoint="http://otel.agent-buildkit.orb.local:4318",
|
|
14
|
+
phoenix_project="aiflow-social-agents"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
# Trace agent tasks
|
|
18
|
+
@trace_agent_task("generate_post")
|
|
19
|
+
async def generate_post(request):
|
|
20
|
+
# Your code here
|
|
21
|
+
pass
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
import os
|
|
25
|
+
import time
|
|
26
|
+
from typing import Optional, Dict, Any, Callable
|
|
27
|
+
from functools import wraps
|
|
28
|
+
|
|
29
|
+
# OpenTelemetry imports
|
|
30
|
+
from opentelemetry import trace
|
|
31
|
+
from opentelemetry.sdk.trace import TracerProvider
|
|
32
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
33
|
+
from opentelemetry.sdk.resources import Resource
|
|
34
|
+
from opentelemetry.semconv.resource import ResourceAttributes
|
|
35
|
+
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
|
36
|
+
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentation
|
|
37
|
+
from opentelemetry.instrumentation.requests import RequestsInstrumentation
|
|
38
|
+
from opentelemetry.trace import Status, StatusCode, SpanKind
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# Global tracer
|
|
42
|
+
_tracer: Optional[trace.Tracer] = None
|
|
43
|
+
_phoenix_config: Dict[str, Any] = {}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def init_phoenix_tracing(
|
|
47
|
+
service_name: str,
|
|
48
|
+
phoenix_endpoint: Optional[str] = None,
|
|
49
|
+
phoenix_project: Optional[str] = None,
|
|
50
|
+
enable_console_export: bool = False,
|
|
51
|
+
):
|
|
52
|
+
"""
|
|
53
|
+
Initialize Phoenix tracing for the AIFlow agent.
|
|
54
|
+
|
|
55
|
+
Args:
|
|
56
|
+
service_name: Name of the service (e.g., 'social-agent-aiflow')
|
|
57
|
+
phoenix_endpoint: Phoenix OTLP endpoint (default: env PHOENIX_ENDPOINT)
|
|
58
|
+
phoenix_project: Phoenix project name (default: env PHOENIX_PROJECT)
|
|
59
|
+
enable_console_export: Export traces to console for debugging
|
|
60
|
+
"""
|
|
61
|
+
global _tracer, _phoenix_config
|
|
62
|
+
|
|
63
|
+
# Get config from environment if not provided
|
|
64
|
+
phoenix_endpoint = phoenix_endpoint or os.getenv(
|
|
65
|
+
'PHOENIX_ENDPOINT',
|
|
66
|
+
'http://otel.agent-buildkit.orb.local:4318'
|
|
67
|
+
)
|
|
68
|
+
phoenix_project = phoenix_project or os.getenv(
|
|
69
|
+
'PHOENIX_PROJECT',
|
|
70
|
+
'aiflow-social-agents'
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
# Store config
|
|
74
|
+
_phoenix_config = {
|
|
75
|
+
'service_name': service_name,
|
|
76
|
+
'phoenix_endpoint': phoenix_endpoint,
|
|
77
|
+
'phoenix_project': phoenix_project,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
# Create resource
|
|
81
|
+
resource = Resource.create({
|
|
82
|
+
ResourceAttributes.SERVICE_NAME: service_name,
|
|
83
|
+
ResourceAttributes.SERVICE_VERSION: os.getenv('SERVICE_VERSION', '1.0.0'),
|
|
84
|
+
ResourceAttributes.DEPLOYMENT_ENVIRONMENT: os.getenv('NODE_ENV', 'development'),
|
|
85
|
+
'phoenix.project': phoenix_project,
|
|
86
|
+
'agent.type': 'aiflow',
|
|
87
|
+
'agent.framework': 'fastapi',
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
# Create tracer provider
|
|
91
|
+
provider = TracerProvider(resource=resource)
|
|
92
|
+
|
|
93
|
+
# Add OTLP exporter
|
|
94
|
+
otlp_exporter = OTLPSpanExporter(
|
|
95
|
+
endpoint=f"{phoenix_endpoint}/v1/traces",
|
|
96
|
+
headers={
|
|
97
|
+
'x-phoenix-project': phoenix_project,
|
|
98
|
+
},
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
provider.add_span_processor(
|
|
102
|
+
BatchSpanProcessor(
|
|
103
|
+
otlp_exporter,
|
|
104
|
+
max_queue_size=1000,
|
|
105
|
+
max_export_batch_size=100,
|
|
106
|
+
schedule_delay_millis=1000,
|
|
107
|
+
)
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
# Set as global tracer provider
|
|
111
|
+
trace.set_tracer_provider(provider)
|
|
112
|
+
|
|
113
|
+
# Get tracer
|
|
114
|
+
_tracer = trace.get_tracer(service_name)
|
|
115
|
+
|
|
116
|
+
# Auto-instrument FastAPI and Requests
|
|
117
|
+
FastAPIInstrumentation().instrument()
|
|
118
|
+
RequestsInstrumentation().instrument()
|
|
119
|
+
|
|
120
|
+
print(f"✅ Phoenix tracing initialized")
|
|
121
|
+
print(f" Service: {service_name}")
|
|
122
|
+
print(f" Project: {phoenix_project}")
|
|
123
|
+
print(f" Endpoint: {phoenix_endpoint}")
|
|
124
|
+
print(f" View traces: http://phoenix.agent-buildkit.orb.local:6006/projects/{phoenix_project}")
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def get_tracer() -> trace.Tracer:
|
|
128
|
+
"""Get the global tracer instance."""
|
|
129
|
+
if _tracer is None:
|
|
130
|
+
raise RuntimeError("Phoenix tracing not initialized. Call init_phoenix_tracing() first.")
|
|
131
|
+
return _tracer
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def trace_agent_task(task_name: str):
|
|
135
|
+
"""
|
|
136
|
+
Decorator to trace agent tasks.
|
|
137
|
+
|
|
138
|
+
Usage:
|
|
139
|
+
@trace_agent_task("generate_post")
|
|
140
|
+
async def generate_post(request):
|
|
141
|
+
# Your code here
|
|
142
|
+
pass
|
|
143
|
+
"""
|
|
144
|
+
def decorator(func: Callable):
|
|
145
|
+
@wraps(func)
|
|
146
|
+
async def wrapper(*args, **kwargs):
|
|
147
|
+
tracer = get_tracer()
|
|
148
|
+
|
|
149
|
+
with tracer.start_as_current_span(
|
|
150
|
+
f"agent.task.{task_name}",
|
|
151
|
+
kind=SpanKind.INTERNAL,
|
|
152
|
+
attributes={
|
|
153
|
+
'agent.task': task_name,
|
|
154
|
+
'agent.type': 'aiflow',
|
|
155
|
+
'agent.service': _phoenix_config.get('service_name', 'unknown'),
|
|
156
|
+
}
|
|
157
|
+
) as span:
|
|
158
|
+
try:
|
|
159
|
+
start_time = time.time()
|
|
160
|
+
result = await func(*args, **kwargs)
|
|
161
|
+
duration_ms = (time.time() - start_time) * 1000
|
|
162
|
+
|
|
163
|
+
# Add success attributes
|
|
164
|
+
span.set_attribute('agent.task.duration_ms', duration_ms)
|
|
165
|
+
span.set_attribute('agent.task.status', 'success')
|
|
166
|
+
span.set_status(Status(StatusCode.OK))
|
|
167
|
+
|
|
168
|
+
return result
|
|
169
|
+
|
|
170
|
+
except Exception as e:
|
|
171
|
+
# Add error attributes
|
|
172
|
+
span.set_attribute('agent.task.status', 'error')
|
|
173
|
+
span.set_attribute('agent.task.error', str(e))
|
|
174
|
+
span.set_status(Status(StatusCode.ERROR, str(e)))
|
|
175
|
+
span.record_exception(e)
|
|
176
|
+
raise
|
|
177
|
+
|
|
178
|
+
return wrapper
|
|
179
|
+
return decorator
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def trace_llm_call(
|
|
183
|
+
provider: str,
|
|
184
|
+
model: str,
|
|
185
|
+
prompt: str,
|
|
186
|
+
response: Optional[str] = None,
|
|
187
|
+
input_tokens: Optional[int] = None,
|
|
188
|
+
output_tokens: Optional[int] = None,
|
|
189
|
+
cost: Optional[float] = None,
|
|
190
|
+
):
|
|
191
|
+
"""
|
|
192
|
+
Add LLM-specific attributes to current span.
|
|
193
|
+
|
|
194
|
+
Args:
|
|
195
|
+
provider: LLM provider (e.g., 'anthropic', 'openai')
|
|
196
|
+
model: Model name (e.g., 'claude-3-sonnet')
|
|
197
|
+
prompt: Input prompt
|
|
198
|
+
response: Generated response
|
|
199
|
+
input_tokens: Number of input tokens
|
|
200
|
+
output_tokens: Number of output tokens
|
|
201
|
+
cost: Estimated cost in USD
|
|
202
|
+
"""
|
|
203
|
+
span = trace.get_current_span()
|
|
204
|
+
if span.is_recording():
|
|
205
|
+
span.set_attribute('llm.provider', provider)
|
|
206
|
+
span.set_attribute('llm.model', model)
|
|
207
|
+
span.set_attribute('llm.prompt', prompt[:500]) # Truncate long prompts
|
|
208
|
+
|
|
209
|
+
if response:
|
|
210
|
+
span.set_attribute('llm.response', response[:500])
|
|
211
|
+
|
|
212
|
+
if input_tokens is not None:
|
|
213
|
+
span.set_attribute('llm.tokens.input', input_tokens)
|
|
214
|
+
|
|
215
|
+
if output_tokens is not None:
|
|
216
|
+
span.set_attribute('llm.tokens.output', output_tokens)
|
|
217
|
+
|
|
218
|
+
if input_tokens and output_tokens:
|
|
219
|
+
span.set_attribute('llm.tokens.total', input_tokens + output_tokens)
|
|
220
|
+
|
|
221
|
+
if cost is not None:
|
|
222
|
+
span.set_attribute('llm.cost', cost)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def trace_character_interaction(
|
|
226
|
+
character_name: str,
|
|
227
|
+
interaction_type: str,
|
|
228
|
+
platform: Optional[str] = None,
|
|
229
|
+
mood: Optional[str] = None,
|
|
230
|
+
):
|
|
231
|
+
"""
|
|
232
|
+
Add AIFlow character-specific attributes to current span.
|
|
233
|
+
|
|
234
|
+
Args:
|
|
235
|
+
character_name: Name of the AIFlow character
|
|
236
|
+
interaction_type: Type of interaction ('post', 'response', 'conversation')
|
|
237
|
+
platform: Social platform ('twitter', 'telegram', etc.)
|
|
238
|
+
mood: Character's current mood
|
|
239
|
+
"""
|
|
240
|
+
span = trace.get_current_span()
|
|
241
|
+
if span.is_recording():
|
|
242
|
+
span.set_attribute('aiflow.character', character_name)
|
|
243
|
+
span.set_attribute('aiflow.interaction_type', interaction_type)
|
|
244
|
+
|
|
245
|
+
if platform:
|
|
246
|
+
span.set_attribute('aiflow.platform', platform)
|
|
247
|
+
|
|
248
|
+
if mood:
|
|
249
|
+
span.set_attribute('aiflow.mood', mood)
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def create_span(span_name: str, attributes: Optional[Dict[str, Any]] = None) -> trace.Span:
|
|
253
|
+
"""
|
|
254
|
+
Create a new span for manual instrumentation.
|
|
255
|
+
|
|
256
|
+
Args:
|
|
257
|
+
span_name: Name of the span
|
|
258
|
+
attributes: Optional attributes to add to the span
|
|
259
|
+
|
|
260
|
+
Returns:
|
|
261
|
+
Span context manager
|
|
262
|
+
|
|
263
|
+
Usage:
|
|
264
|
+
with create_span('my_operation', {'key': 'value'}) as span:
|
|
265
|
+
# Your code here
|
|
266
|
+
pass
|
|
267
|
+
"""
|
|
268
|
+
tracer = get_tracer()
|
|
269
|
+
span = tracer.start_span(span_name)
|
|
270
|
+
|
|
271
|
+
if attributes:
|
|
272
|
+
for key, value in attributes.items():
|
|
273
|
+
span.set_attribute(key, value)
|
|
274
|
+
|
|
275
|
+
return span
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
# Example usage in FastAPI app
|
|
279
|
+
if __name__ == '__main__':
|
|
280
|
+
# This would be called in your FastAPI startup
|
|
281
|
+
init_phoenix_tracing(
|
|
282
|
+
service_name='social-agent-aiflow',
|
|
283
|
+
phoenix_endpoint='http://otel.agent-buildkit.orb.local:4318',
|
|
284
|
+
phoenix_project='aiflow-social-agents'
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
# Example traced function
|
|
288
|
+
@trace_agent_task('generate_social_post')
|
|
289
|
+
async def generate_social_post(platform: str, mood: str):
|
|
290
|
+
# Add character interaction metadata
|
|
291
|
+
trace_character_interaction(
|
|
292
|
+
character_name='AIFlow',
|
|
293
|
+
interaction_type='post',
|
|
294
|
+
platform=platform,
|
|
295
|
+
mood=mood
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
# Simulate LLM call
|
|
299
|
+
trace_llm_call(
|
|
300
|
+
provider='anthropic',
|
|
301
|
+
model='claude-3-sonnet',
|
|
302
|
+
prompt='Generate a social media post',
|
|
303
|
+
response='Hello world!',
|
|
304
|
+
input_tokens=150,
|
|
305
|
+
output_tokens=50,
|
|
306
|
+
cost=0.001
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
return {'content': 'Hello world!', 'platform': platform}
|
|
310
|
+
|