@bluefly/openstandardagents 0.4.3 → 0.4.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 (755) hide show
  1. package/.version.json +2 -2
  2. package/CHANGELOG.md +475 -0
  3. package/README.md +106 -417
  4. package/bin/ossa +3 -0
  5. package/dist/adapters/agent-skills/exporter.d.ts +98 -0
  6. package/dist/adapters/agent-skills/exporter.d.ts.map +1 -0
  7. package/dist/adapters/agent-skills/exporter.js +453 -0
  8. package/dist/adapters/agent-skills/exporter.js.map +1 -0
  9. package/dist/adapters/agent-skills/index.d.ts +7 -0
  10. package/dist/adapters/agent-skills/index.d.ts.map +1 -0
  11. package/dist/adapters/agent-skills/index.js +6 -0
  12. package/dist/adapters/agent-skills/index.js.map +1 -0
  13. package/dist/adapters/anthropic/claude-optimizations.d.ts +44 -0
  14. package/dist/adapters/anthropic/claude-optimizations.d.ts.map +1 -0
  15. package/dist/adapters/anthropic/claude-optimizations.js +180 -0
  16. package/dist/adapters/anthropic/claude-optimizations.js.map +1 -0
  17. package/dist/adapters/base/adapter.interface.d.ts +4 -0
  18. package/dist/adapters/base/adapter.interface.d.ts.map +1 -1
  19. package/dist/adapters/base/adapter.interface.js +7 -0
  20. package/dist/adapters/base/adapter.interface.js.map +1 -1
  21. package/dist/adapters/base/common-file-generator.d.ts +160 -0
  22. package/dist/adapters/base/common-file-generator.d.ts.map +1 -0
  23. package/dist/adapters/base/common-file-generator.js +584 -0
  24. package/dist/adapters/base/common-file-generator.js.map +1 -0
  25. package/dist/adapters/base/index.d.ts +21 -0
  26. package/dist/adapters/base/index.d.ts.map +1 -0
  27. package/dist/adapters/base/index.js +25 -0
  28. package/dist/adapters/base/index.js.map +1 -0
  29. package/dist/adapters/base/manifest-validator.d.ts +84 -0
  30. package/dist/adapters/base/manifest-validator.d.ts.map +1 -0
  31. package/dist/adapters/base/manifest-validator.js +266 -0
  32. package/dist/adapters/base/manifest-validator.js.map +1 -0
  33. package/dist/adapters/base/template-engine.d.ts +52 -0
  34. package/dist/adapters/base/template-engine.d.ts.map +1 -0
  35. package/dist/adapters/base/template-engine.js +157 -0
  36. package/dist/adapters/base/template-engine.js.map +1 -0
  37. package/dist/adapters/crewai/adapter.d.ts +53 -1
  38. package/dist/adapters/crewai/adapter.d.ts.map +1 -1
  39. package/dist/adapters/crewai/adapter.js +1457 -31
  40. package/dist/adapters/crewai/adapter.js.map +1 -1
  41. package/dist/adapters/crewai/converter.d.ts +8 -0
  42. package/dist/adapters/crewai/converter.d.ts.map +1 -1
  43. package/dist/adapters/crewai/converter.js +56 -24
  44. package/dist/adapters/crewai/converter.js.map +1 -1
  45. package/dist/adapters/docker/docker-exporter.d.ts +38 -0
  46. package/dist/adapters/docker/docker-exporter.d.ts.map +1 -0
  47. package/dist/adapters/docker/docker-exporter.js +648 -0
  48. package/dist/adapters/docker/docker-exporter.js.map +1 -0
  49. package/dist/adapters/docker/generators.d.ts +73 -7
  50. package/dist/adapters/docker/generators.d.ts.map +1 -1
  51. package/dist/adapters/docker/generators.js +728 -43
  52. package/dist/adapters/docker/generators.js.map +1 -1
  53. package/dist/adapters/docker/index.d.ts +4 -3
  54. package/dist/adapters/docker/index.d.ts.map +1 -1
  55. package/dist/adapters/docker/index.js +3 -2
  56. package/dist/adapters/docker/index.js.map +1 -1
  57. package/dist/adapters/docker/types.d.ts +70 -0
  58. package/dist/adapters/docker/types.d.ts.map +1 -1
  59. package/dist/adapters/drupal/adapter.d.ts.map +1 -1
  60. package/dist/adapters/drupal/adapter.js +2 -2
  61. package/dist/adapters/drupal/adapter.js.map +1 -1
  62. package/dist/adapters/drupal/generator.d.ts.map +1 -1
  63. package/dist/adapters/drupal/generator.js +14 -9
  64. package/dist/adapters/drupal/generator.js.map +1 -1
  65. package/dist/adapters/drupal/index.d.ts +3 -1
  66. package/dist/adapters/drupal/index.d.ts.map +1 -1
  67. package/dist/adapters/drupal/index.js +5 -1
  68. package/dist/adapters/drupal/index.js.map +1 -1
  69. package/dist/adapters/drupal/manifest-exporter.d.ts +77 -0
  70. package/dist/adapters/drupal/manifest-exporter.d.ts.map +1 -0
  71. package/dist/adapters/drupal/manifest-exporter.js +360 -0
  72. package/dist/adapters/drupal/manifest-exporter.js.map +1 -0
  73. package/dist/adapters/drupal/production-exporter.legacy.d.ts +131 -0
  74. package/dist/adapters/drupal/production-exporter.legacy.d.ts.map +1 -0
  75. package/dist/adapters/drupal/production-exporter.legacy.js +2537 -0
  76. package/dist/adapters/drupal/production-exporter.legacy.js.map +1 -0
  77. package/dist/adapters/gitlab/agent-generator.d.ts +103 -0
  78. package/dist/adapters/gitlab/agent-generator.d.ts.map +1 -0
  79. package/dist/adapters/gitlab/agent-generator.js +898 -0
  80. package/dist/adapters/gitlab/agent-generator.js.map +1 -0
  81. package/dist/adapters/gitlab/converter.d.ts +12 -2
  82. package/dist/adapters/gitlab/converter.d.ts.map +1 -1
  83. package/dist/adapters/gitlab/converter.js +19 -2
  84. package/dist/adapters/gitlab/converter.js.map +1 -1
  85. package/dist/adapters/gitlab/external-agent-generator.d.ts +70 -0
  86. package/dist/adapters/gitlab/external-agent-generator.d.ts.map +1 -0
  87. package/dist/adapters/gitlab/external-agent-generator.js +338 -0
  88. package/dist/adapters/gitlab/external-agent-generator.js.map +1 -0
  89. package/dist/adapters/gitlab/flow-generator.d.ts +73 -0
  90. package/dist/adapters/gitlab/flow-generator.d.ts.map +1 -0
  91. package/dist/adapters/gitlab/flow-generator.js +669 -0
  92. package/dist/adapters/gitlab/flow-generator.js.map +1 -0
  93. package/dist/adapters/gitlab/index.d.ts +10 -2
  94. package/dist/adapters/gitlab/index.d.ts.map +1 -1
  95. package/dist/adapters/gitlab/index.js +6 -1
  96. package/dist/adapters/gitlab/index.js.map +1 -1
  97. package/dist/adapters/gitlab/package-generator.d.ts +167 -0
  98. package/dist/adapters/gitlab/package-generator.d.ts.map +1 -0
  99. package/dist/adapters/gitlab/package-generator.js +2426 -0
  100. package/dist/adapters/gitlab/package-generator.js.map +1 -0
  101. package/dist/adapters/gitlab/router-generator.d.ts +113 -0
  102. package/dist/adapters/gitlab/router-generator.d.ts.map +1 -0
  103. package/dist/adapters/gitlab/router-generator.js +541 -0
  104. package/dist/adapters/gitlab/router-generator.js.map +1 -0
  105. package/dist/adapters/gitlab/trigger-generator.d.ts +154 -0
  106. package/dist/adapters/gitlab/trigger-generator.d.ts.map +1 -0
  107. package/dist/adapters/gitlab/trigger-generator.js +279 -0
  108. package/dist/adapters/gitlab/trigger-generator.js.map +1 -0
  109. package/dist/adapters/gitlab/types.d.ts +98 -0
  110. package/dist/adapters/gitlab/types.d.ts.map +1 -1
  111. package/dist/adapters/kubernetes/generator.d.ts +93 -5
  112. package/dist/adapters/kubernetes/generator.d.ts.map +1 -1
  113. package/dist/adapters/kubernetes/generator.js +1292 -33
  114. package/dist/adapters/kubernetes/generator.js.map +1 -1
  115. package/dist/adapters/kubernetes/index.d.ts +2 -2
  116. package/dist/adapters/kubernetes/index.d.ts.map +1 -1
  117. package/dist/adapters/kubernetes/index.js +1 -1
  118. package/dist/adapters/kubernetes/kagent-crd-generator.d.ts +72 -0
  119. package/dist/adapters/kubernetes/kagent-crd-generator.d.ts.map +1 -0
  120. package/dist/adapters/kubernetes/kagent-crd-generator.js +237 -0
  121. package/dist/adapters/kubernetes/kagent-crd-generator.js.map +1 -0
  122. package/dist/adapters/kubernetes/types.d.ts +45 -0
  123. package/dist/adapters/kubernetes/types.d.ts.map +1 -1
  124. package/dist/adapters/langchain/adapter.d.ts +1 -9
  125. package/dist/adapters/langchain/adapter.d.ts.map +1 -1
  126. package/dist/adapters/langchain/adapter.js +35 -131
  127. package/dist/adapters/langchain/adapter.js.map +1 -1
  128. package/dist/adapters/langchain/converter.d.ts.map +1 -1
  129. package/dist/adapters/langchain/converter.js +16 -4
  130. package/dist/adapters/langchain/converter.js.map +1 -1
  131. package/dist/adapters/langfuse.adapter.d.ts +1 -1
  132. package/dist/adapters/langsmith.adapter.d.ts +1 -1
  133. package/dist/adapters/mcp/adapter.d.ts.map +1 -1
  134. package/dist/adapters/mcp/adapter.js +4 -1
  135. package/dist/adapters/mcp/adapter.js.map +1 -1
  136. package/dist/adapters/mcp/converter.d.ts.map +1 -1
  137. package/dist/adapters/mcp/converter.js.map +1 -1
  138. package/dist/adapters/npm/adapter.d.ts +1 -5
  139. package/dist/adapters/npm/adapter.d.ts.map +1 -1
  140. package/dist/adapters/npm/adapter.js +41 -84
  141. package/dist/adapters/npm/adapter.js.map +1 -1
  142. package/dist/adapters/npm/converter.d.ts.map +1 -1
  143. package/dist/adapters/npm/converter.js +28 -15
  144. package/dist/adapters/npm/converter.js.map +1 -1
  145. package/dist/adapters/npm/type-aware-dependencies.d.ts +19 -0
  146. package/dist/adapters/npm/type-aware-dependencies.d.ts.map +1 -0
  147. package/dist/adapters/npm/type-aware-dependencies.js +158 -0
  148. package/dist/adapters/npm/type-aware-dependencies.js.map +1 -0
  149. package/dist/adapters/opentelemetry.adapter.js.map +1 -1
  150. package/dist/adapters/phoenix.adapter.d.ts +1 -1
  151. package/dist/cli/banner.d.ts.map +1 -1
  152. package/dist/cli/banner.js +10 -3
  153. package/dist/cli/banner.js.map +1 -1
  154. package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -1
  155. package/dist/cli/commands/agent-wizard.command.js +6 -1
  156. package/dist/cli/commands/agent-wizard.command.js.map +1 -1
  157. package/dist/cli/commands/agents/persona.command.d.ts +10 -0
  158. package/dist/cli/commands/agents/persona.command.d.ts.map +1 -0
  159. package/dist/cli/commands/agents/persona.command.js +519 -0
  160. package/dist/cli/commands/agents/persona.command.js.map +1 -0
  161. package/dist/cli/commands/agents.command.d.ts.map +1 -1
  162. package/dist/cli/commands/agents.command.js +6 -0
  163. package/dist/cli/commands/agents.command.js.map +1 -1
  164. package/dist/cli/commands/audit.d.ts.map +1 -1
  165. package/dist/cli/commands/audit.js +26 -9
  166. package/dist/cli/commands/audit.js.map +1 -1
  167. package/dist/cli/commands/build.command.d.ts.map +1 -1
  168. package/dist/cli/commands/build.command.js +6 -5
  169. package/dist/cli/commands/build.command.js.map +1 -1
  170. package/dist/cli/commands/catalog/pull.command.d.ts.map +1 -1
  171. package/dist/cli/commands/catalog/pull.command.js +25 -5
  172. package/dist/cli/commands/catalog/pull.command.js.map +1 -1
  173. package/dist/cli/commands/catalog/push.command.d.ts.map +1 -1
  174. package/dist/cli/commands/catalog/push.command.js +29 -7
  175. package/dist/cli/commands/catalog/push.command.js.map +1 -1
  176. package/dist/cli/commands/catalog/sync.command.d.ts.map +1 -1
  177. package/dist/cli/commands/catalog/sync.command.js +23 -6
  178. package/dist/cli/commands/catalog/sync.command.js.map +1 -1
  179. package/dist/cli/commands/deploy-enhanced.command.d.ts +15 -0
  180. package/dist/cli/commands/deploy-enhanced.command.d.ts.map +1 -0
  181. package/dist/cli/commands/deploy-enhanced.command.js +335 -0
  182. package/dist/cli/commands/deploy-enhanced.command.js.map +1 -0
  183. package/dist/cli/commands/deploy.command.d.ts.map +1 -1
  184. package/dist/cli/commands/deploy.command.js +4 -3
  185. package/dist/cli/commands/deploy.command.js.map +1 -1
  186. package/dist/cli/commands/deploy.d.ts.map +1 -1
  187. package/dist/cli/commands/deploy.js +6 -5
  188. package/dist/cli/commands/deploy.js.map +1 -1
  189. package/dist/cli/commands/discover.d.ts +15 -0
  190. package/dist/cli/commands/discover.d.ts.map +1 -0
  191. package/dist/cli/commands/discover.js +215 -0
  192. package/dist/cli/commands/discover.js.map +1 -0
  193. package/dist/cli/commands/estimate.command.js +1 -1
  194. package/dist/cli/commands/estimate.command.js.map +1 -1
  195. package/dist/cli/commands/export.command.js +260 -86
  196. package/dist/cli/commands/export.command.js.map +1 -1
  197. package/dist/cli/commands/generate-gaid.command.d.ts +14 -0
  198. package/dist/cli/commands/generate-gaid.command.d.ts.map +1 -0
  199. package/dist/cli/commands/generate-gaid.command.js +141 -0
  200. package/dist/cli/commands/generate-gaid.command.js.map +1 -0
  201. package/dist/cli/commands/governance.command.d.ts +11 -0
  202. package/dist/cli/commands/governance.command.d.ts.map +1 -0
  203. package/dist/cli/commands/governance.command.js +166 -0
  204. package/dist/cli/commands/governance.command.js.map +1 -0
  205. package/dist/cli/commands/import.command.js.map +1 -1
  206. package/dist/cli/commands/init.command.d.ts.map +1 -1
  207. package/dist/cli/commands/init.command.js +11 -13
  208. package/dist/cli/commands/init.command.js.map +1 -1
  209. package/dist/cli/commands/lint.command.js +3 -1
  210. package/dist/cli/commands/lint.command.js.map +1 -1
  211. package/dist/cli/commands/migrate-langchain.command.js +3 -3
  212. package/dist/cli/commands/migrate-langchain.command.js.map +1 -1
  213. package/dist/cli/commands/migrate.command.js.map +1 -1
  214. package/dist/cli/commands/publish.command.d.ts.map +1 -1
  215. package/dist/cli/commands/publish.command.js.map +1 -1
  216. package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
  217. package/dist/cli/commands/quickstart.command.js +32 -49
  218. package/dist/cli/commands/quickstart.command.js.map +1 -1
  219. package/dist/cli/commands/register.d.ts +12 -0
  220. package/dist/cli/commands/register.d.ts.map +1 -0
  221. package/dist/cli/commands/register.js +263 -0
  222. package/dist/cli/commands/register.js.map +1 -0
  223. package/dist/cli/commands/rollback.command.d.ts +13 -0
  224. package/dist/cli/commands/rollback.command.d.ts.map +1 -0
  225. package/dist/cli/commands/rollback.command.js +156 -0
  226. package/dist/cli/commands/rollback.command.js.map +1 -0
  227. package/dist/cli/commands/run.command.d.ts.map +1 -1
  228. package/dist/cli/commands/run.command.js +19 -4
  229. package/dist/cli/commands/run.command.js.map +1 -1
  230. package/dist/cli/commands/standardize.command.js +3 -6
  231. package/dist/cli/commands/standardize.command.js.map +1 -1
  232. package/dist/cli/commands/test.command.d.ts.map +1 -1
  233. package/dist/cli/commands/test.command.js +1 -1
  234. package/dist/cli/commands/test.command.js.map +1 -1
  235. package/dist/cli/commands/types/wizard-config.types.d.ts.map +1 -1
  236. package/dist/cli/commands/types/wizard-config.types.js.map +1 -1
  237. package/dist/cli/commands/upgrade.command.js.map +1 -1
  238. package/dist/cli/commands/validate.command.js +1 -3
  239. package/dist/cli/commands/validate.command.js.map +1 -1
  240. package/dist/cli/commands/verify.d.ts +15 -0
  241. package/dist/cli/commands/verify.d.ts.map +1 -0
  242. package/dist/cli/commands/verify.js +274 -0
  243. package/dist/cli/commands/verify.js.map +1 -0
  244. package/dist/cli/commands/wizard-api-first.command.d.ts.map +1 -1
  245. package/dist/cli/commands/wizard-api-first.command.js +1 -2
  246. package/dist/cli/commands/wizard-api-first.command.js.map +1 -1
  247. package/dist/cli/commands/wizard-interactive.command.d.ts.map +1 -1
  248. package/dist/cli/commands/wizard-interactive.command.js +1339 -28
  249. package/dist/cli/commands/wizard-interactive.command.js.map +1 -1
  250. package/dist/cli/index.js +136 -70
  251. package/dist/cli/index.js.map +1 -1
  252. package/dist/cli/schema-driven/schema-loader.d.ts.map +1 -1
  253. package/dist/cli/schema-driven/schema-loader.js +2 -2
  254. package/dist/cli/schema-driven/schema-loader.js.map +1 -1
  255. package/dist/cli/schema-driven/ui-generator.d.ts.map +1 -1
  256. package/dist/cli/schema-driven/ui-generator.js +13 -4
  257. package/dist/cli/schema-driven/ui-generator.js.map +1 -1
  258. package/dist/cli/templates/enhanced-templates.d.ts.map +1 -1
  259. package/dist/cli/templates/enhanced-templates.js +2 -1
  260. package/dist/cli/templates/enhanced-templates.js.map +1 -1
  261. package/dist/cli/utils/index.d.ts +1 -0
  262. package/dist/cli/utils/index.d.ts.map +1 -1
  263. package/dist/cli/utils/index.js +2 -0
  264. package/dist/cli/utils/index.js.map +1 -1
  265. package/dist/cli/utils/logo.d.ts +10 -0
  266. package/dist/cli/utils/logo.d.ts.map +1 -0
  267. package/dist/cli/utils/logo.js +49 -0
  268. package/dist/cli/utils/logo.js.map +1 -0
  269. package/dist/cli/utils/standard-options.d.ts +21 -0
  270. package/dist/cli/utils/standard-options.d.ts.map +1 -1
  271. package/dist/cli/utils/standard-options.js +31 -0
  272. package/dist/cli/utils/standard-options.js.map +1 -1
  273. package/dist/cli/utils/validation-builder.d.ts +121 -0
  274. package/dist/cli/utils/validation-builder.d.ts.map +1 -0
  275. package/dist/cli/utils/validation-builder.js +322 -0
  276. package/dist/cli/utils/validation-builder.js.map +1 -0
  277. package/dist/cli/wizard/data/taxonomy.d.ts.map +1 -1
  278. package/dist/cli/wizard/data/taxonomy.js +5 -1
  279. package/dist/cli/wizard/data/taxonomy.js.map +1 -1
  280. package/dist/cli/wizard/interactive-wizard.d.ts.map +1 -1
  281. package/dist/cli/wizard/interactive-wizard.js +24 -11
  282. package/dist/cli/wizard/interactive-wizard.js.map +1 -1
  283. package/dist/cli/wizard/steps/04a-persona.d.ts +16 -0
  284. package/dist/cli/wizard/steps/04a-persona.d.ts.map +1 -0
  285. package/dist/cli/wizard/steps/04a-persona.js +297 -0
  286. package/dist/cli/wizard/steps/04a-persona.js.map +1 -0
  287. package/dist/cli/wizard/steps/05-tools.d.ts.map +1 -1
  288. package/dist/cli/wizard/steps/05-tools.js +10 -1
  289. package/dist/cli/wizard/steps/05-tools.js.map +1 -1
  290. package/dist/cli/wizard/steps/06-autonomy.js +1 -1
  291. package/dist/cli/wizard/steps/07-observability.js +1 -1
  292. package/dist/cli/wizard/steps/08-deployment.js +1 -1
  293. package/dist/cli/wizard/steps/09-advanced.js +1 -1
  294. package/dist/cli/wizard/steps/09-advanced.js.map +1 -1
  295. package/dist/cli/wizard/steps/10-review.d.ts.map +1 -1
  296. package/dist/cli/wizard/steps/10-review.js +6 -4
  297. package/dist/cli/wizard/steps/10-review.js.map +1 -1
  298. package/dist/cli/wizard/steps/12-agents-folder.d.ts.map +1 -1
  299. package/dist/cli/wizard/steps/12-agents-folder.js +14 -10
  300. package/dist/cli/wizard/steps/12-agents-folder.js.map +1 -1
  301. package/dist/cli/wizard/steps/13-openapi-generation.d.ts.map +1 -1
  302. package/dist/cli/wizard/steps/13-openapi-generation.js +10 -2
  303. package/dist/cli/wizard/steps/13-openapi-generation.js.map +1 -1
  304. package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -1
  305. package/dist/cli/wizard/steps/14-workspace-registration.js +10 -2
  306. package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -1
  307. package/dist/cli/wizard/steps/15-cost-estimation.d.ts.map +1 -1
  308. package/dist/cli/wizard/steps/15-cost-estimation.js +27 -11
  309. package/dist/cli/wizard/steps/15-cost-estimation.js.map +1 -1
  310. package/dist/cli/wizard/steps/16-best-practices.d.ts.map +1 -1
  311. package/dist/cli/wizard/steps/16-best-practices.js +14 -13
  312. package/dist/cli/wizard/steps/16-best-practices.js.map +1 -1
  313. package/dist/cli/wizard/ui/banner.d.ts +20 -0
  314. package/dist/cli/wizard/ui/banner.d.ts.map +1 -0
  315. package/dist/cli/wizard/ui/banner.js +66 -0
  316. package/dist/cli/wizard/ui/banner.js.map +1 -0
  317. package/dist/cli/wizard/ui/console.d.ts.map +1 -1
  318. package/dist/cli/wizard/ui/console.js +21 -23
  319. package/dist/cli/wizard/ui/console.js.map +1 -1
  320. package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -1
  321. package/dist/cli/wizard/ui/wizard-ui.js +54 -75
  322. package/dist/cli/wizard/ui/wizard-ui.js.map +1 -1
  323. package/dist/cli/wizard/use-cases.d.ts.map +1 -1
  324. package/dist/cli/wizard/use-cases.js.map +1 -1
  325. package/dist/config/defaults.d.ts +59 -0
  326. package/dist/config/defaults.d.ts.map +1 -1
  327. package/dist/config/defaults.js +72 -0
  328. package/dist/config/defaults.js.map +1 -1
  329. package/dist/deploy/cloud/aws-driver.d.ts +75 -0
  330. package/dist/deploy/cloud/aws-driver.d.ts.map +1 -0
  331. package/dist/deploy/cloud/aws-driver.js +344 -0
  332. package/dist/deploy/cloud/aws-driver.js.map +1 -0
  333. package/dist/deploy/cloud/azure-driver.d.ts +54 -0
  334. package/dist/deploy/cloud/azure-driver.d.ts.map +1 -0
  335. package/dist/deploy/cloud/azure-driver.js +221 -0
  336. package/dist/deploy/cloud/azure-driver.js.map +1 -0
  337. package/dist/deploy/cloud/gcp-driver.d.ts +56 -0
  338. package/dist/deploy/cloud/gcp-driver.d.ts.map +1 -0
  339. package/dist/deploy/cloud/gcp-driver.js +212 -0
  340. package/dist/deploy/cloud/gcp-driver.js.map +1 -0
  341. package/dist/dev-cli/commands/version.command.js +18 -18
  342. package/dist/dev-cli/commands/version.command.js.map +1 -1
  343. package/dist/dev-cli/services/version-check.service.d.ts.map +1 -1
  344. package/dist/dev-cli/services/version-check.service.js +2 -1
  345. package/dist/dev-cli/services/version-check.service.js.map +1 -1
  346. package/dist/di-container.d.ts.map +1 -1
  347. package/dist/di-container.js +13 -5
  348. package/dist/di-container.js.map +1 -1
  349. package/dist/errors/index.d.ts +154 -0
  350. package/dist/errors/index.d.ts.map +1 -0
  351. package/dist/errors/index.js +327 -0
  352. package/dist/errors/index.js.map +1 -0
  353. package/dist/generated/types.d.ts +91 -91
  354. package/dist/generated/types.d.ts.map +1 -1
  355. package/dist/index.d.ts +2 -0
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +1 -0
  358. package/dist/index.js.map +1 -1
  359. package/dist/interfaces/governance-provider.interface.d.ts +98 -0
  360. package/dist/interfaces/governance-provider.interface.d.ts.map +1 -0
  361. package/dist/interfaces/governance-provider.interface.js +20 -0
  362. package/dist/interfaces/governance-provider.interface.js.map +1 -0
  363. package/dist/mesh/advanced-routing.d.ts +181 -0
  364. package/dist/mesh/advanced-routing.d.ts.map +1 -0
  365. package/dist/mesh/advanced-routing.js +473 -0
  366. package/dist/mesh/advanced-routing.js.map +1 -0
  367. package/dist/mesh/agent-graph.d.ts +218 -0
  368. package/dist/mesh/agent-graph.d.ts.map +1 -0
  369. package/dist/mesh/agent-graph.js +487 -0
  370. package/dist/mesh/agent-graph.js.map +1 -0
  371. package/dist/mesh/discovery-providers.d.ts +162 -0
  372. package/dist/mesh/discovery-providers.d.ts.map +1 -0
  373. package/dist/mesh/discovery-providers.js +514 -0
  374. package/dist/mesh/discovery-providers.js.map +1 -0
  375. package/dist/mesh/index.d.ts +3 -0
  376. package/dist/mesh/index.d.ts.map +1 -1
  377. package/dist/mesh/index.js +6 -0
  378. package/dist/mesh/index.js.map +1 -1
  379. package/dist/messenger/Commands/MessengerConsumeCommand.d.ts +57 -0
  380. package/dist/messenger/Commands/MessengerConsumeCommand.d.ts.map +1 -0
  381. package/dist/messenger/Commands/MessengerConsumeCommand.js +49 -0
  382. package/dist/messenger/Commands/MessengerConsumeCommand.js.map +1 -0
  383. package/dist/messenger/Commands/MessengerFailedCommand.d.ts +76 -0
  384. package/dist/messenger/Commands/MessengerFailedCommand.d.ts.map +1 -0
  385. package/dist/messenger/Commands/MessengerFailedCommand.js +120 -0
  386. package/dist/messenger/Commands/MessengerFailedCommand.js.map +1 -0
  387. package/dist/messenger/Commands/MessengerStatsCommand.d.ts +61 -0
  388. package/dist/messenger/Commands/MessengerStatsCommand.d.ts.map +1 -0
  389. package/dist/messenger/Commands/MessengerStatsCommand.js +80 -0
  390. package/dist/messenger/Commands/MessengerStatsCommand.js.map +1 -0
  391. package/dist/messenger/Commands/index.d.ts +10 -0
  392. package/dist/messenger/Commands/index.d.ts.map +1 -0
  393. package/dist/messenger/Commands/index.js +10 -0
  394. package/dist/messenger/Commands/index.js.map +1 -0
  395. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts +44 -0
  396. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts.map +1 -0
  397. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js +64 -0
  398. package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js.map +1 -0
  399. package/dist/messenger/Handler/AgentBatchHandler.d.ts +80 -0
  400. package/dist/messenger/Handler/AgentBatchHandler.d.ts.map +1 -0
  401. package/dist/messenger/Handler/AgentBatchHandler.js +207 -0
  402. package/dist/messenger/Handler/AgentBatchHandler.js.map +1 -0
  403. package/dist/messenger/Handler/AgentExecutionHandler.d.ts +76 -0
  404. package/dist/messenger/Handler/AgentExecutionHandler.d.ts.map +1 -0
  405. package/dist/messenger/Handler/AgentExecutionHandler.js +131 -0
  406. package/dist/messenger/Handler/AgentExecutionHandler.js.map +1 -0
  407. package/dist/messenger/Handler/index.d.ts +9 -0
  408. package/dist/messenger/Handler/index.d.ts.map +1 -0
  409. package/dist/messenger/Handler/index.js +9 -0
  410. package/dist/messenger/Handler/index.js.map +1 -0
  411. package/dist/messenger/Message/AgentBatchMessage.d.ts +115 -0
  412. package/dist/messenger/Message/AgentBatchMessage.d.ts.map +1 -0
  413. package/dist/messenger/Message/AgentBatchMessage.js +100 -0
  414. package/dist/messenger/Message/AgentBatchMessage.js.map +1 -0
  415. package/dist/messenger/Message/AgentExecutionMessage.d.ts +98 -0
  416. package/dist/messenger/Message/AgentExecutionMessage.d.ts.map +1 -0
  417. package/dist/messenger/Message/AgentExecutionMessage.js +77 -0
  418. package/dist/messenger/Message/AgentExecutionMessage.js.map +1 -0
  419. package/dist/messenger/Message/index.d.ts +9 -0
  420. package/dist/messenger/Message/index.d.ts.map +1 -0
  421. package/dist/messenger/Message/index.js +9 -0
  422. package/dist/messenger/Message/index.js.map +1 -0
  423. package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts +41 -0
  424. package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts.map +1 -0
  425. package/dist/messenger/Middleware/AuthenticationMiddleware.js +85 -0
  426. package/dist/messenger/Middleware/AuthenticationMiddleware.js.map +1 -0
  427. package/dist/messenger/Middleware/LoggingMiddleware.d.ts +30 -0
  428. package/dist/messenger/Middleware/LoggingMiddleware.d.ts.map +1 -0
  429. package/dist/messenger/Middleware/LoggingMiddleware.js +57 -0
  430. package/dist/messenger/Middleware/LoggingMiddleware.js.map +1 -0
  431. package/dist/messenger/Middleware/RateLimitMiddleware.d.ts +67 -0
  432. package/dist/messenger/Middleware/RateLimitMiddleware.d.ts.map +1 -0
  433. package/dist/messenger/Middleware/RateLimitMiddleware.js +90 -0
  434. package/dist/messenger/Middleware/RateLimitMiddleware.js.map +1 -0
  435. package/dist/messenger/Middleware/ValidationMiddleware.d.ts +39 -0
  436. package/dist/messenger/Middleware/ValidationMiddleware.d.ts.map +1 -0
  437. package/dist/messenger/Middleware/ValidationMiddleware.js +91 -0
  438. package/dist/messenger/Middleware/ValidationMiddleware.js.map +1 -0
  439. package/dist/messenger/Middleware/index.d.ts +11 -0
  440. package/dist/messenger/Middleware/index.d.ts.map +1 -0
  441. package/dist/messenger/Middleware/index.js +11 -0
  442. package/dist/messenger/Middleware/index.js.map +1 -0
  443. package/dist/messenger/Monitoring/MetricsCollector.d.ts +107 -0
  444. package/dist/messenger/Monitoring/MetricsCollector.d.ts.map +1 -0
  445. package/dist/messenger/Monitoring/MetricsCollector.js +80 -0
  446. package/dist/messenger/Monitoring/MetricsCollector.js.map +1 -0
  447. package/dist/messenger/Monitoring/QueueMonitor.d.ts +74 -0
  448. package/dist/messenger/Monitoring/QueueMonitor.d.ts.map +1 -0
  449. package/dist/messenger/Monitoring/QueueMonitor.js +157 -0
  450. package/dist/messenger/Monitoring/QueueMonitor.js.map +1 -0
  451. package/dist/messenger/Monitoring/index.d.ts +9 -0
  452. package/dist/messenger/Monitoring/index.d.ts.map +1 -0
  453. package/dist/messenger/Monitoring/index.js +9 -0
  454. package/dist/messenger/Monitoring/index.js.map +1 -0
  455. package/dist/messenger/index.d.ts +38 -0
  456. package/dist/messenger/index.d.ts.map +1 -0
  457. package/dist/messenger/index.js +44 -0
  458. package/dist/messenger/index.js.map +1 -0
  459. package/dist/observability/index.d.ts +13 -0
  460. package/dist/observability/index.d.ts.map +1 -0
  461. package/dist/observability/index.js +14 -0
  462. package/dist/observability/index.js.map +1 -0
  463. package/dist/observability/metrics.d.ts +131 -0
  464. package/dist/observability/metrics.d.ts.map +1 -0
  465. package/dist/observability/metrics.js +308 -0
  466. package/dist/observability/metrics.js.map +1 -0
  467. package/dist/observability/middleware.d.ts +64 -0
  468. package/dist/observability/middleware.d.ts.map +1 -0
  469. package/dist/observability/middleware.js +225 -0
  470. package/dist/observability/middleware.js.map +1 -0
  471. package/dist/package.json +14 -11
  472. package/dist/runtime/agent-runner.d.ts.map +1 -1
  473. package/dist/runtime/agent-runner.js +23 -23
  474. package/dist/runtime/agent-runner.js.map +1 -1
  475. package/dist/sdks/kagent/crd-generator.d.ts +63 -1
  476. package/dist/sdks/kagent/crd-generator.d.ts.map +1 -1
  477. package/dist/sdks/kagent/crd-generator.js +769 -20
  478. package/dist/sdks/kagent/crd-generator.js.map +1 -1
  479. package/dist/sdks/kagent/index.d.ts +1 -1
  480. package/dist/sdks/kagent/index.d.ts.map +1 -1
  481. package/dist/sdks/kagent/k8s-resources-generator.d.ts.map +1 -1
  482. package/dist/sdks/kagent/k8s-resources-generator.js.map +1 -1
  483. package/dist/sdks/kagent/types.d.ts +30 -0
  484. package/dist/sdks/kagent/types.d.ts.map +1 -1
  485. package/dist/sdks/shared/validation.d.ts +4 -4
  486. package/dist/services/agent-protocol-client.d.ts +541 -0
  487. package/dist/services/agent-protocol-client.d.ts.map +1 -0
  488. package/dist/services/agent-protocol-client.js +166 -0
  489. package/dist/services/agent-protocol-client.js.map +1 -0
  490. package/dist/services/ai-architect.service.js.map +1 -1
  491. package/dist/services/cost-estimation/token-counter.service.js +1 -1
  492. package/dist/services/cost-estimation/token-counter.service.js.map +1 -1
  493. package/dist/services/dev-server/websocket-server.d.ts.map +1 -1
  494. package/dist/services/dev-server/websocket-server.js +2 -1
  495. package/dist/services/dev-server/websocket-server.js.map +1 -1
  496. package/dist/services/export/anthropic/anthropic-exporter.d.ts.map +1 -1
  497. package/dist/services/export/anthropic/anthropic-exporter.js +8 -3
  498. package/dist/services/export/anthropic/anthropic-exporter.js.map +1 -1
  499. package/dist/services/export/anthropic/index.d.ts +1 -1
  500. package/dist/services/export/anthropic/index.d.ts.map +1 -1
  501. package/dist/services/export/anthropic/index.js +1 -1
  502. package/dist/services/export/anthropic/index.js.map +1 -1
  503. package/dist/services/export/langchain/callbacks-generator.d.ts.map +1 -1
  504. package/dist/services/export/langchain/callbacks-generator.js +16 -8
  505. package/dist/services/export/langchain/callbacks-generator.js.map +1 -1
  506. package/dist/services/export/langchain/error-handling-generator.d.ts.map +1 -1
  507. package/dist/services/export/langchain/error-handling-generator.js +9 -5
  508. package/dist/services/export/langchain/error-handling-generator.js.map +1 -1
  509. package/dist/services/export/langchain/langchain-exporter.d.ts.map +1 -1
  510. package/dist/services/export/langchain/langchain-exporter.js +16 -8
  511. package/dist/services/export/langchain/langchain-exporter.js.map +1 -1
  512. package/dist/services/export/langchain/langgraph-generator.d.ts.map +1 -1
  513. package/dist/services/export/langchain/langgraph-generator.js +34 -20
  514. package/dist/services/export/langchain/langgraph-generator.js.map +1 -1
  515. package/dist/services/export/langchain/langserve-generator.d.ts.map +1 -1
  516. package/dist/services/export/langchain/langserve-generator.js +7 -1
  517. package/dist/services/export/langchain/langserve-generator.js.map +1 -1
  518. package/dist/services/export/langchain/memory-generator.d.ts.map +1 -1
  519. package/dist/services/export/langchain/memory-generator.js.map +1 -1
  520. package/dist/services/export/langchain/plan-execute-generator.d.ts.map +1 -1
  521. package/dist/services/export/langchain/plan-execute-generator.js.map +1 -1
  522. package/dist/services/export/langchain/streaming-generator.d.ts.map +1 -1
  523. package/dist/services/export/langchain/streaming-generator.js +12 -6
  524. package/dist/services/export/langchain/streaming-generator.js.map +1 -1
  525. package/dist/services/export/langchain/tools-generator.d.ts.map +1 -1
  526. package/dist/services/export/langchain/tools-generator.js.map +1 -1
  527. package/dist/services/export/npm/npm-exporter.d.ts +40 -0
  528. package/dist/services/export/npm/npm-exporter.d.ts.map +1 -1
  529. package/dist/services/export/npm/npm-exporter.js +1294 -1
  530. package/dist/services/export/npm/npm-exporter.js.map +1 -1
  531. package/dist/services/export/npm/package-json-generator.js +3 -1
  532. package/dist/services/export/npm/package-json-generator.js.map +1 -1
  533. package/dist/services/export/npm/typescript-generator.d.ts.map +1 -1
  534. package/dist/services/export/npm/typescript-generator.js +7 -3
  535. package/dist/services/export/npm/typescript-generator.js.map +1 -1
  536. package/dist/services/export/testing/index.d.ts +1 -1
  537. package/dist/services/export/testing/index.d.ts.map +1 -1
  538. package/dist/services/export/testing/test-generator.d.ts.map +1 -1
  539. package/dist/services/export/testing/test-generator.js +5 -1
  540. package/dist/services/export/testing/test-generator.js.map +1 -1
  541. package/dist/services/governance-client.service.d.ts +39 -0
  542. package/dist/services/governance-client.service.d.ts.map +1 -0
  543. package/dist/services/governance-client.service.js +124 -0
  544. package/dist/services/governance-client.service.js.map +1 -0
  545. package/dist/services/migration/langchain-migration.service.js +2 -2
  546. package/dist/services/migration/langchain-migration.service.js.map +1 -1
  547. package/dist/services/release-automation/release.service.d.ts +4 -4
  548. package/dist/services/release-automation/schemas/release.schema.d.ts +5 -5
  549. package/dist/services/release-automation/tag.service.d.ts +3 -3
  550. package/dist/services/taxonomy-service.d.ts +3 -3
  551. package/dist/services/test-runner/mock-llm.service.d.ts.map +1 -1
  552. package/dist/services/test-runner/mock-llm.service.js +1 -2
  553. package/dist/services/test-runner/mock-llm.service.js.map +1 -1
  554. package/dist/services/test-runner/scenarios.d.ts.map +1 -1
  555. package/dist/services/test-runner/scenarios.js +9 -3
  556. package/dist/services/test-runner/scenarios.js.map +1 -1
  557. package/dist/services/test-runner/test-runner.service.d.ts.map +1 -1
  558. package/dist/services/test-runner/test-runner.service.js.map +1 -1
  559. package/dist/services/validation/best-practices-validator.d.ts.map +1 -1
  560. package/dist/services/validation/best-practices-validator.js.map +1 -1
  561. package/dist/services/validation/cost-estimator.d.ts.map +1 -1
  562. package/dist/services/validation/cost-estimator.js +4 -2
  563. package/dist/services/validation/cost-estimator.js.map +1 -1
  564. package/dist/services/validation/enhanced-validator.d.ts.map +1 -1
  565. package/dist/services/validation/enhanced-validator.js +2 -4
  566. package/dist/services/validation/enhanced-validator.js.map +1 -1
  567. package/dist/services/validation/security-validator.d.ts.map +1 -1
  568. package/dist/services/validation/security-validator.js +3 -1
  569. package/dist/services/validation/security-validator.js.map +1 -1
  570. package/dist/services/validation-zod.service.js +1 -1
  571. package/dist/services/validation-zod.service.js.map +1 -1
  572. package/dist/services/validation.service.d.ts +7 -2
  573. package/dist/services/validation.service.d.ts.map +1 -1
  574. package/dist/services/validation.service.js +7 -4
  575. package/dist/services/validation.service.js.map +1 -1
  576. package/dist/services/validators/a2a.validator.js.map +1 -1
  577. package/dist/services/validators/autogen.validator.js.map +1 -1
  578. package/dist/services/validators/contract.validator.js.map +1 -1
  579. package/dist/services/validators/crewai.validator.js.map +1 -1
  580. package/dist/services/validators/dependencies.validator.d.ts +1 -1
  581. package/dist/services/validators/dependencies.validator.d.ts.map +1 -1
  582. package/dist/services/validators/kagent.validator.js.map +1 -1
  583. package/dist/services/validators/langchain.validator.js.map +1 -1
  584. package/dist/services/validators/langgraph.validator.js.map +1 -1
  585. package/dist/services/validators/mcp.validator.js.map +1 -1
  586. package/dist/services/wizard/prompts.d.ts.map +1 -1
  587. package/dist/services/wizard/prompts.js +12 -5
  588. package/dist/services/wizard/prompts.js.map +1 -1
  589. package/dist/services/wizard/wizard.service.d.ts.map +1 -1
  590. package/dist/services/wizard/wizard.service.js +9 -4
  591. package/dist/services/wizard/wizard.service.js.map +1 -1
  592. package/dist/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
  593. package/dist/spec/v0.4/agent.schema.json +154 -1
  594. package/dist/spec/v0.4/validator.schema.json +282 -0
  595. package/dist/transports/websocket.d.ts +1 -0
  596. package/dist/transports/websocket.d.ts.map +1 -1
  597. package/dist/transports/websocket.js +9 -1
  598. package/dist/transports/websocket.js.map +1 -1
  599. package/dist/types/architect.d.ts +2 -2
  600. package/dist/types/architect.d.ts.map +1 -1
  601. package/dist/types/identity.zod.d.ts +21 -21
  602. package/dist/types/index.d.ts +65 -1
  603. package/dist/types/index.d.ts.map +1 -1
  604. package/dist/types/personality.zod.d.ts +65 -65
  605. package/dist/types/prompts.zod.d.ts +2 -2
  606. package/dist/utils/logger.d.ts +82 -0
  607. package/dist/utils/logger.d.ts.map +1 -0
  608. package/dist/utils/logger.js +250 -0
  609. package/dist/utils/logger.js.map +1 -0
  610. package/dist/validation/index.d.ts +3 -0
  611. package/dist/validation/index.d.ts.map +1 -1
  612. package/dist/validation/index.js +6 -0
  613. package/dist/validation/index.js.map +1 -1
  614. package/dist/validation/progressive-scorer.d.ts +123 -0
  615. package/dist/validation/progressive-scorer.d.ts.map +1 -0
  616. package/dist/validation/progressive-scorer.js +340 -0
  617. package/dist/validation/progressive-scorer.js.map +1 -0
  618. package/dist/validation/validation-context.d.ts +86 -0
  619. package/dist/validation/validation-context.d.ts.map +1 -0
  620. package/dist/validation/validation-context.js +138 -0
  621. package/dist/validation/validation-context.js.map +1 -0
  622. package/dist/validation/validator-registry.d.ts +158 -0
  623. package/dist/validation/validator-registry.d.ts.map +1 -0
  624. package/dist/validation/validator-registry.js +245 -0
  625. package/dist/validation/validator-registry.js.map +1 -0
  626. package/dist/version-management/api/server.d.ts.map +1 -1
  627. package/dist/version-management/api/server.js.map +1 -1
  628. package/dist/version-management/cli/index.js +8 -1
  629. package/dist/version-management/cli/index.js.map +1 -1
  630. package/dist/version-management/core/version-manager.d.ts.map +1 -1
  631. package/dist/version-management/core/version-manager.js +5 -2
  632. package/dist/version-management/core/version-manager.js.map +1 -1
  633. package/dist/version-management/core/version-manager.test.js.map +1 -1
  634. package/dist/version.d.ts +1 -1
  635. package/dist/version.d.ts.map +1 -1
  636. package/dist/version.js +4 -6
  637. package/dist/version.js.map +1 -1
  638. package/examples/agent-mesh/DISCOVERY.md +679 -0
  639. package/examples/agent-mesh/discovery-system.ts +670 -0
  640. package/examples/agent-taxonomy-example.ossa.yaml +89 -0
  641. package/examples/agents/02-code-review-agent/agent.ossa.yaml +49 -0
  642. package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +55 -0
  643. package/examples/agents/06-devops-agent/agent.ossa.yaml +47 -0
  644. package/examples/agents/07-research-assistant/agent.ossa.yaml +61 -1
  645. package/examples/agents/09-security-scanner/agent.ossa.yaml +46 -0
  646. package/examples/deployment-workflow.md +601 -0
  647. package/examples/gitlab-agents/DEPLOYMENT.md +331 -0
  648. package/examples/gitlab-agents/daily-code-scan/.env.example +11 -0
  649. package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +34 -0
  650. package/examples/gitlab-agents/daily-code-scan/Dockerfile +18 -0
  651. package/examples/gitlab-agents/daily-code-scan/README.md +80 -0
  652. package/examples/gitlab-agents/daily-code-scan/package.json +28 -0
  653. package/examples/gitlab-agents/daily-code-scan/src/gitlab-client.ts +59 -0
  654. package/examples/gitlab-agents/daily-code-scan/src/index.ts +50 -0
  655. package/examples/gitlab-agents/daily-code-scan/src/types.ts +22 -0
  656. package/examples/gitlab-agents/daily-code-scan/src/workflow.ts +109 -0
  657. package/examples/gitlab-agents/daily-code-scan/tsconfig.json +24 -0
  658. package/examples/gitlab-agents/duo-comment-responder/.env.example +14 -0
  659. package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +34 -0
  660. package/examples/gitlab-agents/duo-comment-responder/Dockerfile +18 -0
  661. package/examples/gitlab-agents/duo-comment-responder/README.md +98 -0
  662. package/examples/gitlab-agents/duo-comment-responder/package.json +29 -0
  663. package/examples/gitlab-agents/duo-comment-responder/src/gitlab-client.ts +56 -0
  664. package/examples/gitlab-agents/duo-comment-responder/src/index.ts +103 -0
  665. package/examples/gitlab-agents/duo-comment-responder/src/llm-client.ts +75 -0
  666. package/examples/gitlab-agents/duo-comment-responder/src/types.ts +22 -0
  667. package/examples/gitlab-agents/duo-comment-responder/src/workflow.ts +135 -0
  668. package/examples/gitlab-agents/duo-comment-responder/tsconfig.json +24 -0
  669. package/examples/gitlab-agents/duo-comment-responder/webhook-config.json +11 -0
  670. package/examples/gitlab-agents/k8s/deploy-all.yaml +341 -0
  671. package/examples/gitlab-agents/mr-reviewer/.env.example +14 -0
  672. package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +34 -0
  673. package/examples/gitlab-agents/mr-reviewer/Dockerfile +18 -0
  674. package/examples/gitlab-agents/mr-reviewer/README.md +98 -0
  675. package/examples/gitlab-agents/mr-reviewer/package.json +29 -0
  676. package/examples/gitlab-agents/mr-reviewer/src/gitlab-client.ts +66 -0
  677. package/examples/gitlab-agents/mr-reviewer/src/index.ts +103 -0
  678. package/examples/gitlab-agents/mr-reviewer/src/llm-client.ts +95 -0
  679. package/examples/gitlab-agents/mr-reviewer/src/types.ts +22 -0
  680. package/examples/gitlab-agents/mr-reviewer/src/workflow.ts +144 -0
  681. package/examples/gitlab-agents/mr-reviewer/tsconfig.json +24 -0
  682. package/examples/gitlab-agents/mr-reviewer/webhook-config.json +11 -0
  683. package/examples/gitlab-agents/pipeline-auto-fix/.env.example +14 -0
  684. package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +34 -0
  685. package/examples/gitlab-agents/pipeline-auto-fix/Dockerfile +18 -0
  686. package/examples/gitlab-agents/pipeline-auto-fix/README.md +98 -0
  687. package/examples/gitlab-agents/pipeline-auto-fix/package.json +29 -0
  688. package/examples/gitlab-agents/pipeline-auto-fix/src/gitlab-client.ts +77 -0
  689. package/examples/gitlab-agents/pipeline-auto-fix/src/index.ts +103 -0
  690. package/examples/gitlab-agents/pipeline-auto-fix/src/llm-client.ts +79 -0
  691. package/examples/gitlab-agents/pipeline-auto-fix/src/types.ts +22 -0
  692. package/examples/gitlab-agents/pipeline-auto-fix/src/workflow.ts +146 -0
  693. package/examples/gitlab-agents/pipeline-auto-fix/tsconfig.json +24 -0
  694. package/examples/gitlab-agents/pipeline-auto-fix/webhook-config.json +11 -0
  695. package/examples/gitlab-agents/pre-commit-quality-check/.env.example +11 -0
  696. package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +34 -0
  697. package/examples/gitlab-agents/pre-commit-quality-check/Dockerfile +18 -0
  698. package/examples/gitlab-agents/pre-commit-quality-check/README.md +80 -0
  699. package/examples/gitlab-agents/pre-commit-quality-check/package.json +28 -0
  700. package/examples/gitlab-agents/pre-commit-quality-check/src/gitlab-client.ts +20 -0
  701. package/examples/gitlab-agents/pre-commit-quality-check/src/index.ts +50 -0
  702. package/examples/gitlab-agents/pre-commit-quality-check/src/types.ts +22 -0
  703. package/examples/gitlab-agents/pre-commit-quality-check/src/workflow.ts +63 -0
  704. package/examples/gitlab-agents/pre-commit-quality-check/tsconfig.json +24 -0
  705. package/examples/gitlab-agents/pre-push-validation/.env.example +11 -0
  706. package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +34 -0
  707. package/examples/gitlab-agents/pre-push-validation/Dockerfile +18 -0
  708. package/examples/gitlab-agents/pre-push-validation/README.md +80 -0
  709. package/examples/gitlab-agents/pre-push-validation/package.json +28 -0
  710. package/examples/gitlab-agents/pre-push-validation/src/gitlab-client.ts +20 -0
  711. package/examples/gitlab-agents/pre-push-validation/src/index.ts +50 -0
  712. package/examples/gitlab-agents/pre-push-validation/src/types.ts +22 -0
  713. package/examples/gitlab-agents/pre-push-validation/src/workflow.ts +63 -0
  714. package/examples/gitlab-agents/pre-push-validation/tsconfig.json +24 -0
  715. package/examples/gitlab-duo/EXTERNAL_AGENTS.md +466 -0
  716. package/examples/gitlab-duo/README.md +307 -0
  717. package/examples/gitlab-duo/code-review-flow.yaml +62 -0
  718. package/examples/gitlab-duo/external-agent-example.ts +192 -0
  719. package/examples/gitlab-duo/generated/custom-vars-agent.yaml +45 -0
  720. package/examples/gitlab-duo/generated/go-agent.yaml +41 -0
  721. package/examples/gitlab-duo/generated/python-agent.yaml +43 -0
  722. package/examples/gitlab-duo/generated/webhook-agent.yaml +52 -0
  723. package/examples/infrastructure/token-rotation/README.md +117 -0
  724. package/examples/infrastructure/token-rotation/manifest.ossa.yaml +73 -0
  725. package/examples/infrastructure/token-rotation/openapi.yaml +133 -0
  726. package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +289 -0
  727. package/examples/mcp/browser-puppeteer.ossa.yaml +234 -0
  728. package/examples/mr-reviewer-with-governance.ossa.yaml +130 -0
  729. package/examples/showcase/PRODUCTION_EXAMPLES.md +499 -0
  730. package/examples/showcase/compliance-checker.ossa.yaml +207 -0
  731. package/examples/showcase/customer-support.ossa.yaml +344 -0
  732. package/examples/showcase/data-processing-pipeline.ossa.yaml +254 -0
  733. package/examples/showcase/security-scanner-enhanced.ossa.yaml +304 -0
  734. package/examples/showcase/team-leader.ossa.yaml +306 -0
  735. package/package.json +14 -11
  736. package/schemas/governance-extension.yaml +161 -0
  737. package/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
  738. package/spec/v0.4/agent.schema.json +154 -1
  739. package/spec/v0.4/validator.schema.json +282 -0
  740. package/templates/agent-types/claude-agent.ossa.yaml +83 -0
  741. package/templates/agent-types/kagent.ossa.yaml +110 -0
  742. package/templates/agent-types/langchain-agent.ossa.yaml +106 -0
  743. package/templates/agent-types/openapi-agent.ossa.yaml +121 -0
  744. package/templates/agent-types/swarm-agents.ossa.yaml +168 -0
  745. package/templates/ci-cd/github-actions.deploy.yml +272 -0
  746. package/templates/ci-cd/gitlab-ci.deploy.yml +205 -0
  747. package/templates/validators/capability-compatibility.ossa.yaml +174 -0
  748. package/templates/validators/coordination-consistency.ossa.yaml +160 -0
  749. package/templates/validators/pattern-requirements.ossa.yaml +182 -0
  750. package/templates/validators/transport-compatibility.ossa.yaml +185 -0
  751. package/.wiki-config.json +0 -24
  752. package/DEMO.md +0 -212
  753. package/junit.xml +0 -1469
  754. package/llms-ctx-full.txt +0 -41
  755. package/llms-ctx.txt +0 -41
@@ -11,6 +11,7 @@ import { TypeScriptGenerator } from './typescript-generator.js';
11
11
  import { ExpressGenerator } from './express-generator.js';
12
12
  import { OpenAPIGenerator } from './openapi-generator.js';
13
13
  import { PackageJsonGenerator } from './package-json-generator.js';
14
+ import { getApiVersion } from '../../../utils/version.js';
14
15
  /**
15
16
  * NPM Package Exporter
16
17
  *
@@ -147,6 +148,82 @@ export class NPMExporter {
147
148
  language: 'typescript',
148
149
  });
149
150
  }
151
+ // 13. CHANGELOG.md
152
+ files.push({
153
+ path: 'CHANGELOG.md',
154
+ content: this.generateChangelog(manifest),
155
+ type: 'documentation',
156
+ language: 'markdown',
157
+ });
158
+ // 14. LICENSE
159
+ files.push({
160
+ path: 'LICENSE',
161
+ content: this.generateLicense(manifest),
162
+ type: 'documentation',
163
+ });
164
+ // 15. CONTRIBUTING.md
165
+ files.push({
166
+ path: 'CONTRIBUTING.md',
167
+ content: this.generateContributing(manifest, packageName),
168
+ type: 'documentation',
169
+ language: 'markdown',
170
+ });
171
+ // 16. SECURITY.md
172
+ files.push({
173
+ path: 'SECURITY.md',
174
+ content: this.generateSecurity(manifest),
175
+ type: 'documentation',
176
+ language: 'markdown',
177
+ });
178
+ // 17. API.md
179
+ files.push({
180
+ path: 'API.md',
181
+ content: this.generateApiDocs(manifest),
182
+ type: 'documentation',
183
+ language: 'markdown',
184
+ });
185
+ // 18. Examples
186
+ const examples = this.generateExamples(manifest, packageName);
187
+ for (const [path, content] of Object.entries(examples)) {
188
+ files.push({
189
+ path: `examples/${path}`,
190
+ content,
191
+ type: 'documentation',
192
+ language: path.endsWith('.ts') ? 'typescript' : 'markdown',
193
+ });
194
+ }
195
+ // 19. Complete test suite
196
+ if (options.includeTests) {
197
+ const testSuite = this.generateCompletedTestSuite(manifest);
198
+ for (const [path, content] of Object.entries(testSuite)) {
199
+ files.push({
200
+ path: `tests/${path}`,
201
+ content,
202
+ type: 'code',
203
+ language: path.endsWith('.ts') ? 'typescript' : 'json',
204
+ });
205
+ }
206
+ }
207
+ // 20. Enhanced source structure
208
+ const enhancedSource = this.generateEnhancedSource(manifest);
209
+ for (const [path, content] of Object.entries(enhancedSource)) {
210
+ files.push({
211
+ path: `src/${path}`,
212
+ content,
213
+ type: 'code',
214
+ language: 'typescript',
215
+ });
216
+ }
217
+ // 21. Quality assurance files
218
+ const qaFiles = this.generateQAFiles(options);
219
+ for (const [path, content] of Object.entries(qaFiles)) {
220
+ files.push({
221
+ path,
222
+ content,
223
+ type: 'config',
224
+ language: this.getLanguageFromPath(path),
225
+ });
226
+ }
150
227
  return {
151
228
  success: true,
152
229
  files,
@@ -308,7 +385,7 @@ ${metadata.license || 'MIT'}
308
385
 
309
386
  ## Generated from OSSA
310
387
 
311
- This package was generated from OSSA v${manifest.apiVersion?.split('/')[1] || '0.4.1'} manifest.
388
+ This package was generated from OSSA v${manifest.apiVersion?.split('/')[1] || getApiVersion()} manifest.
312
389
 
313
390
  - [OSSA Specification](https://openstandardagents.org)
314
391
  - [Documentation](https://docs.openstandardagents.org)
@@ -476,5 +553,1221 @@ describe('${name}', () => {
476
553
  });
477
554
  `;
478
555
  }
556
+ /**
557
+ * Generate CHANGELOG.md
558
+ */
559
+ generateChangelog(manifest) {
560
+ const version = manifest.metadata?.version || '1.0.0';
561
+ const date = new Date().toISOString().split('T')[0];
562
+ return `# Changelog
563
+
564
+ All notable changes to this project will be documented in this file.
565
+
566
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
567
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
568
+
569
+ ## [${version}] - ${date}
570
+
571
+ ### Added
572
+ - Initial release
573
+ - Agent implementation with TypeScript
574
+ - Express server with OpenAPI documentation
575
+ - Docker support
576
+ ${manifest.spec?.tools ? `- ${manifest.spec.tools.length} tool(s) implementation` : ''}
577
+
578
+ ### Changed
579
+ - N/A
580
+
581
+ ### Deprecated
582
+ - N/A
583
+
584
+ ### Removed
585
+ - N/A
586
+
587
+ ### Fixed
588
+ - N/A
589
+
590
+ ### Security
591
+ - N/A
592
+ `;
593
+ }
594
+ /**
595
+ * Generate LICENSE file
596
+ */
597
+ generateLicense(manifest) {
598
+ const license = manifest.metadata?.license || 'MIT';
599
+ const year = new Date().getFullYear();
600
+ const author = manifest.metadata?.author || 'The Agent Developers';
601
+ if (license === 'MIT') {
602
+ return `MIT License
603
+
604
+ Copyright (c) ${year} ${author}
605
+
606
+ Permission is hereby granted, free of charge, to any person obtaining a copy
607
+ of this software and associated documentation files (the "Software"), to deal
608
+ in the Software without restriction, including without limitation the rights
609
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
610
+ copies of the Software, and to permit persons to whom the Software is
611
+ furnished to do so, subject to the following conditions:
612
+
613
+ The above copyright notice and this permission notice shall be included in all
614
+ copies or substantial portions of the Software.
615
+
616
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
617
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
618
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
619
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
620
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
621
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
622
+ SOFTWARE.
623
+ `;
624
+ }
625
+ else if (license === 'Apache-2.0') {
626
+ return `Apache License
627
+ Version 2.0, January 2004
628
+ http://www.apache.org/licenses/
629
+
630
+ Copyright ${year} ${author}
631
+
632
+ Licensed under the Apache License, Version 2.0 (the "License");
633
+ you may not use this file except in compliance with the License.
634
+ You may obtain a copy of the License at
635
+
636
+ http://www.apache.org/licenses/LICENSE-2.0
637
+
638
+ Unless required by applicable law or agreed to in writing, software
639
+ distributed under the License is distributed on an "AS IS" BASIS,
640
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
641
+ See the License for the specific language governing permissions and
642
+ limitations under the License.
643
+ `;
644
+ }
645
+ return `${license} License
646
+
647
+ Copyright (c) ${year} ${author}
648
+
649
+ All rights reserved.
650
+ `;
651
+ }
652
+ /**
653
+ * Generate CONTRIBUTING.md
654
+ */
655
+ generateContributing(manifest, packageName) {
656
+ return `# Contributing to ${manifest.metadata?.name || 'this project'}
657
+
658
+ Thank you for your interest in contributing! This document provides guidelines for contributing.
659
+
660
+ ## Getting Started
661
+
662
+ 1. Fork the repository
663
+ 2. Clone your fork: \`git clone https://github.com/yourusername/${packageName}.git\`
664
+ 3. Install dependencies: \`npm install\`
665
+ 4. Create a branch: \`git checkout -b feature/your-feature-name\`
666
+
667
+ ## Development Workflow
668
+
669
+ ### Building
670
+
671
+ \`\`\`bash
672
+ npm run build
673
+ \`\`\`
674
+
675
+ ### Testing
676
+
677
+ \`\`\`bash
678
+ # Run all tests
679
+ npm test
680
+
681
+ # Run tests in watch mode
682
+ npm run test:watch
683
+
684
+ # Generate coverage report
685
+ npm run test:coverage
686
+ \`\`\`
687
+
688
+ ### Linting
689
+
690
+ \`\`\`bash
691
+ # Check for linting errors
692
+ npm run lint
693
+
694
+ # Auto-fix linting errors
695
+ npm run lint:fix
696
+ \`\`\`
697
+
698
+ ### Code Style
699
+
700
+ This project uses:
701
+ - ESLint for code linting
702
+ - Prettier for code formatting
703
+ - TypeScript for type safety
704
+
705
+ Please ensure your code:
706
+ - Passes all linting checks
707
+ - Follows the existing code style
708
+ - Includes appropriate tests
709
+ - Has clear commit messages
710
+
711
+ ## Pull Request Process
712
+
713
+ 1. Update documentation if needed
714
+ 2. Add tests for new functionality
715
+ 3. Ensure all tests pass
716
+ 4. Update CHANGELOG.md
717
+ 5. Submit pull request with clear description
718
+
719
+ ### Commit Messages
720
+
721
+ Follow conventional commits format:
722
+
723
+ - \`feat: Add new feature\`
724
+ - \`fix: Fix bug\`
725
+ - \`docs: Update documentation\`
726
+ - \`test: Add tests\`
727
+ - \`refactor: Refactor code\`
728
+ - \`chore: Update dependencies\`
729
+
730
+ ## Code of Conduct
731
+
732
+ - Be respectful and inclusive
733
+ - Focus on constructive feedback
734
+ - Help others learn and grow
735
+ - Follow project guidelines
736
+
737
+ ## Questions?
738
+
739
+ Feel free to open an issue for questions or discussions.
740
+
741
+ ## License
742
+
743
+ By contributing, you agree that your contributions will be licensed under the ${manifest.metadata?.license || 'MIT'} License.
744
+ `;
745
+ }
746
+ /**
747
+ * Generate SECURITY.md
748
+ */
749
+ generateSecurity(manifest) {
750
+ return `# Security Policy
751
+
752
+ ## Supported Versions
753
+
754
+ | Version | Supported |
755
+ | ------- | ------------------ |
756
+ | ${manifest.metadata?.version || '1.0.0'} | :white_check_mark: |
757
+
758
+ ## Reporting a Vulnerability
759
+
760
+ If you discover a security vulnerability, please report it by:
761
+
762
+ 1. **DO NOT** open a public issue
763
+ 2. Email security contact (if provided in package.json)
764
+ 3. Include detailed information:
765
+ - Description of the vulnerability
766
+ - Steps to reproduce
767
+ - Potential impact
768
+ - Suggested fix (if any)
769
+
770
+ ## Security Best Practices
771
+
772
+ When using this agent:
773
+
774
+ 1. **API Keys**: Never commit API keys or secrets
775
+ 2. **Environment Variables**: Use \`.env\` files (not committed)
776
+ 3. **Input Validation**: Always validate user inputs
777
+ 4. **Dependencies**: Keep dependencies up to date
778
+ 5. **HTTPS**: Use HTTPS in production
779
+ 6. **Rate Limiting**: Implement rate limiting for APIs
780
+ 7. **Error Handling**: Don't expose sensitive information in errors
781
+
782
+ ## Security Updates
783
+
784
+ Security updates are released as patch versions. Subscribe to releases to stay informed.
785
+
786
+ ## Disclosure Policy
787
+
788
+ - Report received: We acknowledge within 48 hours
789
+ - Assessment: We assess the vulnerability
790
+ - Fix: We develop and test a fix
791
+ - Release: We release a security patch
792
+ - Disclosure: We publicly disclose after users have time to update
793
+
794
+ ## Known Security Considerations
795
+
796
+ ### LLM Security
797
+ - Input sanitization for prompts
798
+ - Output validation for responses
799
+ - Rate limiting for API calls
800
+ - Cost monitoring for API usage
801
+
802
+ ### API Security
803
+ - Authentication required for sensitive endpoints
804
+ - Authorization checks for operations
805
+ - Input validation for all requests
806
+ - Rate limiting for abuse prevention
807
+
808
+ ### Data Privacy
809
+ - No sensitive data in logs
810
+ - Secure storage for credentials
811
+ - Encryption in transit (HTTPS)
812
+ - Data retention policies
813
+
814
+ ## Dependencies
815
+
816
+ We regularly audit dependencies for security vulnerabilities using:
817
+ - npm audit
818
+ - Snyk
819
+ - Dependabot
820
+
821
+ ## Questions?
822
+
823
+ For security questions, contact the maintainers through secure channels.
824
+ `;
825
+ }
826
+ /**
827
+ * Generate API.md documentation
828
+ */
829
+ generateApiDocs(manifest) {
830
+ const name = manifest.metadata?.name || 'Agent';
831
+ const tools = manifest.spec?.tools || [];
832
+ let toolsDocs = '';
833
+ if (Array.isArray(tools) && tools.length > 0) {
834
+ toolsDocs = `\n## Tools\n\n`;
835
+ for (const tool of tools) {
836
+ if (typeof tool === 'object' && tool !== null && 'name' in tool) {
837
+ toolsDocs += `### ${tool.name}\n\n`;
838
+ if ('description' in tool) {
839
+ toolsDocs += `${tool.description}\n\n`;
840
+ }
841
+ if ('parameters' in tool) {
842
+ toolsDocs += `**Parameters:**\n\n\`\`\`typescript\n${JSON.stringify(tool.parameters, null, 2)}\n\`\`\`\n\n`;
843
+ }
844
+ }
845
+ }
846
+ }
847
+ return `# API Documentation
848
+
849
+ Complete API reference for ${name}.
850
+
851
+ ## Table of Contents
852
+
853
+ - [Installation](#installation)
854
+ - [Agent Class](#agent-class)
855
+ - [Methods](#methods)
856
+ - [Types](#types)
857
+ ${tools.length > 0 ? '- [Tools](#tools)' : ''}
858
+ - [Server API](#server-api)
859
+ - [Examples](#examples)
860
+
861
+ ## Installation
862
+
863
+ \`\`\`bash
864
+ npm install ${manifest.metadata?.name || 'agent'}
865
+ \`\`\`
866
+
867
+ ## Agent Class
868
+
869
+ ### Constructor
870
+
871
+ \`\`\`typescript
872
+ import { Agent } from '${manifest.metadata?.name || 'agent'}';
873
+
874
+ const agent = new Agent(options?: AgentOptions);
875
+ \`\`\`
876
+
877
+ **AgentOptions:**
878
+
879
+ \`\`\`typescript
880
+ interface AgentOptions {
881
+ apiKey?: string;
882
+ model?: string;
883
+ temperature?: number;
884
+ maxTokens?: number;
885
+ }
886
+ \`\`\`
887
+
888
+ ## Methods
889
+
890
+ ### chat()
891
+
892
+ Send a message to the agent and receive a response.
893
+
894
+ \`\`\`typescript
895
+ const response = await agent.chat(request: ChatRequest): Promise<ChatResponse>
896
+ \`\`\`
897
+
898
+ **Parameters:**
899
+
900
+ \`\`\`typescript
901
+ interface ChatRequest {
902
+ message: string;
903
+ context?: Record<string, any>;
904
+ sessionId?: string;
905
+ }
906
+ \`\`\`
907
+
908
+ **Returns:**
909
+
910
+ \`\`\`typescript
911
+ interface ChatResponse {
912
+ message: string;
913
+ context?: Record<string, any>;
914
+ metadata?: {
915
+ model: string;
916
+ tokens: number;
917
+ duration: number;
918
+ };
919
+ }
920
+ \`\`\`
921
+
922
+ **Example:**
923
+
924
+ \`\`\`typescript
925
+ const response = await agent.chat({
926
+ message: 'Hello, how are you?',
927
+ context: { user: 'john' }
928
+ });
929
+
930
+ console.log(response.message);
931
+ \`\`\`
932
+
933
+ ### getMetadata()
934
+
935
+ Get agent metadata information.
936
+
937
+ \`\`\`typescript
938
+ const metadata = agent.getMetadata(): AgentMetadata
939
+ \`\`\`
940
+
941
+ **Returns:**
942
+
943
+ \`\`\`typescript
944
+ interface AgentMetadata {
945
+ name: string;
946
+ version: string;
947
+ description?: string;
948
+ author?: string;
949
+ license?: string;
950
+ }
951
+ \`\`\`
952
+
953
+ ### getCapabilities()
954
+
955
+ Get agent capabilities and features.
956
+
957
+ \`\`\`typescript
958
+ const capabilities = agent.getCapabilities(): Capabilities
959
+ \`\`\`
960
+
961
+ **Returns:**
962
+
963
+ \`\`\`typescript
964
+ interface Capabilities {
965
+ tools: string[];
966
+ models: string[];
967
+ features: string[];
968
+ }
969
+ \`\`\`
970
+
971
+ ## Types
972
+
973
+ ### ChatRequest
974
+
975
+ \`\`\`typescript
976
+ interface ChatRequest {
977
+ message: string;
978
+ context?: Record<string, any>;
979
+ sessionId?: string;
980
+ }
981
+ \`\`\`
982
+
983
+ ### ChatResponse
984
+
985
+ \`\`\`typescript
986
+ interface ChatResponse {
987
+ message: string;
988
+ context?: Record<string, any>;
989
+ metadata?: ResponseMetadata;
990
+ }
991
+ \`\`\`
992
+
993
+ ### AgentOptions
994
+
995
+ \`\`\`typescript
996
+ interface AgentOptions {
997
+ apiKey?: string;
998
+ model?: string;
999
+ temperature?: number;
1000
+ maxTokens?: number;
1001
+ }
1002
+ \`\`\`
1003
+ ${toolsDocs}
1004
+ ## Server API
1005
+
1006
+ When running as a server, the following REST endpoints are available:
1007
+
1008
+ ### POST /chat
1009
+
1010
+ Send a message to the agent.
1011
+
1012
+ **Request:**
1013
+
1014
+ \`\`\`json
1015
+ {
1016
+ "message": "Hello",
1017
+ "context": {},
1018
+ "sessionId": "optional-session-id"
1019
+ }
1020
+ \`\`\`
1021
+
1022
+ **Response:**
1023
+
1024
+ \`\`\`json
1025
+ {
1026
+ "message": "Response from agent",
1027
+ "context": {},
1028
+ "metadata": {
1029
+ "model": "gpt-4",
1030
+ "tokens": 100,
1031
+ "duration": 500
1032
+ }
1033
+ }
1034
+ \`\`\`
1035
+
1036
+ ### GET /health
1037
+
1038
+ Health check endpoint.
1039
+
1040
+ **Response:**
1041
+
1042
+ \`\`\`json
1043
+ {
1044
+ "status": "ok",
1045
+ "uptime": 12345,
1046
+ "version": "1.0.0"
1047
+ }
1048
+ \`\`\`
1049
+
1050
+ ### GET /openapi
1051
+
1052
+ Get OpenAPI specification.
1053
+
1054
+ **Response:**
1055
+
1056
+ Returns the OpenAPI 3.0 specification in YAML format.
1057
+
1058
+ ## Examples
1059
+
1060
+ See the [examples](./examples/) directory for complete examples:
1061
+
1062
+ - [Basic Usage](./examples/basic-usage.ts)
1063
+ - [With Tools](./examples/with-tools.ts)
1064
+ - [With API](./examples/with-api.ts)
1065
+ - [Advanced Usage](./examples/advanced.ts)
1066
+
1067
+ ## Error Handling
1068
+
1069
+ All methods can throw errors. Always use try-catch:
1070
+
1071
+ \`\`\`typescript
1072
+ try {
1073
+ const response = await agent.chat({ message: 'Hello' });
1074
+ console.log(response);
1075
+ } catch (error) {
1076
+ console.error('Error:', error.message);
1077
+ }
1078
+ \`\`\`
1079
+
1080
+ ## TypeScript Support
1081
+
1082
+ This package includes TypeScript definitions. Import types:
1083
+
1084
+ \`\`\`typescript
1085
+ import type {
1086
+ ChatRequest,
1087
+ ChatResponse,
1088
+ AgentOptions
1089
+ } from '${manifest.metadata?.name || 'agent'}';
1090
+ \`\`\`
1091
+
1092
+ ## Rate Limiting
1093
+
1094
+ The server includes rate limiting:
1095
+ - 100 requests per 15 minutes per IP
1096
+ - 429 status code when limit exceeded
1097
+
1098
+ ## Environment Variables
1099
+
1100
+ - \`LLM_API_KEY\` - API key for LLM provider (required)
1101
+ - \`PORT\` - Server port (default: 3000)
1102
+ - \`LOG_LEVEL\` - Logging level (default: info)
1103
+ - \`NODE_ENV\` - Environment (development/production)
1104
+
1105
+ ## License
1106
+
1107
+ ${manifest.metadata?.license || 'MIT'}
1108
+ `;
1109
+ }
1110
+ /**
1111
+ * Generate examples
1112
+ */
1113
+ generateExamples(manifest, packageName) {
1114
+ return {
1115
+ 'README.md': `# Examples
1116
+
1117
+ This directory contains examples for using ${manifest.metadata?.name || 'the agent'}.
1118
+
1119
+ ## Available Examples
1120
+
1121
+ - [basic-usage.ts](./basic-usage.ts) - Simple usage example
1122
+ - [with-tools.ts](./with-tools.ts) - Using agent tools
1123
+ - [with-api.ts](./with-api.ts) - Using the REST API
1124
+ - [advanced.ts](./advanced.ts) - Advanced features
1125
+
1126
+ ## Running Examples
1127
+
1128
+ \`\`\`bash
1129
+ # Install dependencies
1130
+ npm install
1131
+
1132
+ # Run an example
1133
+ npx tsx examples/basic-usage.ts
1134
+ \`\`\`
1135
+
1136
+ ## Environment Setup
1137
+
1138
+ Copy \`.env.example\` to \`.env\` and configure:
1139
+
1140
+ \`\`\`bash
1141
+ LLM_API_KEY=your-api-key
1142
+ \`\`\`
1143
+ `,
1144
+ 'basic-usage.ts': `/**
1145
+ * Basic Usage Example
1146
+ *
1147
+ * Demonstrates simple agent interaction
1148
+ */
1149
+
1150
+ import { Agent } from '${packageName}';
1151
+
1152
+ async function main() {
1153
+ // Create agent instance
1154
+ const agent = new Agent({
1155
+ apiKey: process.env.LLM_API_KEY,
1156
+ });
1157
+
1158
+ // Send a message
1159
+ const response = await agent.chat({
1160
+ message: 'Hello! Can you help me?',
1161
+ });
1162
+
1163
+ console.log('Agent response:', response.message);
1164
+
1165
+ // Get agent metadata
1166
+ const metadata = agent.getMetadata();
1167
+ console.log('Agent info:', metadata);
1168
+ }
1169
+
1170
+ main().catch(console.error);
1171
+ `,
1172
+ 'with-tools.ts': `/**
1173
+ * Tools Example
1174
+ *
1175
+ * Demonstrates using agent tools
1176
+ */
1177
+
1178
+ import { Agent } from '${packageName}';
1179
+
1180
+ async function main() {
1181
+ const agent = new Agent({
1182
+ apiKey: process.env.LLM_API_KEY,
1183
+ });
1184
+
1185
+ // Get available capabilities
1186
+ const capabilities = agent.getCapabilities();
1187
+ console.log('Available tools:', capabilities.tools);
1188
+
1189
+ // Use agent with tools
1190
+ const response = await agent.chat({
1191
+ message: 'Use your tools to help me',
1192
+ context: {
1193
+ enableTools: true,
1194
+ },
1195
+ });
1196
+
1197
+ console.log('Response:', response.message);
1198
+ console.log('Metadata:', response.metadata);
1199
+ }
1200
+
1201
+ main().catch(console.error);
1202
+ `,
1203
+ 'with-api.ts': `/**
1204
+ * REST API Example
1205
+ *
1206
+ * Demonstrates using the agent via REST API
1207
+ */
1208
+
1209
+ async function main() {
1210
+ const baseUrl = 'http://localhost:3000';
1211
+
1212
+ // Health check
1213
+ const health = await fetch(\`\${baseUrl}/health\`);
1214
+ console.log('Health:', await health.json());
1215
+
1216
+ // Chat with agent
1217
+ const response = await fetch(\`\${baseUrl}/chat\`, {
1218
+ method: 'POST',
1219
+ headers: {
1220
+ 'Content-Type': 'application/json',
1221
+ },
1222
+ body: JSON.stringify({
1223
+ message: 'Hello from API!',
1224
+ }),
1225
+ });
1226
+
1227
+ const data = await response.json();
1228
+ console.log('Response:', data);
1229
+
1230
+ // Get OpenAPI spec
1231
+ const openapi = await fetch(\`\${baseUrl}/openapi\`);
1232
+ console.log('OpenAPI spec:', await openapi.text());
1233
+ }
1234
+
1235
+ main().catch(console.error);
1236
+ `,
1237
+ 'advanced.ts': `/**
1238
+ * Advanced Usage Example
1239
+ *
1240
+ * Demonstrates advanced features
1241
+ */
1242
+
1243
+ import { Agent } from '${packageName}';
1244
+
1245
+ async function main() {
1246
+ const agent = new Agent({
1247
+ apiKey: process.env.LLM_API_KEY,
1248
+ temperature: 0.7,
1249
+ maxTokens: 1000,
1250
+ });
1251
+
1252
+ // Multi-turn conversation with context
1253
+ let context = { conversationId: '123' };
1254
+
1255
+ const turn1 = await agent.chat({
1256
+ message: 'Remember my name is Alice',
1257
+ context,
1258
+ });
1259
+ console.log('Turn 1:', turn1.message);
1260
+ context = turn1.context || context;
1261
+
1262
+ const turn2 = await agent.chat({
1263
+ message: 'What is my name?',
1264
+ context,
1265
+ });
1266
+ console.log('Turn 2:', turn2.message);
1267
+
1268
+ // Error handling
1269
+ try {
1270
+ await agent.chat({ message: '' });
1271
+ } catch (error) {
1272
+ console.error('Handled error:', error.message);
1273
+ }
1274
+ }
1275
+
1276
+ main().catch(console.error);
1277
+ `,
1278
+ };
1279
+ }
1280
+ /**
1281
+ * Generate complete test suite
1282
+ */
1283
+ generateCompletedTestSuite(manifest) {
1284
+ const name = manifest.metadata?.name || 'Agent';
1285
+ return {
1286
+ 'unit/agent.test.ts': `import { describe, it, expect, beforeEach } from '@jest/globals';
1287
+ import { Agent } from '../../src/index.js';
1288
+
1289
+ describe('${name} - Unit Tests', () => {
1290
+ let agent: Agent;
1291
+
1292
+ beforeEach(() => {
1293
+ agent = new Agent();
1294
+ });
1295
+
1296
+ describe('initialization', () => {
1297
+ it('should create agent instance', () => {
1298
+ expect(agent).toBeDefined();
1299
+ expect(agent).toBeInstanceOf(Agent);
1300
+ });
1301
+
1302
+ it('should accept configuration options', () => {
1303
+ const customAgent = new Agent({
1304
+ apiKey: 'test-key',
1305
+ temperature: 0.5,
1306
+ });
1307
+ expect(customAgent).toBeDefined();
1308
+ });
1309
+ });
1310
+
1311
+ describe('metadata', () => {
1312
+ it('should return agent metadata', () => {
1313
+ const metadata = agent.getMetadata();
1314
+ expect(metadata).toHaveProperty('name');
1315
+ expect(metadata).toHaveProperty('version');
1316
+ expect(metadata.name).toBe('${name}');
1317
+ });
1318
+ });
1319
+
1320
+ describe('capabilities', () => {
1321
+ it('should return agent capabilities', () => {
1322
+ const capabilities = agent.getCapabilities();
1323
+ expect(capabilities).toHaveProperty('tools');
1324
+ expect(capabilities).toHaveProperty('models');
1325
+ expect(Array.isArray(capabilities.tools)).toBe(true);
1326
+ });
1327
+ });
1328
+ });
1329
+ `,
1330
+ 'unit/tools.test.ts': `import { describe, it, expect } from '@jest/globals';
1331
+
1332
+ describe('Tools - Unit Tests', () => {
1333
+ it('should have tool implementations', () => {
1334
+ // Add tool-specific tests here
1335
+ expect(true).toBe(true);
1336
+ });
1337
+ });
1338
+ `,
1339
+ 'integration/api.test.ts': `import { describe, it, expect, beforeAll, afterAll } from '@jest/globals';
1340
+ import { Agent } from '../../src/index.js';
1341
+
1342
+ describe('API - Integration Tests', () => {
1343
+ let agent: Agent;
1344
+
1345
+ beforeAll(() => {
1346
+ agent = new Agent();
1347
+ });
1348
+
1349
+ afterAll(() => {
1350
+ // Cleanup
1351
+ });
1352
+
1353
+ describe('chat', () => {
1354
+ it('should respond to messages', async () => {
1355
+ const response = await agent.chat({
1356
+ message: 'Hello',
1357
+ });
1358
+
1359
+ expect(response).toHaveProperty('message');
1360
+ expect(typeof response.message).toBe('string');
1361
+ });
1362
+
1363
+ it('should handle context', async () => {
1364
+ const response = await agent.chat({
1365
+ message: 'Test',
1366
+ context: { user: 'test' },
1367
+ });
1368
+
1369
+ expect(response).toHaveProperty('context');
1370
+ });
1371
+
1372
+ it('should handle errors gracefully', async () => {
1373
+ await expect(
1374
+ agent.chat({ message: '' })
1375
+ ).rejects.toThrow();
1376
+ });
1377
+ });
1378
+ });
1379
+ `,
1380
+ 'e2e/workflow.test.ts': `import { describe, it, expect } from '@jest/globals';
1381
+ import { Agent } from '../../src/index.js';
1382
+
1383
+ describe('Workflow - E2E Tests', () => {
1384
+ it('should complete full conversation workflow', async () => {
1385
+ const agent = new Agent();
1386
+
1387
+ // Step 1: Initial message
1388
+ const response1 = await agent.chat({
1389
+ message: 'Start conversation',
1390
+ });
1391
+ expect(response1.message).toBeDefined();
1392
+
1393
+ // Step 2: Follow-up
1394
+ const response2 = await agent.chat({
1395
+ message: 'Continue',
1396
+ context: response1.context,
1397
+ });
1398
+ expect(response2.message).toBeDefined();
1399
+ });
1400
+ });
1401
+ `,
1402
+ 'fixtures/sample-data.json': JSON.stringify({
1403
+ testMessages: [
1404
+ { message: 'Hello', expectedType: 'greeting' },
1405
+ { message: 'Help', expectedType: 'request' },
1406
+ { message: 'Thank you', expectedType: 'gratitude' },
1407
+ ],
1408
+ testContext: {
1409
+ user: 'test-user',
1410
+ session: 'test-session',
1411
+ },
1412
+ }, null, 2),
1413
+ 'setup.ts': `/**
1414
+ * Test Setup
1415
+ *
1416
+ * Global test configuration and utilities
1417
+ */
1418
+
1419
+ // Set test environment
1420
+ process.env.NODE_ENV = 'test';
1421
+
1422
+ // Configure test timeout
1423
+ jest.setTimeout(10000);
1424
+
1425
+ // Global setup
1426
+ beforeAll(() => {
1427
+ // Setup code here
1428
+ });
1429
+
1430
+ // Global teardown
1431
+ afterAll(() => {
1432
+ // Cleanup code here
1433
+ });
1434
+
1435
+ // Custom matchers
1436
+ expect.extend({
1437
+ toBeValidResponse(received) {
1438
+ const pass =
1439
+ typeof received === 'object' &&
1440
+ 'message' in received &&
1441
+ typeof received.message === 'string';
1442
+
1443
+ return {
1444
+ pass,
1445
+ message: () =>
1446
+ pass
1447
+ ? 'Expected not to be valid response'
1448
+ : 'Expected to be valid response',
1449
+ };
1450
+ },
1451
+ });
1452
+ `,
1453
+ };
1454
+ }
1455
+ /**
1456
+ * Generate enhanced source structure
1457
+ */
1458
+ generateEnhancedSource(manifest) {
1459
+ return {
1460
+ 'agent.ts': `/**
1461
+ * Agent Implementation
1462
+ *
1463
+ * Main agent class implementation
1464
+ */
1465
+
1466
+ import type { ChatRequest, ChatResponse, AgentOptions, AgentMetadata, Capabilities } from './types.js';
1467
+ import { Logger } from './utils/logger.js';
1468
+ import { ValidationError } from './utils/errors.js';
1469
+ import { validateChatRequest } from './utils/validation.js';
1470
+ import { defaultConfig } from './config/defaults.js';
1471
+
1472
+ export class Agent {
1473
+ private config: Required<AgentOptions>;
1474
+ private logger: Logger;
1475
+
1476
+ constructor(options: AgentOptions = {}) {
1477
+ this.config = { ...defaultConfig, ...options };
1478
+ this.logger = new Logger('Agent');
1479
+ }
1480
+
1481
+ async chat(request: ChatRequest): Promise<ChatResponse> {
1482
+ this.logger.debug('Chat request received', request);
1483
+
1484
+ // Validate request
1485
+ const validation = validateChatRequest(request);
1486
+ if (!validation.valid) {
1487
+ throw new ValidationError(validation.error || 'Invalid request');
1488
+ }
1489
+
1490
+ try {
1491
+ // Process request
1492
+ const response: ChatResponse = {
1493
+ message: \`Echo: \${request.message}\`,
1494
+ context: request.context,
1495
+ metadata: {
1496
+ model: this.config.model,
1497
+ tokens: 0,
1498
+ duration: 0,
1499
+ },
1500
+ };
1501
+
1502
+ this.logger.debug('Chat response sent', response);
1503
+ return response;
1504
+ } catch (error) {
1505
+ this.logger.error('Chat error', error);
1506
+ throw error;
1507
+ }
1508
+ }
1509
+
1510
+ getMetadata(): AgentMetadata {
1511
+ return {
1512
+ name: '${manifest.metadata?.name || 'agent'}',
1513
+ version: '${manifest.metadata?.version || '1.0.0'}',
1514
+ description: '${manifest.metadata?.description || 'OSSA agent'}',
1515
+ author: '${manifest.metadata?.author || 'Unknown'}',
1516
+ license: '${manifest.metadata?.license || 'MIT'}',
1517
+ };
1518
+ }
1519
+
1520
+ getCapabilities(): Capabilities {
1521
+ return {
1522
+ tools: [],
1523
+ models: [this.config.model],
1524
+ features: ['chat', 'context'],
1525
+ };
1526
+ }
1527
+ }
1528
+ `,
1529
+ 'utils/logger.ts': `/**
1530
+ * Logger Utility
1531
+ *
1532
+ * Structured logging for the agent
1533
+ */
1534
+
1535
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
1536
+
1537
+ export class Logger {
1538
+ constructor(private context: string) {}
1539
+
1540
+ debug(message: string, data?: any): void {
1541
+ this.log('debug', message, data);
1542
+ }
1543
+
1544
+ info(message: string, data?: any): void {
1545
+ this.log('info', message, data);
1546
+ }
1547
+
1548
+ warn(message: string, data?: any): void {
1549
+ this.log('warn', message, data);
1550
+ }
1551
+
1552
+ error(message: string, error?: any): void {
1553
+ this.log('error', message, error);
1554
+ }
1555
+
1556
+ private log(level: LogLevel, message: string, data?: any): void {
1557
+ const timestamp = new Date().toISOString();
1558
+ const logData = {
1559
+ timestamp,
1560
+ level,
1561
+ context: this.context,
1562
+ message,
1563
+ ...(data && { data }),
1564
+ };
1565
+
1566
+ const logLevel = process.env.LOG_LEVEL || 'info';
1567
+ const levels = ['debug', 'info', 'warn', 'error'];
1568
+
1569
+ if (levels.indexOf(level) >= levels.indexOf(logLevel as LogLevel)) {
1570
+ console[level === 'debug' ? 'log' : level](
1571
+ JSON.stringify(logData)
1572
+ );
1573
+ }
1574
+ }
1575
+ }
1576
+ `,
1577
+ 'utils/errors.ts': `/**
1578
+ * Error Classes
1579
+ *
1580
+ * Custom error types for the agent
1581
+ */
1582
+
1583
+ export class AgentError extends Error {
1584
+ constructor(message: string) {
1585
+ super(message);
1586
+ this.name = 'AgentError';
1587
+ }
1588
+ }
1589
+
1590
+ export class ValidationError extends AgentError {
1591
+ constructor(message: string) {
1592
+ super(message);
1593
+ this.name = 'ValidationError';
1594
+ }
1595
+ }
1596
+
1597
+ export class ConfigurationError extends AgentError {
1598
+ constructor(message: string) {
1599
+ super(message);
1600
+ this.name = 'ConfigurationError';
1601
+ }
1602
+ }
1603
+
1604
+ export class ToolError extends AgentError {
1605
+ constructor(message: string) {
1606
+ super(message);
1607
+ this.name = 'ToolError';
1608
+ }
1609
+ }
1610
+ `,
1611
+ 'utils/validation.ts': `/**
1612
+ * Validation Utilities
1613
+ *
1614
+ * Request and response validation
1615
+ */
1616
+
1617
+ import type { ChatRequest } from '../types.js';
1618
+
1619
+ export interface ValidationResult {
1620
+ valid: boolean;
1621
+ error?: string;
1622
+ }
1623
+
1624
+ export function validateChatRequest(request: ChatRequest): ValidationResult {
1625
+ if (!request) {
1626
+ return { valid: false, error: 'Request is required' };
1627
+ }
1628
+
1629
+ if (!request.message || typeof request.message !== 'string') {
1630
+ return { valid: false, error: 'Message is required and must be a string' };
1631
+ }
1632
+
1633
+ if (request.message.trim().length === 0) {
1634
+ return { valid: false, error: 'Message cannot be empty' };
1635
+ }
1636
+
1637
+ if (request.context && typeof request.context !== 'object') {
1638
+ return { valid: false, error: 'Context must be an object' };
1639
+ }
1640
+
1641
+ return { valid: true };
1642
+ }
1643
+ `,
1644
+ 'config/defaults.ts': `/**
1645
+ * Default Configuration
1646
+ *
1647
+ * Default settings for the agent
1648
+ */
1649
+
1650
+ import type { AgentOptions } from '../types.js';
1651
+
1652
+ export const defaultConfig: Required<AgentOptions> = {
1653
+ apiKey: process.env.LLM_API_KEY || '',
1654
+ model: 'gpt-4',
1655
+ temperature: 0.7,
1656
+ maxTokens: 2000,
1657
+ };
1658
+ `,
1659
+ };
1660
+ }
1661
+ /**
1662
+ * Generate quality assurance files
1663
+ */
1664
+ generateQAFiles(options) {
1665
+ return {
1666
+ '.eslintrc.json': JSON.stringify({
1667
+ extends: [
1668
+ 'eslint:recommended',
1669
+ 'plugin:@typescript-eslint/recommended',
1670
+ 'prettier',
1671
+ ],
1672
+ parser: '@typescript-eslint/parser',
1673
+ parserOptions: {
1674
+ ecmaVersion: 2022,
1675
+ sourceType: 'module',
1676
+ project: './tsconfig.json',
1677
+ },
1678
+ plugins: ['@typescript-eslint'],
1679
+ rules: {
1680
+ '@typescript-eslint/explicit-function-return-type': 'warn',
1681
+ '@typescript-eslint/no-explicit-any': 'warn',
1682
+ '@typescript-eslint/no-unused-vars': [
1683
+ 'error',
1684
+ { argsIgnorePattern: '^_' },
1685
+ ],
1686
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
1687
+ },
1688
+ env: {
1689
+ node: true,
1690
+ es2022: true,
1691
+ },
1692
+ }, null, 2),
1693
+ '.prettierrc': JSON.stringify({
1694
+ semi: true,
1695
+ trailingComma: 'es5',
1696
+ singleQuote: true,
1697
+ printWidth: 80,
1698
+ tabWidth: 2,
1699
+ useTabs: false,
1700
+ arrowParens: 'always',
1701
+ endOfLine: 'lf',
1702
+ }, null, 2),
1703
+ 'jest.config.js': `export default {
1704
+ preset: 'ts-jest/presets/default-esm',
1705
+ testEnvironment: 'node',
1706
+ extensionsToTreatAsEsm: ['.ts'],
1707
+ moduleNameMapper: {
1708
+ '^(\\.{1,2}/.*)\\.js$': '$1',
1709
+ },
1710
+ transform: {
1711
+ '^.+\\.ts$': [
1712
+ 'ts-jest',
1713
+ {
1714
+ useESM: true,
1715
+ },
1716
+ ],
1717
+ },
1718
+ testMatch: ['**/tests/**/*.test.ts'],
1719
+ collectCoverageFrom: [
1720
+ 'src/**/*.ts',
1721
+ '!src/**/*.d.ts',
1722
+ '!src/types.ts',
1723
+ ],
1724
+ coverageThreshold: {
1725
+ global: {
1726
+ branches: 70,
1727
+ functions: 70,
1728
+ lines: 70,
1729
+ statements: 70,
1730
+ },
1731
+ },
1732
+ setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
1733
+ };
1734
+ `,
1735
+ '.editorconfig': `root = true
1736
+
1737
+ [*]
1738
+ indent_style = space
1739
+ indent_size = 2
1740
+ end_of_line = lf
1741
+ charset = utf-8
1742
+ trim_trailing_whitespace = true
1743
+ insert_final_newline = true
1744
+
1745
+ [*.md]
1746
+ trim_trailing_whitespace = false
1747
+
1748
+ [*.json]
1749
+ indent_size = 2
1750
+
1751
+ [*.{yml,yaml}]
1752
+ indent_size = 2
1753
+ `,
1754
+ '.nvmrc': options.nodeVersion || '18.0.0',
1755
+ };
1756
+ }
1757
+ /**
1758
+ * Get language from file path
1759
+ */
1760
+ getLanguageFromPath(path) {
1761
+ const ext = path.split('.').pop();
1762
+ const languageMap = {
1763
+ js: 'javascript',
1764
+ ts: 'typescript',
1765
+ json: 'json',
1766
+ yaml: 'yaml',
1767
+ yml: 'yaml',
1768
+ md: 'markdown',
1769
+ };
1770
+ return ext ? languageMap[ext] : undefined;
1771
+ }
479
1772
  }
480
1773
  //# sourceMappingURL=npm-exporter.js.map