lua-cli 3.5.0-alpha.3 → 3.5.0-beta.1

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 (465) hide show
  1. package/README.md +137 -689
  2. package/dist/api/agent.api.service.d.ts +1 -8
  3. package/dist/api/agent.api.service.js +1 -11
  4. package/dist/api/agent.api.service.js.map +1 -1
  5. package/dist/api/auth.api.service.d.ts +1 -1
  6. package/dist/api/auth.api.service.js +1 -1
  7. package/dist/api/auth.api.service.js.map +1 -1
  8. package/dist/api/backup.api.service.d.ts +80 -0
  9. package/dist/api/backup.api.service.js +101 -0
  10. package/dist/api/backup.api.service.js.map +1 -0
  11. package/dist/api/basket.api.service.d.ts +4 -5
  12. package/dist/api/basket.api.service.js +13 -18
  13. package/dist/api/basket.api.service.js.map +1 -1
  14. package/dist/api/cdn.api.service.d.ts +2 -0
  15. package/dist/api/cdn.api.service.js +2 -0
  16. package/dist/api/cdn.api.service.js.map +1 -1
  17. package/dist/api/chat.api.service.d.ts +10 -2
  18. package/dist/api/chat.api.service.js +21 -2
  19. package/dist/api/chat.api.service.js.map +1 -1
  20. package/dist/api/credentials.js +5 -8
  21. package/dist/api/credentials.js.map +1 -1
  22. package/dist/api/custom.data.api.service.d.ts +3 -3
  23. package/dist/api/custom.data.api.service.js +9 -10
  24. package/dist/api/custom.data.api.service.js.map +1 -1
  25. package/dist/api/developer.api.service.d.ts +1 -1
  26. package/dist/api/developer.api.service.js +1 -1
  27. package/dist/api/developer.api.service.js.map +1 -1
  28. package/dist/api/http.client.js.map +1 -0
  29. package/dist/api/job.api.service.d.ts +2 -2
  30. package/dist/api/job.api.service.js +2 -2
  31. package/dist/api/job.api.service.js.map +1 -1
  32. package/dist/api/logs.api.service.d.ts +1 -1
  33. package/dist/api/logs.api.service.js +1 -1
  34. package/dist/api/logs.api.service.js.map +1 -1
  35. package/dist/api/marketplace.api.service.d.ts +6 -6
  36. package/dist/api/marketplace.api.service.js.map +1 -1
  37. package/dist/api/order.api.service.d.ts +3 -4
  38. package/dist/api/order.api.service.js +8 -10
  39. package/dist/api/order.api.service.js.map +1 -1
  40. package/dist/api/persona.api.service.d.ts +1 -1
  41. package/dist/api/persona.api.service.js +1 -1
  42. package/dist/api/persona.api.service.js.map +1 -1
  43. package/dist/api/postprocessor.api.service.d.ts +1 -1
  44. package/dist/api/postprocessor.api.service.js +1 -1
  45. package/dist/api/postprocessor.api.service.js.map +1 -1
  46. package/dist/api/preprocessor.api.service.d.ts +1 -1
  47. package/dist/api/preprocessor.api.service.js +1 -1
  48. package/dist/api/preprocessor.api.service.js.map +1 -1
  49. package/dist/api/products.api.service.d.ts +4 -4
  50. package/dist/api/products.api.service.js +6 -6
  51. package/dist/api/products.api.service.js.map +1 -1
  52. package/dist/api/resource.api.service.d.ts +76 -0
  53. package/dist/api/resource.api.service.js +74 -0
  54. package/dist/api/resource.api.service.js.map +1 -0
  55. package/dist/api/skills.api.service.d.ts +7 -15
  56. package/dist/api/skills.api.service.js +1 -1
  57. package/dist/api/skills.api.service.js.map +1 -1
  58. package/dist/api/tool.api.service.d.ts +1 -1
  59. package/dist/api/tool.api.service.js +1 -1
  60. package/dist/api/tool.api.service.js.map +1 -1
  61. package/dist/api/unifiedto.api.service.d.ts +1 -1
  62. package/dist/api/unifiedto.api.service.js +1 -1
  63. package/dist/api/unifiedto.api.service.js.map +1 -1
  64. package/dist/api/user.data.api.service.d.ts +7 -8
  65. package/dist/api/user.data.api.service.js +2 -3
  66. package/dist/api/user.data.api.service.js.map +1 -1
  67. package/dist/api/webhook.api.service.d.ts +1 -1
  68. package/dist/api/webhook.api.service.js +1 -1
  69. package/dist/api/webhook.api.service.js.map +1 -1
  70. package/dist/api/whatsapp-templates.api.service.d.ts +1 -1
  71. package/dist/api/whatsapp-templates.api.service.js +1 -1
  72. package/dist/api/whatsapp-templates.api.service.js.map +1 -1
  73. package/dist/api-exports.d.ts +14 -12
  74. package/dist/api-exports.js +8 -8
  75. package/dist/api-exports.js.map +1 -1
  76. package/dist/cli/command-definitions.js +32 -17
  77. package/dist/cli/command-definitions.js.map +1 -1
  78. package/dist/commands/admin.js +3 -24
  79. package/dist/commands/admin.js.map +1 -1
  80. package/dist/commands/agents.d.ts +8 -7
  81. package/dist/commands/agents.js +63 -21
  82. package/dist/commands/agents.js.map +1 -1
  83. package/dist/commands/channels.js +11 -23
  84. package/dist/commands/channels.js.map +1 -1
  85. package/dist/commands/chat.js +33 -47
  86. package/dist/commands/chat.js.map +1 -1
  87. package/dist/commands/chatClear.js +11 -41
  88. package/dist/commands/chatClear.js.map +1 -1
  89. package/dist/commands/compile.d.ts +26 -23
  90. package/dist/commands/compile.js +98 -403
  91. package/dist/commands/compile.js.map +1 -1
  92. package/dist/commands/completion.js +1 -1
  93. package/dist/commands/completion.js.map +1 -1
  94. package/dist/commands/deploy.js +55 -25
  95. package/dist/commands/deploy.js.map +1 -1
  96. package/dist/commands/dev.js +29 -45
  97. package/dist/commands/dev.js.map +1 -1
  98. package/dist/commands/env.js +12 -25
  99. package/dist/commands/env.js.map +1 -1
  100. package/dist/commands/evals.js +3 -20
  101. package/dist/commands/evals.js.map +1 -1
  102. package/dist/commands/features.js +10 -23
  103. package/dist/commands/features.js.map +1 -1
  104. package/dist/commands/index.d.ts +1 -0
  105. package/dist/commands/index.js +1 -0
  106. package/dist/commands/index.js.map +1 -1
  107. package/dist/commands/init.d.ts +1 -0
  108. package/dist/commands/init.js +135 -19
  109. package/dist/commands/init.js.map +1 -1
  110. package/dist/commands/integrations.js +26 -37
  111. package/dist/commands/integrations.js.map +1 -1
  112. package/dist/commands/jobs.js +32 -56
  113. package/dist/commands/jobs.js.map +1 -1
  114. package/dist/commands/logs.js +9 -20
  115. package/dist/commands/logs.js.map +1 -1
  116. package/dist/commands/marketplace.js +34 -52
  117. package/dist/commands/marketplace.js.map +1 -1
  118. package/dist/commands/mcp.js +10 -23
  119. package/dist/commands/mcp.js.map +1 -1
  120. package/dist/commands/persona.js +43 -74
  121. package/dist/commands/persona.js.map +1 -1
  122. package/dist/commands/postprocessors.js +15 -28
  123. package/dist/commands/postprocessors.js.map +1 -1
  124. package/dist/commands/preprocessors.js +15 -28
  125. package/dist/commands/preprocessors.js.map +1 -1
  126. package/dist/commands/production.js +30 -63
  127. package/dist/commands/production.js.map +1 -1
  128. package/dist/commands/push.js +294 -1241
  129. package/dist/commands/push.js.map +1 -1
  130. package/dist/commands/pushBackup.d.ts +22 -0
  131. package/dist/commands/pushBackup.js +133 -0
  132. package/dist/commands/pushBackup.js.map +1 -0
  133. package/dist/commands/resources.js +29 -72
  134. package/dist/commands/resources.js.map +1 -1
  135. package/dist/commands/skills.d.ts +1 -1
  136. package/dist/commands/skills.js +58 -70
  137. package/dist/commands/skills.js.map +1 -1
  138. package/dist/commands/sync.d.ts +1 -3
  139. package/dist/commands/sync.js +12 -24
  140. package/dist/commands/sync.js.map +1 -1
  141. package/dist/commands/test.js +135 -104
  142. package/dist/commands/test.js.map +1 -1
  143. package/dist/commands/webhooks.js +15 -28
  144. package/dist/commands/webhooks.js.map +1 -1
  145. package/dist/compiler/agent-traverser.d.ts +104 -0
  146. package/dist/compiler/agent-traverser.js +311 -0
  147. package/dist/compiler/agent-traverser.js.map +1 -0
  148. package/dist/compiler/bundler.d.ts +42 -0
  149. package/dist/compiler/bundler.js +187 -0
  150. package/dist/compiler/bundler.js.map +1 -0
  151. package/dist/compiler/compiler.d.ts +177 -0
  152. package/dist/compiler/compiler.js +580 -0
  153. package/dist/compiler/compiler.js.map +1 -0
  154. package/dist/compiler/index.d.ts +36 -0
  155. package/dist/compiler/index.js +42 -0
  156. package/dist/compiler/index.js.map +1 -0
  157. package/dist/compiler/plugins/base.d.ts +264 -0
  158. package/dist/compiler/plugins/base.js +307 -0
  159. package/dist/compiler/plugins/base.js.map +1 -0
  160. package/dist/compiler/plugins/job.plugin.d.ts +33 -0
  161. package/dist/compiler/plugins/job.plugin.js +143 -0
  162. package/dist/compiler/plugins/job.plugin.js.map +1 -0
  163. package/dist/compiler/plugins/mcp-server.plugin.d.ts +50 -0
  164. package/dist/compiler/plugins/mcp-server.plugin.js +186 -0
  165. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -0
  166. package/dist/compiler/plugins/postprocessor.plugin.d.ts +20 -0
  167. package/dist/compiler/plugins/postprocessor.plugin.js +39 -0
  168. package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -0
  169. package/dist/compiler/plugins/preprocessor.plugin.d.ts +20 -0
  170. package/dist/compiler/plugins/preprocessor.plugin.js +48 -0
  171. package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -0
  172. package/dist/compiler/plugins/processor-base.d.ts +16 -0
  173. package/dist/compiler/plugins/processor-base.js +34 -0
  174. package/dist/compiler/plugins/processor-base.js.map +1 -0
  175. package/dist/compiler/plugins/registry.d.ts +61 -0
  176. package/dist/compiler/plugins/registry.js +107 -0
  177. package/dist/compiler/plugins/registry.js.map +1 -0
  178. package/dist/compiler/plugins/skill.plugin.d.ts +71 -0
  179. package/dist/compiler/plugins/skill.plugin.js +243 -0
  180. package/dist/compiler/plugins/skill.plugin.js.map +1 -0
  181. package/dist/compiler/plugins/tool.plugin.d.ts +67 -0
  182. package/dist/compiler/plugins/tool.plugin.js +279 -0
  183. package/dist/compiler/plugins/tool.plugin.js.map +1 -0
  184. package/dist/compiler/plugins/webhook.plugin.d.ts +37 -0
  185. package/dist/compiler/plugins/webhook.plugin.js +127 -0
  186. package/dist/compiler/plugins/webhook.plugin.js.map +1 -0
  187. package/dist/compiler/source-writer.d.ts +98 -0
  188. package/dist/compiler/source-writer.js +223 -0
  189. package/dist/compiler/source-writer.js.map +1 -0
  190. package/dist/compiler/types.d.ts +289 -0
  191. package/dist/compiler/types.js +20 -0
  192. package/dist/compiler/types.js.map +1 -0
  193. package/dist/compiler/utils/ast-helpers.d.ts +57 -0
  194. package/dist/compiler/utils/ast-helpers.js +164 -0
  195. package/dist/compiler/utils/ast-helpers.js.map +1 -0
  196. package/dist/compiler/utils/common.d.ts +23 -0
  197. package/dist/compiler/utils/common.js +66 -0
  198. package/dist/compiler/utils/common.js.map +1 -0
  199. package/dist/compiler/utils/file-discovery.d.ts +34 -0
  200. package/dist/compiler/utils/file-discovery.js +68 -0
  201. package/dist/compiler/utils/file-discovery.js.map +1 -0
  202. package/dist/compiler/utils/path-resolver.d.ts +25 -0
  203. package/dist/compiler/utils/path-resolver.js +66 -0
  204. package/dist/compiler/utils/path-resolver.js.map +1 -0
  205. package/dist/compiler/utils/schema-converter.d.ts +26 -0
  206. package/dist/compiler/utils/schema-converter.js +94 -0
  207. package/dist/compiler/utils/schema-converter.js.map +1 -0
  208. package/dist/config/compile.constants.d.ts +2 -22
  209. package/dist/config/compile.constants.js +2 -49
  210. package/dist/config/compile.constants.js.map +1 -1
  211. package/dist/config/constants.d.ts +18 -2
  212. package/dist/config/constants.js +28 -8
  213. package/dist/config/constants.js.map +1 -1
  214. package/dist/config/dev.constants.d.ts +0 -10
  215. package/dist/config/dev.constants.js +0 -10
  216. package/dist/config/dev.constants.js.map +1 -1
  217. package/dist/index.js +7 -0
  218. package/dist/index.js.map +1 -1
  219. package/dist/instances/basket.instance.js.map +1 -0
  220. package/dist/instances/data.entry.instance.js.map +1 -0
  221. package/dist/instances/job.instance.js.map +1 -0
  222. package/dist/instances/order.instance.js.map +1 -0
  223. package/dist/instances/product.instance.js.map +1 -0
  224. package/dist/instances/product.pagination.instance.js.map +1 -0
  225. package/dist/instances/product.search.instance.js.map +1 -0
  226. package/dist/instances/user.instance.js.map +1 -0
  227. package/dist/interfaces/admin.d.ts +0 -38
  228. package/dist/interfaces/backup.d.ts +125 -0
  229. package/dist/interfaces/backup.js +8 -0
  230. package/dist/interfaces/backup.js.map +1 -0
  231. package/dist/interfaces/baskets.d.ts +0 -56
  232. package/dist/interfaces/common.d.ts +1 -0
  233. package/dist/interfaces/deploy.d.ts +0 -15
  234. package/dist/interfaces/index.d.ts +1 -1
  235. package/dist/interfaces/marketplace.d.ts +51 -0
  236. package/dist/interfaces/marketplace.js +1 -1
  237. package/dist/interfaces/marketplace.js.map +1 -1
  238. package/dist/interfaces/message.d.ts +0 -3
  239. package/dist/interfaces/orders.d.ts +0 -24
  240. package/dist/interfaces/postprocessors.d.ts +0 -18
  241. package/dist/interfaces/preprocessors.d.ts +0 -18
  242. package/dist/interfaces/skills.d.ts +61 -0
  243. package/dist/interfaces/user.d.ts +25 -0
  244. package/dist/interfaces/webhooks.d.ts +0 -9
  245. package/dist/primitives/base.handler.d.ts +106 -0
  246. package/dist/primitives/base.handler.js +370 -0
  247. package/dist/primitives/base.handler.js.map +1 -0
  248. package/dist/primitives/index.d.ts +47 -0
  249. package/dist/primitives/index.js +78 -0
  250. package/dist/primitives/index.js.map +1 -0
  251. package/dist/primitives/job.handler.d.ts +52 -0
  252. package/dist/primitives/job.handler.js +118 -0
  253. package/dist/primitives/job.handler.js.map +1 -0
  254. package/dist/primitives/mcp-server.handler.d.ts +54 -0
  255. package/dist/primitives/mcp-server.handler.js +91 -0
  256. package/dist/primitives/mcp-server.handler.js.map +1 -0
  257. package/dist/primitives/postprocessor.handler.d.ts +49 -0
  258. package/dist/primitives/postprocessor.handler.js +81 -0
  259. package/dist/primitives/postprocessor.handler.js.map +1 -0
  260. package/dist/primitives/preprocessor.handler.d.ts +54 -0
  261. package/dist/primitives/preprocessor.handler.js +95 -0
  262. package/dist/primitives/preprocessor.handler.js.map +1 -0
  263. package/dist/primitives/skill.handler.d.ts +44 -0
  264. package/dist/primitives/skill.handler.js +192 -0
  265. package/dist/primitives/skill.handler.js.map +1 -0
  266. package/dist/primitives/types.d.ts +72 -0
  267. package/dist/primitives/types.js +17 -0
  268. package/dist/primitives/types.js.map +1 -0
  269. package/dist/primitives/webhook.handler.d.ts +50 -0
  270. package/dist/primitives/webhook.handler.js +96 -0
  271. package/dist/primitives/webhook.handler.js.map +1 -0
  272. package/dist/services/auth.js +1 -2
  273. package/dist/services/auth.js.map +1 -1
  274. package/dist/services/sandbox.service.d.ts +103 -0
  275. package/dist/services/sandbox.service.js +479 -0
  276. package/dist/services/sandbox.service.js.map +1 -0
  277. package/dist/types/api-contracts.d.ts +1 -1
  278. package/dist/types/index.d.ts +2 -1
  279. package/dist/types/index.js.map +1 -1
  280. package/dist/types/skill.d.ts +8 -2
  281. package/dist/types/skill.js +8 -0
  282. package/dist/types/skill.js.map +1 -1
  283. package/dist/types/yaml.types.d.ts +69 -0
  284. package/dist/types/yaml.types.js +6 -0
  285. package/dist/types/yaml.types.js.map +1 -0
  286. package/dist/utils/artifact-loader.d.ts +108 -0
  287. package/dist/utils/artifact-loader.js +188 -0
  288. package/dist/utils/artifact-loader.js.map +1 -0
  289. package/dist/utils/backup-helpers.d.ts +122 -0
  290. package/dist/utils/backup-helpers.js +274 -0
  291. package/dist/utils/backup-helpers.js.map +1 -0
  292. package/dist/utils/cli.d.ts +8 -0
  293. package/dist/utils/cli.js +19 -2
  294. package/dist/utils/cli.js.map +1 -1
  295. package/dist/utils/command-utils.d.ts +42 -0
  296. package/dist/utils/command-utils.js +83 -0
  297. package/dist/utils/command-utils.js.map +1 -0
  298. package/dist/utils/deploy-helpers.d.ts +0 -29
  299. package/dist/utils/deploy-helpers.js +0 -70
  300. package/dist/utils/deploy-helpers.js.map +1 -1
  301. package/dist/utils/dev-api.d.ts +3 -99
  302. package/dist/utils/dev-api.js +3 -430
  303. package/dist/utils/dev-api.js.map +1 -1
  304. package/dist/utils/dev-server.d.ts +3 -1
  305. package/dist/utils/dev-server.js +69 -145
  306. package/dist/utils/dev-server.js.map +1 -1
  307. package/dist/utils/dev-watcher.d.ts +0 -1
  308. package/dist/utils/dev-watcher.js +23 -8
  309. package/dist/utils/dev-watcher.js.map +1 -1
  310. package/dist/utils/env-loader.utils.d.ts +10 -1
  311. package/dist/utils/env-loader.utils.js +39 -31
  312. package/dist/utils/env-loader.utils.js.map +1 -1
  313. package/dist/utils/files.d.ts +47 -3
  314. package/dist/utils/files.js +98 -40
  315. package/dist/utils/files.js.map +1 -1
  316. package/dist/utils/init-agent.js +1 -2
  317. package/dist/utils/init-agent.js.map +1 -1
  318. package/dist/utils/init-helpers.d.ts +2 -10
  319. package/dist/utils/init-helpers.js +9 -17
  320. package/dist/utils/init-helpers.js.map +1 -1
  321. package/dist/utils/init-prompts.d.ts +0 -8
  322. package/dist/utils/init-prompts.js +0 -22
  323. package/dist/utils/init-prompts.js.map +1 -1
  324. package/dist/utils/prompt-handler.d.ts +3 -0
  325. package/dist/utils/prompt-handler.js +13 -0
  326. package/dist/utils/prompt-handler.js.map +1 -1
  327. package/dist/utils/sandbox-storage.d.ts +6 -5
  328. package/dist/utils/sandbox-storage.js +12 -12
  329. package/dist/utils/sandbox-storage.js.map +1 -1
  330. package/dist/utils/sandbox.d.ts +7 -30
  331. package/dist/utils/sandbox.js +247 -223
  332. package/dist/utils/sandbox.js.map +1 -1
  333. package/dist/utils/semver.d.ts +12 -0
  334. package/dist/utils/semver.js +23 -0
  335. package/dist/utils/semver.js.map +1 -1
  336. package/dist/utils/sync-display.d.ts +9 -0
  337. package/dist/utils/sync-display.js +67 -0
  338. package/dist/utils/sync-display.js.map +1 -0
  339. package/dist/utils/sync-fetch.d.ts +23 -0
  340. package/dist/utils/sync-fetch.js +64 -0
  341. package/dist/utils/sync-fetch.js.map +1 -0
  342. package/dist/utils/sync-helpers.d.ts +4 -59
  343. package/dist/utils/sync-helpers.js +4 -206
  344. package/dist/utils/sync-helpers.js.map +1 -1
  345. package/dist/web/app.css +912 -186
  346. package/dist/web/app.js +46 -46
  347. package/docs/API_INDEX.md +100 -0
  348. package/docs/API_REFERENCE.md +773 -0
  349. package/docs/CLI_REFERENCE.md +924 -0
  350. package/docs/GETTING_STARTED.md +862 -0
  351. package/docs/README.md +270 -0
  352. package/docs/api/AI.md +882 -0
  353. package/docs/api/Baskets.md +511 -0
  354. package/docs/api/CDN.md +524 -0
  355. package/docs/api/Data.md +446 -0
  356. package/docs/api/Jobs.md +524 -0
  357. package/docs/api/LuaAgent.md +454 -0
  358. package/docs/api/LuaJob.md +604 -0
  359. package/docs/api/LuaSkill.md +396 -0
  360. package/docs/api/LuaTool.md +521 -0
  361. package/docs/api/LuaWebhook.md +601 -0
  362. package/docs/api/Orders.md +514 -0
  363. package/docs/api/PostProcessor.md +565 -0
  364. package/docs/api/PreProcessor.md +630 -0
  365. package/docs/api/Products.md +507 -0
  366. package/docs/api/Templates.md +662 -0
  367. package/docs/api/User.md +567 -0
  368. package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
  369. package/docs/compiler-v2/ASSESSMENT.md +205 -0
  370. package/docs/compiler-v2/TEST_PLAN.md +306 -0
  371. package/package.json +3 -7
  372. package/template/tsconfig.json +1 -1
  373. package/dist/common/basket.instance.js.map +0 -1
  374. package/dist/common/data.entry.instance.js.map +0 -1
  375. package/dist/common/http.client.js.map +0 -1
  376. package/dist/common/job.instance.js.map +0 -1
  377. package/dist/common/order.instance.js.map +0 -1
  378. package/dist/common/product.instance.js.map +0 -1
  379. package/dist/common/product.pagination.instance.js.map +0 -1
  380. package/dist/common/product.search.instance.js.map +0 -1
  381. package/dist/common/user.instance.js.map +0 -1
  382. package/dist/config/auth.constants.d.ts +0 -11
  383. package/dist/config/auth.constants.js +0 -12
  384. package/dist/config/auth.constants.js.map +0 -1
  385. package/dist/config/init.constants.d.ts +0 -15
  386. package/dist/config/init.constants.js +0 -20
  387. package/dist/config/init.constants.js.map +0 -1
  388. package/dist/interfaces/compile.d.ts +0 -12
  389. package/dist/interfaces/compile.js +0 -5
  390. package/dist/interfaces/compile.js.map +0 -1
  391. package/dist/types/compile.types.d.ts +0 -131
  392. package/dist/types/compile.types.js +0 -6
  393. package/dist/types/compile.types.js.map +0 -1
  394. package/dist/utils/agent-code-utils.d.ts +0 -25
  395. package/dist/utils/agent-code-utils.js +0 -107
  396. package/dist/utils/agent-code-utils.js.map +0 -1
  397. package/dist/utils/bundling.d.ts +0 -89
  398. package/dist/utils/bundling.js +0 -1068
  399. package/dist/utils/bundling.js.map +0 -1
  400. package/dist/utils/compile.d.ts +0 -116
  401. package/dist/utils/compile.js +0 -1062
  402. package/dist/utils/compile.js.map +0 -1
  403. package/dist/utils/deploy-api.d.ts +0 -26
  404. package/dist/utils/deploy-api.js +0 -54
  405. package/dist/utils/deploy-api.js.map +0 -1
  406. package/dist/utils/deployment.d.ts +0 -26
  407. package/dist/utils/deployment.js +0 -218
  408. package/dist/utils/deployment.js.map +0 -1
  409. package/dist/utils/dev-helpers.d.ts +0 -47
  410. package/dist/utils/dev-helpers.js +0 -82
  411. package/dist/utils/dev-helpers.js.map +0 -1
  412. package/dist/utils/job-management.d.ts +0 -27
  413. package/dist/utils/job-management.js +0 -248
  414. package/dist/utils/job-management.js.map +0 -1
  415. package/dist/utils/mcp-server-management.d.ts +0 -26
  416. package/dist/utils/mcp-server-management.js +0 -197
  417. package/dist/utils/mcp-server-management.js.map +0 -1
  418. package/dist/utils/postprocessor-management.d.ts +0 -9
  419. package/dist/utils/postprocessor-management.js +0 -117
  420. package/dist/utils/postprocessor-management.js.map +0 -1
  421. package/dist/utils/pre-bundle-jobs.d.ts +0 -27
  422. package/dist/utils/pre-bundle-jobs.js +0 -189
  423. package/dist/utils/pre-bundle-jobs.js.map +0 -1
  424. package/dist/utils/preprocessor-management.d.ts +0 -9
  425. package/dist/utils/preprocessor-management.js +0 -117
  426. package/dist/utils/preprocessor-management.js.map +0 -1
  427. package/dist/utils/push-api.d.ts +0 -15
  428. package/dist/utils/push-api.js +0 -49
  429. package/dist/utils/push-api.js.map +0 -1
  430. package/dist/utils/push-helpers.d.ts +0 -82
  431. package/dist/utils/push-helpers.js +0 -246
  432. package/dist/utils/push-helpers.js.map +0 -1
  433. package/dist/utils/skill-management.d.ts +0 -39
  434. package/dist/utils/skill-management.js +0 -299
  435. package/dist/utils/skill-management.js.map +0 -1
  436. package/dist/utils/test-helpers.d.ts +0 -33
  437. package/dist/utils/test-helpers.js +0 -84
  438. package/dist/utils/test-helpers.js.map +0 -1
  439. package/dist/utils/test-prompts.d.ts +0 -23
  440. package/dist/utils/test-prompts.js +0 -187
  441. package/dist/utils/test-prompts.js.map +0 -1
  442. package/dist/utils/tool-detection.d.ts +0 -19
  443. package/dist/utils/tool-detection.js +0 -125
  444. package/dist/utils/tool-detection.js.map +0 -1
  445. package/dist/utils/webhook-management.d.ts +0 -27
  446. package/dist/utils/webhook-management.js +0 -241
  447. package/dist/utils/webhook-management.js.map +0 -1
  448. /package/dist/{common → api}/http.client.d.ts +0 -0
  449. /package/dist/{common → api}/http.client.js +0 -0
  450. /package/dist/{common → instances}/basket.instance.d.ts +0 -0
  451. /package/dist/{common → instances}/basket.instance.js +0 -0
  452. /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
  453. /package/dist/{common → instances}/data.entry.instance.js +0 -0
  454. /package/dist/{common → instances}/job.instance.d.ts +0 -0
  455. /package/dist/{common → instances}/job.instance.js +0 -0
  456. /package/dist/{common → instances}/order.instance.d.ts +0 -0
  457. /package/dist/{common → instances}/order.instance.js +0 -0
  458. /package/dist/{common → instances}/product.instance.d.ts +0 -0
  459. /package/dist/{common → instances}/product.instance.js +0 -0
  460. /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
  461. /package/dist/{common → instances}/product.pagination.instance.js +0 -0
  462. /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
  463. /package/dist/{common → instances}/product.search.instance.js +0 -0
  464. /package/dist/{common → instances}/user.instance.d.ts +0 -0
  465. /package/dist/{common → instances}/user.instance.js +0 -0
@@ -0,0 +1,565 @@
1
+ # PostProcessor
2
+
3
+ The `PostProcessor` class allows you to modify, format, or enrich agent responses before they reach the user. Use postprocessors for response formatting, branding, translation, and content enhancement.
4
+
5
+ ## Import
6
+
7
+ ```typescript
8
+ import { PostProcessor } from 'lua-cli';
9
+ ```
10
+
11
+ ## Overview
12
+
13
+ PostProcessors enable:
14
+ - Format and style agent responses
15
+ - Add branding and signatures
16
+ - Translate responses to user's language
17
+ - Inject dynamic content (links, images, CTAs)
18
+ - Apply channel-specific formatting
19
+ - Sanitize or filter responses
20
+ - Add disclaimers and legal notices
21
+ - Track and log responses
22
+
23
+ ## Class Definition
24
+
25
+ ```typescript
26
+ class PostProcessor {
27
+ constructor(config: PostProcessorConfig);
28
+ getName(): string;
29
+ getDescription(): string;
30
+ execute(user: UserDataInstance, message: string, response: string, channel: string): Promise<PostProcessorResponse>;
31
+ }
32
+ ```
33
+
34
+ ## Configuration
35
+
36
+ ```typescript
37
+ interface PostProcessorConfig {
38
+ /** PostProcessor name (optional, defaults to 'unnamed-postprocessor') */
39
+ name?: string;
40
+
41
+ /** Short description of the postprocessor */
42
+ description: string;
43
+
44
+ /**
45
+ * Function that processes the agent's response before sending to user.
46
+ * MUST return { modifiedResponse: string } - the formatted response text.
47
+ */
48
+ execute: (
49
+ user: UserDataInstance,
50
+ message: string, // Original user message
51
+ response: string, // Agent's response
52
+ channel: string // Channel (whatsapp, web, etc.)
53
+ ) => Promise<PostProcessorResponse>;
54
+ }
55
+ ```
56
+
57
+ ## Response Type
58
+
59
+ PostProcessors must return:
60
+
61
+ ```typescript
62
+ interface PostProcessorResponse {
63
+ modifiedResponse: string; // The formatted response text
64
+ }
65
+ ```
66
+
67
+ ## Complete Examples
68
+
69
+ ### Branding Footer
70
+
71
+ ```typescript
72
+ import { PostProcessor } from 'lua-cli';
73
+
74
+ export const brandingFooter = new PostProcessor({
75
+ name: 'branding-footer',
76
+ description: 'Adds company branding to responses',
77
+
78
+ execute: async (user, message, response, channel) => {
79
+ const footer = '\n\n---\n💼 Powered by Acme Corp\n🌐 www.acme.com | 📧 support@acme.com';
80
+
81
+ return {
82
+ modifiedResponse: response + footer
83
+ };
84
+ }
85
+ });
86
+ ```
87
+
88
+ ### Markdown Formatter
89
+
90
+ ```typescript
91
+ import { PostProcessor } from 'lua-cli';
92
+
93
+ export const markdownFormatter = new PostProcessor({
94
+ name: 'markdown-formatter',
95
+ description: 'Formats responses with markdown',
96
+
97
+ execute: async (user, message, response, channel) => {
98
+ // Only apply to web channel
99
+ if (channel !== 'web') {
100
+ return { modifiedResponse: response };
101
+ }
102
+
103
+ // Apply markdown formatting
104
+ let formatted = response;
105
+
106
+ // Bold for **text**
107
+ formatted = formatted.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
108
+
109
+ // Italic for *text*
110
+ formatted = formatted.replace(/\*(.*?)\*/g, '<em>$1</em>');
111
+
112
+ // Code blocks for ```code```
113
+ formatted = formatted.replace(/```(.*?)```/gs, '<pre><code>$1</code></pre>');
114
+
115
+ // Line breaks
116
+ formatted = formatted.replace(/\n/g, '<br>');
117
+
118
+ return { modifiedResponse: formatted };
119
+ }
120
+ });
121
+ ```
122
+
123
+ ### WhatsApp Formatter
124
+
125
+ ```typescript
126
+ import { PostProcessor } from 'lua-cli';
127
+
128
+ export const whatsappFormatter = new PostProcessor({
129
+ name: 'whatsapp-formatter',
130
+ description: 'Formats responses for WhatsApp',
131
+
132
+ execute: async (user, message, response, channel) => {
133
+ if (channel !== 'whatsapp') {
134
+ return { modifiedResponse: response };
135
+ }
136
+
137
+ let formatted = response;
138
+
139
+ // Apply WhatsApp-specific formatting
140
+ // Bold: *text*
141
+ formatted = formatted.replace(/\*\*(.*?)\*\*/g, '*$1*');
142
+
143
+ // Italic: _text_
144
+ formatted = formatted.replace(/_(.*?)_/g, '_$1_');
145
+
146
+ // Strikethrough: ~text~
147
+ formatted = formatted.replace(/~~(.*?)~~/g, '~$1~');
148
+
149
+ // Monospace: ```text```
150
+ formatted = formatted.replace(/`(.*?)`/g, '```$1```');
151
+
152
+ // Add emojis based on content
153
+ if (formatted.includes('error') || formatted.includes('failed')) {
154
+ formatted = '⚠️ ' + formatted;
155
+ } else if (formatted.includes('success') || formatted.includes('completed')) {
156
+ formatted = '✅ ' + formatted;
157
+ }
158
+
159
+ return { modifiedResponse: formatted };
160
+ }
161
+ });
162
+ ```
163
+
164
+ ### Response Translator
165
+
166
+ ```typescript
167
+ import { PostProcessor, AI } from 'lua-cli';
168
+
169
+ export const responseTranslator = new PostProcessor({
170
+ name: 'response-translator',
171
+ description: 'Translates responses to user language',
172
+
173
+ execute: async (user, message, response, channel) => {
174
+ const userData = await user.get();
175
+ const userLanguage = userData.data?.language || 'en';
176
+
177
+ // Skip if already in user's language (English)
178
+ if (userLanguage === 'en') {
179
+ return { modifiedResponse: response };
180
+ }
181
+
182
+ // Translate response
183
+ const languageNames: Record<string, string> = {
184
+ es: 'Spanish',
185
+ fr: 'French',
186
+ de: 'German',
187
+ it: 'Italian',
188
+ pt: 'Portuguese',
189
+ ja: 'Japanese',
190
+ ko: 'Korean',
191
+ zh: 'Chinese'
192
+ };
193
+
194
+ const targetLanguage = languageNames[userLanguage] || userLanguage;
195
+
196
+ const translatedResponse = await AI.generate(
197
+ `Translate this text to ${targetLanguage}. Return only the translation, preserving formatting and structure.`,
198
+ [{ type: 'text', text: response }]
199
+ );
200
+
201
+ return { modifiedResponse: translatedResponse };
202
+ }
203
+ });
204
+ ```
205
+
206
+ ### Link Injector
207
+
208
+ ```typescript
209
+ import { PostProcessor } from 'lua-cli';
210
+
211
+ export const linkInjector = new PostProcessor({
212
+ name: 'link-injector',
213
+ description: 'Adds helpful links to responses',
214
+
215
+ execute: async (user, message, response, channel) => {
216
+ // Detect topics and add relevant links
217
+ const links: Record<string, string> = {
218
+ pricing: 'View pricing: https://example.com/pricing',
219
+ support: 'Get support: https://example.com/support',
220
+ documentation: 'Read docs: https://example.com/docs',
221
+ account: 'Manage account: https://example.com/account'
222
+ };
223
+
224
+ let modified = response;
225
+ const lowerResponse = response.toLowerCase();
226
+
227
+ // Add relevant links based on content
228
+ const relevantLinks: string[] = [];
229
+ for (const [keyword, link] of Object.entries(links)) {
230
+ if (lowerResponse.includes(keyword)) {
231
+ relevantLinks.push(link);
232
+ }
233
+ }
234
+
235
+ if (relevantLinks.length > 0) {
236
+ modified += '\n\n📎 Helpful Links:\n' + relevantLinks.join('\n');
237
+ }
238
+
239
+ return { modifiedResponse: modified };
240
+ }
241
+ });
242
+ ```
243
+
244
+ ### Sentiment Analyzer
245
+
246
+ ```typescript
247
+ import { PostProcessor, Data, AI } from 'lua-cli';
248
+
249
+ export const sentimentAnalyzer = new PostProcessor({
250
+ name: 'sentiment-analyzer',
251
+ description: 'Analyzes and logs response sentiment',
252
+
253
+ execute: async (user, message, response, channel) => {
254
+ // Analyze sentiment of agent's response
255
+ const analysis = await AI.generate(
256
+ 'Analyze the sentiment of this response. Reply with JSON: { "sentiment": "positive|negative|neutral", "score": 0-1 }',
257
+ [{ type: 'text', text: response }]
258
+ );
259
+
260
+ try {
261
+ const result = JSON.parse(analysis);
262
+
263
+ // Log sentiment data
264
+ await Data.create('response_sentiment', {
265
+ userId: user.id,
266
+ userMessage: message,
267
+ agentResponse: response,
268
+ sentiment: result.sentiment,
269
+ score: result.score,
270
+ channel,
271
+ timestamp: new Date().toISOString()
272
+ });
273
+
274
+ // Add positive emoji for positive sentiments
275
+ if (result.sentiment === 'positive' && result.score > 0.7) {
276
+ return { modifiedResponse: response + ' 😊' };
277
+ }
278
+ } catch (error) {
279
+ console.error('Sentiment analysis error:', error);
280
+ }
281
+
282
+ return { modifiedResponse: response };
283
+ }
284
+ });
285
+ ```
286
+
287
+ ### Legal Disclaimer
288
+
289
+ ```typescript
290
+ import { PostProcessor } from 'lua-cli';
291
+
292
+ export const legalDisclaimer = new PostProcessor({
293
+ name: 'legal-disclaimer',
294
+ description: 'Adds legal disclaimers to financial advice',
295
+
296
+ execute: async (user, message, response, channel) => {
297
+ const financialKeywords = [
298
+ 'invest', 'stock', 'trading', 'financial', 'money',
299
+ 'portfolio', 'crypto', 'bitcoin', 'tax', 'retirement'
300
+ ];
301
+
302
+ const lowerResponse = response.toLowerCase();
303
+ const containsFinancialContent = financialKeywords.some(
304
+ keyword => lowerResponse.includes(keyword)
305
+ );
306
+
307
+ if (containsFinancialContent) {
308
+ const disclaimer = '\n\n⚠️ Disclaimer: This information is for educational purposes only and should not be considered financial advice. Please consult with a licensed financial advisor before making investment decisions.';
309
+
310
+ return { modifiedResponse: response + disclaimer };
311
+ }
312
+
313
+ return { modifiedResponse: response };
314
+ }
315
+ });
316
+ ```
317
+
318
+ ### Response Summarizer
319
+
320
+ ```typescript
321
+ import { PostProcessor, AI } from 'lua-cli';
322
+
323
+ export const responseSummarizer = new PostProcessor({
324
+ name: 'response-summarizer',
325
+ description: 'Adds TL;DR for long responses',
326
+
327
+ execute: async (user, message, response, channel) => {
328
+ // Only summarize long responses
329
+ if (response.length < 500) {
330
+ return { modifiedResponse: response };
331
+ }
332
+
333
+ // Generate summary
334
+ const summary = await AI.generate(
335
+ 'Create a 1-sentence summary (TL;DR) of this response.',
336
+ [{ type: 'text', text: response }]
337
+ );
338
+
339
+ const modified = `**TL;DR:** ${summary}\n\n---\n\n${response}`;
340
+
341
+ return { modifiedResponse: modified };
342
+ }
343
+ });
344
+ ```
345
+
346
+ ### CTA Injector
347
+
348
+ ```typescript
349
+ import { PostProcessor } from 'lua-cli';
350
+
351
+ export const ctaInjector = new PostProcessor({
352
+ name: 'cta-injector',
353
+ description: 'Adds call-to-action buttons',
354
+
355
+ execute: async (user, message, response, channel) => {
356
+ // Only for web channel
357
+ if (channel !== 'web') {
358
+ return { modifiedResponse: response };
359
+ }
360
+
361
+ const userData = await user.get();
362
+ const hasPremium = userData.data?.plan === 'premium';
363
+
364
+ // Add appropriate CTA based on user status
365
+ let cta = '';
366
+
367
+ if (!hasPremium) {
368
+ cta = '\n\n[Upgrade to Premium](https://example.com/upgrade) for advanced features! 🚀';
369
+ } else {
370
+ cta = '\n\n[Explore More Features](https://example.com/features) | [Get Help](https://example.com/support)';
371
+ }
372
+
373
+ return { modifiedResponse: response + cta };
374
+ }
375
+ });
376
+ ```
377
+
378
+ ### Profanity Filter
379
+
380
+ ```typescript
381
+ import { PostProcessor } from 'lua-cli';
382
+
383
+ export const profanityFilter = new PostProcessor({
384
+ name: 'profanity-filter',
385
+ description: 'Filters inappropriate content from responses',
386
+
387
+ execute: async (user, message, response, channel) => {
388
+ // List of words to filter (abbreviated for example)
389
+ const blockedWords = ['damn', 'hell', 'crap'];
390
+
391
+ let filtered = response;
392
+
393
+ // Replace blocked words with asterisks
394
+ for (const word of blockedWords) {
395
+ const regex = new RegExp(`\\b${word}\\b`, 'gi');
396
+ const replacement = '*'.repeat(word.length);
397
+ filtered = filtered.replace(regex, replacement);
398
+ }
399
+
400
+ return { modifiedResponse: filtered };
401
+ }
402
+ });
403
+ ```
404
+
405
+ ### Response Logger
406
+
407
+ ```typescript
408
+ import { PostProcessor, Data } from 'lua-cli';
409
+
410
+ export const responseLogger = new PostProcessor({
411
+ name: 'response-logger',
412
+ description: 'Logs all agent responses',
413
+
414
+ execute: async (user, message, response, channel) => {
415
+ // Log response for analytics
416
+ await Data.create('response_logs', {
417
+ userId: user.id,
418
+ userMessage: message,
419
+ agentResponse: response,
420
+ responseLength: response.length,
421
+ channel,
422
+ timestamp: new Date().toISOString()
423
+ });
424
+
425
+ // Return response unchanged
426
+ return { modifiedResponse: response };
427
+ }
428
+ });
429
+ ```
430
+
431
+ ## Channel-Specific Formatting
432
+
433
+ ```typescript
434
+ export const channelFormatter = new PostProcessor({
435
+ name: 'channel-formatter',
436
+ description: 'Formats responses for different channels',
437
+
438
+ execute: async (user, message, response, channel) => {
439
+ switch (channel) {
440
+ case 'whatsapp':
441
+ // WhatsApp: Use emojis, short paragraphs
442
+ return { modifiedResponse: formatForWhatsApp(response) };
443
+
444
+ case 'sms':
445
+ // SMS: Keep short, no formatting
446
+ return { modifiedResponse: truncate(response, 160) };
447
+
448
+ case 'web':
449
+ // Web: Use HTML, rich formatting
450
+ return { modifiedResponse: formatForWeb(response) };
451
+
452
+ case 'slack':
453
+ // Slack: Use slack markdown
454
+ return { modifiedResponse: formatForSlack(response) };
455
+
456
+ default:
457
+ return { modifiedResponse: response };
458
+ }
459
+ }
460
+ });
461
+ ```
462
+
463
+ ## Best Practices
464
+
465
+ ### ✅ DO
466
+
467
+ - Keep processing fast (< 100ms when possible)
468
+ - Return the full response (don't truncate accidentally)
469
+ - Test with different response lengths
470
+ - Handle edge cases (empty responses, special characters)
471
+ - Use channel detection for platform-specific formatting
472
+ - Log important transformations
473
+ - Preserve response meaning
474
+ - Add value to the user experience
475
+
476
+ ### ❌ DON'T
477
+
478
+ - Don't remove important information
479
+ - Don't add excessive fluff
480
+ - Don't perform slow operations synchronously
481
+ - Don't forget to handle errors
482
+ - Don't modify responses without clear benefit
483
+ - Don't add confusing formatting
484
+ - Don't break response structure
485
+ - Don't ignore channel context
486
+
487
+ ## Error Handling
488
+
489
+ ```typescript
490
+ export const safePostProcessor = new PostProcessor({
491
+ name: 'safe-postprocessor',
492
+ description: 'PostProcessor with error handling',
493
+
494
+ execute: async (user, message, response, channel) => {
495
+ try {
496
+ // Your post-processing logic
497
+ const modified = await processResponse(response);
498
+
499
+ return { modifiedResponse: modified };
500
+ } catch (error) {
501
+ console.error('PostProcessor error:', error);
502
+
503
+ // Log error
504
+ await Data.create('postprocessor_errors', {
505
+ error: error.message,
506
+ userId: user.id,
507
+ originalResponse: response,
508
+ timestamp: new Date().toISOString()
509
+ });
510
+
511
+ // Return original response on error
512
+ return { modifiedResponse: response };
513
+ }
514
+ }
515
+ });
516
+ ```
517
+
518
+ ## Common Patterns
519
+
520
+ ### Conditional Formatting
521
+
522
+ ```typescript
523
+ if (condition) {
524
+ return { modifiedResponse: format(response) };
525
+ }
526
+ return { modifiedResponse: response };
527
+ ```
528
+
529
+ ### String Manipulation
530
+
531
+ ```typescript
532
+ const modified = response
533
+ .replace(/old/g, 'new')
534
+ .trim()
535
+ .toUpperCase();
536
+
537
+ return { modifiedResponse: modified };
538
+ ```
539
+
540
+ ### Appending Content
541
+
542
+ ```typescript
543
+ const footer = '\n\n---\nAdditional info';
544
+ return { modifiedResponse: response + footer };
545
+ ```
546
+
547
+ ### Prepending Content
548
+
549
+ ```typescript
550
+ const header = 'Important Notice:\n\n';
551
+ return { modifiedResponse: header + response };
552
+ ```
553
+
554
+ ## Related APIs
555
+
556
+ - [PreProcessor](./PreProcessor.md) - Process user messages
557
+ - [User API](./User.md) - Access user preferences
558
+ - [Data API](./Data.md) - Log responses
559
+ - [AI API](./AI.md) - Enhance responses with AI
560
+
561
+ ## See Also
562
+
563
+ - [Response Formatting Guide](../guides/ResponseFormatting.md)
564
+ - [Channel Integration](../guides/Channels.md)
565
+ - [Localization Guide](../guides/Localization.md)