@bluefly/openstandardagents 0.3.1 → 0.3.2
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 +87 -0
- package/.gitlab-ci-trigger +1 -0
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +212 -1
- package/README.md +31 -56
- package/dist/adapters/anthropic/runtime.js +2 -2
- package/dist/adapters/anthropic/runtime.js.map +1 -1
- package/dist/bot/architecture-validator-bot.d.ts +8 -0
- package/dist/bot/architecture-validator-bot.d.ts.map +1 -0
- package/dist/bot/architecture-validator-bot.js +15 -0
- package/dist/bot/architecture-validator-bot.js.map +1 -0
- package/dist/bot/ci-pipeline-bot.d.ts +7 -0
- package/dist/bot/ci-pipeline-bot.d.ts.map +1 -0
- package/dist/bot/ci-pipeline-bot.js +7 -0
- package/dist/bot/ci-pipeline-bot.js.map +1 -0
- package/dist/bot/compliance-bot.d.ts +56 -0
- package/dist/bot/compliance-bot.d.ts.map +1 -0
- package/dist/bot/compliance-bot.js +203 -0
- package/dist/bot/compliance-bot.js.map +1 -0
- package/dist/bot/dependency-updater-bot.d.ts +9 -0
- package/dist/bot/dependency-updater-bot.d.ts.map +1 -0
- package/dist/bot/dependency-updater-bot.js +9 -0
- package/dist/bot/dependency-updater-bot.js.map +1 -0
- package/dist/bot/security-scanner-bot.d.ts +11 -0
- package/dist/bot/security-scanner-bot.d.ts.map +1 -0
- package/dist/bot/security-scanner-bot.js +21 -0
- package/dist/bot/security-scanner-bot.js.map +1 -0
- package/dist/cli/commands/agent-card.command.d.ts +11 -0
- package/dist/cli/commands/agent-card.command.d.ts.map +1 -0
- package/dist/cli/commands/agent-card.command.js +285 -0
- package/dist/cli/commands/agent-card.command.js.map +1 -0
- package/dist/cli/commands/agents.command.d.ts +11 -0
- package/dist/cli/commands/agents.command.d.ts.map +1 -0
- package/dist/cli/commands/agents.command.js +326 -0
- package/dist/cli/commands/agents.command.js.map +1 -0
- package/dist/cli/commands/generate.command.d.ts +13 -2
- package/dist/cli/commands/generate.command.d.ts.map +1 -1
- package/dist/cli/commands/generate.command.js +204 -29
- package/dist/cli/commands/generate.command.js.map +1 -1
- package/dist/cli/commands/registry.command.d.ts +14 -0
- package/dist/cli/commands/registry.command.d.ts.map +1 -0
- package/dist/cli/commands/registry.command.js +428 -0
- package/dist/cli/commands/registry.command.js.map +1 -0
- package/dist/cli/commands/workspace.command.d.ts +14 -0
- package/dist/cli/commands/workspace.command.d.ts.map +1 -0
- package/dist/cli/commands/workspace.command.js +467 -0
- package/dist/cli/commands/workspace.command.js.map +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +20 -0
- package/dist/di-container.js.map +1 -1
- package/dist/services/codegen/codegen.service.d.ts +75 -0
- package/dist/services/codegen/codegen.service.d.ts.map +1 -0
- package/dist/services/codegen/codegen.service.js +136 -0
- package/dist/services/codegen/codegen.service.js.map +1 -0
- package/dist/services/codegen/generators/manifest.generator.d.ts +41 -0
- package/dist/services/codegen/generators/manifest.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/manifest.generator.js +178 -0
- package/dist/services/codegen/generators/manifest.generator.js.map +1 -0
- package/dist/services/codegen/generators/openapi.generator.d.ts +46 -0
- package/dist/services/codegen/generators/openapi.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/openapi.generator.js +157 -0
- package/dist/services/codegen/generators/openapi.generator.js.map +1 -0
- package/dist/services/codegen/generators/types.generator.d.ts +27 -0
- package/dist/services/codegen/generators/types.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/types.generator.js +97 -0
- package/dist/services/codegen/generators/types.generator.js.map +1 -0
- package/dist/services/codegen/generators/vscode.generator.d.ts +43 -0
- package/dist/services/codegen/generators/vscode.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/vscode.generator.js +163 -0
- package/dist/services/codegen/generators/vscode.generator.js.map +1 -0
- package/dist/services/codegen/generators/zod.generator.d.ts +31 -0
- package/dist/services/codegen/generators/zod.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/zod.generator.js +134 -0
- package/dist/services/codegen/generators/zod.generator.js.map +1 -0
- package/dist/services/codegen/index.d.ts +33 -0
- package/dist/services/codegen/index.d.ts.map +1 -0
- package/dist/services/codegen/index.js +36 -0
- package/dist/services/codegen/index.js.map +1 -0
- package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
- package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
- package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
- package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
- package/dist/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
- package/dist/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
- package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +1 -1
- package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +1 -1
- package/dist/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
- package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
- package/dist/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
- package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +300 -21
- package/dist/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
- package/dist/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
- package/dist/spec/v0.3.2/access_tiers.yaml +375 -0
- package/dist/spec/v0.3.2/adapters/drupal.md +541 -0
- package/dist/spec/v0.3.2/adapters/symfony.md +659 -0
- package/dist/spec/v0.3.2/agent-test.schema.json +75 -0
- package/dist/spec/v0.3.2/examples/access-tiers/README.md +106 -0
- package/dist/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
- package/dist/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
- package/dist/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
- package/dist/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
- package/dist/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
- package/dist/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
- package/dist/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
- package/dist/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/dist/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
- package/dist/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/dist/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
- package/dist/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
- package/dist/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
- package/dist/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
- package/dist/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
- package/dist/spec/v0.3.2/extensions/drupal.md +417 -0
- package/dist/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
- package/dist/spec/{v0.3.1/ossa-0.3.0.schema.json → v0.3.2/ossa-0.3.2.schema.json} +563 -34
- package/dist/spec/v0.3.2/protocols/delegation.yaml +239 -0
- package/dist/spec/v0.3.2/protocols/sse.md +494 -0
- package/dist/spec/v0.3.2/protocols/webrtc.md +600 -0
- package/dist/spec/v0.3.2/protocols/websocket.md +362 -0
- package/dist/spec/v0.3.2/runtime/RUNTIME.md +457 -0
- package/dist/spec/v0.3.2/runtime/memory-model.yaml +871 -0
- package/dist/spec/v0.3.2/runtime/runtime.yaml +926 -0
- package/dist/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
- package/dist/spec/v0.3.2/schemas/capabilities.yaml +102 -0
- package/dist/spec/v0.3.2/schemas/functions.yaml +75 -0
- package/dist/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
- package/dist/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/dist/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
- package/dist/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
- package/dist/spec/v0.3.2/schemas/runtime.yaml +102 -0
- package/dist/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
- package/dist/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
- package/dist/spec/v0.3.2/taxonomy.yaml +363 -0
- package/dist/types/generated/ossa-0.3.2.types.d.ts +367 -0
- package/dist/types/generated/ossa-0.3.2.types.d.ts.map +1 -0
- package/dist/types/generated/ossa-0.3.2.types.js +10 -0
- package/dist/types/generated/ossa-0.3.2.types.js.map +1 -0
- package/dist/types/generated/ossa-0.3.2.zod.d.ts +36 -0
- package/dist/types/generated/ossa-0.3.2.zod.d.ts.map +1 -0
- package/dist/types/generated/ossa-0.3.2.zod.js +25 -0
- package/dist/types/generated/ossa-0.3.2.zod.js.map +1 -0
- package/examples/adapters/drupal-eca-mapping.yaml +1 -1
- package/examples/adapters/drupal-eca-task.yaml +1 -1
- package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
- package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
- package/examples/adapters/mistral-agent.yaml +1 -1
- package/examples/adapters/symfony-messenger-task.yaml +1 -1
- package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/reasoning-agent.yaml +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/agents/architecture-healer-enterprise.yaml +1 -1
- package/examples/agents/dependency-healer-npm.yaml +1 -1
- package/examples/agents/spec-healer-openapi.yaml +1 -1
- package/examples/agents/wiki-healer-production.yaml +1 -1
- package/examples/agents-md/code-agent.ossa.json +36 -11
- package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
- package/examples/anthropic/claude-assistant.ossa.json +4 -4
- package/examples/autogen/multi-agent.ossa.json +2 -2
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
- package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
- package/examples/common_npm/agent-router.ossa.yaml +1 -1
- package/examples/contracts/data-consumer.ossa.yaml +1 -1
- package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
- package/examples/contracts/data-producer.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +2 -2
- package/examples/cursor/code-review-agent.ossa.json +2 -2
- package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
- package/examples/extensions/agents-md-advanced.yml +1 -1
- package/examples/extensions/agents-md-basic.yml +1 -1
- package/examples/extensions/agents-md-sync.yml +1 -1
- package/examples/extensions/agents-md-v1.yml +1 -1
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/encryption-multi-provider.yaml +4 -4
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/extensions/knowledge-sources.yaml +1 -1
- package/examples/extensions/mcp-full-featured.yaml +1 -1
- package/examples/getting-started/01-minimal-agent.ossa.yaml +3 -3
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +2 -2
- package/examples/getting-started/05-workflow-composition.ossa.yaml +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 -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 +2 -2
- package/examples/langflow/workflow-agent.ossa.json +2 -2
- package/examples/langgraph/state-machine-agent.ossa.json +2 -2
- package/examples/llamaindex/rag-agent.ossa.json +2 -2
- package/examples/messaging/dependency-healer.ossa.yaml +1 -1
- package/examples/messaging/incident-responder.ossa.yaml +1 -1
- package/examples/messaging/routing-rules.ossa.yaml +3 -3
- package/examples/messaging/security-scanner.ossa.yaml +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
- package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
- package/examples/observability/activity-stream-full.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +2 -2
- package/examples/openai/swarm-agent.ossa.json +2 -2
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
- package/examples/schema/reusable-components.yaml +1 -1
- package/examples/showcase/ci-pipeline.ossa.yaml +59 -0
- package/examples/showcase/code-assistant.ossa.yaml +118 -0
- package/examples/showcase/code-reviewer.ossa.yaml +61 -0
- package/examples/showcase/compliance-validator.ossa.yaml +62 -0
- package/examples/showcase/content-writer.ossa.yaml +67 -0
- package/examples/showcase/data-transformer.ossa.yaml +78 -0
- package/examples/showcase/doc-generator.ossa.yaml +68 -0
- package/examples/showcase/security-scanner.ossa.yaml +65 -0
- package/examples/showcase/test-generator.ossa.yaml +63 -0
- package/examples/showcase/workflow-orchestrator.ossa.yaml +129 -0
- package/examples/tasks/batch-email-sender.yaml +1 -1
- package/examples/tasks/data-transform.yaml +1 -1
- package/examples/tasks/publish-content.yaml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/unified/security-scanner.ossa.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +2 -2
- package/examples/workflows/batch-email-campaign.yaml +1 -1
- package/examples/workflows/content-review-publish.yaml +1 -1
- package/examples/workflows/simple-etl.yaml +1 -1
- package/llms-ctx-full.txt +39 -0
- package/llms-ctx.txt +39 -0
- package/openapi/agent-communication.yaml +1 -1
- package/openapi/agent-crud.yaml +8 -8
- package/openapi/agent-discovery.yaml +2 -2
- package/openapi/agent-identity.yaml +8 -8
- package/openapi/cli-commands.openapi.yaml +231 -0
- package/openapi/core/ossa-core-api.openapi.yaml +1 -1
- package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
- package/openapi/core/ossa-registry.openapi.yaml +1 -1
- package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
- package/openapi/github-sync.yaml +1 -1
- package/openapi/protocols/sse-streams.yaml +1 -1
- package/openapi/protocols/websocket-events.yaml +2 -2
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/helm-generator.openapi.yaml +1 -1
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1 -1
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +2 -2
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +1 -1
- package/package.json +13 -3
- package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
- package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
- package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
- package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
- package/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
- package/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
- package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +1 -1
- package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +1 -1
- package/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
- package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
- package/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
- package/spec/v0.3.1/ossa-0.3.1.schema.json +300 -21
- package/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
- package/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
- package/spec/v0.3.2/access_tiers.yaml +375 -0
- package/spec/v0.3.2/adapters/drupal.md +541 -0
- package/spec/v0.3.2/adapters/symfony.md +659 -0
- package/spec/v0.3.2/agent-test.schema.json +75 -0
- package/spec/v0.3.2/examples/access-tiers/README.md +106 -0
- package/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
- package/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
- package/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
- package/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
- package/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
- package/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
- package/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
- package/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
- package/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
- package/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
- package/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
- package/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
- package/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
- package/spec/v0.3.2/extensions/drupal.md +417 -0
- package/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
- package/spec/{v0.3.1/ossa-0.3.0.schema.json → v0.3.2/ossa-0.3.2.schema.json} +563 -34
- package/spec/v0.3.2/protocols/delegation.yaml +239 -0
- package/spec/v0.3.2/protocols/sse.md +494 -0
- package/spec/v0.3.2/protocols/webrtc.md +600 -0
- package/spec/v0.3.2/protocols/websocket.md +362 -0
- package/spec/v0.3.2/runtime/RUNTIME.md +457 -0
- package/spec/v0.3.2/runtime/memory-model.yaml +871 -0
- package/spec/v0.3.2/runtime/runtime.yaml +926 -0
- package/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
- package/spec/v0.3.2/schemas/capabilities.yaml +102 -0
- package/spec/v0.3.2/schemas/functions.yaml +75 -0
- package/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
- package/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
- package/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
- package/spec/v0.3.2/schemas/runtime.yaml +102 -0
- package/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
- package/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
- package/spec/v0.3.2/taxonomy.yaml +363 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +0 -60
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +0 -68
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +0 -106
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types Generator - Generate TypeScript types from JSON Schema
|
|
3
|
+
*
|
|
4
|
+
* Uses json-schema-to-typescript to generate types from:
|
|
5
|
+
* - spec/vX.X.X/ossa-X.X.X.schema.json
|
|
6
|
+
*
|
|
7
|
+
* Output: src/types/generated/ossa-X.X.X.types.ts
|
|
8
|
+
*/
|
|
9
|
+
import type { Generator, GenerateResult, DriftReport } from '../codegen.service.js';
|
|
10
|
+
export declare class TypesGenerator implements Generator {
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Generate TypeScript types from JSON Schema
|
|
14
|
+
*/
|
|
15
|
+
generate(dryRun: boolean): Promise<GenerateResult>;
|
|
16
|
+
/**
|
|
17
|
+
* List target files
|
|
18
|
+
*/
|
|
19
|
+
listTargetFiles(): Promise<string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Check for drift - types are always regenerated
|
|
22
|
+
*/
|
|
23
|
+
checkDrift(): Promise<DriftReport['filesWithOldVersion']>;
|
|
24
|
+
private getSchemaPath;
|
|
25
|
+
private getOutputPath;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.generator.d.ts","sourceRoot":"","sources":["../../../../src/services/codegen/generators/types.generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpF,qBACa,cAAe,YAAW,SAAS;IAC9C,IAAI,SAAW;IAEf;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA2DxD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAK/D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types Generator - Generate TypeScript types from JSON Schema
|
|
3
|
+
*
|
|
4
|
+
* Uses json-schema-to-typescript to generate types from:
|
|
5
|
+
* - spec/vX.X.X/ossa-X.X.X.schema.json
|
|
6
|
+
*
|
|
7
|
+
* Output: src/types/generated/ossa-X.X.X.types.ts
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
import { injectable } from 'inversify';
|
|
16
|
+
import * as fs from 'fs';
|
|
17
|
+
import * as path from 'path';
|
|
18
|
+
import { execSync } from 'child_process';
|
|
19
|
+
import { getVersion } from '../../../utils/version.js';
|
|
20
|
+
let TypesGenerator = class TypesGenerator {
|
|
21
|
+
name = 'types';
|
|
22
|
+
/**
|
|
23
|
+
* Generate TypeScript types from JSON Schema
|
|
24
|
+
*/
|
|
25
|
+
async generate(dryRun) {
|
|
26
|
+
const result = {
|
|
27
|
+
generator: this.name,
|
|
28
|
+
filesUpdated: 0,
|
|
29
|
+
filesCreated: 0,
|
|
30
|
+
errors: [],
|
|
31
|
+
};
|
|
32
|
+
const version = getVersion();
|
|
33
|
+
const schemaPath = this.getSchemaPath(version);
|
|
34
|
+
const outputPath = this.getOutputPath(version);
|
|
35
|
+
if (!fs.existsSync(schemaPath)) {
|
|
36
|
+
result.errors.push(`Schema not found: ${schemaPath}`);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
if (dryRun) {
|
|
40
|
+
result.filesCreated = 1;
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
// Ensure output directory exists
|
|
45
|
+
const outputDir = path.dirname(outputPath);
|
|
46
|
+
if (!fs.existsSync(outputDir)) {
|
|
47
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
48
|
+
}
|
|
49
|
+
// Generate types using json-schema-to-typescript
|
|
50
|
+
const output = execSync(`npx json-schema-to-typescript "${schemaPath}" --no-bannerComment`, { encoding: 'utf8', cwd: process.cwd() });
|
|
51
|
+
// Add header
|
|
52
|
+
const header = `/**
|
|
53
|
+
* OSSA v${version} TypeScript Types
|
|
54
|
+
*
|
|
55
|
+
* AUTO-GENERATED - DO NOT EDIT
|
|
56
|
+
* Generated from: spec/v${version}/ossa-${version}.schema.json
|
|
57
|
+
*
|
|
58
|
+
* Regenerate with: ossa generate types
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
`;
|
|
62
|
+
fs.writeFileSync(outputPath, header + output, 'utf8');
|
|
63
|
+
if (fs.existsSync(outputPath)) {
|
|
64
|
+
result.filesCreated = 1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
result.errors.push(error instanceof Error ? error.message : String(error));
|
|
69
|
+
}
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* List target files
|
|
74
|
+
*/
|
|
75
|
+
async listTargetFiles() {
|
|
76
|
+
const version = getVersion();
|
|
77
|
+
return [this.getOutputPath(version)];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check for drift - types are always regenerated
|
|
81
|
+
*/
|
|
82
|
+
async checkDrift() {
|
|
83
|
+
// Types are generated fresh each time, no drift check needed
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
getSchemaPath(version) {
|
|
87
|
+
return path.join(process.cwd(), `spec/v${version}/ossa-${version}.schema.json`);
|
|
88
|
+
}
|
|
89
|
+
getOutputPath(version) {
|
|
90
|
+
return path.join(process.cwd(), `src/types/generated/ossa-${version}.types.ts`);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
TypesGenerator = __decorate([
|
|
94
|
+
injectable()
|
|
95
|
+
], TypesGenerator);
|
|
96
|
+
export { TypesGenerator };
|
|
97
|
+
//# sourceMappingURL=types.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.generator.js","sourceRoot":"","sources":["../../../../src/services/codegen/generators/types.generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VSCode Generator - Update version in VSCode extension files
|
|
3
|
+
*
|
|
4
|
+
* Targets:
|
|
5
|
+
* - tools/vscode-ossa/snippets/ossa-snippets.json
|
|
6
|
+
* - tools/vscode-ossa/package.json
|
|
7
|
+
* - tools/vscode-ossa/src/commands.ts
|
|
8
|
+
* - tools/vscode-ossa/src/validator.ts
|
|
9
|
+
*/
|
|
10
|
+
import type { Generator, GenerateResult, DriftReport } from '../codegen.service.js';
|
|
11
|
+
export declare class VSCodeGenerator implements Generator {
|
|
12
|
+
name: string;
|
|
13
|
+
private readonly targetFiles;
|
|
14
|
+
/**
|
|
15
|
+
* Generate: Update version in all VSCode files
|
|
16
|
+
*/
|
|
17
|
+
generate(dryRun: boolean): Promise<GenerateResult>;
|
|
18
|
+
/**
|
|
19
|
+
* List target files
|
|
20
|
+
*/
|
|
21
|
+
listTargetFiles(): Promise<string[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Check for version drift
|
|
24
|
+
*/
|
|
25
|
+
checkDrift(version: string, apiVersion: string): Promise<DriftReport['filesWithOldVersion']>;
|
|
26
|
+
/**
|
|
27
|
+
* Update a single file
|
|
28
|
+
*/
|
|
29
|
+
private updateFile;
|
|
30
|
+
/**
|
|
31
|
+
* Update JSON file - replace old version patterns
|
|
32
|
+
*/
|
|
33
|
+
private updateJsonFile;
|
|
34
|
+
/**
|
|
35
|
+
* Update TypeScript file - replace apiVersion strings
|
|
36
|
+
*/
|
|
37
|
+
private updateTsFile;
|
|
38
|
+
/**
|
|
39
|
+
* Find old version patterns in content
|
|
40
|
+
*/
|
|
41
|
+
private findOldVersions;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=vscode.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.generator.d.ts","sourceRoot":"","sources":["../../../../src/services/codegen/generators/vscode.generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpF,qBACa,eAAgB,YAAW,SAAS;IAC/C,IAAI,SAAY;IAEhB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;IAEF;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BxD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM1C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAwBlG;;OAEG;YACW,UAAU;IA8BxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+BpB;;OAEG;IACH,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VSCode Generator - Update version in VSCode extension files
|
|
3
|
+
*
|
|
4
|
+
* Targets:
|
|
5
|
+
* - tools/vscode-ossa/snippets/ossa-snippets.json
|
|
6
|
+
* - tools/vscode-ossa/package.json
|
|
7
|
+
* - tools/vscode-ossa/src/commands.ts
|
|
8
|
+
* - tools/vscode-ossa/src/validator.ts
|
|
9
|
+
*/
|
|
10
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
11
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
13
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15
|
+
};
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import * as fs from 'fs';
|
|
18
|
+
import * as path from 'path';
|
|
19
|
+
import { getVersion, getApiVersion } from '../../../utils/version.js';
|
|
20
|
+
let VSCodeGenerator = class VSCodeGenerator {
|
|
21
|
+
name = 'vscode';
|
|
22
|
+
targetFiles = [
|
|
23
|
+
'tools/vscode-ossa/snippets/ossa-snippets.json',
|
|
24
|
+
'tools/vscode-ossa/package.json',
|
|
25
|
+
'tools/vscode-ossa/src/commands.ts',
|
|
26
|
+
'tools/vscode-ossa/src/validator.ts',
|
|
27
|
+
];
|
|
28
|
+
/**
|
|
29
|
+
* Generate: Update version in all VSCode files
|
|
30
|
+
*/
|
|
31
|
+
async generate(dryRun) {
|
|
32
|
+
const result = {
|
|
33
|
+
generator: this.name,
|
|
34
|
+
filesUpdated: 0,
|
|
35
|
+
filesCreated: 0,
|
|
36
|
+
errors: [],
|
|
37
|
+
};
|
|
38
|
+
const apiVersion = getApiVersion();
|
|
39
|
+
const version = getVersion();
|
|
40
|
+
for (const relativePath of this.targetFiles) {
|
|
41
|
+
const filePath = path.join(process.cwd(), relativePath);
|
|
42
|
+
if (!fs.existsSync(filePath)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const updated = await this.updateFile(filePath, apiVersion, version, dryRun);
|
|
47
|
+
if (updated) {
|
|
48
|
+
result.filesUpdated++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
result.errors.push(`${relativePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* List target files
|
|
59
|
+
*/
|
|
60
|
+
async listTargetFiles() {
|
|
61
|
+
return this.targetFiles
|
|
62
|
+
.map(f => path.join(process.cwd(), f))
|
|
63
|
+
.filter(f => fs.existsSync(f));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Check for version drift
|
|
67
|
+
*/
|
|
68
|
+
async checkDrift(version, apiVersion) {
|
|
69
|
+
const drift = [];
|
|
70
|
+
for (const relativePath of this.targetFiles) {
|
|
71
|
+
const filePath = path.join(process.cwd(), relativePath);
|
|
72
|
+
if (!fs.existsSync(filePath)) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
76
|
+
const oldVersions = this.findOldVersions(content, apiVersion);
|
|
77
|
+
if (oldVersions.length > 0) {
|
|
78
|
+
drift.push({
|
|
79
|
+
path: relativePath,
|
|
80
|
+
foundVersion: oldVersions[0],
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return drift;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Update a single file
|
|
88
|
+
*/
|
|
89
|
+
async updateFile(filePath, apiVersion, version, dryRun) {
|
|
90
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
91
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
92
|
+
let updated;
|
|
93
|
+
if (ext === '.json') {
|
|
94
|
+
updated = this.updateJsonFile(content, apiVersion, version);
|
|
95
|
+
}
|
|
96
|
+
else if (ext === '.ts') {
|
|
97
|
+
updated = this.updateTsFile(content, apiVersion);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (updated === content) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (!dryRun) {
|
|
106
|
+
fs.writeFileSync(filePath, updated, 'utf8');
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Update JSON file - replace old version patterns
|
|
112
|
+
*/
|
|
113
|
+
updateJsonFile(content, apiVersion, version) {
|
|
114
|
+
let updated = content;
|
|
115
|
+
// Replace ossa/v0.x.x patterns
|
|
116
|
+
updated = updated.replace(/ossa\/v\d+\.\d+\.\d+/g, apiVersion);
|
|
117
|
+
// Replace schema URLs
|
|
118
|
+
updated = updated.replace(/schemas\/v\d+\.\d+\.\d+\//g, `schemas/v${version}/`);
|
|
119
|
+
// Replace "default": "vX.X.X" pattern (but NOT enum arrays)
|
|
120
|
+
updated = updated.replace(/"default":\s*"v\d+\.\d+\.\d+"/g, `"default": "v${version}"`);
|
|
121
|
+
return updated;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Update TypeScript file - replace apiVersion strings
|
|
125
|
+
*/
|
|
126
|
+
updateTsFile(content, apiVersion) {
|
|
127
|
+
let updated = content;
|
|
128
|
+
// Replace apiVersion: 'ossa/v0.x.x' patterns
|
|
129
|
+
updated = updated.replace(/apiVersion:\s*['"]ossa\/v\d+\.\d+\.\d+['"]/g, `apiVersion: '${apiVersion}'`);
|
|
130
|
+
// Replace template strings with ossa/v0.x.x
|
|
131
|
+
updated = updated.replace(/`apiVersion:\s*ossa\/v\d+\.\d+\.\d+/g, `\`apiVersion: ${apiVersion}`);
|
|
132
|
+
// Replace 'v0.x.x' default values
|
|
133
|
+
updated = updated.replace(/['"]v\d+\.\d+\.\d+['"]/g, (match) => {
|
|
134
|
+
// Only replace if it looks like an OSSA version
|
|
135
|
+
if (match.includes("v0.3") || match.includes("v0.2")) {
|
|
136
|
+
// apiVersion is "ossa/v0.3.2", so .replace('ossa/', '') gives "v0.3.2"
|
|
137
|
+
return `'${apiVersion.replace('ossa/', '')}'`;
|
|
138
|
+
}
|
|
139
|
+
return match;
|
|
140
|
+
});
|
|
141
|
+
return updated;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Find old version patterns in content
|
|
145
|
+
*/
|
|
146
|
+
findOldVersions(content, currentApiVersion) {
|
|
147
|
+
const versions = [];
|
|
148
|
+
const currentBase = currentApiVersion.replace('ossa/', '');
|
|
149
|
+
// Find ossa/vX.X.X patterns
|
|
150
|
+
const ossaMatches = content.matchAll(/ossa\/v(\d+\.\d+\.\d+)/g);
|
|
151
|
+
for (const match of ossaMatches) {
|
|
152
|
+
if (match[1] !== currentBase.replace('v', '')) {
|
|
153
|
+
versions.push(`ossa/v${match[1]}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return [...new Set(versions)];
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
VSCodeGenerator = __decorate([
|
|
160
|
+
injectable()
|
|
161
|
+
], VSCodeGenerator);
|
|
162
|
+
export { VSCodeGenerator };
|
|
163
|
+
//# sourceMappingURL=vscode.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode.generator.js","sourceRoot":"","sources":["../../../../src/services/codegen/generators/vscode.generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Generator - Generate Zod schemas from JSON Schema
|
|
3
|
+
*
|
|
4
|
+
* Uses json-schema-to-zod to generate runtime validators from:
|
|
5
|
+
* - spec/vX.X.X/ossa-X.X.X.schema.json
|
|
6
|
+
*
|
|
7
|
+
* Output: src/types/generated/ossa-X.X.X.zod.ts
|
|
8
|
+
*/
|
|
9
|
+
import type { Generator, GenerateResult, DriftReport } from '../codegen.service.js';
|
|
10
|
+
export declare class ZodGenerator implements Generator {
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Generate Zod schemas from JSON Schema
|
|
14
|
+
*/
|
|
15
|
+
generate(dryRun: boolean): Promise<GenerateResult>;
|
|
16
|
+
/**
|
|
17
|
+
* List target files
|
|
18
|
+
*/
|
|
19
|
+
listTargetFiles(): Promise<string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Check for drift - schemas are always regenerated
|
|
22
|
+
*/
|
|
23
|
+
checkDrift(): Promise<DriftReport['filesWithOldVersion']>;
|
|
24
|
+
/**
|
|
25
|
+
* Generate basic Zod schema when json-schema-to-zod fails
|
|
26
|
+
*/
|
|
27
|
+
private generateBasicZodSchema;
|
|
28
|
+
private getSchemaPath;
|
|
29
|
+
private getOutputPath;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=zod.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.generator.d.ts","sourceRoot":"","sources":["../../../../src/services/codegen/generators/zod.generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpF,qBACa,YAAa,YAAW,SAAS;IAC5C,IAAI,SAAS;IAEb;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAsExD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAI/D;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Generator - Generate Zod schemas from JSON Schema
|
|
3
|
+
*
|
|
4
|
+
* Uses json-schema-to-zod to generate runtime validators from:
|
|
5
|
+
* - spec/vX.X.X/ossa-X.X.X.schema.json
|
|
6
|
+
*
|
|
7
|
+
* Output: src/types/generated/ossa-X.X.X.zod.ts
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
import { injectable } from 'inversify';
|
|
16
|
+
import * as fs from 'fs';
|
|
17
|
+
import * as path from 'path';
|
|
18
|
+
import { execSync } from 'child_process';
|
|
19
|
+
import { getVersion } from '../../../utils/version.js';
|
|
20
|
+
let ZodGenerator = class ZodGenerator {
|
|
21
|
+
name = 'zod';
|
|
22
|
+
/**
|
|
23
|
+
* Generate Zod schemas from JSON Schema
|
|
24
|
+
*/
|
|
25
|
+
async generate(dryRun) {
|
|
26
|
+
const result = {
|
|
27
|
+
generator: this.name,
|
|
28
|
+
filesUpdated: 0,
|
|
29
|
+
filesCreated: 0,
|
|
30
|
+
errors: [],
|
|
31
|
+
};
|
|
32
|
+
const version = getVersion();
|
|
33
|
+
const schemaPath = this.getSchemaPath(version);
|
|
34
|
+
const outputPath = this.getOutputPath(version);
|
|
35
|
+
if (!fs.existsSync(schemaPath)) {
|
|
36
|
+
result.errors.push(`Schema not found: ${schemaPath}`);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
if (dryRun) {
|
|
40
|
+
result.filesCreated = 1;
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
// Ensure output directory exists
|
|
45
|
+
const outputDir = path.dirname(outputPath);
|
|
46
|
+
if (!fs.existsSync(outputDir)) {
|
|
47
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
48
|
+
}
|
|
49
|
+
// Read schema
|
|
50
|
+
const schema = JSON.parse(fs.readFileSync(schemaPath, 'utf8'));
|
|
51
|
+
// Generate Zod using json-schema-to-zod
|
|
52
|
+
let output;
|
|
53
|
+
try {
|
|
54
|
+
output = execSync(`npx json-schema-to-zod -s "${schemaPath}" -n OssaSchema`, { encoding: 'utf8', cwd: process.cwd() });
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// Fallback: generate basic Zod schema manually
|
|
58
|
+
output = this.generateBasicZodSchema(schema, version);
|
|
59
|
+
}
|
|
60
|
+
// Add header and imports
|
|
61
|
+
const header = `/**
|
|
62
|
+
* OSSA v${version} Zod Schemas
|
|
63
|
+
*
|
|
64
|
+
* AUTO-GENERATED - DO NOT EDIT
|
|
65
|
+
* Generated from: spec/v${version}/ossa-${version}.schema.json
|
|
66
|
+
*
|
|
67
|
+
* Regenerate with: ossa generate zod
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
import { z } from 'zod';
|
|
71
|
+
|
|
72
|
+
`;
|
|
73
|
+
fs.writeFileSync(outputPath, header + output, 'utf8');
|
|
74
|
+
if (fs.existsSync(outputPath)) {
|
|
75
|
+
result.filesCreated = 1;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
result.errors.push(error instanceof Error ? error.message : String(error));
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* List target files
|
|
85
|
+
*/
|
|
86
|
+
async listTargetFiles() {
|
|
87
|
+
const version = getVersion();
|
|
88
|
+
return [this.getOutputPath(version)];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check for drift - schemas are always regenerated
|
|
92
|
+
*/
|
|
93
|
+
async checkDrift() {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Generate basic Zod schema when json-schema-to-zod fails
|
|
98
|
+
*/
|
|
99
|
+
generateBasicZodSchema(schema, version) {
|
|
100
|
+
return `
|
|
101
|
+
// Basic OSSA schema - manual generation fallback
|
|
102
|
+
export const OssaApiVersionSchema = z.literal('ossa/v${version}');
|
|
103
|
+
|
|
104
|
+
export const OssaMetadataSchema = z.object({
|
|
105
|
+
name: z.string(),
|
|
106
|
+
version: z.string(),
|
|
107
|
+
description: z.string().optional(),
|
|
108
|
+
labels: z.record(z.string(), z.string()).optional(),
|
|
109
|
+
annotations: z.record(z.string(), z.string()).optional(),
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
export const OssaAgentSchema = z.object({
|
|
113
|
+
apiVersion: OssaApiVersionSchema,
|
|
114
|
+
kind: z.enum(['Agent', 'Task', 'Workflow']),
|
|
115
|
+
metadata: OssaMetadataSchema,
|
|
116
|
+
spec: z.record(z.string(), z.unknown()),
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
export type OssaAgent = z.infer<typeof OssaAgentSchema>;
|
|
120
|
+
export type OssaMetadata = z.infer<typeof OssaMetadataSchema>;
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
getSchemaPath(version) {
|
|
124
|
+
return path.join(process.cwd(), `spec/v${version}/ossa-${version}.schema.json`);
|
|
125
|
+
}
|
|
126
|
+
getOutputPath(version) {
|
|
127
|
+
return path.join(process.cwd(), `src/types/generated/ossa-${version}.zod.ts`);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
ZodGenerator = __decorate([
|
|
131
|
+
injectable()
|
|
132
|
+
], ZodGenerator);
|
|
133
|
+
export { ZodGenerator };
|
|
134
|
+
//# sourceMappingURL=zod.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.generator.js","sourceRoot":"","sources":["../../../../src/services/codegen/generators/zod.generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codegen Service Exports
|
|
3
|
+
*
|
|
4
|
+
* CI-based schema and version generation.
|
|
5
|
+
* Single source of truth: package.json version
|
|
6
|
+
*
|
|
7
|
+
* CRUD Operations via CLI:
|
|
8
|
+
* ossa generate types - Generate TypeScript types
|
|
9
|
+
* ossa generate zod - Generate Zod schemas
|
|
10
|
+
* ossa generate manifests - Update apiVersion in manifests
|
|
11
|
+
* ossa generate vscode - Update VSCode extension
|
|
12
|
+
* ossa generate openapi - Sync OpenAPI versions
|
|
13
|
+
* ossa generate all - Run all generators
|
|
14
|
+
*
|
|
15
|
+
* ossa generate list - List files that would be generated
|
|
16
|
+
* ossa generate validate - Check for version drift
|
|
17
|
+
* ossa generate sync - Sync all files to current version
|
|
18
|
+
*/
|
|
19
|
+
export { CodegenService, type GeneratorType, type GenerateResult, type DriftReport, type Generator } from './codegen.service.js';
|
|
20
|
+
export { ManifestGenerator } from './generators/manifest.generator.js';
|
|
21
|
+
export { VSCodeGenerator } from './generators/vscode.generator.js';
|
|
22
|
+
export { OpenAPIGenerator } from './generators/openapi.generator.js';
|
|
23
|
+
export { TypesGenerator } from './generators/types.generator.js';
|
|
24
|
+
export { ZodGenerator } from './generators/zod.generator.js';
|
|
25
|
+
export declare const CODEGEN_SYMBOLS: {
|
|
26
|
+
readonly CodegenService: symbol;
|
|
27
|
+
readonly ManifestGenerator: symbol;
|
|
28
|
+
readonly VSCodeGenerator: symbol;
|
|
29
|
+
readonly OpenAPIGenerator: symbol;
|
|
30
|
+
readonly TypesGenerator: symbol;
|
|
31
|
+
readonly ZodGenerator: symbol;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/codegen/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codegen Service Exports
|
|
3
|
+
*
|
|
4
|
+
* CI-based schema and version generation.
|
|
5
|
+
* Single source of truth: package.json version
|
|
6
|
+
*
|
|
7
|
+
* CRUD Operations via CLI:
|
|
8
|
+
* ossa generate types - Generate TypeScript types
|
|
9
|
+
* ossa generate zod - Generate Zod schemas
|
|
10
|
+
* ossa generate manifests - Update apiVersion in manifests
|
|
11
|
+
* ossa generate vscode - Update VSCode extension
|
|
12
|
+
* ossa generate openapi - Sync OpenAPI versions
|
|
13
|
+
* ossa generate all - Run all generators
|
|
14
|
+
*
|
|
15
|
+
* ossa generate list - List files that would be generated
|
|
16
|
+
* ossa generate validate - Check for version drift
|
|
17
|
+
* ossa generate sync - Sync all files to current version
|
|
18
|
+
*/
|
|
19
|
+
// Main service
|
|
20
|
+
export { CodegenService } from './codegen.service.js';
|
|
21
|
+
// Generators
|
|
22
|
+
export { ManifestGenerator } from './generators/manifest.generator.js';
|
|
23
|
+
export { VSCodeGenerator } from './generators/vscode.generator.js';
|
|
24
|
+
export { OpenAPIGenerator } from './generators/openapi.generator.js';
|
|
25
|
+
export { TypesGenerator } from './generators/types.generator.js';
|
|
26
|
+
export { ZodGenerator } from './generators/zod.generator.js';
|
|
27
|
+
// DI Symbols
|
|
28
|
+
export const CODEGEN_SYMBOLS = {
|
|
29
|
+
CodegenService: Symbol.for('CodegenService'),
|
|
30
|
+
ManifestGenerator: Symbol.for('ManifestGenerator'),
|
|
31
|
+
VSCodeGenerator: Symbol.for('VSCodeGenerator'),
|
|
32
|
+
OpenAPIGenerator: Symbol.for('OpenAPIGenerator'),
|
|
33
|
+
TypesGenerator: Symbol.for('TypesGenerator'),
|
|
34
|
+
ZodGenerator: Symbol.for('ZodGenerator'),
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/codegen/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAe;AACf,OAAO,EAAE,cAAc,EAA6E,MAAM,sBAAsB,CAAC;AAEjI,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,aAAa;AACb,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;CAChC,CAAC"}
|