@bluefly/openstandardagents 0.3.2 → 0.3.3
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/CHANGELOG.md +37 -1990
- package/README.md +163 -392
- package/dist/adapters/anthropic/runtime.d.ts +1 -1
- package/dist/adapters/anthropic/runtime.d.ts.map +1 -1
- package/dist/adapters/anthropic/runtime.js +1 -1
- package/dist/adapters/anthropic/runtime.js.map +1 -1
- package/dist/adapters/crewai-adapter.d.ts.map +1 -1
- package/dist/adapters/crewai-adapter.js +0 -1
- package/dist/adapters/crewai-adapter.js.map +1 -1
- package/dist/adapters/langchain-adapter.d.ts.map +1 -1
- package/dist/adapters/langchain-adapter.js +0 -1
- package/dist/adapters/langchain-adapter.js.map +1 -1
- package/dist/adapters/langflow-adapter.js +1 -1
- package/dist/adapters/langflow-adapter.js.map +1 -1
- package/dist/adapters/langfuse.adapter.d.ts +30 -0
- package/dist/adapters/langfuse.adapter.d.ts.map +1 -0
- package/dist/adapters/langfuse.adapter.js +61 -0
- package/dist/adapters/langfuse.adapter.js.map +1 -0
- package/dist/adapters/langsmith.adapter.d.ts +29 -0
- package/dist/adapters/langsmith.adapter.d.ts.map +1 -0
- package/dist/adapters/langsmith.adapter.js +60 -0
- package/dist/adapters/langsmith.adapter.js.map +1 -0
- package/dist/adapters/openapi-adapter.d.ts.map +1 -1
- package/dist/adapters/openapi-adapter.js +19 -15
- package/dist/adapters/openapi-adapter.js.map +1 -1
- package/dist/adapters/opentelemetry.adapter.d.ts +136 -0
- package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -0
- package/dist/adapters/opentelemetry.adapter.js +239 -0
- package/dist/adapters/opentelemetry.adapter.js.map +1 -0
- package/dist/adapters/phoenix.adapter.d.ts +28 -0
- package/dist/adapters/phoenix.adapter.d.ts.map +1 -0
- package/dist/adapters/phoenix.adapter.js +63 -0
- package/dist/adapters/phoenix.adapter.js.map +1 -0
- package/dist/bot/ci-pipeline-bot.d.ts +1 -1
- package/dist/bot/ci-pipeline-bot.d.ts.map +1 -1
- package/dist/bot/ci-pipeline-bot.js +1 -1
- package/dist/bot/ci-pipeline-bot.js.map +1 -1
- package/dist/bot/compliance-bot.d.ts.map +1 -1
- package/dist/bot/compliance-bot.js +1 -1
- package/dist/bot/compliance-bot.js.map +1 -1
- package/dist/cli/commands/agent-card.command.d.ts +4 -0
- package/dist/cli/commands/agent-card.command.d.ts.map +1 -1
- package/dist/cli/commands/agent-card.command.js +9 -7
- package/dist/cli/commands/agent-card.command.js.map +1 -1
- package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
- package/dist/cli/commands/agents-md.command.js +9 -11
- package/dist/cli/commands/agents-md.command.js.map +1 -1
- package/dist/cli/commands/agents.command.js +3 -3
- package/dist/cli/commands/agents.command.js.map +1 -1
- package/dist/cli/commands/catalog/config.d.ts +54 -0
- package/dist/cli/commands/catalog/config.d.ts.map +1 -0
- package/dist/cli/commands/catalog/config.js +113 -0
- package/dist/cli/commands/catalog/config.js.map +1 -0
- package/dist/cli/commands/catalog/convert.command.d.ts +8 -0
- package/dist/cli/commands/catalog/convert.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/convert.command.js +106 -0
- package/dist/cli/commands/catalog/convert.command.js.map +1 -0
- package/dist/cli/commands/catalog/diff.command.d.ts +8 -0
- package/dist/cli/commands/catalog/diff.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/diff.command.js +76 -0
- package/dist/cli/commands/catalog/diff.command.js.map +1 -0
- package/dist/cli/commands/catalog/index.d.ts +19 -0
- package/dist/cli/commands/catalog/index.d.ts.map +1 -0
- package/dist/cli/commands/catalog/index.js +40 -0
- package/dist/cli/commands/catalog/index.js.map +1 -0
- package/dist/cli/commands/catalog/list.command.d.ts +8 -0
- package/dist/cli/commands/catalog/list.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/list.command.js +101 -0
- package/dist/cli/commands/catalog/list.command.js.map +1 -0
- package/dist/cli/commands/catalog/pull.command.d.ts +8 -0
- package/dist/cli/commands/catalog/pull.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/pull.command.js +87 -0
- package/dist/cli/commands/catalog/pull.command.js.map +1 -0
- package/dist/cli/commands/catalog/push.command.d.ts +8 -0
- package/dist/cli/commands/catalog/push.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/push.command.js +98 -0
- package/dist/cli/commands/catalog/push.command.js.map +1 -0
- package/dist/cli/commands/catalog/schemas.d.ts +62 -0
- package/dist/cli/commands/catalog/schemas.d.ts.map +1 -0
- package/dist/cli/commands/catalog/schemas.js +55 -0
- package/dist/cli/commands/catalog/schemas.js.map +1 -0
- package/dist/cli/commands/catalog/sync.command.d.ts +8 -0
- package/dist/cli/commands/catalog/sync.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/sync.command.js +69 -0
- package/dist/cli/commands/catalog/sync.command.js.map +1 -0
- package/dist/cli/commands/catalog/validate.command.d.ts +8 -0
- package/dist/cli/commands/catalog/validate.command.d.ts.map +1 -0
- package/dist/cli/commands/catalog/validate.command.js +140 -0
- package/dist/cli/commands/catalog/validate.command.js.map +1 -0
- package/dist/cli/commands/compliance.command.d.ts +19 -0
- package/dist/cli/commands/compliance.command.d.ts.map +1 -0
- package/dist/cli/commands/compliance.command.js +218 -0
- package/dist/cli/commands/compliance.command.js.map +1 -0
- package/dist/cli/commands/contract.command.d.ts +5 -0
- package/dist/cli/commands/contract.command.d.ts.map +1 -1
- package/dist/cli/commands/contract.command.js +40 -63
- package/dist/cli/commands/contract.command.js.map +1 -1
- package/dist/cli/commands/dependencies.command.d.ts +5 -0
- package/dist/cli/commands/dependencies.command.d.ts.map +1 -1
- package/dist/cli/commands/dependencies.command.js +58 -108
- package/dist/cli/commands/dependencies.command.js.map +1 -1
- package/dist/cli/commands/diff.command.d.ts +4 -0
- package/dist/cli/commands/diff.command.d.ts.map +1 -1
- package/dist/cli/commands/diff.command.js +10 -10
- package/dist/cli/commands/diff.command.js.map +1 -1
- package/dist/cli/commands/docs.command.d.ts.map +1 -1
- package/dist/cli/commands/docs.command.js +2 -1
- package/dist/cli/commands/docs.command.js.map +1 -1
- package/dist/cli/commands/export.command.d.ts.map +1 -1
- package/dist/cli/commands/export.command.js +2 -2
- package/dist/cli/commands/export.command.js.map +1 -1
- package/dist/cli/commands/extension-team.command.d.ts +15 -0
- package/dist/cli/commands/extension-team.command.d.ts.map +1 -0
- package/dist/cli/commands/extension-team.command.js +117 -0
- package/dist/cli/commands/extension-team.command.js.map +1 -0
- package/dist/cli/commands/framework.command.d.ts +9 -0
- package/dist/cli/commands/framework.command.d.ts.map +1 -0
- package/dist/cli/commands/framework.command.js +179 -0
- package/dist/cli/commands/framework.command.js.map +1 -0
- package/dist/cli/commands/generate.command.d.ts.map +1 -1
- package/dist/cli/commands/generate.command.js +15 -8
- package/dist/cli/commands/generate.command.js.map +1 -1
- package/dist/cli/commands/github-sync.command.js +2 -2
- package/dist/cli/commands/github-sync.command.js.map +1 -1
- package/dist/cli/commands/import.command.d.ts.map +1 -1
- package/dist/cli/commands/import.command.js +2 -2
- package/dist/cli/commands/import.command.js.map +1 -1
- package/dist/cli/commands/install.command.d.ts.map +1 -1
- package/dist/cli/commands/install.command.js +3 -1
- package/dist/cli/commands/install.command.js.map +1 -1
- package/dist/cli/commands/langchain.command.d.ts +9 -0
- package/dist/cli/commands/langchain.command.d.ts.map +1 -0
- package/dist/cli/commands/langchain.command.js +110 -0
- package/dist/cli/commands/langchain.command.js.map +1 -0
- package/dist/cli/commands/langflow.command.d.ts +9 -0
- package/dist/cli/commands/langflow.command.d.ts.map +1 -0
- package/dist/cli/commands/langflow.command.js +111 -0
- package/dist/cli/commands/langflow.command.js.map +1 -0
- package/dist/cli/commands/lint.command.d.ts +5 -0
- package/dist/cli/commands/lint.command.d.ts.map +1 -1
- package/dist/cli/commands/lint.command.js +13 -57
- package/dist/cli/commands/lint.command.js.map +1 -1
- package/dist/cli/commands/llms-txt.command.d.ts +7 -0
- package/dist/cli/commands/llms-txt.command.d.ts.map +1 -0
- package/dist/cli/commands/llms-txt.command.js +119 -0
- package/dist/cli/commands/llms-txt.command.js.map +1 -0
- package/dist/cli/commands/migrate.command.js +4 -4
- package/dist/cli/commands/migrate.command.js.map +1 -1
- package/dist/cli/commands/publish.command.d.ts.map +1 -1
- package/dist/cli/commands/publish.command.js.map +1 -1
- package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.command.js +4 -10
- package/dist/cli/commands/quickstart.command.js.map +1 -1
- package/dist/cli/commands/registry.command.d.ts +4 -0
- package/dist/cli/commands/registry.command.d.ts.map +1 -1
- package/dist/cli/commands/registry.command.js +11 -12
- package/dist/cli/commands/registry.command.js.map +1 -1
- package/dist/cli/commands/scaffold.command.d.ts +19 -0
- package/dist/cli/commands/scaffold.command.d.ts.map +1 -0
- package/dist/cli/commands/scaffold.command.js +182 -0
- package/dist/cli/commands/scaffold.command.js.map +1 -0
- package/dist/cli/commands/schema.command.d.ts +4 -0
- package/dist/cli/commands/schema.command.d.ts.map +1 -1
- package/dist/cli/commands/schema.command.js +8 -5
- package/dist/cli/commands/schema.command.js.map +1 -1
- package/dist/cli/commands/setup.command.d.ts.map +1 -1
- package/dist/cli/commands/setup.command.js +23 -24
- package/dist/cli/commands/setup.command.js.map +1 -1
- package/dist/cli/commands/standardize.command.d.ts +19 -0
- package/dist/cli/commands/standardize.command.d.ts.map +1 -0
- package/dist/cli/commands/standardize.command.js +275 -0
- package/dist/cli/commands/standardize.command.js.map +1 -0
- package/dist/cli/commands/sync.command.js +3 -3
- package/dist/cli/commands/sync.command.js.map +1 -1
- package/dist/cli/commands/test.command.d.ts +8 -0
- package/dist/cli/commands/test.command.d.ts.map +1 -1
- package/dist/cli/commands/test.command.js +83 -15
- package/dist/cli/commands/test.command.js.map +1 -1
- package/dist/cli/commands/validate.command.d.ts +4 -0
- package/dist/cli/commands/validate.command.d.ts.map +1 -1
- package/dist/cli/commands/validate.command.js +30 -1
- package/dist/cli/commands/validate.command.js.map +1 -1
- package/dist/cli/commands/workspace.command.d.ts.map +1 -1
- package/dist/cli/commands/workspace.command.js +32 -42
- package/dist/cli/commands/workspace.command.js.map +1 -1
- package/dist/cli/extensions/gitlab-release.commands.d.ts +19 -0
- package/dist/cli/extensions/gitlab-release.commands.d.ts.map +1 -0
- package/dist/cli/extensions/gitlab-release.commands.js +341 -0
- package/dist/cli/extensions/gitlab-release.commands.js.map +1 -0
- package/dist/cli/extensions/gitlab.extension.d.ts +24 -0
- package/dist/cli/extensions/gitlab.extension.d.ts.map +1 -0
- package/dist/cli/extensions/gitlab.extension.js +64 -0
- package/dist/cli/extensions/gitlab.extension.js.map +1 -0
- package/dist/cli/extensions/index.d.ts +63 -0
- package/dist/cli/extensions/index.d.ts.map +1 -0
- package/dist/cli/extensions/index.js +181 -0
- package/dist/cli/extensions/index.js.map +1 -0
- package/dist/cli/index.d.ts +11 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +111 -35
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/error-formatter.js +6 -6
- package/dist/cli/utils/error-formatter.js.map +1 -1
- package/dist/cli/utils/gitlab-config.d.ts +94 -0
- package/dist/cli/utils/gitlab-config.d.ts.map +1 -0
- package/dist/cli/utils/gitlab-config.js +180 -0
- package/dist/cli/utils/gitlab-config.js.map +1 -0
- package/dist/cli/utils/index.d.ts +11 -0
- package/dist/cli/utils/index.d.ts.map +1 -0
- package/dist/cli/utils/index.js +15 -0
- package/dist/cli/utils/index.js.map +1 -0
- package/dist/cli/utils/manifest-loader.d.ts +77 -0
- package/dist/cli/utils/manifest-loader.d.ts.map +1 -0
- package/dist/cli/utils/manifest-loader.js +153 -0
- package/dist/cli/utils/manifest-loader.js.map +1 -0
- package/dist/cli/utils/output.d.ts +134 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +200 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/config/defaults.d.ts +138 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +223 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/dev-cli/schemas/spec.schema.d.ts +38 -0
- package/dist/dev-cli/schemas/spec.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/spec.schema.js +36 -0
- package/dist/dev-cli/schemas/spec.schema.js.map +1 -0
- package/dist/dev-cli/schemas/version.schema.d.ts +82 -0
- package/dist/dev-cli/schemas/version.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/version.schema.js +83 -0
- package/dist/dev-cli/schemas/version.schema.js.map +1 -0
- package/dist/dev-cli/services/version-audit.service.d.ts +31 -0
- package/dist/dev-cli/services/version-audit.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-audit.service.js +168 -0
- package/dist/dev-cli/services/version-audit.service.js.map +1 -0
- package/dist/dev-cli/src/commands/release-prep.command.d.ts +12 -0
- package/dist/dev-cli/src/commands/release-prep.command.d.ts.map +1 -0
- package/dist/dev-cli/src/commands/release-prep.command.js +112 -0
- package/dist/dev-cli/src/commands/release-prep.command.js.map +1 -0
- package/dist/dev-cli/src/commands/release.command.d.ts +9 -0
- package/dist/dev-cli/src/commands/release.command.d.ts.map +1 -0
- package/dist/dev-cli/src/commands/release.command.js +112 -0
- package/dist/dev-cli/src/commands/release.command.js.map +1 -0
- package/dist/dev-cli/src/commands/spec.command.d.ts +9 -0
- package/dist/dev-cli/src/commands/spec.command.d.ts.map +1 -0
- package/dist/dev-cli/src/commands/spec.command.js +85 -0
- package/dist/dev-cli/src/commands/spec.command.js.map +1 -0
- package/dist/dev-cli/src/commands/version.command.d.ts +9 -0
- package/dist/dev-cli/src/commands/version.command.d.ts.map +1 -0
- package/dist/dev-cli/src/commands/version.command.js +114 -0
- package/dist/dev-cli/src/commands/version.command.js.map +1 -0
- package/dist/dev-cli/src/commands/workflow.command.d.ts +8 -0
- package/dist/dev-cli/src/commands/workflow.command.d.ts.map +1 -0
- package/dist/dev-cli/src/commands/workflow.command.js +93 -0
- package/dist/dev-cli/src/commands/workflow.command.js.map +1 -0
- package/dist/dev-cli/src/index.d.ts +14 -0
- package/dist/dev-cli/src/index.d.ts.map +1 -0
- package/dist/dev-cli/src/index.js +35 -0
- package/dist/dev-cli/src/index.js.map +1 -0
- package/dist/dev-cli/src/schemas/release-prep.schema.d.ts +112 -0
- package/dist/dev-cli/src/schemas/release-prep.schema.d.ts.map +1 -0
- package/dist/dev-cli/src/schemas/release-prep.schema.js +76 -0
- package/dist/dev-cli/src/schemas/release-prep.schema.js.map +1 -0
- package/dist/dev-cli/src/schemas/release.schema.d.ts +146 -0
- package/dist/dev-cli/src/schemas/release.schema.d.ts.map +1 -0
- package/dist/dev-cli/src/schemas/release.schema.js +77 -0
- package/dist/dev-cli/src/schemas/release.schema.js.map +1 -0
- package/dist/dev-cli/src/schemas/spec.schema.d.ts +34 -0
- package/dist/dev-cli/src/schemas/spec.schema.d.ts.map +1 -0
- package/dist/dev-cli/src/schemas/spec.schema.js +30 -0
- package/dist/dev-cli/src/schemas/spec.schema.js.map +1 -0
- package/dist/dev-cli/src/schemas/version.schema.d.ts +53 -0
- package/dist/dev-cli/src/schemas/version.schema.d.ts.map +1 -0
- package/dist/dev-cli/src/schemas/version.schema.js +43 -0
- package/dist/dev-cli/src/schemas/version.schema.js.map +1 -0
- package/dist/dev-cli/src/services/release-prep.service.d.ts +55 -0
- package/dist/dev-cli/src/services/release-prep.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/release-prep.service.js +492 -0
- package/dist/dev-cli/src/services/release-prep.service.js.map +1 -0
- package/dist/dev-cli/src/services/release-verify.service.d.ts +49 -0
- package/dist/dev-cli/src/services/release-verify.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/release-verify.service.js +385 -0
- package/dist/dev-cli/src/services/release-verify.service.js.map +1 -0
- package/dist/dev-cli/src/services/spec-generate.service.d.ts +18 -0
- package/dist/dev-cli/src/services/spec-generate.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/spec-generate.service.js +49 -0
- package/dist/dev-cli/src/services/spec-generate.service.js.map +1 -0
- package/dist/dev-cli/src/services/spec-validate.service.d.ts +17 -0
- package/dist/dev-cli/src/services/spec-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/spec-validate.service.js +52 -0
- package/dist/dev-cli/src/services/spec-validate.service.js.map +1 -0
- package/dist/dev-cli/src/services/version-release.service.d.ts +17 -0
- package/dist/dev-cli/src/services/version-release.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/version-release.service.js +80 -0
- package/dist/dev-cli/src/services/version-release.service.js.map +1 -0
- package/dist/dev-cli/src/services/version-sync.service.d.ts +21 -0
- package/dist/dev-cli/src/services/version-sync.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/version-sync.service.js +98 -0
- package/dist/dev-cli/src/services/version-sync.service.js.map +1 -0
- package/dist/dev-cli/src/services/version-validate.service.d.ts +17 -0
- package/dist/dev-cli/src/services/version-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/src/services/version-validate.service.js +52 -0
- package/dist/dev-cli/src/services/version-validate.service.js.map +1 -0
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +14 -3
- package/dist/di-container.js.map +1 -1
- package/dist/messaging/broker.d.ts +1 -1
- package/dist/messaging/broker.js +1 -1
- package/dist/messaging/channels.d.ts +1 -1
- package/dist/messaging/channels.js +1 -1
- package/dist/messaging/index.d.ts +1 -1
- package/dist/messaging/index.js +1 -1
- package/dist/messaging/protocols/memory.d.ts +1 -1
- package/dist/messaging/protocols/memory.js +1 -1
- package/dist/messaging/protocols/redis.d.ts +1 -1
- package/dist/messaging/protocols/redis.js +1 -1
- package/dist/messaging/types.d.ts +2 -2
- package/dist/messaging/types.js +1 -1
- package/dist/repositories/manifest.repository.d.ts +1 -1
- package/dist/repositories/manifest.repository.d.ts.map +1 -1
- package/dist/repositories/manifest.repository.js +18 -13
- package/dist/repositories/manifest.repository.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +2 -2
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +1 -1
- package/dist/runtime/crewai.runtime.d.ts +30 -0
- package/dist/runtime/crewai.runtime.d.ts.map +1 -0
- package/dist/runtime/crewai.runtime.js +106 -0
- package/dist/runtime/crewai.runtime.js.map +1 -0
- package/dist/runtime/langchain.runtime.d.ts +32 -0
- package/dist/runtime/langchain.runtime.d.ts.map +1 -0
- package/dist/runtime/langchain.runtime.js +75 -0
- package/dist/runtime/langchain.runtime.js.map +1 -0
- package/dist/runtime/langflow.runtime.d.ts +65 -0
- package/dist/runtime/langflow.runtime.d.ts.map +1 -0
- package/dist/runtime/langflow.runtime.js +140 -0
- package/dist/runtime/langflow.runtime.js.map +1 -0
- package/dist/sdks/index.d.ts +15 -0
- package/dist/sdks/index.d.ts.map +1 -0
- package/dist/sdks/index.js +17 -0
- package/dist/sdks/index.js.map +1 -0
- package/dist/sdks/python-generator/index.d.ts +18 -0
- package/dist/sdks/python-generator/index.d.ts.map +1 -0
- package/dist/sdks/python-generator/index.js +13 -0
- package/dist/sdks/python-generator/index.js.map +1 -0
- package/dist/sdks/shared/index.d.ts +24 -0
- package/dist/sdks/shared/index.d.ts.map +1 -0
- package/dist/sdks/shared/index.js +28 -0
- package/dist/sdks/shared/index.js.map +1 -0
- package/dist/sdks/shared/manifest-loader.d.ts +41 -0
- package/dist/sdks/shared/manifest-loader.d.ts.map +1 -0
- package/dist/sdks/shared/manifest-loader.js +45 -0
- package/dist/sdks/shared/manifest-loader.js.map +1 -0
- package/dist/sdks/shared/schema-validator.d.ts +34 -0
- package/dist/sdks/shared/schema-validator.d.ts.map +1 -0
- package/dist/sdks/shared/schema-validator.js +101 -0
- package/dist/sdks/shared/schema-validator.js.map +1 -0
- package/dist/sdks/shared/types.d.ts +43 -0
- package/dist/sdks/shared/types.d.ts.map +1 -0
- package/dist/sdks/shared/types.js +27 -0
- package/dist/sdks/shared/types.js.map +1 -0
- package/dist/sdks/shared/validation.d.ts +52 -0
- package/dist/sdks/shared/validation.d.ts.map +1 -0
- package/dist/sdks/shared/validation.js +37 -0
- package/dist/sdks/shared/validation.js.map +1 -0
- package/dist/sdks/typescript/client.d.ts +44 -0
- package/dist/sdks/typescript/client.d.ts.map +1 -0
- package/dist/sdks/typescript/client.js +51 -0
- package/dist/sdks/typescript/client.js.map +1 -0
- package/dist/sdks/typescript/events/cloudevents-emitter.d.ts.map +1 -0
- package/dist/sdks/typescript/events/cloudevents-emitter.js.map +1 -0
- package/dist/sdks/typescript/events/index.d.ts.map +1 -0
- package/dist/sdks/typescript/events/index.js.map +1 -0
- package/dist/sdks/typescript/index.d.ts +31 -0
- package/dist/sdks/typescript/index.d.ts.map +1 -0
- package/dist/sdks/typescript/index.js +36 -0
- package/dist/sdks/typescript/index.js.map +1 -0
- package/dist/sdks/typescript/manifest.d.ts +36 -0
- package/dist/sdks/typescript/manifest.d.ts.map +1 -0
- package/dist/sdks/typescript/manifest.js +85 -0
- package/dist/sdks/typescript/manifest.js.map +1 -0
- package/dist/sdks/typescript/tracing/index.d.ts.map +1 -0
- package/dist/sdks/typescript/tracing/index.js.map +1 -0
- package/dist/sdks/typescript/tracing/w3c-baggage.d.ts.map +1 -0
- package/dist/sdks/typescript/tracing/w3c-baggage.js.map +1 -0
- package/dist/sdks/typescript/types.d.ts +145 -0
- package/dist/sdks/typescript/types.d.ts.map +1 -0
- package/dist/sdks/typescript/types.js +51 -0
- package/dist/sdks/typescript/types.js.map +1 -0
- package/dist/sdks/typescript/validator.d.ts +26 -0
- package/dist/sdks/typescript/validator.d.ts.map +1 -0
- package/dist/sdks/typescript/validator.js +58 -0
- package/dist/sdks/typescript/validator.js.map +1 -0
- package/dist/services/agent-services/qdrant.service.js +2 -2
- package/dist/services/agent-services/qdrant.service.js.map +1 -1
- package/dist/services/codegen/codegen.service.d.ts +4 -2
- package/dist/services/codegen/codegen.service.d.ts.map +1 -1
- package/dist/services/codegen/codegen.service.js +8 -2
- package/dist/services/codegen/codegen.service.js.map +1 -1
- package/dist/services/codegen/generators/openapi-zod.generator.d.ts +79 -0
- package/dist/services/codegen/generators/openapi-zod.generator.d.ts.map +1 -0
- package/dist/services/codegen/generators/openapi-zod.generator.js +476 -0
- package/dist/services/codegen/generators/openapi-zod.generator.js.map +1 -0
- package/dist/services/codegen/generators/vscode.generator.js +1 -1
- package/dist/services/codegen/generators/zod.generator.d.ts.map +1 -1
- package/dist/services/codegen/generators/zod.generator.js +2 -1
- package/dist/services/codegen/generators/zod.generator.js.map +1 -1
- package/dist/services/codegen/index.d.ts +2 -0
- package/dist/services/codegen/index.d.ts.map +1 -1
- package/dist/services/codegen/index.js +2 -0
- package/dist/services/codegen/index.js.map +1 -1
- package/dist/services/extension-team/extension-team-kickoff.service.d.ts +85 -0
- package/dist/services/extension-team/extension-team-kickoff.service.d.ts.map +1 -0
- package/dist/services/extension-team/extension-team-kickoff.service.js +121 -0
- package/dist/services/extension-team/extension-team-kickoff.service.js.map +1 -0
- package/dist/services/framework-import/langchain-importer.service.d.ts +55 -0
- package/dist/services/framework-import/langchain-importer.service.d.ts.map +1 -0
- package/dist/services/framework-import/langchain-importer.service.js +149 -0
- package/dist/services/framework-import/langchain-importer.service.js.map +1 -0
- package/dist/services/framework-import/langflow-importer.service.d.ts +85 -0
- package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -0
- package/dist/services/framework-import/langflow-importer.service.js +260 -0
- package/dist/services/framework-import/langflow-importer.service.js.map +1 -0
- package/dist/services/github-sync/sync.service.js +2 -2
- package/dist/services/llms-txt/llms-txt.service.d.ts +59 -0
- package/dist/services/llms-txt/llms-txt.service.d.ts.map +1 -0
- package/dist/services/llms-txt/llms-txt.service.js +509 -0
- package/dist/services/llms-txt/llms-txt.service.js.map +1 -0
- package/dist/services/messaging/example.js +15 -15
- package/dist/services/messaging/example.js.map +1 -1
- package/dist/services/release-automation/generate-changelog.d.ts +7 -0
- package/dist/services/release-automation/generate-changelog.d.ts.map +1 -0
- package/dist/services/release-automation/generate-changelog.js +286 -0
- package/dist/services/release-automation/generate-changelog.js.map +1 -0
- package/dist/services/release-automation/increment-dev-tag.d.ts +7 -0
- package/dist/services/release-automation/increment-dev-tag.d.ts.map +1 -0
- package/dist/services/release-automation/increment-dev-tag.js +156 -0
- package/dist/services/release-automation/increment-dev-tag.js.map +1 -0
- package/dist/services/release-automation/release-buttons.d.ts +7 -0
- package/dist/services/release-automation/release-buttons.d.ts.map +1 -0
- package/dist/services/release-automation/release-buttons.js +165 -0
- package/dist/services/release-automation/release-buttons.js.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +2 -2
- package/dist/services/release-automation/tag.service.d.ts +3 -3
- package/dist/services/validation-zod.service.d.ts +36 -0
- package/dist/services/validation-zod.service.d.ts.map +1 -0
- package/dist/services/validation-zod.service.js +328 -0
- package/dist/services/validation-zod.service.js.map +1 -0
- package/dist/services/validation.service.js +1 -1
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/contract.validator.d.ts +6 -5
- package/dist/services/validators/contract.validator.d.ts.map +1 -1
- package/dist/services/validators/contract.validator.js +6 -6
- package/dist/services/validators/contract.validator.js.map +1 -1
- package/dist/services/validators/dependencies.validator.js.map +1 -1
- package/dist/spec/examples/reference-agents/compliance-auditor/manifest.ossa.yaml +527 -0
- package/dist/spec/examples/reference-agents/doc-agent/manifest.ossa.yaml +776 -0
- package/dist/spec/examples/reference-agents/mr-reviewer/manifest.ossa.yaml +249 -0
- package/dist/spec/examples/reference-agents/mr-reviewer/system-prompt.md +154 -0
- package/dist/spec/examples/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +548 -0
- package/dist/spec/examples/reference-agents/ossa-validator-v0.3/system-prompt.md +135 -0
- package/dist/spec/examples/reference-agents/pipeline-fixer/manifest.ossa.yaml +336 -0
- package/dist/spec/examples/reference-agents/release-orchestrator/README.md +35 -0
- package/dist/spec/examples/reference-agents/release-orchestrator/manifest.ossa.yaml +233 -0
- package/dist/spec/extensions/a2a-messaging.md +5 -5
- package/dist/spec/extensions/manifest-extensions.md +4 -4
- package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +10 -10
- package/dist/spec/extensions/skills-compatibility.md +292 -0
- package/dist/spec/registry/README.md +1 -1
- package/dist/spec/registry/registry-spec.md +6 -6
- package/dist/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +19 -19
- package/dist/spec/v0.3.2/UNIFIED-SCHEMA.md +3 -3
- package/dist/spec/v0.3.2/access_tiers.yaml +2 -2
- package/dist/spec/v0.3.2/adapters/drupal.md +7 -7
- package/dist/spec/v0.3.2/adapters/symfony.md +4 -4
- package/dist/spec/v0.3.2/agent-test.schema.json +2 -2
- package/dist/spec/v0.3.2/examples/access-tiers/README.md +4 -4
- package/dist/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +8 -22
- package/dist/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +11 -29
- package/dist/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +9 -27
- package/dist/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +4 -23
- package/dist/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +9 -24
- package/dist/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +5 -10
- package/dist/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +31 -50
- package/dist/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +27 -43
- package/dist/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +4 -35
- package/dist/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +5 -18
- package/dist/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +37 -47
- package/dist/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +21 -43
- package/dist/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +59 -76
- package/dist/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +80 -92
- package/dist/spec/v0.3.2/extensions/agent-identity.yaml +3 -3
- package/dist/spec/v0.3.2/extensions/drupal.md +5 -5
- package/dist/spec/v0.3.2/infrastructure/service-ports.yaml +1 -1
- package/dist/spec/v0.3.2/ossa-0.3.2.schema.json +86 -15
- package/dist/spec/v0.3.2/protocols/delegation.yaml +1 -1
- package/dist/spec/v0.3.2/protocols/websocket.md +2 -2
- package/dist/spec/v0.3.2/runtime/RUNTIME.md +3 -3
- package/dist/spec/v0.3.2/runtime/memory-model.yaml +4 -4
- package/dist/spec/v0.3.2/runtime/runtime.yaml +4 -4
- package/dist/spec/v0.3.2/schemas/agent-unified.yaml +2 -2
- package/dist/spec/v0.3.2/schemas/capabilities.yaml +2 -2
- package/dist/spec/v0.3.2/schemas/functions.yaml +2 -2
- package/dist/spec/v0.3.2/schemas/messaging/channel.schema.json +2 -2
- package/dist/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +2 -2
- package/dist/spec/v0.3.2/schemas/messaging/message.schema.json +3 -3
- package/dist/spec/v0.3.2/schemas/messaging/subscription.schema.json +2 -2
- package/dist/spec/v0.3.2/schemas/runtime.yaml +2 -2
- package/dist/spec/v0.3.2/schemas/taxonomy.yaml +3 -3
- package/dist/spec/v0.3.2/schemas/unified-llm.yaml +2 -2
- package/dist/spec/v0.3.2/taxonomy.yaml +2 -2
- package/dist/spec/v0.3.3/MIGRATION-v0.3.2-to-v0.3.3.md +117 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/UNIFIED-SCHEMA.md +3 -3
- package/dist/spec/v0.3.3/access_tiers.yaml +375 -0
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/adapters/drupal.md +7 -7
- package/dist/spec/{v0.3.0 → v0.3.3}/adapters/symfony.md +4 -4
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/agent-test.schema.json +2 -2
- package/dist/spec/v0.3.3/examples/access-tiers/README.md +106 -0
- package/dist/spec/v0.3.3/examples/access-tiers/code-critic.ossa.yaml +105 -0
- package/dist/spec/v0.3.3/examples/access-tiers/compliance-governor.ossa.yaml +216 -0
- package/dist/spec/v0.3.3/examples/access-tiers/deployment-operator.ossa.yaml +183 -0
- package/dist/spec/v0.3.3/examples/access-tiers/doc-generator.ossa.yaml +98 -0
- package/dist/spec/v0.3.3/examples/access-tiers/security-scanner.ossa.yaml +118 -0
- package/dist/spec/v0.3.3/examples/agent-with-identity.ossa.yaml +63 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/examples/drupal-content-writer.ossa.yaml +31 -50
- package/dist/spec/{v0.3.0 → v0.3.3}/examples/drupal-moderation-assistant.ossa.yaml +27 -43
- package/dist/spec/v0.3.3/examples/multi-provider-identity.ossa.yaml +205 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +5 -18
- package/dist/spec/v0.3.3/examples/tasks/data-transform.ossa.yaml +137 -0
- package/dist/spec/v0.3.3/examples/tasks/publish-content.ossa.yaml +103 -0
- package/dist/spec/v0.3.3/examples/workflows/content-publishing.ossa.yaml +173 -0
- package/dist/spec/v0.3.3/examples/workflows/deployment-pipeline.ossa.yaml +235 -0
- package/dist/spec/v0.3.3/extensions/agent-identity.yaml +594 -0
- package/dist/spec/v0.3.3/extensions/agents-md.md +1219 -0
- package/dist/spec/v0.3.3/extensions/autogen.md +1124 -0
- package/dist/spec/v0.3.3/extensions/bedrock-agents.md +1320 -0
- package/dist/spec/v0.3.3/extensions/crewai.md +1575 -0
- package/dist/spec/v0.3.3/extensions/dify.md +1461 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/extensions/drupal.md +5 -5
- package/dist/spec/v0.3.3/extensions/langchain.md +1092 -0
- package/dist/spec/v0.3.3/extensions/langflow.md +1055 -0
- package/dist/spec/v0.3.3/extensions/llamaindex.md +1519 -0
- package/dist/spec/v0.3.3/extensions/llms-txt.md +295 -0
- package/dist/spec/v0.3.3/extensions/openai-assistants.md +1632 -0
- package/dist/spec/v0.3.3/extensions/openai-swarm.md +1400 -0
- package/dist/spec/v0.3.3/extensions/opentelemetry.md +360 -0
- package/dist/spec/v0.3.3/extensions/semantic-kernel.md +1360 -0
- package/dist/spec/v0.3.3/extensions/vercel-ai.md +1197 -0
- package/dist/spec/v0.3.3/infrastructure/service-ports.yaml +324 -0
- package/dist/spec/v0.3.3/ossa-0.3.3.schema.json +9773 -0
- package/dist/spec/v0.3.3/protocols/delegation.yaml +239 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/protocols/websocket.md +2 -2
- package/dist/spec/v0.3.3/runtime/RUNTIME.md +457 -0
- package/dist/spec/v0.3.3/runtime/memory-model.yaml +871 -0
- package/dist/spec/v0.3.3/runtime/runtime.yaml +926 -0
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/agent-unified.yaml +2 -2
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/capabilities.yaml +2 -2
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/functions.yaml +2 -2
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/messaging/channel.schema.json +2 -2
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/messaging/delivery-receipt.schema.json +2 -2
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/schemas/messaging/message.schema.json +3 -3
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/messaging/subscription.schema.json +2 -2
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/schemas/runtime.yaml +2 -2
- package/dist/spec/{v0.3.0 → v0.3.3}/schemas/taxonomy.yaml +3 -3
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/schemas/unified-llm.yaml +2 -2
- package/{spec/v0.3.0 → dist/spec/v0.3.3}/taxonomy.yaml +114 -7
- package/dist/types/generated/ossa-0.3.2.types.d.ts +4 -4
- package/dist/types/generated/ossa-0.3.2.types.js +2 -2
- package/dist/types/generated/ossa-0.3.2.zod.d.ts +4 -4
- package/dist/types/generated/ossa-0.3.2.zod.js +3 -3
- package/dist/types/generated/ossa-0.3.3.types.d.ts +367 -0
- package/dist/types/generated/ossa-0.3.3.types.d.ts.map +1 -0
- package/dist/types/generated/ossa-0.3.3.types.js +10 -0
- package/dist/types/generated/ossa-0.3.3.types.js.map +1 -0
- package/dist/types/generated/ossa-0.3.3.zod.d.ts +36 -0
- package/dist/types/generated/ossa-0.3.3.zod.d.ts.map +1 -0
- package/dist/types/generated/ossa-0.3.3.zod.js +25 -0
- package/dist/types/generated/ossa-0.3.3.zod.js.map +1 -0
- package/dist/types/identity.d.ts +405 -0
- package/dist/types/identity.d.ts.map +1 -0
- package/dist/types/identity.js +12 -0
- package/dist/types/identity.js.map +1 -0
- package/dist/types/identity.zod.d.ts +622 -0
- package/dist/types/identity.zod.d.ts.map +1 -0
- package/dist/types/identity.zod.js +263 -0
- package/dist/types/identity.zod.js.map +1 -0
- package/dist/types/index.d.ts +67 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/llms-txt.zod.d.ts +320 -0
- package/dist/types/llms-txt.zod.d.ts.map +1 -0
- package/dist/types/llms-txt.zod.js +80 -0
- package/dist/types/llms-txt.zod.js.map +1 -0
- package/dist/types/personality.d.ts +141 -0
- package/dist/types/personality.d.ts.map +1 -0
- package/dist/types/personality.js +72 -0
- package/dist/types/personality.js.map +1 -0
- package/dist/types/personality.zod.d.ts +483 -0
- package/dist/types/personality.zod.d.ts.map +1 -0
- package/dist/types/personality.zod.js +160 -0
- package/dist/types/personality.zod.js.map +1 -0
- package/dist/types/prompts.d.ts +219 -0
- package/dist/types/prompts.d.ts.map +1 -0
- package/dist/types/prompts.js +163 -0
- package/dist/types/prompts.js.map +1 -0
- package/dist/types/prompts.zod.d.ts +252 -0
- package/dist/types/prompts.zod.d.ts.map +1 -0
- package/dist/types/prompts.zod.js +105 -0
- package/dist/types/prompts.zod.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/type-guards.d.ts +59 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +170 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/dist/utils/version.js +3 -3
- package/dist/utils/version.js.map +1 -1
- 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 +1 -1
- package/examples/agents-md/monorepo-agent.ossa.yaml +123 -104
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +13 -13
- package/examples/claude-code/code-reviewer.ossa.yaml +55 -47
- package/examples/claude-code/ossa-validator.ossa.yaml +62 -58
- package/examples/common_npm/agent-router.ossa.yaml +49 -171
- package/examples/contracts/data-consumer.ossa.yaml +2 -2
- package/examples/contracts/data-producer-v2.ossa.yaml +4 -4
- package/examples/contracts/data-producer.ossa.yaml +4 -4
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +7 -11
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +53 -594
- 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 +24 -349
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +187 -824
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +66 -797
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +317 -754
- package/examples/getting-started/05-workflow-composition.ossa.yaml +98 -154
- package/examples/getting-started/hello-world-complete.ossa.yaml +61 -216
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +75 -336
- package/examples/kagent/compliance-validator.ossa.yaml +40 -51
- package/examples/kagent/cost-optimizer.ossa.yaml +30 -42
- package/examples/kagent/documentation-agent.ossa.yaml +29 -41
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +80 -263
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +69 -224
- package/examples/kagent/security-scanner.ossa.yaml +54 -110
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/messaging/dependency-healer.ossa.yaml +2 -2
- package/examples/messaging/incident-responder.ossa.yaml +2 -2
- package/examples/messaging/routing-rules.ossa.yaml +2 -109
- package/examples/messaging/security-scanner.ossa.yaml +248 -241
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/conditional-router.ossa.yaml +32 -32
- package/examples/multi-agent/parallel-execution.ossa.yaml +43 -43
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +35 -35
- package/examples/observability/activity-stream-full.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +33 -34
- package/examples/openai/multi-tool-agent.ossa.json +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/ossa-templates/01-code-assistant.ossa.yaml +114 -0
- package/examples/ossa-templates/02-security-scanner.ossa.yaml +103 -0
- package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +100 -0
- package/examples/ossa-templates/04-code-reviewer.ossa.yaml +116 -0
- package/examples/ossa-templates/05-doc-generator.ossa.yaml +102 -0
- package/examples/ossa-templates/06-compliance-validator.ossa.yaml +132 -0
- package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +110 -0
- package/examples/ossa-templates/08-content-writer.ossa.yaml +136 -0
- package/examples/ossa-templates/09-test-generator.ossa.yaml +113 -0
- package/examples/ossa-templates/10-data-transformer.ossa.yaml +102 -0
- package/examples/ossa-templates/README.md +98 -0
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +27 -29
- package/examples/rag-agent/index.ts +1 -1
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +2 -1
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +2 -1
- package/examples/reference-implementations/typescript-client/package.json +1 -1
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +54 -420
- package/examples/schema/reusable-components.yaml +1 -1
- package/examples/showcase/ci-pipeline.ossa.yaml +27 -31
- package/examples/showcase/code-assistant.ossa.yaml +51 -65
- package/examples/showcase/code-reviewer.ossa.yaml +28 -31
- package/examples/showcase/compliance-validator.ossa.yaml +31 -32
- package/examples/showcase/content-writer.ossa.yaml +35 -32
- package/examples/showcase/data-transformer.ossa.yaml +35 -37
- package/examples/showcase/doc-generator.ossa.yaml +33 -35
- package/examples/showcase/security-scanner.ossa.yaml +33 -32
- package/examples/showcase/test-generator.ossa.yaml +25 -51
- package/examples/showcase/workflow-orchestrator.ossa.yaml +63 -78
- 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 +224 -227
- package/examples/vercel/edge-agent.ossa.json +1 -1
- 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/junit.xml +1469 -0
- package/openapi/agent-communication.yaml +4 -45
- package/openapi/agent-crud.yaml +13 -65
- package/openapi/agent-discovery.yaml +3 -3
- package/openapi/agent-identity.yaml +8 -8
- package/openapi/cli-commands.openapi.yaml +1316 -110
- package/openapi/core/ossa-core-api.openapi.yaml +19 -257
- package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
- package/openapi/core/ossa-registry.openapi.yaml +5 -36
- package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
- package/openapi/dev-cli.openapi.yml +867 -0
- 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 +3 -3
- 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 +1 -1
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +1 -1
- 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 +3 -3
- 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 +1 -1
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +3 -3
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1 -1
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +1 -1
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +1 -1
- package/openapi/schemas/common/agent.yaml +229 -0
- package/openapi/schemas/common/errors.yaml +75 -0
- package/openapi/schemas/common/metadata.yaml +62 -0
- package/openapi/schemas/common/pagination.yaml +72 -0
- package/openapi/schemas/common/security.yaml +88 -0
- package/openapi/schemas/index.yaml +88 -0
- package/package.json +29 -21
- package/spec/examples/reference-agents/compliance-auditor/manifest.ossa.yaml +527 -0
- package/spec/examples/reference-agents/doc-agent/manifest.ossa.yaml +776 -0
- package/spec/examples/reference-agents/mr-reviewer/manifest.ossa.yaml +249 -0
- package/spec/examples/reference-agents/mr-reviewer/system-prompt.md +154 -0
- package/spec/examples/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +548 -0
- package/spec/examples/reference-agents/ossa-validator-v0.3/system-prompt.md +135 -0
- package/spec/examples/reference-agents/pipeline-fixer/manifest.ossa.yaml +336 -0
- package/spec/examples/reference-agents/release-orchestrator/README.md +35 -0
- package/spec/examples/reference-agents/release-orchestrator/manifest.ossa.yaml +233 -0
- package/spec/extensions/a2a-messaging.md +5 -5
- package/spec/extensions/manifest-extensions.md +4 -4
- package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +10 -10
- package/spec/extensions/skills-compatibility.md +292 -0
- package/spec/registry/README.md +1 -1
- package/spec/registry/registry-spec.md +6 -6
- package/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +19 -19
- package/spec/v0.3.2/UNIFIED-SCHEMA.md +3 -3
- package/spec/v0.3.2/access_tiers.yaml +2 -2
- package/spec/v0.3.2/adapters/drupal.md +7 -7
- package/spec/v0.3.2/adapters/symfony.md +4 -4
- package/spec/v0.3.2/agent-test.schema.json +2 -2
- package/spec/v0.3.2/examples/access-tiers/README.md +4 -4
- package/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +8 -22
- package/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +11 -29
- package/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +9 -27
- package/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +4 -23
- package/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +9 -24
- package/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +5 -10
- package/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +31 -50
- package/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +27 -43
- package/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +4 -35
- package/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +5 -18
- package/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +37 -47
- package/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +21 -43
- package/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +59 -76
- package/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +80 -92
- package/spec/v0.3.2/extensions/agent-identity.yaml +3 -3
- package/spec/v0.3.2/extensions/drupal.md +5 -5
- package/spec/v0.3.2/infrastructure/service-ports.yaml +1 -1
- package/spec/v0.3.2/ossa-0.3.2.schema.json +86 -15
- package/spec/v0.3.2/protocols/delegation.yaml +1 -1
- package/spec/v0.3.2/protocols/websocket.md +2 -2
- package/spec/v0.3.2/runtime/RUNTIME.md +3 -3
- package/spec/v0.3.2/runtime/memory-model.yaml +4 -4
- package/spec/v0.3.2/runtime/runtime.yaml +4 -4
- package/spec/v0.3.2/schemas/agent-unified.yaml +2 -2
- package/spec/v0.3.2/schemas/capabilities.yaml +2 -2
- package/spec/v0.3.2/schemas/functions.yaml +2 -2
- package/spec/v0.3.2/schemas/messaging/channel.schema.json +2 -2
- package/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +2 -2
- package/spec/v0.3.2/schemas/messaging/message.schema.json +3 -3
- package/spec/v0.3.2/schemas/messaging/subscription.schema.json +2 -2
- package/spec/v0.3.2/schemas/runtime.yaml +2 -2
- package/spec/v0.3.2/schemas/taxonomy.yaml +3 -3
- package/spec/v0.3.2/schemas/unified-llm.yaml +2 -2
- package/spec/v0.3.2/taxonomy.yaml +2 -2
- package/spec/v0.3.3/MIGRATION-v0.3.2-to-v0.3.3.md +117 -0
- package/spec/{v0.3.0 → v0.3.3}/UNIFIED-SCHEMA.md +3 -3
- package/spec/v0.3.3/access_tiers.yaml +375 -0
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/adapters/drupal.md +7 -7
- package/spec/{v0.3.0 → v0.3.3}/adapters/symfony.md +4 -4
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/agent-test.schema.json +2 -2
- package/spec/v0.3.3/examples/access-tiers/README.md +106 -0
- package/spec/v0.3.3/examples/access-tiers/code-critic.ossa.yaml +105 -0
- package/spec/v0.3.3/examples/access-tiers/compliance-governor.ossa.yaml +216 -0
- package/spec/v0.3.3/examples/access-tiers/deployment-operator.ossa.yaml +183 -0
- package/spec/v0.3.3/examples/access-tiers/doc-generator.ossa.yaml +98 -0
- package/spec/v0.3.3/examples/access-tiers/security-scanner.ossa.yaml +118 -0
- package/spec/v0.3.3/examples/agent-with-identity.ossa.yaml +63 -0
- package/spec/{v0.3.0 → v0.3.3}/examples/drupal-content-writer.ossa.yaml +31 -50
- package/spec/{v0.3.0 → v0.3.3}/examples/drupal-moderation-assistant.ossa.yaml +27 -43
- package/spec/v0.3.3/examples/multi-provider-identity.ossa.yaml +205 -0
- package/spec/{v0.3.0 → v0.3.3}/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +5 -18
- package/spec/v0.3.3/examples/tasks/data-transform.ossa.yaml +137 -0
- package/spec/v0.3.3/examples/tasks/publish-content.ossa.yaml +103 -0
- package/spec/v0.3.3/examples/workflows/content-publishing.ossa.yaml +173 -0
- package/spec/v0.3.3/examples/workflows/deployment-pipeline.ossa.yaml +235 -0
- package/spec/v0.3.3/extensions/agent-identity.yaml +594 -0
- package/spec/v0.3.3/extensions/agents-md.md +1219 -0
- package/spec/v0.3.3/extensions/autogen.md +1124 -0
- package/spec/v0.3.3/extensions/bedrock-agents.md +1320 -0
- package/spec/v0.3.3/extensions/crewai.md +1575 -0
- package/spec/v0.3.3/extensions/dify.md +1461 -0
- package/spec/{v0.3.0 → v0.3.3}/extensions/drupal.md +5 -5
- package/spec/v0.3.3/extensions/langchain.md +1092 -0
- package/spec/v0.3.3/extensions/langflow.md +1055 -0
- package/spec/v0.3.3/extensions/llamaindex.md +1519 -0
- package/spec/v0.3.3/extensions/llms-txt.md +295 -0
- package/spec/v0.3.3/extensions/openai-assistants.md +1632 -0
- package/spec/v0.3.3/extensions/openai-swarm.md +1400 -0
- package/spec/v0.3.3/extensions/opentelemetry.md +360 -0
- package/spec/v0.3.3/extensions/semantic-kernel.md +1360 -0
- package/spec/v0.3.3/extensions/vercel-ai.md +1197 -0
- package/spec/v0.3.3/infrastructure/service-ports.yaml +324 -0
- package/spec/v0.3.3/ossa-0.3.3.schema.json +9773 -0
- package/spec/v0.3.3/protocols/a2a-communication.schema.json +897 -0
- package/spec/v0.3.3/protocols/delegation.yaml +239 -0
- package/spec/v0.3.3/protocols/identity-runtime.schema.json +482 -0
- package/spec/{v0.3.0 → v0.3.3}/protocols/websocket.md +2 -2
- package/spec/v0.3.3/runtime/RUNTIME.md +457 -0
- package/spec/v0.3.3/runtime/memory-model.yaml +871 -0
- package/spec/v0.3.3/runtime/runtime.yaml +926 -0
- package/spec/{v0.3.0 → v0.3.3}/schemas/agent-unified.yaml +2 -2
- package/spec/{v0.3.0 → v0.3.3}/schemas/capabilities.yaml +2 -2
- package/spec/{v0.3.0 → v0.3.3}/schemas/functions.yaml +2 -2
- package/spec/{v0.3.0 → v0.3.3}/schemas/messaging/channel.schema.json +2 -2
- package/spec/{v0.3.0 → v0.3.3}/schemas/messaging/delivery-receipt.schema.json +2 -2
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/schemas/messaging/message.schema.json +3 -3
- package/spec/{v0.3.0 → v0.3.3}/schemas/messaging/subscription.schema.json +2 -2
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/schemas/runtime.yaml +2 -2
- package/spec/{v0.3.0 → v0.3.3}/schemas/taxonomy.yaml +3 -3
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/schemas/unified-llm.yaml +2 -2
- package/{dist/spec/v0.3.0 → spec/v0.3.3}/taxonomy.yaml +114 -7
- package/.devfile.yaml +0 -87
- package/.gitlab-ci-trigger +0 -1
- package/bin/ossa-dev +0 -42
- package/bin/ossa-export +0 -32
- package/bin/ossa-generate +0 -53
- package/bin/ossa-health +0 -40
- package/bin/ossa-init +0 -26
- package/bin/quickstart +0 -514
- package/bin/validate-ossa.ts +0 -273
- package/dist/cli/commands/release.command.d.ts +0 -8
- package/dist/cli/commands/release.command.d.ts.map +0 -1
- package/dist/cli/commands/release.command.js +0 -641
- package/dist/cli/commands/release.command.js.map +0 -1
- package/dist/sdk/events/cloudevents-emitter.d.ts.map +0 -1
- package/dist/sdk/events/cloudevents-emitter.js.map +0 -1
- package/dist/sdk/events/index.d.ts.map +0 -1
- package/dist/sdk/events/index.js.map +0 -1
- package/dist/sdk/tracing/index.d.ts.map +0 -1
- package/dist/sdk/tracing/index.js.map +0 -1
- package/dist/sdk/tracing/w3c-baggage.d.ts.map +0 -1
- package/dist/sdk/tracing/w3c-baggage.js.map +0 -1
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +0 -234
- package/dist/spec/v0.1.9/ecosystem-compliance.json +0 -235
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +0 -695
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +0 -695
- package/dist/spec/v0.1.9/reasoning-compliance.json +0 -654
- package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +0 -555
- package/dist/spec/v0.2.2/kagent-enhancements.json +0 -395
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +0 -906
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +0 -448
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +0 -424
- package/dist/spec/v0.2.3/CHANGELOG.md +0 -176
- package/dist/spec/v0.2.3/README.md +0 -154
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +0 -343
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +0 -1397
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +0 -448
- package/dist/spec/v0.2.4/CHANGELOG.md +0 -403
- package/dist/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +0 -1696
- package/dist/spec/v0.2.4/ossa-0.2.4.yaml +0 -581
- package/dist/spec/v0.2.5/CHANGELOG.md +0 -401
- package/dist/spec/v0.2.5/README.md +0 -72
- package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +0 -1696
- package/dist/spec/v0.2.5/ossa-0.2.5.yaml +0 -581
- package/dist/spec/v0.2.5-RC/CHANGELOG.md +0 -401
- package/dist/spec/v0.2.5-RC/README.md +0 -72
- package/dist/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +0 -1696
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +0 -581
- package/dist/spec/v0.2.6/CHANGELOG.md +0 -401
- package/dist/spec/v0.2.6/README.md +0 -72
- package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +0 -65
- package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +0 -1786
- package/dist/spec/v0.2.6/ossa-0.2.6.yaml +0 -581
- package/dist/spec/v0.2.6-dev/CHANGELOG.md +0 -164
- package/dist/spec/v0.2.6-dev/README.md +0 -75
- package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +0 -343
- package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +0 -581
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +0 -448
- package/dist/spec/v0.2.7/core/agentgraph.md +0 -324
- package/dist/spec/v0.2.7/resources/agentgraph.yaml +0 -135
- package/dist/spec/v0.2.8/CHANGELOG.md +0 -401
- package/dist/spec/v0.2.8/README.md +0 -72
- package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +0 -65
- package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +0 -81
- package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +0 -3247
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +0 -581
- package/dist/spec/v0.2.9/a2a-protocol.md +0 -1337
- package/dist/spec/v0.2.9/agent.md +0 -1946
- package/dist/spec/v0.2.9/capabilities/index.yaml +0 -25
- package/dist/spec/v0.2.9/capabilities/memory.yaml +0 -251
- package/dist/spec/v0.2.9/capability-schema.md +0 -576
- package/dist/spec/v0.2.9/compliance-profiles.md +0 -533
- package/dist/spec/v0.2.9/conformance-testing.md +0 -1527
- package/dist/spec/v0.2.9/gitlab-duo-integration.md +0 -621
- package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +0 -3699
- package/dist/spec/v0.2.9/runtime-semantics.md +0 -464
- package/dist/spec/v0.2.9/security-model.md +0 -1245
- package/dist/spec/v0.2.9/semantic-conventions.md +0 -347
- package/dist/spec/v0.2.9/types.ts +0 -522
- package/dist/spec/v0.3.0/ossa-0.3.0.schema.json +0 -2787
- package/examples/reference-implementations/curl-scripts/01-search-agents.sh +0 -72
- package/examples/reference-implementations/curl-scripts/02-get-agent-details.sh +0 -74
- package/examples/reference-implementations/curl-scripts/03-publish-agent.sh +0 -136
- package/examples/reference-implementations/curl-scripts/04-a2a-messaging.sh +0 -178
- package/examples/reference-implementations/curl-scripts/05-discovery.sh +0 -98
- package/schemas/agent.json +0 -523
- package/spec/v0.1.9/agent-autonomous-extensions.json +0 -234
- package/spec/v0.1.9/ecosystem-compliance.json +0 -235
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +0 -695
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +0 -695
- package/spec/v0.1.9/reasoning-compliance.json +0 -654
- package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/spec/v0.2.1/ossa-0.2.1.schema.json +0 -555
- package/spec/v0.2.2/kagent-enhancements.json +0 -395
- package/spec/v0.2.2/ossa-0.2.2.schema.json +0 -906
- package/spec/v0.2.2/ossa-0.2.2.yaml +0 -448
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +0 -424
- package/spec/v0.2.3/CHANGELOG.md +0 -176
- package/spec/v0.2.3/README.md +0 -154
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +0 -343
- package/spec/v0.2.3/ossa-0.2.3.schema.json +0 -1397
- package/spec/v0.2.3/ossa-0.2.3.yaml +0 -448
- package/spec/v0.2.4/CHANGELOG.md +0 -403
- package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.4/ossa-0.2.4.schema.json +0 -1696
- package/spec/v0.2.4/ossa-0.2.4.yaml +0 -581
- package/spec/v0.2.5/CHANGELOG.md +0 -401
- package/spec/v0.2.5/README.md +0 -72
- package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.5/ossa-0.2.5.schema.json +0 -1696
- package/spec/v0.2.5/ossa-0.2.5.yaml +0 -581
- package/spec/v0.2.5-RC/CHANGELOG.md +0 -401
- package/spec/v0.2.5-RC/README.md +0 -72
- package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +0 -1696
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +0 -581
- package/spec/v0.2.6/CHANGELOG.md +0 -401
- package/spec/v0.2.6/README.md +0 -72
- package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +0 -65
- package/spec/v0.2.6/ossa-0.2.6.schema.json +0 -1786
- package/spec/v0.2.6/ossa-0.2.6.yaml +0 -581
- package/spec/v0.2.6-dev/CHANGELOG.md +0 -164
- package/spec/v0.2.6-dev/README.md +0 -75
- package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +0 -343
- package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.6-dev/ossa-0.2.5.yaml +0 -581
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +0 -448
- package/spec/v0.2.7/core/agentgraph.md +0 -324
- package/spec/v0.2.7/resources/agentgraph.yaml +0 -135
- package/spec/v0.2.8/CHANGELOG.md +0 -401
- package/spec/v0.2.8/README.md +0 -72
- package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +0 -599
- package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +0 -65
- package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +0 -81
- package/spec/v0.2.8/ossa-0.2.8.schema.json +0 -3247
- package/spec/v0.2.8/ossa-0.2.8.yaml +0 -581
- package/spec/v0.2.9/a2a-protocol.md +0 -1337
- package/spec/v0.2.9/agent.md +0 -1946
- package/spec/v0.2.9/capabilities/index.yaml +0 -25
- package/spec/v0.2.9/capabilities/memory.yaml +0 -251
- package/spec/v0.2.9/capability-schema.md +0 -576
- package/spec/v0.2.9/compliance-profiles.md +0 -533
- package/spec/v0.2.9/conformance-testing.md +0 -1527
- package/spec/v0.2.9/gitlab-duo-integration.md +0 -621
- package/spec/v0.2.9/ossa-0.2.9.schema.json +0 -3699
- package/spec/v0.2.9/runtime-semantics.md +0 -464
- package/spec/v0.2.9/security-model.md +0 -1245
- package/spec/v0.2.9/semantic-conventions.md +0 -347
- package/spec/v0.2.9/types.ts +0 -522
- package/spec/v0.3.0/ossa-0.3.0.schema.json +0 -2787
- /package/dist/{sdk → sdks/typescript}/events/cloudevents-emitter.d.ts +0 -0
- /package/dist/{sdk → sdks/typescript}/events/cloudevents-emitter.js +0 -0
- /package/dist/{sdk → sdks/typescript}/events/index.d.ts +0 -0
- /package/dist/{sdk → sdks/typescript}/events/index.js +0 -0
- /package/dist/{sdk → sdks/typescript}/tracing/index.d.ts +0 -0
- /package/dist/{sdk → sdks/typescript}/tracing/index.js +0 -0
- /package/dist/{sdk → sdks/typescript}/tracing/w3c-baggage.d.ts +0 -0
- /package/dist/{sdk → sdks/typescript}/tracing/w3c-baggage.js +0 -0
- /package/{schemas/communication.json → dist/spec/v0.3.3/protocols/a2a-communication.schema.json} +0 -0
- /package/{schemas/identity.json → dist/spec/v0.3.3/protocols/identity-runtime.schema.json} +0 -0
- /package/dist/spec/{v0.3.0 → v0.3.3}/protocols/sse.md +0 -0
- /package/dist/spec/{v0.3.0 → v0.3.3}/protocols/webrtc.md +0 -0
- /package/dist/spec/{v0.3.0 → v0.3.3}/runtime-bindings/anthropic.yaml +0 -0
- /package/spec/{v0.3.0 → v0.3.3}/protocols/sse.md +0 -0
- /package/spec/{v0.3.0 → v0.3.3}/protocols/webrtc.md +0 -0
- /package/spec/{v0.3.0 → v0.3.3}/runtime-bindings/anthropic.yaml +0 -0
|
@@ -1,868 +1,137 @@
|
|
|
1
|
-
|
|
2
|
-
# ║ ║
|
|
3
|
-
# ║ ██████╗ ███████╗███████╗ █████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ║
|
|
4
|
-
# ║ ██╔═══██╗██╔════╝██╔════╝██╔══██╗ ██║ ██║██╔═████╗ ╚════██╗██╔═████╗ ║
|
|
5
|
-
# ║ ██║ ██║███████╗███████╗███████║ ██║ ██║██║██╔██║ █████╔╝██║██╔██║ ║
|
|
6
|
-
# ║ ██║ ██║╚════██║╚════██║██╔══██║ ╚██╗ ██╔╝████╔╝██║ ╚═══██╗████╔╝██║ ║
|
|
7
|
-
# ║ ╚██████╔╝███████║███████║██║ ██║ ╚████╔╝ ╚██████╔╝██╗██████╔╝╚██████╔╝ ║
|
|
8
|
-
# ║ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═════╝ ╚═════╝ ║
|
|
9
|
-
# ║ ║
|
|
10
|
-
# ║ GETTING STARTED: 03 - PRODUCTION-READY AGENT WITH SAFETY ║
|
|
11
|
-
# ║ ║
|
|
12
|
-
# ╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
13
|
-
#
|
|
14
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
15
|
-
# │ WHAT YOU'LL LEARN │
|
|
16
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
17
|
-
# │ │
|
|
18
|
-
# │ ✓ PII Detection - automatically redact emails, SSNs, API keys, passwords │
|
|
19
|
-
# │ ✓ Content Filtering - block harmful, illegal, or inappropriate content │
|
|
20
|
-
# │ ✓ Rate Limiting - prevent abuse with token bucket algorithm │
|
|
21
|
-
# │ ✓ Guardrails - set boundaries on agent behavior (max tool calls, depth) │
|
|
22
|
-
# │ ✓ Autonomy Levels - control human-in-the-loop requirements │
|
|
23
|
-
# │ ✓ Observability - tracing, metrics, logging for production monitoring │
|
|
24
|
-
# │ ✓ Compliance - SOC2, GDPR, HIPAA considerations │
|
|
25
|
-
# │ │
|
|
26
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
27
|
-
#
|
|
28
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
29
|
-
# │ WHY SAFETY MATTERS │
|
|
30
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
31
|
-
# │ │
|
|
32
|
-
# │ Without safety controls, agents can: │
|
|
33
|
-
# │ • Leak sensitive data (customer emails, API keys) in logs or responses │
|
|
34
|
-
# │ • Generate harmful content (hate speech, illegal instructions) │
|
|
35
|
-
# │ • Exhaust budgets with runaway loops (infinite tool calls) │
|
|
36
|
-
# │ • Make destructive decisions without human oversight │
|
|
37
|
-
# │ • Violate compliance requirements (GDPR, HIPAA, SOC2) │
|
|
38
|
-
# │ │
|
|
39
|
-
# │ Real-world incidents: │
|
|
40
|
-
# │ ┌───────────────────────────────────────────────────────────────┐ │
|
|
41
|
-
# │ │ INCIDENT IMPACT PREVENTION │ │
|
|
42
|
-
# │ ├───────────────────────────────────────────────────────────────┤ │
|
|
43
|
-
# │ │ Agent logs customer emails GDPR fine PII redact │ │
|
|
44
|
-
# │ │ Infinite loop: 10K API calls $5000 cost Guardrails │ │
|
|
45
|
-
# │ │ Deleted production database Downtime Autonomy │ │
|
|
46
|
-
# │ │ Generated malware instructions Legal risk Content │ │
|
|
47
|
-
# │ │ Exposed API keys in error msg Security breach PII detect │ │
|
|
48
|
-
# │ └───────────────────────────────────────────────────────────────┘ │
|
|
49
|
-
# │ │
|
|
50
|
-
# │ THE RULE: If an agent touches production data or systems, │
|
|
51
|
-
# │ it MUST have safety controls. No exceptions. │
|
|
52
|
-
# │ │
|
|
53
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
54
|
-
#
|
|
55
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
56
|
-
# │ THE FIVE LAYERS OF AGENT SAFETY │
|
|
57
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
58
|
-
# │ │
|
|
59
|
-
# │ 1. PII DETECTION & REDACTION │
|
|
60
|
-
# │ ─────────────────────────── │
|
|
61
|
-
# │ Automatically find and mask sensitive data in inputs and outputs │
|
|
62
|
-
# │ │
|
|
63
|
-
# │ Example: │
|
|
64
|
-
# │ Input: "My email is john@company.com and SSN is 123-45-6789" │
|
|
65
|
-
# │ Output: "My email is [REDACTED_EMAIL] and SSN is [REDACTED_SSN]" │
|
|
66
|
-
# │ │
|
|
67
|
-
# │ Detects: emails, phones, SSNs, credit cards, API keys, passwords, IPs │
|
|
68
|
-
# │ Actions: warn (log but allow), block (reject), redact (mask in-place) │
|
|
69
|
-
# │ │
|
|
70
|
-
# │ 2. CONTENT FILTERING │
|
|
71
|
-
# │ ────────────────── │
|
|
72
|
-
# │ Block harmful or inappropriate content based on categories │
|
|
73
|
-
# │ │
|
|
74
|
-
# │ Categories: hate_speech, violence, self_harm, illegal_activity, │
|
|
75
|
-
# │ adult_content, spam, misinformation │
|
|
76
|
-
# │ Thresholds: low (strict), medium (balanced), high (permissive) │
|
|
77
|
-
# │ Actions: block (reject request), log (allow but record), sanitize (rewrite) │
|
|
78
|
-
# │ │
|
|
79
|
-
# │ 3. RATE LIMITING │
|
|
80
|
-
# │ ────────────── │
|
|
81
|
-
# │ Prevent abuse and control costs with token bucket algorithm │
|
|
82
|
-
# │ │
|
|
83
|
-
# │ Example: 30 requests/minute, burst of 5 │
|
|
84
|
-
# │ • Normal: User makes 1 request/2 seconds → allowed │
|
|
85
|
-
# │ • Burst: User makes 5 requests in 1 second → allowed (uses burst) │
|
|
86
|
-
# │ • Abuse: User makes 100 requests/second → blocked after 5 │
|
|
87
|
-
# │ │
|
|
88
|
-
# │ 4. BEHAVIORAL GUARDRAILS │
|
|
89
|
-
# │ ─────────────────────── │
|
|
90
|
-
# │ Set hard limits on agent behavior to prevent runaway loops │
|
|
91
|
-
# │ │
|
|
92
|
-
# │ • max_tool_calls: 20 → Prevent infinite loops │
|
|
93
|
-
# │ • max_iteration_depth: 5 → Limit reasoning chains │
|
|
94
|
-
# │ • max_tokens_per_turn: 4000 → Control output length (and cost) │
|
|
95
|
-
# │ • require_confirmation_for: [delete, modify_permissions] │
|
|
96
|
-
# │ │
|
|
97
|
-
# │ 5. AUTONOMY CONTROLS │
|
|
98
|
-
# │ ────────────────────── │
|
|
99
|
-
# │ Define when human approval is required │
|
|
100
|
-
# │ │
|
|
101
|
-
# │ Levels: │
|
|
102
|
-
# │ • autonomous: Agent decides and acts (monitoring only) │
|
|
103
|
-
# │ • assisted: Agent proposes, human approves high-risk actions │
|
|
104
|
-
# │ • supervised: Human approves ALL actions before execution │
|
|
105
|
-
# │ │
|
|
106
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
107
|
-
#
|
|
108
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
109
|
-
# │ HOW TO RUN THIS EXAMPLE │
|
|
110
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
111
|
-
# │ │
|
|
112
|
-
# │ STEP 1: Set environment variables │
|
|
113
|
-
# │ ──────────────────────────────── │
|
|
114
|
-
# │ $ export ANTHROPIC_API_KEY=sk-ant-... │
|
|
115
|
-
# │ $ export OTEL_ENDPOINT=http://localhost:4317 # Optional: observability │
|
|
116
|
-
# │ │
|
|
117
|
-
# │ STEP 2: Validate safety configuration │
|
|
118
|
-
# │ ───────────────────────────────────── │
|
|
119
|
-
# │ $ ossa validate 03-agent-with-safety.ossa.yaml │
|
|
120
|
-
# │ │
|
|
121
|
-
# │ Expected output: │
|
|
122
|
-
# │ ✓ Schema validation passed │
|
|
123
|
-
# │ ✓ PII detection patterns loaded (7 types) │
|
|
124
|
-
# │ ✓ Content filter initialized (6 categories) │
|
|
125
|
-
# │ ✓ Rate limiting configured (30 req/min, burst 5) │
|
|
126
|
-
# │ ✓ Guardrails validated │
|
|
127
|
-
# │ ✓ Autonomy level: assisted │
|
|
128
|
-
# │ ✓ Ready to run │
|
|
129
|
-
# │ │
|
|
130
|
-
# │ STEP 3: Test PII detection │
|
|
131
|
-
# │ ───────────────────────── │
|
|
132
|
-
# │ $ ossa run 03-agent-with-safety.ossa.yaml --interactive │
|
|
133
|
-
# │ │
|
|
134
|
-
# │ > My email is test@example.com and my API key is sk-1234567890 │
|
|
135
|
-
# │ Agent: I see you provided contact information. [PII REDACTED] │
|
|
136
|
-
# │ │
|
|
137
|
-
# │ Behind the scenes: │
|
|
138
|
-
# │ • PII detector found: email + API key │
|
|
139
|
-
# │ • Input was redacted before sending to LLM │
|
|
140
|
-
# │ • Logs show: "My email is [REDACTED_EMAIL] and my API key is [REDACTED_KEY]" │
|
|
141
|
-
# │ │
|
|
142
|
-
# │ STEP 4: Test content filtering │
|
|
143
|
-
# │ ────────────────────────────── │
|
|
144
|
-
# │ > How do I hack into a database? │
|
|
145
|
-
# │ [BLOCKED] Content filter triggered: illegal_activity (confidence: high) │
|
|
146
|
-
# │ This request violates our usage policy. │
|
|
147
|
-
# │ │
|
|
148
|
-
# │ STEP 5: Test rate limiting │
|
|
149
|
-
# │ ───────────────────────── │
|
|
150
|
-
# │ $ for i in {1..100}; do │
|
|
151
|
-
# │ ossa run 03-agent-with-safety.ossa.yaml --input "Hello" & │
|
|
152
|
-
# │ done │
|
|
153
|
-
# │ │
|
|
154
|
-
# │ Expected: │
|
|
155
|
-
# │ • First 5 requests: Succeed immediately (burst allowance) │
|
|
156
|
-
# │ • Next 30 requests: Succeed at 1 request/2 seconds (rate limit) │
|
|
157
|
-
# │ • Remaining requests: Rejected with 429 Too Many Requests │
|
|
158
|
-
# │ │
|
|
159
|
-
# │ STEP 6: Test guardrails (prevent infinite loops) │
|
|
160
|
-
# │ ──────────────────────────────────────────────── │
|
|
161
|
-
# │ Modify the agent to have a buggy tool that calls itself recursively. │
|
|
162
|
-
# │ The agent will stop after 20 tool calls (max_tool_calls guardrail). │
|
|
163
|
-
# │ │
|
|
164
|
-
# │ STEP 7: Test autonomy controls │
|
|
165
|
-
# │ ────────────────────────────────── │
|
|
166
|
-
# │ > Delete all user data │
|
|
167
|
-
# │ Agent: This action requires human approval. │
|
|
168
|
-
# │ Action: delete_data │
|
|
169
|
-
# │ Reason: Destructive operation on production data │
|
|
170
|
-
# │ Approve? (yes/no): │
|
|
171
|
-
# │ │
|
|
172
|
-
# │ STEP 8: Monitor with observability │
|
|
173
|
-
# │ ────────────────────────────────────── │
|
|
174
|
-
# │ If you have OpenTelemetry collector running: │
|
|
175
|
-
# │ │
|
|
176
|
-
# │ $ docker run -p 4317:4317 otel/opentelemetry-collector │
|
|
177
|
-
# │ $ ossa run 03-agent-with-safety.ossa.yaml --trace │
|
|
178
|
-
# │ │
|
|
179
|
-
# │ View traces in Jaeger/Zipkin to see: │
|
|
180
|
-
# │ • PII detection timings │
|
|
181
|
-
# │ • Content filter decisions │
|
|
182
|
-
# │ • Rate limit calculations │
|
|
183
|
-
# │ • Tool call chains │
|
|
184
|
-
# │ │
|
|
185
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
186
|
-
#
|
|
187
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
188
|
-
# │ PII DETECTION: PATTERNS & EXAMPLES │
|
|
189
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
190
|
-
# │ │
|
|
191
|
-
# │ OSSA includes built-in regex patterns for common PII types: │
|
|
192
|
-
# │ │
|
|
193
|
-
# │ EMAIL │
|
|
194
|
-
# │ ───── │
|
|
195
|
-
# │ Pattern: \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b │
|
|
196
|
-
# │ Examples: │
|
|
197
|
-
# │ ✓ john.doe@company.com → [REDACTED_EMAIL] │
|
|
198
|
-
# │ ✓ admin+test@example.org → [REDACTED_EMAIL] │
|
|
199
|
-
# │ ✗ not-an-email@ → (not matched) │
|
|
200
|
-
# │ │
|
|
201
|
-
# │ PHONE NUMBER │
|
|
202
|
-
# │ ──────────── │
|
|
203
|
-
# │ Pattern: (\+\d{1,3}[- ]?)?\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4} │
|
|
204
|
-
# │ Examples: │
|
|
205
|
-
# │ ✓ (555) 123-4567 → [REDACTED_PHONE] │
|
|
206
|
-
# │ ✓ +1-555-123-4567 → [REDACTED_PHONE] │
|
|
207
|
-
# │ ✓ 5551234567 → [REDACTED_PHONE] │
|
|
208
|
-
# │ │
|
|
209
|
-
# │ SOCIAL SECURITY NUMBER (US) │
|
|
210
|
-
# │ ─────────────────────────── │
|
|
211
|
-
# │ Pattern: \b\d{3}-\d{2}-\d{4}\b │
|
|
212
|
-
# │ Examples: │
|
|
213
|
-
# │ ✓ 123-45-6789 → [REDACTED_SSN] │
|
|
214
|
-
# │ ✗ 12-345-6789 → (invalid format, not matched) │
|
|
215
|
-
# │ │
|
|
216
|
-
# │ CREDIT CARD │
|
|
217
|
-
# │ ─────────── │
|
|
218
|
-
# │ Pattern: \b(?:\d{4}[- ]?){3}\d{4}\b (Luhn algorithm validation) │
|
|
219
|
-
# │ Examples: │
|
|
220
|
-
# │ ✓ 4532-1234-5678-9010 → [REDACTED_CREDIT_CARD] │
|
|
221
|
-
# │ ✓ 4532123456789010 → [REDACTED_CREDIT_CARD] │
|
|
222
|
-
# │ ✗ 1234-5678-9012-3456 → (invalid Luhn checksum, not matched) │
|
|
223
|
-
# │ │
|
|
224
|
-
# │ API KEY │
|
|
225
|
-
# │ ─────── │
|
|
226
|
-
# │ Pattern: \b(sk|pk|api)[-_]?[A-Za-z0-9]{20,}\b │
|
|
227
|
-
# │ Examples: │
|
|
228
|
-
# │ ✓ sk_live_abcd1234efgh5678 → [REDACTED_API_KEY] │
|
|
229
|
-
# │ ✓ api-key-1234567890abcdef → [REDACTED_API_KEY] │
|
|
230
|
-
# │ ✓ GITHUB_TOKEN=ghp_abc123 → [REDACTED_API_KEY] │
|
|
231
|
-
# │ │
|
|
232
|
-
# │ PASSWORD (in common patterns) │
|
|
233
|
-
# │ ──────────────────────────── │
|
|
234
|
-
# │ Pattern: (password|passwd|pwd)[=:]\s*\S+ │
|
|
235
|
-
# │ Examples: │
|
|
236
|
-
# │ ✓ password=mySecret123 → password=[REDACTED_PASSWORD] │
|
|
237
|
-
# │ ✓ "pwd": "hunter2" → "pwd": "[REDACTED_PASSWORD]" │
|
|
238
|
-
# │ │
|
|
239
|
-
# │ IP ADDRESS │
|
|
240
|
-
# │ ────────── │
|
|
241
|
-
# │ Pattern: \b(?:\d{1,3}\.){3}\d{1,3}\b │
|
|
242
|
-
# │ Examples: │
|
|
243
|
-
# │ ✓ 192.168.1.1 → [REDACTED_IP] │
|
|
244
|
-
# │ ✓ 10.0.0.1 → [REDACTED_IP] │
|
|
245
|
-
# │ ✗ 999.999.999.999 → (invalid range, optional validation) │
|
|
246
|
-
# │ │
|
|
247
|
-
# │ CUSTOM PATTERNS │
|
|
248
|
-
# │ ─────────────── │
|
|
249
|
-
# │ You can add custom PII patterns in safety.pii_detection.custom_patterns: │
|
|
250
|
-
# │ │
|
|
251
|
-
# │ ```yaml │
|
|
252
|
-
# │ custom_patterns: │
|
|
253
|
-
# │ - name: employee_id │
|
|
254
|
-
# │ pattern: "EMP-\\d{6}" │
|
|
255
|
-
# │ replacement: "[REDACTED_EMPLOYEE_ID]" │
|
|
256
|
-
# │ - name: medical_record │
|
|
257
|
-
# │ pattern: "MRN-\\d{8}" │
|
|
258
|
-
# │ replacement: "[REDACTED_MRN]" │
|
|
259
|
-
# │ ``` │
|
|
260
|
-
# │ │
|
|
261
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
262
|
-
#
|
|
263
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
264
|
-
# │ RATE LIMITING: TOKEN BUCKET ALGORITHM EXPLAINED │
|
|
265
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
266
|
-
# │ │
|
|
267
|
-
# │ Token Bucket is the industry-standard algorithm for rate limiting. │
|
|
268
|
-
# │ It allows bursts while maintaining a long-term rate limit. │
|
|
269
|
-
# │ │
|
|
270
|
-
# │ CONFIGURATION: │
|
|
271
|
-
# │ requests_per_minute: 30 → Steady-state rate (0.5 requests/second) │
|
|
272
|
-
# │ burst_limit: 5 → Max requests in a burst │
|
|
273
|
-
# │ │
|
|
274
|
-
# │ HOW IT WORKS: │
|
|
275
|
-
# │ │
|
|
276
|
-
# │ 1. BUCKET INITIALIZATION │
|
|
277
|
-
# │ • Bucket capacity: burst_limit (5 tokens) │
|
|
278
|
-
# │ • Refill rate: requests_per_minute / 60 (0.5 tokens/second) │
|
|
279
|
-
# │ • Current tokens: burst_limit (starts full) │
|
|
280
|
-
# │ │
|
|
281
|
-
# │ 2. REQUEST PROCESSING │
|
|
282
|
-
# │ • User makes request → check if bucket has ≥1 token │
|
|
283
|
-
# │ • If yes: consume 1 token, allow request │
|
|
284
|
-
# │ • If no: reject with 429 Too Many Requests │
|
|
285
|
-
# │ │
|
|
286
|
-
# │ 3. TOKEN REFILL │
|
|
287
|
-
# │ • Every 2 seconds: add 1 token to bucket (up to capacity) │
|
|
288
|
-
# │ │
|
|
289
|
-
# │ EXAMPLE TIMELINE: │
|
|
290
|
-
# │ │
|
|
291
|
-
# │ Time Request Tokens Before Action Tokens After │
|
|
292
|
-
# │ ──── ─────── ───────────── ────── ──────────── │
|
|
293
|
-
# │ 0.0s #1 5 Allow 4 │
|
|
294
|
-
# │ 0.1s #2 4 Allow 3 │
|
|
295
|
-
# │ 0.2s #3 3 Allow 2 │
|
|
296
|
-
# │ 0.3s #4 2 Allow 1 │
|
|
297
|
-
# │ 0.4s #5 1 Allow 0 ← burst exhausted │
|
|
298
|
-
# │ 0.5s #6 0 REJECT (429) 0 ← no tokens │
|
|
299
|
-
# │ 2.0s - 0 → 1 (refill) 1 ← +1 token │
|
|
300
|
-
# │ 2.1s #7 1 Allow 0 │
|
|
301
|
-
# │ 4.0s - 0 → 1 (refill) 1 │
|
|
302
|
-
# │ 4.1s #8 1 Allow 0 │
|
|
303
|
-
# │ │
|
|
304
|
-
# │ KEY INSIGHT: │
|
|
305
|
-
# │ • Bursts are allowed (first 5 requests succeed immediately) │
|
|
306
|
-
# │ • Long-term rate is enforced (30 requests/minute = 1 every 2 seconds) │
|
|
307
|
-
# │ • Protects against abuse while allowing normal usage spikes │
|
|
308
|
-
# │ │
|
|
309
|
-
# │ COST CALCULATION: │
|
|
310
|
-
# │ With requests_per_minute: 30 │
|
|
311
|
-
# │ • Max requests per hour: 30 × 60 = 1,800 │
|
|
312
|
-
# │ • Max requests per day: 1,800 × 24 = 43,200 │
|
|
313
|
-
# │ • Max requests per month: 43,200 × 30 = 1,296,000 │
|
|
314
|
-
# │ │
|
|
315
|
-
# │ If average request costs $0.01 (Claude Sonnet): │
|
|
316
|
-
# │ • Max monthly cost: 1,296,000 × $0.01 = $12,960 │
|
|
317
|
-
# │ │
|
|
318
|
-
# │ TUNING GUIDANCE: │
|
|
319
|
-
# │ ┌────────────────────────────────────────────────────────────────┐ │
|
|
320
|
-
# │ │ USE CASE RATE LIMIT BURST RATIONALE │ │
|
|
321
|
-
# │ ├────────────────────────────────────────────────────────────────┤ │
|
|
322
|
-
# │ │ Internal tool 60/min 10 Power users │ │
|
|
323
|
-
# │ │ Customer chatbot 30/min 5 Moderate use │ │
|
|
324
|
-
# │ │ Public API 10/min 2 Prevent abuse │ │
|
|
325
|
-
# │ │ Expensive operations 5/min 1 Cost control │ │
|
|
326
|
-
# │ └────────────────────────────────────────────────────────────────┘ │
|
|
327
|
-
# │ │
|
|
328
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
329
|
-
#
|
|
330
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
331
|
-
# │ COMPLIANCE CONSIDERATIONS │
|
|
332
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
333
|
-
# │ │
|
|
334
|
-
# │ GDPR (General Data Protection Regulation) │
|
|
335
|
-
# │ ───────────────────────────────────────── │
|
|
336
|
-
# │ ✓ Enable PII detection with action: redact │
|
|
337
|
-
# │ ✓ Set observability.logging.include_prompts: false │
|
|
338
|
-
# │ ✓ Set observability.logging.include_responses: false │
|
|
339
|
-
# │ ✓ Implement data retention policies (delete logs after N days) │
|
|
340
|
-
# │ ✓ Add audit trail for all PII access (who, when, why) │
|
|
341
|
-
# │ │
|
|
342
|
-
# │ SOC2 (Service Organization Control 2) │
|
|
343
|
-
# │ ────────────────────────────────────────── │
|
|
344
|
-
# │ ✓ Enable observability.tracing and observability.metrics │
|
|
345
|
-
# │ ✓ Set autonomy.level: assisted or supervised │
|
|
346
|
-
# │ ✓ Configure safety.guardrails with strict limits │
|
|
347
|
-
# │ ✓ Enable safety.content_filtering for all categories │
|
|
348
|
-
# │ ✓ Implement access controls (who can run the agent) │
|
|
349
|
-
# │ │
|
|
350
|
-
# │ HIPAA (Health Insurance Portability and Accountability Act) │
|
|
351
|
-
# │ ──────────────────────────────────────────────────────────────── │
|
|
352
|
-
# │ ✓ Enable PII detection with custom patterns for PHI (Protected Health Info) │
|
|
353
|
-
# │ ✓ Encrypt logs and traces (observability.tracing.encryption: true) │
|
|
354
|
-
# │ ✓ Set autonomy.level: supervised (all actions require approval) │
|
|
355
|
-
# │ ✓ Implement audit logging for all agent interactions │
|
|
356
|
-
# │ ✓ Use private LLM deployment (no data sent to third-party APIs) │
|
|
357
|
-
# │ │
|
|
358
|
-
# │ EXAMPLE HIPAA PII PATTERNS: │
|
|
359
|
-
# │ ```yaml │
|
|
360
|
-
# │ pii_detection: │
|
|
361
|
-
# │ custom_patterns: │
|
|
362
|
-
# │ - name: medical_record_number │
|
|
363
|
-
# │ pattern: "MRN[:\s]+\d{6,10}" │
|
|
364
|
-
# │ - name: patient_id │
|
|
365
|
-
# │ pattern: "PT-\d{8}" │
|
|
366
|
-
# │ - name: diagnosis_code │
|
|
367
|
-
# │ pattern: "ICD-10:\s*[A-Z]\d{2}\.\d{1,3}" │
|
|
368
|
-
# │ ``` │
|
|
369
|
-
# │ │
|
|
370
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
371
|
-
#
|
|
372
|
-
# ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
373
|
-
# │ NEXT STEPS │
|
|
374
|
-
# ├─────────────────────────────────────────────────────────────────────────────────┤
|
|
375
|
-
# │ │
|
|
376
|
-
# │ 04-agent-with-messaging.ossa.yaml │
|
|
377
|
-
# │ Multi-agent coordination: pub/sub, commands, event-driven architecture │
|
|
378
|
-
# │ Learn: How agents communicate, reliability guarantees, message schemas │
|
|
379
|
-
# │ │
|
|
380
|
-
# │ 05-workflow-composition.ossa.yaml │
|
|
381
|
-
# │ Orchestration: Compose agents and tasks into complex workflows │
|
|
382
|
-
# │ Learn: DAGs, error handling, parallel execution, compensation patterns │
|
|
383
|
-
# │ │
|
|
384
|
-
# └─────────────────────────────────────────────────────────────────────────────────┘
|
|
385
|
-
#
|
|
386
|
-
# ═══════════════════════════════════════════════════════════════════════════════════
|
|
387
|
-
# THE ACTUAL MANIFEST STARTS HERE
|
|
388
|
-
# ═══════════════════════════════════════════════════════════════════════════════════
|
|
389
|
-
|
|
390
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
391
|
-
# API VERSION & KIND
|
|
392
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
393
|
-
apiVersion: ossa/v0.3.2
|
|
1
|
+
apiVersion: ossa/v0.3.3
|
|
394
2
|
kind: Agent
|
|
395
|
-
|
|
396
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
397
|
-
# METADATA
|
|
398
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
399
3
|
metadata:
|
|
400
4
|
name: secure-assistant
|
|
401
5
|
version: 1.0.0
|
|
6
|
+
description: 'Production-ready enterprise assistant with comprehensive safety controls:
|
|
402
7
|
|
|
403
|
-
description: |
|
|
404
|
-
Production-ready enterprise assistant with comprehensive safety controls:
|
|
405
8
|
- PII detection and redaction (7 types)
|
|
9
|
+
|
|
406
10
|
- Content filtering (4 harmful categories)
|
|
11
|
+
|
|
407
12
|
- Rate limiting (30 req/min with burst protection)
|
|
13
|
+
|
|
408
14
|
- Behavioral guardrails (prevent runaway loops)
|
|
15
|
+
|
|
409
16
|
- Autonomy controls (human-in-the-loop for sensitive actions)
|
|
17
|
+
|
|
410
18
|
- Full observability (tracing, metrics, structured logging)
|
|
411
19
|
|
|
20
|
+
|
|
412
21
|
Compliance: SOC2, GDPR-ready, HIPAA-compatible (with custom PII patterns)
|
|
413
22
|
|
|
23
|
+
'
|
|
414
24
|
labels:
|
|
415
25
|
difficulty: intermediate
|
|
416
|
-
tutorial:
|
|
26
|
+
tutorial: '03'
|
|
417
27
|
compliance: soc2
|
|
418
28
|
environment: production
|
|
419
|
-
|
|
420
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
421
|
-
# SPEC
|
|
422
|
-
# ──────────────────────────────────────────────────────────────────────────────────
|
|
423
29
|
spec:
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
-
|
|
437
|
-
|
|
438
|
-
SECURITY REQUIREMENTS (CRITICAL):
|
|
439
|
-
1. **Confidentiality**: Never share confidential company information externally
|
|
440
|
-
2. **PII Protection**: All personally identifiable information is automatically
|
|
441
|
-
redacted, but you should still avoid requesting unnecessary PII
|
|
442
|
-
3. **Data Minimization**: Only request data necessary to answer the question
|
|
443
|
-
4. **Compliance**: Follow company data handling policies at all times
|
|
444
|
-
|
|
445
|
-
When you detect PII in user input, acknowledge it professionally:
|
|
446
|
-
✓ "I see you provided contact information. [PII has been redacted]"
|
|
447
|
-
✗ "Your email is john@company.com" (don't repeat PII)
|
|
448
|
-
|
|
449
|
-
For sensitive operations (delete, permissions changes):
|
|
450
|
-
- Explain the action clearly
|
|
451
|
-
- Explain the risks
|
|
452
|
-
- Request explicit confirmation
|
|
453
|
-
- Document the reason for the action
|
|
454
|
-
|
|
455
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
456
|
-
# LLM CONFIGURATION
|
|
457
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
30
|
+
role: "You are a secure enterprise assistant for internal employee support.\n\n\
|
|
31
|
+
Your responsibilities:\n- Help employees find internal documentation and policies\n\
|
|
32
|
+
- Answer workflow and process questions\n- Provide guidance on tools and systems\n\
|
|
33
|
+
- Escalate sensitive questions to human support staff\n\nSECURITY REQUIREMENTS\
|
|
34
|
+
\ (CRITICAL):\n1. **Confidentiality**: Never share confidential company information\
|
|
35
|
+
\ externally\n2. **PII Protection**: All personally identifiable information is\
|
|
36
|
+
\ automatically\n redacted, but you should still avoid requesting unnecessary\
|
|
37
|
+
\ PII\n3. **Data Minimization**: Only request data necessary to answer the question\n\
|
|
38
|
+
4. **Compliance**: Follow company data handling policies at all times\n\nWhen\
|
|
39
|
+
\ you detect PII in user input, acknowledge it professionally:\n✓ \"I see you\
|
|
40
|
+
\ provided contact information. [PII has been redacted]\"\n✗ \"Your email is john@company.com\"\
|
|
41
|
+
\ (don't repeat PII)\n\nFor sensitive operations (delete, permissions changes):\n\
|
|
42
|
+
- Explain the action clearly\n- Explain the risks\n- Request explicit confirmation\n\
|
|
43
|
+
- Document the reason for the action\n"
|
|
458
44
|
llm:
|
|
459
|
-
provider:
|
|
460
|
-
model:
|
|
461
|
-
|
|
462
|
-
# Temperature 0.5 - balanced between consistency and natural responses
|
|
463
|
-
# For compliance/security tasks, consider lowering to 0.2-0.3
|
|
45
|
+
provider: anthropic
|
|
46
|
+
model: claude-sonnet-4-20250514
|
|
464
47
|
temperature: 0.5
|
|
465
|
-
|
|
466
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
467
|
-
# FALLBACK MODELS (High Availability)
|
|
468
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
469
|
-
# Production agents should have fallback models to maintain uptime
|
|
470
|
-
# when the primary provider has issues
|
|
471
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
472
48
|
fallback_models:
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
trigger:
|
|
479
|
-
# Use fallback on any error from primary provider
|
|
480
|
-
on_error: true
|
|
481
|
-
|
|
482
|
-
# Retry primary provider 2 times before falling back
|
|
483
|
-
# This prevents flipping to fallback for transient errors
|
|
484
|
-
max_retries: 2
|
|
485
|
-
|
|
486
|
-
# Optional: trigger on specific error codes
|
|
487
|
-
# error_codes:
|
|
488
|
-
# - 503 # Service unavailable
|
|
489
|
-
# - 529 # Overloaded
|
|
490
|
-
|
|
491
|
-
# Optional: trigger on high latency
|
|
492
|
-
# latency_threshold_ms: 5000 # 5 seconds
|
|
493
|
-
|
|
494
|
-
# You can add more fallbacks (they're tried in order)
|
|
495
|
-
# - provider: google
|
|
496
|
-
# model: gemini-2.0-flash
|
|
497
|
-
# trigger:
|
|
498
|
-
# on_error: true
|
|
499
|
-
|
|
500
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
501
|
-
# COST TRACKING (Budget Management)
|
|
502
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
503
|
-
# Track LLM costs and alert when budgets are approached
|
|
504
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
49
|
+
- provider: openai
|
|
50
|
+
model: gpt-4o
|
|
51
|
+
trigger:
|
|
52
|
+
on_error: true
|
|
53
|
+
max_retries: 2
|
|
505
54
|
cost_tracking:
|
|
506
55
|
enabled: true
|
|
507
|
-
|
|
508
|
-
# Alert threshold in dollars
|
|
509
|
-
# When cumulative costs reach this amount, trigger alert
|
|
510
|
-
# Costs reset monthly or per your billing cycle
|
|
511
|
-
budget_alert_threshold: 50.00
|
|
512
|
-
|
|
513
|
-
# Cost allocation tags - for tracking across teams/environments
|
|
514
|
-
# Appears in cost reports and observability traces
|
|
56
|
+
budget_alert_threshold: 50.0
|
|
515
57
|
cost_allocation_tags:
|
|
516
58
|
team: platform
|
|
517
59
|
environment: production
|
|
518
60
|
cost_center: engineering
|
|
519
|
-
|
|
520
|
-
# Optional: hard budget limit (reject requests after this)
|
|
521
|
-
# budget_hard_limit: 100.00
|
|
522
|
-
|
|
523
|
-
# Optional: per-user budgets
|
|
524
|
-
# user_budget_limit: 5.00 # per user per month
|
|
525
|
-
|
|
526
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
527
|
-
# AUTONOMY CONFIGURATION (Human-in-the-Loop Controls)
|
|
528
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
529
|
-
# Define when human approval is required vs autonomous action
|
|
530
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
531
61
|
autonomy:
|
|
532
|
-
# Autonomy level - controls default behavior
|
|
533
|
-
# ┌──────────────┬──────────────────────────────────────────────────────────┐
|
|
534
|
-
# │ LEVEL │ BEHAVIOR │
|
|
535
|
-
# ├──────────────┼──────────────────────────────────────────────────────────┤
|
|
536
|
-
# │ autonomous │ Agent acts independently (monitoring only) │
|
|
537
|
-
# │ assisted │ Agent proposes, human approves high-risk actions │
|
|
538
|
-
# │ supervised │ Human approves ALL actions before execution │
|
|
539
|
-
# └──────────────┴──────────────────────────────────────────────────────────┘
|
|
540
62
|
level: assisted
|
|
541
|
-
|
|
542
|
-
# Actions that ALWAYS require human approval
|
|
543
|
-
# Even in autonomous mode, these will block and request confirmation
|
|
544
63
|
approval_required:
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
# Actions that are ALLOWED without approval (whitelist)
|
|
552
|
-
# In assisted mode, these run automatically
|
|
64
|
+
- delete_data
|
|
65
|
+
- modify_permissions
|
|
66
|
+
- external_api_calls
|
|
67
|
+
- deploy_code
|
|
68
|
+
- modify_production
|
|
553
69
|
allowed_actions:
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
# Actions that are BLOCKED entirely (blacklist)
|
|
560
|
-
# Agent will refuse these actions even if approved
|
|
70
|
+
- read_documents
|
|
71
|
+
- search_knowledge_base
|
|
72
|
+
- generate_reports
|
|
73
|
+
- send_notifications
|
|
561
74
|
blocked_actions:
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
# Escalation policy - when to alert humans
|
|
75
|
+
- access_production_database
|
|
76
|
+
- modify_security_settings
|
|
77
|
+
- access_secrets_directly
|
|
567
78
|
escalation_policy:
|
|
568
|
-
# Conditions that trigger escalation
|
|
569
79
|
triggers:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
# Where to send escalation notifications
|
|
80
|
+
- confidence_below_80_percent
|
|
81
|
+
- sensitive_topic_detected
|
|
82
|
+
- multiple_approval_requests
|
|
83
|
+
- unusual_access_pattern
|
|
576
84
|
notify:
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
# Optional: escalation SLA
|
|
582
|
-
# response_timeout_minutes: 15 # Human must respond within 15min
|
|
583
|
-
|
|
584
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
585
|
-
# SAFETY CONFIGURATION (Production-Critical)
|
|
586
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
587
|
-
# Multi-layered safety controls for enterprise deployment
|
|
588
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
85
|
+
- slack:#security-alerts
|
|
86
|
+
- email:security@company.com
|
|
87
|
+
- pagerduty:agent-alerts
|
|
589
88
|
safety:
|
|
590
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
591
|
-
# CONTENT FILTERING (Harmful Content Detection)
|
|
592
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
593
|
-
# Uses ML models to detect harmful categories in inputs and outputs
|
|
594
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
595
89
|
content_filtering:
|
|
596
90
|
enabled: true
|
|
597
|
-
|
|
598
|
-
# Categories to filter
|
|
599
|
-
# Each uses a specialized ML classifier (typically BERT-based)
|
|
600
91
|
categories:
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
# - adult_content # Sexually explicit (optional)
|
|
606
|
-
# - spam # Spam/promotional content (optional)
|
|
607
|
-
|
|
608
|
-
# Detection threshold
|
|
609
|
-
# ┌────────┬──────────────┬─────────────────────────────────────────┐
|
|
610
|
-
# │ LEVEL │ CONFIDENCE │ TRADE-OFF │
|
|
611
|
-
# ├────────┼──────────────┼─────────────────────────────────────────┤
|
|
612
|
-
# │ low │ >0.3 (30%) │ Strict: catches more, more false pos │
|
|
613
|
-
# │ medium │ >0.6 (60%) │ Balanced: good precision/recall │
|
|
614
|
-
# │ high │ >0.9 (90%) │ Permissive: very confident violations │
|
|
615
|
-
# └────────┴──────────────┴─────────────────────────────────────────┘
|
|
92
|
+
- hate_speech
|
|
93
|
+
- violence
|
|
94
|
+
- self_harm
|
|
95
|
+
- illegal_activity
|
|
616
96
|
threshold: medium
|
|
617
|
-
|
|
618
|
-
# Action when harmful content detected
|
|
619
|
-
# • block: Reject request, return error
|
|
620
|
-
# • log: Allow but log incident for review
|
|
621
|
-
# • sanitize: Attempt to rewrite content (experimental)
|
|
622
97
|
action: block
|
|
623
|
-
|
|
624
|
-
# Optional: Custom filter messages
|
|
625
|
-
# block_message: "This request violates our content policy."
|
|
626
|
-
|
|
627
|
-
# Optional: Apply to inputs, outputs, or both
|
|
628
|
-
# apply_to: [input, output] # Default: both
|
|
629
|
-
|
|
630
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
631
|
-
# PII DETECTION (Privacy Protection)
|
|
632
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
633
|
-
# Automatically detect and redact personally identifiable information
|
|
634
|
-
# Uses regex patterns + NER models for high accuracy
|
|
635
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
636
98
|
pii_detection:
|
|
637
99
|
enabled: true
|
|
638
|
-
|
|
639
|
-
# Built-in PII types (see documentation header for regex patterns)
|
|
640
100
|
types:
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
# Action when PII detected
|
|
650
|
-
# • warn: Log detection but allow (for monitoring)
|
|
651
|
-
# • block: Reject request with PII
|
|
652
|
-
# • redact: Replace PII with placeholder (RECOMMENDED)
|
|
101
|
+
- email
|
|
102
|
+
- phone
|
|
103
|
+
- ssn
|
|
104
|
+
- credit_card
|
|
105
|
+
- api_key
|
|
106
|
+
- password
|
|
107
|
+
- ip_address
|
|
653
108
|
action: redact
|
|
654
|
-
|
|
655
|
-
# Redaction format
|
|
656
|
-
# When action=redact, PII is replaced with these placeholders
|
|
657
|
-
# redaction_format: "[REDACTED_{TYPE}]" # Default
|
|
658
|
-
|
|
659
|
-
# Optional: Custom PII patterns (for your domain)
|
|
660
|
-
# See documentation header for examples (employee IDs, medical records, etc.)
|
|
661
|
-
# custom_patterns:
|
|
662
|
-
# - name: employee_id
|
|
663
|
-
# pattern: "EMP-\\d{6}"
|
|
664
|
-
# replacement: "[REDACTED_EMPLOYEE_ID]"
|
|
665
|
-
|
|
666
|
-
# Optional: Exceptions (allow specific patterns)
|
|
667
|
-
# exceptions:
|
|
668
|
-
# - "support@company.com" # Company support email OK
|
|
669
|
-
# - "demo@example.com" # Example emails OK
|
|
670
|
-
|
|
671
|
-
# Optional: Apply to prompts, responses, or both
|
|
672
|
-
# apply_to: [prompt, response] # Default: both
|
|
673
|
-
|
|
674
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
675
|
-
# RATE LIMITING (Abuse Prevention)
|
|
676
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
677
|
-
# Token bucket algorithm - see documentation header for details
|
|
678
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
679
109
|
rate_limiting:
|
|
680
110
|
enabled: true
|
|
681
|
-
|
|
682
|
-
# Steady-state rate: requests per minute
|
|
683
|
-
# This is the LONG-TERM average rate allowed
|
|
684
|
-
# 30 req/min = 1 request every 2 seconds
|
|
685
111
|
requests_per_minute: 30
|
|
686
|
-
|
|
687
|
-
# Burst allowance: number of requests allowed in a burst
|
|
688
|
-
# Allows temporary spikes in usage
|
|
689
|
-
# First 5 requests can happen immediately, then rate limit kicks in
|
|
690
112
|
burst_limit: 5
|
|
691
|
-
|
|
692
|
-
# Optional: Rate limit scope
|
|
693
|
-
# • global: Single limit across all users
|
|
694
|
-
# • per_user: Each user gets their own bucket
|
|
695
|
-
# • per_ip: Each IP address gets their own bucket
|
|
696
|
-
# scope: per_user # Default: global
|
|
697
|
-
|
|
698
|
-
# Optional: Custom rate limit by user tier
|
|
699
|
-
# user_tier_limits:
|
|
700
|
-
# free: 10
|
|
701
|
-
# pro: 60
|
|
702
|
-
# enterprise: 300
|
|
703
|
-
|
|
704
|
-
# Optional: Response when rate limited
|
|
705
|
-
# retry_after_header: true # Include Retry-After header
|
|
706
|
-
|
|
707
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
708
|
-
# BEHAVIORAL GUARDRAILS (Prevent Runaway Agents)
|
|
709
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
710
|
-
# Hard limits on agent behavior to prevent infinite loops and cost overruns
|
|
711
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
712
113
|
guardrails:
|
|
713
114
|
enabled: true
|
|
714
|
-
|
|
715
|
-
# Maximum tool calls per request
|
|
716
|
-
# Prevents infinite loops where agent keeps calling tools
|
|
717
|
-
# Example: Agent calls search → read_file → search → read_file → ...
|
|
718
|
-
# After 20 tool calls, agent is forced to return response
|
|
719
115
|
max_tool_calls: 20
|
|
720
|
-
|
|
721
|
-
# Maximum iteration depth for reasoning chains
|
|
722
|
-
# Limits how many times agent can reflect/reconsider
|
|
723
|
-
# Prevents: "Let me think... actually... wait... let me reconsider..."
|
|
724
116
|
max_iteration_depth: 5
|
|
725
|
-
|
|
726
|
-
# Maximum tokens per response
|
|
727
|
-
# Controls output length (and cost)
|
|
728
|
-
# Claude Sonnet max: 8192, but 4000 is usually sufficient
|
|
729
117
|
max_tokens_per_turn: 4000
|
|
730
|
-
|
|
731
|
-
# Actions that require explicit user confirmation
|
|
732
|
-
# Agent will pause and ask "Are you sure?" before these
|
|
733
118
|
require_confirmation_for:
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
# Optional: Timeout limits
|
|
740
|
-
# max_execution_time_seconds: 300 # 5 minutes max per request
|
|
741
|
-
# max_total_cost_per_request: 1.00 # $1 max cost per request
|
|
742
|
-
|
|
743
|
-
# Optional: Loop detection
|
|
744
|
-
# detect_infinite_loops: true
|
|
745
|
-
# loop_detection_window: 5 # Check last 5 tool calls for patterns
|
|
746
|
-
|
|
747
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
748
|
-
# OBSERVABILITY (Monitoring & Debugging)
|
|
749
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
750
|
-
# Production agents MUST have comprehensive observability
|
|
751
|
-
# ────────────────────────────────────────────────────────────────────────────────
|
|
119
|
+
- destructive_actions
|
|
120
|
+
- external_communications
|
|
121
|
+
- data_modifications
|
|
122
|
+
- cost_intensive_operations
|
|
752
123
|
observability:
|
|
753
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
754
|
-
# DISTRIBUTED TRACING (OpenTelemetry)
|
|
755
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
756
|
-
# Track agent execution flow through multiple services
|
|
757
|
-
# Compatible with Jaeger, Zipkin, DataDog, New Relic, etc.
|
|
758
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
759
124
|
tracing:
|
|
760
125
|
enabled: true
|
|
761
|
-
|
|
762
|
-
# Exporter type
|
|
763
|
-
# • otlp: OpenTelemetry Protocol (standard, recommended)
|
|
764
|
-
# • jaeger: Jaeger-specific format
|
|
765
|
-
# • zipkin: Zipkin-specific format
|
|
766
126
|
exporter: otlp
|
|
767
|
-
|
|
768
|
-
# OTLP endpoint - where to send traces
|
|
769
|
-
# Use environment variable for flexibility across environments:
|
|
770
|
-
# • Dev: http://localhost:4317 (local collector)
|
|
771
|
-
# • Prod: https://otlp.company.com (managed service)
|
|
772
127
|
endpoint: ${OTEL_ENDPOINT:-http://localhost:4317}
|
|
773
|
-
|
|
774
|
-
# Optional: Sampling rate (0.0 to 1.0)
|
|
775
|
-
# In high-traffic environments, sample subset of traces
|
|
776
|
-
# sampling_rate: 0.1 # Sample 10% of requests
|
|
777
|
-
|
|
778
|
-
# Optional: Custom trace attributes
|
|
779
|
-
# attributes:
|
|
780
|
-
# service.version: 1.0.0
|
|
781
|
-
# deployment.environment: production
|
|
782
|
-
|
|
783
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
784
|
-
# METRICS (Time Series Data)
|
|
785
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
786
|
-
# Emit metrics for monitoring dashboards (Grafana, Datadog, etc.)
|
|
787
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
788
128
|
metrics:
|
|
789
129
|
enabled: true
|
|
790
|
-
|
|
791
|
-
# Metrics to collect (automatic):
|
|
792
|
-
# • agent.requests.total (counter)
|
|
793
|
-
# • agent.requests.duration (histogram)
|
|
794
|
-
# • agent.tool.calls.total (counter)
|
|
795
|
-
# • agent.llm.tokens.total (counter)
|
|
796
|
-
# • agent.llm.cost.total (counter)
|
|
797
|
-
# • agent.safety.pii.detected (counter)
|
|
798
|
-
# • agent.safety.content.blocked (counter)
|
|
799
|
-
# • agent.rate_limit.exceeded (counter)
|
|
800
|
-
|
|
801
|
-
# Custom labels added to ALL metrics
|
|
802
|
-
# Use for filtering/grouping in dashboards
|
|
803
130
|
custom_labels:
|
|
804
131
|
service: secure-assistant
|
|
805
132
|
environment: production
|
|
806
133
|
region: us-east-1
|
|
807
|
-
|
|
808
|
-
# Optional: Metrics export interval
|
|
809
|
-
# export_interval_seconds: 60 # Default: 60
|
|
810
|
-
|
|
811
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
812
|
-
# LOGGING (Structured Logs)
|
|
813
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
814
|
-
# JSON-structured logs for searching/analysis (Elasticsearch, Splunk, etc.)
|
|
815
|
-
# ──────────────────────────────────────────────────────────────────────────────
|
|
816
134
|
logging:
|
|
817
|
-
# Log level
|
|
818
|
-
# debug: Verbose (tool inputs/outputs, reasoning steps)
|
|
819
|
-
# info: Standard (requests, responses, decisions)
|
|
820
|
-
# warn: Warnings (safety triggers, fallbacks)
|
|
821
|
-
# error: Errors only
|
|
822
135
|
level: info
|
|
823
|
-
|
|
824
|
-
# Include full prompts in logs
|
|
825
|
-
# WARNING: Prompts may contain PII - set to false for compliance
|
|
826
136
|
include_prompts: false
|
|
827
|
-
|
|
828
|
-
# Include full responses in logs
|
|
829
|
-
# WARNING: Responses may contain PII - set to false for compliance
|
|
830
137
|
include_responses: false
|
|
831
|
-
|
|
832
|
-
# What IS logged (always):
|
|
833
|
-
# • Request IDs, timestamps
|
|
834
|
-
# • Safety events (PII detected, content blocked)
|
|
835
|
-
# • Autonomy events (approval requested, granted/denied)
|
|
836
|
-
# • Performance metrics (latency, cost)
|
|
837
|
-
# • Error messages and stack traces
|
|
838
|
-
|
|
839
|
-
# Optional: Log retention
|
|
840
|
-
# retention_days: 90 # Keep logs for 90 days (compliance requirement)
|
|
841
|
-
|
|
842
|
-
# Optional: Structured log fields
|
|
843
|
-
# fields:
|
|
844
|
-
# user_id: ${USER_ID}
|
|
845
|
-
# session_id: ${SESSION_ID}
|
|
846
|
-
|
|
847
|
-
# ═══════════════════════════════════════════════════════════════════════════════════
|
|
848
|
-
# SUMMARY: PRODUCTION SAFETY CHECKLIST
|
|
849
|
-
# ═══════════════════════════════════════════════════════════════════════════════════
|
|
850
|
-
#
|
|
851
|
-
# Before deploying this agent to production, verify:
|
|
852
|
-
# ✓ PII detection enabled with action: redact
|
|
853
|
-
# ✓ Content filtering enabled for all relevant categories
|
|
854
|
-
# ✓ Rate limiting configured (prevents cost overruns and abuse)
|
|
855
|
-
# ✓ Guardrails prevent infinite loops (max_tool_calls, max_iteration_depth)
|
|
856
|
-
# ✓ Autonomy level appropriate for your risk tolerance
|
|
857
|
-
# ✓ Observability enabled (tracing, metrics, logging)
|
|
858
|
-
# ✓ Logging doesn't include PII (include_prompts: false)
|
|
859
|
-
# ✓ Fallback models configured (high availability)
|
|
860
|
-
# ✓ Cost tracking enabled with alerts
|
|
861
|
-
# ✓ Escalation policy defined (notify humans on issues)
|
|
862
|
-
#
|
|
863
|
-
# Next example (04-agent-with-messaging.ossa.yaml):
|
|
864
|
-
# → Multi-agent systems: pub/sub, commands, event-driven architecture
|
|
865
|
-
# → Learn how agents coordinate and communicate
|
|
866
|
-
# → Build agent swarms and pipelines
|
|
867
|
-
#
|
|
868
|
-
# ═══════════════════════════════════════════════════════════════════════════════════
|