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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/README.md +137 -689
  2. package/dist/api/agent.api.service.d.ts +1 -8
  3. package/dist/api/agent.api.service.js +1 -11
  4. package/dist/api/agent.api.service.js.map +1 -1
  5. package/dist/api/auth.api.service.d.ts +1 -1
  6. package/dist/api/auth.api.service.js +1 -1
  7. package/dist/api/auth.api.service.js.map +1 -1
  8. package/dist/api/backup.api.service.d.ts +80 -0
  9. package/dist/api/backup.api.service.js +101 -0
  10. package/dist/api/backup.api.service.js.map +1 -0
  11. package/dist/api/basket.api.service.d.ts +4 -5
  12. package/dist/api/basket.api.service.js +13 -18
  13. package/dist/api/basket.api.service.js.map +1 -1
  14. package/dist/api/cdn.api.service.d.ts +2 -0
  15. package/dist/api/cdn.api.service.js +2 -0
  16. package/dist/api/cdn.api.service.js.map +1 -1
  17. package/dist/api/chat.api.service.d.ts +10 -2
  18. package/dist/api/chat.api.service.js +21 -2
  19. package/dist/api/chat.api.service.js.map +1 -1
  20. package/dist/api/credentials.js +5 -8
  21. package/dist/api/credentials.js.map +1 -1
  22. package/dist/api/custom.data.api.service.d.ts +3 -3
  23. package/dist/api/custom.data.api.service.js +9 -10
  24. package/dist/api/custom.data.api.service.js.map +1 -1
  25. package/dist/api/developer.api.service.d.ts +1 -1
  26. package/dist/api/developer.api.service.js +1 -1
  27. package/dist/api/developer.api.service.js.map +1 -1
  28. package/dist/api/http.client.js.map +1 -0
  29. package/dist/api/job.api.service.d.ts +2 -2
  30. package/dist/api/job.api.service.js +2 -2
  31. package/dist/api/job.api.service.js.map +1 -1
  32. package/dist/api/logs.api.service.d.ts +1 -1
  33. package/dist/api/logs.api.service.js +1 -1
  34. package/dist/api/logs.api.service.js.map +1 -1
  35. package/dist/api/marketplace.api.service.d.ts +6 -6
  36. package/dist/api/marketplace.api.service.js.map +1 -1
  37. package/dist/api/order.api.service.d.ts +3 -4
  38. package/dist/api/order.api.service.js +8 -10
  39. package/dist/api/order.api.service.js.map +1 -1
  40. package/dist/api/persona.api.service.d.ts +1 -1
  41. package/dist/api/persona.api.service.js +1 -1
  42. package/dist/api/persona.api.service.js.map +1 -1
  43. package/dist/api/postprocessor.api.service.d.ts +1 -1
  44. package/dist/api/postprocessor.api.service.js +1 -1
  45. package/dist/api/postprocessor.api.service.js.map +1 -1
  46. package/dist/api/preprocessor.api.service.d.ts +1 -1
  47. package/dist/api/preprocessor.api.service.js +1 -1
  48. package/dist/api/preprocessor.api.service.js.map +1 -1
  49. package/dist/api/products.api.service.d.ts +4 -4
  50. package/dist/api/products.api.service.js +6 -6
  51. package/dist/api/products.api.service.js.map +1 -1
  52. package/dist/api/resource.api.service.d.ts +76 -0
  53. package/dist/api/resource.api.service.js +74 -0
  54. package/dist/api/resource.api.service.js.map +1 -0
  55. package/dist/api/skills.api.service.d.ts +7 -15
  56. package/dist/api/skills.api.service.js +1 -1
  57. package/dist/api/skills.api.service.js.map +1 -1
  58. package/dist/api/tool.api.service.d.ts +1 -1
  59. package/dist/api/tool.api.service.js +1 -1
  60. package/dist/api/tool.api.service.js.map +1 -1
  61. package/dist/api/unifiedto.api.service.d.ts +1 -1
  62. package/dist/api/unifiedto.api.service.js +1 -1
  63. package/dist/api/unifiedto.api.service.js.map +1 -1
  64. package/dist/api/user.data.api.service.d.ts +7 -8
  65. package/dist/api/user.data.api.service.js +2 -3
  66. package/dist/api/user.data.api.service.js.map +1 -1
  67. package/dist/api/webhook.api.service.d.ts +1 -1
  68. package/dist/api/webhook.api.service.js +1 -1
  69. package/dist/api/webhook.api.service.js.map +1 -1
  70. package/dist/api/whatsapp-templates.api.service.d.ts +1 -1
  71. package/dist/api/whatsapp-templates.api.service.js +1 -1
  72. package/dist/api/whatsapp-templates.api.service.js.map +1 -1
  73. package/dist/api-exports.d.ts +14 -12
  74. package/dist/api-exports.js +8 -8
  75. package/dist/api-exports.js.map +1 -1
  76. package/dist/cli/command-definitions.js +32 -17
  77. package/dist/cli/command-definitions.js.map +1 -1
  78. package/dist/commands/admin.js +3 -24
  79. package/dist/commands/admin.js.map +1 -1
  80. package/dist/commands/agents.d.ts +8 -7
  81. package/dist/commands/agents.js +63 -21
  82. package/dist/commands/agents.js.map +1 -1
  83. package/dist/commands/channels.js +11 -23
  84. package/dist/commands/channels.js.map +1 -1
  85. package/dist/commands/chat.js +33 -47
  86. package/dist/commands/chat.js.map +1 -1
  87. package/dist/commands/chatClear.js +11 -41
  88. package/dist/commands/chatClear.js.map +1 -1
  89. package/dist/commands/compile.d.ts +26 -23
  90. package/dist/commands/compile.js +98 -403
  91. package/dist/commands/compile.js.map +1 -1
  92. package/dist/commands/completion.js +1 -1
  93. package/dist/commands/completion.js.map +1 -1
  94. package/dist/commands/deploy.js +55 -25
  95. package/dist/commands/deploy.js.map +1 -1
  96. package/dist/commands/dev.js +29 -45
  97. package/dist/commands/dev.js.map +1 -1
  98. package/dist/commands/env.js +12 -25
  99. package/dist/commands/env.js.map +1 -1
  100. package/dist/commands/evals.js +3 -20
  101. package/dist/commands/evals.js.map +1 -1
  102. package/dist/commands/features.js +10 -23
  103. package/dist/commands/features.js.map +1 -1
  104. package/dist/commands/index.d.ts +1 -0
  105. package/dist/commands/index.js +1 -0
  106. package/dist/commands/index.js.map +1 -1
  107. package/dist/commands/init.d.ts +1 -0
  108. package/dist/commands/init.js +135 -19
  109. package/dist/commands/init.js.map +1 -1
  110. package/dist/commands/integrations.js +26 -37
  111. package/dist/commands/integrations.js.map +1 -1
  112. package/dist/commands/jobs.js +32 -56
  113. package/dist/commands/jobs.js.map +1 -1
  114. package/dist/commands/logs.js +9 -20
  115. package/dist/commands/logs.js.map +1 -1
  116. package/dist/commands/marketplace.js +34 -52
  117. package/dist/commands/marketplace.js.map +1 -1
  118. package/dist/commands/mcp.js +10 -23
  119. package/dist/commands/mcp.js.map +1 -1
  120. package/dist/commands/persona.js +43 -74
  121. package/dist/commands/persona.js.map +1 -1
  122. package/dist/commands/postprocessors.js +15 -28
  123. package/dist/commands/postprocessors.js.map +1 -1
  124. package/dist/commands/preprocessors.js +15 -28
  125. package/dist/commands/preprocessors.js.map +1 -1
  126. package/dist/commands/production.js +30 -63
  127. package/dist/commands/production.js.map +1 -1
  128. package/dist/commands/push.js +294 -1241
  129. package/dist/commands/push.js.map +1 -1
  130. package/dist/commands/pushBackup.d.ts +22 -0
  131. package/dist/commands/pushBackup.js +133 -0
  132. package/dist/commands/pushBackup.js.map +1 -0
  133. package/dist/commands/resources.js +29 -72
  134. package/dist/commands/resources.js.map +1 -1
  135. package/dist/commands/skills.d.ts +1 -1
  136. package/dist/commands/skills.js +58 -70
  137. package/dist/commands/skills.js.map +1 -1
  138. package/dist/commands/sync.d.ts +1 -3
  139. package/dist/commands/sync.js +12 -24
  140. package/dist/commands/sync.js.map +1 -1
  141. package/dist/commands/test.js +135 -104
  142. package/dist/commands/test.js.map +1 -1
  143. package/dist/commands/webhooks.js +15 -28
  144. package/dist/commands/webhooks.js.map +1 -1
  145. package/dist/compiler/agent-traverser.d.ts +104 -0
  146. package/dist/compiler/agent-traverser.js +311 -0
  147. package/dist/compiler/agent-traverser.js.map +1 -0
  148. package/dist/compiler/bundler.d.ts +42 -0
  149. package/dist/compiler/bundler.js +187 -0
  150. package/dist/compiler/bundler.js.map +1 -0
  151. package/dist/compiler/compiler.d.ts +177 -0
  152. package/dist/compiler/compiler.js +580 -0
  153. package/dist/compiler/compiler.js.map +1 -0
  154. package/dist/compiler/index.d.ts +36 -0
  155. package/dist/compiler/index.js +42 -0
  156. package/dist/compiler/index.js.map +1 -0
  157. package/dist/compiler/plugins/base.d.ts +264 -0
  158. package/dist/compiler/plugins/base.js +307 -0
  159. package/dist/compiler/plugins/base.js.map +1 -0
  160. package/dist/compiler/plugins/job.plugin.d.ts +33 -0
  161. package/dist/compiler/plugins/job.plugin.js +143 -0
  162. package/dist/compiler/plugins/job.plugin.js.map +1 -0
  163. package/dist/compiler/plugins/mcp-server.plugin.d.ts +50 -0
  164. package/dist/compiler/plugins/mcp-server.plugin.js +186 -0
  165. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -0
  166. package/dist/compiler/plugins/postprocessor.plugin.d.ts +20 -0
  167. package/dist/compiler/plugins/postprocessor.plugin.js +39 -0
  168. package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -0
  169. package/dist/compiler/plugins/preprocessor.plugin.d.ts +20 -0
  170. package/dist/compiler/plugins/preprocessor.plugin.js +48 -0
  171. package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -0
  172. package/dist/compiler/plugins/processor-base.d.ts +16 -0
  173. package/dist/compiler/plugins/processor-base.js +34 -0
  174. package/dist/compiler/plugins/processor-base.js.map +1 -0
  175. package/dist/compiler/plugins/registry.d.ts +61 -0
  176. package/dist/compiler/plugins/registry.js +107 -0
  177. package/dist/compiler/plugins/registry.js.map +1 -0
  178. package/dist/compiler/plugins/skill.plugin.d.ts +71 -0
  179. package/dist/compiler/plugins/skill.plugin.js +243 -0
  180. package/dist/compiler/plugins/skill.plugin.js.map +1 -0
  181. package/dist/compiler/plugins/tool.plugin.d.ts +67 -0
  182. package/dist/compiler/plugins/tool.plugin.js +279 -0
  183. package/dist/compiler/plugins/tool.plugin.js.map +1 -0
  184. package/dist/compiler/plugins/webhook.plugin.d.ts +37 -0
  185. package/dist/compiler/plugins/webhook.plugin.js +127 -0
  186. package/dist/compiler/plugins/webhook.plugin.js.map +1 -0
  187. package/dist/compiler/source-writer.d.ts +98 -0
  188. package/dist/compiler/source-writer.js +223 -0
  189. package/dist/compiler/source-writer.js.map +1 -0
  190. package/dist/compiler/types.d.ts +289 -0
  191. package/dist/compiler/types.js +20 -0
  192. package/dist/compiler/types.js.map +1 -0
  193. package/dist/compiler/utils/ast-helpers.d.ts +57 -0
  194. package/dist/compiler/utils/ast-helpers.js +164 -0
  195. package/dist/compiler/utils/ast-helpers.js.map +1 -0
  196. package/dist/compiler/utils/common.d.ts +23 -0
  197. package/dist/compiler/utils/common.js +66 -0
  198. package/dist/compiler/utils/common.js.map +1 -0
  199. package/dist/compiler/utils/file-discovery.d.ts +34 -0
  200. package/dist/compiler/utils/file-discovery.js +68 -0
  201. package/dist/compiler/utils/file-discovery.js.map +1 -0
  202. package/dist/compiler/utils/path-resolver.d.ts +25 -0
  203. package/dist/compiler/utils/path-resolver.js +66 -0
  204. package/dist/compiler/utils/path-resolver.js.map +1 -0
  205. package/dist/compiler/utils/schema-converter.d.ts +26 -0
  206. package/dist/compiler/utils/schema-converter.js +94 -0
  207. package/dist/compiler/utils/schema-converter.js.map +1 -0
  208. package/dist/config/compile.constants.d.ts +2 -22
  209. package/dist/config/compile.constants.js +2 -49
  210. package/dist/config/compile.constants.js.map +1 -1
  211. package/dist/config/constants.d.ts +18 -2
  212. package/dist/config/constants.js +28 -8
  213. package/dist/config/constants.js.map +1 -1
  214. package/dist/config/dev.constants.d.ts +0 -10
  215. package/dist/config/dev.constants.js +0 -10
  216. package/dist/config/dev.constants.js.map +1 -1
  217. package/dist/index.js +7 -0
  218. package/dist/index.js.map +1 -1
  219. package/dist/instances/basket.instance.js.map +1 -0
  220. package/dist/instances/data.entry.instance.js.map +1 -0
  221. package/dist/instances/job.instance.js.map +1 -0
  222. package/dist/instances/order.instance.js.map +1 -0
  223. package/dist/instances/product.instance.js.map +1 -0
  224. package/dist/instances/product.pagination.instance.js.map +1 -0
  225. package/dist/instances/product.search.instance.js.map +1 -0
  226. package/dist/instances/user.instance.js.map +1 -0
  227. package/dist/interfaces/admin.d.ts +0 -38
  228. package/dist/interfaces/backup.d.ts +125 -0
  229. package/dist/interfaces/backup.js +8 -0
  230. package/dist/interfaces/backup.js.map +1 -0
  231. package/dist/interfaces/baskets.d.ts +0 -56
  232. package/dist/interfaces/common.d.ts +1 -0
  233. package/dist/interfaces/deploy.d.ts +0 -15
  234. package/dist/interfaces/index.d.ts +1 -1
  235. package/dist/interfaces/marketplace.d.ts +51 -0
  236. package/dist/interfaces/marketplace.js +1 -1
  237. package/dist/interfaces/marketplace.js.map +1 -1
  238. package/dist/interfaces/message.d.ts +0 -3
  239. package/dist/interfaces/orders.d.ts +0 -24
  240. package/dist/interfaces/postprocessors.d.ts +0 -18
  241. package/dist/interfaces/preprocessors.d.ts +0 -18
  242. package/dist/interfaces/skills.d.ts +61 -0
  243. package/dist/interfaces/user.d.ts +25 -0
  244. package/dist/interfaces/webhooks.d.ts +0 -9
  245. package/dist/primitives/base.handler.d.ts +106 -0
  246. package/dist/primitives/base.handler.js +370 -0
  247. package/dist/primitives/base.handler.js.map +1 -0
  248. package/dist/primitives/index.d.ts +47 -0
  249. package/dist/primitives/index.js +78 -0
  250. package/dist/primitives/index.js.map +1 -0
  251. package/dist/primitives/job.handler.d.ts +52 -0
  252. package/dist/primitives/job.handler.js +118 -0
  253. package/dist/primitives/job.handler.js.map +1 -0
  254. package/dist/primitives/mcp-server.handler.d.ts +54 -0
  255. package/dist/primitives/mcp-server.handler.js +91 -0
  256. package/dist/primitives/mcp-server.handler.js.map +1 -0
  257. package/dist/primitives/postprocessor.handler.d.ts +49 -0
  258. package/dist/primitives/postprocessor.handler.js +81 -0
  259. package/dist/primitives/postprocessor.handler.js.map +1 -0
  260. package/dist/primitives/preprocessor.handler.d.ts +54 -0
  261. package/dist/primitives/preprocessor.handler.js +95 -0
  262. package/dist/primitives/preprocessor.handler.js.map +1 -0
  263. package/dist/primitives/skill.handler.d.ts +44 -0
  264. package/dist/primitives/skill.handler.js +192 -0
  265. package/dist/primitives/skill.handler.js.map +1 -0
  266. package/dist/primitives/types.d.ts +72 -0
  267. package/dist/primitives/types.js +17 -0
  268. package/dist/primitives/types.js.map +1 -0
  269. package/dist/primitives/webhook.handler.d.ts +50 -0
  270. package/dist/primitives/webhook.handler.js +96 -0
  271. package/dist/primitives/webhook.handler.js.map +1 -0
  272. package/dist/services/auth.js +1 -2
  273. package/dist/services/auth.js.map +1 -1
  274. package/dist/services/sandbox.service.d.ts +103 -0
  275. package/dist/services/sandbox.service.js +479 -0
  276. package/dist/services/sandbox.service.js.map +1 -0
  277. package/dist/types/api-contracts.d.ts +1 -1
  278. package/dist/types/index.d.ts +2 -1
  279. package/dist/types/index.js.map +1 -1
  280. package/dist/types/skill.d.ts +8 -2
  281. package/dist/types/skill.js +8 -0
  282. package/dist/types/skill.js.map +1 -1
  283. package/dist/types/yaml.types.d.ts +69 -0
  284. package/dist/types/yaml.types.js +6 -0
  285. package/dist/types/yaml.types.js.map +1 -0
  286. package/dist/utils/artifact-loader.d.ts +108 -0
  287. package/dist/utils/artifact-loader.js +188 -0
  288. package/dist/utils/artifact-loader.js.map +1 -0
  289. package/dist/utils/backup-helpers.d.ts +122 -0
  290. package/dist/utils/backup-helpers.js +274 -0
  291. package/dist/utils/backup-helpers.js.map +1 -0
  292. package/dist/utils/cli.d.ts +8 -0
  293. package/dist/utils/cli.js +19 -2
  294. package/dist/utils/cli.js.map +1 -1
  295. package/dist/utils/command-utils.d.ts +42 -0
  296. package/dist/utils/command-utils.js +83 -0
  297. package/dist/utils/command-utils.js.map +1 -0
  298. package/dist/utils/deploy-helpers.d.ts +0 -29
  299. package/dist/utils/deploy-helpers.js +0 -70
  300. package/dist/utils/deploy-helpers.js.map +1 -1
  301. package/dist/utils/dev-api.d.ts +3 -99
  302. package/dist/utils/dev-api.js +3 -430
  303. package/dist/utils/dev-api.js.map +1 -1
  304. package/dist/utils/dev-server.d.ts +3 -1
  305. package/dist/utils/dev-server.js +69 -145
  306. package/dist/utils/dev-server.js.map +1 -1
  307. package/dist/utils/dev-watcher.d.ts +0 -1
  308. package/dist/utils/dev-watcher.js +23 -8
  309. package/dist/utils/dev-watcher.js.map +1 -1
  310. package/dist/utils/env-loader.utils.d.ts +10 -1
  311. package/dist/utils/env-loader.utils.js +39 -31
  312. package/dist/utils/env-loader.utils.js.map +1 -1
  313. package/dist/utils/files.d.ts +47 -3
  314. package/dist/utils/files.js +98 -40
  315. package/dist/utils/files.js.map +1 -1
  316. package/dist/utils/init-agent.js +1 -2
  317. package/dist/utils/init-agent.js.map +1 -1
  318. package/dist/utils/init-helpers.d.ts +2 -10
  319. package/dist/utils/init-helpers.js +9 -17
  320. package/dist/utils/init-helpers.js.map +1 -1
  321. package/dist/utils/init-prompts.d.ts +0 -8
  322. package/dist/utils/init-prompts.js +0 -22
  323. package/dist/utils/init-prompts.js.map +1 -1
  324. package/dist/utils/prompt-handler.d.ts +3 -0
  325. package/dist/utils/prompt-handler.js +13 -0
  326. package/dist/utils/prompt-handler.js.map +1 -1
  327. package/dist/utils/sandbox-storage.d.ts +6 -5
  328. package/dist/utils/sandbox-storage.js +12 -12
  329. package/dist/utils/sandbox-storage.js.map +1 -1
  330. package/dist/utils/sandbox.d.ts +7 -30
  331. package/dist/utils/sandbox.js +247 -223
  332. package/dist/utils/sandbox.js.map +1 -1
  333. package/dist/utils/semver.d.ts +12 -0
  334. package/dist/utils/semver.js +23 -0
  335. package/dist/utils/semver.js.map +1 -1
  336. package/dist/utils/sync-display.d.ts +9 -0
  337. package/dist/utils/sync-display.js +67 -0
  338. package/dist/utils/sync-display.js.map +1 -0
  339. package/dist/utils/sync-fetch.d.ts +23 -0
  340. package/dist/utils/sync-fetch.js +64 -0
  341. package/dist/utils/sync-fetch.js.map +1 -0
  342. package/dist/utils/sync-helpers.d.ts +4 -59
  343. package/dist/utils/sync-helpers.js +4 -206
  344. package/dist/utils/sync-helpers.js.map +1 -1
  345. package/dist/web/app.css +912 -186
  346. package/dist/web/app.js +46 -46
  347. package/docs/API_INDEX.md +100 -0
  348. package/docs/API_REFERENCE.md +773 -0
  349. package/docs/CLI_REFERENCE.md +924 -0
  350. package/docs/GETTING_STARTED.md +862 -0
  351. package/docs/README.md +270 -0
  352. package/docs/api/AI.md +882 -0
  353. package/docs/api/Baskets.md +511 -0
  354. package/docs/api/CDN.md +524 -0
  355. package/docs/api/Data.md +446 -0
  356. package/docs/api/Jobs.md +524 -0
  357. package/docs/api/LuaAgent.md +454 -0
  358. package/docs/api/LuaJob.md +604 -0
  359. package/docs/api/LuaSkill.md +396 -0
  360. package/docs/api/LuaTool.md +521 -0
  361. package/docs/api/LuaWebhook.md +601 -0
  362. package/docs/api/Orders.md +514 -0
  363. package/docs/api/PostProcessor.md +565 -0
  364. package/docs/api/PreProcessor.md +630 -0
  365. package/docs/api/Products.md +507 -0
  366. package/docs/api/Templates.md +662 -0
  367. package/docs/api/User.md +567 -0
  368. package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
  369. package/docs/compiler-v2/ASSESSMENT.md +205 -0
  370. package/docs/compiler-v2/TEST_PLAN.md +306 -0
  371. package/package.json +3 -7
  372. package/template/tsconfig.json +1 -1
  373. package/dist/common/basket.instance.js.map +0 -1
  374. package/dist/common/data.entry.instance.js.map +0 -1
  375. package/dist/common/http.client.js.map +0 -1
  376. package/dist/common/job.instance.js.map +0 -1
  377. package/dist/common/order.instance.js.map +0 -1
  378. package/dist/common/product.instance.js.map +0 -1
  379. package/dist/common/product.pagination.instance.js.map +0 -1
  380. package/dist/common/product.search.instance.js.map +0 -1
  381. package/dist/common/user.instance.js.map +0 -1
  382. package/dist/config/auth.constants.d.ts +0 -11
  383. package/dist/config/auth.constants.js +0 -12
  384. package/dist/config/auth.constants.js.map +0 -1
  385. package/dist/config/init.constants.d.ts +0 -15
  386. package/dist/config/init.constants.js +0 -20
  387. package/dist/config/init.constants.js.map +0 -1
  388. package/dist/interfaces/compile.d.ts +0 -12
  389. package/dist/interfaces/compile.js +0 -5
  390. package/dist/interfaces/compile.js.map +0 -1
  391. package/dist/types/compile.types.d.ts +0 -131
  392. package/dist/types/compile.types.js +0 -6
  393. package/dist/types/compile.types.js.map +0 -1
  394. package/dist/utils/agent-code-utils.d.ts +0 -25
  395. package/dist/utils/agent-code-utils.js +0 -107
  396. package/dist/utils/agent-code-utils.js.map +0 -1
  397. package/dist/utils/bundling.d.ts +0 -89
  398. package/dist/utils/bundling.js +0 -1068
  399. package/dist/utils/bundling.js.map +0 -1
  400. package/dist/utils/compile.d.ts +0 -116
  401. package/dist/utils/compile.js +0 -1062
  402. package/dist/utils/compile.js.map +0 -1
  403. package/dist/utils/deploy-api.d.ts +0 -26
  404. package/dist/utils/deploy-api.js +0 -54
  405. package/dist/utils/deploy-api.js.map +0 -1
  406. package/dist/utils/deployment.d.ts +0 -26
  407. package/dist/utils/deployment.js +0 -218
  408. package/dist/utils/deployment.js.map +0 -1
  409. package/dist/utils/dev-helpers.d.ts +0 -47
  410. package/dist/utils/dev-helpers.js +0 -82
  411. package/dist/utils/dev-helpers.js.map +0 -1
  412. package/dist/utils/job-management.d.ts +0 -27
  413. package/dist/utils/job-management.js +0 -248
  414. package/dist/utils/job-management.js.map +0 -1
  415. package/dist/utils/mcp-server-management.d.ts +0 -26
  416. package/dist/utils/mcp-server-management.js +0 -197
  417. package/dist/utils/mcp-server-management.js.map +0 -1
  418. package/dist/utils/postprocessor-management.d.ts +0 -9
  419. package/dist/utils/postprocessor-management.js +0 -117
  420. package/dist/utils/postprocessor-management.js.map +0 -1
  421. package/dist/utils/pre-bundle-jobs.d.ts +0 -27
  422. package/dist/utils/pre-bundle-jobs.js +0 -189
  423. package/dist/utils/pre-bundle-jobs.js.map +0 -1
  424. package/dist/utils/preprocessor-management.d.ts +0 -9
  425. package/dist/utils/preprocessor-management.js +0 -117
  426. package/dist/utils/preprocessor-management.js.map +0 -1
  427. package/dist/utils/push-api.d.ts +0 -15
  428. package/dist/utils/push-api.js +0 -49
  429. package/dist/utils/push-api.js.map +0 -1
  430. package/dist/utils/push-helpers.d.ts +0 -82
  431. package/dist/utils/push-helpers.js +0 -246
  432. package/dist/utils/push-helpers.js.map +0 -1
  433. package/dist/utils/skill-management.d.ts +0 -39
  434. package/dist/utils/skill-management.js +0 -299
  435. package/dist/utils/skill-management.js.map +0 -1
  436. package/dist/utils/test-helpers.d.ts +0 -33
  437. package/dist/utils/test-helpers.js +0 -84
  438. package/dist/utils/test-helpers.js.map +0 -1
  439. package/dist/utils/test-prompts.d.ts +0 -23
  440. package/dist/utils/test-prompts.js +0 -187
  441. package/dist/utils/test-prompts.js.map +0 -1
  442. package/dist/utils/tool-detection.d.ts +0 -19
  443. package/dist/utils/tool-detection.js +0 -125
  444. package/dist/utils/tool-detection.js.map +0 -1
  445. package/dist/utils/webhook-management.d.ts +0 -27
  446. package/dist/utils/webhook-management.js +0 -241
  447. package/dist/utils/webhook-management.js.map +0 -1
  448. /package/dist/{common → api}/http.client.d.ts +0 -0
  449. /package/dist/{common → api}/http.client.js +0 -0
  450. /package/dist/{common → instances}/basket.instance.d.ts +0 -0
  451. /package/dist/{common → instances}/basket.instance.js +0 -0
  452. /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
  453. /package/dist/{common → instances}/data.entry.instance.js +0 -0
  454. /package/dist/{common → instances}/job.instance.d.ts +0 -0
  455. /package/dist/{common → instances}/job.instance.js +0 -0
  456. /package/dist/{common → instances}/order.instance.d.ts +0 -0
  457. /package/dist/{common → instances}/order.instance.js +0 -0
  458. /package/dist/{common → instances}/product.instance.d.ts +0 -0
  459. /package/dist/{common → instances}/product.instance.js +0 -0
  460. /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
  461. /package/dist/{common → instances}/product.pagination.instance.js +0 -0
  462. /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
  463. /package/dist/{common → instances}/product.search.instance.js +0 -0
  464. /package/dist/{common → instances}/user.instance.d.ts +0 -0
  465. /package/dist/{common → instances}/user.instance.js +0 -0
@@ -0,0 +1,604 @@
1
+ # LuaJob
2
+
3
+ The `LuaJob` class defines scheduled tasks that execute automatically at specific times or intervals. Use jobs for recurring operations, one-time tasks, and automated workflows.
4
+
5
+ ## Import
6
+
7
+ ```typescript
8
+ import { LuaJob } from 'lua-cli';
9
+ ```
10
+
11
+ ## Overview
12
+
13
+ Jobs enable:
14
+ - Schedule tasks with cron expressions
15
+ - Run one-time tasks at specific times
16
+ - Execute tasks at fixed intervals
17
+ - Access metadata and user context
18
+ - Configure timeouts and retries
19
+ - Automate recurring operations
20
+
21
+ ## Class Definition
22
+
23
+ ```typescript
24
+ class LuaJob {
25
+ constructor(config: LuaJobConfig);
26
+ getName(): string;
27
+ getDescription(): string;
28
+ getSchedule(): JobSchedule;
29
+ getTimeout(): number;
30
+ getRetry(): { maxAttempts: number; backoffSeconds?: number } | undefined;
31
+ getMetadata(): Record<string, any> | undefined;
32
+ execute(job: JobInstance): Promise<any>;
33
+ }
34
+ ```
35
+
36
+ ## Configuration
37
+
38
+ ```typescript
39
+ interface LuaJobConfig {
40
+ /** Job name (optional, defaults to 'unnamed-job') */
41
+ name?: string;
42
+
43
+ /** Short description of the job (1-2 sentences) */
44
+ description: string;
45
+
46
+ /** Schedule configuration - cron, once, or interval */
47
+ schedule: JobSchedule;
48
+
49
+ /** Function that executes the job logic */
50
+ execute: (job: JobInstance) => Promise<any>;
51
+
52
+ /** Optional timeout in seconds (default: 300) */
53
+ timeout?: number;
54
+
55
+ /** Optional retry configuration */
56
+ retry?: {
57
+ maxAttempts: number;
58
+ backoffSeconds?: number;
59
+ };
60
+
61
+ /** Optional metadata for the job */
62
+ metadata?: Record<string, any>;
63
+ }
64
+ ```
65
+
66
+ ## Schedule Types
67
+
68
+ ### Cron Schedule
69
+
70
+ ```typescript
71
+ {
72
+ type: 'cron',
73
+ expression: string, // Cron expression
74
+ timezone?: string // IANA timezone (default: UTC)
75
+ }
76
+ ```
77
+
78
+ **Cron Expression Format:**
79
+ ```
80
+ ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ minute (0 - 59)
81
+ │ ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ hour (0 - 23)
82
+ │ │ ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ day of month (1 - 31)
83
+ │ │ │ ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ month (1 - 12)
84
+ │ │ │ │ ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ day of week (0 - 6) (Sunday = 0)
85
+ │ │ │ │ │
86
+ * * * * *
87
+ ```
88
+
89
+ **Examples:**
90
+ - `'0 9 * * *'` - Every day at 9:00 AM
91
+ - `'0 */6 * * *'` - Every 6 hours
92
+ - `'0 9 * * 1'` - Every Monday at 9:00 AM
93
+ - `'*/15 * * * *'` - Every 15 minutes
94
+ - `'0 0 1 * *'` - First day of every month at midnight
95
+
96
+ ### Once Schedule
97
+
98
+ ```typescript
99
+ {
100
+ type: 'once',
101
+ executeAt: Date | string // When to run (ISO string or Date)
102
+ }
103
+ ```
104
+
105
+ ### Interval Schedule
106
+
107
+ ```typescript
108
+ {
109
+ type: 'interval',
110
+ seconds: number // Seconds between executions
111
+ }
112
+ ```
113
+
114
+ ## JobInstance
115
+
116
+ The `execute` function receives a `JobInstance`:
117
+
118
+ ```typescript
119
+ interface JobInstance {
120
+ /** Get the user who triggered the job */
121
+ user(): Promise<UserDataInstance>;
122
+
123
+ /** Access job metadata */
124
+ metadata: Record<string, any>;
125
+
126
+ /** Update job metadata */
127
+ updateMetadata(data: Record<string, any>): Promise<void>;
128
+
129
+ /** Delete the job */
130
+ delete(): Promise<void>;
131
+ }
132
+ ```
133
+
134
+ ## Complete Examples
135
+
136
+ ### Daily Cleanup Job
137
+
138
+ ```typescript
139
+ import { LuaJob, Data } from 'lua-cli';
140
+
141
+ export const dailyCleanup = new LuaJob({
142
+ name: 'daily-cleanup',
143
+ description: 'Daily cleanup of old data',
144
+
145
+ schedule: {
146
+ type: 'cron',
147
+ expression: '0 2 * * *', // 2 AM every day
148
+ timezone: 'America/New_York'
149
+ },
150
+
151
+ timeout: 600, // 10 minutes
152
+
153
+ retry: {
154
+ maxAttempts: 3,
155
+ backoffSeconds: 60
156
+ },
157
+
158
+ metadata: {
159
+ retentionDays: 30
160
+ },
161
+
162
+ execute: async (job) => {
163
+ const retentionDays = job.metadata.retentionDays || 30;
164
+ const cutoffDate = new Date();
165
+ cutoffDate.setDate(cutoffDate.getDate() - retentionDays);
166
+
167
+ // Clean up old temporary data
168
+ const oldEntries = await Data.get('temp_data');
169
+ let deletedCount = 0;
170
+
171
+ for (const entry of oldEntries) {
172
+ const createdAt = new Date(entry.data.createdAt);
173
+ if (createdAt < cutoffDate) {
174
+ await Data.delete('temp_data', entry.id);
175
+ deletedCount++;
176
+ }
177
+ }
178
+
179
+ // Update job metadata with stats
180
+ await job.updateMetadata({
181
+ lastRun: new Date().toISOString(),
182
+ deletedCount,
183
+ nextRetentionCheck: new Date(cutoffDate).toISOString()
184
+ });
185
+
186
+ return {
187
+ success: true,
188
+ deletedCount,
189
+ retentionDays
190
+ };
191
+ }
192
+ });
193
+ ```
194
+
195
+ ### Weekly Report Job
196
+
197
+ ```typescript
198
+ import { LuaJob, User, Data, AI } from 'lua-cli';
199
+
200
+ export const weeklyReport = new LuaJob({
201
+ name: 'weekly-report',
202
+ description: 'Generate and send weekly activity report',
203
+
204
+ schedule: {
205
+ type: 'cron',
206
+ expression: '0 9 * * 1', // Every Monday at 9 AM
207
+ timezone: 'UTC'
208
+ },
209
+
210
+ execute: async (job) => {
211
+ const user = await job.user();
212
+
213
+ // Get activity data for the past week
214
+ const activities = await Data.get('user_activities');
215
+ const weekAgo = new Date();
216
+ weekAgo.setDate(weekAgo.getDate() - 7);
217
+
218
+ const recentActivities = activities.filter(a =>
219
+ new Date(a.data.timestamp) > weekAgo
220
+ );
221
+
222
+ // Generate AI summary
223
+ const summary = await AI.generate(
224
+ 'Summarize this week\'s activity in 2-3 bullet points.',
225
+ [{
226
+ type: 'text',
227
+ text: JSON.stringify(recentActivities.map(a => a.data))
228
+ }]
229
+ );
230
+
231
+ // Send report to user
232
+ await user.send([{
233
+ type: 'text',
234
+ text: `šŸ“Š Weekly Activity Report\n\n${summary}\n\nTotal activities: ${recentActivities.length}`
235
+ }]);
236
+
237
+ return {
238
+ success: true,
239
+ activitiesCount: recentActivities.length
240
+ };
241
+ }
242
+ });
243
+ ```
244
+
245
+ ### System Health Check
246
+
247
+ ```typescript
248
+ import { LuaJob, Data } from 'lua-cli';
249
+
250
+ export const healthCheck = new LuaJob({
251
+ name: 'health-check',
252
+ description: 'System health monitoring',
253
+
254
+ schedule: {
255
+ type: 'interval',
256
+ seconds: 300 // Every 5 minutes
257
+ },
258
+
259
+ timeout: 30, // 30 seconds
260
+
261
+ execute: async (job) => {
262
+ const checks = {
263
+ database: false,
264
+ api: false,
265
+ storage: false
266
+ };
267
+
268
+ // Check database
269
+ try {
270
+ await Data.get('health_check');
271
+ checks.database = true;
272
+ } catch (error) {
273
+ console.error('Database check failed:', error);
274
+ }
275
+
276
+ // Check external API
277
+ try {
278
+ const response = await fetch(process.env.API_URL!);
279
+ checks.api = response.ok;
280
+ } catch (error) {
281
+ console.error('API check failed:', error);
282
+ }
283
+
284
+ // Check storage
285
+ try {
286
+ await Data.create('health_check', {
287
+ timestamp: new Date().toISOString(),
288
+ status: 'ok'
289
+ });
290
+ checks.storage = true;
291
+ } catch (error) {
292
+ console.error('Storage check failed:', error);
293
+ }
294
+
295
+ const allHealthy = Object.values(checks).every(c => c);
296
+
297
+ // Log health status
298
+ await Data.create('health_logs', {
299
+ timestamp: new Date().toISOString(),
300
+ checks,
301
+ healthy: allHealthy
302
+ });
303
+
304
+ // Alert if unhealthy
305
+ if (!allHealthy) {
306
+ const user = await job.user();
307
+ await user.send([{
308
+ type: 'text',
309
+ text: `āš ļø System health check failed!\n${JSON.stringify(checks, null, 2)}`
310
+ }]);
311
+ }
312
+
313
+ return {
314
+ success: true,
315
+ healthy: allHealthy,
316
+ checks
317
+ };
318
+ }
319
+ });
320
+ ```
321
+
322
+ ### Birthday Reminder Job
323
+
324
+ ```typescript
325
+ import { LuaJob, Data, User } from 'lua-cli';
326
+
327
+ export const birthdayReminder = new LuaJob({
328
+ name: 'birthday-reminder',
329
+ description: 'Send birthday reminders',
330
+
331
+ schedule: {
332
+ type: 'cron',
333
+ expression: '0 9 * * *', // Every day at 9 AM
334
+ },
335
+
336
+ execute: async (job) => {
337
+ const today = new Date();
338
+ const todayStr = `${today.getMonth() + 1}-${today.getDate()}`;
339
+
340
+ // Get all users with birthdays
341
+ const users = await Data.get('users');
342
+ let remindersSent = 0;
343
+
344
+ for (const userEntry of users) {
345
+ const birthday = userEntry.data.birthday;
346
+ if (!birthday) continue;
347
+
348
+ // Check if birthday is today
349
+ const birthdayDate = new Date(birthday);
350
+ const birthdayStr = `${birthdayDate.getMonth() + 1}-${birthdayDate.getDate()}`;
351
+
352
+ if (birthdayStr === todayStr) {
353
+ // Send birthday message
354
+ const user = await User.get(userEntry.data.userId);
355
+ await user.send([{
356
+ type: 'text',
357
+ text: `šŸŽ‰ Happy Birthday, ${userEntry.data.name}! Wishing you an amazing day!`
358
+ }]);
359
+
360
+ remindersSent++;
361
+ }
362
+ }
363
+
364
+ return {
365
+ success: true,
366
+ remindersSent,
367
+ date: today.toISOString()
368
+ };
369
+ }
370
+ });
371
+ ```
372
+
373
+ ### Data Sync Job
374
+
375
+ ```typescript
376
+ import { LuaJob, Data } from 'lua-cli';
377
+ import axios from 'axios';
378
+
379
+ export const dataSyncJob = new LuaJob({
380
+ name: 'data-sync',
381
+ description: 'Sync data with external system',
382
+
383
+ schedule: {
384
+ type: 'interval',
385
+ seconds: 3600 // Every hour
386
+ },
387
+
388
+ retry: {
389
+ maxAttempts: 5,
390
+ backoffSeconds: 300 // 5 minutes
391
+ },
392
+
393
+ metadata: {
394
+ lastSyncId: null,
395
+ totalSynced: 0
396
+ },
397
+
398
+ execute: async (job) => {
399
+ const apiUrl = process.env.EXTERNAL_API_URL!;
400
+ const apiKey = process.env.EXTERNAL_API_KEY!;
401
+
402
+ try {
403
+ // Fetch updates since last sync
404
+ const response = await axios.get(`${apiUrl}/updates`, {
405
+ headers: { 'Authorization': `Bearer ${apiKey}` },
406
+ params: { since: job.metadata.lastSyncId }
407
+ });
408
+
409
+ const updates = response.data;
410
+ let syncedCount = 0;
411
+
412
+ // Process each update
413
+ for (const update of updates) {
414
+ await Data.create('synced_data', {
415
+ externalId: update.id,
416
+ data: update.data,
417
+ syncedAt: new Date().toISOString()
418
+ });
419
+ syncedCount++;
420
+ }
421
+
422
+ // Update job metadata
423
+ const lastId = updates.length > 0 ? updates[updates.length - 1].id : job.metadata.lastSyncId;
424
+ await job.updateMetadata({
425
+ lastSyncId: lastId,
426
+ totalSynced: job.metadata.totalSynced + syncedCount,
427
+ lastSyncAt: new Date().toISOString()
428
+ });
429
+
430
+ return {
431
+ success: true,
432
+ syncedCount,
433
+ lastId
434
+ };
435
+ } catch (error) {
436
+ console.error('Sync failed:', error);
437
+ throw error; // Will trigger retry
438
+ }
439
+ }
440
+ });
441
+ ```
442
+
443
+ ### One-Time Welcome Email
444
+
445
+ ```typescript
446
+ import { LuaJob, User } from 'lua-cli';
447
+
448
+ export const sendWelcomeEmail = new LuaJob({
449
+ name: 'welcome-email',
450
+ description: 'Send welcome email to new user',
451
+
452
+ schedule: {
453
+ type: 'once',
454
+ executeAt: new Date(Date.now() + 3600000) // 1 hour from now
455
+ },
456
+
457
+ metadata: {
458
+ userId: 'user_123',
459
+ userName: 'John Doe'
460
+ },
461
+
462
+ execute: async (job) => {
463
+ const user = await User.get(job.metadata.userId);
464
+
465
+ await user.send([{
466
+ type: 'text',
467
+ text: `Welcome to our platform, ${job.metadata.userName}! šŸŽ‰\n\nWe're excited to have you here. Here are some things you can do:\n\n• Explore our features\n• Complete your profile\n• Connect with the community\n\nIf you have any questions, just ask!`
468
+ }]);
469
+
470
+ // Delete job after execution (one-time only)
471
+ await job.delete();
472
+
473
+ return {
474
+ success: true,
475
+ userId: job.metadata.userId
476
+ };
477
+ }
478
+ });
479
+ ```
480
+
481
+ ## Best Practices
482
+
483
+ ### āœ… DO
484
+
485
+ - Use appropriate schedule types for your use case
486
+ - Set reasonable timeouts for long-running jobs
487
+ - Configure retries for critical jobs
488
+ - Store important data in job metadata
489
+ - Log job execution results
490
+ - Handle errors gracefully
491
+ - Use timezones for user-facing scheduled jobs
492
+ - Clean up one-time jobs after execution
493
+
494
+ ### āŒ DON'T
495
+
496
+ - Don't use very short intervals (< 1 minute) without good reason
497
+ - Don't perform blocking operations
498
+ - Don't forget to handle timezone differences
499
+ - Don't ignore job execution failures
500
+ - Don't store large data in metadata
501
+ - Don't create jobs without timeout limits
502
+ - Don't skip error logging
503
+
504
+ ## Cron Expression Examples
505
+
506
+ ```typescript
507
+ // Every minute
508
+ '* * * * *'
509
+
510
+ // Every 5 minutes
511
+ '*/5 * * * *'
512
+
513
+ // Every hour at minute 0
514
+ '0 * * * *'
515
+
516
+ // Every day at midnight
517
+ '0 0 * * *'
518
+
519
+ // Every day at 3:30 PM
520
+ '30 15 * * *'
521
+
522
+ // Every Monday at 9 AM
523
+ '0 9 * * 1'
524
+
525
+ // Every weekday at 6 PM
526
+ '0 18 * * 1-5'
527
+
528
+ // First day of every month
529
+ '0 0 1 * *'
530
+
531
+ // Last day of every month (not directly supported, use workaround)
532
+ '0 0 28-31 * *'
533
+
534
+ // Every 6 hours
535
+ '0 */6 * * *'
536
+ ```
537
+
538
+ ## Error Handling
539
+
540
+ ```typescript
541
+ export const robustJob = new LuaJob({
542
+ name: 'robust-job',
543
+ description: 'Job with comprehensive error handling',
544
+
545
+ schedule: {
546
+ type: 'cron',
547
+ expression: '0 * * * *' // Every hour
548
+ },
549
+
550
+ retry: {
551
+ maxAttempts: 3,
552
+ backoffSeconds: 60
553
+ },
554
+
555
+ execute: async (job) => {
556
+ try {
557
+ // Perform job logic
558
+ const result = await performTask();
559
+
560
+ // Update success metadata
561
+ await job.updateMetadata({
562
+ lastSuccess: new Date().toISOString(),
563
+ consecutiveFailures: 0
564
+ });
565
+
566
+ return {
567
+ success: true,
568
+ result
569
+ };
570
+ } catch (error) {
571
+ // Track failures
572
+ const failures = (job.metadata.consecutiveFailures || 0) + 1;
573
+ await job.updateMetadata({
574
+ lastFailure: new Date().toISOString(),
575
+ lastError: error.message,
576
+ consecutiveFailures: failures
577
+ });
578
+
579
+ // Alert after 3 consecutive failures
580
+ if (failures >= 3) {
581
+ const user = await job.user();
582
+ await user.send([{
583
+ type: 'text',
584
+ text: `āš ļø Job "${job.metadata.name}" has failed 3 times in a row. Last error: ${error.message}`
585
+ }]);
586
+ }
587
+
588
+ throw error; // Re-throw to trigger retry
589
+ }
590
+ }
591
+ });
592
+ ```
593
+
594
+ ## Related APIs
595
+
596
+ - [Jobs API](./Jobs.md) - Dynamic job creation from tools
597
+ - [User API](./User.md) - Access user context in jobs
598
+ - [Data API](./Data.md) - Store job results and logs
599
+
600
+ ## See Also
601
+
602
+ - [Cron Expression Reference](https://crontab.guru/)
603
+ - [Job Scheduling Guide](../guides/JobScheduling.md)
604
+ - [Automation Patterns](../guides/Automation.md)