@bluefly/openstandardagents 0.4.0 → 0.4.2

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 (517) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/DEMO.md +212 -0
  3. package/README.md +77 -17
  4. package/dist/adapters/drupal/generator.d.ts +149 -0
  5. package/dist/adapters/drupal/generator.d.ts.map +1 -0
  6. package/dist/adapters/drupal/generator.js +1760 -0
  7. package/dist/adapters/drupal/generator.js.map +1 -0
  8. package/dist/adapters/drupal/index.d.ts +2 -0
  9. package/dist/adapters/drupal/index.d.ts.map +1 -1
  10. package/dist/adapters/drupal/index.js +3 -0
  11. package/dist/adapters/drupal/index.js.map +1 -1
  12. package/dist/adapters/npm/adapter.js +2 -2
  13. package/dist/adapters/npm/converter.js +3 -3
  14. package/dist/cli/banner.d.ts +21 -0
  15. package/dist/cli/banner.d.ts.map +1 -0
  16. package/dist/cli/banner.js +128 -0
  17. package/dist/cli/banner.js.map +1 -0
  18. package/dist/cli/commands/dev.command.d.ts +20 -0
  19. package/dist/cli/commands/dev.command.d.ts.map +1 -0
  20. package/dist/cli/commands/dev.command.js +78 -0
  21. package/dist/cli/commands/dev.command.js.map +1 -0
  22. package/dist/cli/commands/estimate.command.d.ts +12 -0
  23. package/dist/cli/commands/estimate.command.d.ts.map +1 -0
  24. package/dist/cli/commands/estimate.command.js +226 -0
  25. package/dist/cli/commands/estimate.command.js.map +1 -0
  26. package/dist/cli/commands/export-enhanced.command.d.ts +7 -0
  27. package/dist/cli/commands/export-enhanced.command.d.ts.map +1 -0
  28. package/dist/cli/commands/{export-v2.command.js → export-enhanced.command.js} +3 -3
  29. package/dist/cli/commands/export-enhanced.command.js.map +1 -0
  30. package/dist/cli/commands/export.command.d.ts.map +1 -1
  31. package/dist/cli/commands/export.command.js +82 -4
  32. package/dist/cli/commands/export.command.js.map +1 -1
  33. package/dist/cli/commands/init.command.d.ts.map +1 -1
  34. package/dist/cli/commands/init.command.js +2 -0
  35. package/dist/cli/commands/init.command.js.map +1 -1
  36. package/dist/cli/commands/test.command.d.ts +1 -0
  37. package/dist/cli/commands/test.command.d.ts.map +1 -1
  38. package/dist/cli/commands/test.command.js +172 -105
  39. package/dist/cli/commands/test.command.js.map +1 -1
  40. package/dist/cli/commands/types/wizard-config.types.d.ts +59 -0
  41. package/dist/cli/commands/types/wizard-config.types.d.ts.map +1 -0
  42. package/dist/cli/commands/types/wizard-config.types.js +34 -0
  43. package/dist/cli/commands/types/wizard-config.types.js.map +1 -0
  44. package/dist/cli/commands/upgrade.command.d.ts +9 -0
  45. package/dist/cli/commands/upgrade.command.d.ts.map +1 -0
  46. package/dist/cli/commands/upgrade.command.js +167 -0
  47. package/dist/cli/commands/upgrade.command.js.map +1 -0
  48. package/dist/cli/commands/wizard-api-first.command.d.ts +18 -0
  49. package/dist/cli/commands/wizard-api-first.command.d.ts.map +1 -0
  50. package/dist/cli/commands/wizard-api-first.command.js +854 -0
  51. package/dist/cli/commands/wizard-api-first.command.js.map +1 -0
  52. package/dist/cli/commands/wizard-interactive.command.d.ts +25 -0
  53. package/dist/cli/commands/wizard-interactive.command.d.ts.map +1 -0
  54. package/dist/cli/commands/wizard-interactive.command.js +1875 -0
  55. package/dist/cli/commands/wizard-interactive.command.js.map +1 -0
  56. package/dist/cli/commands/workspace.command.js +1 -1
  57. package/dist/cli/commands/workspace.command.js.map +1 -1
  58. package/dist/cli/index.js +9 -0
  59. package/dist/cli/index.js.map +1 -1
  60. package/dist/cli/schema-driven/index.d.ts +27 -0
  61. package/dist/cli/schema-driven/index.d.ts.map +1 -0
  62. package/dist/cli/schema-driven/index.js +34 -0
  63. package/dist/cli/schema-driven/index.js.map +1 -0
  64. package/dist/cli/schema-driven/schema-loader.d.ts +115 -0
  65. package/dist/cli/schema-driven/schema-loader.d.ts.map +1 -0
  66. package/dist/cli/schema-driven/schema-loader.js +270 -0
  67. package/dist/cli/schema-driven/schema-loader.js.map +1 -0
  68. package/dist/cli/schema-driven/ui-generator.d.ts +88 -0
  69. package/dist/cli/schema-driven/ui-generator.d.ts.map +1 -0
  70. package/dist/cli/schema-driven/ui-generator.js +326 -0
  71. package/dist/cli/schema-driven/ui-generator.js.map +1 -0
  72. package/dist/cli/wizard/interactive-wizard.d.ts +26 -0
  73. package/dist/cli/wizard/interactive-wizard.d.ts.map +1 -0
  74. package/dist/cli/wizard/interactive-wizard.js +296 -0
  75. package/dist/cli/wizard/interactive-wizard.js.map +1 -0
  76. package/dist/cli/wizard/template-catalog.d.ts +32 -0
  77. package/dist/cli/wizard/template-catalog.d.ts.map +1 -0
  78. package/dist/cli/wizard/template-catalog.js +99 -0
  79. package/dist/cli/wizard/template-catalog.js.map +1 -0
  80. package/dist/cli/wizard/use-cases.d.ts +37 -0
  81. package/dist/cli/wizard/use-cases.d.ts.map +1 -0
  82. package/dist/cli/wizard/use-cases.js +157 -0
  83. package/dist/cli/wizard/use-cases.js.map +1 -0
  84. package/dist/di-container.d.ts.map +1 -1
  85. package/dist/di-container.js +2 -0
  86. package/dist/di-container.js.map +1 -1
  87. package/dist/package.json +33 -11
  88. package/dist/runtime/agent-runner.d.ts +46 -0
  89. package/dist/runtime/agent-runner.d.ts.map +1 -0
  90. package/dist/runtime/agent-runner.js +346 -0
  91. package/dist/runtime/agent-runner.js.map +1 -0
  92. package/dist/sdks/kagent/crd-generator.d.ts +4 -0
  93. package/dist/sdks/kagent/crd-generator.d.ts.map +1 -1
  94. package/dist/sdks/kagent/crd-generator.js +83 -2
  95. package/dist/sdks/kagent/crd-generator.js.map +1 -1
  96. package/dist/sdks/kagent/k8s-resources-generator.d.ts +73 -0
  97. package/dist/sdks/kagent/k8s-resources-generator.d.ts.map +1 -0
  98. package/dist/sdks/kagent/k8s-resources-generator.js +286 -0
  99. package/dist/sdks/kagent/k8s-resources-generator.js.map +1 -0
  100. package/dist/sdks/kagent/types.d.ts +79 -0
  101. package/dist/sdks/kagent/types.d.ts.map +1 -1
  102. package/dist/sdks/shared/validation.d.ts +2 -2
  103. package/dist/services/cost-estimation/optimization-patterns.d.ts +23 -0
  104. package/dist/services/cost-estimation/optimization-patterns.d.ts.map +1 -0
  105. package/dist/services/cost-estimation/optimization-patterns.js +147 -0
  106. package/dist/services/cost-estimation/optimization-patterns.js.map +1 -0
  107. package/dist/services/cost-estimation/pricing.d.ts +29 -0
  108. package/dist/services/cost-estimation/pricing.d.ts.map +1 -0
  109. package/dist/services/cost-estimation/pricing.js +225 -0
  110. package/dist/services/cost-estimation/pricing.js.map +1 -0
  111. package/dist/services/cost-estimation/scenario-estimator.d.ts +59 -0
  112. package/dist/services/cost-estimation/scenario-estimator.d.ts.map +1 -0
  113. package/dist/services/cost-estimation/scenario-estimator.js +145 -0
  114. package/dist/services/cost-estimation/scenario-estimator.js.map +1 -0
  115. package/dist/services/cost-estimation/token-counter.service.d.ts +51 -0
  116. package/dist/services/cost-estimation/token-counter.service.d.ts.map +1 -0
  117. package/dist/services/cost-estimation/token-counter.service.js +125 -0
  118. package/dist/services/cost-estimation/token-counter.service.js.map +1 -0
  119. package/dist/services/dev-server/dev-server.service.d.ts +121 -0
  120. package/dist/services/dev-server/dev-server.service.d.ts.map +1 -0
  121. package/dist/services/dev-server/dev-server.service.js +290 -0
  122. package/dist/services/dev-server/dev-server.service.js.map +1 -0
  123. package/dist/services/dev-server/file-watcher.d.ts +101 -0
  124. package/dist/services/dev-server/file-watcher.d.ts.map +1 -0
  125. package/dist/services/dev-server/file-watcher.js +190 -0
  126. package/dist/services/dev-server/file-watcher.js.map +1 -0
  127. package/dist/services/dev-server/live-validator.d.ts +157 -0
  128. package/dist/services/dev-server/live-validator.d.ts.map +1 -0
  129. package/dist/services/dev-server/live-validator.js +301 -0
  130. package/dist/services/dev-server/live-validator.js.map +1 -0
  131. package/dist/services/dev-server/websocket-server.d.ts +137 -0
  132. package/dist/services/dev-server/websocket-server.d.ts.map +1 -0
  133. package/dist/services/dev-server/websocket-server.js +229 -0
  134. package/dist/services/dev-server/websocket-server.js.map +1 -0
  135. package/dist/services/export/anthropic/anthropic-exporter.d.ts +70 -0
  136. package/dist/services/export/anthropic/anthropic-exporter.d.ts.map +1 -0
  137. package/dist/services/export/anthropic/anthropic-exporter.js +576 -0
  138. package/dist/services/export/anthropic/anthropic-exporter.js.map +1 -0
  139. package/dist/services/export/anthropic/api-generator.d.ts +39 -0
  140. package/dist/services/export/anthropic/api-generator.d.ts.map +1 -0
  141. package/dist/services/export/anthropic/api-generator.js +395 -0
  142. package/dist/services/export/anthropic/api-generator.js.map +1 -0
  143. package/dist/services/export/anthropic/index.d.ts +18 -0
  144. package/dist/services/export/anthropic/index.d.ts.map +1 -0
  145. package/dist/services/export/anthropic/index.js +16 -0
  146. package/dist/services/export/anthropic/index.js.map +1 -0
  147. package/dist/services/export/anthropic/tools-generator.d.ts +35 -0
  148. package/dist/services/export/anthropic/tools-generator.d.ts.map +1 -0
  149. package/dist/services/export/anthropic/tools-generator.js +260 -0
  150. package/dist/services/export/anthropic/tools-generator.js.map +1 -0
  151. package/dist/services/export/langchain/api-generator.d.ts +17 -0
  152. package/dist/services/export/langchain/api-generator.d.ts.map +1 -0
  153. package/dist/services/export/langchain/api-generator.js +375 -0
  154. package/dist/services/export/langchain/api-generator.js.map +1 -0
  155. package/dist/services/export/langchain/callbacks-generator.d.ts +63 -0
  156. package/dist/services/export/langchain/callbacks-generator.d.ts.map +1 -0
  157. package/dist/services/export/langchain/callbacks-generator.js +408 -0
  158. package/dist/services/export/langchain/callbacks-generator.js.map +1 -0
  159. package/dist/services/export/langchain/error-handling-generator.d.ts +76 -0
  160. package/dist/services/export/langchain/error-handling-generator.d.ts.map +1 -0
  161. package/dist/services/export/langchain/error-handling-generator.js +522 -0
  162. package/dist/services/export/langchain/error-handling-generator.js.map +1 -0
  163. package/dist/services/export/langchain/index.d.ts +17 -0
  164. package/dist/services/export/langchain/index.d.ts.map +1 -0
  165. package/dist/services/export/langchain/index.js +13 -0
  166. package/dist/services/export/langchain/index.js.map +1 -0
  167. package/dist/services/export/langchain/langchain-exporter.d.ts +174 -0
  168. package/dist/services/export/langchain/langchain-exporter.d.ts.map +1 -0
  169. package/dist/services/export/langchain/langchain-exporter.js +953 -0
  170. package/dist/services/export/langchain/langchain-exporter.js.map +1 -0
  171. package/dist/services/export/langchain/langgraph-generator.d.ts +86 -0
  172. package/dist/services/export/langchain/langgraph-generator.d.ts.map +1 -0
  173. package/dist/services/export/langchain/langgraph-generator.js +473 -0
  174. package/dist/services/export/langchain/langgraph-generator.js.map +1 -0
  175. package/dist/services/export/langchain/langserve-generator.d.ts +95 -0
  176. package/dist/services/export/langchain/langserve-generator.d.ts.map +1 -0
  177. package/dist/services/export/langchain/langserve-generator.js +807 -0
  178. package/dist/services/export/langchain/langserve-generator.js.map +1 -0
  179. package/dist/services/export/langchain/memory-generator.d.ts +71 -0
  180. package/dist/services/export/langchain/memory-generator.d.ts.map +1 -0
  181. package/dist/services/export/langchain/memory-generator.js +1182 -0
  182. package/dist/services/export/langchain/memory-generator.js.map +1 -0
  183. package/dist/services/export/langchain/openapi-generator.d.ts +20 -0
  184. package/dist/services/export/langchain/openapi-generator.d.ts.map +1 -0
  185. package/dist/services/export/langchain/openapi-generator.js +364 -0
  186. package/dist/services/export/langchain/openapi-generator.js.map +1 -0
  187. package/dist/services/export/langchain/plan-execute-generator.d.ts +60 -0
  188. package/dist/services/export/langchain/plan-execute-generator.d.ts.map +1 -0
  189. package/dist/services/export/langchain/plan-execute-generator.js +679 -0
  190. package/dist/services/export/langchain/plan-execute-generator.js.map +1 -0
  191. package/dist/services/export/langchain/streaming-generator.d.ts +66 -0
  192. package/dist/services/export/langchain/streaming-generator.d.ts.map +1 -0
  193. package/dist/services/export/langchain/streaming-generator.js +749 -0
  194. package/dist/services/export/langchain/streaming-generator.js.map +1 -0
  195. package/dist/services/export/langchain/tools-generator.d.ts +67 -0
  196. package/dist/services/export/langchain/tools-generator.d.ts.map +1 -0
  197. package/dist/services/export/langchain/tools-generator.js +543 -0
  198. package/dist/services/export/langchain/tools-generator.js.map +1 -0
  199. package/dist/services/export/npm/express-generator.d.ts +23 -0
  200. package/dist/services/export/npm/express-generator.d.ts.map +1 -0
  201. package/dist/services/export/npm/express-generator.js +296 -0
  202. package/dist/services/export/npm/express-generator.js.map +1 -0
  203. package/dist/services/export/npm/index.d.ts +13 -0
  204. package/dist/services/export/npm/index.d.ts.map +1 -0
  205. package/dist/services/export/npm/index.js +11 -0
  206. package/dist/services/export/npm/index.js.map +1 -0
  207. package/dist/services/export/npm/npm-exporter.d.ts +142 -0
  208. package/dist/services/export/npm/npm-exporter.d.ts.map +1 -0
  209. package/dist/services/export/npm/npm-exporter.js +480 -0
  210. package/dist/services/export/npm/npm-exporter.js.map +1 -0
  211. package/dist/services/export/npm/openapi-generator.d.ts +19 -0
  212. package/dist/services/export/npm/openapi-generator.d.ts.map +1 -0
  213. package/dist/services/export/npm/openapi-generator.js +428 -0
  214. package/dist/services/export/npm/openapi-generator.js.map +1 -0
  215. package/dist/services/export/npm/package-json-generator.d.ts +31 -0
  216. package/dist/services/export/npm/package-json-generator.d.ts.map +1 -0
  217. package/dist/services/export/npm/package-json-generator.js +153 -0
  218. package/dist/services/export/npm/package-json-generator.js.map +1 -0
  219. package/dist/services/export/npm/typescript-generator.d.ts +69 -0
  220. package/dist/services/export/npm/typescript-generator.d.ts.map +1 -0
  221. package/dist/services/export/npm/typescript-generator.js +437 -0
  222. package/dist/services/export/npm/typescript-generator.js.map +1 -0
  223. package/dist/services/export/testing/index.d.ts +8 -0
  224. package/dist/services/export/testing/index.d.ts.map +1 -0
  225. package/dist/services/export/testing/index.js +7 -0
  226. package/dist/services/export/testing/index.js.map +1 -0
  227. package/dist/services/export/testing/test-generator.d.ts +178 -0
  228. package/dist/services/export/testing/test-generator.d.ts.map +1 -0
  229. package/dist/services/export/testing/test-generator.js +2542 -0
  230. package/dist/services/export/testing/test-generator.js.map +1 -0
  231. package/dist/services/test-runner/mock-llm.service.d.ts +77 -0
  232. package/dist/services/test-runner/mock-llm.service.d.ts.map +1 -0
  233. package/dist/services/test-runner/mock-llm.service.js +173 -0
  234. package/dist/services/test-runner/mock-llm.service.js.map +1 -0
  235. package/dist/services/test-runner/scenarios.d.ts +36 -0
  236. package/dist/services/test-runner/scenarios.d.ts.map +1 -0
  237. package/dist/services/test-runner/scenarios.js +196 -0
  238. package/dist/services/test-runner/scenarios.js.map +1 -0
  239. package/dist/services/test-runner/test-runner.service.d.ts +19 -1
  240. package/dist/services/test-runner/test-runner.service.d.ts.map +1 -1
  241. package/dist/services/test-runner/test-runner.service.js +72 -6
  242. package/dist/services/test-runner/test-runner.service.js.map +1 -1
  243. package/dist/services/validation/best-practices-validator.d.ts +84 -0
  244. package/dist/services/validation/best-practices-validator.d.ts.map +1 -0
  245. package/dist/services/validation/best-practices-validator.js +499 -0
  246. package/dist/services/validation/best-practices-validator.js.map +1 -0
  247. package/dist/services/validation/cost-estimator.d.ts +69 -0
  248. package/dist/services/validation/cost-estimator.d.ts.map +1 -0
  249. package/dist/services/validation/cost-estimator.js +221 -0
  250. package/dist/services/validation/cost-estimator.js.map +1 -0
  251. package/dist/services/validation/enhanced-validator.d.ts +78 -0
  252. package/dist/services/validation/enhanced-validator.d.ts.map +1 -0
  253. package/dist/services/validation/enhanced-validator.js +212 -0
  254. package/dist/services/validation/enhanced-validator.js.map +1 -0
  255. package/dist/services/validation/index.d.ts +13 -0
  256. package/dist/services/validation/index.d.ts.map +1 -0
  257. package/dist/services/validation/index.js +9 -0
  258. package/dist/services/validation/index.js.map +1 -0
  259. package/dist/services/validation/security-validator.d.ts +81 -0
  260. package/dist/services/validation/security-validator.d.ts.map +1 -0
  261. package/dist/services/validation/security-validator.js +328 -0
  262. package/dist/services/validation/security-validator.js.map +1 -0
  263. package/dist/services/wizard/prompts.d.ts +71 -0
  264. package/dist/services/wizard/prompts.d.ts.map +1 -0
  265. package/dist/services/wizard/prompts.js +322 -0
  266. package/dist/services/wizard/prompts.js.map +1 -0
  267. package/dist/services/wizard/wizard.service.d.ts +60 -0
  268. package/dist/services/wizard/wizard.service.d.ts.map +1 -0
  269. package/dist/services/wizard/wizard.service.js +261 -0
  270. package/dist/services/wizard/wizard.service.js.map +1 -0
  271. package/dist/types/personality.zod.d.ts +23 -23
  272. package/dist/utils/version.d.ts +1 -1
  273. package/dist/utils/version.js +1 -1
  274. package/dist/version-management/core/version-manager.test.js.map +1 -1
  275. package/dist/version.d.ts +62 -0
  276. package/dist/version.d.ts.map +1 -0
  277. package/dist/version.js +73 -0
  278. package/dist/version.js.map +1 -0
  279. package/examples/a2a/agent-handoff.ossa.yaml +1 -1
  280. package/examples/a2a/service-discovery.ossa.yaml +1 -1
  281. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  282. package/examples/adapters/drupal-eca-task.yaml +1 -1
  283. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  284. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  285. package/examples/adapters/mistral-agent.yaml +1 -1
  286. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  287. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  288. package/examples/adk-integration/code-review-workflow.yml +1 -1
  289. package/examples/adk-integration/customer-support.yml +1 -1
  290. package/examples/adk-integration/data-pipeline.yml +1 -1
  291. package/examples/advanced/reasoning-agent.yaml +1 -1
  292. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  293. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  294. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  295. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  296. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  297. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  298. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  299. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  300. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  301. package/examples/agents/01-customer-support-bot/.env.example +32 -0
  302. package/examples/agents/01-customer-support-bot/Dockerfile +30 -0
  303. package/examples/agents/01-customer-support-bot/README.md +295 -0
  304. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +172 -0
  305. package/examples/agents/01-customer-support-bot/docker-compose.yml +55 -0
  306. package/examples/agents/01-customer-support-bot/openapi.yaml +238 -0
  307. package/examples/agents/01-customer-support-bot/package.json +48 -0
  308. package/examples/agents/02-code-review-agent/README.md +72 -0
  309. package/examples/agents/02-code-review-agent/agent.ossa.yaml +239 -0
  310. package/examples/agents/02-code-review-agent/docker-compose.yml +22 -0
  311. package/examples/agents/02-code-review-agent/openapi.yaml +150 -0
  312. package/examples/agents/03-data-analysis-agent/README.md +51 -0
  313. package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +97 -0
  314. package/examples/agents/03-data-analysis-agent/openapi.yaml +74 -0
  315. package/examples/agents/04-content-moderator/README.md +55 -0
  316. package/examples/agents/04-content-moderator/agent.ossa.yaml +131 -0
  317. package/examples/agents/04-content-moderator/openapi.yaml +50 -0
  318. package/examples/agents/05-sales-assistant/README.md +37 -0
  319. package/examples/agents/05-sales-assistant/agent.ossa.yaml +146 -0
  320. package/examples/agents/05-sales-assistant/openapi.yaml +59 -0
  321. package/examples/agents/06-devops-agent/README.md +39 -0
  322. package/examples/agents/06-devops-agent/agent.ossa.yaml +141 -0
  323. package/examples/agents/06-devops-agent/openapi.yaml +51 -0
  324. package/examples/agents/07-research-assistant/README.md +31 -0
  325. package/examples/agents/07-research-assistant/agent.ossa.yaml +119 -0
  326. package/examples/agents/07-research-assistant/openapi.yaml +56 -0
  327. package/examples/agents/08-email-triage-agent/README.md +33 -0
  328. package/examples/agents/08-email-triage-agent/agent.ossa.yaml +133 -0
  329. package/examples/agents/08-email-triage-agent/openapi.yaml +41 -0
  330. package/examples/agents/09-security-scanner/README.md +49 -0
  331. package/examples/agents/09-security-scanner/agent.ossa.yaml +174 -0
  332. package/examples/agents/09-security-scanner/openapi.yaml +46 -0
  333. package/examples/agents/10-meeting-assistant/README.md +53 -0
  334. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +211 -0
  335. package/examples/agents/10-meeting-assistant/docker-compose.yml +27 -0
  336. package/examples/agents/10-meeting-assistant/openapi.yaml +131 -0
  337. package/examples/agents/COMPLETION_REPORT.txt +272 -0
  338. package/examples/agents/INDEX.md +296 -0
  339. package/examples/agents/README.md +452 -0
  340. package/examples/agents/SUMMARY.md +362 -0
  341. package/examples/agents/TEST_RESULTS.md +458 -0
  342. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  343. package/examples/agents/dependency-healer-npm.yaml +1 -1
  344. package/examples/agents/spec-healer-openapi.yaml +1 -1
  345. package/examples/agents/wiki-healer-production.yaml +1 -1
  346. package/examples/agents-md/code-agent.ossa.json +1 -1
  347. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  348. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  349. package/examples/autogen/multi-agent.ossa.json +1 -1
  350. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  351. package/examples/build-once-use-everywhere/agent.ossa.yaml +1 -1
  352. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  353. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  354. package/examples/common_npm/agent-router.ossa.yaml +2 -2
  355. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  356. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  357. package/examples/contracts/data-producer.ossa.yaml +1 -1
  358. package/examples/crewai/research-team.ossa.json +1 -1
  359. package/examples/cursor/code-review-agent.ossa.json +1 -1
  360. package/examples/drupal/QUICKSTART.md +439 -0
  361. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +1 -1
  362. package/examples/drupal/content-moderator.ossa.yaml +107 -0
  363. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +2 -2
  364. package/examples/economics/marketplace-agent.ossa.json +1 -1
  365. package/examples/export/langchain/production-agent-with-memory/README.md +373 -0
  366. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +97 -0
  367. package/examples/export/langchain/production-agent-with-streaming/README.md +617 -0
  368. package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +100 -0
  369. package/examples/export/langchain/production-agent-with-streaming/client-example.py +263 -0
  370. package/examples/export/langchain/production-agent-with-tools/README.md +296 -0
  371. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +216 -0
  372. package/examples/export/langchain-export-example.ts +246 -0
  373. package/examples/export/langserve-export-example.ts +246 -0
  374. package/examples/export/test-generation-example.ts +457 -0
  375. package/examples/extensions/agents-md-advanced.yml +1 -1
  376. package/examples/extensions/agents-md-basic.yml +1 -1
  377. package/examples/extensions/agents-md-sync.yml +1 -1
  378. package/examples/extensions/agents-md-v1.yml +1 -1
  379. package/examples/extensions/drupal-v1.yml +1 -1
  380. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  381. package/examples/extensions/kagent-v1.yml +1 -1
  382. package/examples/extensions/knowledge-sources.yaml +1 -1
  383. package/examples/extensions/mcp-full-featured.yaml +1 -1
  384. package/examples/genetics/breeding-agent.ossa.json +1 -1
  385. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  386. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  387. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  388. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  389. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  390. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  391. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
  392. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  393. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  394. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  395. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +2 -2
  396. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  397. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  398. package/examples/langchain/chain-agent.ossa.json +1 -1
  399. package/examples/langflow/workflow-agent.ossa.json +1 -1
  400. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  401. package/examples/lifecycle/mentoring-agent.ossa.json +1 -1
  402. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  403. package/examples/mcp/database-mcp.ossa.yaml +1 -1
  404. package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
  405. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  406. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  407. package/examples/messaging/routing-rules.ossa.yaml +1 -1
  408. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  409. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  410. package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +1 -1
  411. package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +1 -1
  412. package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +1 -1
  413. package/examples/migrations/langchain/04-config-based-after.ossa.yaml +1 -1
  414. package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +6 -6
  415. package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +3 -3
  416. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  417. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  418. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  419. package/examples/multi-agent-research-workflow.ossa.yaml +133 -0
  420. package/examples/multi-platform/single-manifest/agent.ossa.yaml +1 -1
  421. package/examples/npm-export-example.ts +150 -0
  422. package/examples/observability/activity-stream-full.yaml +1 -1
  423. package/examples/openai/basic-agent.ossa.yaml +1 -1
  424. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  425. package/examples/openai/swarm-agent.ossa.json +1 -1
  426. package/examples/ossa-templates/01-code-assistant.ossa.yaml +1 -1
  427. package/examples/ossa-templates/02-security-scanner.ossa.yaml +1 -1
  428. package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +1 -1
  429. package/examples/ossa-templates/04-code-reviewer.ossa.yaml +1 -1
  430. package/examples/ossa-templates/05-doc-generator.ossa.yaml +1 -1
  431. package/examples/ossa-templates/06-compliance-validator.ossa.yaml +1 -1
  432. package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +1 -1
  433. package/examples/ossa-templates/08-content-writer.ossa.yaml +1 -1
  434. package/examples/ossa-templates/09-test-generator.ossa.yaml +1 -1
  435. package/examples/ossa-templates/10-data-transformer.ossa.yaml +1 -1
  436. package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
  437. package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
  438. package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
  439. package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
  440. package/examples/production/document-analyzer-openai.yml +1 -1
  441. package/examples/production-ready/01-customer-support-bot/.env.example +32 -0
  442. package/examples/production-ready/01-customer-support-bot/Dockerfile +30 -0
  443. package/examples/production-ready/01-customer-support-bot/README.md +295 -0
  444. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +172 -0
  445. package/examples/production-ready/01-customer-support-bot/docker-compose.yml +55 -0
  446. package/examples/production-ready/01-customer-support-bot/openapi.yaml +238 -0
  447. package/examples/production-ready/01-customer-support-bot/package.json +48 -0
  448. package/examples/production-ready/02-code-review-agent/README.md +72 -0
  449. package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +239 -0
  450. package/examples/production-ready/02-code-review-agent/docker-compose.yml +22 -0
  451. package/examples/production-ready/02-code-review-agent/openapi.yaml +150 -0
  452. package/examples/production-ready/03-data-analysis-agent/README.md +51 -0
  453. package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +97 -0
  454. package/examples/production-ready/03-data-analysis-agent/openapi.yaml +74 -0
  455. package/examples/production-ready/04-content-moderator/README.md +55 -0
  456. package/examples/production-ready/04-content-moderator/agent.ossa.yaml +131 -0
  457. package/examples/production-ready/04-content-moderator/openapi.yaml +50 -0
  458. package/examples/production-ready/05-sales-assistant/README.md +37 -0
  459. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +146 -0
  460. package/examples/production-ready/05-sales-assistant/openapi.yaml +59 -0
  461. package/examples/production-ready/06-devops-agent/README.md +39 -0
  462. package/examples/production-ready/06-devops-agent/agent.ossa.yaml +141 -0
  463. package/examples/production-ready/06-devops-agent/openapi.yaml +51 -0
  464. package/examples/production-ready/07-research-assistant/README.md +31 -0
  465. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +119 -0
  466. package/examples/production-ready/07-research-assistant/openapi.yaml +56 -0
  467. package/examples/production-ready/08-email-triage-agent/README.md +33 -0
  468. package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +133 -0
  469. package/examples/production-ready/08-email-triage-agent/openapi.yaml +41 -0
  470. package/examples/production-ready/09-security-scanner/README.md +49 -0
  471. package/examples/production-ready/09-security-scanner/agent.ossa.yaml +174 -0
  472. package/examples/production-ready/09-security-scanner/openapi.yaml +46 -0
  473. package/examples/production-ready/10-meeting-assistant/README.md +53 -0
  474. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +211 -0
  475. package/examples/production-ready/10-meeting-assistant/docker-compose.yml +27 -0
  476. package/examples/production-ready/10-meeting-assistant/openapi.yaml +131 -0
  477. package/examples/production-ready/COMPLETION_REPORT.txt +272 -0
  478. package/examples/production-ready/INDEX.md +296 -0
  479. package/examples/production-ready/README.md +452 -0
  480. package/examples/production-ready/SUMMARY.md +362 -0
  481. package/examples/production-ready/TEST_RESULTS.md +458 -0
  482. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  483. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  484. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  485. package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
  486. package/examples/registry/agents/security-scanner/agent.yaml +1 -1
  487. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  488. package/examples/schema/reusable-components.yaml +1 -1
  489. package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
  490. package/examples/showcase/code-assistant.ossa.yaml +1 -1
  491. package/examples/showcase/code-reviewer.ossa.yaml +1 -1
  492. package/examples/showcase/compliance-validator.ossa.yaml +1 -1
  493. package/examples/showcase/content-writer.ossa.yaml +1 -1
  494. package/examples/showcase/data-transformer.ossa.yaml +1 -1
  495. package/examples/showcase/doc-generator.ossa.yaml +1 -1
  496. package/examples/showcase/security-scanner.ossa.yaml +1 -1
  497. package/examples/showcase/test-generator.ossa.yaml +1 -1
  498. package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
  499. package/examples/skills-example.ossa.yaml +140 -0
  500. package/examples/swarm/pso-optimizer.ossa.json +1 -1
  501. package/examples/tasks/batch-email-sender.yaml +1 -1
  502. package/examples/tasks/data-transform.yaml +1 -1
  503. package/examples/tasks/publish-content.yaml +1 -1
  504. package/examples/templates/ossa-compliance.yaml +1 -1
  505. package/examples/unified/security-scanner.ossa.yaml +1 -1
  506. package/examples/v0.3.6-features/genetics-breeding-advanced.ossa.yaml +1 -1
  507. package/examples/v0.3.6-features/genetics-breeding-simple.ossa.yaml +1 -1
  508. package/examples/v0.3.6-features/genetics-fitness-scoring.ossa.yaml +1 -1
  509. package/examples/vercel/edge-agent.ossa.json +1 -1
  510. package/examples/workflows/batch-email-campaign.yaml +1 -1
  511. package/examples/workflows/content-review-publish.yaml +1 -1
  512. package/examples/workflows/simple-etl.yaml +1 -1
  513. package/openapi/cli/openapi.yaml +221 -5
  514. package/package.json +31 -9
  515. package/dist/cli/commands/export-v2.command.d.ts +0 -7
  516. package/dist/cli/commands/export-v2.command.d.ts.map +0 -1
  517. package/dist/cli/commands/export-v2.command.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  # OSSA Agent with OpenAI Bridge Configuration Example
2
2
  # Document Analyzer Agent - Proof of Concept
3
3
 
4
- apiVersion: ossa/v0.3.5
4
+ apiVersion: ossa/v0.4.1
5
5
  kind: Agent
6
6
  metadata:
7
7
  name: document-analyzer
@@ -0,0 +1,32 @@
1
+ # OpenAI Configuration
2
+ OPENAI_API_KEY=sk-...
3
+
4
+ # Redis Configuration
5
+ REDIS_URL=redis://localhost:6379
6
+
7
+ # Server Configuration
8
+ PORT=8080
9
+ NODE_ENV=development
10
+
11
+ # Logging
12
+ LOG_LEVEL=info
13
+
14
+ # Metrics
15
+ METRICS_ENABLED=true
16
+ METRICS_PORT=9090
17
+
18
+ # Observability
19
+ OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
20
+ TRACING_ENABLED=true
21
+
22
+ # Rate Limiting
23
+ RATE_LIMIT_MAX=100
24
+ RATE_LIMIT_WINDOW_MS=60000
25
+
26
+ # Security
27
+ ENABLE_PII_REDACTION=true
28
+ ENABLE_INPUT_VALIDATION=true
29
+
30
+ # Feature Flags
31
+ ENABLE_TICKET_CREATION=true
32
+ ENABLE_EMAIL_SENDING=true
@@ -0,0 +1,30 @@
1
+ FROM node:18-alpine AS base
2
+
3
+ # Install Python for LangChain
4
+ RUN apk add --no-cache python3 py3-pip
5
+
6
+ WORKDIR /app
7
+
8
+ # Copy package files
9
+ COPY package*.json ./
10
+ COPY requirements.txt ./
11
+
12
+ # Install dependencies
13
+ RUN npm ci --only=production
14
+ RUN pip3 install --no-cache-dir -r requirements.txt
15
+
16
+ # Copy application
17
+ COPY . .
18
+
19
+ # Build TypeScript
20
+ RUN npm run build
21
+
22
+ # Expose port
23
+ EXPOSE 8080
24
+
25
+ # Health check
26
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
27
+ CMD node healthcheck.js || exit 1
28
+
29
+ # Run application
30
+ CMD ["node", "dist/index.js"]
@@ -0,0 +1,295 @@
1
+ # Customer Support Bot
2
+
3
+ Production-ready customer support agent built with OSSA v0.3.6 and exported to LangChain.
4
+
5
+ ## Features
6
+
7
+ - Multi-turn conversations with memory
8
+ - Documentation search integration
9
+ - Automated ticket creation
10
+ - Email notifications
11
+ - PII redaction and safety filters
12
+ - OpenTelemetry observability
13
+ - Redis-backed session persistence
14
+
15
+ ## Prerequisites
16
+
17
+ - Docker and Docker Compose
18
+ - Node.js 18+ (for local development)
19
+ - Python 3.9+ (for LangChain)
20
+ - OpenAI API key
21
+ - Redis instance
22
+
23
+ ## Quick Start
24
+
25
+ ### Using Docker Compose (Recommended)
26
+
27
+ ```bash
28
+ # Set your OpenAI API key
29
+ export OPENAI_API_KEY=sk-...
30
+
31
+ # Start all services
32
+ docker-compose up -d
33
+
34
+ # View logs
35
+ docker-compose logs -f customer-support-bot
36
+
37
+ # Health check
38
+ curl http://localhost:8080/v1/health
39
+ ```
40
+
41
+ ### Local Development
42
+
43
+ ```bash
44
+ # Install dependencies
45
+ npm install
46
+ pip install -r requirements.txt
47
+
48
+ # Set environment variables
49
+ cp .env.example .env
50
+ # Edit .env with your configuration
51
+
52
+ # Build TypeScript
53
+ npm run build
54
+
55
+ # Start development server
56
+ npm run dev
57
+ ```
58
+
59
+ ## Usage
60
+
61
+ ### Send a message
62
+
63
+ ```bash
64
+ curl -X POST http://localhost:8080/v1/chat \
65
+ -H "Content-Type: application/json" \
66
+ -d '{
67
+ "message": "How do I reset my password?",
68
+ "sessionId": "sess_123",
69
+ "userId": "user_456"
70
+ }'
71
+ ```
72
+
73
+ ### Get conversation history
74
+
75
+ ```bash
76
+ curl http://localhost:8080/v1/session/sess_123/history
77
+ ```
78
+
79
+ ### Create a ticket
80
+
81
+ ```bash
82
+ curl -X POST http://localhost:8080/v1/tickets \
83
+ -H "Content-Type: application/json" \
84
+ -d '{
85
+ "title": "Login issue",
86
+ "description": "Unable to access account after password reset",
87
+ "priority": "high",
88
+ "category": "technical"
89
+ }'
90
+ ```
91
+
92
+ ## OSSA Export
93
+
94
+ This agent is defined in OSSA format and can be exported to multiple platforms:
95
+
96
+ ### Export to LangChain (Python)
97
+
98
+ ```bash
99
+ ossa export agent.ossa.yaml --platform langchain --output customer_support.py
100
+ ```
101
+
102
+ Generated file: `customer_support.py`
103
+
104
+ ```python
105
+ from langchain.agents import create_react_agent
106
+ from langchain_openai import ChatOpenAI
107
+ from langchain.memory import ConversationBufferMemory
108
+ from langchain.tools import Tool
109
+
110
+ # Auto-generated from OSSA manifest
111
+ class CustomerSupportAgent:
112
+ def __init__(self):
113
+ self.llm = ChatOpenAI(model="gpt-4o", temperature=0.7)
114
+ self.memory = ConversationBufferMemory(memory_key="chat_history")
115
+ self.tools = [
116
+ Tool(name="search_docs", func=self.search_docs, ...),
117
+ Tool(name="create_ticket", func=self.create_ticket, ...),
118
+ Tool(name="send_email", func=self.send_email, ...)
119
+ ]
120
+ self.agent = create_react_agent(self.llm, self.tools, ...)
121
+ ```
122
+
123
+ ### Export to LangChain (TypeScript)
124
+
125
+ ```bash
126
+ ossa export agent.ossa.yaml --platform langchain-js --output customer-support.ts
127
+ ```
128
+
129
+ ### Export to npm package
130
+
131
+ ```bash
132
+ ossa export agent.ossa.yaml --platform npm --output dist/
133
+ ```
134
+
135
+ ## Architecture
136
+
137
+ ```
138
+ ┌─────────────┐
139
+ │ Client │
140
+ └──────┬──────┘
141
+
142
+
143
+ ┌─────────────────────┐
144
+ │ Express API │
145
+ │ (OpenAPI 3.1) │
146
+ └──────┬──────────────┘
147
+
148
+
149
+ ┌─────────────────────┐
150
+ │ OSSA Agent Runtime │
151
+ │ - LangChain Agent │
152
+ │ - Memory Manager │
153
+ │ - Tool Executor │
154
+ └──────┬──────────────┘
155
+
156
+ ├───► Redis (Memory)
157
+
158
+ ├───► OpenAI (LLM)
159
+
160
+ └───► Tools (Docs, Tickets, Email)
161
+ ```
162
+
163
+ ## Configuration
164
+
165
+ ### Environment Variables
166
+
167
+ | Variable | Description | Required |
168
+ |----------|-------------|----------|
169
+ | `OPENAI_API_KEY` | OpenAI API key | Yes |
170
+ | `REDIS_URL` | Redis connection URL | Yes |
171
+ | `LOG_LEVEL` | Logging level (debug, info, warn, error) | No (default: info) |
172
+ | `METRICS_ENABLED` | Enable Prometheus metrics | No (default: true) |
173
+ | `NODE_ENV` | Environment (development, production) | No (default: development) |
174
+
175
+ ### Memory Configuration
176
+
177
+ The agent uses conversation buffer memory with Redis persistence:
178
+
179
+ ```yaml
180
+ memory:
181
+ type: conversation_buffer
182
+ window_size: 10 # Keep last 10 messages
183
+ persistence:
184
+ backend: redis
185
+ ttl: 86400 # 24 hours
186
+ ```
187
+
188
+ ### Safety Configuration
189
+
190
+ Built-in safety features:
191
+
192
+ - PII detection and redaction
193
+ - Profanity filtering
194
+ - Hallucination checking
195
+ - Tone analysis
196
+
197
+ ## Monitoring
198
+
199
+ ### Metrics
200
+
201
+ Access Prometheus metrics at `http://localhost:9090/metrics`:
202
+
203
+ - `conversations_total` - Total conversations handled
204
+ - `tickets_created` - Number of tickets created
205
+ - `emails_sent` - Number of emails sent
206
+ - `response_time` - Average response time
207
+
208
+ ### Logs
209
+
210
+ Structured JSON logs are written to `./logs/`:
211
+
212
+ ```json
213
+ {
214
+ "level": "info",
215
+ "timestamp": "2026-02-02T12:00:00Z",
216
+ "sessionId": "sess_123",
217
+ "action": "message_received",
218
+ "userId": "user_456"
219
+ }
220
+ ```
221
+
222
+ ### Tracing
223
+
224
+ OpenTelemetry traces are exported for distributed tracing.
225
+
226
+ ## Testing
227
+
228
+ ```bash
229
+ # Run unit tests
230
+ npm test
231
+
232
+ # Run integration tests
233
+ npm run test:integration
234
+
235
+ # Test OSSA manifest validation
236
+ ossa validate agent.ossa.yaml
237
+ ```
238
+
239
+ ## Production Deployment
240
+
241
+ ### Kubernetes
242
+
243
+ ```bash
244
+ # Apply Kubernetes manifests
245
+ kubectl apply -f k8s/
246
+
247
+ # Check deployment status
248
+ kubectl get pods -l app=customer-support-bot
249
+
250
+ # View logs
251
+ kubectl logs -f deployment/customer-support-bot
252
+ ```
253
+
254
+ ### Scaling
255
+
256
+ The agent is stateless (session data in Redis) and can be horizontally scaled:
257
+
258
+ ```bash
259
+ docker-compose up -d --scale customer-support-bot=3
260
+ ```
261
+
262
+ ## Troubleshooting
263
+
264
+ ### Agent not responding
265
+
266
+ Check Redis connection:
267
+ ```bash
268
+ docker-compose logs redis
269
+ redis-cli ping
270
+ ```
271
+
272
+ ### High latency
273
+
274
+ Check OpenAI API status and rate limits:
275
+ ```bash
276
+ curl -H "Authorization: Bearer $OPENAI_API_KEY" \
277
+ https://api.openai.com/v1/models
278
+ ```
279
+
280
+ ### Memory issues
281
+
282
+ Clear Redis cache:
283
+ ```bash
284
+ redis-cli FLUSHDB
285
+ ```
286
+
287
+ ## License
288
+
289
+ Apache-2.0
290
+
291
+ ## Support
292
+
293
+ For issues and questions:
294
+ - GitHub Issues: https://github.com/org/repo/issues
295
+ - Email: support@techcorp.com
@@ -0,0 +1,172 @@
1
+ apiVersion: ossa/v0.4.1
2
+ kind: Agent
3
+ metadata:
4
+ name: customer-support-bot
5
+ version: 1.0.0
6
+ description: |
7
+ Production customer support agent with memory, multi-channel support, and ticket creation.
8
+ Handles customer inquiries, searches documentation, creates tickets, and sends follow-up emails.
9
+ labels:
10
+ platform: langchain
11
+ export: langchain
12
+ use-case: customer-support
13
+ tier: production
14
+ spec:
15
+ role: |
16
+ You are a professional customer support agent for TechCorp. Your responsibilities:
17
+
18
+ 1. Answer customer questions accurately and professionally
19
+ 2. Search documentation to provide accurate technical information
20
+ 3. Create support tickets for issues requiring human intervention
21
+ 4. Send follow-up emails to keep customers informed
22
+ 5. Maintain conversation context to provide personalized support
23
+
24
+ Communication style:
25
+ - Professional, friendly, and empathetic
26
+ - Clear and concise explanations
27
+ - Proactive in offering solutions
28
+ - Transparent about limitations
29
+
30
+ llm:
31
+ provider: openai
32
+ model: gpt-4o
33
+ temperature: 0.7
34
+ maxTokens: 1500
35
+
36
+ capabilities:
37
+ - search_documentation
38
+ - create_ticket
39
+ - send_email
40
+ - conversation_memory
41
+
42
+ tools:
43
+ - type: function
44
+ name: search_docs
45
+ description: Search the knowledge base for relevant documentation
46
+ parameters:
47
+ type: object
48
+ properties:
49
+ query:
50
+ type: string
51
+ description: Search query for documentation
52
+ max_results:
53
+ type: integer
54
+ description: Maximum number of results to return
55
+ default: 5
56
+ required:
57
+ - query
58
+
59
+ - type: function
60
+ name: create_ticket
61
+ description: Create a support ticket for issues requiring human attention
62
+ parameters:
63
+ type: object
64
+ properties:
65
+ title:
66
+ type: string
67
+ description: Brief title of the issue
68
+ description:
69
+ type: string
70
+ description: Detailed description of the issue
71
+ priority:
72
+ type: string
73
+ enum: [low, medium, high, urgent]
74
+ description: Priority level of the ticket
75
+ category:
76
+ type: string
77
+ description: Category (billing, technical, account, etc.)
78
+ required:
79
+ - title
80
+ - description
81
+ - priority
82
+
83
+ - type: function
84
+ name: send_email
85
+ description: Send follow-up email to customer
86
+ parameters:
87
+ type: object
88
+ properties:
89
+ to:
90
+ type: string
91
+ description: Customer email address
92
+ subject:
93
+ type: string
94
+ description: Email subject line
95
+ body:
96
+ type: string
97
+ description: Email body content
98
+ template:
99
+ type: string
100
+ description: Email template to use
101
+ enum: [follow_up, resolution, escalation]
102
+ required:
103
+ - to
104
+ - subject
105
+ - body
106
+
107
+ autonomy:
108
+ level: supervised
109
+ approval_required: false
110
+ escalation_rules:
111
+ - condition: priority == 'urgent'
112
+ action: notify_human
113
+ - condition: ticket_count > 3
114
+ action: escalate
115
+
116
+ memory:
117
+ enabled: true
118
+ type: conversation_buffer
119
+ window_size: 10
120
+ persistence:
121
+ enabled: true
122
+ backend: redis
123
+ ttl: 86400
124
+
125
+ safety:
126
+ input_filters:
127
+ - type: pii_detection
128
+ action: redact
129
+ - type: profanity_filter
130
+ action: reject
131
+ output_validation:
132
+ - type: hallucination_check
133
+ threshold: 0.8
134
+ - type: tone_analysis
135
+ required_sentiment: [positive, neutral]
136
+
137
+ observability:
138
+ logging:
139
+ level: info
140
+ format: json
141
+ include_pii: false
142
+ metrics:
143
+ enabled: true
144
+ port: 9090
145
+ metrics:
146
+ - conversations_total
147
+ - tickets_created
148
+ - emails_sent
149
+ - response_time
150
+ tracing:
151
+ enabled: true
152
+ provider: opentelemetry
153
+
154
+ extensions:
155
+ langchain:
156
+ agent_type: react
157
+ memory_type: conversation_buffer
158
+ chain_type: conversation
159
+ tools_mapping:
160
+ - ossa_capability: search_documentation
161
+ langchain_tool: search_docs
162
+ tool_class: CustomSearchTool
163
+ - ossa_capability: create_ticket
164
+ langchain_tool: create_ticket
165
+ tool_class: TicketingTool
166
+ - ossa_capability: send_email
167
+ langchain_tool: send_email
168
+ tool_class: EmailTool
169
+ export_config:
170
+ format: python
171
+ include_dependencies: true
172
+ output_file: customer_support_agent.py
@@ -0,0 +1,55 @@
1
+ version: '3.8'
2
+
3
+ services:
4
+ customer-support-bot:
5
+ build: .
6
+ container_name: customer-support-bot
7
+ ports:
8
+ - "8080:8080"
9
+ - "9090:9090" # Metrics
10
+ environment:
11
+ - NODE_ENV=production
12
+ - OPENAI_API_KEY=${OPENAI_API_KEY}
13
+ - REDIS_URL=redis://redis:6379
14
+ - LOG_LEVEL=info
15
+ - METRICS_ENABLED=true
16
+ depends_on:
17
+ - redis
18
+ restart: unless-stopped
19
+ networks:
20
+ - support-network
21
+ volumes:
22
+ - ./logs:/app/logs
23
+
24
+ redis:
25
+ image: redis:7-alpine
26
+ container_name: support-redis
27
+ ports:
28
+ - "6379:6379"
29
+ volumes:
30
+ - redis-data:/data
31
+ restart: unless-stopped
32
+ networks:
33
+ - support-network
34
+
35
+ prometheus:
36
+ image: prom/prometheus:latest
37
+ container_name: support-prometheus
38
+ ports:
39
+ - "9091:9090"
40
+ volumes:
41
+ - ./prometheus.yml:/etc/prometheus/prometheus.yml
42
+ - prometheus-data:/prometheus
43
+ command:
44
+ - '--config.file=/etc/prometheus/prometheus.yml'
45
+ restart: unless-stopped
46
+ networks:
47
+ - support-network
48
+
49
+ networks:
50
+ support-network:
51
+ driver: bridge
52
+
53
+ volumes:
54
+ redis-data:
55
+ prometheus-data: