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
@@ -1,94 +1,93 @@
1
- import { LuaTool, Products } from "lua-cli";
2
- import { z } from "zod";
1
+ import { LuaTool, Products } from 'lua-cli';
2
+ import { z } from 'zod';
3
3
  import { BasketStatus, OrderStatus } from 'lua-cli';
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  export class SearchProductsTool implements LuaTool {
6
- name = "search_products";
7
- description = "Search for products";
8
- inputSchema = z.object({
9
- query: z.string()
10
- });
6
+ name = 'search_products';
7
+ description = 'Search for products';
8
+ inputSchema = z.object({
9
+ query: z.string(),
10
+ });
11
11
 
12
- constructor() { }
12
+ constructor() {}
13
13
 
14
- async execute(input: z.infer<typeof this.inputSchema>) {
15
- return await Products.search(input.query);
16
- }
14
+ async execute(input: z.infer<typeof this.inputSchema>) {
15
+ return await Products.search(input.query);
16
+ }
17
17
  }
18
18
 
19
19
  export class GetAllProductsTool implements LuaTool {
20
- name = "get_all_products";
21
- description = "Get all products";
22
- inputSchema = z.object({
23
- page: z.number().optional(),
24
- limit: z.number().optional()
25
- });
26
-
27
- async execute(input: z.infer<typeof this.inputSchema>) {
28
- return await Products.get(input.page, input.limit);
29
- }
20
+ name = 'get_all_products';
21
+ description = 'Get all products';
22
+ inputSchema = z.object({
23
+ page: z.number().optional(),
24
+ limit: z.number().optional(),
25
+ });
26
+
27
+ async execute(input: z.infer<typeof this.inputSchema>) {
28
+ return await Products.get(input.page, input.limit);
29
+ }
30
30
  }
31
31
 
32
32
  export class CreateProductTool implements LuaTool {
33
- name = "create_product";
34
- description = "Create a new product";
35
- inputSchema = z.object({
36
- product: z.object({
37
- name: z.string(),
38
- description: z.string(),
39
- price: z.number()
40
- })
41
- });
42
-
43
- async execute(input: z.infer<typeof this.inputSchema>) {
44
- return Products.create({ ...input.product, id: uuidv4() });
45
- }
33
+ name = 'create_product';
34
+ description = 'Create a new product';
35
+ inputSchema = z.object({
36
+ product: z.object({
37
+ name: z.string(),
38
+ description: z.string(),
39
+ price: z.number(),
40
+ }),
41
+ });
42
+
43
+ async execute(input: z.infer<typeof this.inputSchema>) {
44
+ return Products.create({ ...input.product, id: uuidv4() });
45
+ }
46
46
  }
47
47
 
48
48
  export class UpdateProductTool implements LuaTool {
49
- name = "update_product";
50
- description = "Update an existing product";
51
- inputSchema = z.object({
52
- product: z.object({
53
- id: z.string(),
54
- name: z.string(),
55
- description: z.string(),
56
- price: z.number()
57
- })
58
- });
59
-
60
- async execute(input: z.infer<typeof this.inputSchema>) {
61
- const product = await Products.getById(input.product.id);
62
- return product.update({ ...input.product });
63
- }
49
+ name = 'update_product';
50
+ description = 'Update an existing product';
51
+ inputSchema = z.object({
52
+ product: z.object({
53
+ id: z.string(),
54
+ name: z.string(),
55
+ description: z.string(),
56
+ price: z.number(),
57
+ }),
58
+ });
59
+
60
+ async execute(input: z.infer<typeof this.inputSchema>) {
61
+ const product = await Products.getById(input.product.id);
62
+ return product.update({ ...input.product });
63
+ }
64
64
  }
65
65
 
66
66
  export class GetProductByIdTool implements LuaTool {
67
- name = "get_product_by_id";
68
- description = "Get a product by its unique identifier";
69
- inputSchema = z.object({
70
- id: z.string()
71
- });
72
-
73
- async execute(input: z.infer<typeof this.inputSchema>) {
74
- return Products.getById(input.id);
75
- }
67
+ name = 'get_product_by_id';
68
+ description = 'Get a product by its unique identifier';
69
+ inputSchema = z.object({
70
+ id: z.string(),
71
+ });
72
+
73
+ async execute(input: z.infer<typeof this.inputSchema>) {
74
+ return Products.getById(input.id);
75
+ }
76
76
  }
77
77
 
78
78
  export class DeleteProductTool implements LuaTool {
79
- name = "delete_product";
80
- description = "Delete an existing product";
81
- inputSchema = z.object({
82
- id: z.string()
83
- });
84
-
85
- async execute(input: z.infer<typeof this.inputSchema>) {
86
- const product = await Products.getById(input.id);
87
- return product.delete();
88
- }
79
+ name = 'delete_product';
80
+ description = 'Delete an existing product';
81
+ inputSchema = z.object({
82
+ id: z.string(),
83
+ });
84
+
85
+ async execute(input: z.infer<typeof this.inputSchema>) {
86
+ const product = await Products.getById(input.id);
87
+ return product.delete();
88
+ }
89
89
  }
90
90
 
91
-
92
91
  // export class CreateOrderTool implements LuaTool {
93
92
  // name = "create_order";
94
93
  // description = "Create a new order";
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Smart Basket Tool Example
3
- *
3
+ *
4
4
  * This tool creates a basket AND schedules a follow-up job to check if it was abandoned.
5
5
  * Demonstrates: Dynamic job creation, basket management, and automated follow-ups.
6
- *
6
+ *
7
7
  * Use case: E-commerce abandoned cart recovery
8
8
  */
9
9
 
10
- import { LuaTool, Baskets, Jobs, Data } from "lua-cli";
11
- import { z } from "zod";
10
+ import { LuaTool, Baskets, Jobs, Data } from 'lua-cli';
11
+ import { z } from 'zod';
12
12
 
13
13
  export class CreateSmartBasketTool implements LuaTool {
14
- name = "create_smart_basket";
15
- description = "Creates a basket with automatic abandoned cart reminder";
16
-
14
+ name = 'create_smart_basket';
15
+ description = 'Creates a basket with automatic abandoned cart reminder';
16
+
17
17
  inputSchema = z.object({
18
- currency: z.string().default('USD')
18
+ currency: z.string().default('USD'),
19
19
  });
20
20
 
21
21
  async execute(input: { currency: string }) {
@@ -27,8 +27,8 @@ export class CreateSmartBasketTool implements LuaTool {
27
27
  metadata: {
28
28
  createdBy: 'smart-basket-tool',
29
29
  reminderScheduled: true,
30
- createdAt: new Date().toISOString()
31
- }
30
+ createdAt: new Date().toISOString(),
31
+ },
32
32
  };
33
33
 
34
34
  const basketInstance = await Baskets.create(basketData);
@@ -43,38 +43,38 @@ export class CreateSmartBasketTool implements LuaTool {
43
43
  const basketId = basketInfo.id;
44
44
 
45
45
  // Create a dynamic one-time job using the Jobs API!
46
-
46
+
47
47
  const job = await Jobs.create({
48
48
  name: `check-basket-${basketId}`,
49
49
  description: `Check if basket ${basketId} was checked out`,
50
-
50
+
51
51
  // One-time job that runs in 3 hours
52
52
  schedule: {
53
53
  type: 'once',
54
- executeAt: checkTime
54
+ executeAt: checkTime,
55
55
  },
56
-
57
- timeout: 60, // 1 minute timeout
58
-
56
+
57
+ timeout: 60, // 1 minute timeout
58
+
59
59
  // Write normal TypeScript code! It will be compiled automatically
60
60
  execute: async () => {
61
61
  console.log(`⏰ Checking basket ${basketId}...`);
62
-
62
+
63
63
  const basketInstance = await Baskets.getById(basketId);
64
64
  const basket = await basketInstance.getData();
65
-
65
+
66
66
  if (basket.status === 'active' || basket.status === 'pending') {
67
67
  // Basket is still active - it was abandoned!
68
68
  console.log(`🛒 Basket ${basketId} was abandoned`);
69
-
69
+
70
70
  await Data.create('abandoned-baskets', {
71
71
  basketId: basketId,
72
72
  currency: basket.currency,
73
73
  itemCount: basket.items?.length || 0,
74
74
  totalValue: basket.total || 0,
75
- abandonedAt: new Date().toISOString()
75
+ abandonedAt: new Date().toISOString(),
76
76
  });
77
-
77
+
78
78
  console.log('📧 Sending abandoned cart reminder email...');
79
79
  // TODO: Integrate with email service
80
80
  // await sendEmail({
@@ -82,21 +82,21 @@ export class CreateSmartBasketTool implements LuaTool {
82
82
  // template: 'abandoned-cart',
83
83
  // data: { basket }
84
84
  // });
85
-
86
- return {
87
- abandoned: true,
85
+
86
+ return {
87
+ abandoned: true,
88
88
  basketId: basketId,
89
- reminderSent: true
89
+ reminderSent: true,
90
90
  };
91
91
  }
92
-
92
+
93
93
  console.log(`✅ Basket ${basketId} was checked out`);
94
- return {
95
- abandoned: false,
94
+ return {
95
+ abandoned: false,
96
96
  basketId: basketId,
97
- status: basket.status
97
+ status: basket.status,
98
98
  };
99
- }
99
+ },
100
100
  });
101
101
 
102
102
  console.log(`⏰ One-time job created: ${job.jobId}`);
@@ -108,29 +108,29 @@ export class CreateSmartBasketTool implements LuaTool {
108
108
  basket: {
109
109
  id: basketInfo.id,
110
110
  currency: basketInfo.currency,
111
- status: basketInfo.status
111
+ status: basketInfo.status,
112
112
  },
113
113
  scheduledJob: {
114
114
  jobId: job.jobId,
115
115
  name: job.name,
116
116
  scheduledFor: checkTime.toISOString(),
117
- message: 'One-time job will check basket in 3 hours'
118
- }
117
+ message: 'One-time job will check basket in 3 hours',
118
+ },
119
119
  };
120
120
  }
121
121
  }
122
122
 
123
123
  /**
124
124
  * Check Abandoned Baskets Tool
125
- *
125
+ *
126
126
  * This tool can be called manually or by a recurring job to check for abandoned baskets.
127
127
  */
128
128
  export class CheckAbandonedBasketsTool implements LuaTool {
129
- name = "check_abandoned_baskets";
130
- description = "Checks for abandoned baskets and sends reminders";
131
-
129
+ name = 'check_abandoned_baskets';
130
+ description = 'Checks for abandoned baskets and sends reminders';
131
+
132
132
  inputSchema = z.object({
133
- basketId: z.string().optional()
133
+ basketId: z.string().optional(),
134
134
  });
135
135
 
136
136
  async execute(input: { basketId?: string }) {
@@ -143,14 +143,14 @@ export class CheckAbandonedBasketsTool implements LuaTool {
143
143
  if (input.basketId) {
144
144
  // Check specific basket
145
145
  const specific = abandonedBaskets.find((ab: any) => ab.data.basketId === input.basketId);
146
-
146
+
147
147
  if (specific) {
148
148
  return {
149
149
  basketId: input.basketId,
150
150
  abandoned: true,
151
151
  abandonedAt: specific.data.abandonedAt,
152
152
  itemCount: specific.data.itemCount,
153
- totalValue: specific.data.totalValue
153
+ totalValue: specific.data.totalValue,
154
154
  };
155
155
  }
156
156
 
@@ -162,7 +162,7 @@ export class CheckAbandonedBasketsTool implements LuaTool {
162
162
  basketId: input.basketId,
163
163
  abandoned: false,
164
164
  status: basket.status,
165
- itemCount: basket.items?.length || 0
165
+ itemCount: basket.items?.length || 0,
166
166
  };
167
167
  }
168
168
 
@@ -172,7 +172,7 @@ export class CheckAbandonedBasketsTool implements LuaTool {
172
172
  currency: ab.data.currency,
173
173
  itemCount: ab.data.itemCount,
174
174
  totalValue: ab.data.totalValue,
175
- abandonedAt: ab.data.abandonedAt
175
+ abandonedAt: ab.data.abandonedAt,
176
176
  }));
177
177
 
178
178
  console.log(`🛒 Found ${abandonedBaskets.length} abandoned baskets`);
@@ -181,8 +181,7 @@ export class CheckAbandonedBasketsTool implements LuaTool {
181
181
  success: true,
182
182
  abandonedCount: abandonedBaskets.length,
183
183
  abandonedBaskets: summary,
184
- timestamp: new Date().toISOString()
184
+ timestamp: new Date().toISOString(),
185
185
  };
186
186
  }
187
187
  }
188
-
@@ -1,49 +1,48 @@
1
- import { AI, LuaTool, User, Jobs, JobInstance } from "lua-cli";
2
- import { z } from "zod";
3
-
1
+ import { AI, LuaTool, User, Jobs, JobInstance } from 'lua-cli';
2
+ import { z } from 'zod';
4
3
 
5
4
  export class GetUserDataTool implements LuaTool {
6
- name = "get_user_data";
7
- description = "Get the user data for a given user id";
8
- inputSchema = z.object({ });
5
+ name = 'get_user_data';
6
+ description = 'Get the user data for a given user id';
7
+ inputSchema = z.object({});
9
8
 
10
- constructor() {}
9
+ constructor() {}
11
10
 
12
- async execute(input: z.infer<typeof this.inputSchema>) {
13
- const user = await User.get();
14
- return {
15
- success: true,
16
- message: "User data retrieved",
17
- data: user.data,
18
- name: user.name,
19
- age: user.age
20
- };
21
- }
11
+ async execute(input: z.infer<typeof this.inputSchema>) {
12
+ const user = await User.get();
13
+ return {
14
+ success: true,
15
+ message: 'User data retrieved',
16
+ data: user.data,
17
+ name: user.name,
18
+ age: user.age,
19
+ };
20
+ }
22
21
  }
23
22
 
24
23
  export class UpdateUserDataTool implements LuaTool {
25
- name = "update_user_data";
26
- description = "Update the user data for a given user id";
27
- inputSchema = z.object({
28
- data: z.object({
29
- name: z.string().optional(),
30
- age: z.number().optional()
31
- })
32
- });
24
+ name = 'update_user_data';
25
+ description = 'Update the user data for a given user id';
26
+ inputSchema = z.object({
27
+ data: z.object({
28
+ name: z.string().optional(),
29
+ age: z.number().optional(),
30
+ }),
31
+ });
33
32
 
34
- constructor() {}
33
+ constructor() {}
35
34
 
36
- async execute(input: z.infer<typeof this.inputSchema>) {
37
- const user = await User.get(); //get instance of user
38
- user.name = input.data.name;
39
- user.age = input.data.age;
40
- await user.save();
41
- // await user.send([{ type: "text", text: "Hello, how are you?" }]);
42
- return {
43
- success: true,
44
- message: "User data updated"
45
- };
46
- }
35
+ async execute(input: z.infer<typeof this.inputSchema>) {
36
+ const user = await User.get(); //get instance of user
37
+ user.name = input.data.name;
38
+ user.age = input.data.age;
39
+ await user.save();
40
+ // await user.send([{ type: "text", text: "Hello, how are you?" }]);
41
+ return {
42
+ success: true,
43
+ message: 'User data updated',
44
+ };
45
+ }
47
46
  }
48
47
 
49
48
  /**
@@ -51,72 +50,72 @@ export class UpdateUserDataTool implements LuaTool {
51
50
  * Useful for analyzing past interactions or providing context.
52
51
  */
53
52
  export class GetChatHistoryTool implements LuaTool {
54
- name = "get_chat_history";
55
- description = "Get the conversation history for the current user";
56
- inputSchema = z.object({
57
- limit: z.number().optional().describe("Maximum number of messages to retrieve")
58
- });
53
+ name = 'get_chat_history';
54
+ description = 'Get the conversation history for the current user';
55
+ inputSchema = z.object({
56
+ limit: z.number().optional().describe('Maximum number of messages to retrieve'),
57
+ });
58
+
59
+ async execute(input: z.infer<typeof this.inputSchema>) {
60
+ const history = await User.getChatHistory();
59
61
 
60
- async execute(input: z.infer<typeof this.inputSchema>) {
61
- const history = await User.getChatHistory();
62
-
63
- // Optionally limit the results
64
- const messages = input.limit ? history.slice(-input.limit) : history;
65
-
66
- // Format the history for easier reading
67
- const formattedHistory = messages.map(msg => ({
68
- role: msg.role,
69
- content: msg.content,
70
- createdAt: msg.createdAt,
71
- id: msg.id
72
- }));
73
-
74
- return {
75
- success: true,
76
- totalMessages: history.length,
77
- returnedMessages: messages.length,
78
- history: formattedHistory
79
- };
80
- }
62
+ // Optionally limit the results
63
+ const messages = input.limit ? history.slice(-input.limit) : history;
64
+
65
+ // Format the history for easier reading
66
+ const formattedHistory = messages.map((msg) => ({
67
+ role: msg.role,
68
+ content: msg.content,
69
+ createdAt: msg.createdAt,
70
+ id: msg.id,
71
+ }));
72
+
73
+ return {
74
+ success: true,
75
+ totalMessages: history.length,
76
+ returnedMessages: messages.length,
77
+ history: formattedHistory,
78
+ };
79
+ }
81
80
  }
82
81
 
83
82
  export class WritePoemTool implements LuaTool {
84
- name = "write_poem";
85
- description = "Write a poem about a given topic";
86
- inputSchema = z.object({
87
- topic: z.string()
88
- });
89
- async execute(input: z.infer<typeof this.inputSchema>) {
90
- return await AI.generate("Write a poem about the following topic:", [{ type: "text", text: input.topic }]);
91
- }
83
+ name = 'write_poem';
84
+ description = 'Write a poem about a given topic';
85
+ inputSchema = z.object({
86
+ topic: z.string(),
87
+ });
88
+ async execute(input: z.infer<typeof this.inputSchema>) {
89
+ return await AI.generate('Write a poem about the following topic:', [{ type: 'text', text: input.topic }]);
90
+ }
92
91
  }
93
92
 
94
93
  export class CreateInlineJobTool implements LuaTool {
95
- name = "create-job-to-notify-user";
96
- description = "Create a new job to notify the user";
97
- inputSchema = z.object({
98
- message: z.string()
94
+ name = 'create-job-to-notify-user';
95
+ description = 'Create a new job to notify the user';
96
+ inputSchema = z.object({
97
+ message: z.string(),
98
+ });
99
+ async execute(input: z.infer<typeof this.inputSchema>) {
100
+ //create a job to notify the user in exactly 20 seconds
101
+ const job = await Jobs.create({
102
+ name: 'notify-user-new',
103
+ description: 'Notify the user',
104
+ schedule: {
105
+ type: 'once',
106
+ executeAt: new Date(Date.now() + 0),
107
+ },
108
+ metadata: {
109
+ message: input.message,
110
+ },
111
+ execute: async (jobInstance: JobInstance) => {
112
+ const user = await jobInstance.user();
113
+ const metadata = jobInstance.metadata; //we do this to access runtime variables in the job when the job is executed
114
+ console.log('Metadata', metadata);
115
+ await user.send([{ type: 'text', text: metadata.message }]);
116
+ return { success: true, message: 'User notified' };
117
+ },
99
118
  });
100
- async execute(input: z.infer<typeof this.inputSchema>) {
101
- //create a job to notify the user in exactly 20 seconds
102
- const job = await Jobs.create({
103
- name: "notify-user-new",
104
- description: "Notify the user",
105
- schedule: {
106
- type: "once",
107
- executeAt: new Date(Date.now() + 0)
108
- },
109
- metadata: {
110
- message: input.message
111
- },
112
- execute: async (jobInstance: JobInstance) => {
113
- const user = await jobInstance.user();
114
- const metadata = jobInstance.metadata; //we do this to access runtime variables in the job when the job is executed
115
- console.log("Metadata", metadata);
116
- await user.send([{ type: "text", text: metadata.message }]);
117
- return { success: true, message: "User notified" };
118
- }
119
- });
120
- return { success: true, job: job };
121
- }
122
- }
119
+ return { success: true, job: job };
120
+ }
121
+ }
@@ -1,12 +1,11 @@
1
- import { LuaSkill } from "lua-cli";
2
- import { CreateInlineJobTool, GetUserDataTool, UpdateUserDataTool, WritePoemTool } from "../skills/tools/UserDataTool";
3
-
1
+ import { LuaSkill } from 'lua-cli';
2
+ import { CreateInlineJobTool, GetUserDataTool, UpdateUserDataTool, WritePoemTool } from '../skills/tools/UserDataTool';
4
3
 
5
4
  const userSkill = new LuaSkill({
6
- name: "user-skill",
7
- description: "User management skill",
8
- context: "User management skill",
9
- tools: [new GetUserDataTool(), new UpdateUserDataTool(), new WritePoemTool(), new CreateInlineJobTool()],
5
+ name: 'user-skill',
6
+ description: 'User management skill',
7
+ context: 'User management skill',
8
+ tools: [new GetUserDataTool(), new UpdateUserDataTool(), new WritePoemTool(), new CreateInlineJobTool()],
10
9
  });
11
10
 
12
- export default userSkill;
11
+ export default userSkill;