@bluefly/openstandardagents 0.2.5-RC → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  5. package/.github/workflows/dependabot-comment.yml +34 -0
  6. package/.github/workflows/pr-comment.yml +33 -0
  7. package/.husky/pre-commit +5 -0
  8. package/.kiro/config.json +21 -0
  9. package/.kiro/settings/mcp.json +61 -0
  10. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  11. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  12. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  13. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  14. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  15. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  16. package/.version.json +2 -2
  17. package/.wiki-config.json +24 -0
  18. package/CHANGELOG.md +34 -18
  19. package/CODEOWNERS +75 -0
  20. package/CONTRIBUTING.md +1 -1
  21. package/README.md +176 -239
  22. package/bin/ossa-dev +42 -0
  23. package/bin/ossa-export +32 -0
  24. package/bin/ossa-generate +60 -0
  25. package/bin/ossa-health +40 -0
  26. package/bin/ossa-init +26 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/repositories/schema.repository.d.ts +6 -1
  32. package/dist/repositories/schema.repository.d.ts.map +1 -1
  33. package/dist/repositories/schema.repository.js +63 -36
  34. package/dist/repositories/schema.repository.js.map +1 -1
  35. package/dist/services/github-sync/github-client.d.ts +14 -0
  36. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  37. package/dist/services/github-sync/github-client.js +41 -0
  38. package/dist/services/github-sync/github-client.js.map +1 -0
  39. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  40. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  41. package/dist/services/github-sync/gitlab-client.js +42 -0
  42. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  43. package/dist/services/github-sync/schemas.d.ts +46 -0
  44. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  45. package/dist/services/github-sync/schemas.js +36 -0
  46. package/dist/services/github-sync/schemas.js.map +1 -0
  47. package/dist/services/github-sync/sync.service.d.ts +27 -0
  48. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  49. package/dist/services/github-sync/sync.service.js +99 -0
  50. package/dist/services/github-sync/sync.service.js.map +1 -0
  51. package/dist/services/migration.service.d.ts +4 -3
  52. package/dist/services/migration.service.d.ts.map +1 -1
  53. package/dist/services/migration.service.js +11 -10
  54. package/dist/services/migration.service.js.map +1 -1
  55. package/dist/services/release-automation/release.service.js +1 -1
  56. package/dist/services/release-automation/release.service.js.map +1 -1
  57. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  58. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  59. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  60. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  61. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  62. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  63. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  64. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  65. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  66. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  67. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  68. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  69. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  70. package/dist/services/runtime/claude/types.d.ts +115 -0
  71. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  72. package/dist/services/runtime/claude/types.js +6 -0
  73. package/dist/services/runtime/claude/types.js.map +1 -0
  74. package/dist/services/validation.service.d.ts.map +1 -1
  75. package/dist/services/validation.service.js +12 -1
  76. package/dist/services/validation.service.js.map +1 -1
  77. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  78. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  79. package/dist/spec/v0.2.6/README.md +72 -0
  80. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  81. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  82. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  83. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  84. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  85. package/dist/spec/v0.2.6-dev/README.md +75 -0
  86. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  87. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  88. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  89. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  90. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  91. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  92. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  93. package/dist/spec/v0.2.8/README.md +72 -0
  94. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  95. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  96. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  97. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  98. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  99. package/dist/types/index.d.ts +3 -2
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/utils/index.d.ts +6 -0
  102. package/dist/utils/index.d.ts.map +1 -0
  103. package/dist/utils/index.js +6 -0
  104. package/dist/utils/index.js.map +1 -0
  105. package/dist/utils/version.d.ts +68 -0
  106. package/dist/utils/version.d.ts.map +1 -0
  107. package/dist/utils/version.js +156 -0
  108. package/dist/utils/version.js.map +1 -0
  109. package/docs/brand-guide/01-brand-overview.md +37 -0
  110. package/docs/brand-guide/02-logo-usage.md +43 -0
  111. package/docs/brand-guide/03-color-palette.md +70 -0
  112. package/docs/brand-guide/04-typography.md +82 -0
  113. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  114. package/docs/brand-guide/06-visual-elements.md +137 -0
  115. package/docs/brand-guide/07-application-examples.md +153 -0
  116. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  117. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  118. package/docs/brand-guide/README.md +107 -0
  119. package/docs/comparison.md +315 -0
  120. package/docs/operations/automation-roadmap.md +245 -0
  121. package/docs/operations/github-sync-strategy.md +357 -0
  122. package/eslint-report.json +1 -0
  123. package/examples/adk-integration/code-review-workflow.yml +1 -1
  124. package/examples/adk-integration/customer-support.yml +1 -1
  125. package/examples/adk-integration/data-pipeline.yml +1 -1
  126. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  127. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  128. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  129. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  130. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  131. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  132. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  133. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  134. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  135. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  136. package/examples/autogen/multi-agent.ossa.json +6 -4
  137. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  138. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  139. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  140. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  141. package/examples/crewai/research-team.ossa.json +14 -5
  142. package/examples/cursor/code-review-agent.ossa.json +21 -6
  143. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  144. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  145. package/examples/extensions/drupal-v1.yml +1 -1
  146. package/examples/extensions/kagent-v1.yml +1 -1
  147. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  148. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  149. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  150. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  151. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  152. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  153. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  154. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  155. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  156. package/examples/langchain/chain-agent.ossa.json +21 -5
  157. package/examples/langflow/workflow-agent.ossa.json +2 -3
  158. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  159. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  160. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  161. package/examples/multi-agent/README.md +74 -0
  162. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  163. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  164. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  165. package/examples/openai/basic-agent.ossa.yaml +1 -1
  166. package/examples/openai/multi-tool-agent.ossa.json +33 -10
  167. package/examples/openai/swarm-agent.ossa.json +18 -5
  168. package/examples/production/document-analyzer-openai.yml +1 -1
  169. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  170. package/examples/spec-examples/audit-agent.yml +1 -1
  171. package/examples/spec-examples/chat-agent.yml +1 -1
  172. package/examples/spec-examples/compliance-agent.yml +1 -1
  173. package/examples/spec-examples/monitoring-agent.yml +1 -1
  174. package/examples/spec-examples/workflow-agent.yml +1 -1
  175. package/examples/templates/ossa-compliance.yaml +1 -1
  176. package/examples/vercel/edge-agent.ossa.json +5 -4
  177. package/gl-code-quality-report.json +62 -0
  178. package/llms-ctx-full.txt +39 -0
  179. package/llms-ctx.txt +39 -0
  180. package/llms.txt +47 -0
  181. package/openapi/github-sync.yaml +115 -0
  182. package/package.json +26 -4
  183. package/scripts/README.md +103 -0
  184. package/scripts/auto-rebase-mrs.ts +106 -0
  185. package/scripts/batch-dependabot.sh +57 -0
  186. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  187. package/scripts/create-issue-helper.ts +238 -0
  188. package/scripts/create-milestone-issue.ts +73 -0
  189. package/scripts/eslint-to-codequality.cjs +34 -0
  190. package/scripts/fix-schema-formats.js +82 -0
  191. package/scripts/generate-agents-catalog.ts +77 -0
  192. package/scripts/generate-api-docs.ts +218 -0
  193. package/scripts/generate-cli-docs.ts +410 -0
  194. package/scripts/generate-config-docs.ts +109 -0
  195. package/scripts/generate-errors-docs.ts +76 -0
  196. package/scripts/generate-examples-docs.ts +99 -0
  197. package/scripts/generate-llms-ctx.sh +17 -0
  198. package/scripts/generate-schema-docs.ts +317 -0
  199. package/scripts/generate-types-docs.ts +48 -0
  200. package/scripts/lowercase-docs.ts +43 -0
  201. package/scripts/manage-milestone-mrs.ts +279 -0
  202. package/scripts/rebase-all-mrs.sh +75 -0
  203. package/scripts/sync-github-pr.sh +48 -0
  204. package/scripts/sync-version.js +32 -0
  205. package/scripts/sync-wiki.sh +50 -0
  206. package/scripts/validate-all.js +127 -0
  207. package/scripts/validate-schema.ts +2 -1
  208. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  209. package/spec/v0.2.6/CHANGELOG.md +401 -0
  210. package/spec/v0.2.6/README.md +72 -0
  211. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  212. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  213. package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  214. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  215. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  216. package/spec/v0.2.6-dev/README.md +75 -0
  217. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  218. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  220. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  221. package/spec/v0.2.7/core/agentgraph.md +324 -0
  222. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  223. package/spec/v0.2.8/CHANGELOG.md +401 -0
  224. package/spec/v0.2.8/README.md +72 -0
  225. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  226. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  227. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  228. package/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  229. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  230. package/test-results/junit.xml +299 -0
  231. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  232. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  233. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  234. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  235. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  236. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  237. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  238. package/docs/issue-19-completion-summary.md +0 -648
  239. package/docs/issue-19-validation.md +0 -351
  240. package/scripts/lib/exec.ts +0 -37
  241. package/scripts/lib/file-ops.ts +0 -58
  242. package/scripts/lib/version.ts +0 -83
  243. package/website/.lighthouserc.ts +0 -24
  244. package/website/.prettierrc +0 -10
  245. package/website/Dockerfile +0 -30
  246. package/website/app/about/page.tsx +0 -295
  247. package/website/app/blog/[slug]/page.tsx +0 -208
  248. package/website/app/blog/page.tsx +0 -249
  249. package/website/app/design-guide/page.tsx +0 -511
  250. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  251. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  252. package/website/app/ecosystem/page.tsx +0 -375
  253. package/website/app/examples/page.tsx +0 -133
  254. package/website/app/globals.scss +0 -135
  255. package/website/app/layout.tsx +0 -106
  256. package/website/app/license/page.tsx +0 -183
  257. package/website/app/not-found.tsx +0 -18
  258. package/website/app/page.tsx +0 -474
  259. package/website/app/playground/page.tsx +0 -487
  260. package/website/app/robots.ts +0 -19
  261. package/website/app/rss.xml/route.ts +0 -74
  262. package/website/app/schema/page.tsx +0 -1001
  263. package/website/app/sitemap.ts +0 -56
  264. package/website/app/specification/page.tsx +0 -287
  265. package/website/components/InstallCommand.tsx +0 -96
  266. package/website/components/Logo.tsx +0 -97
  267. package/website/components/StructuredData.tsx +0 -65
  268. package/website/components/docs/DocsSearch.tsx +0 -104
  269. package/website/components/docs/DocsSidebar.tsx +0 -155
  270. package/website/components/docs/MarkdownContent.tsx +0 -401
  271. package/website/components/docs/VersionSelector.tsx +0 -105
  272. package/website/components/examples/ExamplesViewer.tsx +0 -293
  273. package/website/components/layout/Footer.tsx +0 -116
  274. package/website/components/layout/Header.tsx +0 -168
  275. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  276. package/website/components/schema/SchemaExplorer.tsx +0 -213
  277. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  278. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  279. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  280. package/website/content/blog/introducing-ossa-framework.md +0 -328
  281. package/website/content/blog/ossa-production-results.md +0 -279
  282. package/website/content/blog/welcome-to-ossa.md +0 -43
  283. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  284. package/website/content/docs/00-HOME.md +0 -153
  285. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  286. package/website/content/docs/Examples.md +0 -71
  287. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  288. package/website/content/docs/adapters/openai-adapter.md +0 -693
  289. package/website/content/docs/architecture/execution-flow.md +0 -335
  290. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  291. package/website/content/docs/architecture/overview.md +0 -121
  292. package/website/content/docs/architecture/stack-integration.md +0 -461
  293. package/website/content/docs/changelog.md +0 -246
  294. package/website/content/docs/contributing.md +0 -599
  295. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  296. package/website/content/docs/ecosystem/framework-support.md +0 -819
  297. package/website/content/docs/ecosystem/overview.md +0 -366
  298. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  299. package/website/content/docs/examples/Migration-Guides.md +0 -214
  300. package/website/content/docs/for-audiences/Architects.md +0 -224
  301. package/website/content/docs/for-audiences/Developers.md +0 -220
  302. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  303. package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
  304. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  305. package/website/content/docs/getting-started/First-Agent.md +0 -196
  306. package/website/content/docs/getting-started/Hello-World.md +0 -184
  307. package/website/content/docs/getting-started/Installation.md +0 -155
  308. package/website/content/docs/getting-started/index.md +0 -92
  309. package/website/content/docs/getting-started/running-agents.md +0 -309
  310. package/website/content/docs/getting-started.md +0 -91
  311. package/website/content/docs/integrations/aiflow.md +0 -104
  312. package/website/content/docs/integrations/drupal.md +0 -105
  313. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  314. package/website/content/docs/migration-guides/README.md +0 -133
  315. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  316. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  317. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  318. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  319. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  320. package/website/content/docs/migration-guides/index.md +0 -133
  321. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  322. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  323. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  324. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  325. package/website/content/docs/openapi-extensions/examples.md +0 -550
  326. package/website/content/docs/openapi-extensions/index.md +0 -551
  327. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  328. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  329. package/website/content/docs/ossa-compliant-badge.md +0 -251
  330. package/website/content/docs/pre-release/index.md +0 -175
  331. package/website/content/docs/quick-reference.md +0 -17
  332. package/website/content/docs/readme.md +0 -35
  333. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  334. package/website/content/docs/schema-reference/autonomy.md +0 -568
  335. package/website/content/docs/schema-reference/constraints.md +0 -543
  336. package/website/content/docs/schema-reference/index.md +0 -176
  337. package/website/content/docs/schema-reference/llm-config.md +0 -445
  338. package/website/content/docs/schema-reference/observability.md +0 -654
  339. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  340. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  341. package/website/content/docs/schema-reference/tools.md +0 -628
  342. package/website/content/docs/templates/blog-post.md +0 -43
  343. package/website/content/docs/use-cases/00-index.md +0 -395
  344. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  345. package/website/content/docs/use-cases/customer-support.md +0 -1234
  346. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  347. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  348. package/website/content/docs/versioning.md +0 -288
  349. package/website/lib/version.ts +0 -35
  350. package/website/lib/versions.json +0 -78
  351. package/website/next.config.ts +0 -18
  352. package/website/nginx.conf +0 -32
  353. package/website/package-lock.json +0 -9679
  354. package/website/package.json +0 -59
  355. package/website/postcss.config.mjs +0 -9
  356. package/website/scripts/fetch-versions.js +0 -166
  357. package/website/scripts/generate-examples-index.js +0 -163
  358. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  359. package/website/scripts/sync-version.js +0 -72
  360. package/website/scripts/sync-wiki.ts +0 -322
  361. package/website/scripts/upload-wiki.ts +0 -199
  362. package/website/styles/_variables.scss +0 -36
  363. package/website/tailwind.config.ts +0 -136
  364. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  365. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Claude Runtime Adapter
3
+ * Runs OSSA agents using Anthropic's Claude API
4
+ */
5
+ import Anthropic from '@anthropic-ai/sdk';
6
+ import { ManifestParser } from './manifest-parser.js';
7
+ import { CapabilityMapper } from './capability-mapper.js';
8
+ import type { OssaManifestWithAnthropic, ClaudeRunOptions, ClaudeAdapterConfig, AgentInfo, ToolHandler, ClaudeTool } from './types.js';
9
+ /**
10
+ * Claude adapter for executing OSSA agents
11
+ */
12
+ export declare class ClaudeAdapter {
13
+ private client;
14
+ private parser;
15
+ private mapper;
16
+ private messages;
17
+ private conversationHistory;
18
+ constructor(config: ClaudeAdapterConfig);
19
+ /**
20
+ * Initialize tools from manifest
21
+ */
22
+ private initializeTools;
23
+ /**
24
+ * Register a tool handler
25
+ */
26
+ registerToolHandler(name: string, handler: ToolHandler): boolean;
27
+ /**
28
+ * Execute a tool call
29
+ */
30
+ private executeTool;
31
+ /**
32
+ * Initialize the conversation
33
+ */
34
+ initialize(): void;
35
+ /**
36
+ * Send a message and get a response
37
+ */
38
+ chat(userMessage: string, options?: ClaudeRunOptions): Promise<string>;
39
+ /**
40
+ * Stream a response (for future implementation)
41
+ */
42
+ chatStream(userMessage: string, options?: ClaudeRunOptions): Promise<AsyncIterable<string>>;
43
+ /**
44
+ * Get agent information
45
+ */
46
+ getAgentInfo(): AgentInfo;
47
+ /**
48
+ * Get conversation history
49
+ */
50
+ getConversationHistory(): Anthropic.MessageParam[];
51
+ /**
52
+ * Clear conversation history
53
+ */
54
+ clearHistory(): void;
55
+ /**
56
+ * Get available tools
57
+ */
58
+ getTools(): ClaudeTool[];
59
+ /**
60
+ * Get the Anthropic client (for advanced usage)
61
+ */
62
+ getClient(): Anthropic;
63
+ /**
64
+ * Get the manifest parser
65
+ */
66
+ getParser(): ManifestParser;
67
+ /**
68
+ * Get the capability mapper
69
+ */
70
+ getMapper(): CapabilityMapper;
71
+ /**
72
+ * Create a Claude adapter from a manifest file
73
+ */
74
+ static fromFile(manifestPath: string, apiKey?: string): Promise<ClaudeAdapter>;
75
+ /**
76
+ * Create a Claude adapter from a manifest object
77
+ */
78
+ static fromManifest(manifest: OssaManifestWithAnthropic, apiKey?: string): ClaudeAdapter;
79
+ }
80
+ //# sourceMappingURL=claude-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../../../src/services/runtime/claude/claude-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,yBAAyB,EAEzB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,mBAAmB,CAAgC;gBAE/C,MAAM,EAAE,mBAAmB;IA6BvC;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO;IAIhE;;OAEG;YACW,WAAW;IA6BzB;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC;IAgIlB;;OAEG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IA+BjC;;OAEG;IACH,YAAY,IAAI,SAAS;IAYzB;;OAEG;IACH,sBAAsB,IAAI,SAAS,CAAC,YAAY,EAAE;IAIlD;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE;IAIxB;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;OAEG;WACU,QAAQ,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC;IAazB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,yBAAyB,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,aAAa;CAMjB"}
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Claude Runtime Adapter
3
+ * Runs OSSA agents using Anthropic's Claude API
4
+ */
5
+ import Anthropic from '@anthropic-ai/sdk';
6
+ import { ManifestParser } from './manifest-parser.js';
7
+ import { CapabilityMapper } from './capability-mapper.js';
8
+ /**
9
+ * Claude adapter for executing OSSA agents
10
+ */
11
+ export class ClaudeAdapter {
12
+ client;
13
+ parser;
14
+ mapper;
15
+ messages = [];
16
+ conversationHistory = [];
17
+ constructor(config) {
18
+ // Initialize Anthropic client
19
+ this.client = new Anthropic({
20
+ apiKey: config.apiKey || process.env.ANTHROPIC_API_KEY,
21
+ });
22
+ // Initialize parser and mapper
23
+ this.parser = new ManifestParser(config.manifest);
24
+ this.mapper = new CapabilityMapper();
25
+ // Validate manifest
26
+ const validation = this.parser.validate();
27
+ if (!validation.valid) {
28
+ throw new Error(`Invalid OSSA manifest: ${validation.errors.join(', ')}`);
29
+ }
30
+ // Check if Anthropic integration is enabled
31
+ if (!this.parser.isAnthropicEnabled()) {
32
+ console.warn('Warning: Anthropic extension is disabled in manifest');
33
+ }
34
+ // Initialize tools
35
+ this.initializeTools();
36
+ }
37
+ /**
38
+ * Initialize tools from manifest
39
+ */
40
+ initializeTools() {
41
+ // Map Claude extension tools first (highest priority)
42
+ const anthropicExt = this.parser.getAnthropicExtension();
43
+ if (anthropicExt?.tools) {
44
+ this.mapper.mapClaudeTools(anthropicExt.tools);
45
+ }
46
+ // Map OSSA spec tools
47
+ const specTools = this.parser.getSpecTools();
48
+ this.mapper.mapOssaTools(specTools);
49
+ // Map MCP capabilities if any
50
+ for (const tool of specTools) {
51
+ if (tool.type === 'mcp' && tool.capabilities) {
52
+ this.mapper.mapMcpCapabilities(tool.capabilities);
53
+ }
54
+ else if (tool.type === 'http') {
55
+ this.mapper.mapHttpTool(tool);
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * Register a tool handler
61
+ */
62
+ registerToolHandler(name, handler) {
63
+ return this.mapper.registerToolHandler(name, handler);
64
+ }
65
+ /**
66
+ * Execute a tool call
67
+ */
68
+ async executeTool(name, input) {
69
+ const tool = this.mapper.getTool(name);
70
+ if (!tool) {
71
+ return JSON.stringify({
72
+ error: `Tool '${name}' not found`,
73
+ });
74
+ }
75
+ if (tool.handler) {
76
+ try {
77
+ return await tool.handler(input);
78
+ }
79
+ catch (error) {
80
+ return JSON.stringify({
81
+ error: `Error executing ${name}: ${error instanceof Error ? error.message : String(error)}`,
82
+ });
83
+ }
84
+ }
85
+ // Default: return placeholder response
86
+ return JSON.stringify({
87
+ message: `Tool '${name}' executed`,
88
+ input,
89
+ note: 'No handler registered for this tool',
90
+ });
91
+ }
92
+ /**
93
+ * Initialize the conversation
94
+ */
95
+ initialize() {
96
+ this.messages = [];
97
+ this.conversationHistory = [];
98
+ }
99
+ /**
100
+ * Send a message and get a response
101
+ */
102
+ async chat(userMessage, options) {
103
+ // Add user message to history
104
+ this.conversationHistory.push({
105
+ role: 'user',
106
+ content: userMessage,
107
+ });
108
+ const tools = this.mapper.getClaudeTools();
109
+ let turnCount = 0;
110
+ const maxTurns = options?.maxTurns || 10;
111
+ while (turnCount < maxTurns) {
112
+ turnCount++;
113
+ if (options?.verbose) {
114
+ console.log(`\n[Turn ${turnCount}/${maxTurns}]`);
115
+ }
116
+ // Call Claude API
117
+ const response = await this.client.messages.create({
118
+ model: this.parser.getModel(),
119
+ max_tokens: this.parser.getMaxTokens(),
120
+ temperature: this.parser.getTemperature(),
121
+ system: this.parser.getSystemPrompt(),
122
+ messages: this.conversationHistory,
123
+ tools: tools.length > 0 ? tools : undefined,
124
+ stop_sequences: this.parser.getStopSequences(),
125
+ });
126
+ if (options?.verbose) {
127
+ console.log(` Model: ${response.model}, Stop: ${response.stop_reason}`);
128
+ console.log(` Tokens: ${response.usage.input_tokens} in, ${response.usage.output_tokens} out`);
129
+ }
130
+ // Add assistant response to history
131
+ this.conversationHistory.push({
132
+ role: 'assistant',
133
+ content: response.content,
134
+ });
135
+ // Check if we need to execute tools
136
+ const toolUses = response.content.filter((block) => block.type === 'tool_use');
137
+ if (toolUses.length > 0) {
138
+ if (options?.verbose) {
139
+ console.log(` [Executing ${toolUses.length} tool(s)...]`);
140
+ }
141
+ // Execute all tool calls
142
+ const toolResults = [];
143
+ for (const toolUse of toolUses) {
144
+ if (toolUse.type !== 'tool_use')
145
+ continue;
146
+ const { id, name, input } = toolUse;
147
+ if (options?.verbose) {
148
+ console.log(` → ${name}(${JSON.stringify(input).substring(0, 100)}...)`);
149
+ }
150
+ const result = await this.executeTool(name, input);
151
+ if (options?.verbose) {
152
+ console.log(` ← ${result.substring(0, 100)}${result.length > 100 ? '...' : ''}`);
153
+ }
154
+ toolResults.push({
155
+ type: 'tool_result',
156
+ tool_use_id: id,
157
+ content: result,
158
+ });
159
+ }
160
+ // Add tool results to conversation
161
+ this.conversationHistory.push({
162
+ role: 'user',
163
+ content: toolResults,
164
+ });
165
+ // Continue the loop to get final response
166
+ continue;
167
+ }
168
+ // Check if we have a text response
169
+ const textBlocks = response.content.filter((block) => block.type === 'text');
170
+ if (textBlocks.length > 0) {
171
+ return textBlocks
172
+ .map((block) => (block.type === 'text' ? block.text : ''))
173
+ .join('\n');
174
+ }
175
+ // No text and no tool calls - unexpected
176
+ if (response.stop_reason === 'end_turn') {
177
+ return '';
178
+ }
179
+ // Max tokens or stop sequence reached
180
+ if (response.stop_reason === 'max_tokens' ||
181
+ response.stop_reason === 'stop_sequence') {
182
+ return '[Response truncated due to length limit]';
183
+ }
184
+ }
185
+ return '[Max turns reached without completion]';
186
+ }
187
+ /**
188
+ * Stream a response (for future implementation)
189
+ */
190
+ async chatStream(userMessage, options) {
191
+ // Add user message to history
192
+ this.conversationHistory.push({
193
+ role: 'user',
194
+ content: userMessage,
195
+ });
196
+ const tools = this.mapper.getClaudeTools();
197
+ const stream = await this.client.messages.stream({
198
+ model: this.parser.getModel(),
199
+ max_tokens: this.parser.getMaxTokens(),
200
+ temperature: this.parser.getTemperature(),
201
+ system: this.parser.getSystemPrompt(),
202
+ messages: this.conversationHistory,
203
+ tools: tools.length > 0 ? tools : undefined,
204
+ });
205
+ // Return async generator
206
+ return (async function* () {
207
+ for await (const chunk of stream) {
208
+ if (chunk.type === 'content_block_delta' &&
209
+ chunk.delta.type === 'text_delta') {
210
+ yield chunk.delta.text;
211
+ }
212
+ }
213
+ })();
214
+ }
215
+ /**
216
+ * Get agent information
217
+ */
218
+ getAgentInfo() {
219
+ const metadata = this.parser.getMetadata();
220
+ const tools = Array.from(this.mapper.getTools().keys());
221
+ return {
222
+ name: metadata.name,
223
+ model: this.parser.getModel(),
224
+ tools,
225
+ provider: 'anthropic',
226
+ };
227
+ }
228
+ /**
229
+ * Get conversation history
230
+ */
231
+ getConversationHistory() {
232
+ return this.conversationHistory;
233
+ }
234
+ /**
235
+ * Clear conversation history
236
+ */
237
+ clearHistory() {
238
+ this.conversationHistory = [];
239
+ this.messages = [];
240
+ }
241
+ /**
242
+ * Get available tools
243
+ */
244
+ getTools() {
245
+ return this.mapper.getClaudeTools();
246
+ }
247
+ /**
248
+ * Get the Anthropic client (for advanced usage)
249
+ */
250
+ getClient() {
251
+ return this.client;
252
+ }
253
+ /**
254
+ * Get the manifest parser
255
+ */
256
+ getParser() {
257
+ return this.parser;
258
+ }
259
+ /**
260
+ * Get the capability mapper
261
+ */
262
+ getMapper() {
263
+ return this.mapper;
264
+ }
265
+ /**
266
+ * Create a Claude adapter from a manifest file
267
+ */
268
+ static async fromFile(manifestPath, apiKey) {
269
+ const fs = await import('fs/promises');
270
+ const manifestContent = await fs.readFile(manifestPath, 'utf-8');
271
+ const manifest = JSON.parse(manifestContent);
272
+ return new ClaudeAdapter({
273
+ manifest,
274
+ apiKey,
275
+ });
276
+ }
277
+ /**
278
+ * Create a Claude adapter from a manifest object
279
+ */
280
+ static fromManifest(manifest, apiKey) {
281
+ return new ClaudeAdapter({
282
+ manifest,
283
+ apiKey,
284
+ });
285
+ }
286
+ }
287
+ //# sourceMappingURL=claude-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../../../src/services/runtime/claude/claude-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Manifest Parser for Claude Adapter
3
+ * Parses OSSA manifest files and extracts Claude/Anthropic-specific configuration
4
+ */
5
+ import type { OssaManifestWithAnthropic, AnthropicExtension } from './types.js';
6
+ /**
7
+ * Parse and validate OSSA manifest for Claude adapter
8
+ */
9
+ export declare class ManifestParser {
10
+ private manifest;
11
+ constructor(manifest: OssaManifestWithAnthropic);
12
+ /**
13
+ * Get the Claude model to use
14
+ * Priority: extensions.anthropic.model > spec.llm.model > default
15
+ */
16
+ getModel(): string;
17
+ /**
18
+ * Get system prompt for Claude
19
+ * Priority: extensions.anthropic.system > spec.role > default
20
+ */
21
+ getSystemPrompt(): string;
22
+ /**
23
+ * Get max tokens configuration
24
+ * Priority: extensions.anthropic.max_tokens > spec.llm.maxTokens > default
25
+ */
26
+ getMaxTokens(): number;
27
+ /**
28
+ * Get temperature configuration
29
+ * Priority: extensions.anthropic.temperature > spec.llm.temperature > default
30
+ */
31
+ getTemperature(): number;
32
+ /**
33
+ * Get streaming configuration
34
+ */
35
+ getStreaming(): boolean;
36
+ /**
37
+ * Get stop sequences
38
+ */
39
+ getStopSequences(): string[] | undefined;
40
+ /**
41
+ * Get Anthropic extension configuration
42
+ */
43
+ getAnthropicExtension(): AnthropicExtension | undefined;
44
+ /**
45
+ * Get agent metadata
46
+ */
47
+ getMetadata(): {
48
+ name: string;
49
+ version?: string;
50
+ description?: string;
51
+ };
52
+ /**
53
+ * Get OSSA spec tools (for mapping to Claude tools)
54
+ */
55
+ getSpecTools(): Array<{
56
+ type: string;
57
+ name?: string;
58
+ capabilities?: string[];
59
+ config?: Record<string, unknown>;
60
+ }>;
61
+ /**
62
+ * Check if Claude/Anthropic integration is enabled
63
+ */
64
+ isAnthropicEnabled(): boolean;
65
+ /**
66
+ * Validate manifest has required fields
67
+ */
68
+ validate(): {
69
+ valid: boolean;
70
+ errors: string[];
71
+ };
72
+ /**
73
+ * Get full manifest
74
+ */
75
+ getManifest(): OssaManifestWithAnthropic;
76
+ }
77
+ //# sourceMappingURL=manifest-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/runtime/claude/manifest-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,QAAQ,EAAE,yBAAyB;IAI/C;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAelB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAezB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAetB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAiBxB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS;IAIxC;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,SAAS;IAIvD;;OAEG;IACH,WAAW,IAAI;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IA0BD;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IAIF;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAkChD;;OAEG;IACH,WAAW,IAAI,yBAAyB;CAGzC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Manifest Parser for Claude Adapter
3
+ * Parses OSSA manifest files and extracts Claude/Anthropic-specific configuration
4
+ */
5
+ /**
6
+ * Parse and validate OSSA manifest for Claude adapter
7
+ */
8
+ export class ManifestParser {
9
+ manifest;
10
+ constructor(manifest) {
11
+ this.manifest = manifest;
12
+ }
13
+ /**
14
+ * Get the Claude model to use
15
+ * Priority: extensions.anthropic.model > spec.llm.model > default
16
+ */
17
+ getModel() {
18
+ // Check Anthropic extension first
19
+ if (this.manifest.extensions?.anthropic?.model) {
20
+ return this.manifest.extensions.anthropic.model;
21
+ }
22
+ // Fall back to LLM config
23
+ if (this.manifest.spec?.llm?.model) {
24
+ return this.manifest.spec.llm.model;
25
+ }
26
+ // Default to latest Claude Sonnet
27
+ return 'claude-3-5-sonnet-20241022';
28
+ }
29
+ /**
30
+ * Get system prompt for Claude
31
+ * Priority: extensions.anthropic.system > spec.role > default
32
+ */
33
+ getSystemPrompt() {
34
+ // Check Anthropic extension first
35
+ if (this.manifest.extensions?.anthropic?.system) {
36
+ return this.manifest.extensions.anthropic.system;
37
+ }
38
+ // Fall back to role
39
+ if (this.manifest.spec?.role) {
40
+ return this.manifest.spec.role;
41
+ }
42
+ // Default system prompt
43
+ return 'You are a helpful AI assistant.';
44
+ }
45
+ /**
46
+ * Get max tokens configuration
47
+ * Priority: extensions.anthropic.max_tokens > spec.llm.maxTokens > default
48
+ */
49
+ getMaxTokens() {
50
+ // Check Anthropic extension first
51
+ if (this.manifest.extensions?.anthropic?.max_tokens) {
52
+ return this.manifest.extensions.anthropic.max_tokens;
53
+ }
54
+ // Fall back to LLM config
55
+ if (this.manifest.spec?.llm?.maxTokens) {
56
+ return this.manifest.spec.llm.maxTokens;
57
+ }
58
+ // Default
59
+ return 4096;
60
+ }
61
+ /**
62
+ * Get temperature configuration
63
+ * Priority: extensions.anthropic.temperature > spec.llm.temperature > default
64
+ */
65
+ getTemperature() {
66
+ // Check Anthropic extension first
67
+ if (this.manifest.extensions?.anthropic?.temperature !== undefined) {
68
+ return this.manifest.extensions.anthropic.temperature;
69
+ }
70
+ // Fall back to LLM config
71
+ if (this.manifest.spec?.llm?.temperature !== undefined) {
72
+ return this.manifest.spec.llm.temperature;
73
+ }
74
+ // Default
75
+ return 1.0;
76
+ }
77
+ /**
78
+ * Get streaming configuration
79
+ */
80
+ getStreaming() {
81
+ return this.manifest.extensions?.anthropic?.streaming ?? false;
82
+ }
83
+ /**
84
+ * Get stop sequences
85
+ */
86
+ getStopSequences() {
87
+ return this.manifest.extensions?.anthropic?.stop_sequences;
88
+ }
89
+ /**
90
+ * Get Anthropic extension configuration
91
+ */
92
+ getAnthropicExtension() {
93
+ return this.manifest.extensions?.anthropic;
94
+ }
95
+ /**
96
+ * Get agent metadata
97
+ */
98
+ getMetadata() {
99
+ // v0.2.x format
100
+ if (this.manifest.metadata) {
101
+ return {
102
+ name: this.manifest.metadata.name,
103
+ version: this.manifest.metadata.version,
104
+ description: this.manifest.metadata.description,
105
+ };
106
+ }
107
+ // Legacy format fallback
108
+ if (this.manifest.agent) {
109
+ return {
110
+ name: this.manifest.agent.name,
111
+ version: this.manifest.agent.version,
112
+ description: this.manifest.agent.description,
113
+ };
114
+ }
115
+ // Default
116
+ return {
117
+ name: 'unknown-agent',
118
+ version: '1.0.0',
119
+ };
120
+ }
121
+ /**
122
+ * Get OSSA spec tools (for mapping to Claude tools)
123
+ */
124
+ getSpecTools() {
125
+ return this.manifest.spec?.tools ?? [];
126
+ }
127
+ /**
128
+ * Check if Claude/Anthropic integration is enabled
129
+ */
130
+ isAnthropicEnabled() {
131
+ return this.manifest.extensions?.anthropic?.enabled ?? true;
132
+ }
133
+ /**
134
+ * Validate manifest has required fields
135
+ */
136
+ validate() {
137
+ const errors = [];
138
+ // Check for metadata
139
+ if (!this.manifest.metadata && !this.manifest.agent) {
140
+ errors.push('Manifest must have metadata or agent field');
141
+ }
142
+ // Check for spec or agent
143
+ if (!this.manifest.spec && !this.manifest.agent) {
144
+ errors.push('Manifest must have spec or agent field');
145
+ }
146
+ // Check API version format
147
+ if (this.manifest.apiVersion) {
148
+ const validVersionPattern = /^ossa\/v(0\.2\.[2-5]|1)/;
149
+ if (!validVersionPattern.test(this.manifest.apiVersion)) {
150
+ errors.push(`Invalid apiVersion: ${this.manifest.apiVersion}. Must match pattern ossa/v0.2.x or ossa/v1`);
151
+ }
152
+ }
153
+ // Check kind
154
+ if (this.manifest.kind && this.manifest.kind !== 'Agent') {
155
+ errors.push(`Invalid kind: ${this.manifest.kind}. Must be "Agent"`);
156
+ }
157
+ return {
158
+ valid: errors.length === 0,
159
+ errors,
160
+ };
161
+ }
162
+ /**
163
+ * Get full manifest
164
+ */
165
+ getManifest() {
166
+ return this.manifest;
167
+ }
168
+ }
169
+ //# sourceMappingURL=manifest-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../../src/services/runtime/claude/manifest-parser.ts"],"names":[],"mappings":"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"}