@bluefly/openstandardagents 0.4.2 → 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 +7 -0
  2. package/CHANGELOG.md +488 -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 +17 -12
  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 +17 -12
  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
@@ -1,51 +1,171 @@
1
1
  /**
2
- * Docker Generators
3
- * Generate Dockerfiles and docker-compose.yml from OSSA agents
2
+ * Production-Grade Docker Generators
3
+ * Generate complete Docker deployment packages from OSSA agents
4
+ *
5
+ * Includes:
6
+ * - Multi-stage Dockerfiles (build + runtime)
7
+ * - Development and production Docker files
8
+ * - docker-compose.yml with all services
9
+ * - docker-compose.prod.yml for production
10
+ * - Entrypoint and healthcheck scripts
11
+ * - Configuration files (nginx, supervisor)
12
+ * - Deployment scripts
13
+ * - Complete documentation
4
14
  */
5
15
  export class DockerfileGenerator {
6
16
  /**
7
- * Generate Dockerfile from OSSA agent
17
+ * Generate multi-stage production Dockerfile
8
18
  */
9
19
  generate(manifest, config = {}) {
10
20
  const spec = manifest.spec;
11
21
  const runtime = spec.runtime;
12
- const baseImage = config.baseImage || runtime?.image || 'node:20-alpine';
22
+ const agentName = manifest.metadata?.name || 'agent';
23
+ const nodeVersion = config.nodeVersion || '20';
24
+ const baseImage = config.baseImage || runtime?.image || `node:${nodeVersion}-alpine`;
13
25
  const workingDir = config.workingDir || '/app';
14
26
  const exposePort = config.exposePort || 3000;
15
- let dockerfile = `# Dockerfile for ${manifest.metadata?.name || 'OSSA Agent'}
16
- # Generated from OSSA manifest
27
+ const dockerfile = `# Multi-stage Dockerfile for ${agentName}
28
+ # Generated from OSSA manifest: \${manifest.apiVersion}
17
29
 
18
- FROM ${baseImage}
30
+ # ================================
31
+ # Stage 1: Dependencies
32
+ # ================================
33
+ FROM ${baseImage} AS deps
19
34
 
20
35
  WORKDIR ${workingDir}
21
36
 
22
- # Install dependencies
37
+ # Install production dependencies only
23
38
  COPY package*.json ./
24
- RUN npm ci --production
39
+ RUN npm ci --production --ignore-scripts && \\
40
+ npm cache clean --force
25
41
 
26
- # Copy application files
27
- COPY . .
42
+ # ================================
43
+ # Stage 2: Builder
44
+ # ================================
45
+ FROM ${baseImage} AS builder
46
+
47
+ WORKDIR ${workingDir}
48
+
49
+ # Copy package files
50
+ COPY package*.json ./
51
+ COPY tsconfig*.json ./
52
+
53
+ # Install all dependencies (including dev)
54
+ RUN npm ci --ignore-scripts
55
+
56
+ # Copy source code
57
+ COPY src/ ./src/
58
+
59
+ # Build TypeScript
60
+ RUN npm run build && \\
61
+ npm prune --production
62
+
63
+ # ================================
64
+ # Stage 3: Runtime
65
+ # ================================
66
+ FROM ${baseImage} AS runtime
67
+
68
+ # Install dumb-init for proper signal handling
69
+ RUN apk add --no-cache dumb-init
70
+
71
+ # Create non-root user
72
+ RUN addgroup -g 1001 -S nodejs && \\
73
+ adduser -S nodejs -u 1001
74
+
75
+ WORKDIR ${workingDir}
76
+
77
+ # Copy production dependencies from deps stage
78
+ COPY --from=deps --chown=nodejs:nodejs ${workingDir}/node_modules ./node_modules
79
+
80
+ # Copy built application from builder stage
81
+ COPY --from=builder --chown=nodejs:nodejs ${workingDir}/dist ./dist
82
+ COPY --from=builder --chown=nodejs:nodejs ${workingDir}/package*.json ./
83
+
84
+ # Copy scripts
85
+ COPY --chown=nodejs:nodejs scripts/ ./scripts/
86
+ RUN chmod +x ./scripts/*.sh
87
+
88
+ # Switch to non-root user
89
+ USER nodejs
28
90
 
29
91
  # Expose port
30
92
  EXPOSE ${exposePort}
31
93
 
32
94
  # Health check
95
+ ${this.generateHealthCheck(config)}
96
+
97
+ # Set environment
98
+ ENV NODE_ENV=production \\
99
+ PORT=${exposePort}
100
+
101
+ # Use dumb-init to handle signals properly
102
+ ENTRYPOINT ["/usr/bin/dumb-init", "--"]
103
+
104
+ # Run application
105
+ CMD ["node", "dist/index.js"]
33
106
  `;
34
- if (config.healthCheck) {
35
- dockerfile += `HEALTHCHECK --interval=${config.healthCheck.interval ?? 30}s \\
36
- --timeout=${config.healthCheck.timeout ?? 10}s \\
37
- --retries=${config.healthCheck.retries ?? 3} \\
38
- CMD ${config.healthCheck.command}\n\n`;
39
- }
40
- const command = runtime?.command?.[0] || 'node dist/index.js';
41
- dockerfile += `# Run agent
42
- CMD ["${command}"]\n`;
43
107
  return dockerfile;
44
108
  }
109
+ /**
110
+ * Generate development Dockerfile
111
+ */
112
+ generateDev(manifest, config = {}) {
113
+ const nodeVersion = config.nodeVersion || '20';
114
+ const baseImage = config.baseImage || `node:${nodeVersion}`;
115
+ const workingDir = config.workingDir || '/app';
116
+ const exposePort = config.exposePort || 3000;
117
+ const agentName = manifest.metadata?.name || 'agent';
118
+ return `# Development Dockerfile for ${agentName}
119
+ # Hot-reload enabled for development
120
+
121
+ FROM ${baseImage}
122
+
123
+ # Install development tools
124
+ RUN apt-get update && apt-get install -y \\
125
+ git \\
126
+ curl \\
127
+ vim \\
128
+ && rm -rf /var/lib/apt/lists/*
129
+
130
+ WORKDIR ${workingDir}
131
+
132
+ # Copy package files
133
+ COPY package*.json ./
134
+
135
+ # Install all dependencies (including dev)
136
+ RUN npm install
137
+
138
+ # Copy source code
139
+ COPY . .
140
+
141
+ # Expose port and debug port
142
+ EXPOSE ${exposePort}
143
+ EXPOSE 9229
144
+
145
+ # Set development environment
146
+ ENV NODE_ENV=development \\
147
+ PORT=${exposePort}
148
+
149
+ # Run with nodemon for hot-reload
150
+ CMD ["npm", "run", "dev"]
151
+ `;
152
+ }
153
+ /**
154
+ * Generate health check configuration
155
+ */
156
+ generateHealthCheck(config) {
157
+ if (!config.healthCheck) {
158
+ return `HEALTHCHECK --interval=30s --timeout=10s --retries=3 \\
159
+ CMD node -e "require('http').get('http://localhost:${config.exposePort || 3000}/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1); });"`;
160
+ }
161
+ const { command, interval = 30, timeout = 10, retries = 3 } = config.healthCheck;
162
+ return `HEALTHCHECK --interval=${interval}s --timeout=${timeout}s --retries=${retries} \\
163
+ CMD ${command}`;
164
+ }
45
165
  }
46
166
  export class DockerComposeGenerator {
47
167
  /**
48
- * Generate docker-compose.yml from OSSA agents
168
+ * Generate development docker-compose.yml
49
169
  */
50
170
  generate(manifests, config = {}) {
51
171
  const services = {};
@@ -56,37 +176,602 @@ export class DockerComposeGenerator {
56
176
  services[name] = {
57
177
  build: {
58
178
  context: '.',
59
- dockerfile: `Dockerfile.${name}`,
179
+ dockerfile: 'Dockerfile.dev',
180
+ target: 'development',
181
+ },
182
+ ports: [`${config.exposePort || 3000}:${config.exposePort || 3000}`, '9229:9229'],
183
+ volumes: [
184
+ '.:/app',
185
+ '/app/node_modules', // Don't override node_modules
186
+ ],
187
+ environment: {
188
+ NODE_ENV: 'development',
189
+ PORT: config.exposePort || 3000,
190
+ LOG_LEVEL: 'debug',
191
+ ...(config.environment || {}),
192
+ },
193
+ networks: ['agent-network'],
194
+ depends_on: this.generateDependencies(manifest),
195
+ };
196
+ }
197
+ // Add common services
198
+ services.postgres = {
199
+ image: 'postgres:16-alpine',
200
+ environment: {
201
+ POSTGRES_DB: 'agent_db',
202
+ POSTGRES_USER: 'agent',
203
+ POSTGRES_PASSWORD: 'development',
204
+ },
205
+ ports: ['5432:5432'],
206
+ volumes: ['postgres-data:/var/lib/postgresql/data'],
207
+ networks: ['agent-network'],
208
+ healthcheck: {
209
+ test: ['CMD-SHELL', 'pg_isready -U agent'],
210
+ interval: '10s',
211
+ timeout: '5s',
212
+ retries: 5,
213
+ },
214
+ };
215
+ services.redis = {
216
+ image: 'redis:7-alpine',
217
+ ports: ['6379:6379'],
218
+ volumes: ['redis-data:/data'],
219
+ networks: ['agent-network'],
220
+ healthcheck: {
221
+ test: ['CMD', 'redis-cli', 'ping'],
222
+ interval: '10s',
223
+ timeout: '5s',
224
+ retries: 5,
225
+ },
226
+ };
227
+ const compose = {
228
+ version: '3.8',
229
+ services,
230
+ networks: {
231
+ 'agent-network': {
232
+ driver: 'bridge',
233
+ },
234
+ },
235
+ volumes: {
236
+ 'postgres-data': {},
237
+ 'redis-data': {},
238
+ },
239
+ };
240
+ return this.formatYAML(compose);
241
+ }
242
+ /**
243
+ * Generate production docker-compose.yml
244
+ */
245
+ generateProduction(manifests, config = {}) {
246
+ const services = {};
247
+ for (const manifest of manifests) {
248
+ const name = manifest.metadata?.name || 'agent';
249
+ const spec = manifest.spec;
250
+ const constraints = spec.constraints;
251
+ services[name] = {
252
+ image: `${name}:latest`,
253
+ build: {
254
+ context: '.',
255
+ dockerfile: 'Dockerfile',
256
+ target: 'runtime',
60
257
  },
61
258
  ports: [`${config.exposePort || 3000}:${config.exposePort || 3000}`],
62
259
  environment: {
63
260
  NODE_ENV: 'production',
261
+ PORT: config.exposePort || 3000,
262
+ LOG_LEVEL: 'info',
263
+ ...(config.environment || {}),
64
264
  },
65
- ...(constraints?.resources && {
66
- deploy: {
67
- resources: {
68
- limits: {
69
- cpus: constraints.resources.cpu || '1',
70
- memory: constraints.resources.memory || '512m',
71
- },
265
+ networks: ['agent-network'],
266
+ restart: 'unless-stopped',
267
+ depends_on: this.generateDependencies(manifest),
268
+ deploy: {
269
+ replicas: 2,
270
+ resources: {
271
+ limits: {
272
+ cpus: constraints?.resources?.cpu || config.resources?.cpus || '1.0',
273
+ memory: constraints?.resources?.memory || config.resources?.memory || '512M',
274
+ },
275
+ reservations: {
276
+ cpus: '0.5',
277
+ memory: '256M',
72
278
  },
73
279
  },
74
- }),
280
+ restart_policy: {
281
+ condition: 'on-failure',
282
+ delay: '5s',
283
+ max_attempts: 3,
284
+ window: '120s',
285
+ },
286
+ update_config: {
287
+ parallelism: 1,
288
+ delay: '10s',
289
+ failure_action: 'rollback',
290
+ },
291
+ },
292
+ healthcheck: {
293
+ test: ['CMD-SHELL', 'node scripts/healthcheck.sh'],
294
+ interval: '30s',
295
+ timeout: '10s',
296
+ retries: 3,
297
+ start_period: '40s',
298
+ },
299
+ logging: {
300
+ driver: 'json-file',
301
+ options: {
302
+ 'max-size': '10m',
303
+ 'max-file': '3',
304
+ },
305
+ },
306
+ };
307
+ }
308
+ // Production database
309
+ services.postgres = {
310
+ image: 'postgres:16-alpine',
311
+ environment: {
312
+ POSTGRES_DB: '${POSTGRES_DB}',
313
+ POSTGRES_USER: '${POSTGRES_USER}',
314
+ POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}',
315
+ },
316
+ volumes: ['postgres-data:/var/lib/postgresql/data'],
317
+ networks: ['agent-network'],
318
+ restart: 'unless-stopped',
319
+ healthcheck: {
320
+ test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}'],
321
+ interval: '10s',
322
+ timeout: '5s',
323
+ retries: 5,
324
+ },
325
+ };
326
+ // Production Redis
327
+ services.redis = {
328
+ image: 'redis:7-alpine',
329
+ command: ['redis-server', '--appendonly', 'yes'],
330
+ volumes: ['redis-data:/data'],
331
+ networks: ['agent-network'],
332
+ restart: 'unless-stopped',
333
+ healthcheck: {
334
+ test: ['CMD', 'redis-cli', 'ping'],
335
+ interval: '10s',
336
+ timeout: '5s',
337
+ retries: 5,
338
+ },
339
+ };
340
+ // Nginx reverse proxy (optional)
341
+ if (config.includeNginx) {
342
+ services.nginx = {
343
+ image: 'nginx:alpine',
344
+ ports: ['80:80', '443:443'],
345
+ volumes: [
346
+ './nginx/nginx.conf:/etc/nginx/nginx.conf:ro',
347
+ './nginx/ssl:/etc/nginx/ssl:ro',
348
+ ],
349
+ networks: ['agent-network'],
350
+ depends_on: manifests.map((m) => m.metadata?.name || 'agent'),
351
+ restart: 'unless-stopped',
352
+ };
353
+ }
354
+ const compose = {
355
+ version: '3.8',
356
+ services,
357
+ networks: {
358
+ 'agent-network': {
359
+ driver: 'bridge',
360
+ },
361
+ },
362
+ volumes: {
363
+ 'postgres-data': {},
364
+ 'redis-data': {},
365
+ },
366
+ };
367
+ return this.formatYAML(compose);
368
+ }
369
+ /**
370
+ * Generate service dependencies
371
+ */
372
+ generateDependencies(manifest) {
373
+ const spec = manifest.spec;
374
+ const dependencies = {};
375
+ // Check for database dependencies
376
+ if (spec.storage || spec.memory) {
377
+ dependencies.postgres = {
378
+ condition: 'service_healthy',
379
+ };
380
+ }
381
+ // Check for cache dependencies
382
+ if (spec.cache || spec.session) {
383
+ dependencies.redis = {
384
+ condition: 'service_healthy',
75
385
  };
76
386
  }
77
- return `# docker-compose.yml
78
- # Generated from OSSA manifests
79
-
80
- version: '3.8'
81
-
82
- services:
83
- ${Object.entries(services)
84
- .map(([name, service]) => ` ${name}:
85
- ${JSON.stringify(service, null, 4)
86
- .split('\n')
87
- .map((line) => ` ${line}`)
88
- .join('\n')}`)
89
- .join('\n\n')}
387
+ return dependencies;
388
+ }
389
+ /**
390
+ * Format object as YAML
391
+ */
392
+ formatYAML(obj, indent = 0) {
393
+ const spaces = ' '.repeat(indent);
394
+ let yaml = '';
395
+ for (const [key, value] of Object.entries(obj)) {
396
+ if (value === null || value === undefined) {
397
+ continue;
398
+ }
399
+ if (Array.isArray(value)) {
400
+ yaml += `${spaces}${key}:\n`;
401
+ for (const item of value) {
402
+ if (typeof item === 'object') {
403
+ yaml += `${spaces} - ${this.formatYAML(item, indent + 2).trim()}\n`;
404
+ }
405
+ else {
406
+ yaml += `${spaces} - ${item}\n`;
407
+ }
408
+ }
409
+ }
410
+ else if (typeof value === 'object') {
411
+ yaml += `${spaces}${key}:\n`;
412
+ yaml += this.formatYAML(value, indent + 1);
413
+ }
414
+ else {
415
+ yaml += `${spaces}${key}: ${value}\n`;
416
+ }
417
+ }
418
+ return yaml;
419
+ }
420
+ }
421
+ export class DockerScriptsGenerator {
422
+ /**
423
+ * Generate entrypoint.sh script
424
+ */
425
+ generateEntrypoint(manifest) {
426
+ const agentName = manifest.metadata?.name || 'agent';
427
+ return `#!/bin/sh
428
+ # Entrypoint script for ${agentName}
429
+ # Handles initialization and graceful shutdown
430
+
431
+ set -e
432
+
433
+ echo "Starting ${agentName}..."
434
+
435
+ # Wait for dependencies
436
+ if [ -n "\$POSTGRES_HOST" ]; then
437
+ echo "Waiting for PostgreSQL..."
438
+ until nc -z "\$POSTGRES_HOST" "\${POSTGRES_PORT:-5432}"; do
439
+ echo "PostgreSQL is unavailable - sleeping"
440
+ sleep 1
441
+ done
442
+ echo "PostgreSQL is up"
443
+ fi
444
+
445
+ if [ -n "\$REDIS_HOST" ]; then
446
+ echo "Waiting for Redis..."
447
+ until nc -z "\$REDIS_HOST" "\${REDIS_PORT:-6379}"; do
448
+ echo "Redis is unavailable - sleeping"
449
+ sleep 1
450
+ done
451
+ echo "Redis is up"
452
+ fi
453
+
454
+ # Run database migrations (if applicable)
455
+ if [ -f "scripts/migrate.sh" ]; then
456
+ echo "Running database migrations..."
457
+ ./scripts/migrate.sh
458
+ fi
459
+
460
+ # Execute the main command
461
+ echo "Starting application..."
462
+ exec "\$@"
463
+ `;
464
+ }
465
+ /**
466
+ * Generate healthcheck.sh script
467
+ */
468
+ generateHealthcheck(manifest, port = 3000) {
469
+ return `#!/bin/sh
470
+ # Health check script
471
+ # Returns 0 if healthy, 1 if unhealthy
472
+
473
+ set -e
474
+
475
+ # Check if process is running
476
+ if ! pgrep -f "node" > /dev/null; then
477
+ echo "Process not running"
478
+ exit 1
479
+ fi
480
+
481
+ # Check HTTP health endpoint
482
+ response=\$(curl -s -o /dev/null -w "%{http_code}" http://localhost:${port}/health || echo "000")
483
+
484
+ if [ "\$response" = "200" ]; then
485
+ echo "Health check passed"
486
+ exit 0
487
+ else
488
+ echo "Health check failed with status: \$response"
489
+ exit 1
490
+ fi
491
+ `;
492
+ }
493
+ /**
494
+ * Generate build.sh script
495
+ */
496
+ generateBuild(manifest) {
497
+ const agentName = manifest.metadata?.name || 'agent';
498
+ return `#!/bin/bash
499
+ # Build Docker image for ${agentName}
500
+
501
+ set -e
502
+
503
+ IMAGE_NAME="${agentName}"
504
+ VERSION=\${VERSION:-latest}
505
+ REGISTRY=\${REGISTRY:-}
506
+
507
+ echo "Building Docker image: \${IMAGE_NAME}:\${VERSION}"
508
+
509
+ # Build production image
510
+ docker build \\
511
+ --target runtime \\
512
+ --tag "\${IMAGE_NAME}:\${VERSION}" \\
513
+ --tag "\${IMAGE_NAME}:latest" \\
514
+ --build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \\
515
+ --build-arg VCS_REF="$(git rev-parse --short HEAD)" \\
516
+ --build-arg VERSION="\${VERSION}" \\
517
+ .
518
+
519
+ echo "✓ Build complete"
520
+ echo " Image: \${IMAGE_NAME}:\${VERSION}"
521
+ echo " Size: \$(docker images \${IMAGE_NAME}:\${VERSION} --format "{{.Size}}")"
522
+ `;
523
+ }
524
+ /**
525
+ * Generate push.sh script
526
+ */
527
+ generatePush(manifest) {
528
+ const agentName = manifest.metadata?.name || 'agent';
529
+ return `#!/bin/bash
530
+ # Push Docker image to registry
531
+
532
+ set -e
533
+
534
+ IMAGE_NAME="${agentName}"
535
+ VERSION=\${VERSION:-latest}
536
+ REGISTRY=\${REGISTRY:-docker.io}
537
+
538
+ if [ -z "\$REGISTRY" ]; then
539
+ echo "Error: REGISTRY environment variable is required"
540
+ exit 1
541
+ fi
542
+
543
+ FULL_IMAGE="\${REGISTRY}/\${IMAGE_NAME}:\${VERSION}"
544
+
545
+ echo "Tagging image: \${FULL_IMAGE}"
546
+ docker tag "\${IMAGE_NAME}:\${VERSION}" "\${FULL_IMAGE}"
547
+
548
+ echo "Pushing image: \${FULL_IMAGE}"
549
+ docker push "\${FULL_IMAGE}"
550
+
551
+ echo "✓ Push complete"
552
+ echo " Image: \${FULL_IMAGE}"
553
+ `;
554
+ }
555
+ /**
556
+ * Generate run.sh script
557
+ */
558
+ generateRun(manifest, port = 3000) {
559
+ const agentName = manifest.metadata?.name || 'agent';
560
+ return `#!/bin/bash
561
+ # Run ${agentName} container locally
562
+
563
+ set -e
564
+
565
+ IMAGE_NAME="${agentName}"
566
+ CONTAINER_NAME="\${CONTAINER_NAME:-${agentName}}"
567
+ PORT=\${PORT:-${port}}
568
+
569
+ echo "Running container: \${CONTAINER_NAME}"
570
+
571
+ docker run -d \\
572
+ --name "\${CONTAINER_NAME}" \\
573
+ --restart unless-stopped \\
574
+ -p "\${PORT}:${port}" \\
575
+ --env-file .env \\
576
+ "\${IMAGE_NAME}:latest"
577
+
578
+ echo "✓ Container started"
579
+ echo " Name: \${CONTAINER_NAME}"
580
+ echo " Port: \${PORT}"
581
+ echo ""
582
+ echo "View logs: docker logs -f \${CONTAINER_NAME}"
583
+ echo "Stop container: docker stop \${CONTAINER_NAME}"
584
+ `;
585
+ }
586
+ }
587
+ export class DockerConfigGenerator {
588
+ /**
589
+ * Generate .dockerignore file
590
+ */
591
+ generateDockerignore() {
592
+ return `# Dependencies
593
+ node_modules/
594
+ npm-debug.log*
595
+ yarn-debug.log*
596
+ yarn-error.log*
597
+
598
+ # Testing
599
+ coverage/
600
+ *.test.ts
601
+ *.spec.ts
602
+ **/__tests__/
603
+ **/__mocks__/
604
+
605
+ # Build outputs
606
+ dist/
607
+ build/
608
+ *.tsbuildinfo
609
+
610
+ # Environment
611
+ .env
612
+ .env.local
613
+ .env.*.local
614
+
615
+ # Development
616
+ .git/
617
+ .gitignore
618
+ .vscode/
619
+ .idea/
620
+ *.swp
621
+ *.swo
622
+ *~
623
+
624
+ # Documentation
625
+ *.md
626
+ docs/
627
+ examples/
628
+
629
+ # CI/CD
630
+ .github/
631
+ .gitlab-ci.yml
632
+
633
+ # Docker
634
+ Dockerfile*
635
+ docker-compose*.yml
636
+ .dockerignore
637
+
638
+ # Misc
639
+ .DS_Store
640
+ Thumbs.db
641
+ `;
642
+ }
643
+ /**
644
+ * Generate .env.example file
645
+ */
646
+ generateEnvExample(manifest) {
647
+ const spec = manifest.spec;
648
+ const llm = spec.llm;
649
+ return `# Environment Configuration
650
+ NODE_ENV=production
651
+ PORT=3000
652
+ LOG_LEVEL=info
653
+
654
+ # Database
655
+ POSTGRES_HOST=postgres
656
+ POSTGRES_PORT=5432
657
+ POSTGRES_DB=agent_db
658
+ POSTGRES_USER=agent
659
+ POSTGRES_PASSWORD=changeme
660
+
661
+ # Redis
662
+ REDIS_HOST=redis
663
+ REDIS_PORT=6379
664
+ REDIS_PASSWORD=
665
+
666
+ # LLM Configuration
667
+ LLM_PROVIDER=${llm?.provider || 'anthropic'}
668
+ LLM_MODEL=${llm?.model || 'claude-sonnet-3-5'}
669
+ LLM_API_KEY=your-api-key-here
670
+ LLM_MAX_TOKENS=${llm?.maxTokens || 4000}
671
+ LLM_TEMPERATURE=${llm?.temperature || 0.7}
672
+
673
+ # Monitoring
674
+ ENABLE_METRICS=true
675
+ METRICS_PORT=9090
676
+
677
+ # Security
678
+ JWT_SECRET=generate-a-secure-random-secret
679
+ API_KEY=your-api-key-here
680
+
681
+ # OSSA Configuration
682
+ OSSA_VERSION=${manifest.apiVersion}
683
+ AGENT_NAME=${manifest.metadata?.name || 'agent'}
684
+ AGENT_VERSION=${manifest.metadata?.version || '1.0.0'}
685
+ `;
686
+ }
687
+ /**
688
+ * Generate nginx.conf
689
+ */
690
+ generateNginxConfig(manifest, port = 3000) {
691
+ const agentName = manifest.metadata?.name || 'agent';
692
+ return `# Nginx configuration for ${agentName}
693
+
694
+ user nginx;
695
+ worker_processes auto;
696
+ error_log /var/log/nginx/error.log warn;
697
+ pid /var/run/nginx.pid;
698
+
699
+ events {
700
+ worker_connections 1024;
701
+ }
702
+
703
+ http {
704
+ include /etc/nginx/mime.types;
705
+ default_type application/octet-stream;
706
+
707
+ log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
708
+ '\$status \$body_bytes_sent "\$http_referer" '
709
+ '"\$http_user_agent" "\$http_x_forwarded_for"';
710
+
711
+ access_log /var/log/nginx/access.log main;
712
+
713
+ sendfile on;
714
+ tcp_nopush on;
715
+ tcp_nodelay on;
716
+ keepalive_timeout 65;
717
+ types_hash_max_size 2048;
718
+
719
+ # Gzip compression
720
+ gzip on;
721
+ gzip_vary on;
722
+ gzip_min_length 1024;
723
+ gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
724
+
725
+ # Rate limiting
726
+ limit_req_zone \$binary_remote_addr zone=api_limit:10m rate=10r/s;
727
+
728
+ upstream agent_backend {
729
+ least_conn;
730
+ server ${agentName}:${port} max_fails=3 fail_timeout=30;
731
+ }
732
+
733
+ server {
734
+ listen 80;
735
+ server_name _;
736
+
737
+ # Security headers
738
+ add_header X-Frame-Options "SAMEORIGIN" always;
739
+ add_header X-Content-Type-Options "nosniff" always;
740
+ add_header X-XSS-Protection "1; mode=block" always;
741
+
742
+ # Health check endpoint (no rate limit)
743
+ location /health {
744
+ proxy_pass http://agent_backend;
745
+ access_log off;
746
+ }
747
+
748
+ # API endpoints
749
+ location /api/ {
750
+ limit_req zone=api_limit burst=20 nodelay;
751
+
752
+ proxy_pass http://agent_backend;
753
+ proxy_http_version 1.1;
754
+ proxy_set_header Upgrade \$http_upgrade;
755
+ proxy_set_header Connection "upgrade";
756
+ proxy_set_header Host \$host;
757
+ proxy_set_header X-Real-IP \$remote_addr;
758
+ proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
759
+ proxy_set_header X-Forwarded-Proto \$scheme;
760
+
761
+ # Timeouts
762
+ proxy_connect_timeout 60;
763
+ proxy_send_timeout 60;
764
+ proxy_read_timeout 60;
765
+ }
766
+
767
+ # Deny access to sensitive files
768
+ location ~ /\\. {
769
+ deny all;
770
+ access_log off;
771
+ log_not_found off;
772
+ }
773
+ }
774
+ }
90
775
  `;
91
776
  }
92
777
  }