@bluefly/openstandardagents 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/AGENTS.md +245 -0
  4. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  5. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  6. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  7. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  8. package/.version.json +2 -2
  9. package/.wiki-config.json +24 -0
  10. package/CHANGELOG.md +44 -18
  11. package/CODEOWNERS +75 -0
  12. package/CONTRIBUTING.md +103 -4
  13. package/README.md +178 -243
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/repositories/schema.repository.d.ts +6 -1
  19. package/dist/repositories/schema.repository.d.ts.map +1 -1
  20. package/dist/repositories/schema.repository.js +49 -27
  21. package/dist/repositories/schema.repository.js.map +1 -1
  22. package/dist/services/migration.service.d.ts +4 -3
  23. package/dist/services/migration.service.d.ts.map +1 -1
  24. package/dist/services/migration.service.js +11 -10
  25. package/dist/services/migration.service.js.map +1 -1
  26. package/dist/services/release-automation/release.service.js +1 -1
  27. package/dist/services/release-automation/release.service.js.map +1 -1
  28. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  29. package/dist/services/release-automation/webhook.service.js +3 -3
  30. package/dist/services/release-automation/webhook.service.js.map +1 -1
  31. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  32. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  33. package/dist/services/runtime/claude/claude-adapter.js +2 -2
  34. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  35. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  36. package/dist/spec/v0.2.8/README.md +72 -0
  37. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  38. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  39. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  40. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  41. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  42. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  43. package/dist/spec/v0.2.9/agent.md +1946 -0
  44. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  45. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  46. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  47. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  48. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  49. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  50. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  51. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  52. package/dist/spec/v0.2.9/security-model.md +1245 -0
  53. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  54. package/dist/spec/v0.2.9/types.ts +522 -0
  55. package/dist/types/index.d.ts +3 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/policy.d.ts +377 -0
  58. package/dist/types/policy.d.ts.map +1 -0
  59. package/dist/types/policy.js +84 -0
  60. package/dist/types/policy.js.map +1 -0
  61. package/dist/utils/index.d.ts +6 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/version.d.ts +68 -0
  66. package/dist/utils/version.d.ts.map +1 -0
  67. package/dist/utils/version.js +156 -0
  68. package/dist/utils/version.js.map +1 -0
  69. package/docs/specs/policy-dsl.md +925 -0
  70. package/eslint-report.json +1 -0
  71. package/examples/adk-integration/code-review-workflow.yml +1 -1
  72. package/examples/adk-integration/customer-support.yml +1 -1
  73. package/examples/adk-integration/data-pipeline.yml +1 -1
  74. package/examples/advanced/reasoning-agent.yaml +136 -0
  75. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  76. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  77. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  78. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  79. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  80. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  81. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  82. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  83. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  84. package/examples/agents-md/code-agent.ossa.json +100 -0
  85. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  86. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  87. package/examples/autogen/multi-agent.ossa.json +1 -1
  88. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  89. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  90. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  91. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  92. package/examples/crewai/research-team.ossa.json +1 -1
  93. package/examples/cursor/code-review-agent.ossa.json +1 -1
  94. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  95. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  96. package/examples/extensions/agents-md-v1.yml +175 -0
  97. package/examples/extensions/drupal-v1.yml +1 -1
  98. package/examples/extensions/kagent-v1.yml +1 -1
  99. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  100. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  101. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  102. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  103. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  104. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  105. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  106. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  107. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  108. package/examples/langchain/chain-agent.ossa.json +1 -1
  109. package/examples/langflow/workflow-agent.ossa.json +1 -1
  110. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  111. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  112. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  113. package/examples/multi-agent/README.md +74 -0
  114. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  115. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  116. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  117. package/examples/openai/basic-agent.ossa.yaml +1 -1
  118. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  119. package/examples/openai/swarm-agent.ossa.json +1 -1
  120. package/examples/production/document-analyzer-openai.yml +1 -1
  121. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  122. package/examples/spec-examples/audit-agent.yml +1 -1
  123. package/examples/spec-examples/chat-agent.yml +1 -1
  124. package/examples/spec-examples/compliance-agent.yml +1 -1
  125. package/examples/spec-examples/monitoring-agent.yml +1 -1
  126. package/examples/spec-examples/workflow-agent.yml +1 -1
  127. package/examples/templates/ossa-compliance.yaml +1 -1
  128. package/examples/vercel/edge-agent.ossa.json +1 -1
  129. package/gl-code-quality-report.json +62 -0
  130. package/llms-ctx-full.txt +39 -0
  131. package/llms-ctx.txt +39 -0
  132. package/llms.txt +47 -0
  133. package/package.json +6 -3
  134. package/scripts/README.md +25 -0
  135. package/scripts/compliance-audit.ts +796 -0
  136. package/scripts/eslint-to-codequality.cjs +34 -0
  137. package/scripts/generate-agents-catalog.ts +2 -1
  138. package/scripts/generate-api-docs.ts +2 -1
  139. package/scripts/generate-examples-docs.ts +2 -1
  140. package/scripts/generate-llms-ctx.sh +17 -0
  141. package/scripts/generate-schema-docs.ts +31 -10
  142. package/scripts/sync-version.js +4 -12
  143. package/scripts/validate-schema.ts +2 -1
  144. package/spec/v0.2.8/CHANGELOG.md +401 -0
  145. package/spec/v0.2.8/README.md +72 -0
  146. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  147. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  148. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  149. package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  150. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  151. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  152. package/spec/v0.2.9/agent.md +1946 -0
  153. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  154. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  155. package/spec/v0.2.9/capability-schema.md +576 -0
  156. package/spec/v0.2.9/compliance-profiles.md +533 -0
  157. package/spec/v0.2.9/conformance-testing.md +1527 -0
  158. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  159. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  160. package/spec/v0.2.9/runtime-semantics.md +464 -0
  161. package/spec/v0.2.9/security-model.md +1245 -0
  162. package/spec/v0.2.9/semantic-conventions.md +347 -0
  163. package/spec/v0.2.9/types.ts +522 -0
  164. package/test-results/junit.xml +337 -0
  165. package/.github/workflows/pr-comment.yml +0 -33
  166. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  167. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
  168. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  169. package/scripts/lib/exec.ts +0 -37
  170. package/scripts/lib/file-ops.ts +0 -58
  171. package/scripts/lib/version.ts +0 -83
  172. package/website/.lighthouserc.ts +0 -24
  173. package/website/.prettierrc +0 -10
  174. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  175. package/website/Dockerfile +0 -30
  176. package/website/app/about/page.tsx +0 -304
  177. package/website/app/blog/[slug]/page.tsx +0 -208
  178. package/website/app/blog/page.tsx +0 -249
  179. package/website/app/design-guide/page.tsx +0 -511
  180. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  181. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  182. package/website/app/ecosystem/page.tsx +0 -410
  183. package/website/app/examples/page.tsx +0 -133
  184. package/website/app/globals.scss +0 -370
  185. package/website/app/layout.tsx +0 -106
  186. package/website/app/license/page.tsx +0 -183
  187. package/website/app/not-found.tsx +0 -18
  188. package/website/app/page.tsx +0 -686
  189. package/website/app/page.tsx.bak +0 -679
  190. package/website/app/page.tsx.bak2 +0 -649
  191. package/website/app/playground/page.tsx +0 -487
  192. package/website/app/robots.ts +0 -19
  193. package/website/app/rss.xml/route.ts +0 -74
  194. package/website/app/schema/page.tsx +0 -1001
  195. package/website/app/sitemap.ts +0 -56
  196. package/website/app/specification/page.tsx +0 -287
  197. package/website/components/InstallCommand.tsx +0 -96
  198. package/website/components/Logo.tsx +0 -97
  199. package/website/components/StructuredData.tsx +0 -65
  200. package/website/components/docs/DocsSearch.tsx +0 -104
  201. package/website/components/docs/DocsSidebar.tsx +0 -155
  202. package/website/components/docs/MarkdownContent.tsx +0 -401
  203. package/website/components/docs/VersionSelector.tsx +0 -105
  204. package/website/components/examples/ExamplesViewer.tsx +0 -293
  205. package/website/components/layout/Footer.tsx +0 -116
  206. package/website/components/layout/Header.tsx +0 -172
  207. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  208. package/website/components/schema/SchemaExplorer.tsx +0 -213
  209. package/website/components/ui/Badge.tsx +0 -82
  210. package/website/components/ui/Button.tsx +0 -116
  211. package/website/components/ui/Card.tsx +0 -167
  212. package/website/components/ui/Checkbox.tsx +0 -141
  213. package/website/components/ui/Input.tsx +0 -169
  214. package/website/components/ui/Radio.tsx +0 -141
  215. package/website/components/ui/Select.tsx +0 -182
  216. package/website/components/ui/Tag.tsx +0 -158
  217. package/website/components/ui/Textarea.tsx +0 -195
  218. package/website/components/ui/index.ts +0 -11
  219. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  220. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  221. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  222. package/website/content/blog/introducing-ossa-framework.md +0 -328
  223. package/website/content/blog/ossa-production-results.md +0 -279
  224. package/website/content/blog/welcome-to-ossa.md +0 -43
  225. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  226. package/website/content/docs/00-home.md +0 -153
  227. package/website/content/docs/adapters/openai-adapter.md +0 -693
  228. package/website/content/docs/agents/catalog.md +0 -28
  229. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  230. package/website/content/docs/api-reference/index.md +0 -38
  231. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  232. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  233. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  234. package/website/content/docs/architecture/execution-flow.md +0 -335
  235. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  236. package/website/content/docs/architecture/overview.md +0 -121
  237. package/website/content/docs/architecture/stack-integration.md +0 -461
  238. package/website/content/docs/changelog.md +0 -246
  239. package/website/content/docs/cli-reference/index.md +0 -111
  240. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  241. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  242. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  243. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  244. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  245. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  246. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  247. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  248. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  249. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  250. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  251. package/website/content/docs/configuration/index.md +0 -97
  252. package/website/content/docs/contributing.md +0 -599
  253. package/website/content/docs/deployment/github-mirroring.md +0 -924
  254. package/website/content/docs/documentation.md +0 -100
  255. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  256. package/website/content/docs/ecosystem/overview.md +0 -366
  257. package/website/content/docs/errors/index.md +0 -10
  258. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  259. package/website/content/docs/examples/catalog.md +0 -300
  260. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  261. package/website/content/docs/getting-started/index.md +0 -92
  262. package/website/content/docs/getting-started/installation.md +0 -155
  263. package/website/content/docs/getting-started/running-agents.md +0 -309
  264. package/website/content/docs/getting-started.md +0 -91
  265. package/website/content/docs/integrations/aiflow.md +0 -104
  266. package/website/content/docs/integrations/drupal.md +0 -105
  267. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  268. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  269. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  270. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  271. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  272. package/website/content/docs/migration-guides/index.md +0 -133
  273. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  274. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  275. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  276. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  277. package/website/content/docs/openapi-extensions/examples.md +0 -550
  278. package/website/content/docs/openapi-extensions/index.md +0 -551
  279. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  280. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  281. package/website/content/docs/ossa-compliant-badge.md +0 -251
  282. package/website/content/docs/pre-release/index.md +0 -175
  283. package/website/content/docs/quick-reference.md +0 -17
  284. package/website/content/docs/readme.md +0 -35
  285. package/website/content/docs/releases/v0.2.6.md +0 -99
  286. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  287. package/website/content/docs/schema-reference/agent-id.md +0 -52
  288. package/website/content/docs/schema-reference/agent-name.md +0 -50
  289. package/website/content/docs/schema-reference/agent-role.md +0 -54
  290. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  291. package/website/content/docs/schema-reference/agent-version.md +0 -50
  292. package/website/content/docs/schema-reference/autonomy.md +0 -568
  293. package/website/content/docs/schema-reference/constraints.md +0 -543
  294. package/website/content/docs/schema-reference/index.md +0 -45
  295. package/website/content/docs/schema-reference/llm-config.md +0 -445
  296. package/website/content/docs/schema-reference/observability.md +0 -654
  297. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  298. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  299. package/website/content/docs/schema-reference/tools.md +0 -628
  300. package/website/content/docs/templates/blog-post.md +0 -43
  301. package/website/content/docs/types-reference/index.md +0 -105
  302. package/website/content/docs/use-cases/00-index.md +0 -395
  303. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  304. package/website/content/docs/use-cases/customer-support.md +0 -1234
  305. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  306. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  307. package/website/content/docs/versioning.md +0 -288
  308. package/website/dev.sh +0 -53
  309. package/website/docker-compose.dev.yml +0 -36
  310. package/website/lib/version.ts +0 -35
  311. package/website/lib/versions.json +0 -103
  312. package/website/next.config.ts +0 -18
  313. package/website/nginx.conf +0 -32
  314. package/website/package-lock.json +0 -9679
  315. package/website/package.json +0 -59
  316. package/website/postcss.config.mjs +0 -9
  317. package/website/scripts/fetch-versions.js +0 -166
  318. package/website/scripts/generate-examples-index.js +0 -163
  319. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  320. package/website/scripts/sync-version.js +0 -72
  321. package/website/scripts/sync-wiki.ts +0 -322
  322. package/website/scripts/upload-wiki.ts +0 -199
  323. package/website/styles/_spacing.scss +0 -453
  324. package/website/styles/_tokens.scss +0 -245
  325. package/website/styles/_typography.scss +0 -361
  326. package/website/styles/_variables.scss +0 -287
  327. package/website/tailwind.config.ts +0 -170
@@ -1,654 +0,0 @@
1
- ---
2
- title: "Observability"
3
- description: "Tracing, metrics, and logging configuration for agent monitoring"
4
- weight: 8
5
- ---
6
-
7
- # Observability Object
8
-
9
- The `observability` object in `spec.observability` configures distributed tracing, metrics collection, and logging for agent monitoring and debugging.
10
-
11
- ## Field Reference
12
-
13
- | Field Name | Type | Required | Description |
14
- |------------|------|----------|-------------|
15
- | `tracing` | [Tracing](#tracing-configuration) | No | Distributed tracing configuration |
16
- | `metrics` | [Metrics](#metrics-configuration) | No | Metrics collection and export configuration |
17
- | `logging` | [Logging](#logging-configuration) | No | Logging level and format |
18
-
19
- ## Tracing Configuration
20
-
21
- Distributed tracing captures agent execution flow across LLM calls, tool invocations, and system interactions.
22
-
23
- | Field Name | Type | Required | Description |
24
- |------------|------|----------|-------------|
25
- | `enabled` | boolean | No | Enable distributed tracing. Default: `true` |
26
- | `exporter` | string (enum) | No | Trace exporter: `otlp`, `jaeger`, `zipkin`, or `custom` |
27
- | `endpoint` | string (URI) | No | Trace collector endpoint |
28
-
29
- ### Supported Exporters
30
-
31
- #### OpenTelemetry (OTLP)
32
-
33
- ```yaml
34
- observability:
35
- tracing:
36
- enabled: true
37
- exporter: otlp
38
- endpoint: https://otel-collector.example.com:4317
39
- ```
40
-
41
- **OTLP is recommended** - Standard protocol supported by major observability platforms:
42
- - Grafana Cloud
43
- - Honeycomb
44
- - New Relic
45
- - Datadog
46
- - AWS X-Ray
47
- - Google Cloud Trace
48
-
49
- #### Jaeger
50
-
51
- ```yaml
52
- observability:
53
- tracing:
54
- enabled: true
55
- exporter: jaeger
56
- endpoint: http://jaeger-collector.example.com:14268/api/traces
57
- ```
58
-
59
- **Use for:**
60
- - Self-hosted Jaeger deployments
61
- - Existing Jaeger infrastructure
62
- - Local development (Jaeger all-in-one)
63
-
64
- #### Zipkin
65
-
66
- ```yaml
67
- observability:
68
- tracing:
69
- enabled: true
70
- exporter: zipkin
71
- endpoint: http://zipkin.example.com:9411/api/v2/spans
72
- ```
73
-
74
- **Use for:**
75
- - Legacy Zipkin deployments
76
- - Compatibility with Zipkin-based tools
77
-
78
- #### Custom Exporter
79
-
80
- ```yaml
81
- observability:
82
- tracing:
83
- enabled: true
84
- exporter: custom
85
- endpoint: https://custom-trace-collector.example.com
86
- ```
87
-
88
- Platform-specific configuration:
89
- ```yaml
90
- extensions:
91
- observability:
92
- tracing:
93
- custom_headers:
94
- Authorization: Bearer SECRET_REF_TRACE_TOKEN
95
- sampling_rate: 0.1
96
- ```
97
-
98
- ### Tracing Examples
99
-
100
- **Production (OTLP to Grafana Cloud):**
101
- ```yaml
102
- observability:
103
- tracing:
104
- enabled: true
105
- exporter: otlp
106
- endpoint: https://otlp-gateway-prod-us-central-0.grafana.net/otlp
107
- ```
108
-
109
- **Development (Local Jaeger):**
110
- ```yaml
111
- observability:
112
- tracing:
113
- enabled: true
114
- exporter: jaeger
115
- endpoint: http://localhost:14268/api/traces
116
- ```
117
-
118
- **Disabled (Testing):**
119
- ```yaml
120
- observability:
121
- tracing:
122
- enabled: false
123
- ```
124
-
125
- ## Metrics Configuration
126
-
127
- Metrics provide quantitative data about agent performance, usage, and health.
128
-
129
- | Field Name | Type | Required | Description |
130
- |------------|------|----------|-------------|
131
- | `enabled` | boolean | No | Enable metrics collection. Default: `true` |
132
- | `exporter` | string (enum) | No | Metrics exporter: `prometheus`, `otlp`, or `custom` |
133
- | `endpoint` | string (URI) | No | Metrics collector endpoint |
134
-
135
- ### Supported Exporters
136
-
137
- #### Prometheus
138
-
139
- ```yaml
140
- observability:
141
- metrics:
142
- enabled: true
143
- exporter: prometheus
144
- endpoint: http://prometheus.example.com:9090
145
- ```
146
-
147
- **Pull-based model:**
148
- - Agent exposes `/metrics` endpoint
149
- - Prometheus scrapes metrics
150
- - Most common for Kubernetes deployments
151
-
152
- **Configuration (platform-specific):**
153
- ```yaml
154
- extensions:
155
- observability:
156
- metrics:
157
- prometheus:
158
- port: 9090
159
- path: /metrics
160
- ```
161
-
162
- #### OpenTelemetry (OTLP)
163
-
164
- ```yaml
165
- observability:
166
- metrics:
167
- enabled: true
168
- exporter: otlp
169
- endpoint: https://otel-collector.example.com:4317
170
- ```
171
-
172
- **Push-based model:**
173
- - Agent pushes metrics to collector
174
- - Unified with trace collection
175
- - Recommended for cloud platforms
176
-
177
- #### Custom Exporter
178
-
179
- ```yaml
180
- observability:
181
- metrics:
182
- enabled: true
183
- exporter: custom
184
- endpoint: https://custom-metrics.example.com
185
- ```
186
-
187
- ### Common Metrics
188
-
189
- Platforms typically export these metrics:
190
-
191
- **Request Metrics:**
192
- - `agent_requests_total` - Total requests
193
- - `agent_request_duration_seconds` - Request latency
194
- - `agent_request_errors_total` - Failed requests
195
-
196
- **LLM Metrics:**
197
- - `agent_llm_calls_total` - LLM API calls
198
- - `agent_llm_tokens_total` - Token usage (input/output)
199
- - `agent_llm_cost_total` - Estimated cost
200
- - `agent_llm_latency_seconds` - LLM response time
201
-
202
- **Tool Metrics:**
203
- - `agent_tool_calls_total` - Tool invocations
204
- - `agent_tool_errors_total` - Tool failures
205
- - `agent_tool_duration_seconds` - Tool execution time
206
-
207
- **Resource Metrics:**
208
- - `agent_cpu_usage` - CPU utilization
209
- - `agent_memory_usage` - Memory consumption
210
- - `agent_concurrent_requests` - Active requests
211
-
212
- ## Logging Configuration
213
-
214
- Logging configuration controls log level and output format.
215
-
216
- | Field Name | Type | Required | Description |
217
- |------------|------|----------|-------------|
218
- | `level` | string (enum) | No | Log level: `debug`, `info`, `warn`, or `error`. Default: `info` |
219
- | `format` | string (enum) | No | Log format: `json` or `text`. Default: `json` |
220
-
221
- ### Log Levels
222
-
223
- #### debug
224
-
225
- ```yaml
226
- observability:
227
- logging:
228
- level: debug
229
- ```
230
-
231
- **Includes:**
232
- - All info, warn, error logs
233
- - LLM prompts and responses
234
- - Tool invocation details
235
- - Internal state changes
236
-
237
- **Use for:**
238
- - Development
239
- - Troubleshooting
240
- - Performance tuning
241
-
242
- **Warning:** High log volume, may include sensitive data
243
-
244
- #### info
245
-
246
- ```yaml
247
- observability:
248
- logging:
249
- level: info
250
- ```
251
-
252
- **Includes:**
253
- - Request/response summaries
254
- - LLM call completion
255
- - Tool execution
256
- - Important state changes
257
-
258
- **Use for:**
259
- - Production monitoring
260
- - Usage analytics
261
- - Audit trails
262
-
263
- **Default and recommended** for most deployments
264
-
265
- #### warn
266
-
267
- ```yaml
268
- observability:
269
- logging:
270
- level: warn
271
- ```
272
-
273
- **Includes:**
274
- - Warnings (retries, degraded performance)
275
- - Errors
276
-
277
- **Use for:**
278
- - Stable production systems
279
- - Reduced log volume
280
-
281
- #### error
282
-
283
- ```yaml
284
- observability:
285
- logging:
286
- level: error
287
- ```
288
-
289
- **Includes:**
290
- - Errors only
291
-
292
- **Use for:**
293
- - Minimal logging
294
- - High-volume systems
295
-
296
- ### Log Formats
297
-
298
- #### JSON (Structured)
299
-
300
- ```yaml
301
- observability:
302
- logging:
303
- format: json
304
- ```
305
-
306
- **Output:**
307
- ```json
308
- {
309
- "timestamp": "2024-11-17T10:30:45Z",
310
- "level": "info",
311
- "agent": "code-reviewer",
312
- "message": "Processing request",
313
- "request_id": "req-abc123",
314
- "user_id": "user-456",
315
- "tokens": 1234
316
- }
317
- ```
318
-
319
- **Benefits:**
320
- - Machine-parseable
321
- - Structured querying
322
- - Log aggregation friendly
323
- - Cloud-native standard
324
-
325
- **Recommended** for production
326
-
327
- #### Text (Human-Readable)
328
-
329
- ```yaml
330
- observability:
331
- logging:
332
- format: text
333
- ```
334
-
335
- **Output:**
336
- ```
337
- 2024-11-17T10:30:45Z INFO [code-reviewer] Processing request request_id=req-abc123 user_id=user-456 tokens=1234
338
- ```
339
-
340
- **Benefits:**
341
- - Human-readable
342
- - Easier local development
343
- - Familiar format
344
-
345
- **Use for:**
346
- - Local development
347
- - Debugging
348
- - Console output
349
-
350
- ## Complete Examples
351
-
352
- ### Production Observability Stack
353
-
354
- ```yaml
355
- apiVersion: ossa/v0.2.x
356
- kind: Agent
357
- metadata:
358
- name: production-agent
359
- version: 1.0.0
360
- spec:
361
- role: Production agent with full observability
362
-
363
- observability:
364
- tracing:
365
- enabled: true
366
- exporter: otlp
367
- endpoint: https://otel-collector.production.example.com:4317
368
-
369
- metrics:
370
- enabled: true
371
- exporter: prometheus
372
- endpoint: http://prometheus.production.example.com:9090
373
-
374
- logging:
375
- level: info
376
- format: json
377
- ```
378
-
379
- ### Development Environment
380
-
381
- ```yaml
382
- apiVersion: ossa/v0.2.x
383
- kind: Agent
384
- metadata:
385
- name: dev-agent
386
- version: 0.1.0
387
- spec:
388
- role: Development agent with verbose logging
389
-
390
- observability:
391
- tracing:
392
- enabled: true
393
- exporter: jaeger
394
- endpoint: http://localhost:14268/api/traces
395
-
396
- metrics:
397
- enabled: true
398
- exporter: prometheus
399
-
400
- logging:
401
- level: debug
402
- format: text
403
- ```
404
-
405
- ### Cloud-Native (Grafana Stack)
406
-
407
- ```yaml
408
- apiVersion: ossa/v0.2.x
409
- kind: Agent
410
- metadata:
411
- name: cloud-agent
412
- version: 2.0.0
413
- spec:
414
- role: Cloud-deployed agent with Grafana observability
415
-
416
- observability:
417
- tracing:
418
- enabled: true
419
- exporter: otlp
420
- endpoint: https://otlp-gateway-prod.grafana.net/otlp
421
-
422
- metrics:
423
- enabled: true
424
- exporter: otlp
425
- endpoint: https://otlp-gateway-prod.grafana.net/otlp
426
-
427
- logging:
428
- level: info
429
- format: json
430
- ```
431
-
432
- ### Minimal Observability
433
-
434
- ```yaml
435
- apiVersion: ossa/v0.2.x
436
- kind: Agent
437
- metadata:
438
- name: minimal-agent
439
- version: 1.0.0
440
- spec:
441
- role: Lightweight agent with minimal observability
442
-
443
- observability:
444
- tracing:
445
- enabled: false
446
-
447
- metrics:
448
- enabled: true
449
- exporter: prometheus
450
-
451
- logging:
452
- level: warn
453
- format: json
454
- ```
455
-
456
- ### High-Volume Agent
457
-
458
- ```yaml
459
- apiVersion: ossa/v0.2.x
460
- kind: Agent
461
- metadata:
462
- name: high-volume-agent
463
- version: 1.0.0
464
- spec:
465
- role: High-volume agent with optimized observability
466
-
467
- observability:
468
- tracing:
469
- enabled: true
470
- exporter: otlp
471
- endpoint: https://otel-collector.example.com:4317
472
- # Platform-specific: sampling
473
- metrics:
474
- enabled: true
475
- exporter: otlp
476
- endpoint: https://otel-collector.example.com:4317
477
- logging:
478
- level: warn # Reduced log volume
479
- format: json
480
-
481
- extensions:
482
- observability:
483
- tracing:
484
- sampling_rate: 0.1 # Sample 10% of traces
485
- ```
486
-
487
- ## Integration Examples
488
-
489
- ### Grafana Cloud
490
-
491
- ```yaml
492
- observability:
493
- tracing:
494
- enabled: true
495
- exporter: otlp
496
- endpoint: https://otlp-gateway-prod-us-central-0.grafana.net/otlp
497
-
498
- metrics:
499
- enabled: true
500
- exporter: otlp
501
- endpoint: https://otlp-gateway-prod-us-central-0.grafana.net/otlp
502
-
503
- logging:
504
- level: info
505
- format: json
506
-
507
- extensions:
508
- observability:
509
- grafana_cloud:
510
- instance_id: "123456"
511
- api_key: SECRET_REF_GRAFANA_API_KEY
512
- ```
513
-
514
- ### Datadog
515
-
516
- ```yaml
517
- observability:
518
- tracing:
519
- enabled: true
520
- exporter: otlp
521
- endpoint: https://trace.agent.datadoghq.com:4317
522
-
523
- metrics:
524
- enabled: true
525
- exporter: otlp
526
- endpoint: https://metrics.agent.datadoghq.com:4317
527
-
528
- logging:
529
- level: info
530
- format: json
531
-
532
- extensions:
533
- observability:
534
- datadog:
535
- api_key: SECRET_REF_DATADOG_API_KEY
536
- site: datadoghq.com
537
- ```
538
-
539
- ### Self-Hosted (Prometheus + Jaeger + Loki)
540
-
541
- ```yaml
542
- observability:
543
- tracing:
544
- enabled: true
545
- exporter: jaeger
546
- endpoint: http://jaeger-collector.monitoring:14268/api/traces
547
-
548
- metrics:
549
- enabled: true
550
- exporter: prometheus
551
- endpoint: http://prometheus.monitoring:9090
552
-
553
- logging:
554
- level: info
555
- format: json
556
-
557
- extensions:
558
- observability:
559
- loki:
560
- endpoint: http://loki.monitoring:3100
561
- labels:
562
- environment: production
563
- service: agents
564
- ```
565
-
566
- ## Observability Best Practices
567
-
568
- 1. **Enable by default** - Always configure observability in production
569
- 2. **Use structured logging** - Prefer JSON format for production
570
- 3. **Start with info level** - Adjust based on needs
571
- 4. **Centralize collection** - Use OTLP when possible
572
- 5. **Monitor costs** - High log volumes can be expensive
573
- 6. **Sample traces** - Use sampling for high-volume agents
574
- 7. **Alert on metrics** - Set up alerts for SLO violations
575
- 8. **Correlate signals** - Use trace IDs to correlate logs/metrics/traces
576
- 9. **Secure endpoints** - Use authentication for collector endpoints
577
- 10. **Test locally** - Validate observability config before production
578
-
579
- ## Trace Context Propagation
580
-
581
- OSSA agents should propagate trace context through:
582
- - LLM API calls
583
- - Tool invocations
584
- - Sub-agent communication
585
- - External API calls
586
-
587
- **W3C Trace Context headers:**
588
- ```
589
- traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
590
- tracestate: vendor=value
591
- ```
592
-
593
- Platform implementations handle propagation automatically.
594
-
595
- ## Common Metrics Queries
596
-
597
- ### Prometheus
598
-
599
- ```promql
600
- # Request rate
601
- rate(agent_requests_total[5m])
602
-
603
- # Error rate
604
- rate(agent_request_errors_total[5m]) / rate(agent_requests_total[5m])
605
-
606
- # 95th percentile latency
607
- histogram_quantile(0.95, rate(agent_request_duration_seconds_bucket[5m]))
608
-
609
- # Token usage per day
610
- sum(increase(agent_llm_tokens_total[24h]))
611
-
612
- # Cost per agent
613
- sum(agent_llm_cost_total) by (agent)
614
- ```
615
-
616
- ## Privacy Considerations
617
-
618
- **Sensitive data in logs:**
619
- ```yaml
620
- # ❌ Debug logs may include user data
621
- observability:
622
- logging:
623
- level: debug # Includes prompts, responses
624
-
625
- # ✅ Info level excludes sensitive details
626
- observability:
627
- logging:
628
- level: info # Summaries only
629
- ```
630
-
631
- **Platform-specific log filtering:**
632
- ```yaml
633
- extensions:
634
- observability:
635
- logging:
636
- redact_patterns:
637
- - "password"
638
- - "api_key"
639
- - "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b" # Emails
640
- pii_detection: true
641
- ```
642
-
643
- ## Related Objects
644
-
645
- - [Agent Spec](./agent-spec.md) - Parent object containing observability
646
- - [Constraints](./constraints.md) - Performance metrics and limits
647
- - [Extensions](./extensions/) - Platform-specific observability features
648
-
649
- ## See Also
650
-
651
- - [OpenTelemetry](https://opentelemetry.io/)
652
- - [Prometheus](https://prometheus.io/)
653
- - [Jaeger](https://www.jaegertracing.io/)
654
- - [Grafana](https://grafana.com/)