@bluefly/openstandardagents 0.3.6 → 0.4.0

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 (500) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +332 -302
  3. package/bin/ossa-dev +8 -0
  4. package/dist/adapters/base/adapter.interface.d.ts +233 -0
  5. package/dist/adapters/base/adapter.interface.d.ts.map +1 -0
  6. package/dist/adapters/base/adapter.interface.js +89 -0
  7. package/dist/adapters/base/adapter.interface.js.map +1 -0
  8. package/dist/adapters/crewai/adapter.d.ts +52 -0
  9. package/dist/adapters/crewai/adapter.d.ts.map +1 -0
  10. package/dist/adapters/crewai/adapter.js +293 -0
  11. package/dist/adapters/crewai/adapter.js.map +1 -0
  12. package/dist/adapters/drupal/adapter.d.ts +66 -0
  13. package/dist/adapters/drupal/adapter.d.ts.map +1 -0
  14. package/dist/adapters/drupal/adapter.js +465 -0
  15. package/dist/adapters/drupal/adapter.js.map +1 -0
  16. package/dist/adapters/gitlab-duo/adapter.d.ts +67 -0
  17. package/dist/adapters/gitlab-duo/adapter.d.ts.map +1 -0
  18. package/dist/adapters/gitlab-duo/adapter.js +330 -0
  19. package/dist/adapters/gitlab-duo/adapter.js.map +1 -0
  20. package/dist/adapters/index.d.ts +13 -0
  21. package/dist/adapters/index.d.ts.map +1 -0
  22. package/dist/adapters/index.js +34 -0
  23. package/dist/adapters/index.js.map +1 -0
  24. package/dist/adapters/langchain/adapter.d.ts +49 -0
  25. package/dist/adapters/langchain/adapter.d.ts.map +1 -0
  26. package/dist/adapters/langchain/adapter.js +356 -0
  27. package/dist/adapters/langchain/adapter.js.map +1 -0
  28. package/dist/adapters/langfuse.adapter.d.ts +1 -1
  29. package/dist/adapters/langsmith.adapter.d.ts +1 -1
  30. package/dist/adapters/mcp/adapter.d.ts +57 -0
  31. package/dist/adapters/mcp/adapter.d.ts.map +1 -0
  32. package/dist/adapters/mcp/adapter.js +475 -0
  33. package/dist/adapters/mcp/adapter.js.map +1 -0
  34. package/dist/adapters/mcp/converter.d.ts +31 -0
  35. package/dist/adapters/mcp/converter.d.ts.map +1 -0
  36. package/dist/adapters/mcp/converter.js +339 -0
  37. package/dist/adapters/mcp/converter.js.map +1 -0
  38. package/dist/adapters/npm/adapter.d.ts +44 -0
  39. package/dist/adapters/npm/adapter.d.ts.map +1 -0
  40. package/dist/adapters/npm/adapter.js +337 -0
  41. package/dist/adapters/npm/adapter.js.map +1 -0
  42. package/dist/adapters/npm/converter.d.ts +44 -0
  43. package/dist/adapters/npm/converter.d.ts.map +1 -0
  44. package/dist/adapters/npm/converter.js +390 -0
  45. package/dist/adapters/npm/converter.js.map +1 -0
  46. package/dist/adapters/npm/types.d.ts +116 -0
  47. package/dist/adapters/npm/types.d.ts.map +1 -0
  48. package/dist/adapters/npm/types.js +6 -0
  49. package/dist/adapters/npm/types.js.map +1 -0
  50. package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -1
  51. package/dist/adapters/opentelemetry.adapter.js +3 -0
  52. package/dist/adapters/opentelemetry.adapter.js.map +1 -1
  53. package/dist/adapters/phoenix.adapter.d.ts +1 -1
  54. package/dist/adapters/registry/platform-registry.d.ts +68 -0
  55. package/dist/adapters/registry/platform-registry.d.ts.map +1 -0
  56. package/dist/adapters/registry/platform-registry.js +93 -0
  57. package/dist/adapters/registry/platform-registry.js.map +1 -0
  58. package/dist/adapters/temporal/converter.js +1 -1
  59. package/dist/cli/commands/agents/delete.command.d.ts +10 -0
  60. package/dist/cli/commands/agents/delete.command.d.ts.map +1 -0
  61. package/dist/cli/commands/agents/delete.command.js +105 -0
  62. package/dist/cli/commands/agents/delete.command.js.map +1 -0
  63. package/dist/cli/commands/agents/list.command.d.ts +10 -0
  64. package/dist/cli/commands/agents/list.command.d.ts.map +1 -0
  65. package/dist/cli/commands/agents/list.command.js +140 -0
  66. package/dist/cli/commands/agents/list.command.js.map +1 -0
  67. package/dist/cli/commands/agents/show.command.d.ts +10 -0
  68. package/dist/cli/commands/agents/show.command.d.ts.map +1 -0
  69. package/dist/cli/commands/agents/show.command.js +182 -0
  70. package/dist/cli/commands/agents/show.command.js.map +1 -0
  71. package/dist/cli/commands/agents-md.command.d.ts +1 -1
  72. package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
  73. package/dist/cli/commands/agents-md.command.js +122 -40
  74. package/dist/cli/commands/agents-md.command.js.map +1 -1
  75. package/dist/cli/commands/audit.d.ts.map +1 -1
  76. package/dist/cli/commands/audit.js +35 -22
  77. package/dist/cli/commands/audit.js.map +1 -1
  78. package/dist/cli/commands/capability/validate.d.ts.map +1 -1
  79. package/dist/cli/commands/capability/validate.js +2 -0
  80. package/dist/cli/commands/capability/validate.js.map +1 -1
  81. package/dist/cli/commands/export-v2.command.d.ts +7 -0
  82. package/dist/cli/commands/export-v2.command.d.ts.map +1 -0
  83. package/dist/cli/commands/export-v2.command.js +149 -0
  84. package/dist/cli/commands/export-v2.command.js.map +1 -0
  85. package/dist/cli/commands/export.command.d.ts +9 -1
  86. package/dist/cli/commands/export.command.d.ts.map +1 -1
  87. package/dist/cli/commands/export.command.js +113 -9
  88. package/dist/cli/commands/export.command.js.map +1 -1
  89. package/dist/cli/commands/generate/conformance.js +2 -2
  90. package/dist/cli/commands/github-sync.command.js +1 -1
  91. package/dist/cli/commands/identity/plan.d.ts.map +1 -1
  92. package/dist/cli/commands/identity/plan.js +2 -0
  93. package/dist/cli/commands/identity/plan.js.map +1 -1
  94. package/dist/cli/commands/import.command.d.ts.map +1 -1
  95. package/dist/cli/commands/import.command.js +33 -9
  96. package/dist/cli/commands/import.command.js.map +1 -1
  97. package/dist/cli/commands/lint.command.d.ts.map +1 -1
  98. package/dist/cli/commands/lint.command.js +46 -27
  99. package/dist/cli/commands/lint.command.js.map +1 -1
  100. package/dist/cli/commands/migrate.command.d.ts.map +1 -1
  101. package/dist/cli/commands/migrate.command.js +48 -22
  102. package/dist/cli/commands/migrate.command.js.map +1 -1
  103. package/dist/cli/commands/publish.command.d.ts.map +1 -1
  104. package/dist/cli/commands/publish.command.js +59 -21
  105. package/dist/cli/commands/publish.command.js.map +1 -1
  106. package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
  107. package/dist/cli/commands/quickstart.command.js +7 -3
  108. package/dist/cli/commands/quickstart.command.js.map +1 -1
  109. package/dist/cli/commands/standardize.command.d.ts.map +1 -1
  110. package/dist/cli/commands/standardize.command.js +39 -27
  111. package/dist/cli/commands/standardize.command.js.map +1 -1
  112. package/dist/cli/commands/validate.command.d.ts.map +1 -1
  113. package/dist/cli/commands/validate.command.js +67 -45
  114. package/dist/cli/commands/validate.command.js.map +1 -1
  115. package/dist/cli/commands/wizard.command.d.ts.map +1 -1
  116. package/dist/cli/commands/wizard.command.js +3 -29
  117. package/dist/cli/commands/wizard.command.js.map +1 -1
  118. package/dist/cli/index.d.ts +11 -2
  119. package/dist/cli/index.d.ts.map +1 -1
  120. package/dist/cli/index.js +270 -24
  121. package/dist/cli/index.js.map +1 -1
  122. package/dist/cli/templates/agent-templates.d.ts +49 -0
  123. package/dist/cli/templates/agent-templates.d.ts.map +1 -0
  124. package/dist/cli/templates/agent-templates.js +237 -0
  125. package/dist/cli/templates/agent-templates.js.map +1 -0
  126. package/dist/cli/templates/enhanced-templates.d.ts +32 -0
  127. package/dist/cli/templates/enhanced-templates.d.ts.map +1 -0
  128. package/dist/cli/templates/enhanced-templates.js +649 -0
  129. package/dist/cli/templates/enhanced-templates.js.map +1 -0
  130. package/dist/cli/utils/error-formatter.js.map +1 -1
  131. package/dist/cli/utils/output.d.ts +0 -1
  132. package/dist/cli/utils/output.d.ts.map +1 -1
  133. package/dist/cli/utils/output.js +1 -2
  134. package/dist/cli/utils/output.js.map +1 -1
  135. package/dist/cli/utils/standard-options.d.ts +123 -0
  136. package/dist/cli/utils/standard-options.d.ts.map +1 -0
  137. package/dist/cli/utils/standard-options.js +215 -0
  138. package/dist/cli/utils/standard-options.js.map +1 -0
  139. package/dist/cli/wizard/engine/wizard-engine.d.ts +47 -0
  140. package/dist/cli/wizard/engine/wizard-engine.d.ts.map +1 -0
  141. package/dist/cli/wizard/engine/wizard-engine.js +193 -0
  142. package/dist/cli/wizard/engine/wizard-engine.js.map +1 -0
  143. package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -1
  144. package/dist/cli/wizard/steps/14-workspace-registration.js +1 -2
  145. package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -1
  146. package/dist/cli/wizard/types.d.ts +38 -0
  147. package/dist/cli/wizard/types.d.ts.map +1 -1
  148. package/dist/cli/wizard/ui/wizard-ui.d.ts +75 -0
  149. package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -0
  150. package/dist/cli/wizard/ui/wizard-ui.js +171 -0
  151. package/dist/cli/wizard/ui/wizard-ui.js.map +1 -0
  152. package/dist/dev-cli/commands/env-cleanup.command.d.ts.map +1 -0
  153. package/dist/dev-cli/commands/env-cleanup.command.js.map +1 -0
  154. package/dist/dev-cli/commands/migrate.command.d.ts.map +1 -0
  155. package/dist/dev-cli/commands/migrate.command.js.map +1 -0
  156. package/dist/dev-cli/commands/release-prep.command.d.ts.map +1 -0
  157. package/dist/dev-cli/commands/release-prep.command.js.map +1 -0
  158. package/dist/dev-cli/commands/release.command.d.ts.map +1 -0
  159. package/dist/dev-cli/commands/release.command.js.map +1 -0
  160. package/dist/dev-cli/commands/spec.command.d.ts.map +1 -0
  161. package/dist/dev-cli/commands/spec.command.js.map +1 -0
  162. package/dist/dev-cli/commands/version.command.d.ts.map +1 -0
  163. package/dist/dev-cli/{src/commands → commands}/version.command.js +103 -0
  164. package/dist/dev-cli/{src/commands → commands}/version.command.js.map +1 -1
  165. package/dist/dev-cli/commands/workflow.command.d.ts.map +1 -0
  166. package/dist/dev-cli/commands/workflow.command.js.map +1 -0
  167. package/dist/dev-cli/index.d.ts.map +1 -0
  168. package/dist/dev-cli/{src/index.js → index.js} +0 -2
  169. package/dist/dev-cli/index.js.map +1 -0
  170. package/dist/dev-cli/schemas/migrate.schema.d.ts.map +1 -0
  171. package/dist/dev-cli/schemas/migrate.schema.js.map +1 -0
  172. package/dist/dev-cli/schemas/release-prep.schema.d.ts.map +1 -0
  173. package/dist/dev-cli/schemas/release-prep.schema.js.map +1 -0
  174. package/dist/dev-cli/schemas/release.schema.d.ts.map +1 -0
  175. package/dist/dev-cli/schemas/release.schema.js.map +1 -0
  176. package/dist/dev-cli/schemas/spec.schema.d.ts +6 -10
  177. package/dist/dev-cli/schemas/spec.schema.d.ts.map +1 -1
  178. package/dist/dev-cli/schemas/spec.schema.js +11 -15
  179. package/dist/dev-cli/schemas/spec.schema.js.map +1 -1
  180. package/dist/dev-cli/schemas/version.schema.d.ts +29 -58
  181. package/dist/dev-cli/schemas/version.schema.d.ts.map +1 -1
  182. package/dist/dev-cli/schemas/version.schema.js +21 -61
  183. package/dist/dev-cli/schemas/version.schema.js.map +1 -1
  184. package/dist/dev-cli/services/agent-migration.service.d.ts.map +1 -0
  185. package/dist/dev-cli/services/agent-migration.service.js.map +1 -0
  186. package/dist/dev-cli/services/file.service.d.ts.map +1 -0
  187. package/dist/dev-cli/services/file.service.js.map +1 -0
  188. package/dist/dev-cli/services/git.service.d.ts.map +1 -0
  189. package/dist/dev-cli/services/git.service.js.map +1 -0
  190. package/dist/dev-cli/services/npm.service.d.ts.map +1 -0
  191. package/dist/dev-cli/services/npm.service.js.map +1 -0
  192. package/dist/dev-cli/services/release-prep.service.d.ts.map +1 -0
  193. package/dist/dev-cli/services/release-prep.service.js.map +1 -0
  194. package/dist/dev-cli/services/release-verify.service.d.ts.map +1 -0
  195. package/dist/dev-cli/services/release-verify.service.js.map +1 -0
  196. package/dist/dev-cli/services/spec-generate.service.d.ts.map +1 -0
  197. package/dist/dev-cli/services/spec-generate.service.js.map +1 -0
  198. package/dist/dev-cli/services/spec-validate.service.d.ts.map +1 -0
  199. package/dist/dev-cli/services/spec-validate.service.js.map +1 -0
  200. package/dist/dev-cli/services/version-audit.service.d.ts +24 -24
  201. package/dist/dev-cli/services/version-audit.service.d.ts.map +1 -1
  202. package/dist/dev-cli/services/version-audit.service.js +76 -134
  203. package/dist/dev-cli/services/version-audit.service.js.map +1 -1
  204. package/dist/dev-cli/services/version-check.service.d.ts +17 -0
  205. package/dist/dev-cli/services/version-check.service.d.ts.map +1 -0
  206. package/dist/dev-cli/services/version-check.service.js +54 -0
  207. package/dist/dev-cli/services/version-check.service.js.map +1 -0
  208. package/dist/dev-cli/services/version-detection.service.d.ts.map +1 -0
  209. package/dist/dev-cli/services/version-detection.service.js.map +1 -0
  210. package/dist/dev-cli/services/version-file.service.d.ts.map +1 -0
  211. package/dist/dev-cli/services/version-file.service.js.map +1 -0
  212. package/dist/dev-cli/services/version-release.service.d.ts.map +1 -0
  213. package/dist/dev-cli/services/version-release.service.js.map +1 -0
  214. package/dist/dev-cli/services/version-status.service.d.ts +24 -0
  215. package/dist/dev-cli/services/version-status.service.d.ts.map +1 -0
  216. package/dist/dev-cli/services/version-status.service.js +55 -0
  217. package/dist/dev-cli/services/version-status.service.js.map +1 -0
  218. package/dist/dev-cli/services/version-sync.service.d.ts.map +1 -0
  219. package/dist/dev-cli/services/version-sync.service.js.map +1 -0
  220. package/dist/dev-cli/services/version-validate.service.d.ts.map +1 -0
  221. package/dist/dev-cli/{src/services → services}/version-validate.service.js +1 -1
  222. package/dist/dev-cli/services/version-validate.service.js.map +1 -0
  223. package/dist/generated/types.d.ts +691 -0
  224. package/dist/generated/types.d.ts.map +1 -0
  225. package/dist/generated/types.js +6 -0
  226. package/dist/generated/types.js.map +1 -0
  227. package/dist/package.json +275 -0
  228. package/dist/repositories/schema.repository.d.ts.map +1 -1
  229. package/dist/repositories/schema.repository.js +3 -0
  230. package/dist/repositories/schema.repository.js.map +1 -1
  231. package/dist/sdks/typescript/types.d.ts +3 -3
  232. package/dist/sdks/typescript/types.js +3 -3
  233. package/dist/services/audit.d.ts.map +1 -1
  234. package/dist/services/audit.js +11 -7
  235. package/dist/services/audit.js.map +1 -1
  236. package/dist/services/codegen/generators/openapi-zod.generator.js +1 -1
  237. package/dist/services/export/export-orchestrator.d.ts +89 -0
  238. package/dist/services/export/export-orchestrator.d.ts.map +1 -0
  239. package/dist/services/export/export-orchestrator.js +181 -0
  240. package/dist/services/export/export-orchestrator.js.map +1 -0
  241. package/dist/services/framework-import/langchain-importer.service.d.ts.map +1 -1
  242. package/dist/services/framework-import/langchain-importer.service.js +1 -0
  243. package/dist/services/framework-import/langchain-importer.service.js.map +1 -1
  244. package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -1
  245. package/dist/services/framework-import/langflow-importer.service.js +1 -0
  246. package/dist/services/framework-import/langflow-importer.service.js.map +1 -1
  247. package/dist/services/messaging/messaging.service.d.ts.map +1 -1
  248. package/dist/services/messaging/messaging.service.js +2 -0
  249. package/dist/services/messaging/messaging.service.js.map +1 -1
  250. package/dist/services/migration.service.d.ts +1 -1
  251. package/dist/services/migration.service.js +9 -9
  252. package/dist/services/migration.service.js.map +1 -1
  253. package/dist/services/registry/index.service.d.ts.map +1 -1
  254. package/dist/services/registry/index.service.js +2 -0
  255. package/dist/services/registry/index.service.js.map +1 -1
  256. package/dist/services/structure/agents-folder.service.js +2 -2
  257. package/dist/services/taxonomy-service.d.ts +103 -0
  258. package/dist/services/taxonomy-service.d.ts.map +1 -0
  259. package/dist/services/taxonomy-service.js +343 -0
  260. package/dist/services/taxonomy-service.js.map +1 -0
  261. package/dist/services/validation.service.d.ts.map +1 -1
  262. package/dist/services/validation.service.js +2 -0
  263. package/dist/services/validation.service.js.map +1 -1
  264. package/dist/services/validators/a2a.validator.d.ts.map +1 -1
  265. package/dist/services/validators/a2a.validator.js +2 -0
  266. package/dist/services/validators/a2a.validator.js.map +1 -1
  267. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  268. package/dist/services/validators/anthropic.validator.js +1 -0
  269. package/dist/services/validators/anthropic.validator.js.map +1 -1
  270. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  271. package/dist/services/validators/autogen.validator.js +2 -0
  272. package/dist/services/validators/autogen.validator.js.map +1 -1
  273. package/dist/services/validators/contract.validator.d.ts.map +1 -1
  274. package/dist/services/validators/contract.validator.js +2 -0
  275. package/dist/services/validators/contract.validator.js.map +1 -1
  276. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  277. package/dist/services/validators/crewai.validator.js +2 -0
  278. package/dist/services/validators/crewai.validator.js.map +1 -1
  279. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  280. package/dist/services/validators/cursor.validator.js +1 -0
  281. package/dist/services/validators/cursor.validator.js.map +1 -1
  282. package/dist/services/validators/dependencies.validator.d.ts +1 -1
  283. package/dist/services/validators/dependencies.validator.d.ts.map +1 -1
  284. package/dist/services/validators/dependencies.validator.js +1 -0
  285. package/dist/services/validators/dependencies.validator.js.map +1 -1
  286. package/dist/services/validators/index.d.ts.map +1 -1
  287. package/dist/services/validators/index.js +1 -0
  288. package/dist/services/validators/index.js.map +1 -1
  289. package/dist/services/validators/kagent.validator.d.ts.map +1 -1
  290. package/dist/services/validators/kagent.validator.js +2 -0
  291. package/dist/services/validators/kagent.validator.js.map +1 -1
  292. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  293. package/dist/services/validators/langchain.validator.js +2 -0
  294. package/dist/services/validators/langchain.validator.js.map +1 -1
  295. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  296. package/dist/services/validators/langflow.validator.js +1 -0
  297. package/dist/services/validators/langflow.validator.js.map +1 -1
  298. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  299. package/dist/services/validators/langgraph.validator.js +2 -0
  300. package/dist/services/validators/langgraph.validator.js.map +1 -1
  301. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  302. package/dist/services/validators/llamaindex.validator.js +1 -0
  303. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  304. package/dist/services/validators/mcp.validator.d.ts.map +1 -1
  305. package/dist/services/validators/mcp.validator.js +2 -0
  306. package/dist/services/validators/mcp.validator.js.map +1 -1
  307. package/dist/services/validators/messaging.validator.d.ts.map +1 -1
  308. package/dist/services/validators/messaging.validator.js +2 -0
  309. package/dist/services/validators/messaging.validator.js.map +1 -1
  310. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  311. package/dist/services/validators/openai.validator.js +1 -0
  312. package/dist/services/validators/openai.validator.js.map +1 -1
  313. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  314. package/dist/services/validators/vercel-ai.validator.js +1 -0
  315. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  316. package/dist/spec/registry/registry-spec.md +1 -1
  317. package/dist/spec/v0.3/ossa-0.3.6.schema.json +11035 -13719
  318. package/dist/spec/v0.4/agent.schema.json +15944 -0
  319. package/dist/spec/v0.4/extensions/a2a/README.md +193 -0
  320. package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
  321. package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
  322. package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
  323. package/dist/spec/v0.4/extensions/kagent/README.md +315 -0
  324. package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
  325. package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
  326. package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
  327. package/dist/spec/v0.4/extensions/mcp/README.md +276 -0
  328. package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
  329. package/dist/testing/runner.d.ts.map +1 -1
  330. package/dist/testing/runner.js +3 -2
  331. package/dist/testing/runner.js.map +1 -1
  332. package/dist/types/identity.zod.d.ts +5 -5
  333. package/dist/types/index.d.ts +12 -1
  334. package/dist/types/index.d.ts.map +1 -1
  335. package/dist/types/personality.zod.d.ts +16 -16
  336. package/dist/utils/version.d.ts +4 -2
  337. package/dist/utils/version.d.ts.map +1 -1
  338. package/dist/utils/version.js +16 -8
  339. package/dist/utils/version.js.map +1 -1
  340. package/dist/validation/__tests__/error-codes.test.js +1 -1
  341. package/dist/validation/enhanced-validator.js +6 -6
  342. package/dist/validation/error-formatter.js +1 -1
  343. package/dist/validation/index.js +5 -5
  344. package/dist/validation/validator.d.ts.map +1 -1
  345. package/dist/validation/validator.js +2 -1
  346. package/dist/validation/validator.js.map +1 -1
  347. package/dist/version-management/api/server.d.ts +3 -0
  348. package/dist/version-management/api/server.d.ts.map +1 -0
  349. package/dist/version-management/api/server.js +75 -0
  350. package/dist/version-management/api/server.js.map +1 -0
  351. package/dist/version-management/cli/index.d.ts +3 -0
  352. package/dist/version-management/cli/index.d.ts.map +1 -0
  353. package/dist/version-management/cli/index.js +212 -0
  354. package/dist/version-management/cli/index.js.map +1 -0
  355. package/dist/version-management/core/version-manager.d.ts +108 -0
  356. package/dist/version-management/core/version-manager.d.ts.map +1 -0
  357. package/dist/version-management/core/version-manager.js +319 -0
  358. package/dist/version-management/core/version-manager.js.map +1 -0
  359. package/dist/version-management/core/version-manager.test.d.ts +2 -0
  360. package/dist/version-management/core/version-manager.test.d.ts.map +1 -0
  361. package/dist/version-management/core/version-manager.test.js +210 -0
  362. package/dist/version-management/core/version-manager.test.js.map +1 -0
  363. package/dist/version-management/index.d.ts +3 -0
  364. package/dist/version-management/index.d.ts.map +1 -0
  365. package/dist/version-management/index.js +2 -0
  366. package/dist/version-management/index.js.map +1 -0
  367. package/openapi/agent-crud.yaml +3 -3
  368. package/openapi/agent-taxonomy.yaml +323 -0
  369. package/openapi/{dev-cli.openapi.yml → dev-cli/openapi.yaml} +107 -6
  370. package/openapi/ossa-cli-enhancements.openapi.yaml +507 -66
  371. package/openapi/ossa-cli.yaml +688 -0
  372. package/openapi/schemas/common/agent.yaml +19 -2
  373. package/openapi/schemas/common/metadata.yaml +9 -0
  374. package/openapi/version-management.openapi.yaml +754 -0
  375. package/package.json +30 -48
  376. package/spec/registry/registry-spec.md +1 -1
  377. package/spec/v0.3/ossa-0.3.6.schema.json +11035 -13719
  378. package/spec/v0.4/agent.schema.json +15944 -0
  379. package/spec/v0.4/extensions/a2a/README.md +193 -0
  380. package/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
  381. package/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
  382. package/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
  383. package/spec/v0.4/extensions/kagent/README.md +315 -0
  384. package/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
  385. package/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
  386. package/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
  387. package/spec/v0.4/extensions/mcp/README.md +276 -0
  388. package/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
  389. package/.version.json +0 -7
  390. package/dist/dev-cli/src/commands/env-cleanup.command.d.ts.map +0 -1
  391. package/dist/dev-cli/src/commands/env-cleanup.command.js.map +0 -1
  392. package/dist/dev-cli/src/commands/migrate.command.d.ts.map +0 -1
  393. package/dist/dev-cli/src/commands/migrate.command.js.map +0 -1
  394. package/dist/dev-cli/src/commands/release-prep.command.d.ts.map +0 -1
  395. package/dist/dev-cli/src/commands/release-prep.command.js.map +0 -1
  396. package/dist/dev-cli/src/commands/release.command.d.ts.map +0 -1
  397. package/dist/dev-cli/src/commands/release.command.js.map +0 -1
  398. package/dist/dev-cli/src/commands/spec.command.d.ts.map +0 -1
  399. package/dist/dev-cli/src/commands/spec.command.js.map +0 -1
  400. package/dist/dev-cli/src/commands/v035.command.d.ts +0 -8
  401. package/dist/dev-cli/src/commands/v035.command.d.ts.map +0 -1
  402. package/dist/dev-cli/src/commands/v035.command.js +0 -247
  403. package/dist/dev-cli/src/commands/v035.command.js.map +0 -1
  404. package/dist/dev-cli/src/commands/version.command.d.ts.map +0 -1
  405. package/dist/dev-cli/src/commands/workflow.command.d.ts.map +0 -1
  406. package/dist/dev-cli/src/commands/workflow.command.js.map +0 -1
  407. package/dist/dev-cli/src/index.d.ts.map +0 -1
  408. package/dist/dev-cli/src/index.js.map +0 -1
  409. package/dist/dev-cli/src/schemas/migrate.schema.d.ts.map +0 -1
  410. package/dist/dev-cli/src/schemas/migrate.schema.js.map +0 -1
  411. package/dist/dev-cli/src/schemas/release-prep.schema.d.ts.map +0 -1
  412. package/dist/dev-cli/src/schemas/release-prep.schema.js.map +0 -1
  413. package/dist/dev-cli/src/schemas/release.schema.d.ts.map +0 -1
  414. package/dist/dev-cli/src/schemas/release.schema.js.map +0 -1
  415. package/dist/dev-cli/src/schemas/spec.schema.d.ts +0 -34
  416. package/dist/dev-cli/src/schemas/spec.schema.d.ts.map +0 -1
  417. package/dist/dev-cli/src/schemas/spec.schema.js +0 -32
  418. package/dist/dev-cli/src/schemas/spec.schema.js.map +0 -1
  419. package/dist/dev-cli/src/schemas/version.schema.d.ts +0 -53
  420. package/dist/dev-cli/src/schemas/version.schema.d.ts.map +0 -1
  421. package/dist/dev-cli/src/schemas/version.schema.js +0 -43
  422. package/dist/dev-cli/src/schemas/version.schema.js.map +0 -1
  423. package/dist/dev-cli/src/services/agent-migration.service.d.ts.map +0 -1
  424. package/dist/dev-cli/src/services/agent-migration.service.js.map +0 -1
  425. package/dist/dev-cli/src/services/file.service.d.ts.map +0 -1
  426. package/dist/dev-cli/src/services/file.service.js.map +0 -1
  427. package/dist/dev-cli/src/services/git.service.d.ts.map +0 -1
  428. package/dist/dev-cli/src/services/git.service.js.map +0 -1
  429. package/dist/dev-cli/src/services/npm.service.d.ts.map +0 -1
  430. package/dist/dev-cli/src/services/npm.service.js.map +0 -1
  431. package/dist/dev-cli/src/services/release-prep.service.d.ts.map +0 -1
  432. package/dist/dev-cli/src/services/release-prep.service.js.map +0 -1
  433. package/dist/dev-cli/src/services/release-verify.service.d.ts.map +0 -1
  434. package/dist/dev-cli/src/services/release-verify.service.js.map +0 -1
  435. package/dist/dev-cli/src/services/spec-generate.service.d.ts.map +0 -1
  436. package/dist/dev-cli/src/services/spec-generate.service.js.map +0 -1
  437. package/dist/dev-cli/src/services/spec-validate.service.d.ts.map +0 -1
  438. package/dist/dev-cli/src/services/spec-validate.service.js.map +0 -1
  439. package/dist/dev-cli/src/services/version-detection.service.d.ts.map +0 -1
  440. package/dist/dev-cli/src/services/version-detection.service.js.map +0 -1
  441. package/dist/dev-cli/src/services/version-file.service.d.ts.map +0 -1
  442. package/dist/dev-cli/src/services/version-file.service.js.map +0 -1
  443. package/dist/dev-cli/src/services/version-release.service.d.ts.map +0 -1
  444. package/dist/dev-cli/src/services/version-release.service.js.map +0 -1
  445. package/dist/dev-cli/src/services/version-sync.service.d.ts.map +0 -1
  446. package/dist/dev-cli/src/services/version-sync.service.js.map +0 -1
  447. package/dist/dev-cli/src/services/version-validate.service.d.ts.map +0 -1
  448. package/dist/dev-cli/src/services/version-validate.service.js.map +0 -1
  449. package/dist/tools/validation/validate-v0.3.5-features.d.ts +0 -50
  450. package/dist/tools/validation/validate-v0.3.5-features.d.ts.map +0 -1
  451. package/dist/tools/validation/validate-v0.3.5-features.js +0 -280
  452. package/dist/tools/validation/validate-v0.3.5-features.js.map +0 -1
  453. package/src/dev-cli/README.md +0 -53
  454. package/src/dev-cli/src/index.ts +0 -47
  455. /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.d.ts +0 -0
  456. /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.js +0 -0
  457. /package/dist/dev-cli/{src/commands → commands}/migrate.command.d.ts +0 -0
  458. /package/dist/dev-cli/{src/commands → commands}/migrate.command.js +0 -0
  459. /package/dist/dev-cli/{src/commands → commands}/release-prep.command.d.ts +0 -0
  460. /package/dist/dev-cli/{src/commands → commands}/release-prep.command.js +0 -0
  461. /package/dist/dev-cli/{src/commands → commands}/release.command.d.ts +0 -0
  462. /package/dist/dev-cli/{src/commands → commands}/release.command.js +0 -0
  463. /package/dist/dev-cli/{src/commands → commands}/spec.command.d.ts +0 -0
  464. /package/dist/dev-cli/{src/commands → commands}/spec.command.js +0 -0
  465. /package/dist/dev-cli/{src/commands → commands}/version.command.d.ts +0 -0
  466. /package/dist/dev-cli/{src/commands → commands}/workflow.command.d.ts +0 -0
  467. /package/dist/dev-cli/{src/commands → commands}/workflow.command.js +0 -0
  468. /package/dist/dev-cli/{src/index.d.ts → index.d.ts} +0 -0
  469. /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.d.ts +0 -0
  470. /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.js +0 -0
  471. /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.d.ts +0 -0
  472. /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.js +0 -0
  473. /package/dist/dev-cli/{src/schemas → schemas}/release.schema.d.ts +0 -0
  474. /package/dist/dev-cli/{src/schemas → schemas}/release.schema.js +0 -0
  475. /package/dist/dev-cli/{src/services → services}/agent-migration.service.d.ts +0 -0
  476. /package/dist/dev-cli/{src/services → services}/agent-migration.service.js +0 -0
  477. /package/dist/dev-cli/{src/services → services}/file.service.d.ts +0 -0
  478. /package/dist/dev-cli/{src/services → services}/file.service.js +0 -0
  479. /package/dist/dev-cli/{src/services → services}/git.service.d.ts +0 -0
  480. /package/dist/dev-cli/{src/services → services}/git.service.js +0 -0
  481. /package/dist/dev-cli/{src/services → services}/npm.service.d.ts +0 -0
  482. /package/dist/dev-cli/{src/services → services}/npm.service.js +0 -0
  483. /package/dist/dev-cli/{src/services → services}/release-prep.service.d.ts +0 -0
  484. /package/dist/dev-cli/{src/services → services}/release-prep.service.js +0 -0
  485. /package/dist/dev-cli/{src/services → services}/release-verify.service.d.ts +0 -0
  486. /package/dist/dev-cli/{src/services → services}/release-verify.service.js +0 -0
  487. /package/dist/dev-cli/{src/services → services}/spec-generate.service.d.ts +0 -0
  488. /package/dist/dev-cli/{src/services → services}/spec-generate.service.js +0 -0
  489. /package/dist/dev-cli/{src/services → services}/spec-validate.service.d.ts +0 -0
  490. /package/dist/dev-cli/{src/services → services}/spec-validate.service.js +0 -0
  491. /package/dist/dev-cli/{src/services → services}/version-detection.service.d.ts +0 -0
  492. /package/dist/dev-cli/{src/services → services}/version-detection.service.js +0 -0
  493. /package/dist/dev-cli/{src/services → services}/version-file.service.d.ts +0 -0
  494. /package/dist/dev-cli/{src/services → services}/version-file.service.js +0 -0
  495. /package/dist/dev-cli/{src/services → services}/version-release.service.d.ts +0 -0
  496. /package/dist/dev-cli/{src/services → services}/version-release.service.js +0 -0
  497. /package/dist/dev-cli/{src/services → services}/version-sync.service.d.ts +0 -0
  498. /package/dist/dev-cli/{src/services → services}/version-sync.service.js +0 -0
  499. /package/dist/dev-cli/{src/services → services}/version-validate.service.d.ts +0 -0
  500. /package/openapi/{cli-commands.openapi.yaml → cli/openapi.yaml} +0 -0
package/bin/ossa-dev ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * OSSA Dev CLI Entry Point
5
+ * Development tools for OSSA maintainers
6
+ */
7
+
8
+ import '../dist/dev-cli/index.js';
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Base Adapter Interface for OSSA Export System
3
+ *
4
+ * All platform adapters must implement this interface to provide
5
+ * consistent export functionality across different platforms.
6
+ *
7
+ * SOLID: Interface Segregation Principle - Small, focused interface
8
+ * DRY: Reusable across all platform adapters
9
+ */
10
+ import type { OssaAgent } from '../../types/index.js';
11
+ export type { OssaAgent };
12
+ /**
13
+ * Export result containing generated files
14
+ */
15
+ export interface ExportResult {
16
+ /**
17
+ * Platform name (e.g., 'langchain', 'mcp', 'drupal')
18
+ */
19
+ platform: string;
20
+ /**
21
+ * Export status
22
+ */
23
+ success: boolean;
24
+ /**
25
+ * Generated files
26
+ */
27
+ files: ExportFile[];
28
+ /**
29
+ * Export metadata
30
+ */
31
+ metadata?: {
32
+ /**
33
+ * Time taken to export (ms)
34
+ */
35
+ duration?: number;
36
+ /**
37
+ * Platform version
38
+ */
39
+ version?: string;
40
+ /**
41
+ * Warnings during export
42
+ */
43
+ warnings?: string[];
44
+ /**
45
+ * Whether Claude Skill was included
46
+ */
47
+ includeSkill?: boolean;
48
+ /**
49
+ * Additional platform-specific metadata
50
+ */
51
+ [key: string]: any;
52
+ };
53
+ /**
54
+ * Error message if export failed
55
+ */
56
+ error?: string;
57
+ }
58
+ /**
59
+ * Exported file
60
+ */
61
+ export interface ExportFile {
62
+ /**
63
+ * Relative file path
64
+ */
65
+ path: string;
66
+ /**
67
+ * File content
68
+ */
69
+ content: string;
70
+ /**
71
+ * File type
72
+ */
73
+ type: 'code' | 'config' | 'documentation' | 'test' | 'other';
74
+ /**
75
+ * Programming language or format
76
+ */
77
+ language?: string;
78
+ }
79
+ /**
80
+ * Export options
81
+ */
82
+ export interface ExportOptions {
83
+ /**
84
+ * Output directory
85
+ */
86
+ outputDir?: string;
87
+ /**
88
+ * Whether to validate export before generation
89
+ */
90
+ validate?: boolean;
91
+ /**
92
+ * Whether to include tests
93
+ */
94
+ includeTests?: boolean;
95
+ /**
96
+ * Whether to include documentation
97
+ */
98
+ includeDocs?: boolean;
99
+ /**
100
+ * Whether to include Claude Skill (SKILL.md)
101
+ */
102
+ includeSkill?: boolean;
103
+ /**
104
+ * Platform-specific options
105
+ */
106
+ platformOptions?: Record<string, any>;
107
+ /**
108
+ * Dry run mode - validate only, don't write files
109
+ */
110
+ dryRun?: boolean;
111
+ }
112
+ /**
113
+ * Platform Adapter Interface
114
+ *
115
+ * All export adapters must implement this interface
116
+ */
117
+ export interface PlatformAdapter {
118
+ /**
119
+ * Platform identifier (unique)
120
+ */
121
+ readonly platform: string;
122
+ /**
123
+ * Platform display name
124
+ */
125
+ readonly displayName: string;
126
+ /**
127
+ * Platform description
128
+ */
129
+ readonly description: string;
130
+ /**
131
+ * Supported OSSA versions
132
+ */
133
+ readonly supportedVersions: string[];
134
+ /**
135
+ * Export manifest to platform-specific format
136
+ *
137
+ * @param manifest - OSSA agent manifest
138
+ * @param options - Export options
139
+ * @returns Export result with generated files
140
+ */
141
+ export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
142
+ /**
143
+ * Validate manifest can be exported to this platform
144
+ *
145
+ * @param manifest - OSSA agent manifest
146
+ * @returns Validation result
147
+ */
148
+ validate(manifest: OssaAgent): Promise<ValidationResult>;
149
+ /**
150
+ * Get example manifest for this platform
151
+ *
152
+ * @returns Example OSSA manifest optimized for this platform
153
+ */
154
+ getExample(): OssaAgent;
155
+ }
156
+ /**
157
+ * Validation result
158
+ */
159
+ export interface ValidationResult {
160
+ /**
161
+ * Whether manifest is valid for this platform
162
+ */
163
+ valid: boolean;
164
+ /**
165
+ * Validation errors
166
+ */
167
+ errors?: ValidationError[];
168
+ /**
169
+ * Validation warnings
170
+ */
171
+ warnings?: ValidationWarning[];
172
+ }
173
+ /**
174
+ * Validation error
175
+ */
176
+ export interface ValidationError {
177
+ /**
178
+ * Error message
179
+ */
180
+ message: string;
181
+ /**
182
+ * JSON path to error location (e.g., 'spec.llm.model')
183
+ */
184
+ path?: string;
185
+ /**
186
+ * Error code
187
+ */
188
+ code?: string;
189
+ }
190
+ /**
191
+ * Validation warning
192
+ */
193
+ export interface ValidationWarning {
194
+ /**
195
+ * Warning message
196
+ */
197
+ message: string;
198
+ /**
199
+ * JSON path to warning location
200
+ */
201
+ path?: string;
202
+ /**
203
+ * Suggestion for fixing warning
204
+ */
205
+ suggestion?: string;
206
+ }
207
+ /**
208
+ * Base adapter implementation with common functionality
209
+ */
210
+ export declare abstract class BaseAdapter implements PlatformAdapter {
211
+ abstract readonly platform: string;
212
+ abstract readonly displayName: string;
213
+ abstract readonly description: string;
214
+ abstract readonly supportedVersions: string[];
215
+ abstract export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
216
+ /**
217
+ * Default validation - checks basic manifest structure
218
+ */
219
+ validate(manifest: OssaAgent): Promise<ValidationResult>;
220
+ /**
221
+ * Get example manifest - subclasses should override
222
+ */
223
+ getExample(): OssaAgent;
224
+ /**
225
+ * Helper: Create export result
226
+ */
227
+ protected createResult(success: boolean, files: ExportFile[], error?: string, metadata?: ExportResult['metadata']): ExportResult;
228
+ /**
229
+ * Helper: Create export file
230
+ */
231
+ protected createFile(path: string, content: string, type: ExportFile['type'], language?: string): ExportFile;
232
+ }
233
+ //# sourceMappingURL=adapter.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../../src/adapters/base/adapter.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Base Adapter Interface for OSSA Export System
3
+ *
4
+ * All platform adapters must implement this interface to provide
5
+ * consistent export functionality across different platforms.
6
+ *
7
+ * SOLID: Interface Segregation Principle - Small, focused interface
8
+ * DRY: Reusable across all platform adapters
9
+ */
10
+ /**
11
+ * Base adapter implementation with common functionality
12
+ */
13
+ export class BaseAdapter {
14
+ /**
15
+ * Default validation - checks basic manifest structure
16
+ */
17
+ async validate(manifest) {
18
+ const errors = [];
19
+ const warnings = [];
20
+ // Check required fields
21
+ if (!manifest.metadata?.name) {
22
+ errors.push({
23
+ message: 'metadata.name is required',
24
+ path: 'metadata.name',
25
+ code: 'MISSING_REQUIRED_FIELD',
26
+ });
27
+ }
28
+ if (!manifest.metadata?.version) {
29
+ errors.push({
30
+ message: 'metadata.version is required',
31
+ path: 'metadata.version',
32
+ code: 'MISSING_REQUIRED_FIELD',
33
+ });
34
+ }
35
+ if (!manifest.spec?.role) {
36
+ warnings.push({
37
+ message: 'spec.role is recommended for better agent behavior',
38
+ path: 'spec.role',
39
+ suggestion: 'Add a system prompt describing the agent role',
40
+ });
41
+ }
42
+ return {
43
+ valid: errors.length === 0,
44
+ errors: errors.length > 0 ? errors : undefined,
45
+ warnings: warnings.length > 0 ? warnings : undefined,
46
+ };
47
+ }
48
+ /**
49
+ * Get example manifest - subclasses should override
50
+ */
51
+ getExample() {
52
+ return {
53
+ apiVersion: 'ossa/v{{VERSION}}',
54
+ kind: 'Agent',
55
+ metadata: {
56
+ name: 'example-agent',
57
+ version: '1.0.0',
58
+ description: 'Example agent for ' + this.displayName,
59
+ },
60
+ spec: {
61
+ role: 'Example agent role',
62
+ },
63
+ };
64
+ }
65
+ /**
66
+ * Helper: Create export result
67
+ */
68
+ createResult(success, files, error, metadata) {
69
+ return {
70
+ platform: this.platform,
71
+ success,
72
+ files,
73
+ error,
74
+ metadata,
75
+ };
76
+ }
77
+ /**
78
+ * Helper: Create export file
79
+ */
80
+ createFile(path, content, type, language) {
81
+ return {
82
+ path,
83
+ content,
84
+ type,
85
+ language,
86
+ };
87
+ }
88
+ }
89
+ //# sourceMappingURL=adapter.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../../src/adapters/base/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8OH;;GAEG;AACH,MAAM,OAAgB,WAAW;IAW/B;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAChC,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,oDAAoD;gBAC7D,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,+CAA+C;aAC5D,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO;YACL,UAAU,EAAE,mBAAmB;YAC/B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC,WAAW;aACrD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,oBAAoB;aAC3B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,YAAY,CACpB,OAAgB,EAChB,KAAmB,EACnB,KAAc,EACd,QAAmC;QAEnC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,KAAK;YACL,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU,CAClB,IAAY,EACZ,OAAe,EACf,IAAwB,EACxB,QAAiB;QAEjB,OAAO;YACL,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * CrewAI Platform Adapter
3
+ * Exports OSSA agent manifests to CrewAI format (Python)
4
+ *
5
+ * CrewAI is a framework for orchestrating role-playing autonomous AI agents.
6
+ * It excels at multi-agent collaboration and task delegation.
7
+ *
8
+ * SOLID: Single Responsibility - CrewAI export only
9
+ * DRY: Reuses BaseAdapter validation and existing converter
10
+ */
11
+ import { BaseAdapter } from '../base/adapter.interface.js';
12
+ import type { OssaAgent, ExportOptions, ExportResult, ValidationResult } from '../base/adapter.interface.js';
13
+ export declare class CrewAIAdapter extends BaseAdapter {
14
+ readonly platform = "crewai";
15
+ readonly displayName = "CrewAI";
16
+ readonly description = "CrewAI multi-agent framework (Python)";
17
+ readonly supportedVersions: string[];
18
+ private converter;
19
+ /**
20
+ * Export OSSA manifest to CrewAI format
21
+ */
22
+ export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
23
+ /**
24
+ * Validate manifest for CrewAI compatibility
25
+ */
26
+ validate(manifest: OssaAgent): Promise<ValidationResult>;
27
+ /**
28
+ * Get example CrewAI-optimized manifest
29
+ */
30
+ getExample(): OssaAgent;
31
+ /**
32
+ * Generate agents.py - Agent definitions
33
+ */
34
+ private generateAgentsCode;
35
+ /**
36
+ * Generate tasks.py - Task definitions
37
+ */
38
+ private generateTasksCode;
39
+ /**
40
+ * Generate tools.py - Tool implementations
41
+ */
42
+ private generateToolsCode;
43
+ /**
44
+ * Generate requirements.txt
45
+ */
46
+ private generateRequirements;
47
+ /**
48
+ * Generate README.md
49
+ */
50
+ private generateReadme;
51
+ }
52
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/crewai/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAGtC,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,WAAW,2CAA2C;IAC/D,QAAQ,CAAC,iBAAiB,WAA8B;IAExD,OAAO,CAAC,SAAS,CAAyB;IAE1C;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IA6ExB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC9D;;OAEG;IACH,UAAU,IAAI,SAAS;IA8CvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAyCvB"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * CrewAI Platform Adapter
3
+ * Exports OSSA agent manifests to CrewAI format (Python)
4
+ *
5
+ * CrewAI is a framework for orchestrating role-playing autonomous AI agents.
6
+ * It excels at multi-agent collaboration and task delegation.
7
+ *
8
+ * SOLID: Single Responsibility - CrewAI export only
9
+ * DRY: Reuses BaseAdapter validation and existing converter
10
+ */
11
+ import { BaseAdapter } from '../base/adapter.interface.js';
12
+ import { CrewAIConverter } from './converter.js';
13
+ export class CrewAIAdapter extends BaseAdapter {
14
+ platform = 'crewai';
15
+ displayName = 'CrewAI';
16
+ description = 'CrewAI multi-agent framework (Python)';
17
+ supportedVersions = ['v0.3.6', 'v{{VERSION}}'];
18
+ converter = new CrewAIConverter();
19
+ /**
20
+ * Export OSSA manifest to CrewAI format
21
+ */
22
+ async export(manifest, options) {
23
+ const startTime = Date.now();
24
+ try {
25
+ // Validate manifest
26
+ if (options?.validate !== false) {
27
+ const validation = await this.validate(manifest);
28
+ if (!validation.valid) {
29
+ return this.createResult(false, [], `Validation failed: ${validation.errors?.map((e) => e.message).join(', ')}`, {
30
+ duration: Date.now() - startTime,
31
+ warnings: validation.warnings?.map((w) => w.message),
32
+ });
33
+ }
34
+ }
35
+ // Convert to CrewAI config
36
+ const config = this.converter.convert(manifest);
37
+ const files = [];
38
+ // Generate crew.py - Main crew definition
39
+ const crewCode = this.converter.generatePythonCode(manifest);
40
+ files.push(this.createFile(`crewai/${manifest.metadata?.name || 'crew'}.py`, crewCode, 'code', 'python'));
41
+ // Generate agents.py - Individual agent definitions
42
+ const agentsCode = this.generateAgentsCode(config, manifest);
43
+ files.push(this.createFile('crewai/agents.py', agentsCode, 'code', 'python'));
44
+ // Generate tasks.py - Task definitions
45
+ const tasksCode = this.generateTasksCode(config, manifest);
46
+ files.push(this.createFile('crewai/tasks.py', tasksCode, 'code', 'python'));
47
+ // Generate tools.py - Tool implementations
48
+ const toolsCode = this.generateToolsCode(manifest);
49
+ files.push(this.createFile('crewai/tools.py', toolsCode, 'code', 'python'));
50
+ // Generate requirements.txt
51
+ const requirements = this.generateRequirements();
52
+ files.push(this.createFile('crewai/requirements.txt', requirements, 'config'));
53
+ // Generate README
54
+ const readme = this.generateReadme(manifest, config);
55
+ files.push(this.createFile('crewai/README.md', readme, 'documentation'));
56
+ return this.createResult(true, files, undefined, {
57
+ duration: Date.now() - startTime,
58
+ version: '0.1.0',
59
+ });
60
+ }
61
+ catch (error) {
62
+ return this.createResult(false, [], error instanceof Error ? error.message : String(error), { duration: Date.now() - startTime });
63
+ }
64
+ }
65
+ /**
66
+ * Validate manifest for CrewAI compatibility
67
+ */
68
+ async validate(manifest) {
69
+ const errors = [];
70
+ const warnings = [];
71
+ // Base validation
72
+ const baseValidation = await super.validate(manifest);
73
+ if (baseValidation.errors)
74
+ errors.push(...baseValidation.errors);
75
+ if (baseValidation.warnings)
76
+ warnings.push(...baseValidation.warnings);
77
+ // CrewAI-specific validation
78
+ const spec = manifest.spec;
79
+ // Check for workflow (CrewAI excels at multi-agent workflows)
80
+ const workflow = spec?.workflow;
81
+ if (!workflow || !workflow.steps || workflow.steps.length === 0) {
82
+ warnings.push({
83
+ message: 'No workflow defined, will create single-agent crew',
84
+ path: 'spec.workflow',
85
+ suggestion: 'Add spec.workflow.steps for multi-agent collaboration',
86
+ });
87
+ }
88
+ // Check for role (required for CrewAI agents)
89
+ if (!spec?.role) {
90
+ errors.push({
91
+ message: 'Role is required for CrewAI agents',
92
+ path: 'spec.role',
93
+ code: 'MISSING_REQUIRED_FIELD',
94
+ });
95
+ }
96
+ return {
97
+ valid: errors.length === 0,
98
+ errors: errors.length > 0 ? errors : undefined,
99
+ warnings: warnings.length > 0 ? warnings : undefined,
100
+ };
101
+ }
102
+ /**
103
+ * Get example CrewAI-optimized manifest
104
+ */
105
+ getExample() {
106
+ return {
107
+ apiVersion: 'ossa/v{{VERSION}}',
108
+ kind: 'Agent',
109
+ metadata: {
110
+ name: 'crewai-research-team',
111
+ version: '1.0.0',
112
+ description: 'Multi-agent research team using CrewAI',
113
+ },
114
+ spec: {
115
+ role: 'Research Team Lead',
116
+ workflow: {
117
+ steps: [
118
+ {
119
+ agent: 'researcher',
120
+ task: 'research',
121
+ description: 'Conduct research on the given topic',
122
+ },
123
+ {
124
+ agent: 'analyst',
125
+ task: 'analyze',
126
+ description: 'Analyze research findings and identify patterns',
127
+ },
128
+ {
129
+ agent: 'writer',
130
+ task: 'write',
131
+ description: 'Write comprehensive report based on analysis',
132
+ },
133
+ ],
134
+ },
135
+ tools: [
136
+ {
137
+ type: 'api',
138
+ name: 'web_search',
139
+ description: 'Search the web for information',
140
+ },
141
+ {
142
+ type: 'api',
143
+ name: 'document_analyzer',
144
+ description: 'Analyze documents and extract insights',
145
+ },
146
+ ],
147
+ },
148
+ };
149
+ }
150
+ /**
151
+ * Generate agents.py - Agent definitions
152
+ */
153
+ generateAgentsCode(config, manifest) {
154
+ return `"""
155
+ CrewAI Agent Definitions
156
+ Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
157
+ """
158
+
159
+ from crewai import Agent
160
+ from tools import get_tools
161
+
162
+ # Define agents
163
+ ${config.agents
164
+ .map((agent) => `
165
+ ${agent.role.replace(/[^a-zA-Z0-9]/g, '_')}_agent = Agent(
166
+ role="${agent.role}",
167
+ goal="${agent.goal}",
168
+ backstory="""${agent.backstory}""",
169
+ tools=get_tools(),
170
+ verbose=${agent.verbose ?? true},
171
+ allow_delegation=True,
172
+ )`)
173
+ .join('\n')}
174
+
175
+ # Export all agents
176
+ agents = [
177
+ ${config.agents.map((agent) => ` ${agent.role.replace(/[^a-zA-Z0-9]/g, '_')}_agent`).join(',\n')}
178
+ ]
179
+ `;
180
+ }
181
+ /**
182
+ * Generate tasks.py - Task definitions
183
+ */
184
+ generateTasksCode(config, manifest) {
185
+ return `"""
186
+ CrewAI Task Definitions
187
+ Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
188
+ """
189
+
190
+ from crewai import Task
191
+ from agents import agents
192
+
193
+ # Define tasks
194
+ ${config.tasks
195
+ .map((task, index) => `
196
+ task_${index + 1} = Task(
197
+ description="""${task.description}""",
198
+ agent=agents[${config.agents.findIndex((a) => a.role === task.agent) || 0}],
199
+ expected_output="""${task.expected_output || 'Task completed'}""",
200
+ )`)
201
+ .join('\n')}
202
+
203
+ # Export all tasks
204
+ tasks = [
205
+ ${config.tasks.map((_, index) => ` task_${index + 1}`).join(',\n')}
206
+ ]
207
+ `;
208
+ }
209
+ /**
210
+ * Generate tools.py - Tool implementations
211
+ */
212
+ generateToolsCode(manifest) {
213
+ const tools = (manifest.spec?.tools || []);
214
+ return `"""
215
+ CrewAI Tool Implementations
216
+ Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
217
+ """
218
+
219
+ from crewai_tools import tool
220
+ from typing import Any
221
+
222
+ ${tools
223
+ .map((t) => `
224
+ @tool
225
+ def ${t.name || 'unknown_tool'}(input_data: str) -> str:
226
+ """${t.description || 'Tool implementation'}"""
227
+ # Implement tool logic here
228
+ return f"Executed ${t.name || 'tool'} with: {input_data}"
229
+ `)
230
+ .join('\n')}
231
+
232
+ def get_tools() -> list:
233
+ """Return all available tools"""
234
+ return [
235
+ ${tools.map((t) => ` ${t.name || 'unknown_tool'}`).join(',\n')}
236
+ ]
237
+ `;
238
+ }
239
+ /**
240
+ * Generate requirements.txt
241
+ */
242
+ generateRequirements() {
243
+ return `crewai>=0.22.0
244
+ crewai-tools>=0.2.0
245
+ python-dotenv>=1.0.0
246
+ `;
247
+ }
248
+ /**
249
+ * Generate README.md
250
+ */
251
+ generateReadme(manifest, config) {
252
+ return `# ${manifest.metadata?.name || 'CrewAI Crew'}
253
+
254
+ ${manifest.metadata?.description || 'CrewAI multi-agent crew generated from OSSA manifest'}
255
+
256
+ ## Description
257
+
258
+ ${manifest.spec?.role || 'AI Agent Crew'}
259
+
260
+ ## Setup
261
+
262
+ \`\`\`bash
263
+ pip install -r requirements.txt
264
+ python ${manifest.metadata?.name || 'crew'}.py
265
+ \`\`\`
266
+
267
+ ## Configuration
268
+
269
+ - **Process**: ${config.process || 'sequential'}
270
+ - **Agents**: ${config.agents.length}
271
+ - **Tasks**: ${config.tasks.length}
272
+
273
+ ## Agents
274
+
275
+ ${config.agents.map((a) => `### ${a.role}\n- **Goal**: ${a.goal}\n- **Backstory**: ${a.backstory}`).join('\n\n')}
276
+
277
+ ## Tasks
278
+
279
+ ${config.tasks.map((t, i) => `${i + 1}. **${t.description}**\n - Agent: ${t.agent}\n - Expected Output: ${t.expected_output}`).join('\n')}
280
+
281
+ ## Generated from OSSA
282
+
283
+ This crew was generated from an OSSA v${manifest.apiVersion?.split('/')[1] || '{{VERSION}}'} manifest.
284
+
285
+ Original manifest: \`agent.ossa.yaml\`
286
+
287
+ ## License
288
+
289
+ ${manifest.metadata?.license || 'MIT'}
290
+ `;
291
+ }
292
+ }
293
+ //# sourceMappingURL=adapter.js.map