@bluefly/openstandardagents 0.2.4

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 (371) hide show
  1. package/.env.example +41 -0
  2. package/.eslintrc.cjs +43 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  4. package/.github/dependabot.yml +58 -0
  5. package/.github/workflows/ci.yml +154 -0
  6. package/.github/workflows/codeql.yml +41 -0
  7. package/.github/workflows/dependabot-auto-merge.yml +28 -0
  8. package/.github/workflows/release.yml +103 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc.json +10 -0
  11. package/.redocly.yaml +9 -0
  12. package/.releaserc.json +84 -0
  13. package/.releaserc.json.disabled +81 -0
  14. package/CHANGELOG.md +152 -0
  15. package/CONTRIBUTING.md +249 -0
  16. package/LICENSE +190 -0
  17. package/README.md +280 -0
  18. package/bin/ossa +8 -0
  19. package/bin/validate-ossa-0.2.2.ts +244 -0
  20. package/dist/di-container.d.ts +18 -0
  21. package/dist/di-container.d.ts.map +1 -0
  22. package/dist/di-container.js +43 -0
  23. package/dist/di-container.js.map +1 -0
  24. package/dist/index.d.ts +13 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/repositories/manifest.repository.d.ts +26 -0
  29. package/dist/repositories/manifest.repository.d.ts.map +1 -0
  30. package/dist/repositories/manifest.repository.js +90 -0
  31. package/dist/repositories/manifest.repository.js.map +1 -0
  32. package/dist/repositories/schema.repository.d.ts +30 -0
  33. package/dist/repositories/schema.repository.d.ts.map +1 -0
  34. package/dist/repositories/schema.repository.js +143 -0
  35. package/dist/repositories/schema.repository.js.map +1 -0
  36. package/dist/services/generation.service.d.ts +54 -0
  37. package/dist/services/generation.service.d.ts.map +1 -0
  38. package/dist/services/generation.service.js +298 -0
  39. package/dist/services/generation.service.js.map +1 -0
  40. package/dist/services/migration.service.d.ts +30 -0
  41. package/dist/services/migration.service.d.ts.map +1 -0
  42. package/dist/services/migration.service.js +231 -0
  43. package/dist/services/migration.service.js.map +1 -0
  44. package/dist/services/runtime/openai.adapter.d.ts +94 -0
  45. package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/openai.adapter.js +209 -0
  47. package/dist/services/runtime/openai.adapter.js.map +1 -0
  48. package/dist/services/validation.service.d.ts +45 -0
  49. package/dist/services/validation.service.d.ts.map +1 -0
  50. package/dist/services/validation.service.js +362 -0
  51. package/dist/services/validation.service.js.map +1 -0
  52. package/dist/services/validators/anthropic.validator.d.ts +9 -0
  53. package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
  54. package/dist/services/validators/anthropic.validator.js +105 -0
  55. package/dist/services/validators/anthropic.validator.js.map +1 -0
  56. package/dist/services/validators/autogen.validator.d.ts +9 -0
  57. package/dist/services/validators/autogen.validator.d.ts.map +1 -0
  58. package/dist/services/validators/autogen.validator.js +111 -0
  59. package/dist/services/validators/autogen.validator.js.map +1 -0
  60. package/dist/services/validators/crewai.validator.d.ts +9 -0
  61. package/dist/services/validators/crewai.validator.d.ts.map +1 -0
  62. package/dist/services/validators/crewai.validator.js +117 -0
  63. package/dist/services/validators/crewai.validator.js.map +1 -0
  64. package/dist/services/validators/cursor.validator.d.ts +9 -0
  65. package/dist/services/validators/cursor.validator.d.ts.map +1 -0
  66. package/dist/services/validators/cursor.validator.js +88 -0
  67. package/dist/services/validators/cursor.validator.js.map +1 -0
  68. package/dist/services/validators/index.d.ts +15 -0
  69. package/dist/services/validators/index.d.ts.map +1 -0
  70. package/dist/services/validators/index.js +15 -0
  71. package/dist/services/validators/index.js.map +1 -0
  72. package/dist/services/validators/langchain.validator.d.ts +9 -0
  73. package/dist/services/validators/langchain.validator.d.ts.map +1 -0
  74. package/dist/services/validators/langchain.validator.js +103 -0
  75. package/dist/services/validators/langchain.validator.js.map +1 -0
  76. package/dist/services/validators/langflow.validator.d.ts +9 -0
  77. package/dist/services/validators/langflow.validator.d.ts.map +1 -0
  78. package/dist/services/validators/langflow.validator.js +92 -0
  79. package/dist/services/validators/langflow.validator.js.map +1 -0
  80. package/dist/services/validators/langgraph.validator.d.ts +9 -0
  81. package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
  82. package/dist/services/validators/langgraph.validator.js +123 -0
  83. package/dist/services/validators/langgraph.validator.js.map +1 -0
  84. package/dist/services/validators/llamaindex.validator.d.ts +9 -0
  85. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
  86. package/dist/services/validators/llamaindex.validator.js +121 -0
  87. package/dist/services/validators/llamaindex.validator.js.map +1 -0
  88. package/dist/services/validators/openai.validator.d.ts +9 -0
  89. package/dist/services/validators/openai.validator.d.ts.map +1 -0
  90. package/dist/services/validators/openai.validator.js +126 -0
  91. package/dist/services/validators/openai.validator.js.map +1 -0
  92. package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
  93. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
  94. package/dist/services/validators/vercel-ai.validator.js +99 -0
  95. package/dist/services/validators/vercel-ai.validator.js.map +1 -0
  96. package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  97. package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
  98. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  99. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  100. package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
  101. package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
  102. package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  103. package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  104. package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  105. package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
  106. package/dist/spec/v0.2.3/README.md +154 -0
  107. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  108. package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  109. package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  110. package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  111. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  112. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  113. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  114. package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  115. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  116. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  117. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  118. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  119. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  120. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  121. package/dist/types/index.d.ts +178 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/index.js +6 -0
  124. package/dist/types/index.js.map +1 -0
  125. package/dist/types/openapi-extensions.d.ts +164 -0
  126. package/dist/types/openapi-extensions.d.ts.map +1 -0
  127. package/dist/types/openapi-extensions.js +6 -0
  128. package/dist/types/openapi-extensions.js.map +1 -0
  129. package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
  130. package/docs/README.md +31 -0
  131. package/docs/VERSIONING.md +284 -0
  132. package/docs/agent-openapi-spec.yml +942 -0
  133. package/docs/getting-started.md +87 -0
  134. package/docs/migration/general-agent-schema.yml +255 -0
  135. package/docs/migration/migration-manifest.json +64 -0
  136. package/docs/openapi-extensions.md +930 -0
  137. package/docs/schemas/openapi-extensions.schema.json +486 -0
  138. package/examples/adk-integration/code-review-workflow.yml +136 -0
  139. package/examples/adk-integration/customer-support.yml +263 -0
  140. package/examples/adk-integration/data-pipeline.yml +173 -0
  141. package/examples/advanced/patterns/compliance-context-production.json +53 -0
  142. package/examples/advanced/patterns/model-router.ts +274 -0
  143. package/examples/advanced/patterns/smart-model-routing.ts +248 -0
  144. package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
  145. package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
  146. package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
  147. package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
  148. package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
  149. package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
  150. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
  151. package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
  152. package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
  153. package/examples/anthropic/claude-assistant.ossa.json +45 -0
  154. package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
  155. package/examples/autogen/multi-agent.ossa.json +37 -0
  156. package/examples/bridge-configurations.yaml +346 -0
  157. package/examples/bridges/Dockerfile.production +87 -0
  158. package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
  159. package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
  160. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  161. package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
  162. package/examples/bridges/aiflow-bridge-example.yml +310 -0
  163. package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
  164. package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
  165. package/examples/bridges/k8s/configmap.yaml +121 -0
  166. package/examples/bridges/k8s/deployment-simple.yaml +34 -0
  167. package/examples/bridges/k8s/deployment.yaml +275 -0
  168. package/examples/bridges/k8s/hpa.yaml +126 -0
  169. package/examples/bridges/k8s/ingress.yaml +155 -0
  170. package/examples/bridges/kagent-bridge-example.yml +94 -0
  171. package/examples/bridges/load-tests/Dockerfile +28 -0
  172. package/examples/bridges/load-tests/k6-load-test.js +302 -0
  173. package/examples/bridges/load-tests/requirements.txt +20 -0
  174. package/examples/bridges/loadtest/k6-scenarios.js +270 -0
  175. package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
  176. package/examples/bridges/phase4/chaos-tests.yaml +226 -0
  177. package/examples/bridges/requirements.txt +24 -0
  178. package/examples/bridges/test_aiflow_integration.py +341 -0
  179. package/examples/common_npm/agent-router.ossa.yaml +182 -0
  180. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
  181. package/examples/compliance-agent.yml +155 -0
  182. package/examples/crewai/research-team.ossa.json +36 -0
  183. package/examples/cursor/code-review-agent.ossa.json +47 -0
  184. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
  185. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
  186. package/examples/enterprise/agent.yml +452 -0
  187. package/examples/extensions/drupal-v1.yml +266 -0
  188. package/examples/extensions/kagent-v1.yml +167 -0
  189. package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
  190. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
  191. package/examples/kagent/README.md +31 -0
  192. package/examples/kagent/compliance-validator.ossa.yaml +111 -0
  193. package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
  194. package/examples/kagent/documentation-agent.ossa.yaml +91 -0
  195. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
  196. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
  197. package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
  198. package/examples/kagent/security-scanner.ossa.yaml +140 -0
  199. package/examples/langchain/chain-agent.ossa.json +42 -0
  200. package/examples/langflow/workflow-agent.ossa.json +39 -0
  201. package/examples/langgraph/state-machine-agent.ossa.json +59 -0
  202. package/examples/llamaindex/rag-agent.ossa.json +41 -0
  203. package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
  204. package/examples/minimal/agent.yml +152 -0
  205. package/examples/minimal/openapi.yaml +95 -0
  206. package/examples/openai/swarm-agent.ossa.json +59 -0
  207. package/examples/openapi-extensions/README.md +87 -0
  208. package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
  209. package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
  210. package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
  211. package/examples/production/agent.yml +713 -0
  212. package/examples/production/document-analyzer-openai.yml +134 -0
  213. package/examples/quickstart/support-agent.ossa.yaml +59 -0
  214. package/examples/service-registry-usage.ts +423 -0
  215. package/examples/spec-examples/audit-agent.yml +147 -0
  216. package/examples/spec-examples/chat-agent.yml +189 -0
  217. package/examples/spec-examples/compliance-agent.yml +204 -0
  218. package/examples/spec-examples/data-processing-agent.yml +132 -0
  219. package/examples/spec-examples/development-agent.yml +138 -0
  220. package/examples/spec-examples/edge-agent.yml +101 -0
  221. package/examples/spec-examples/integration-agent.yml +129 -0
  222. package/examples/spec-examples/monitoring-agent.yml +130 -0
  223. package/examples/spec-examples/serverless-agent.yml +82 -0
  224. package/examples/spec-examples/workflow-agent.yml +223 -0
  225. package/examples/templates/ossa-compliance.yaml +56 -0
  226. package/examples/typescript/advanced/demo-registry.ts +168 -0
  227. package/examples/typescript/mcpb-agent-example.ts +358 -0
  228. package/examples/vercel/edge-agent.ossa.json +43 -0
  229. package/infrastructure/docker-compose.yml +33 -0
  230. package/junit.xml +1 -0
  231. package/openapi/drupal-agent-api.openapi.yaml +348 -0
  232. package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
  233. package/openapi/helm-generator.openapi.yaml +389 -0
  234. package/openapi/ossa-core-api.openapi.yaml +1448 -0
  235. package/openapi/ossa-registry-api.openapi.yaml +980 -0
  236. package/openapi/ossa-registry.openapi.yaml +782 -0
  237. package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
  238. package/openapi/unified-agent-gateway.openapi.yaml +833 -0
  239. package/ossa-website-swarm-tasks.json +105 -0
  240. package/package.json +132 -0
  241. package/release.config.js +64 -0
  242. package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  243. package/spec/v0.1.9/ecosystem-compliance.json +235 -0
  244. package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  245. package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  246. package/spec/v0.1.9/reasoning-compliance.json +654 -0
  247. package/spec/v0.2.2/kagent-enhancements.json +395 -0
  248. package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  249. package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  250. package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  251. package/spec/v0.2.3/CHANGELOG.md +176 -0
  252. package/spec/v0.2.3/README.md +154 -0
  253. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  254. package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  255. package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  256. package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  257. package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  258. package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  259. package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  260. package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  261. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  262. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  263. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  264. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  265. package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  266. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  267. package/test-results.xml +1 -0
  268. package/website/.lighthouserc.js +20 -0
  269. package/website/.prettierrc +10 -0
  270. package/website/Dockerfile +17 -0
  271. package/website/app/about/page.tsx +295 -0
  272. package/website/app/api/validate/route.ts +88 -0
  273. package/website/app/blog/[slug]/page.tsx +167 -0
  274. package/website/app/blog/page.tsx +162 -0
  275. package/website/app/docs/[[...slug]]/page.tsx +349 -0
  276. package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
  277. package/website/app/ecosystem/page.tsx +375 -0
  278. package/website/app/examples/page.tsx +123 -0
  279. package/website/app/globals.css +108 -0
  280. package/website/app/layout.tsx +106 -0
  281. package/website/app/page.tsx +409 -0
  282. package/website/app/playground/page.tsx +507 -0
  283. package/website/app/robots.ts +19 -0
  284. package/website/app/rss.xml/route.ts +74 -0
  285. package/website/app/schema/page.tsx +970 -0
  286. package/website/app/sitemap.ts +56 -0
  287. package/website/app/specification/page.tsx +211 -0
  288. package/website/components/InstallCommand.tsx +96 -0
  289. package/website/components/Logo.tsx +24 -0
  290. package/website/components/StructuredData.tsx +65 -0
  291. package/website/components/docs/DocsSearch.tsx +104 -0
  292. package/website/components/docs/DocsSidebar.tsx +118 -0
  293. package/website/components/docs/MarkdownContent.tsx +183 -0
  294. package/website/components/docs/VersionSelector.tsx +49 -0
  295. package/website/components/examples/ExamplesViewer.tsx +293 -0
  296. package/website/components/layout/Footer.tsx +111 -0
  297. package/website/components/layout/Header.tsx +170 -0
  298. package/website/components/schema/SchemaExplorer.tsx +213 -0
  299. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
  300. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
  301. package/website/content/blog/introducing-ossa-framework.md +328 -0
  302. package/website/content/blog/ossa-production-results.md +279 -0
  303. package/website/content/blog/welcome-to-ossa.md +43 -0
  304. package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
  305. package/website/content/docs/00-HOME.md +160 -0
  306. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  307. package/website/content/docs/OpenAPI-Extensions.md +498 -0
  308. package/website/content/docs/architecture/execution-flow.md +335 -0
  309. package/website/content/docs/architecture/multi-agent-systems.md +737 -0
  310. package/website/content/docs/architecture/overview.md +121 -0
  311. package/website/content/docs/architecture/stack-integration.md +461 -0
  312. package/website/content/docs/changelog.md +246 -0
  313. package/website/content/docs/contributing.md +599 -0
  314. package/website/content/docs/core-concepts/project-structure.md +348 -0
  315. package/website/content/docs/ecosystem/framework-support.md +821 -0
  316. package/website/content/docs/ecosystem/overview.md +366 -0
  317. package/website/content/docs/examples/Migration-Guides.md +214 -0
  318. package/website/content/docs/examples.md +71 -0
  319. package/website/content/docs/for-audiences/Enterprises.md +256 -0
  320. package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
  321. package/website/content/docs/for-audiences/architects.md +224 -0
  322. package/website/content/docs/for-audiences/developers.md +220 -0
  323. package/website/content/docs/getting-started/5-minute-overview.md +85 -0
  324. package/website/content/docs/getting-started/Hello-World.md +184 -0
  325. package/website/content/docs/getting-started/first-agent.md +196 -0
  326. package/website/content/docs/getting-started/installation.md +155 -0
  327. package/website/content/docs/getting-started/running-agents.md +107 -0
  328. package/website/content/docs/integrations/aiflow.md +104 -0
  329. package/website/content/docs/integrations/drupal.md +105 -0
  330. package/website/content/docs/migration-guides/00-index.md +76 -0
  331. package/website/content/docs/migration-guides/README.md +133 -0
  332. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
  333. package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
  334. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
  335. package/website/content/docs/migration-guides/index.md +133 -0
  336. package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
  337. package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
  338. package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
  339. package/website/content/docs/openapi-extensions/examples.md +550 -0
  340. package/website/content/docs/openapi-extensions/index.md +495 -0
  341. package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
  342. package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
  343. package/website/content/docs/pre-release/index.md +175 -0
  344. package/website/content/docs/quick-reference.md +17 -0
  345. package/website/content/docs/schema-reference/agent-spec.md +406 -0
  346. package/website/content/docs/schema-reference/autonomy.md +568 -0
  347. package/website/content/docs/schema-reference/constraints.md +543 -0
  348. package/website/content/docs/schema-reference/index.md +176 -0
  349. package/website/content/docs/schema-reference/llm-config.md +445 -0
  350. package/website/content/docs/schema-reference/observability.md +654 -0
  351. package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
  352. package/website/content/docs/schema-reference/taxonomy.md +509 -0
  353. package/website/content/docs/schema-reference/tools.md +628 -0
  354. package/website/content/docs/templates/blog-post.md +43 -0
  355. package/website/content/docs/use-cases/00-index.md +395 -0
  356. package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
  357. package/website/content/docs/use-cases/customer-support.md +1234 -0
  358. package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
  359. package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
  360. package/website/lib/version.ts +18 -0
  361. package/website/next.config.js +17 -0
  362. package/website/next.config.ts +16 -0
  363. package/website/nginx.conf +32 -0
  364. package/website/package-lock.json +9145 -0
  365. package/website/package.json +53 -0
  366. package/website/postcss.config.js +7 -0
  367. package/website/postcss.config.mjs +9 -0
  368. package/website/scripts/sync-version.js +44 -0
  369. package/website/scripts/sync-wiki.ts +261 -0
  370. package/website/tailwind.config.js +58 -0
  371. package/website/tailwind.config.ts +65 -0
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Manifest Repository
3
+ * Loads and saves OSSA agent manifests
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import * as fs from 'fs';
12
+ import * as path from 'path';
13
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
14
+ import { injectable } from 'inversify';
15
+ let ManifestRepository = class ManifestRepository {
16
+ /**
17
+ * Load manifest from file
18
+ * @param filePath - Path to manifest file (YAML or JSON)
19
+ * @returns Parsed manifest object
20
+ */
21
+ async load(filePath) {
22
+ const resolvedPath = path.resolve(filePath);
23
+ if (!fs.existsSync(resolvedPath)) {
24
+ throw new Error(`Manifest file not found: ${resolvedPath}`);
25
+ }
26
+ const content = fs.readFileSync(resolvedPath, 'utf-8');
27
+ const ext = path.extname(resolvedPath).toLowerCase();
28
+ try {
29
+ if (ext === '.json') {
30
+ return JSON.parse(content);
31
+ }
32
+ else if (ext === '.yaml' || ext === '.yml') {
33
+ return parseYaml(content);
34
+ }
35
+ else {
36
+ throw new Error(`Unsupported file format: ${ext}. Must be .json, .yaml, or .yml`);
37
+ }
38
+ }
39
+ catch (error) {
40
+ throw new Error(`Failed to parse manifest file ${resolvedPath}: ${error instanceof Error ? error.message : String(error)}`);
41
+ }
42
+ }
43
+ /**
44
+ * Save manifest to file
45
+ * @param filePath - Path to save manifest
46
+ * @param manifest - OSSA agent manifest
47
+ */
48
+ async save(filePath, manifest) {
49
+ const resolvedPath = path.resolve(filePath);
50
+ const ext = path.extname(resolvedPath).toLowerCase();
51
+ // Ensure directory exists
52
+ const dir = path.dirname(resolvedPath);
53
+ if (!fs.existsSync(dir)) {
54
+ fs.mkdirSync(dir, { recursive: true });
55
+ }
56
+ let content;
57
+ try {
58
+ if (ext === '.json') {
59
+ content = JSON.stringify(manifest, null, 2);
60
+ }
61
+ else if (ext === '.yaml' || ext === '.yml') {
62
+ content = stringifyYaml(manifest, {
63
+ indent: 2,
64
+ lineWidth: 0,
65
+ minContentWidth: 0,
66
+ });
67
+ }
68
+ else {
69
+ throw new Error(`Unsupported file format: ${ext}. Must be .json, .yaml, or .yml`);
70
+ }
71
+ fs.writeFileSync(resolvedPath, content, 'utf-8');
72
+ }
73
+ catch (error) {
74
+ throw new Error(`Failed to save manifest to ${resolvedPath}: ${error instanceof Error ? error.message : String(error)}`);
75
+ }
76
+ }
77
+ /**
78
+ * Check if file exists
79
+ * @param filePath - Path to check
80
+ * @returns True if file exists
81
+ */
82
+ exists(filePath) {
83
+ return fs.existsSync(path.resolve(filePath));
84
+ }
85
+ };
86
+ ManifestRepository = __decorate([
87
+ injectable()
88
+ ], ManifestRepository);
89
+ export { ManifestRepository };
90
+ //# sourceMappingURL=manifest.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.repository.js","sourceRoot":"","sources":["../../src/repositories/manifest.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Schema Repository
3
+ * Loads and caches OSSA JSON schemas
4
+ */
5
+ import type { ISchemaRepository, SchemaVersion } from '../types/index';
6
+ export declare class SchemaRepository implements ISchemaRepository {
7
+ private schemaCache;
8
+ /**
9
+ * Get schema for specific version
10
+ * @param version - Schema version (e.g., '0.2.3', '0.2.2', '0.1.9')
11
+ * @returns JSON Schema object
12
+ */
13
+ getSchema(version: SchemaVersion): Promise<Record<string, unknown>>;
14
+ /**
15
+ * Get schema file path for version
16
+ * @param version - Schema version
17
+ * @returns Absolute path to schema file
18
+ */
19
+ private getSchemaPath;
20
+ /**
21
+ * Find OSSA package root directory
22
+ * Looks for package.json with @bluefly/open-standards-scalable-agents
23
+ */
24
+ private findOssaRoot;
25
+ /**
26
+ * Clear schema cache (useful for testing)
27
+ */
28
+ clearCache(): void;
29
+ }
30
+ //# sourceMappingURL=schema.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/schema.repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvE,qBACa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,WAAW,CAAmD;IAEtE;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAyBzE;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAkGpB;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Schema Repository
3
+ * Loads and caches OSSA JSON schemas
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import * as fs from 'fs';
12
+ import { injectable } from 'inversify';
13
+ import * as path from 'path';
14
+ let SchemaRepository = class SchemaRepository {
15
+ schemaCache = new Map();
16
+ /**
17
+ * Get schema for specific version
18
+ * @param version - Schema version (e.g., '0.2.3', '0.2.2', '0.1.9')
19
+ * @returns JSON Schema object
20
+ */
21
+ async getSchema(version) {
22
+ // Check cache first
23
+ if (this.schemaCache.has(version)) {
24
+ return this.schemaCache.get(version);
25
+ }
26
+ // Determine schema file path
27
+ const schemaPath = this.getSchemaPath(version);
28
+ // Load schema from filesystem
29
+ if (!fs.existsSync(schemaPath)) {
30
+ throw new Error(`Schema not found for version ${version} at ${schemaPath}`);
31
+ }
32
+ const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
33
+ const schema = JSON.parse(schemaContent);
34
+ // Cache for future use
35
+ this.schemaCache.set(version, schema);
36
+ return schema;
37
+ }
38
+ /**
39
+ * Get schema file path for version
40
+ * @param version - Schema version
41
+ * @returns Absolute path to schema file
42
+ */
43
+ getSchemaPath(version) {
44
+ // Map versions to schema files
45
+ const schemaMap = {
46
+ '0.2.3': 'spec/v0.2.3/ossa-0.2.3.schema.json',
47
+ '0.2.2': 'spec/v0.2.2/ossa-0.2.2.schema.json',
48
+ '0.1.9': 'spec/versions/v0.1.9/ossa-v0.1.9.schema.json',
49
+ };
50
+ const relativePath = schemaMap[version];
51
+ if (!relativePath) {
52
+ throw new Error(`Unsupported schema version: ${version}`);
53
+ }
54
+ // Resolve from OSSA package root (not cwd)
55
+ // Try multiple strategies to find OSSA root
56
+ const ossaRoot = this.findOssaRoot();
57
+ return path.resolve(ossaRoot, relativePath);
58
+ }
59
+ /**
60
+ * Find OSSA package root directory
61
+ * Looks for package.json with @bluefly/open-standards-scalable-agents
62
+ */
63
+ findOssaRoot() {
64
+ // Strategy 1: Check if OSSA_ROOT env var is set
65
+ if (process.env.OSSA_ROOT && fs.existsSync(process.env.OSSA_ROOT)) {
66
+ const schemaTest = path.join(process.env.OSSA_ROOT, 'spec/v0.2.3/ossa-0.2.3.schema.json');
67
+ if (fs.existsSync(schemaTest)) {
68
+ return process.env.OSSA_ROOT;
69
+ }
70
+ }
71
+ // Strategy 2: Check common locations relative to cwd
72
+ // Check dist/spec first (for published npm package)
73
+ const distSpecPath = path.join(process.cwd(), 'dist/spec/v0.2.3/ossa-0.2.3.schema.json');
74
+ if (fs.existsSync(distSpecPath)) {
75
+ return path.join(process.cwd(), 'dist');
76
+ }
77
+ // Check project root spec (for development)
78
+ const sourceSpecPath = path.join(process.cwd(), 'spec/v0.2.3/ossa-0.2.3.schema.json');
79
+ if (fs.existsSync(sourceSpecPath)) {
80
+ return process.cwd();
81
+ }
82
+ // Strategy 3: Search upward from cwd for package.json with OSSA name
83
+ let current = process.cwd();
84
+ let depth = 0;
85
+ const maxDepth = 15; // Increased to search further up
86
+ while (depth < maxDepth) {
87
+ const packageJsonPath = path.join(current, 'package.json');
88
+ if (fs.existsSync(packageJsonPath)) {
89
+ try {
90
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
91
+ if (packageJson.name === '@bluefly/open-standards-scalable-agents') {
92
+ // Check both dist/spec and project root spec
93
+ const distSpec = path.join(current, 'dist/spec/v0.2.3/ossa-0.2.3.schema.json');
94
+ const sourceSpec = path.join(current, 'spec/v0.2.3/ossa-0.2.3.schema.json');
95
+ if (fs.existsSync(sourceSpec)) {
96
+ return current;
97
+ }
98
+ if (fs.existsSync(distSpec)) {
99
+ return path.join(current, 'dist');
100
+ }
101
+ }
102
+ }
103
+ catch {
104
+ // Continue searching
105
+ }
106
+ }
107
+ const parent = path.dirname(current);
108
+ if (parent === current) {
109
+ break; // Reached filesystem root
110
+ }
111
+ current = parent;
112
+ depth++;
113
+ }
114
+ // Strategy 4: Last resort - try absolute path to OSSA project
115
+ const commonPaths = [
116
+ '/Users/flux423/Sites/LLM/OSSA',
117
+ path.resolve(process.cwd(), '../OSSA'),
118
+ path.resolve(process.cwd(), '../../OSSA'),
119
+ ];
120
+ for (const ossaPath of commonPaths) {
121
+ const absoluteSpec = path.join(ossaPath, 'spec/v0.2.3/ossa-0.2.3.schema.json');
122
+ if (fs.existsSync(absoluteSpec)) {
123
+ return ossaPath;
124
+ }
125
+ }
126
+ // Strategy 5: Fallback - throw error with helpful message
127
+ throw new Error(`Cannot find OSSA schema file. Searched from:\n` +
128
+ ` - cwd: ${process.cwd()}\n` +
129
+ ` - common paths: ${commonPaths.join(', ')}\n` +
130
+ `Set OSSA_ROOT environment variable to the OSSA project root directory.`);
131
+ }
132
+ /**
133
+ * Clear schema cache (useful for testing)
134
+ */
135
+ clearCache() {
136
+ this.schemaCache.clear();
137
+ }
138
+ };
139
+ SchemaRepository = __decorate([
140
+ injectable()
141
+ ], SchemaRepository);
142
+ export { SchemaRepository };
143
+ //# sourceMappingURL=schema.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.repository.js","sourceRoot":"","sources":["../../src/repositories/schema.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Generation Service
3
+ * Generates OSSA agent manifests from templates
4
+ */
5
+ import type { AgentTemplate } from '../types/index.js';
6
+ export declare class GenerationService {
7
+ /**
8
+ * Generate OSSA agent manifest from template
9
+ * @param template - Agent configuration template
10
+ * @returns Complete OSSA agent manifest
11
+ */
12
+ generate(template: AgentTemplate): Promise<any>;
13
+ /**
14
+ * Normalize agent ID to DNS-1123 format
15
+ * @param id - Raw ID string
16
+ * @returns DNS-1123 compliant ID
17
+ */
18
+ private normalizeId;
19
+ /**
20
+ * Generate default tools based on role
21
+ * @param template - Agent template
22
+ * @returns Array of tools
23
+ */
24
+ private generateTools;
25
+ /**
26
+ * Generate LLM configuration based on role
27
+ * @param role - Agent role
28
+ * @returns LLM configuration
29
+ */
30
+ private generateLLMConfig;
31
+ /**
32
+ * Generate multiple agents from templates
33
+ * @param templates - Array of templates
34
+ * @returns Array of generated manifests
35
+ */
36
+ generateMany(templates: AgentTemplate[]): Promise<any[]>;
37
+ /**
38
+ * Export OSSA manifest to platform-specific format
39
+ * @param manifest - OSSA agent manifest
40
+ * @param platform - Target platform
41
+ * @returns Platform-specific agent configuration
42
+ */
43
+ exportToPlatform(manifest: any, platform: string): Promise<any>;
44
+ /**
45
+ * Import platform-specific format to OSSA manifest
46
+ * @param platformData - Platform-specific agent data
47
+ * @param platform - Source platform
48
+ * @returns OSSA agent manifest
49
+ */
50
+ importFromPlatform(platformData: any, platform: string): Promise<any>;
51
+ private extractTools;
52
+ private convertToolsToOSSA;
53
+ }
54
+ //# sourceMappingURL=generation.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation.service.d.ts","sourceRoot":"","sources":["../../src/services/generation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,qBACa,iBAAiB;IAC5B;;;;OAIG;IACG,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAuBrD;;;;OAIG;IACH,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;;OAIG;IACG,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI9D;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAyDrE;;;;;OAKG;IACG,kBAAkB,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAkF3E,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;CAW3B"}
@@ -0,0 +1,298 @@
1
+ /**
2
+ * Generation Service
3
+ * Generates OSSA agent manifests from templates
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import { injectable } from 'inversify';
12
+ let GenerationService = class GenerationService {
13
+ /**
14
+ * Generate OSSA agent manifest from template
15
+ * @param template - Agent configuration template
16
+ * @returns Complete OSSA agent manifest
17
+ */
18
+ async generate(template) {
19
+ const tools = this.generateTools(template);
20
+ const manifest = {
21
+ apiVersion: 'ossa/v1',
22
+ kind: 'Agent',
23
+ metadata: {
24
+ name: this.normalizeId(template.id),
25
+ version: '0.1.0',
26
+ description: template.description || `${template.name} agent`,
27
+ labels: {},
28
+ annotations: {},
29
+ },
30
+ spec: {
31
+ role: template.role,
32
+ llm: this.generateLLMConfig(template.role),
33
+ tools: template.capabilities || tools,
34
+ },
35
+ };
36
+ return manifest;
37
+ }
38
+ /**
39
+ * Normalize agent ID to DNS-1123 format
40
+ * @param id - Raw ID string
41
+ * @returns DNS-1123 compliant ID
42
+ */
43
+ normalizeId(id) {
44
+ return id
45
+ .toLowerCase()
46
+ .replace(/[^a-z0-9-]/g, '-')
47
+ .replace(/^-+|-+$/g, '')
48
+ .replace(/-+/g, '-')
49
+ .substring(0, 63);
50
+ }
51
+ /**
52
+ * Generate default tools based on role
53
+ * @param template - Agent template
54
+ * @returns Array of tools
55
+ */
56
+ generateTools(template) {
57
+ const baseTool = {
58
+ type: 'mcp',
59
+ name: `${template.role}_operation`,
60
+ server: this.normalizeId(template.id),
61
+ capabilities: [],
62
+ };
63
+ const roleTools = {
64
+ chat: [
65
+ {
66
+ type: 'mcp',
67
+ name: 'send_message',
68
+ server: this.normalizeId(template.id),
69
+ capabilities: [],
70
+ },
71
+ ],
72
+ workflow: [
73
+ {
74
+ type: 'mcp',
75
+ name: 'execute_workflow',
76
+ server: this.normalizeId(template.id),
77
+ capabilities: [],
78
+ },
79
+ ],
80
+ compliance: [
81
+ {
82
+ type: 'mcp',
83
+ name: 'validate_compliance',
84
+ server: this.normalizeId(template.id),
85
+ capabilities: [],
86
+ },
87
+ ],
88
+ };
89
+ return roleTools[template.role] || [baseTool];
90
+ }
91
+ /**
92
+ * Generate LLM configuration based on role
93
+ * @param role - Agent role
94
+ * @returns LLM configuration
95
+ */
96
+ generateLLMConfig(role) {
97
+ const configs = {
98
+ chat: {
99
+ provider: 'openai',
100
+ model: 'gpt-4',
101
+ temperature: 0.7,
102
+ maxTokens: 2000,
103
+ },
104
+ compliance: {
105
+ provider: 'openai',
106
+ model: 'gpt-4',
107
+ temperature: 0.2,
108
+ maxTokens: 4000,
109
+ },
110
+ workflow: {
111
+ provider: 'openai',
112
+ model: 'gpt-4',
113
+ temperature: 0.3,
114
+ maxTokens: 3000,
115
+ },
116
+ audit: {
117
+ provider: 'openai',
118
+ model: 'gpt-4',
119
+ temperature: 0.1,
120
+ maxTokens: 4000,
121
+ },
122
+ };
123
+ return (configs[role] || {
124
+ provider: 'openai',
125
+ model: 'gpt-4',
126
+ temperature: 0.5,
127
+ maxTokens: 2000,
128
+ });
129
+ }
130
+ /**
131
+ * Generate multiple agents from templates
132
+ * @param templates - Array of templates
133
+ * @returns Array of generated manifests
134
+ */
135
+ async generateMany(templates) {
136
+ return Promise.all(templates.map((t) => this.generate(t)));
137
+ }
138
+ /**
139
+ * Export OSSA manifest to platform-specific format
140
+ * @param manifest - OSSA agent manifest
141
+ * @param platform - Target platform
142
+ * @returns Platform-specific agent configuration
143
+ */
144
+ async exportToPlatform(manifest, platform) {
145
+ const agent = manifest.agent || manifest;
146
+ const metadata = manifest.metadata || agent.metadata || {};
147
+ const spec = manifest.spec || agent;
148
+ const extensions = manifest.extensions || agent.extensions || {};
149
+ switch (platform) {
150
+ case 'cursor':
151
+ return {
152
+ agent_type: extensions.cursor?.agent_type || 'composer',
153
+ workspace_config: extensions.cursor?.workspace_config || {},
154
+ capabilities: extensions.cursor?.capabilities || {},
155
+ model: extensions.cursor?.model || spec.llm || {},
156
+ };
157
+ case 'openai':
158
+ return {
159
+ name: metadata.name || agent.id,
160
+ instructions: spec.role || agent.role,
161
+ model: extensions.openai_agents?.model || spec.llm?.model || 'gpt-4o-mini',
162
+ tools: this.extractTools(spec.tools || agent.tools || []),
163
+ };
164
+ case 'crewai':
165
+ return {
166
+ role: extensions.crewai?.role || spec.role || agent.role,
167
+ goal: extensions.crewai?.goal ||
168
+ metadata.description ||
169
+ agent.description,
170
+ backstory: extensions.crewai?.backstory || '',
171
+ tools: extensions.crewai?.tools || [],
172
+ agent_type: extensions.crewai?.agent_type || 'worker',
173
+ };
174
+ case 'langchain':
175
+ return {
176
+ type: 'agent',
177
+ chain_type: extensions.langchain?.chain_type || 'agent',
178
+ tools: this.extractTools(spec.tools || agent.tools || []),
179
+ llm: spec.llm || agent.llm || {},
180
+ };
181
+ case 'anthropic':
182
+ return {
183
+ name: metadata.name || agent.id,
184
+ system: extensions.anthropic?.system || spec.role || agent.role,
185
+ model: extensions.anthropic?.model || 'claude-3-5-sonnet-20241022',
186
+ tools: this.extractTools(spec.tools || agent.tools || []),
187
+ };
188
+ default:
189
+ throw new Error(`Unsupported platform: ${platform}`);
190
+ }
191
+ }
192
+ /**
193
+ * Import platform-specific format to OSSA manifest
194
+ * @param platformData - Platform-specific agent data
195
+ * @param platform - Source platform
196
+ * @returns OSSA agent manifest
197
+ */
198
+ async importFromPlatform(platformData, platform) {
199
+ const baseManifest = {
200
+ apiVersion: 'ossa/v0.2.3',
201
+ kind: 'Agent',
202
+ metadata: {
203
+ name: platformData.name || platformData.id || 'imported-agent',
204
+ version: platformData.version || '1.0.0',
205
+ description: platformData.description || '',
206
+ },
207
+ spec: {
208
+ role: platformData.instructions ||
209
+ platformData.system ||
210
+ platformData.role ||
211
+ '',
212
+ llm: {
213
+ provider: platform === 'openai'
214
+ ? 'openai'
215
+ : platform === 'anthropic'
216
+ ? 'anthropic'
217
+ : 'openai',
218
+ model: platformData.model || 'gpt-4',
219
+ },
220
+ tools: [],
221
+ },
222
+ };
223
+ switch (platform) {
224
+ case 'cursor':
225
+ baseManifest.extensions = {
226
+ cursor: {
227
+ enabled: true,
228
+ agent_type: platformData.agent_type || 'composer',
229
+ workspace_config: platformData.workspace_config || {},
230
+ },
231
+ };
232
+ break;
233
+ case 'openai':
234
+ baseManifest.extensions = {
235
+ openai_agents: {
236
+ enabled: true,
237
+ model: platformData.model || 'gpt-4o-mini',
238
+ instructions: platformData.instructions,
239
+ },
240
+ };
241
+ if (platformData.tools) {
242
+ baseManifest.spec.tools = this.convertToolsToOSSA(platformData.tools);
243
+ }
244
+ break;
245
+ case 'crewai':
246
+ baseManifest.extensions = {
247
+ crewai: {
248
+ enabled: true,
249
+ agent_type: platformData.agent_type || 'worker',
250
+ role: platformData.role,
251
+ goal: platformData.goal,
252
+ backstory: platformData.backstory,
253
+ tools: platformData.tools || [],
254
+ },
255
+ };
256
+ break;
257
+ case 'anthropic':
258
+ baseManifest.extensions = {
259
+ anthropic: {
260
+ enabled: true,
261
+ model: platformData.model || 'claude-3-5-sonnet-20241022',
262
+ system: platformData.system,
263
+ },
264
+ };
265
+ if (platformData.tools) {
266
+ baseManifest.spec.tools = this.convertToolsToOSSA(platformData.tools);
267
+ }
268
+ break;
269
+ }
270
+ return baseManifest;
271
+ }
272
+ extractTools(tools) {
273
+ return tools.map((tool) => ({
274
+ type: 'function',
275
+ function: {
276
+ name: tool.name,
277
+ description: tool.description || '',
278
+ parameters: tool.input_schema || tool.parameters || {},
279
+ },
280
+ }));
281
+ }
282
+ convertToolsToOSSA(tools) {
283
+ return tools.map((tool) => {
284
+ const func = tool.function || tool;
285
+ return {
286
+ type: 'function',
287
+ name: func.name,
288
+ description: func.description || '',
289
+ input_schema: func.parameters || func.input_schema || {},
290
+ };
291
+ });
292
+ }
293
+ };
294
+ GenerationService = __decorate([
295
+ injectable()
296
+ ], GenerationService);
297
+ export { GenerationService };
298
+ //# sourceMappingURL=generation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation.service.js","sourceRoot":"","sources":["../../src/services/generation.service.ts"],"names":[],"mappings":"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"}