lua-cli 3.13.0 → 3.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) 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 +5 -5
  59. package/dist/api/logs.api.service.d.ts.map +1 -1
  60. package/dist/api/logs.api.service.js +9 -9
  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 +190 -199
  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.js +163 -163
  119. package/dist/commands/channels.js.map +1 -1
  120. package/dist/commands/chat-log-probe.d.ts.map +1 -1
  121. package/dist/commands/chat-log-probe.js +2 -6
  122. package/dist/commands/chat-log-probe.js.map +1 -1
  123. package/dist/commands/chat.d.ts.map +1 -1
  124. package/dist/commands/chat.js +33 -33
  125. package/dist/commands/chat.js.map +1 -1
  126. package/dist/commands/chatClear.d.ts.map +1 -1
  127. package/dist/commands/chatClear.js +10 -6
  128. package/dist/commands/chatClear.js.map +1 -1
  129. package/dist/commands/compile.d.ts.map +1 -1
  130. package/dist/commands/compile.js +18 -11
  131. package/dist/commands/compile.js.map +1 -1
  132. package/dist/commands/completion.js +1 -1
  133. package/dist/commands/configure.js +5 -5
  134. package/dist/commands/deploy.d.ts.map +1 -1
  135. package/dist/commands/deploy.js +27 -15
  136. package/dist/commands/deploy.js.map +1 -1
  137. package/dist/commands/destroy.d.ts.map +1 -1
  138. package/dist/commands/destroy.js +27 -17
  139. package/dist/commands/destroy.js.map +1 -1
  140. package/dist/commands/devices.js +1 -3
  141. package/dist/commands/devices.js.map +1 -1
  142. package/dist/commands/env.js +58 -60
  143. package/dist/commands/env.js.map +1 -1
  144. package/dist/commands/features.js +69 -70
  145. package/dist/commands/features.js.map +1 -1
  146. package/dist/commands/governance.d.ts.map +1 -1
  147. package/dist/commands/governance.js +13 -7
  148. package/dist/commands/governance.js.map +1 -1
  149. package/dist/commands/index.d.ts +37 -37
  150. package/dist/commands/index.js +37 -37
  151. package/dist/commands/init.d.ts.map +1 -1
  152. package/dist/commands/init.js +69 -69
  153. package/dist/commands/init.js.map +1 -1
  154. package/dist/commands/integrations.d.ts.map +1 -1
  155. package/dist/commands/integrations.js +369 -339
  156. package/dist/commands/integrations.js.map +1 -1
  157. package/dist/commands/jobs.d.ts.map +1 -1
  158. package/dist/commands/jobs.js +56 -62
  159. package/dist/commands/jobs.js.map +1 -1
  160. package/dist/commands/log-tip.d.ts.map +1 -1
  161. package/dist/commands/log-tip.js +2 -10
  162. package/dist/commands/log-tip.js.map +1 -1
  163. package/dist/commands/logs.d.ts.map +1 -1
  164. package/dist/commands/logs.js +80 -73
  165. package/dist/commands/logs.js.map +1 -1
  166. package/dist/commands/marketplace.d.ts.map +1 -1
  167. package/dist/commands/marketplace.js +368 -403
  168. package/dist/commands/marketplace.js.map +1 -1
  169. package/dist/commands/mcp.d.ts.map +1 -1
  170. package/dist/commands/mcp.js +38 -38
  171. package/dist/commands/mcp.js.map +1 -1
  172. package/dist/commands/models.d.ts.map +1 -1
  173. package/dist/commands/models.js +2 -2
  174. package/dist/commands/models.js.map +1 -1
  175. package/dist/commands/persona.js +96 -96
  176. package/dist/commands/persona.js.map +1 -1
  177. package/dist/commands/postprocessors.js +44 -44
  178. package/dist/commands/postprocessors.js.map +1 -1
  179. package/dist/commands/preprocessors.js +44 -44
  180. package/dist/commands/preprocessors.js.map +1 -1
  181. package/dist/commands/production.js +99 -101
  182. package/dist/commands/production.js.map +1 -1
  183. package/dist/commands/push.d.ts.map +1 -1
  184. package/dist/commands/push.js +130 -81
  185. package/dist/commands/push.js.map +1 -1
  186. package/dist/commands/pushBackup.d.ts.map +1 -1
  187. package/dist/commands/pushBackup.js +4 -6
  188. package/dist/commands/pushBackup.js.map +1 -1
  189. package/dist/commands/resources.js +45 -48
  190. package/dist/commands/resources.js.map +1 -1
  191. package/dist/commands/skills.d.ts.map +1 -1
  192. package/dist/commands/skills.js +68 -55
  193. package/dist/commands/skills.js.map +1 -1
  194. package/dist/commands/status.d.ts.map +1 -1
  195. package/dist/commands/status.js +11 -14
  196. package/dist/commands/status.js.map +1 -1
  197. package/dist/commands/sync.d.ts.map +1 -1
  198. package/dist/commands/sync.js +34 -29
  199. package/dist/commands/sync.js.map +1 -1
  200. package/dist/commands/test-output.helpers.js +1 -1
  201. package/dist/commands/test-output.helpers.js.map +1 -1
  202. package/dist/commands/test.d.ts.map +1 -1
  203. package/dist/commands/test.js +81 -71
  204. package/dist/commands/test.js.map +1 -1
  205. package/dist/commands/update.d.ts.map +1 -1
  206. package/dist/commands/update.js +15 -3
  207. package/dist/commands/update.js.map +1 -1
  208. package/dist/commands/webhooks.d.ts.map +1 -1
  209. package/dist/commands/webhooks.js +60 -66
  210. package/dist/commands/webhooks.js.map +1 -1
  211. package/dist/compiler/agent-traverser.d.ts.map +1 -1
  212. package/dist/compiler/agent-traverser.js +2 -4
  213. package/dist/compiler/agent-traverser.js.map +1 -1
  214. package/dist/compiler/bundler.d.ts.map +1 -1
  215. package/dist/compiler/bundler.js +5 -5
  216. package/dist/compiler/bundler.js.map +1 -1
  217. package/dist/compiler/compiler.d.ts.map +1 -1
  218. package/dist/compiler/compiler.js +12 -11
  219. package/dist/compiler/compiler.js.map +1 -1
  220. package/dist/compiler/index.d.ts +2 -2
  221. package/dist/compiler/index.d.ts.map +1 -1
  222. package/dist/compiler/index.js +2 -2
  223. package/dist/compiler/index.js.map +1 -1
  224. package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -1
  225. package/dist/compiler/plugins/agent.plugin.js +2 -4
  226. package/dist/compiler/plugins/agent.plugin.js.map +1 -1
  227. package/dist/compiler/plugins/base.d.ts.map +1 -1
  228. package/dist/compiler/plugins/base.js +3 -3
  229. package/dist/compiler/plugins/base.js.map +1 -1
  230. package/dist/compiler/plugins/device-trigger.plugin.d.ts.map +1 -1
  231. package/dist/compiler/plugins/device-trigger.plugin.js +8 -4
  232. package/dist/compiler/plugins/device-trigger.plugin.js.map +1 -1
  233. package/dist/compiler/plugins/device.plugin.d.ts.map +1 -1
  234. package/dist/compiler/plugins/device.plugin.js +4 -4
  235. package/dist/compiler/plugins/device.plugin.js.map +1 -1
  236. package/dist/compiler/plugins/job.plugin.d.ts.map +1 -1
  237. package/dist/compiler/plugins/job.plugin.js +15 -11
  238. package/dist/compiler/plugins/job.plugin.js.map +1 -1
  239. package/dist/compiler/plugins/mcp-server.plugin.d.ts.map +1 -1
  240. package/dist/compiler/plugins/mcp-server.plugin.js +10 -4
  241. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -1
  242. package/dist/compiler/plugins/registry.js +2 -2
  243. package/dist/compiler/plugins/registry.js.map +1 -1
  244. package/dist/compiler/plugins/skill.plugin.d.ts.map +1 -1
  245. package/dist/compiler/plugins/skill.plugin.js +8 -13
  246. package/dist/compiler/plugins/skill.plugin.js.map +1 -1
  247. package/dist/compiler/plugins/tool.plugin.d.ts.map +1 -1
  248. package/dist/compiler/plugins/tool.plugin.js +13 -9
  249. package/dist/compiler/plugins/tool.plugin.js.map +1 -1
  250. package/dist/compiler/plugins/webhook.plugin.d.ts.map +1 -1
  251. package/dist/compiler/plugins/webhook.plugin.js +7 -5
  252. package/dist/compiler/plugins/webhook.plugin.js.map +1 -1
  253. package/dist/compiler/source-writer.d.ts.map +1 -1
  254. package/dist/compiler/source-writer.js +2 -4
  255. package/dist/compiler/source-writer.js.map +1 -1
  256. package/dist/compiler/utils/ast-helpers.d.ts.map +1 -1
  257. package/dist/compiler/utils/ast-helpers.js +12 -7
  258. package/dist/compiler/utils/ast-helpers.js.map +1 -1
  259. package/dist/compiler/utils/common.d.ts.map +1 -1
  260. package/dist/compiler/utils/common.js +1 -11
  261. package/dist/compiler/utils/common.js.map +1 -1
  262. package/dist/compiler/utils/file-discovery.d.ts.map +1 -1
  263. package/dist/compiler/utils/file-discovery.js +2 -10
  264. package/dist/compiler/utils/file-discovery.js.map +1 -1
  265. package/dist/compiler/utils/path-resolver.d.ts.map +1 -1
  266. package/dist/compiler/utils/path-resolver.js.map +1 -1
  267. package/dist/compiler/utils/reference-resolver.d.ts.map +1 -1
  268. package/dist/compiler/utils/reference-resolver.js +4 -8
  269. package/dist/compiler/utils/reference-resolver.js.map +1 -1
  270. package/dist/compiler/utils/schema-converter.d.ts.map +1 -1
  271. package/dist/compiler/utils/schema-converter.js +1 -4
  272. package/dist/compiler/utils/schema-converter.js.map +1 -1
  273. package/dist/config/compile.constants.d.ts.map +1 -1
  274. package/dist/config/compile.constants.js +3 -1
  275. package/dist/config/compile.constants.js.map +1 -1
  276. package/dist/config/constants.d.ts.map +1 -1
  277. package/dist/config/constants.js +1 -5
  278. package/dist/config/constants.js.map +1 -1
  279. package/dist/errors/auth.error.d.ts.map +1 -1
  280. package/dist/errors/auth.error.js +3 -5
  281. package/dist/errors/auth.error.js.map +1 -1
  282. package/dist/errors/index.d.ts +1 -1
  283. package/dist/errors/index.js +1 -1
  284. package/dist/index.js +8 -8
  285. package/dist/index.js.map +1 -1
  286. package/dist/instances/basket.instance.d.ts +3 -3
  287. package/dist/instances/basket.instance.d.ts.map +1 -1
  288. package/dist/instances/basket.instance.js +26 -8
  289. package/dist/instances/basket.instance.js.map +1 -1
  290. package/dist/instances/data.entry.instance.d.ts +2 -2
  291. package/dist/instances/data.entry.instance.d.ts.map +1 -1
  292. package/dist/instances/data.entry.instance.js +5 -5
  293. package/dist/instances/data.entry.instance.js.map +1 -1
  294. package/dist/instances/order.instance.d.ts +2 -2
  295. package/dist/instances/order.instance.d.ts.map +1 -1
  296. package/dist/instances/order.instance.js +20 -9
  297. package/dist/instances/order.instance.js.map +1 -1
  298. package/dist/instances/product.instance.d.ts +1 -1
  299. package/dist/instances/product.instance.d.ts.map +1 -1
  300. package/dist/instances/product.instance.js +3 -3
  301. package/dist/instances/product.instance.js.map +1 -1
  302. package/dist/instances/product.pagination.instance.d.ts +2 -2
  303. package/dist/instances/product.pagination.instance.d.ts.map +1 -1
  304. package/dist/instances/product.pagination.instance.js +6 -7
  305. package/dist/instances/product.pagination.instance.js.map +1 -1
  306. package/dist/instances/product.search.instance.d.ts +3 -3
  307. package/dist/instances/product.search.instance.d.ts.map +1 -1
  308. package/dist/instances/product.search.instance.js +3 -4
  309. package/dist/instances/product.search.instance.js.map +1 -1
  310. package/dist/instances/user.instance.d.ts +3 -3
  311. package/dist/instances/user.instance.d.ts.map +1 -1
  312. package/dist/instances/user.instance.js +19 -36
  313. package/dist/instances/user.instance.js.map +1 -1
  314. package/dist/interfaces/agent.d.ts +8 -8
  315. package/dist/interfaces/agent.d.ts.map +1 -1
  316. package/dist/interfaces/device-triggers.d.ts +0 -2
  317. package/dist/interfaces/device-triggers.d.ts.map +1 -1
  318. package/dist/interfaces/devices.d.ts +0 -1
  319. package/dist/interfaces/devices.d.ts.map +1 -1
  320. package/dist/interfaces/index.d.ts +8 -8
  321. package/dist/interfaces/index.d.ts.map +1 -1
  322. package/dist/interfaces/jobs.d.ts +2 -3
  323. package/dist/interfaces/jobs.d.ts.map +1 -1
  324. package/dist/interfaces/message.d.ts +3 -3
  325. package/dist/interfaces/message.d.ts.map +1 -1
  326. package/dist/interfaces/orders.d.ts +1 -1
  327. package/dist/interfaces/skills.d.ts +18 -0
  328. package/dist/interfaces/skills.d.ts.map +1 -1
  329. package/dist/interfaces/webhooks.d.ts +2 -2
  330. package/dist/interfaces/webhooks.d.ts.map +1 -1
  331. package/dist/primitives/agent.handler.d.ts.map +1 -1
  332. package/dist/primitives/agent.handler.js +1 -1
  333. package/dist/primitives/agent.handler.js.map +1 -1
  334. package/dist/primitives/base.handler.d.ts +2 -2
  335. package/dist/primitives/base.handler.d.ts.map +1 -1
  336. package/dist/primitives/base.handler.js +38 -36
  337. package/dist/primitives/base.handler.js.map +1 -1
  338. package/dist/primitives/device-trigger.handler.d.ts +1 -1
  339. package/dist/primitives/device-trigger.handler.d.ts.map +1 -1
  340. package/dist/primitives/device-trigger.handler.js +2 -3
  341. package/dist/primitives/device-trigger.handler.js.map +1 -1
  342. package/dist/primitives/device.handler.d.ts +1 -1
  343. package/dist/primitives/device.handler.d.ts.map +1 -1
  344. package/dist/primitives/device.handler.js +2 -3
  345. package/dist/primitives/device.handler.js.map +1 -1
  346. package/dist/primitives/index.d.ts +1 -1
  347. package/dist/primitives/index.d.ts.map +1 -1
  348. package/dist/primitives/index.js +2 -3
  349. package/dist/primitives/index.js.map +1 -1
  350. package/dist/primitives/job.handler.d.ts +1 -1
  351. package/dist/primitives/job.handler.d.ts.map +1 -1
  352. package/dist/primitives/job.handler.js +3 -6
  353. package/dist/primitives/job.handler.js.map +1 -1
  354. package/dist/primitives/mcp-server.handler.d.ts.map +1 -1
  355. package/dist/primitives/mcp-server.handler.js +2 -2
  356. package/dist/primitives/mcp-server.handler.js.map +1 -1
  357. package/dist/primitives/postprocessor.handler.d.ts.map +1 -1
  358. package/dist/primitives/postprocessor.handler.js.map +1 -1
  359. package/dist/primitives/preprocessor.handler.d.ts +1 -1
  360. package/dist/primitives/preprocessor.handler.d.ts.map +1 -1
  361. package/dist/primitives/preprocessor.handler.js +2 -3
  362. package/dist/primitives/preprocessor.handler.js.map +1 -1
  363. package/dist/primitives/skill.handler.d.ts +1 -1
  364. package/dist/primitives/skill.handler.d.ts.map +1 -1
  365. package/dist/primitives/skill.handler.js +72 -22
  366. package/dist/primitives/skill.handler.js.map +1 -1
  367. package/dist/primitives/types.d.ts +1 -1
  368. package/dist/primitives/types.d.ts.map +1 -1
  369. package/dist/primitives/types.js.map +1 -1
  370. package/dist/primitives/webhook.handler.d.ts +1 -1
  371. package/dist/primitives/webhook.handler.d.ts.map +1 -1
  372. package/dist/primitives/webhook.handler.js +2 -3
  373. package/dist/primitives/webhook.handler.js.map +1 -1
  374. package/dist/services/analytics.d.ts.map +1 -1
  375. package/dist/services/analytics.js +4 -5
  376. package/dist/services/analytics.js.map +1 -1
  377. package/dist/services/auth.d.ts +1 -1
  378. package/dist/services/auth.js +7 -7
  379. package/dist/services/auth.js.map +1 -1
  380. package/dist/services/sandbox.service.d.ts.map +1 -1
  381. package/dist/services/sandbox.service.js +126 -78
  382. package/dist/services/sandbox.service.js.map +1 -1
  383. package/dist/types/api-contracts.d.ts +4 -4
  384. package/dist/types/api-contracts.d.ts.map +1 -1
  385. package/dist/types/index.d.ts +2 -2
  386. package/dist/types/index.d.ts.map +1 -1
  387. package/dist/types/index.js.map +1 -1
  388. package/dist/types/skill.d.ts +7 -7
  389. package/dist/types/skill.d.ts.map +1 -1
  390. package/dist/types/skill.js +2 -2
  391. package/dist/types/skill.js.map +1 -1
  392. package/dist/types/tool-validation.js.map +1 -1
  393. package/dist/types/yaml.types.js +0 -1
  394. package/dist/types/yaml.types.js.map +1 -1
  395. package/dist/utils/aliases.d.ts.map +1 -1
  396. package/dist/utils/aliases.js +38 -3
  397. package/dist/utils/aliases.js.map +1 -1
  398. package/dist/utils/artifact-loader.d.ts +47 -0
  399. package/dist/utils/artifact-loader.d.ts.map +1 -1
  400. package/dist/utils/artifact-loader.js +98 -6
  401. package/dist/utils/artifact-loader.js.map +1 -1
  402. package/dist/utils/auth-flows.d.ts.map +1 -1
  403. package/dist/utils/auth-flows.js +54 -54
  404. package/dist/utils/auth-flows.js.map +1 -1
  405. package/dist/utils/backup-helpers.d.ts.map +1 -1
  406. package/dist/utils/backup-helpers.js +10 -16
  407. package/dist/utils/backup-helpers.js.map +1 -1
  408. package/dist/utils/bundle-upload.d.ts +42 -0
  409. package/dist/utils/bundle-upload.d.ts.map +1 -0
  410. package/dist/utils/bundle-upload.js +90 -0
  411. package/dist/utils/bundle-upload.js.map +1 -0
  412. package/dist/utils/chat-attachments.js +1 -1
  413. package/dist/utils/chat-attachments.js.map +1 -1
  414. package/dist/utils/cli.d.ts.map +1 -1
  415. package/dist/utils/cli.js +3 -5
  416. package/dist/utils/cli.js.map +1 -1
  417. package/dist/utils/command-utils.d.ts.map +1 -1
  418. package/dist/utils/command-utils.js +4 -4
  419. package/dist/utils/command-utils.js.map +1 -1
  420. package/dist/utils/deploy-helpers.d.ts.map +1 -1
  421. package/dist/utils/deploy-helpers.js +13 -13
  422. package/dist/utils/deploy-helpers.js.map +1 -1
  423. package/dist/utils/env-loader.utils.d.ts +1 -1
  424. package/dist/utils/env-loader.utils.d.ts.map +1 -1
  425. package/dist/utils/env-loader.utils.js +15 -22
  426. package/dist/utils/env-loader.utils.js.map +1 -1
  427. package/dist/utils/files.d.ts.map +1 -1
  428. package/dist/utils/files.js +23 -13
  429. package/dist/utils/files.js.map +1 -1
  430. package/dist/utils/hints.d.ts.map +1 -1
  431. package/dist/utils/hints.js +3 -5
  432. package/dist/utils/hints.js.map +1 -1
  433. package/dist/utils/init-agent.d.ts.map +1 -1
  434. package/dist/utils/init-agent.js +18 -20
  435. package/dist/utils/init-agent.js.map +1 -1
  436. package/dist/utils/init-helpers.d.ts.map +1 -1
  437. package/dist/utils/init-helpers.js +11 -11
  438. package/dist/utils/init-helpers.js.map +1 -1
  439. package/dist/utils/init-prompts.d.ts.map +1 -1
  440. package/dist/utils/init-prompts.js +34 -36
  441. package/dist/utils/init-prompts.js.map +1 -1
  442. package/dist/utils/prompt-handler.js +1 -1
  443. package/dist/utils/prompt-handler.js.map +1 -1
  444. package/dist/utils/sandbox-storage.d.ts.map +1 -1
  445. package/dist/utils/sandbox-storage.js.map +1 -1
  446. package/dist/utils/sandbox.d.ts +1 -1
  447. package/dist/utils/sandbox.d.ts.map +1 -1
  448. package/dist/utils/sandbox.js +107 -106
  449. package/dist/utils/sandbox.js.map +1 -1
  450. package/dist/utils/semver.js +1 -1
  451. package/dist/utils/semver.js.map +1 -1
  452. package/dist/utils/suggest.d.ts.map +1 -1
  453. package/dist/utils/suggest.js +1 -3
  454. package/dist/utils/suggest.js.map +1 -1
  455. package/dist/utils/sync-display.d.ts.map +1 -1
  456. package/dist/utils/sync-display.js +15 -13
  457. package/dist/utils/sync-display.js.map +1 -1
  458. package/dist/utils/sync-fetch.d.ts.map +1 -1
  459. package/dist/utils/sync-fetch.js +33 -24
  460. package/dist/utils/sync-fetch.js.map +1 -1
  461. package/dist/utils/version-check.js +1 -1
  462. package/dist/utils/version-check.js.map +1 -1
  463. package/docs/README.md +1 -1
  464. package/node_modules/@lua/shared-types/dist/index.d.mts +13 -1
  465. package/node_modules/@lua/shared-types/dist/index.d.ts +13 -1
  466. package/node_modules/@lua/shared-types/src/ai-generate.types.ts +1 -6
  467. package/node_modules/@lua/shared-types/src/ai-generate.utils.ts +1 -4
  468. package/node_modules/@lua/shared-types/src/chat-stream.types.ts +11 -0
  469. package/node_modules/@lua/shared-types/src/device.types.ts +6 -6
  470. package/node_modules/@lua/shared-types/src/index.ts +1 -0
  471. package/node_modules/@lua/shared-types/src/sandbox-contract.ts +26 -5
  472. package/node_modules/@lua/shared-types/src/vm-execution-log.types.ts +11 -11
  473. package/package.json +1 -1
  474. package/template/QUICKSTART.md +33 -33
  475. package/template/README.md +35 -34
  476. package/template/examples/README.md +44 -38
  477. package/template/examples/jobs/AbandonedBasketProcessorJob.ts +30 -31
  478. package/template/examples/jobs/DailyCleanupJob.ts +17 -18
  479. package/template/examples/jobs/DataMigrationJob.ts +18 -23
  480. package/template/examples/jobs/HealthCheckJob.ts +13 -14
  481. package/template/examples/postprocessors/modifyResponse.ts +14 -15
  482. package/template/examples/preprocessors/messageMatching.ts +28 -29
  483. package/template/examples/services/ApiService.ts +68 -64
  484. package/template/examples/services/GetWeather.ts +39 -33
  485. package/template/examples/skills/basket.skill.ts +27 -7
  486. package/template/examples/skills/product.skill.ts +21 -8
  487. package/template/examples/skills/tools/BasketTool.ts +97 -98
  488. package/template/examples/skills/tools/CreateInlineJob.ts +38 -36
  489. package/template/examples/skills/tools/CreatePostTool.ts +27 -28
  490. package/template/examples/skills/tools/CustomDataTool.ts +72 -63
  491. package/template/examples/skills/tools/GameScoreTrackerTool.ts +72 -78
  492. package/template/examples/skills/tools/GetWeatherTool.ts +43 -45
  493. package/template/examples/skills/tools/OrderTool.ts +58 -58
  494. package/template/examples/skills/tools/PaymentTool.ts +43 -43
  495. package/template/examples/skills/tools/PremiumFeatureTool.ts +79 -77
  496. package/template/examples/skills/tools/ProductsTool.ts +68 -69
  497. package/template/examples/skills/tools/SmartBasketTool.ts +43 -44
  498. package/template/examples/skills/tools/UserDataTool.ts +97 -98
  499. package/template/examples/skills/user.skill.ts +7 -8
  500. package/template/examples/webhooks/FileUploadWebhook.ts +38 -31
  501. package/template/examples/webhooks/PaymentWebhook.ts +23 -22
  502. package/template/examples/webhooks/UserEventWebhook.ts +16 -19
  503. package/template/lua.skill.yaml +2 -2
  504. package/template/package.json +1 -1
  505. package/template/src/index.ts +28 -28
@@ -2,10 +2,10 @@
2
2
  * Channels Command
3
3
  * Manages agent communication channels (list, create)
4
4
  */
5
- import inquirer from "inquirer";
5
+ import inquirer from 'inquirer';
6
6
  import open from 'open';
7
- import { withErrorHandling, writeSuccess, writeInfo, clearPromptLines, writeProgress } from "../utils/cli.js";
8
- import { initializeCommand } from "../utils/command-utils.js";
7
+ import { withErrorHandling, writeSuccess, writeInfo, clearPromptLines, writeProgress } from '../utils/cli.js';
8
+ import { initializeCommand } from '../utils/command-utils.js';
9
9
  import AgentApi from '../api/agent.api.service.js';
10
10
  import { BASE_URLS } from '../config/constants.js';
11
11
  import { trackEvent } from '../services/analytics.js';
@@ -33,7 +33,7 @@ export async function channelsCommand(action) {
33
33
  await channelsInteractive(agentApi, agentId, apiKey, config);
34
34
  }
35
35
  trackEvent('cli_channels_action', { action: action || 'interactive', non_interactive: !!action });
36
- }, "channels management");
36
+ }, 'channels management');
37
37
  }
38
38
  // ─────────────────────────────────────────────────────────────────────────────
39
39
  // Shared Core Functions
@@ -54,12 +54,12 @@ async function fetchChannelsCore(agentApi, agentId) {
54
54
  */
55
55
  function getChannelIcon(type) {
56
56
  const icons = {
57
- 'whatsapp': '📱',
58
- 'facebook': '💬',
59
- 'instagram': '📸',
60
- 'slack': '💼',
61
- 'email': '📧',
62
- 'webchat': '💻'
57
+ whatsapp: '📱',
58
+ facebook: '💬',
59
+ instagram: '📸',
60
+ slack: '💼',
61
+ email: '📧',
62
+ webchat: '💻',
63
63
  };
64
64
  return icons[type] || '📡';
65
65
  }
@@ -86,11 +86,11 @@ function getChannelLabel(channel) {
86
86
  * Displays all channels (non-interactive).
87
87
  */
88
88
  function displayChannelsCore(channels) {
89
- console.log("\n" + "=".repeat(60));
90
- console.log("📡 Agent Channels");
91
- console.log("=".repeat(60) + "\n");
89
+ console.log('\n' + '='.repeat(60));
90
+ console.log('📡 Agent Channels');
91
+ console.log('='.repeat(60) + '\n');
92
92
  if (channels.length === 0) {
93
- console.log("ℹ️ No channels configured for this agent.");
93
+ console.log('ℹ️ No channels configured for this agent.');
94
94
  console.log("💡 Use 'lua channels' (interactive) to add channels.\n");
95
95
  return;
96
96
  }
@@ -104,7 +104,7 @@ function displayChannelsCore(channels) {
104
104
  console.log(` Created: ${created}`);
105
105
  console.log();
106
106
  });
107
- console.log("=".repeat(60));
107
+ console.log('='.repeat(60));
108
108
  console.log(`Total: ${channels.length} channel(s)`);
109
109
  }
110
110
  // ─────────────────────────────────────────────────────────────────────────────
@@ -115,7 +115,7 @@ async function executeNonInteractive(agentApi, agentId, action) {
115
115
  writeInfo(`📡 Fetching channels for agent: ${agentId}...`);
116
116
  const channels = await fetchChannelsCore(agentApi, agentId);
117
117
  if (!channels)
118
- throw new Error("Operation failed");
118
+ throw new Error('Operation failed');
119
119
  displayChannelsCore(channels);
120
120
  }
121
121
  // ─────────────────────────────────────────────────────────────────────────────
@@ -124,25 +124,25 @@ async function executeNonInteractive(agentApi, agentId, action) {
124
124
  async function channelsInteractive(agentApi, agentId, apiKey, config) {
125
125
  const { operation } = await inquirer.prompt([
126
126
  {
127
- type: "list",
128
- name: "operation",
129
- message: "What would you like to do?",
127
+ type: 'list',
128
+ name: 'operation',
129
+ message: 'What would you like to do?',
130
130
  choices: [
131
- { name: "📋 List channels", value: "list" },
132
- { name: "🔗 Link new channel", value: "create" },
133
- { name: "🌐 Link on admin dashboard", value: "admin" }
134
- ]
135
- }
131
+ { name: '📋 List channels', value: 'list' },
132
+ { name: '🔗 Link new channel', value: 'create' },
133
+ { name: '🌐 Link on admin dashboard', value: 'admin' },
134
+ ],
135
+ },
136
136
  ]);
137
137
  clearPromptLines(2);
138
138
  trackEvent('cli_channels_interactive_action', { operation });
139
- if (operation === "list") {
139
+ if (operation === 'list') {
140
140
  await listChannelsInteractive(agentApi, agentId, config);
141
141
  }
142
- else if (operation === "create") {
142
+ else if (operation === 'create') {
143
143
  await createChannel(agentApi, agentId);
144
144
  }
145
- else if (operation === "admin") {
145
+ else if (operation === 'admin') {
146
146
  await openAdminDashboard(apiKey, config);
147
147
  }
148
148
  }
@@ -173,10 +173,10 @@ async function listChannelsInteractive(agentApi, agentId, config) {
173
173
  writeInfo(`📡 Fetching channels for agent: ${agentId}...`);
174
174
  const channels = await fetchChannelsCore(agentApi, agentId);
175
175
  if (!channels)
176
- throw new Error("Operation failed");
176
+ throw new Error('Operation failed');
177
177
  writeSuccess(`✅ Found ${channels.length} channel(s)\n`);
178
178
  if (channels.length === 0) {
179
- writeInfo("No channels configured for this agent.");
179
+ writeInfo('No channels configured for this agent.');
180
180
  writeInfo("\n💡 Use the 'Create new channel' option to add channels.\n");
181
181
  return;
182
182
  }
@@ -185,20 +185,20 @@ async function listChannelsInteractive(agentApi, agentId, config) {
185
185
  const label = getChannelLabel(channel);
186
186
  return {
187
187
  name: `${icon} ${channel.type.toUpperCase()} - ${label}`,
188
- value: index
188
+ value: index,
189
189
  };
190
190
  });
191
191
  channelChoices.push({
192
192
  name: '← Back to main menu',
193
- value: -1
193
+ value: -1,
194
194
  });
195
195
  const { selectedIndex } = await inquirer.prompt([
196
196
  {
197
- type: "list",
198
- name: "selectedIndex",
199
- message: "Select a channel to view details:",
200
- choices: channelChoices
201
- }
197
+ type: 'list',
198
+ name: 'selectedIndex',
199
+ message: 'Select a channel to view details:',
200
+ choices: channelChoices,
201
+ },
202
202
  ]);
203
203
  if (selectedIndex === -1) {
204
204
  return;
@@ -365,34 +365,34 @@ function displayEmailDetails(channel) {
365
365
  async function createChannel(agentApi, agentId) {
366
366
  const { channelType } = await inquirer.prompt([
367
367
  {
368
- type: "list",
369
- name: "channelType",
370
- message: "Select channel type:",
368
+ type: 'list',
369
+ name: 'channelType',
370
+ message: 'Select channel type:',
371
371
  choices: [
372
- { name: "📱 WhatsApp", value: "whatsapp" },
373
- { name: "💬 Facebook Messenger", value: "facebook" },
374
- { name: "📧 Email", value: "email" },
375
- { name: "🔒 Slack (Private)", value: "slack-private" },
376
- { name: "🌐 Slack (Public)", value: "slack-public" }
377
- ]
378
- }
372
+ { name: '📱 WhatsApp', value: 'whatsapp' },
373
+ { name: '💬 Facebook Messenger', value: 'facebook' },
374
+ { name: '📧 Email', value: 'email' },
375
+ { name: '🔒 Slack (Private)', value: 'slack-private' },
376
+ { name: '🌐 Slack (Public)', value: 'slack-public' },
377
+ ],
378
+ },
379
379
  ]);
380
380
  clearPromptLines(2);
381
381
  trackEvent('cli_channel_created', { channel_type: channelType });
382
382
  switch (channelType) {
383
- case "whatsapp":
383
+ case 'whatsapp':
384
384
  await createWhatsAppChannel(agentApi, agentId);
385
385
  break;
386
- case "facebook":
386
+ case 'facebook':
387
387
  await createFacebookChannel(agentApi, agentId);
388
388
  break;
389
- case "email":
389
+ case 'email':
390
390
  await createEmailChannel(agentApi, agentId);
391
391
  break;
392
- case "slack-private":
392
+ case 'slack-private':
393
393
  await createSlackPrivateChannel(agentApi, agentId);
394
394
  break;
395
- case "slack-public":
395
+ case 'slack-public':
396
396
  await createSlackPublicChannel(agentApi, agentId);
397
397
  break;
398
398
  }
@@ -401,44 +401,44 @@ async function createChannel(agentApi, agentId) {
401
401
  * Creates a WhatsApp channel
402
402
  */
403
403
  async function createWhatsAppChannel(agentApi, agentId) {
404
- writeInfo("📱 Creating WhatsApp Channel\n");
404
+ writeInfo('📱 Creating WhatsApp Channel\n');
405
405
  const answers = await inquirer.prompt([
406
406
  {
407
- type: "input",
408
- name: "phoneNumberId",
409
- message: "Enter phone number ID:",
407
+ type: 'input',
408
+ name: 'phoneNumberId',
409
+ message: 'Enter phone number ID:',
410
410
  validate: (input) => {
411
- return input.trim().length > 0 || "Phone number ID is required";
412
- }
411
+ return input.trim().length > 0 || 'Phone number ID is required';
412
+ },
413
413
  },
414
414
  {
415
- type: "input",
416
- name: "wabaId",
417
- message: "Enter WhatsApp Business Account ID (WABA ID):",
415
+ type: 'input',
416
+ name: 'wabaId',
417
+ message: 'Enter WhatsApp Business Account ID (WABA ID):',
418
418
  validate: (input) => {
419
- return input.trim().length > 0 || "WABA ID is required";
420
- }
419
+ return input.trim().length > 0 || 'WABA ID is required';
420
+ },
421
421
  },
422
422
  {
423
- type: "password",
424
- name: "accessToken",
425
- message: "Enter access token:",
426
- mask: "*",
423
+ type: 'password',
424
+ name: 'accessToken',
425
+ message: 'Enter access token:',
426
+ mask: '*',
427
427
  validate: (input) => {
428
- return input.trim().length > 0 || "Access token is required";
429
- }
430
- }
428
+ return input.trim().length > 0 || 'Access token is required';
429
+ },
430
+ },
431
431
  ]);
432
432
  const channelData = {
433
- type: "whatsapp",
433
+ type: 'whatsapp',
434
434
  whatsapp: {
435
435
  phoneNumberId: answers.phoneNumberId.trim(),
436
436
  wabaId: answers.wabaId.trim(),
437
- accessToken: answers.accessToken.trim()
437
+ accessToken: answers.accessToken.trim(),
438
438
  },
439
- isManual: true
439
+ isManual: true,
440
440
  };
441
- writeInfo("\n📡 Creating WhatsApp channel...");
441
+ writeInfo('\n📡 Creating WhatsApp channel...');
442
442
  const response = await agentApi.createWhatsAppChannel(agentId, channelData);
443
443
  if (!response.success) {
444
444
  const error = response.error;
@@ -453,10 +453,10 @@ async function createWhatsAppChannel(agentApi, agentId) {
453
453
  console.error(` ${error.error}\n`);
454
454
  }
455
455
  }
456
- throw new Error("Operation failed");
456
+ throw new Error('Operation failed');
457
457
  }
458
458
  const data = response.data;
459
- writeSuccess("\n✅ WhatsApp channel created successfully!\n");
459
+ writeSuccess('\n✅ WhatsApp channel created successfully!\n');
460
460
  writeInfo(`📞 Phone Number: ${data.whatsapp.number}`);
461
461
  writeInfo(`🆔 Identifier: ${data.identifier}`);
462
462
  writeInfo(`✅ Status: ${data.whatsapp.metadata.status}`);
@@ -466,34 +466,34 @@ async function createWhatsAppChannel(agentApi, agentId) {
466
466
  * Creates a Facebook Messenger channel
467
467
  */
468
468
  async function createFacebookChannel(agentApi, agentId) {
469
- writeInfo("💬 Creating Facebook Messenger Channel\n");
469
+ writeInfo('💬 Creating Facebook Messenger Channel\n');
470
470
  const answers = await inquirer.prompt([
471
471
  {
472
- type: "password",
473
- name: "accessToken",
474
- message: "Enter Facebook page access token:",
475
- mask: "*",
472
+ type: 'password',
473
+ name: 'accessToken',
474
+ message: 'Enter Facebook page access token:',
475
+ mask: '*',
476
476
  validate: (input) => {
477
- return input.trim().length > 0 || "Access token is required";
478
- }
477
+ return input.trim().length > 0 || 'Access token is required';
478
+ },
479
479
  },
480
480
  {
481
- type: "input",
482
- name: "pageId",
483
- message: "Enter Facebook page ID:",
481
+ type: 'input',
482
+ name: 'pageId',
483
+ message: 'Enter Facebook page ID:',
484
484
  validate: (input) => {
485
- return input.trim().length > 0 || "Page ID is required";
486
- }
487
- }
485
+ return input.trim().length > 0 || 'Page ID is required';
486
+ },
487
+ },
488
488
  ]);
489
489
  const channelData = {
490
- type: "facebook",
490
+ type: 'facebook',
491
491
  facebook: {
492
492
  accessToken: answers.accessToken.trim(),
493
- pageId: answers.pageId.trim()
494
- }
493
+ pageId: answers.pageId.trim(),
494
+ },
495
495
  };
496
- writeInfo("\n📡 Creating Facebook channel...");
496
+ writeInfo('\n📡 Creating Facebook channel...');
497
497
  const response = await agentApi.createFacebookChannel(agentId, channelData);
498
498
  if (!response.success) {
499
499
  const error = response.error;
@@ -508,10 +508,10 @@ async function createFacebookChannel(agentApi, agentId) {
508
508
  console.error(` ${error.error}\n`);
509
509
  }
510
510
  }
511
- throw new Error("Operation failed");
511
+ throw new Error('Operation failed');
512
512
  }
513
513
  const data = response.data;
514
- writeSuccess("\n✅ Facebook channel created successfully!\n");
514
+ writeSuccess('\n✅ Facebook channel created successfully!\n');
515
515
  writeInfo(`📄 Page Name: ${data.facebook.name}`);
516
516
  writeInfo(`🆔 Identifier: ${data.identifier}`);
517
517
  writeInfo(`📋 Category: ${data.facebook.category}`);
@@ -521,57 +521,57 @@ async function createFacebookChannel(agentApi, agentId) {
521
521
  * Creates an Email channel
522
522
  */
523
523
  async function createEmailChannel(agentApi, agentId) {
524
- writeInfo("📧 Creating Email Channel\n");
524
+ writeInfo('📧 Creating Email Channel\n');
525
525
  const { mode } = await inquirer.prompt([
526
526
  {
527
- type: "list",
528
- name: "mode",
529
- message: "Select email channel mode:",
527
+ type: 'list',
528
+ name: 'mode',
529
+ message: 'Select email channel mode:',
530
530
  choices: [
531
- { name: "📬 Generate new inbox (Lua creates an email address for you)", value: "generated" },
532
- { name: "📧 Use existing email (forward from your own address)", value: "existing" }
533
- ]
534
- }
531
+ { name: '📬 Generate new inbox (Lua creates an email address for you)', value: 'generated' },
532
+ { name: '📧 Use existing email (forward from your own address)', value: 'existing' },
533
+ ],
534
+ },
535
535
  ]);
536
536
  clearPromptLines(2);
537
537
  const { displayName } = await inquirer.prompt([
538
538
  {
539
- type: "input",
540
- name: "displayName",
541
- message: "Enter display name (shown in email header):",
539
+ type: 'input',
540
+ name: 'displayName',
541
+ message: 'Enter display name (shown in email header):',
542
542
  validate: (input) => {
543
- return input.trim().length > 0 || "Display name is required";
544
- }
545
- }
543
+ return input.trim().length > 0 || 'Display name is required';
544
+ },
545
+ },
546
546
  ]);
547
547
  const channelData = {
548
- type: "email",
548
+ type: 'email',
549
549
  email: {
550
550
  mode: mode,
551
551
  displayName: displayName.trim(),
552
- }
552
+ },
553
553
  };
554
- if (mode === "existing") {
554
+ if (mode === 'existing') {
555
555
  const { email } = await inquirer.prompt([
556
556
  {
557
- type: "input",
558
- name: "email",
559
- message: "Enter sender email address:",
557
+ type: 'input',
558
+ name: 'email',
559
+ message: 'Enter sender email address:',
560
560
  validate: (input) => {
561
561
  if (input.trim().length === 0) {
562
- return "Email address is required";
562
+ return 'Email address is required';
563
563
  }
564
564
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
565
565
  if (!emailRegex.test(input.trim())) {
566
- return "Please enter a valid email address";
566
+ return 'Please enter a valid email address';
567
567
  }
568
568
  return true;
569
- }
570
- }
569
+ },
570
+ },
571
571
  ]);
572
572
  channelData.email.email = email.trim();
573
573
  }
574
- writeInfo("\n📡 Creating Email channel...");
574
+ writeInfo('\n📡 Creating Email channel...');
575
575
  const response = await agentApi.createEmailChannel(agentId, channelData);
576
576
  if (!response.success) {
577
577
  const error = response.error;
@@ -586,12 +586,12 @@ async function createEmailChannel(agentApi, agentId) {
586
586
  console.error(` ${error.error}\n`);
587
587
  }
588
588
  }
589
- throw new Error("Operation failed");
589
+ throw new Error('Operation failed');
590
590
  }
591
591
  const data = response.data;
592
- writeSuccess("\n✅ Email channel created successfully!\n");
592
+ writeSuccess('\n✅ Email channel created successfully!\n');
593
593
  writeInfo(`📧 Display Name: ${displayName}`);
594
- if (mode === "generated") {
594
+ if (mode === 'generated') {
595
595
  const generatedData = data;
596
596
  writeInfo(`📬 Email Address: ${generatedData.emailAddress}\n`);
597
597
  writeInfo(`${'─'.repeat(60)}`);
@@ -623,32 +623,32 @@ async function createEmailChannel(agentApi, agentId) {
623
623
  * Creates a private Slack channel
624
624
  */
625
625
  async function createSlackPrivateChannel(agentApi, agentId) {
626
- writeInfo("🔒 Creating Private Slack Channel\n");
626
+ writeInfo('🔒 Creating Private Slack Channel\n');
627
627
  const answers = await inquirer.prompt([
628
628
  {
629
- type: "password",
630
- name: "accessToken",
631
- message: "Enter Slack bot access token (xoxb-...):",
632
- mask: "*",
629
+ type: 'password',
630
+ name: 'accessToken',
631
+ message: 'Enter Slack bot access token (xoxb-...):',
632
+ mask: '*',
633
633
  validate: (input) => {
634
634
  if (input.trim().length === 0) {
635
- return "Access token is required";
635
+ return 'Access token is required';
636
636
  }
637
- if (!input.trim().startsWith("xoxb-")) {
637
+ if (!input.trim().startsWith('xoxb-')) {
638
638
  return "Bot token should start with 'xoxb-'";
639
639
  }
640
640
  return true;
641
- }
642
- }
641
+ },
642
+ },
643
643
  ]);
644
644
  const channelData = {
645
- type: "slack",
645
+ type: 'slack',
646
646
  slack: {
647
- type: "private",
648
- accessToken: answers.accessToken.trim()
649
- }
647
+ type: 'private',
648
+ accessToken: answers.accessToken.trim(),
649
+ },
650
650
  };
651
- writeInfo("\n📡 Creating Slack private channel...");
651
+ writeInfo('\n📡 Creating Slack private channel...');
652
652
  const response = await agentApi.createSlackChannel(agentId, channelData);
653
653
  if (!response.success) {
654
654
  const error = response.error;
@@ -663,11 +663,11 @@ async function createSlackPrivateChannel(agentApi, agentId) {
663
663
  console.error(` ${error.error}\n`);
664
664
  }
665
665
  }
666
- throw new Error("Operation failed");
666
+ throw new Error('Operation failed');
667
667
  }
668
668
  const data = response.data;
669
669
  if ('slack' in data && 'botName' in data.slack) {
670
- writeSuccess("\n✅ Slack private channel created successfully!\n");
670
+ writeSuccess('\n✅ Slack private channel created successfully!\n');
671
671
  writeInfo(`🤖 Bot Name: ${data.slack.botName}`);
672
672
  writeInfo(`🏢 Workspace: ${data.slack.url}`);
673
673
  writeInfo(`🆔 Bot ID: ${data.slack.botId}`);
@@ -679,44 +679,44 @@ async function createSlackPrivateChannel(agentApi, agentId) {
679
679
  * Creates a public Slack channel
680
680
  */
681
681
  async function createSlackPublicChannel(agentApi, agentId) {
682
- writeInfo("🌐 Creating Public Slack Channel\n");
682
+ writeInfo('🌐 Creating Public Slack Channel\n');
683
683
  const answers = await inquirer.prompt([
684
684
  {
685
- type: "input",
686
- name: "appId",
687
- message: "Enter Slack app ID:",
685
+ type: 'input',
686
+ name: 'appId',
687
+ message: 'Enter Slack app ID:',
688
688
  validate: (input) => {
689
- return input.trim().length > 0 || "App ID is required";
690
- }
689
+ return input.trim().length > 0 || 'App ID is required';
690
+ },
691
691
  },
692
692
  {
693
- type: "input",
694
- name: "clientId",
695
- message: "Enter Slack client ID:",
693
+ type: 'input',
694
+ name: 'clientId',
695
+ message: 'Enter Slack client ID:',
696
696
  validate: (input) => {
697
- return input.trim().length > 0 || "Client ID is required";
698
- }
697
+ return input.trim().length > 0 || 'Client ID is required';
698
+ },
699
699
  },
700
700
  {
701
- type: "password",
702
- name: "clientSecret",
703
- message: "Enter Slack client secret:",
704
- mask: "*",
701
+ type: 'password',
702
+ name: 'clientSecret',
703
+ message: 'Enter Slack client secret:',
704
+ mask: '*',
705
705
  validate: (input) => {
706
- return input.trim().length > 0 || "Client secret is required";
707
- }
708
- }
706
+ return input.trim().length > 0 || 'Client secret is required';
707
+ },
708
+ },
709
709
  ]);
710
710
  const channelData = {
711
- type: "slack",
711
+ type: 'slack',
712
712
  slack: {
713
- type: "public",
713
+ type: 'public',
714
714
  appId: answers.appId.trim(),
715
715
  clientId: answers.clientId.trim(),
716
- clientSecret: answers.clientSecret.trim()
717
- }
716
+ clientSecret: answers.clientSecret.trim(),
717
+ },
718
718
  };
719
- writeInfo("\n📡 Creating Slack public channel...");
719
+ writeInfo('\n📡 Creating Slack public channel...');
720
720
  const response = await agentApi.createSlackChannel(agentId, channelData);
721
721
  if (!response.success) {
722
722
  const error = response.error;
@@ -731,11 +731,11 @@ async function createSlackPublicChannel(agentApi, agentId) {
731
731
  console.error(` ${error.error}\n`);
732
732
  }
733
733
  }
734
- throw new Error("Operation failed");
734
+ throw new Error('Operation failed');
735
735
  }
736
736
  const data = response.data;
737
737
  if ('redirectUri' in data) {
738
- writeSuccess("\n✅ Slack public channel created successfully!\n");
738
+ writeSuccess('\n✅ Slack public channel created successfully!\n');
739
739
  writeInfo(`🆔 App ID: ${data.appId}`);
740
740
  writeInfo(`🔗 Redirect URI: ${data.redirectUri}`);
741
741
  writeInfo(`🔗 Webhook URL: ${data.webhookUrl}\n`);