lua-cli 3.12.2 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/README.md +14 -13
  2. package/dist/api/agent.api.service.d.ts +20 -20
  3. package/dist/api/agent.api.service.d.ts.map +1 -1
  4. package/dist/api/agent.api.service.js +1 -1
  5. package/dist/api/agent.api.service.js.map +1 -1
  6. package/dist/api/agents.api.service.d.ts +3 -3
  7. package/dist/api/agents.api.service.d.ts.map +1 -1
  8. package/dist/api/agents.api.service.js +11 -9
  9. package/dist/api/agents.api.service.js.map +1 -1
  10. package/dist/api/ai.api.service.d.ts +4 -4
  11. package/dist/api/ai.api.service.d.ts.map +1 -1
  12. package/dist/api/ai.api.service.js +10 -8
  13. package/dist/api/ai.api.service.js.map +1 -1
  14. package/dist/api/auth.api.service.d.ts +3 -3
  15. package/dist/api/auth.api.service.d.ts.map +1 -1
  16. package/dist/api/auth.api.service.js +1 -1
  17. package/dist/api/auth.api.service.js.map +1 -1
  18. package/dist/api/backup.api.service.d.ts.map +1 -1
  19. package/dist/api/backup.api.service.js +21 -7
  20. package/dist/api/backup.api.service.js.map +1 -1
  21. package/dist/api/basket.api.service.d.ts +5 -5
  22. package/dist/api/basket.api.service.d.ts.map +1 -1
  23. package/dist/api/basket.api.service.js +4 -4
  24. package/dist/api/basket.api.service.js.map +1 -1
  25. package/dist/api/cdn.api.service.d.ts +1 -1
  26. package/dist/api/cdn.api.service.js +3 -3
  27. package/dist/api/cdn.api.service.js.map +1 -1
  28. package/dist/api/chat.api.service.d.ts +4 -4
  29. package/dist/api/chat.api.service.js +3 -3
  30. package/dist/api/chat.api.service.js.map +1 -1
  31. package/dist/api/credentials.js +3 -3
  32. package/dist/api/custom.data.api.service.d.ts +4 -4
  33. package/dist/api/custom.data.api.service.d.ts.map +1 -1
  34. package/dist/api/custom.data.api.service.js +2 -2
  35. package/dist/api/custom.data.api.service.js.map +1 -1
  36. package/dist/api/developer.api.service.d.ts +3 -3
  37. package/dist/api/developer.api.service.d.ts.map +1 -1
  38. package/dist/api/developer.api.service.js +7 -3
  39. package/dist/api/developer.api.service.js.map +1 -1
  40. package/dist/api/device-trigger.api.service.d.ts +3 -3
  41. package/dist/api/device-trigger.api.service.d.ts.map +1 -1
  42. package/dist/api/device-trigger.api.service.js +1 -1
  43. package/dist/api/device-trigger.api.service.js.map +1 -1
  44. package/dist/api/device.api.service.d.ts +3 -3
  45. package/dist/api/device.api.service.d.ts.map +1 -1
  46. package/dist/api/device.api.service.js +1 -1
  47. package/dist/api/device.api.service.js.map +1 -1
  48. package/dist/api/http.client.d.ts +1 -1
  49. package/dist/api/http.client.d.ts.map +1 -1
  50. package/dist/api/http.client.js +6 -6
  51. package/dist/api/http.client.js.map +1 -1
  52. package/dist/api/job.api.service.d.ts +13 -14
  53. package/dist/api/job.api.service.d.ts.map +1 -1
  54. package/dist/api/job.api.service.js +12 -20
  55. package/dist/api/job.api.service.js.map +1 -1
  56. package/dist/api/lazy-instances.d.ts +12 -12
  57. package/dist/api/lazy-instances.js +14 -14
  58. package/dist/api/logs.api.service.d.ts +9 -6
  59. package/dist/api/logs.api.service.d.ts.map +1 -1
  60. package/dist/api/logs.api.service.js +12 -11
  61. package/dist/api/logs.api.service.js.map +1 -1
  62. package/dist/api/marketplace.api.service.d.ts +1 -1
  63. package/dist/api/marketplace.api.service.d.ts.map +1 -1
  64. package/dist/api/marketplace.api.service.js +18 -18
  65. package/dist/api/marketplace.api.service.js.map +1 -1
  66. package/dist/api/order.api.service.d.ts +4 -4
  67. package/dist/api/order.api.service.d.ts.map +1 -1
  68. package/dist/api/order.api.service.js +2 -2
  69. package/dist/api/order.api.service.js.map +1 -1
  70. package/dist/api/persona.api.service.d.ts +3 -3
  71. package/dist/api/persona.api.service.d.ts.map +1 -1
  72. package/dist/api/persona.api.service.js +2 -2
  73. package/dist/api/persona.api.service.js.map +1 -1
  74. package/dist/api/postprocessor.api.service.d.ts +8 -9
  75. package/dist/api/postprocessor.api.service.d.ts.map +1 -1
  76. package/dist/api/postprocessor.api.service.js +1 -2
  77. package/dist/api/postprocessor.api.service.js.map +1 -1
  78. package/dist/api/preprocessor.api.service.d.ts +8 -9
  79. package/dist/api/preprocessor.api.service.d.ts.map +1 -1
  80. package/dist/api/preprocessor.api.service.js +1 -2
  81. package/dist/api/preprocessor.api.service.js.map +1 -1
  82. package/dist/api/products.api.service.d.ts +9 -9
  83. package/dist/api/products.api.service.d.ts.map +1 -1
  84. package/dist/api/products.api.service.js +10 -10
  85. package/dist/api/products.api.service.js.map +1 -1
  86. package/dist/api/resource.api.service.d.ts +2 -2
  87. package/dist/api/resource.api.service.js +1 -1
  88. package/dist/api/skills.api.service.d.ts +4 -4
  89. package/dist/api/skills.api.service.d.ts.map +1 -1
  90. package/dist/api/skills.api.service.js +1 -1
  91. package/dist/api/skills.api.service.js.map +1 -1
  92. package/dist/api/tool.api.service.d.ts +2 -2
  93. package/dist/api/tool.api.service.js +1 -1
  94. package/dist/api/unifiedto.api.service.d.ts +3 -3
  95. package/dist/api/unifiedto.api.service.d.ts.map +1 -1
  96. package/dist/api/unifiedto.api.service.js +28 -10
  97. package/dist/api/unifiedto.api.service.js.map +1 -1
  98. package/dist/api/user.data.api.service.d.ts +6 -6
  99. package/dist/api/user.data.api.service.d.ts.map +1 -1
  100. package/dist/api/user.data.api.service.js +5 -5
  101. package/dist/api/user.data.api.service.js.map +1 -1
  102. package/dist/api/webhook.api.service.d.ts +3 -3
  103. package/dist/api/webhook.api.service.d.ts.map +1 -1
  104. package/dist/api/webhook.api.service.js +1 -1
  105. package/dist/api/webhook.api.service.js.map +1 -1
  106. package/dist/api/whatsapp-templates.api.service.d.ts +3 -3
  107. package/dist/api/whatsapp-templates.api.service.js +1 -1
  108. package/dist/api-exports.d.ts +25 -25
  109. package/dist/api-exports.d.ts.map +1 -1
  110. package/dist/api-exports.js +26 -26
  111. package/dist/api-exports.js.map +1 -1
  112. package/dist/cli/command-definitions.d.ts +1 -1
  113. package/dist/cli/command-definitions.d.ts.map +1 -1
  114. package/dist/cli/command-definitions.js +209 -196
  115. package/dist/cli/command-definitions.js.map +1 -1
  116. package/dist/commands/agents.js +2 -2
  117. package/dist/commands/apiKey.js +12 -12
  118. package/dist/commands/channels.d.ts.map +1 -1
  119. package/dist/commands/channels.js +165 -174
  120. package/dist/commands/channels.js.map +1 -1
  121. package/dist/commands/chat-log-probe.d.ts +59 -0
  122. package/dist/commands/chat-log-probe.d.ts.map +1 -0
  123. package/dist/commands/chat-log-probe.js +87 -0
  124. package/dist/commands/chat-log-probe.js.map +1 -0
  125. package/dist/commands/chat.d.ts.map +1 -1
  126. package/dist/commands/chat.js +143 -40
  127. package/dist/commands/chat.js.map +1 -1
  128. package/dist/commands/chatClear.d.ts.map +1 -1
  129. package/dist/commands/chatClear.js +10 -6
  130. package/dist/commands/chatClear.js.map +1 -1
  131. package/dist/commands/compile.d.ts +7 -0
  132. package/dist/commands/compile.d.ts.map +1 -1
  133. package/dist/commands/compile.js +49 -12
  134. package/dist/commands/compile.js.map +1 -1
  135. package/dist/commands/completion.d.ts.map +1 -1
  136. package/dist/commands/completion.js +8 -9
  137. package/dist/commands/completion.js.map +1 -1
  138. package/dist/commands/configure.js +5 -5
  139. package/dist/commands/deploy.d.ts.map +1 -1
  140. package/dist/commands/deploy.js +132 -35
  141. package/dist/commands/deploy.js.map +1 -1
  142. package/dist/commands/destroy.d.ts.map +1 -1
  143. package/dist/commands/destroy.js +27 -17
  144. package/dist/commands/destroy.js.map +1 -1
  145. package/dist/commands/devices.d.ts.map +1 -1
  146. package/dist/commands/devices.js +4 -5
  147. package/dist/commands/devices.js.map +1 -1
  148. package/dist/commands/env.d.ts.map +1 -1
  149. package/dist/commands/env.js +101 -80
  150. package/dist/commands/env.js.map +1 -1
  151. package/dist/commands/features.d.ts.map +1 -1
  152. package/dist/commands/features.js +71 -82
  153. package/dist/commands/features.js.map +1 -1
  154. package/dist/commands/governance.d.ts.map +1 -1
  155. package/dist/commands/governance.js +17 -15
  156. package/dist/commands/governance.js.map +1 -1
  157. package/dist/commands/index.d.ts +37 -36
  158. package/dist/commands/index.d.ts.map +1 -1
  159. package/dist/commands/index.js +37 -36
  160. package/dist/commands/index.js.map +1 -1
  161. package/dist/commands/init.d.ts.map +1 -1
  162. package/dist/commands/init.js +80 -70
  163. package/dist/commands/init.js.map +1 -1
  164. package/dist/commands/integrations.d.ts.map +1 -1
  165. package/dist/commands/integrations.js +373 -341
  166. package/dist/commands/integrations.js.map +1 -1
  167. package/dist/commands/jobs.d.ts.map +1 -1
  168. package/dist/commands/jobs.js +110 -78
  169. package/dist/commands/jobs.js.map +1 -1
  170. package/dist/commands/log-tip.d.ts +79 -0
  171. package/dist/commands/log-tip.d.ts.map +1 -0
  172. package/dist/commands/log-tip.js +83 -0
  173. package/dist/commands/log-tip.js.map +1 -0
  174. package/dist/commands/logs.d.ts.map +1 -1
  175. package/dist/commands/logs.js +166 -198
  176. package/dist/commands/logs.js.map +1 -1
  177. package/dist/commands/marketplace.d.ts.map +1 -1
  178. package/dist/commands/marketplace.js +381 -427
  179. package/dist/commands/marketplace.js.map +1 -1
  180. package/dist/commands/mcp.d.ts.map +1 -1
  181. package/dist/commands/mcp.js +54 -56
  182. package/dist/commands/mcp.js.map +1 -1
  183. package/dist/commands/models.d.ts.map +1 -1
  184. package/dist/commands/models.js +4 -3
  185. package/dist/commands/models.js.map +1 -1
  186. package/dist/commands/persona.d.ts.map +1 -1
  187. package/dist/commands/persona.js +100 -126
  188. package/dist/commands/persona.js.map +1 -1
  189. package/dist/commands/postprocessors.d.ts.map +1 -1
  190. package/dist/commands/postprocessors.js +87 -61
  191. package/dist/commands/postprocessors.js.map +1 -1
  192. package/dist/commands/preprocessors.d.ts.map +1 -1
  193. package/dist/commands/preprocessors.js +87 -61
  194. package/dist/commands/preprocessors.js.map +1 -1
  195. package/dist/commands/production.d.ts.map +1 -1
  196. package/dist/commands/production.js +101 -113
  197. package/dist/commands/production.js.map +1 -1
  198. package/dist/commands/push-helpers.d.ts +42 -0
  199. package/dist/commands/push-helpers.d.ts.map +1 -0
  200. package/dist/commands/push-helpers.js +48 -0
  201. package/dist/commands/push-helpers.js.map +1 -0
  202. package/dist/commands/push.d.ts +2 -0
  203. package/dist/commands/push.d.ts.map +1 -1
  204. package/dist/commands/push.js +388 -124
  205. package/dist/commands/push.js.map +1 -1
  206. package/dist/commands/pushBackup.d.ts.map +1 -1
  207. package/dist/commands/pushBackup.js +8 -4
  208. package/dist/commands/pushBackup.js.map +1 -1
  209. package/dist/commands/resources.d.ts.map +1 -1
  210. package/dist/commands/resources.js +47 -60
  211. package/dist/commands/resources.js.map +1 -1
  212. package/dist/commands/skills.d.ts.map +1 -1
  213. package/dist/commands/skills.js +117 -89
  214. package/dist/commands/skills.js.map +1 -1
  215. package/dist/commands/status.d.ts +14 -0
  216. package/dist/commands/status.d.ts.map +1 -0
  217. package/dist/commands/status.js +731 -0
  218. package/dist/commands/status.js.map +1 -0
  219. package/dist/commands/sync.d.ts.map +1 -1
  220. package/dist/commands/sync.js +70 -30
  221. package/dist/commands/sync.js.map +1 -1
  222. package/dist/commands/telemetry.d.ts.map +1 -1
  223. package/dist/commands/telemetry.js +4 -0
  224. package/dist/commands/telemetry.js.map +1 -1
  225. package/dist/commands/test-output.helpers.d.ts +24 -0
  226. package/dist/commands/test-output.helpers.d.ts.map +1 -0
  227. package/dist/commands/test-output.helpers.js +62 -0
  228. package/dist/commands/test-output.helpers.js.map +1 -0
  229. package/dist/commands/test.d.ts.map +1 -1
  230. package/dist/commands/test.js +291 -121
  231. package/dist/commands/test.js.map +1 -1
  232. package/dist/commands/update.d.ts.map +1 -1
  233. package/dist/commands/update.js +15 -3
  234. package/dist/commands/update.js.map +1 -1
  235. package/dist/commands/webhooks.d.ts.map +1 -1
  236. package/dist/commands/webhooks.js +94 -87
  237. package/dist/commands/webhooks.js.map +1 -1
  238. package/dist/compiler/agent-traverser.d.ts +50 -14
  239. package/dist/compiler/agent-traverser.d.ts.map +1 -1
  240. package/dist/compiler/agent-traverser.js +189 -86
  241. package/dist/compiler/agent-traverser.js.map +1 -1
  242. package/dist/compiler/bundler.d.ts.map +1 -1
  243. package/dist/compiler/bundler.js +5 -5
  244. package/dist/compiler/bundler.js.map +1 -1
  245. package/dist/compiler/compiler.d.ts +32 -0
  246. package/dist/compiler/compiler.d.ts.map +1 -1
  247. package/dist/compiler/compiler.js +154 -28
  248. package/dist/compiler/compiler.js.map +1 -1
  249. package/dist/compiler/index.d.ts +3 -3
  250. package/dist/compiler/index.d.ts.map +1 -1
  251. package/dist/compiler/index.js +3 -3
  252. package/dist/compiler/index.js.map +1 -1
  253. package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -1
  254. package/dist/compiler/plugins/agent.plugin.js +2 -4
  255. package/dist/compiler/plugins/agent.plugin.js.map +1 -1
  256. package/dist/compiler/plugins/base.d.ts +21 -0
  257. package/dist/compiler/plugins/base.d.ts.map +1 -1
  258. package/dist/compiler/plugins/base.js +13 -3
  259. package/dist/compiler/plugins/base.js.map +1 -1
  260. package/dist/compiler/plugins/device-trigger.plugin.d.ts.map +1 -1
  261. package/dist/compiler/plugins/device-trigger.plugin.js +8 -4
  262. package/dist/compiler/plugins/device-trigger.plugin.js.map +1 -1
  263. package/dist/compiler/plugins/device.plugin.d.ts.map +1 -1
  264. package/dist/compiler/plugins/device.plugin.js +4 -4
  265. package/dist/compiler/plugins/device.plugin.js.map +1 -1
  266. package/dist/compiler/plugins/job.plugin.d.ts.map +1 -1
  267. package/dist/compiler/plugins/job.plugin.js +15 -11
  268. package/dist/compiler/plugins/job.plugin.js.map +1 -1
  269. package/dist/compiler/plugins/mcp-server.plugin.d.ts.map +1 -1
  270. package/dist/compiler/plugins/mcp-server.plugin.js +10 -4
  271. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -1
  272. package/dist/compiler/plugins/registry.js +2 -2
  273. package/dist/compiler/plugins/registry.js.map +1 -1
  274. package/dist/compiler/plugins/skill.plugin.d.ts +35 -9
  275. package/dist/compiler/plugins/skill.plugin.d.ts.map +1 -1
  276. package/dist/compiler/plugins/skill.plugin.js +129 -87
  277. package/dist/compiler/plugins/skill.plugin.js.map +1 -1
  278. package/dist/compiler/plugins/tool.plugin.d.ts.map +1 -1
  279. package/dist/compiler/plugins/tool.plugin.js +13 -9
  280. package/dist/compiler/plugins/tool.plugin.js.map +1 -1
  281. package/dist/compiler/plugins/webhook.plugin.d.ts.map +1 -1
  282. package/dist/compiler/plugins/webhook.plugin.js +7 -5
  283. package/dist/compiler/plugins/webhook.plugin.js.map +1 -1
  284. package/dist/compiler/source-writer.d.ts.map +1 -1
  285. package/dist/compiler/source-writer.js +2 -4
  286. package/dist/compiler/source-writer.js.map +1 -1
  287. package/dist/compiler/types.d.ts +33 -0
  288. package/dist/compiler/types.d.ts.map +1 -1
  289. package/dist/compiler/types.js.map +1 -1
  290. package/dist/compiler/utils/ast-helpers.d.ts +1 -16
  291. package/dist/compiler/utils/ast-helpers.d.ts.map +1 -1
  292. package/dist/compiler/utils/ast-helpers.js +14 -38
  293. package/dist/compiler/utils/ast-helpers.js.map +1 -1
  294. package/dist/compiler/utils/common.d.ts +14 -0
  295. package/dist/compiler/utils/common.d.ts.map +1 -1
  296. package/dist/compiler/utils/common.js +39 -11
  297. package/dist/compiler/utils/common.js.map +1 -1
  298. package/dist/compiler/utils/file-discovery.d.ts.map +1 -1
  299. package/dist/compiler/utils/file-discovery.js +2 -10
  300. package/dist/compiler/utils/file-discovery.js.map +1 -1
  301. package/dist/compiler/utils/path-resolver.d.ts +67 -10
  302. package/dist/compiler/utils/path-resolver.d.ts.map +1 -1
  303. package/dist/compiler/utils/path-resolver.js +120 -24
  304. package/dist/compiler/utils/path-resolver.js.map +1 -1
  305. package/dist/compiler/utils/reference-resolver.d.ts +196 -0
  306. package/dist/compiler/utils/reference-resolver.d.ts.map +1 -0
  307. package/dist/compiler/utils/reference-resolver.js +1026 -0
  308. package/dist/compiler/utils/reference-resolver.js.map +1 -0
  309. package/dist/compiler/utils/schema-converter.d.ts +25 -0
  310. package/dist/compiler/utils/schema-converter.d.ts.map +1 -1
  311. package/dist/compiler/utils/schema-converter.js +80 -4
  312. package/dist/compiler/utils/schema-converter.js.map +1 -1
  313. package/dist/compiler/utils/workspace.d.ts +35 -0
  314. package/dist/compiler/utils/workspace.d.ts.map +1 -0
  315. package/dist/compiler/utils/workspace.js +121 -0
  316. package/dist/compiler/utils/workspace.js.map +1 -0
  317. package/dist/compiler/utils/zod-runtime.mjs +5334 -0
  318. package/dist/config/compile.constants.d.ts.map +1 -1
  319. package/dist/config/compile.constants.js +3 -1
  320. package/dist/config/compile.constants.js.map +1 -1
  321. package/dist/config/constants.d.ts.map +1 -1
  322. package/dist/config/constants.js +1 -5
  323. package/dist/config/constants.js.map +1 -1
  324. package/dist/errors/auth.error.d.ts.map +1 -1
  325. package/dist/errors/auth.error.js +3 -5
  326. package/dist/errors/auth.error.js.map +1 -1
  327. package/dist/errors/index.d.ts +1 -1
  328. package/dist/errors/index.js +1 -1
  329. package/dist/index.js +9 -8
  330. package/dist/index.js.map +1 -1
  331. package/dist/instances/basket.instance.d.ts +3 -3
  332. package/dist/instances/basket.instance.d.ts.map +1 -1
  333. package/dist/instances/basket.instance.js +26 -8
  334. package/dist/instances/basket.instance.js.map +1 -1
  335. package/dist/instances/data.entry.instance.d.ts +2 -2
  336. package/dist/instances/data.entry.instance.d.ts.map +1 -1
  337. package/dist/instances/data.entry.instance.js +5 -5
  338. package/dist/instances/data.entry.instance.js.map +1 -1
  339. package/dist/instances/order.instance.d.ts +2 -2
  340. package/dist/instances/order.instance.d.ts.map +1 -1
  341. package/dist/instances/order.instance.js +20 -9
  342. package/dist/instances/order.instance.js.map +1 -1
  343. package/dist/instances/product.instance.d.ts +1 -1
  344. package/dist/instances/product.instance.d.ts.map +1 -1
  345. package/dist/instances/product.instance.js +3 -3
  346. package/dist/instances/product.instance.js.map +1 -1
  347. package/dist/instances/product.pagination.instance.d.ts +2 -2
  348. package/dist/instances/product.pagination.instance.d.ts.map +1 -1
  349. package/dist/instances/product.pagination.instance.js +6 -7
  350. package/dist/instances/product.pagination.instance.js.map +1 -1
  351. package/dist/instances/product.search.instance.d.ts +3 -3
  352. package/dist/instances/product.search.instance.d.ts.map +1 -1
  353. package/dist/instances/product.search.instance.js +3 -4
  354. package/dist/instances/product.search.instance.js.map +1 -1
  355. package/dist/instances/user.instance.d.ts +3 -3
  356. package/dist/instances/user.instance.d.ts.map +1 -1
  357. package/dist/instances/user.instance.js +19 -36
  358. package/dist/instances/user.instance.js.map +1 -1
  359. package/dist/interfaces/agent.d.ts +8 -8
  360. package/dist/interfaces/agent.d.ts.map +1 -1
  361. package/dist/interfaces/backup.d.ts +19 -1
  362. package/dist/interfaces/backup.d.ts.map +1 -1
  363. package/dist/interfaces/device-triggers.d.ts +0 -2
  364. package/dist/interfaces/device-triggers.d.ts.map +1 -1
  365. package/dist/interfaces/devices.d.ts +0 -1
  366. package/dist/interfaces/devices.d.ts.map +1 -1
  367. package/dist/interfaces/index.d.ts +8 -8
  368. package/dist/interfaces/index.d.ts.map +1 -1
  369. package/dist/interfaces/jobs.d.ts +2 -3
  370. package/dist/interfaces/jobs.d.ts.map +1 -1
  371. package/dist/interfaces/logs.d.ts +7 -4
  372. package/dist/interfaces/logs.d.ts.map +1 -1
  373. package/dist/interfaces/message.d.ts +3 -3
  374. package/dist/interfaces/message.d.ts.map +1 -1
  375. package/dist/interfaces/orders.d.ts +1 -1
  376. package/dist/interfaces/webhooks.d.ts +2 -2
  377. package/dist/interfaces/webhooks.d.ts.map +1 -1
  378. package/dist/primitives/agent.handler.d.ts.map +1 -1
  379. package/dist/primitives/agent.handler.js +1 -1
  380. package/dist/primitives/agent.handler.js.map +1 -1
  381. package/dist/primitives/base.handler.d.ts +12 -2
  382. package/dist/primitives/base.handler.d.ts.map +1 -1
  383. package/dist/primitives/base.handler.js +104 -73
  384. package/dist/primitives/base.handler.js.map +1 -1
  385. package/dist/primitives/device-trigger.handler.d.ts +1 -1
  386. package/dist/primitives/device-trigger.handler.d.ts.map +1 -1
  387. package/dist/primitives/device-trigger.handler.js +2 -3
  388. package/dist/primitives/device-trigger.handler.js.map +1 -1
  389. package/dist/primitives/device.handler.d.ts +1 -1
  390. package/dist/primitives/device.handler.d.ts.map +1 -1
  391. package/dist/primitives/device.handler.js +2 -3
  392. package/dist/primitives/device.handler.js.map +1 -1
  393. package/dist/primitives/index.d.ts +1 -1
  394. package/dist/primitives/index.d.ts.map +1 -1
  395. package/dist/primitives/index.js +2 -3
  396. package/dist/primitives/index.js.map +1 -1
  397. package/dist/primitives/job.handler.d.ts +6 -1
  398. package/dist/primitives/job.handler.d.ts.map +1 -1
  399. package/dist/primitives/job.handler.js +9 -3
  400. package/dist/primitives/job.handler.js.map +1 -1
  401. package/dist/primitives/mcp-server.handler.d.ts.map +1 -1
  402. package/dist/primitives/mcp-server.handler.js +2 -2
  403. package/dist/primitives/mcp-server.handler.js.map +1 -1
  404. package/dist/primitives/postprocessor.handler.d.ts.map +1 -1
  405. package/dist/primitives/postprocessor.handler.js.map +1 -1
  406. package/dist/primitives/preprocessor.handler.d.ts +1 -1
  407. package/dist/primitives/preprocessor.handler.d.ts.map +1 -1
  408. package/dist/primitives/preprocessor.handler.js +2 -3
  409. package/dist/primitives/preprocessor.handler.js.map +1 -1
  410. package/dist/primitives/skill.handler.d.ts +1 -1
  411. package/dist/primitives/skill.handler.d.ts.map +1 -1
  412. package/dist/primitives/skill.handler.js +34 -13
  413. package/dist/primitives/skill.handler.js.map +1 -1
  414. package/dist/primitives/types.d.ts +1 -1
  415. package/dist/primitives/types.d.ts.map +1 -1
  416. package/dist/primitives/types.js.map +1 -1
  417. package/dist/primitives/webhook.handler.d.ts +3 -2
  418. package/dist/primitives/webhook.handler.d.ts.map +1 -1
  419. package/dist/primitives/webhook.handler.js +9 -4
  420. package/dist/primitives/webhook.handler.js.map +1 -1
  421. package/dist/services/analytics.d.ts.map +1 -1
  422. package/dist/services/analytics.js +4 -5
  423. package/dist/services/analytics.js.map +1 -1
  424. package/dist/services/auth.d.ts +9 -1
  425. package/dist/services/auth.d.ts.map +1 -1
  426. package/dist/services/auth.js +26 -7
  427. package/dist/services/auth.js.map +1 -1
  428. package/dist/services/sandbox.service.d.ts.map +1 -1
  429. package/dist/services/sandbox.service.js +132 -80
  430. package/dist/services/sandbox.service.js.map +1 -1
  431. package/dist/types/api-contracts.d.ts +4 -4
  432. package/dist/types/api-contracts.d.ts.map +1 -1
  433. package/dist/types/index.d.ts +2 -2
  434. package/dist/types/index.d.ts.map +1 -1
  435. package/dist/types/index.js.map +1 -1
  436. package/dist/types/skill.d.ts +7 -7
  437. package/dist/types/skill.d.ts.map +1 -1
  438. package/dist/types/skill.js +2 -2
  439. package/dist/types/skill.js.map +1 -1
  440. package/dist/types/tool-validation.js.map +1 -1
  441. package/dist/types/yaml.types.js +0 -1
  442. package/dist/types/yaml.types.js.map +1 -1
  443. package/dist/utils/aliases.d.ts +7 -0
  444. package/dist/utils/aliases.d.ts.map +1 -0
  445. package/dist/utils/aliases.js +492 -0
  446. package/dist/utils/aliases.js.map +1 -0
  447. package/dist/utils/artifact-loader.d.ts +9 -0
  448. package/dist/utils/artifact-loader.d.ts.map +1 -1
  449. package/dist/utils/artifact-loader.js +16 -6
  450. package/dist/utils/artifact-loader.js.map +1 -1
  451. package/dist/utils/auth-flows.d.ts.map +1 -1
  452. package/dist/utils/auth-flows.js +54 -54
  453. package/dist/utils/auth-flows.js.map +1 -1
  454. package/dist/utils/backup-helpers.d.ts +24 -0
  455. package/dist/utils/backup-helpers.d.ts.map +1 -1
  456. package/dist/utils/backup-helpers.js +102 -22
  457. package/dist/utils/backup-helpers.js.map +1 -1
  458. package/dist/utils/bundle-upload.d.ts +42 -0
  459. package/dist/utils/bundle-upload.d.ts.map +1 -0
  460. package/dist/utils/bundle-upload.js +90 -0
  461. package/dist/utils/bundle-upload.js.map +1 -0
  462. package/dist/utils/chat-attachments.js +1 -1
  463. package/dist/utils/chat-attachments.js.map +1 -1
  464. package/dist/utils/cli.d.ts +24 -6
  465. package/dist/utils/cli.d.ts.map +1 -1
  466. package/dist/utils/cli.js +26 -14
  467. package/dist/utils/cli.js.map +1 -1
  468. package/dist/utils/command-utils.d.ts.map +1 -1
  469. package/dist/utils/command-utils.js +4 -4
  470. package/dist/utils/command-utils.js.map +1 -1
  471. package/dist/utils/deploy-helpers.d.ts.map +1 -1
  472. package/dist/utils/deploy-helpers.js +13 -13
  473. package/dist/utils/deploy-helpers.js.map +1 -1
  474. package/dist/utils/env-loader.utils.d.ts +1 -1
  475. package/dist/utils/env-loader.utils.d.ts.map +1 -1
  476. package/dist/utils/env-loader.utils.js +15 -22
  477. package/dist/utils/env-loader.utils.js.map +1 -1
  478. package/dist/utils/files.d.ts.map +1 -1
  479. package/dist/utils/files.js +23 -13
  480. package/dist/utils/files.js.map +1 -1
  481. package/dist/utils/hints.d.ts +81 -0
  482. package/dist/utils/hints.d.ts.map +1 -0
  483. package/dist/utils/hints.js +81 -0
  484. package/dist/utils/hints.js.map +1 -0
  485. package/dist/utils/init-agent.d.ts.map +1 -1
  486. package/dist/utils/init-agent.js +18 -20
  487. package/dist/utils/init-agent.js.map +1 -1
  488. package/dist/utils/init-helpers.d.ts.map +1 -1
  489. package/dist/utils/init-helpers.js +11 -11
  490. package/dist/utils/init-helpers.js.map +1 -1
  491. package/dist/utils/init-prompts.d.ts.map +1 -1
  492. package/dist/utils/init-prompts.js +34 -36
  493. package/dist/utils/init-prompts.js.map +1 -1
  494. package/dist/utils/prompt-handler.js +1 -1
  495. package/dist/utils/prompt-handler.js.map +1 -1
  496. package/dist/utils/sandbox-storage.d.ts.map +1 -1
  497. package/dist/utils/sandbox-storage.js.map +1 -1
  498. package/dist/utils/sandbox.d.ts +1 -1
  499. package/dist/utils/sandbox.d.ts.map +1 -1
  500. package/dist/utils/sandbox.js +107 -106
  501. package/dist/utils/sandbox.js.map +1 -1
  502. package/dist/utils/semver.js +1 -1
  503. package/dist/utils/semver.js.map +1 -1
  504. package/dist/utils/suggest.d.ts +3 -0
  505. package/dist/utils/suggest.d.ts.map +1 -0
  506. package/dist/utils/suggest.js +32 -0
  507. package/dist/utils/suggest.js.map +1 -0
  508. package/dist/utils/sync-display.d.ts.map +1 -1
  509. package/dist/utils/sync-display.js +15 -13
  510. package/dist/utils/sync-display.js.map +1 -1
  511. package/dist/utils/sync-fetch.d.ts.map +1 -1
  512. package/dist/utils/sync-fetch.js +33 -24
  513. package/dist/utils/sync-fetch.js.map +1 -1
  514. package/dist/utils/version-check.js +1 -1
  515. package/dist/utils/version-check.js.map +1 -1
  516. package/dist/utils/write-info.d.ts +9 -0
  517. package/dist/utils/write-info.d.ts.map +1 -0
  518. package/dist/utils/write-info.js +11 -0
  519. package/dist/utils/write-info.js.map +1 -0
  520. package/docs/README.md +1 -1
  521. package/node_modules/@lua/shared-types/dist/index.d.mts +76 -2
  522. package/node_modules/@lua/shared-types/dist/index.d.ts +76 -2
  523. package/node_modules/@lua/shared-types/dist/index.js +27 -0
  524. package/node_modules/@lua/shared-types/dist/index.mjs +24 -0
  525. package/node_modules/@lua/shared-types/src/ai-generate.types.ts +1 -6
  526. package/node_modules/@lua/shared-types/src/ai-generate.utils.ts +1 -4
  527. package/node_modules/@lua/shared-types/src/channel.type.ts +1 -0
  528. package/node_modules/@lua/shared-types/src/chat-stream.types.ts +11 -0
  529. package/node_modules/@lua/shared-types/src/client-tools.types.ts +47 -0
  530. package/node_modules/@lua/shared-types/src/device.types.ts +6 -6
  531. package/node_modules/@lua/shared-types/src/index.ts +3 -0
  532. package/node_modules/@lua/shared-types/src/sandbox-contract.ts +26 -5
  533. package/node_modules/@lua/shared-types/src/vm-execution-log.types.ts +41 -0
  534. package/package.json +10 -6
  535. package/scripts/build-vendor.mjs +53 -0
  536. package/scripts/vendor-entry.mjs +11 -0
  537. package/template/QUICKSTART.md +33 -33
  538. package/template/README.md +35 -34
  539. package/template/examples/README.md +44 -38
  540. package/template/examples/jobs/AbandonedBasketProcessorJob.ts +30 -31
  541. package/template/examples/jobs/DailyCleanupJob.ts +17 -18
  542. package/template/examples/jobs/DataMigrationJob.ts +18 -23
  543. package/template/examples/jobs/HealthCheckJob.ts +13 -14
  544. package/template/examples/postprocessors/modifyResponse.ts +14 -15
  545. package/template/examples/preprocessors/messageMatching.ts +28 -29
  546. package/template/examples/services/ApiService.ts +68 -64
  547. package/template/examples/services/GetWeather.ts +39 -33
  548. package/template/examples/skills/basket.skill.ts +27 -7
  549. package/template/examples/skills/product.skill.ts +21 -8
  550. package/template/examples/skills/tools/BasketTool.ts +97 -98
  551. package/template/examples/skills/tools/CreateInlineJob.ts +38 -36
  552. package/template/examples/skills/tools/CreatePostTool.ts +27 -28
  553. package/template/examples/skills/tools/CustomDataTool.ts +72 -67
  554. package/template/examples/skills/tools/GameScoreTrackerTool.ts +72 -78
  555. package/template/examples/skills/tools/GetWeatherTool.ts +43 -45
  556. package/template/examples/skills/tools/OrderTool.ts +58 -58
  557. package/template/examples/skills/tools/PaymentTool.ts +43 -43
  558. package/template/examples/skills/tools/PremiumFeatureTool.ts +81 -79
  559. package/template/examples/skills/tools/ProductsTool.ts +68 -69
  560. package/template/examples/skills/tools/SmartBasketTool.ts +43 -44
  561. package/template/examples/skills/tools/UserDataTool.ts +97 -98
  562. package/template/examples/skills/user.skill.ts +7 -8
  563. package/template/examples/webhooks/FileUploadWebhook.ts +38 -31
  564. package/template/examples/webhooks/PaymentWebhook.ts +23 -22
  565. package/template/examples/webhooks/UserEventWebhook.ts +16 -19
  566. package/template/lua.skill.yaml +2 -2
  567. package/template/package.json +1 -1
  568. package/template/src/index.ts +28 -28
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Client-Injected Tools
3
+ *
4
+ * Lets a chat client (Lua Desktop, custom front-ends, future surfaces) declare
5
+ * tools that the agent can call but the *client* renders/handles. Mirrors the
6
+ * pattern used by Claude Code, OpenAI Apps SDK, and Anthropic's MCP — the
7
+ * surface the user sees gets to add capabilities to the agent without changing
8
+ * the agent itself.
9
+ *
10
+ * Tool calls flow through Mastra's existing `tool-call` stream chunks; the
11
+ * server registers the tool with a no-op `execute` (returns `{ ok: true,
12
+ * clientHandled: true }`) so the model sees a clean ack and can continue. The
13
+ * actual rendering / side-effect happens on the client when it sees the
14
+ * tool-call chunk.
15
+ *
16
+ * Tool names are namespaced server-side as `client__<name>` to avoid collisions
17
+ * with built-in tools (skills, MCP, devices, voice). Same pattern as device
18
+ * tools (`device__<name>__<command>`).
19
+ */
20
+ export interface ClientToolDef {
21
+ /** Unprefixed tool name as the client refers to it (e.g. "create_artifact"). Server prefixes with `client__`. */
22
+ name: string;
23
+
24
+ /** Human/LLM-readable description of when to call this tool. */
25
+ description: string;
26
+
27
+ /**
28
+ * JSON Schema for the tool's input. Hydrated server-side into a Zod schema
29
+ * via the shared `jsonSchemaToZod` util. Same subset supported as device
30
+ * tools — object with string/number/boolean/array properties, `required`,
31
+ * `default`, `description`, `enum`.
32
+ */
33
+ parameters: Record<string, unknown>;
34
+ }
35
+
36
+ /**
37
+ * Server-side prefix for client tool names. Keeps client tools from
38
+ * shadowing skills, MCP tools, devices (`device__`), or voice tools.
39
+ */
40
+ export const CLIENT_TOOL_PREFIX = 'client__';
41
+
42
+ /**
43
+ * Maximum number of client tools accepted per request. Keeps the model's
44
+ * tool list bounded — at this many tools the model starts losing precision
45
+ * picking the right one anyway.
46
+ */
47
+ export const CLIENT_TOOLS_MAX = 20;
@@ -64,11 +64,11 @@ export type DeviceStatus = 'online' | 'offline' | 'registered' | 'disabled';
64
64
 
65
65
  /** State of a command in the Valkey state machine */
66
66
  export type CommandState =
67
- | 'PENDING' // Command written to stream, not yet consumed
68
- | 'SENT' // Consumed by target pod, emitted to socket
69
- | 'ACK' // Device acknowledged receipt via Socket.IO ack
70
- | 'COMPLETED' // Device responded successfully
71
- | 'FAILED' // Device responded with error, or validation failed
67
+ | 'PENDING' // Command written to stream, not yet consumed
68
+ | 'SENT' // Consumed by target pod, emitted to socket
69
+ | 'ACK' // Device acknowledged receipt via Socket.IO ack
70
+ | 'COMPLETED' // Device responded successfully
71
+ | 'FAILED' // Device responded with error, or validation failed
72
72
  | 'TIMED_OUT'; // No response within timeout period
73
73
 
74
74
  // =============================================================================
@@ -111,7 +111,7 @@ export interface CommandStreamEntry {
111
111
  export interface ResponseStreamEntry {
112
112
  commandId: string;
113
113
  success: string; // 'true' or 'false' (Redis streams store strings)
114
- data?: string; // JSON-serialized
114
+ data?: string; // JSON-serialized
115
115
  error?: string;
116
116
  }
117
117
 
@@ -5,6 +5,9 @@ export * from './ai-generate.utils';
5
5
  export * from './agent-invocation.types';
6
6
  export * from './sandbox-contract';
7
7
  export * from './device.types';
8
+ export * from './client-tools.types';
8
9
  export * from './model-registry';
9
10
  export * from './agent-config.types';
10
11
  export * from './persona-defaults';
12
+ export * from './vm-execution-log.types';
13
+ export * from './chat-stream.types';
@@ -7,19 +7,40 @@
7
7
  // Required primitive shim names (both class-based and function-based)
8
8
  export const REQUIRED_PRIMITIVE_SHIMS = [
9
9
  // Class-based
10
- 'LuaTool', 'LuaSkill', 'LuaJob', 'LuaWebhook',
11
- 'PreProcessor', 'LuaPreprocessor', 'PostProcessor', 'LuaPostprocessor',
10
+ 'LuaTool',
11
+ 'LuaSkill',
12
+ 'LuaJob',
13
+ 'LuaWebhook',
14
+ 'PreProcessor',
15
+ 'LuaPreprocessor',
16
+ 'PostProcessor',
17
+ 'LuaPostprocessor',
12
18
  'LuaMCPServer',
13
19
  // Function-based
14
- 'defineTool', 'defineSkill', 'defineJob', 'defineWebhook',
15
- 'definePreProcessor', 'definePostProcessor', 'defineMCPServer',
20
+ 'defineTool',
21
+ 'defineSkill',
22
+ 'defineJob',
23
+ 'defineWebhook',
24
+ 'definePreProcessor',
25
+ 'definePostProcessor',
26
+ 'defineMCPServer',
16
27
  ] as const;
17
28
 
18
29
  // Required platform API globals with their expected methods
19
30
  export const REQUIRED_PLATFORM_APIS = {
20
31
  User: ['get', 'getChatHistory'],
21
32
  Products: ['get', 'create', 'delete', 'search', 'getById'],
22
- Baskets: ['create', 'get', 'addItem', 'removeItem', 'clear', 'updateStatus', 'updateMetadata', 'placeOrder', 'getById'],
33
+ Baskets: [
34
+ 'create',
35
+ 'get',
36
+ 'addItem',
37
+ 'removeItem',
38
+ 'clear',
39
+ 'updateStatus',
40
+ 'updateMetadata',
41
+ 'placeOrder',
42
+ 'getById',
43
+ ],
23
44
  Orders: ['create', 'updateStatus', 'updateData', 'get', 'getById'],
24
45
  Data: ['create', 'get', 'getEntry', 'update', 'search', 'delete'],
25
46
  Jobs: ['create', 'getJob', 'getAll'],
@@ -0,0 +1,41 @@
1
+ // ─── Canonical log-source enum ────────────────────────────────────────────────
2
+ // Single source of truth for all `logSource` values written to the
3
+ // `vmExecutionLogs` collection. Every consumer (lua-core, lua-api, lua-cli,
4
+ // lua-web) must import from here — never define the union inline elsewhere.
5
+ //
6
+ // NOTE: This lives in shared-types (not shared-schemas) so that lightweight
7
+ // consumers such as lua-cli can import it without pulling in Mongoose schemas.
8
+
9
+ export const AGENT_LOG_SOURCES = [
10
+ 'skill', // User-defined skill executions
11
+ 'job', // Scheduled job executions
12
+ 'webhook', // HTTP webhook endpoint executions
13
+ 'preprocessor', // Message preprocessor executions
14
+ 'postprocessor', // Response postprocessor executions
15
+ 'user_message', // Incoming user messages
16
+ 'agent_response', // Outgoing agent responses
17
+ 'agent_error', // Chat pipeline errors (billing, validation, LLM failures)
18
+ 'runtime', // Agent runtime / LLM SDK / MCP transport / framework-level logs
19
+ 'mcp', // MCP tool executions
20
+ 'rag', // RAG knowledge-base search executions
21
+ 'device', // Device command executions
22
+ 'device-trigger', // Device trigger handler executions
23
+ ] as const;
24
+
25
+ export type AgentLogSource = (typeof AGENT_LOG_SOURCES)[number];
26
+
27
+ export interface AgentLogMetadata {
28
+ userId?: string;
29
+ agentId?: string;
30
+ /** Agent runtime / conversation thread ID for distributed tracing */
31
+ runId?: string;
32
+ logSource?: AgentLogSource;
33
+ /** The ID of the source entity (skillId, jobId, webhookId, etc.) */
34
+ primitiveId?: string;
35
+ /** The display name of the source entity */
36
+ primitiveName?: string;
37
+ toolId?: string;
38
+ toolName?: string;
39
+ /** Messaging channel: 'whatsapp', 'slack', 'email', etc. */
40
+ channel?: string;
41
+ }
package/package.json CHANGED
@@ -1,18 +1,21 @@
1
1
  {
2
2
  "name": "lua-cli",
3
- "version": "3.12.2",
3
+ "version": "3.14.0",
4
4
  "description": "Build, test, and deploy AI agents with custom tools, webhooks, and scheduled jobs. Features LuaAgent unified configuration, streaming chat, and batch deployment.",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "dist/api-exports.js",
7
7
  "bin": {
8
- "lua": "./dist/index.js"
8
+ "lua": "./dist/index.js",
9
+ "heylua": "./dist/index.js",
10
+ "lua-ai": "./dist/index.js"
9
11
  },
10
12
  "exports": {
11
13
  ".": "./dist/api-exports.js"
12
14
  },
13
15
  "scripts": {
14
16
  "clean": "rm -rf dist",
15
- "build": "npm run clean && tsc && chmod +x dist/index.js",
17
+ "build": "npm run clean && tsc && npm run build:vendor && chmod +x dist/index.js",
18
+ "build:vendor": "node scripts/build-vendor.mjs",
16
19
  "prepack": "node scripts/resolve-workspace-deps.cjs",
17
20
  "postpack": "git checkout package.json",
18
21
  "prepublishOnly": "npm run build",
@@ -61,7 +64,7 @@
61
64
  "LICENSE"
62
65
  ],
63
66
  "dependencies": {
64
- "@lua/shared-types": "workspace:*",
67
+ "@lua/shared-types": "0.0.1",
65
68
  "@tailwindcss/postcss": "^4.1.14",
66
69
  "@tanstack/react-query": "^5.90.11",
67
70
  "@truestamp/canonify": "^2.1.0",
@@ -78,13 +81,15 @@
78
81
  "posthog-node": "^5.26.0",
79
82
  "ts-evaluator": "^2.0.0",
80
83
  "ts-morph": "^27.0.0",
81
- "zod": "^3.24.1",
84
+ "zod": "^3.25.76",
82
85
  "zod-to-json-schema": "^3.24.6"
83
86
  },
84
87
  "bundledDependencies": [
85
88
  "@lua/shared-types"
86
89
  ],
87
90
  "devDependencies": {
91
+ "@swc/core": "^1.15.0",
92
+ "@swc/jest": "^0.2.39",
88
93
  "@types/diff": "^7.0.2",
89
94
  "@types/inquirer": "^9.0.9",
90
95
  "@types/jest": "^29.5.8",
@@ -96,7 +101,6 @@
96
101
  "lodash": "^4.17.21",
97
102
  "nock": "^14.0.11",
98
103
  "stripe": "^19.2.0",
99
- "ts-jest": "^29.1.1",
100
104
  "ts-node": "^10.9.2",
101
105
  "typescript": "^5.9.2"
102
106
  }
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Bundles `zod` and `zod-to-json-schema` into a single self-contained ESM
4
+ * file at `dist/compiler/utils/zod-runtime.mjs`.
5
+ *
6
+ * Why: `schema-converter.ts` previously did `await import('zod')` at runtime,
7
+ * which made the compiler depend on the user's `lua-cli/node_modules/zod`
8
+ * being intact. Real-world npm/pnpm installs are sometimes corrupted (empty
9
+ * package dirs, partial extracts, hoisting conflicts), causing the dynamic
10
+ * import to throw `ERR_MODULE_NOT_FOUND` and tools to ship with no
11
+ * `inputSchema` — a silent failure that breaks deployed agents.
12
+ *
13
+ * This script ships zod inside lua-cli's own dist folder so resolution is
14
+ * anchored to a path lua-cli fully controls (`import.meta.url`-relative).
15
+ */
16
+
17
+ import { build } from 'esbuild';
18
+ import { fileURLToPath } from 'node:url';
19
+ import path from 'node:path';
20
+ import fs from 'node:fs/promises';
21
+
22
+ const __filename = fileURLToPath(import.meta.url);
23
+ const __dirname = path.dirname(__filename);
24
+
25
+ const packageRoot = path.resolve(__dirname, '..');
26
+ const entry = path.join(packageRoot, 'scripts', 'vendor-entry.mjs');
27
+ const outdir = path.join(packageRoot, 'dist', 'compiler', 'utils');
28
+ const outfile = path.join(outdir, 'zod-runtime.mjs');
29
+
30
+ await fs.mkdir(outdir, { recursive: true });
31
+
32
+ const result = await build({
33
+ entryPoints: [entry],
34
+ outfile,
35
+ bundle: true,
36
+ format: 'esm',
37
+ platform: 'node',
38
+ target: 'node18',
39
+ // Keep readable bundle so stack traces remain useful when something goes
40
+ // wrong in user-supplied zod schemas.
41
+ minify: false,
42
+ sourcemap: false,
43
+ legalComments: 'none',
44
+ metafile: true,
45
+ });
46
+
47
+ const stat = await fs.stat(outfile);
48
+ const sizeKb = (stat.size / 1024).toFixed(1);
49
+
50
+ const inputs = Object.keys(result.metafile.inputs).filter(
51
+ (p) => p.includes('node_modules/zod') || p.includes('node_modules/zod-to-json-schema'),
52
+ );
53
+ console.log(`✅ Vendored ${inputs.length} files into dist/compiler/utils/zod-runtime.mjs (${sizeKb} KB)`);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Vendor entry point for the schema converter runtime.
3
+ *
4
+ * Bundled by `scripts/build-vendor.mjs` into
5
+ * `dist/compiler/utils/zod-runtime.mjs` so the compiler does not depend on
6
+ * `node_modules/zod` resolution at runtime. See
7
+ * `src/compiler/utils/schema-converter.ts` for the consumer.
8
+ */
9
+
10
+ export { z } from 'zod';
11
+ export { zodToJsonSchema } from 'zod-to-json-schema';
@@ -21,47 +21,47 @@ mkdir -p src/skills/tools
21
21
  ### Create a tool (`src/skills/tools/MyTool.ts`):
22
22
 
23
23
  ```typescript
24
- import { LuaTool } from "lua-cli";
25
- import { z } from "zod";
24
+ import { LuaTool } from 'lua-cli';
25
+ import { z } from 'zod';
26
26
 
27
27
  export default class MyTool implements LuaTool {
28
- name = "my_tool";
29
- description = "Does something useful";
30
-
31
- inputSchema = z.object({
32
- input: z.string().describe("What to process")
33
- });
34
-
35
- async execute(input: z.infer<typeof this.inputSchema>) {
36
- return { result: `Processed: ${input.input}` };
37
- }
28
+ name = 'my_tool';
29
+ description = 'Does something useful';
30
+
31
+ inputSchema = z.object({
32
+ input: z.string().describe('What to process'),
33
+ });
34
+
35
+ async execute(input: z.infer<typeof this.inputSchema>) {
36
+ return { result: `Processed: ${input.input}` };
37
+ }
38
38
  }
39
39
  ```
40
40
 
41
41
  ### Create a skill (`src/skills/my.skill.ts`):
42
42
 
43
43
  ```typescript
44
- import { LuaSkill } from "lua-cli";
45
- import MyTool from "./tools/MyTool";
44
+ import { LuaSkill } from 'lua-cli';
45
+ import MyTool from './tools/MyTool';
46
46
 
47
47
  export default new LuaSkill({
48
- name: "my-skill",
49
- description: "My custom skill",
50
- context: "Use these tools when...",
51
- tools: [new MyTool()],
48
+ name: 'my-skill',
49
+ description: 'My custom skill',
50
+ context: 'Use these tools when...',
51
+ tools: [new MyTool()],
52
52
  });
53
53
  ```
54
54
 
55
55
  ### Add to your agent (`src/index.ts`):
56
56
 
57
57
  ```typescript
58
- import { LuaAgent } from "lua-cli";
59
- import mySkill from "./skills/my.skill";
58
+ import { LuaAgent } from 'lua-cli';
59
+ import mySkill from './skills/my.skill';
60
60
 
61
61
  const agent = new LuaAgent({
62
- name: `My Agent`,
63
- persona: `You are a helpful assistant.`,
64
- skills: [mySkill],
62
+ name: `My Agent`,
63
+ persona: `You are a helpful assistant.`,
64
+ skills: [mySkill],
65
65
  });
66
66
  ```
67
67
 
@@ -92,16 +92,16 @@ Or check the documentation: https://docs.heylua.ai/examples
92
92
 
93
93
  ## 📖 Commands Reference
94
94
 
95
- | Command | What it does |
96
- |---------|-------------|
97
- | `lua test` | Test tools interactively |
98
- | `lua chat` | Chat with your agent |
99
- | `lua compile` | Compile your code |
100
- | `lua push` | Upload to server |
101
- | `lua deploy` | Deploy to production |
102
- | `lua logs` | View logs |
103
- | `lua env` | Manage environment variables |
104
- | `lua persona` | Update agent persona |
95
+ | Command | What it does |
96
+ | ------------- | ---------------------------- |
97
+ | `lua test` | Test tools interactively |
98
+ | `lua chat` | Chat with your agent |
99
+ | `lua compile` | Compile your code |
100
+ | `lua push` | Upload to server |
101
+ | `lua deploy` | Deploy to production |
102
+ | `lua logs` | View logs |
103
+ | `lua env` | Manage environment variables |
104
+ | `lua persona` | Update agent persona |
105
105
 
106
106
  ## 🔗 Resources
107
107
 
@@ -37,22 +37,22 @@ mkdir -p src/skills/tools
37
37
  Create `src/skills/tools/GreetingTool.ts`:
38
38
 
39
39
  ```typescript
40
- import { LuaTool } from "lua-cli";
41
- import { z } from "zod";
40
+ import { LuaTool } from 'lua-cli';
41
+ import { z } from 'zod';
42
42
 
43
43
  export default class GreetingTool implements LuaTool {
44
- name = "greet_user";
45
- description = "Generate a personalized greeting";
46
-
47
- inputSchema = z.object({
48
- name: z.string().describe("The name of the person to greet")
49
- });
50
-
51
- async execute(input: z.infer<typeof this.inputSchema>) {
52
- return {
53
- greeting: `Hello, ${input.name}! How can I help you today?`
54
- };
55
- }
44
+ name = 'greet_user';
45
+ description = 'Generate a personalized greeting';
46
+
47
+ inputSchema = z.object({
48
+ name: z.string().describe('The name of the person to greet'),
49
+ });
50
+
51
+ async execute(input: z.infer<typeof this.inputSchema>) {
52
+ return {
53
+ greeting: `Hello, ${input.name}! How can I help you today?`,
54
+ };
55
+ }
56
56
  }
57
57
  ```
58
58
 
@@ -61,14 +61,14 @@ export default class GreetingTool implements LuaTool {
61
61
  Create `src/skills/greeting.skill.ts`:
62
62
 
63
63
  ```typescript
64
- import { LuaSkill } from "lua-cli";
65
- import GreetingTool from "./tools/GreetingTool";
64
+ import { LuaSkill } from 'lua-cli';
65
+ import GreetingTool from './tools/GreetingTool';
66
66
 
67
67
  const greetingSkill = new LuaSkill({
68
- name: "greeting-skill",
69
- description: "Tools for greeting users",
70
- context: "Use these tools when the user wants to be greeted",
71
- tools: [new GreetingTool()],
68
+ name: 'greeting-skill',
69
+ description: 'Tools for greeting users',
70
+ context: 'Use these tools when the user wants to be greeted',
71
+ tools: [new GreetingTool()],
72
72
  });
73
73
 
74
74
  export default greetingSkill;
@@ -79,13 +79,13 @@ export default greetingSkill;
79
79
  Update `src/index.ts`:
80
80
 
81
81
  ```typescript
82
- import { LuaAgent } from "lua-cli";
83
- import greetingSkill from "./skills/greeting.skill";
82
+ import { LuaAgent } from 'lua-cli';
83
+ import greetingSkill from './skills/greeting.skill';
84
84
 
85
85
  const agent = new LuaAgent({
86
- name: `My Agent`,
87
- persona: `You are a friendly assistant.`,
88
- skills: [greetingSkill],
86
+ name: `My Agent`,
87
+ persona: `You are a friendly assistant.`,
88
+ skills: [greetingSkill],
89
89
  });
90
90
  ```
91
91
 
@@ -98,14 +98,14 @@ lua chat # Chat with your agent
98
98
 
99
99
  ## 📖 Essential Commands
100
100
 
101
- | Command | Purpose |
102
- |---------|---------|
103
- | `lua test` | Test individual tools interactively |
104
- | `lua chat` | Interactive chat with your agent |
105
- | `lua compile` | Compile your code |
106
- | `lua push` | Upload to server |
107
- | `lua deploy` | Deploy to production |
108
- | `lua logs` | View execution logs |
101
+ | Command | Purpose |
102
+ | ------------- | ----------------------------------- |
103
+ | `lua test` | Test individual tools interactively |
104
+ | `lua chat` | Interactive chat with your agent |
105
+ | `lua compile` | Compile your code |
106
+ | `lua push` | Upload to server |
107
+ | `lua deploy` | Deploy to production |
108
+ | `lua logs` | View execution logs |
109
109
 
110
110
  ## 🎯 Want Examples?
111
111
 
@@ -117,6 +117,7 @@ lua init --with-examples
117
117
  ```
118
118
 
119
119
  This includes:
120
+
120
121
  - ✅ 30+ example tools
121
122
  - ✅ Example webhooks (HTTP endpoints)
122
123
  - ✅ Example scheduled jobs
@@ -138,4 +139,4 @@ This includes:
138
139
 
139
140
  ---
140
141
 
141
- *Built with [Lua CLI](https://www.npmjs.com/package/lua-cli)*
142
+ _Built with [Lua CLI](https://www.npmjs.com/package/lua-cli)_
@@ -5,74 +5,80 @@ This folder contains example implementations of all Lua AI Agent features. Use t
5
5
  ## 📁 What's Inside
6
6
 
7
7
  ### skills/
8
+
8
9
  Example skills and tools demonstrating platform APIs:
9
10
 
10
- | File | What it shows |
11
- |------|--------------|
12
- | `tools/GetWeatherTool.ts` | External API integration |
13
- | `tools/UserDataTool.ts` | User API - get/update user data, chat history, AI generation |
14
- | `tools/ProductsTool.ts` | Products API - CRUD operations |
15
- | `tools/BasketTool.ts` | Baskets API - shopping cart |
16
- | `tools/OrderTool.ts` | Orders API - order management, status & data updates |
17
- | `tools/CustomDataTool.ts` | Data API - custom collections with semantic search |
18
- | `tools/PaymentTool.ts` | Stripe integration, environment variables |
19
- | `tools/SmartBasketTool.ts` | Dynamic job creation from tools |
20
- | `tools/GameScoreTrackerTool.ts` | Jobs API - interval jobs, deactivation, getAll |
11
+ | File | What it shows |
12
+ | ------------------------------- | ------------------------------------------------------------ |
13
+ | `tools/GetWeatherTool.ts` | External API integration |
14
+ | `tools/UserDataTool.ts` | User API - get/update user data, chat history, AI generation |
15
+ | `tools/ProductsTool.ts` | Products API - CRUD operations |
16
+ | `tools/BasketTool.ts` | Baskets API - shopping cart |
17
+ | `tools/OrderTool.ts` | Orders API - order management, status & data updates |
18
+ | `tools/CustomDataTool.ts` | Data API - custom collections with semantic search |
19
+ | `tools/PaymentTool.ts` | Stripe integration, environment variables |
20
+ | `tools/SmartBasketTool.ts` | Dynamic job creation from tools |
21
+ | `tools/GameScoreTrackerTool.ts` | Jobs API - interval jobs, deactivation, getAll |
21
22
 
22
23
  ### webhooks/
24
+
23
25
  HTTP endpoints for external integrations:
24
26
 
25
- | File | What it shows |
26
- |------|--------------|
27
- | `PaymentWebhook.ts` | Stripe payment notifications, Orders API |
28
- | `UserEventWebhook.ts` | External events, **Templates API** (WhatsApp) |
29
- | `FileUploadWebhook.ts` | **CDN API** - file uploads, Data API |
27
+ | File | What it shows |
28
+ | ---------------------- | --------------------------------------------- |
29
+ | `PaymentWebhook.ts` | Stripe payment notifications, Orders API |
30
+ | `UserEventWebhook.ts` | External events, **Templates API** (WhatsApp) |
31
+ | `FileUploadWebhook.ts` | **CDN API** - file uploads, Data API |
30
32
 
31
33
  ### jobs/
34
+
32
35
  Scheduled background tasks:
33
36
 
34
- | File | What it shows |
35
- |------|--------------|
36
- | `HealthCheckJob.ts` | Interval schedule, health monitoring |
37
- | `DailyCleanupJob.ts` | Cron schedule, data cleanup |
38
- | `DataMigrationJob.ts` | One-time schedule, batch processing |
37
+ | File | What it shows |
38
+ | -------------------------------- | --------------------------------------------- |
39
+ | `HealthCheckJob.ts` | Interval schedule, health monitoring |
40
+ | `DailyCleanupJob.ts` | Cron schedule, data cleanup |
41
+ | `DataMigrationJob.ts` | One-time schedule, batch processing |
39
42
  | `AbandonedBasketProcessorJob.ts` | **Templates API** (WhatsApp), batch reminders |
40
43
 
41
44
  ### preprocessors/
45
+
42
46
  Message filtering before the agent:
43
47
 
44
- | File | What it shows |
45
- |------|--------------|
48
+ | File | What it shows |
49
+ | -------------------- | -------------------------------------- |
46
50
  | `messageMatching.ts` | Modify/block messages based on content |
47
51
 
48
52
  ### postprocessors/
53
+
49
54
  Response transformation after the agent:
50
55
 
51
- | File | What it shows |
52
- |------|--------------|
56
+ | File | What it shows |
57
+ | ------------------- | ------------------------- |
53
58
  | `modifyResponse.ts` | Transform agent responses |
54
59
 
55
60
  ### services/
61
+
56
62
  Helper utilities:
57
63
 
58
- | File | What it shows |
59
- |------|--------------|
60
- | `ApiService.ts` | HTTP client wrapper |
64
+ | File | What it shows |
65
+ | --------------- | ------------------------ |
66
+ | `ApiService.ts` | HTTP client wrapper |
61
67
  | `GetWeather.ts` | Mock service for testing |
62
68
 
63
69
  ## 🎯 API Coverage
64
70
 
65
- | API | Where it's demonstrated |
66
- |-----|------------------------|
67
- | **User** | `UserDataTool.ts` |
68
- | **Products** | `ProductsTool.ts` |
69
- | **Baskets** | `BasketTool.ts`, `SmartBasketTool.ts` |
70
- | **Orders** | `OrderTool.ts`, `PaymentWebhook.ts` |
71
- | **Data** | `CustomDataTool.ts`, `FileUploadWebhook.ts` |
72
- | **Jobs** | `SmartBasketTool.ts`, `GameScoreTrackerTool.ts` |
73
- | **AI** | `UserDataTool.ts` |
71
+ | API | Where it's demonstrated |
72
+ | ------------- | ------------------------------------------------------- |
73
+ | **User** | `UserDataTool.ts` |
74
+ | **Products** | `ProductsTool.ts` |
75
+ | **Baskets** | `BasketTool.ts`, `SmartBasketTool.ts` |
76
+ | **Orders** | `OrderTool.ts`, `PaymentWebhook.ts` |
77
+ | **Data** | `CustomDataTool.ts`, `FileUploadWebhook.ts` |
78
+ | **Jobs** | `SmartBasketTool.ts`, `GameScoreTrackerTool.ts` |
79
+ | **AI** | `UserDataTool.ts` |
74
80
  | **Templates** | `UserEventWebhook.ts`, `AbandonedBasketProcessorJob.ts` |
75
- | **CDN** | `FileUploadWebhook.ts` |
81
+ | **CDN** | `FileUploadWebhook.ts` |
76
82
 
77
83
  ## 🚀 How to Use
78
84