lua-cli 3.5.0-alpha.3 → 3.5.0-alpha.5

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 (464) 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/{common → api}/http.client.js +5 -1
  29. package/dist/api/http.client.js.map +1 -0
  30. package/dist/api/job.api.service.d.ts +2 -2
  31. package/dist/api/job.api.service.js +2 -2
  32. package/dist/api/job.api.service.js.map +1 -1
  33. package/dist/api/logs.api.service.d.ts +1 -1
  34. package/dist/api/logs.api.service.js +1 -1
  35. package/dist/api/logs.api.service.js.map +1 -1
  36. package/dist/api/marketplace.api.service.d.ts +6 -6
  37. package/dist/api/marketplace.api.service.js.map +1 -1
  38. package/dist/api/order.api.service.d.ts +3 -4
  39. package/dist/api/order.api.service.js +8 -10
  40. package/dist/api/order.api.service.js.map +1 -1
  41. package/dist/api/persona.api.service.d.ts +1 -1
  42. package/dist/api/persona.api.service.js +1 -1
  43. package/dist/api/persona.api.service.js.map +1 -1
  44. package/dist/api/postprocessor.api.service.d.ts +1 -1
  45. package/dist/api/postprocessor.api.service.js +1 -1
  46. package/dist/api/postprocessor.api.service.js.map +1 -1
  47. package/dist/api/preprocessor.api.service.d.ts +1 -1
  48. package/dist/api/preprocessor.api.service.js +1 -1
  49. package/dist/api/preprocessor.api.service.js.map +1 -1
  50. package/dist/api/products.api.service.d.ts +4 -4
  51. package/dist/api/products.api.service.js +6 -6
  52. package/dist/api/products.api.service.js.map +1 -1
  53. package/dist/api/resource.api.service.d.ts +76 -0
  54. package/dist/api/resource.api.service.js +74 -0
  55. package/dist/api/resource.api.service.js.map +1 -0
  56. package/dist/api/skills.api.service.d.ts +7 -15
  57. package/dist/api/skills.api.service.js +1 -1
  58. package/dist/api/skills.api.service.js.map +1 -1
  59. package/dist/api/tool.api.service.d.ts +1 -1
  60. package/dist/api/tool.api.service.js +1 -1
  61. package/dist/api/tool.api.service.js.map +1 -1
  62. package/dist/api/unifiedto.api.service.d.ts +1 -1
  63. package/dist/api/unifiedto.api.service.js +1 -1
  64. package/dist/api/unifiedto.api.service.js.map +1 -1
  65. package/dist/api/user.data.api.service.d.ts +7 -8
  66. package/dist/api/user.data.api.service.js +2 -3
  67. package/dist/api/user.data.api.service.js.map +1 -1
  68. package/dist/api/webhook.api.service.d.ts +1 -1
  69. package/dist/api/webhook.api.service.js +1 -1
  70. package/dist/api/webhook.api.service.js.map +1 -1
  71. package/dist/api/whatsapp-templates.api.service.d.ts +1 -1
  72. package/dist/api/whatsapp-templates.api.service.js +1 -1
  73. package/dist/api/whatsapp-templates.api.service.js.map +1 -1
  74. package/dist/api-exports.d.ts +14 -12
  75. package/dist/api-exports.js +8 -8
  76. package/dist/api-exports.js.map +1 -1
  77. package/dist/cli/command-definitions.js +32 -17
  78. package/dist/cli/command-definitions.js.map +1 -1
  79. package/dist/commands/admin.js +3 -24
  80. package/dist/commands/admin.js.map +1 -1
  81. package/dist/commands/agents.d.ts +8 -7
  82. package/dist/commands/agents.js +63 -21
  83. package/dist/commands/agents.js.map +1 -1
  84. package/dist/commands/channels.js +11 -23
  85. package/dist/commands/channels.js.map +1 -1
  86. package/dist/commands/chat.js +33 -47
  87. package/dist/commands/chat.js.map +1 -1
  88. package/dist/commands/chatClear.js +11 -41
  89. package/dist/commands/chatClear.js.map +1 -1
  90. package/dist/commands/compile.d.ts +25 -23
  91. package/dist/commands/compile.js +101 -402
  92. package/dist/commands/compile.js.map +1 -1
  93. package/dist/commands/completion.js +1 -1
  94. package/dist/commands/completion.js.map +1 -1
  95. package/dist/commands/deploy.js +55 -25
  96. package/dist/commands/deploy.js.map +1 -1
  97. package/dist/commands/dev.js +29 -45
  98. package/dist/commands/dev.js.map +1 -1
  99. package/dist/commands/env.js +12 -25
  100. package/dist/commands/env.js.map +1 -1
  101. package/dist/commands/evals.js +3 -20
  102. package/dist/commands/evals.js.map +1 -1
  103. package/dist/commands/features.js +10 -23
  104. package/dist/commands/features.js.map +1 -1
  105. package/dist/commands/index.d.ts +1 -0
  106. package/dist/commands/index.js +1 -0
  107. package/dist/commands/index.js.map +1 -1
  108. package/dist/commands/init.d.ts +1 -0
  109. package/dist/commands/init.js +135 -19
  110. package/dist/commands/init.js.map +1 -1
  111. package/dist/commands/integrations.js +26 -37
  112. package/dist/commands/integrations.js.map +1 -1
  113. package/dist/commands/jobs.js +32 -56
  114. package/dist/commands/jobs.js.map +1 -1
  115. package/dist/commands/logs.js +9 -20
  116. package/dist/commands/logs.js.map +1 -1
  117. package/dist/commands/marketplace.js +34 -52
  118. package/dist/commands/marketplace.js.map +1 -1
  119. package/dist/commands/mcp.js +10 -23
  120. package/dist/commands/mcp.js.map +1 -1
  121. package/dist/commands/persona.js +43 -74
  122. package/dist/commands/persona.js.map +1 -1
  123. package/dist/commands/postprocessors.js +15 -28
  124. package/dist/commands/postprocessors.js.map +1 -1
  125. package/dist/commands/preprocessors.js +15 -28
  126. package/dist/commands/preprocessors.js.map +1 -1
  127. package/dist/commands/production.js +30 -63
  128. package/dist/commands/production.js.map +1 -1
  129. package/dist/commands/push.js +313 -1241
  130. package/dist/commands/push.js.map +1 -1
  131. package/dist/commands/pushBackup.d.ts +22 -0
  132. package/dist/commands/pushBackup.js +133 -0
  133. package/dist/commands/pushBackup.js.map +1 -0
  134. package/dist/commands/resources.js +29 -72
  135. package/dist/commands/resources.js.map +1 -1
  136. package/dist/commands/skills.d.ts +1 -1
  137. package/dist/commands/skills.js +58 -70
  138. package/dist/commands/skills.js.map +1 -1
  139. package/dist/commands/sync.d.ts +1 -3
  140. package/dist/commands/sync.js +20 -28
  141. package/dist/commands/sync.js.map +1 -1
  142. package/dist/commands/test.js +135 -104
  143. package/dist/commands/test.js.map +1 -1
  144. package/dist/commands/webhooks.js +15 -28
  145. package/dist/commands/webhooks.js.map +1 -1
  146. package/dist/compiler/agent-traverser.d.ts +104 -0
  147. package/dist/compiler/agent-traverser.js +311 -0
  148. package/dist/compiler/agent-traverser.js.map +1 -0
  149. package/dist/compiler/bundler.d.ts +42 -0
  150. package/dist/compiler/bundler.js +188 -0
  151. package/dist/compiler/bundler.js.map +1 -0
  152. package/dist/compiler/compiler.d.ts +177 -0
  153. package/dist/compiler/compiler.js +581 -0
  154. package/dist/compiler/compiler.js.map +1 -0
  155. package/dist/compiler/index.d.ts +36 -0
  156. package/dist/compiler/index.js +42 -0
  157. package/dist/compiler/index.js.map +1 -0
  158. package/dist/compiler/plugins/base.d.ts +284 -0
  159. package/dist/compiler/plugins/base.js +343 -0
  160. package/dist/compiler/plugins/base.js.map +1 -0
  161. package/dist/compiler/plugins/job.plugin.d.ts +33 -0
  162. package/dist/compiler/plugins/job.plugin.js +96 -0
  163. package/dist/compiler/plugins/job.plugin.js.map +1 -0
  164. package/dist/compiler/plugins/mcp-server.plugin.d.ts +50 -0
  165. package/dist/compiler/plugins/mcp-server.plugin.js +157 -0
  166. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -0
  167. package/dist/compiler/plugins/postprocessor.plugin.d.ts +20 -0
  168. package/dist/compiler/plugins/postprocessor.plugin.js +30 -0
  169. package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -0
  170. package/dist/compiler/plugins/preprocessor.plugin.d.ts +20 -0
  171. package/dist/compiler/plugins/preprocessor.plugin.js +35 -0
  172. package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -0
  173. package/dist/compiler/plugins/processor-base.d.ts +16 -0
  174. package/dist/compiler/plugins/processor-base.js +27 -0
  175. package/dist/compiler/plugins/processor-base.js.map +1 -0
  176. package/dist/compiler/plugins/registry.d.ts +61 -0
  177. package/dist/compiler/plugins/registry.js +107 -0
  178. package/dist/compiler/plugins/registry.js.map +1 -0
  179. package/dist/compiler/plugins/skill.plugin.d.ts +71 -0
  180. package/dist/compiler/plugins/skill.plugin.js +225 -0
  181. package/dist/compiler/plugins/skill.plugin.js.map +1 -0
  182. package/dist/compiler/plugins/tool.plugin.d.ts +68 -0
  183. package/dist/compiler/plugins/tool.plugin.js +258 -0
  184. package/dist/compiler/plugins/tool.plugin.js.map +1 -0
  185. package/dist/compiler/plugins/webhook.plugin.d.ts +37 -0
  186. package/dist/compiler/plugins/webhook.plugin.js +112 -0
  187. package/dist/compiler/plugins/webhook.plugin.js.map +1 -0
  188. package/dist/compiler/source-writer.d.ts +98 -0
  189. package/dist/compiler/source-writer.js +223 -0
  190. package/dist/compiler/source-writer.js.map +1 -0
  191. package/dist/compiler/types.d.ts +294 -0
  192. package/dist/compiler/types.js +27 -0
  193. package/dist/compiler/types.js.map +1 -0
  194. package/dist/compiler/utils/ast-helpers.d.ts +69 -0
  195. package/dist/compiler/utils/ast-helpers.js +184 -0
  196. package/dist/compiler/utils/ast-helpers.js.map +1 -0
  197. package/dist/compiler/utils/common.d.ts +23 -0
  198. package/dist/compiler/utils/common.js +66 -0
  199. package/dist/compiler/utils/common.js.map +1 -0
  200. package/dist/compiler/utils/file-discovery.d.ts +34 -0
  201. package/dist/compiler/utils/file-discovery.js +68 -0
  202. package/dist/compiler/utils/file-discovery.js.map +1 -0
  203. package/dist/compiler/utils/path-resolver.d.ts +25 -0
  204. package/dist/compiler/utils/path-resolver.js +66 -0
  205. package/dist/compiler/utils/path-resolver.js.map +1 -0
  206. package/dist/compiler/utils/schema-converter.d.ts +26 -0
  207. package/dist/compiler/utils/schema-converter.js +94 -0
  208. package/dist/compiler/utils/schema-converter.js.map +1 -0
  209. package/dist/config/compile.constants.d.ts +2 -22
  210. package/dist/config/compile.constants.js +2 -49
  211. package/dist/config/compile.constants.js.map +1 -1
  212. package/dist/config/constants.d.ts +18 -2
  213. package/dist/config/constants.js +28 -8
  214. package/dist/config/constants.js.map +1 -1
  215. package/dist/config/dev.constants.d.ts +0 -10
  216. package/dist/config/dev.constants.js +0 -10
  217. package/dist/config/dev.constants.js.map +1 -1
  218. package/dist/index.js +7 -0
  219. package/dist/index.js.map +1 -1
  220. package/dist/instances/basket.instance.js.map +1 -0
  221. package/dist/instances/data.entry.instance.js.map +1 -0
  222. package/dist/instances/job.instance.js.map +1 -0
  223. package/dist/instances/order.instance.js.map +1 -0
  224. package/dist/instances/product.instance.js.map +1 -0
  225. package/dist/instances/product.pagination.instance.js.map +1 -0
  226. package/dist/instances/product.search.instance.js.map +1 -0
  227. package/dist/instances/user.instance.js.map +1 -0
  228. package/dist/interfaces/admin.d.ts +0 -38
  229. package/dist/interfaces/backup.d.ts +125 -0
  230. package/dist/interfaces/backup.js +8 -0
  231. package/dist/interfaces/backup.js.map +1 -0
  232. package/dist/interfaces/baskets.d.ts +0 -56
  233. package/dist/interfaces/common.d.ts +1 -0
  234. package/dist/interfaces/deploy.d.ts +0 -15
  235. package/dist/interfaces/index.d.ts +1 -1
  236. package/dist/interfaces/marketplace.d.ts +51 -0
  237. package/dist/interfaces/marketplace.js +1 -1
  238. package/dist/interfaces/marketplace.js.map +1 -1
  239. package/dist/interfaces/message.d.ts +0 -3
  240. package/dist/interfaces/orders.d.ts +0 -24
  241. package/dist/interfaces/postprocessors.d.ts +0 -18
  242. package/dist/interfaces/preprocessors.d.ts +0 -18
  243. package/dist/interfaces/skills.d.ts +61 -0
  244. package/dist/interfaces/user.d.ts +25 -0
  245. package/dist/interfaces/webhooks.d.ts +0 -9
  246. package/dist/primitives/base.handler.d.ts +145 -0
  247. package/dist/primitives/base.handler.js +474 -0
  248. package/dist/primitives/base.handler.js.map +1 -0
  249. package/dist/primitives/index.d.ts +46 -0
  250. package/dist/primitives/index.js +68 -0
  251. package/dist/primitives/index.js.map +1 -0
  252. package/dist/primitives/job.handler.d.ts +47 -0
  253. package/dist/primitives/job.handler.js +104 -0
  254. package/dist/primitives/job.handler.js.map +1 -0
  255. package/dist/primitives/mcp-server.handler.d.ts +54 -0
  256. package/dist/primitives/mcp-server.handler.js +100 -0
  257. package/dist/primitives/mcp-server.handler.js.map +1 -0
  258. package/dist/primitives/postprocessor.handler.d.ts +38 -0
  259. package/dist/primitives/postprocessor.handler.js +58 -0
  260. package/dist/primitives/postprocessor.handler.js.map +1 -0
  261. package/dist/primitives/preprocessor.handler.d.ts +43 -0
  262. package/dist/primitives/preprocessor.handler.js +72 -0
  263. package/dist/primitives/preprocessor.handler.js.map +1 -0
  264. package/dist/primitives/skill.handler.d.ts +46 -0
  265. package/dist/primitives/skill.handler.js +173 -0
  266. package/dist/primitives/skill.handler.js.map +1 -0
  267. package/dist/primitives/types.d.ts +90 -0
  268. package/dist/primitives/types.js +17 -0
  269. package/dist/primitives/types.js.map +1 -0
  270. package/dist/primitives/webhook.handler.d.ts +45 -0
  271. package/dist/primitives/webhook.handler.js +82 -0
  272. package/dist/primitives/webhook.handler.js.map +1 -0
  273. package/dist/services/auth.js +1 -2
  274. package/dist/services/auth.js.map +1 -1
  275. package/dist/services/sandbox.service.d.ts +103 -0
  276. package/dist/services/sandbox.service.js +479 -0
  277. package/dist/services/sandbox.service.js.map +1 -0
  278. package/dist/types/api-contracts.d.ts +1 -1
  279. package/dist/types/index.d.ts +2 -1
  280. package/dist/types/index.js.map +1 -1
  281. package/dist/types/skill.d.ts +8 -2
  282. package/dist/types/skill.js +8 -0
  283. package/dist/types/skill.js.map +1 -1
  284. package/dist/types/yaml.types.d.ts +69 -0
  285. package/dist/types/yaml.types.js +6 -0
  286. package/dist/types/yaml.types.js.map +1 -0
  287. package/dist/utils/artifact-loader.d.ts +108 -0
  288. package/dist/utils/artifact-loader.js +188 -0
  289. package/dist/utils/artifact-loader.js.map +1 -0
  290. package/dist/utils/backup-helpers.d.ts +122 -0
  291. package/dist/utils/backup-helpers.js +274 -0
  292. package/dist/utils/backup-helpers.js.map +1 -0
  293. package/dist/utils/cli.d.ts +8 -0
  294. package/dist/utils/cli.js +20 -3
  295. package/dist/utils/cli.js.map +1 -1
  296. package/dist/utils/command-utils.d.ts +44 -0
  297. package/dist/utils/command-utils.js +85 -0
  298. package/dist/utils/command-utils.js.map +1 -0
  299. package/dist/utils/deploy-helpers.d.ts +0 -29
  300. package/dist/utils/deploy-helpers.js +0 -70
  301. package/dist/utils/deploy-helpers.js.map +1 -1
  302. package/dist/utils/dev-api.d.ts +3 -99
  303. package/dist/utils/dev-api.js +3 -430
  304. package/dist/utils/dev-api.js.map +1 -1
  305. package/dist/utils/dev-server.d.ts +3 -1
  306. package/dist/utils/dev-server.js +69 -145
  307. package/dist/utils/dev-server.js.map +1 -1
  308. package/dist/utils/dev-watcher.d.ts +0 -1
  309. package/dist/utils/dev-watcher.js +23 -8
  310. package/dist/utils/dev-watcher.js.map +1 -1
  311. package/dist/utils/env-loader.utils.d.ts +10 -1
  312. package/dist/utils/env-loader.utils.js +39 -31
  313. package/dist/utils/env-loader.utils.js.map +1 -1
  314. package/dist/utils/files.d.ts +57 -3
  315. package/dist/utils/files.js +132 -40
  316. package/dist/utils/files.js.map +1 -1
  317. package/dist/utils/init-agent.js +1 -2
  318. package/dist/utils/init-agent.js.map +1 -1
  319. package/dist/utils/init-helpers.d.ts +2 -10
  320. package/dist/utils/init-helpers.js +9 -17
  321. package/dist/utils/init-helpers.js.map +1 -1
  322. package/dist/utils/init-prompts.d.ts +0 -8
  323. package/dist/utils/init-prompts.js +0 -22
  324. package/dist/utils/init-prompts.js.map +1 -1
  325. package/dist/utils/prompt-handler.d.ts +3 -0
  326. package/dist/utils/prompt-handler.js +13 -0
  327. package/dist/utils/prompt-handler.js.map +1 -1
  328. package/dist/utils/sandbox-storage.d.ts +6 -5
  329. package/dist/utils/sandbox-storage.js +12 -12
  330. package/dist/utils/sandbox-storage.js.map +1 -1
  331. package/dist/utils/sandbox.d.ts +7 -30
  332. package/dist/utils/sandbox.js +247 -223
  333. package/dist/utils/sandbox.js.map +1 -1
  334. package/dist/utils/semver.d.ts +12 -0
  335. package/dist/utils/semver.js +23 -0
  336. package/dist/utils/semver.js.map +1 -1
  337. package/dist/utils/sync-display.d.ts +9 -0
  338. package/dist/utils/sync-display.js +67 -0
  339. package/dist/utils/sync-display.js.map +1 -0
  340. package/dist/utils/sync-fetch.d.ts +23 -0
  341. package/dist/utils/sync-fetch.js +64 -0
  342. package/dist/utils/sync-fetch.js.map +1 -0
  343. package/dist/utils/sync-helpers.d.ts +4 -59
  344. package/dist/utils/sync-helpers.js +4 -206
  345. package/dist/utils/sync-helpers.js.map +1 -1
  346. package/docs/API_INDEX.md +100 -0
  347. package/docs/API_REFERENCE.md +773 -0
  348. package/docs/CLI_REFERENCE.md +924 -0
  349. package/docs/GETTING_STARTED.md +862 -0
  350. package/docs/README.md +270 -0
  351. package/docs/api/AI.md +882 -0
  352. package/docs/api/Baskets.md +511 -0
  353. package/docs/api/CDN.md +524 -0
  354. package/docs/api/Data.md +446 -0
  355. package/docs/api/Jobs.md +524 -0
  356. package/docs/api/LuaAgent.md +454 -0
  357. package/docs/api/LuaJob.md +604 -0
  358. package/docs/api/LuaSkill.md +396 -0
  359. package/docs/api/LuaTool.md +521 -0
  360. package/docs/api/LuaWebhook.md +601 -0
  361. package/docs/api/Orders.md +514 -0
  362. package/docs/api/PostProcessor.md +565 -0
  363. package/docs/api/PreProcessor.md +630 -0
  364. package/docs/api/Products.md +507 -0
  365. package/docs/api/Templates.md +662 -0
  366. package/docs/api/User.md +567 -0
  367. package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
  368. package/docs/compiler-v2/ASSESSMENT.md +205 -0
  369. package/docs/compiler-v2/TEST_PLAN.md +306 -0
  370. package/package.json +3 -7
  371. package/template/package.json +1 -1
  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 → instances}/basket.instance.d.ts +0 -0
  450. /package/dist/{common → instances}/basket.instance.js +0 -0
  451. /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
  452. /package/dist/{common → instances}/data.entry.instance.js +0 -0
  453. /package/dist/{common → instances}/job.instance.d.ts +0 -0
  454. /package/dist/{common → instances}/job.instance.js +0 -0
  455. /package/dist/{common → instances}/order.instance.d.ts +0 -0
  456. /package/dist/{common → instances}/order.instance.js +0 -0
  457. /package/dist/{common → instances}/product.instance.d.ts +0 -0
  458. /package/dist/{common → instances}/product.instance.js +0 -0
  459. /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
  460. /package/dist/{common → instances}/product.pagination.instance.js +0 -0
  461. /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
  462. /package/dist/{common → instances}/product.search.instance.js +0 -0
  463. /package/dist/{common → instances}/user.instance.d.ts +0 -0
  464. /package/dist/{common → instances}/user.instance.js +0 -0
@@ -0,0 +1,581 @@
1
+ /**
2
+ * Main Lua Compiler
3
+ *
4
+ * This is the entry point for compilation. It orchestrates:
5
+ * 1. Scanning source files for primitives
6
+ * 2. Validating all primitives
7
+ * 3. Bundling each primitive with esbuild
8
+ * 4. Writing artifacts to disk
9
+ */
10
+ import fs from 'fs/promises';
11
+ import path from 'path';
12
+ import { Project } from 'ts-morph';
13
+ import { pluginRegistry } from './plugins/registry.js';
14
+ import { Bundler } from './bundler.js';
15
+ import { AgentTraverser } from './agent-traverser.js';
16
+ import { shouldSkipFile, shouldSkipDirectory, hashContent, formatSize } from './utils/common.js';
17
+ import { COMPILER_VERSION, } from './types.js';
18
+ // Re-export types for consumers
19
+ export * from './types.js';
20
+ // =============================================================================
21
+ // COMPILER
22
+ // =============================================================================
23
+ export class Compiler {
24
+ constructor(options) {
25
+ /** Cached agent info from traversal (avoids re-traversing for manifest) */
26
+ this.cachedAgentInfo = null;
27
+ this.options = {
28
+ sourceMaps: true,
29
+ minify: true,
30
+ debug: false,
31
+ verbose: false,
32
+ quietWarnings: false,
33
+ runtimeValidation: true,
34
+ ...options,
35
+ };
36
+ this.project = new Project({
37
+ tsConfigFilePath: path.join(options.rootDir, 'tsconfig.json'),
38
+ });
39
+ this.bundler = new Bundler({ outDir: this.options.outDir, minify: this.options.minify, sourceMaps: this.options.sourceMaps, debug: this.options.debug }, this.project, (msg) => this.verbose(msg));
40
+ }
41
+ /**
42
+ * Run the compilation.
43
+ */
44
+ async compile() {
45
+ const startTime = Date.now();
46
+ const errors = [];
47
+ const warnings = [];
48
+ const compiledPrimitives = [];
49
+ try {
50
+ // Step 1: Scan for primitives
51
+ this.verbose('📁 Scanning source files...');
52
+ const allMetadata = await this.scanForPrimitives();
53
+ if (allMetadata.length === 0) {
54
+ warnings.push({
55
+ file: this.options.rootDir,
56
+ message: 'No primitives found. Make sure you export primitives using define functions.',
57
+ });
58
+ }
59
+ // Step 2: Validate
60
+ this.verbose('✅ Validating primitives...');
61
+ for (const metadata of allMetadata) {
62
+ const plugin = pluginRegistry.get(metadata.kind);
63
+ if (!plugin) {
64
+ errors.push({
65
+ primitive: metadata.name,
66
+ kind: metadata.kind,
67
+ file: metadata.sourcePath,
68
+ line: metadata.line,
69
+ message: `Unknown primitive kind: ${metadata.kind}`,
70
+ });
71
+ continue;
72
+ }
73
+ const result = plugin.validate(metadata);
74
+ errors.push(...result.errors.map((e) => ({
75
+ primitive: metadata.name,
76
+ kind: metadata.kind,
77
+ file: metadata.sourcePath,
78
+ line: e.line || metadata.line,
79
+ column: e.column,
80
+ message: e.message,
81
+ suggestion: e.suggestion,
82
+ })));
83
+ if (!this.options.quietWarnings) {
84
+ warnings.push(...result.warnings.map((w) => ({
85
+ primitive: metadata.name,
86
+ kind: metadata.kind,
87
+ file: metadata.sourcePath,
88
+ line: w.line || metadata.line,
89
+ message: w.message,
90
+ })));
91
+ }
92
+ }
93
+ // Stop if validation errors
94
+ if (errors.length > 0) {
95
+ return await this.createResult(false, [], errors, warnings, startTime);
96
+ }
97
+ // Step 3: Compile each primitive (parallel with concurrency limit)
98
+ this.verbose('📦 Bundling primitives...');
99
+ // Ensure output directory exists
100
+ await fs.mkdir(this.options.outDir, { recursive: true });
101
+ await fs.mkdir(path.join(this.options.outDir, '.temp'), { recursive: true });
102
+ // Compile in parallel with concurrency limit
103
+ const CONCURRENCY = 4;
104
+ const compileResults = await this.compileInParallel(allMetadata, CONCURRENCY);
105
+ for (const result of compileResults) {
106
+ if ('error' in result) {
107
+ errors.push({
108
+ primitive: result.metadata.name,
109
+ kind: result.metadata.kind,
110
+ file: result.metadata.sourcePath,
111
+ message: `Compilation failed: ${result.error.message}`,
112
+ });
113
+ }
114
+ else if (result.compiled) {
115
+ compiledPrimitives.push(result.compiled);
116
+ }
117
+ }
118
+ // Step 4: Write artifacts
119
+ this.verbose('💾 Writing artifacts...');
120
+ await this.writeArtifacts(compiledPrimitives);
121
+ // Step 5: Clean up temp files (unless debug mode)
122
+ if (!this.options.debug) {
123
+ await fs.rm(path.join(this.options.outDir, '.temp'), { recursive: true, force: true });
124
+ }
125
+ return await this.createResult(true, compiledPrimitives, errors, warnings, startTime);
126
+ }
127
+ catch (error) {
128
+ errors.push({
129
+ file: 'compiler',
130
+ message: `Unexpected error: ${error.message}`,
131
+ });
132
+ return await this.createResult(false, [], errors, warnings, startTime);
133
+ }
134
+ }
135
+ /**
136
+ * Scan for primitives using agent traversal (preferred) or fallback to full scan.
137
+ *
138
+ * Agent traversal only compiles primitives that are actually registered with
139
+ * a LuaAgent, matching the old compiler's behavior.
140
+ *
141
+ * Also caches the agent info for manifest creation (avoids re-traversing).
142
+ */
143
+ async scanForPrimitives() {
144
+ // Try agent traversal first
145
+ const traverser = new AgentTraverser(this.options.rootDir, this.options.debug);
146
+ const agentInfo = await traverser.traverse();
147
+ if (agentInfo && agentInfo.primitives.length > 0) {
148
+ this.verbose(`🤖 Agent detected: ${agentInfo.name}`);
149
+ // Cache for manifest creation
150
+ this.cachedAgentInfo = agentInfo;
151
+ return agentInfo.primitives;
152
+ }
153
+ // Fallback: scan all files (for projects without LuaAgent)
154
+ this.verbose(`⚠️ No LuaAgent found, scanning all source files...`);
155
+ return this.scanAllFiles();
156
+ }
157
+ /**
158
+ * Fallback discovery: scan all source files for primitives when no LuaAgent is found.
159
+ *
160
+ * Unlike agent traversal (which only compiles registered primitives), this method
161
+ * runs every plugin on every source file to discover ALL primitive-like code:
162
+ * - ToolPlugin: defineTool() OR classes extending/implementing LuaTool
163
+ * - JobPlugin: defineJob() OR new LuaJob({...})
164
+ * - WebhookPlugin: defineWebhook() OR new LuaWebhook({...})
165
+ * - PreProcessorPlugin: definePreProcessor() OR new PreProcessor({...})
166
+ * - PostProcessorPlugin: definePostProcessor() OR new PostProcessor({...})
167
+ * - McpServerPlugin: defineMCPServer() OR new LuaMCPServer({...})
168
+ *
169
+ * This is less precise and may include unused primitives, but necessary for
170
+ * projects that don't use the LuaAgent pattern.
171
+ *
172
+ * @returns All detected primitive metadata from the entire codebase
173
+ */
174
+ scanAllFiles() {
175
+ const allMetadata = [];
176
+ const sourceFiles = this.project.getSourceFiles();
177
+ for (const sourceFile of sourceFiles) {
178
+ const filePath = sourceFile.getFilePath();
179
+ // Skip files we don't want to scan
180
+ if (shouldSkipFile(filePath))
181
+ continue;
182
+ // Run all plugins on this file
183
+ for (const plugin of pluginRegistry.getAll()) {
184
+ try {
185
+ const metadata = plugin.detect(sourceFile);
186
+ allMetadata.push(...metadata);
187
+ }
188
+ catch (error) {
189
+ if (this.options.debug) {
190
+ console.warn(`Warning: Plugin ${plugin.kind} failed on ${filePath}:`, error);
191
+ }
192
+ }
193
+ }
194
+ }
195
+ return allMetadata;
196
+ }
197
+ /**
198
+ * Compile primitives in parallel with a concurrency limit.
199
+ * Returns results in the same order as input, with either compiled primitive or error.
200
+ */
201
+ async compileInParallel(allMetadata, concurrency) {
202
+ const results = [];
203
+ // Process in batches of `concurrency`
204
+ for (let i = 0; i < allMetadata.length; i += concurrency) {
205
+ const batch = allMetadata.slice(i, i + concurrency);
206
+ const batchResults = await Promise.all(batch.map(async (metadata) => {
207
+ const plugin = pluginRegistry.get(metadata.kind);
208
+ if (plugin) {
209
+ this.verbose(` 📦 ${plugin.displayName}: ${metadata.name}`);
210
+ }
211
+ try {
212
+ const compiled = await this.compilePrimitive(metadata);
213
+ return { compiled, metadata };
214
+ }
215
+ catch (error) {
216
+ return { error, metadata };
217
+ }
218
+ }));
219
+ results.push(...batchResults);
220
+ }
221
+ return results;
222
+ }
223
+ /**
224
+ * Compile a single primitive through the full pipeline.
225
+ *
226
+ * The compilation pipeline for each primitive:
227
+ * 1. Generate entry point code via the plugin
228
+ * 2. Bundle with esbuild using stdin (no temp entry file) + virtual module plugin
229
+ * 3. Run plugin's post-processing hook (if any)
230
+ * 4. Extract schemas via plugin (e.g., Zod → JSON Schema for tools)
231
+ *
232
+ * Uses esbuild's stdin option for the entry point and a virtual module plugin
233
+ * that appends `export { X as __lua_target__ }` to the source file. This
234
+ * eliminates all temp files while handling non-exported primitives correctly.
235
+ *
236
+ * @param metadata - Primitive metadata from detection phase
237
+ * @returns Compiled primitive with bundled code, schemas, and metadata, or null if plugin not found
238
+ */
239
+ async compilePrimitive(metadata) {
240
+ const plugin = pluginRegistry.get(metadata.kind);
241
+ if (!plugin)
242
+ return null;
243
+ // Generate entry point code (imports from source, creates wrapper)
244
+ const entryPointCode = plugin.generateEntryPoint(metadata);
245
+ // Bundle with esbuild using stdin + virtual source plugin (no temp files)
246
+ const artifact = await this.bundler.bundle(metadata, entryPointCode);
247
+ // Post-process if plugin supports it and runtime validation is enabled
248
+ const finalArtifact = (plugin.postProcess && this.options.runtimeValidation)
249
+ ? plugin.postProcess(artifact, metadata)
250
+ : artifact;
251
+ // Extract schemas if plugin supports it
252
+ const schemas = plugin.extractSchemas
253
+ ? await plugin.extractSchemas(metadata, this.project)
254
+ : undefined;
255
+ return {
256
+ kind: metadata.kind,
257
+ name: metadata.name,
258
+ description: metadata.description,
259
+ sourcePath: metadata.sourcePath,
260
+ artifact: finalArtifact,
261
+ schemas,
262
+ metadata: metadata.metadata,
263
+ };
264
+ }
265
+ /**
266
+ * Write all compilation artifacts to disk with full project preservation.
267
+ *
268
+ * Output structure:
269
+ * ```
270
+ * dist-v2/
271
+ * ├── artifacts/
272
+ * │ ├── tool/
273
+ * │ │ ├── {name}.js # Bundled code
274
+ * │ │ ├── {name}.js.map # Source map
275
+ * │ │ └── {name}.json # Metadata (schemas, description, etc.)
276
+ * │ ├── job/
277
+ * │ ├── webhook/
278
+ * │ └── ...
279
+ * ├── sources/
280
+ * │ └── {hash}.ts # Deduplicated source files (by content hash)
281
+ * └── manifest.json # Full compilation manifest
282
+ * ```
283
+ *
284
+ * @param primitives - All compiled primitives to write
285
+ */
286
+ async writeArtifacts(primitives) {
287
+ const artifactsDir = path.join(this.options.outDir, 'artifacts');
288
+ const sourcesDir = path.join(this.options.outDir, 'sources');
289
+ await fs.mkdir(sourcesDir, { recursive: true });
290
+ // Track written sources by hash to avoid duplicates
291
+ const writtenSources = new Map(); // hash -> relativePath
292
+ // Step 1: Write primitive artifacts (bundles, source maps, metadata)
293
+ await this.writePrimitiveArtifacts(primitives, artifactsDir, sourcesDir, writtenSources);
294
+ // Step 2: Collect and store all project files for full reconstruction
295
+ this.verbose(' 📂 Collecting project files...');
296
+ const projectFiles = await this.storeProjectFiles(sourcesDir, writtenSources);
297
+ // Step 3: Create and write manifest
298
+ const manifest = await this.createManifest(primitives, projectFiles);
299
+ await fs.writeFile(path.join(this.options.outDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
300
+ this.verbose(` 📦 Total files stored: ${writtenSources.size} (deduplicated)`);
301
+ this.verbose(` 📁 Project files: ${projectFiles.length}`);
302
+ if (this.options.verbose || this.options.debug) {
303
+ this.logTree(primitives);
304
+ }
305
+ }
306
+ /**
307
+ * Write primitive artifacts: bundles, source maps, and metadata JSON files.
308
+ */
309
+ async writePrimitiveArtifacts(primitives, artifactsDir, sourcesDir, writtenSources) {
310
+ for (const primitive of primitives) {
311
+ const primitiveDir = path.join(artifactsDir, primitive.kind);
312
+ await fs.mkdir(primitiveDir, { recursive: true });
313
+ const baseName = primitive.name;
314
+ // Write bundle
315
+ await fs.writeFile(path.join(primitiveDir, `${baseName}.js`), primitive.artifact.code);
316
+ // Write source map
317
+ if (primitive.artifact.sourceMap) {
318
+ await fs.writeFile(path.join(primitiveDir, `${baseName}.js.map`), primitive.artifact.sourceMap);
319
+ }
320
+ // Deduplicate and store original source
321
+ const sourceHash = hashContent(primitive.artifact.originalSource);
322
+ if (!writtenSources.has(sourceHash)) {
323
+ const ext = primitive.sourcePath.endsWith('.tsx') ? '.tsx' : '.ts';
324
+ await fs.writeFile(path.join(sourcesDir, `${sourceHash}${ext}`), primitive.artifact.originalSource);
325
+ const relativePath = path.relative(this.options.rootDir, primitive.sourcePath);
326
+ writtenSources.set(sourceHash, relativePath);
327
+ }
328
+ // Write metadata JSON
329
+ await fs.writeFile(path.join(primitiveDir, `${baseName}.json`), JSON.stringify({
330
+ kind: primitive.kind,
331
+ name: primitive.name,
332
+ description: primitive.description,
333
+ sourcePath: primitive.sourcePath,
334
+ sourceHash,
335
+ schemas: primitive.schemas,
336
+ metadata: primitive.metadata,
337
+ size: primitive.artifact.size,
338
+ hash: primitive.artifact.hash,
339
+ }, null, 2));
340
+ }
341
+ }
342
+ /**
343
+ * Store all project files for full reconstruction (enables `lua init --from-server`).
344
+ * Returns the list of project files with their hashes.
345
+ */
346
+ async storeProjectFiles(sourcesDir, writtenSources) {
347
+ const projectFiles = [];
348
+ const allFiles = await this.collectProjectFiles();
349
+ for (const file of allFiles) {
350
+ const content = await fs.readFile(path.join(this.options.rootDir, file.relativePath), 'utf-8');
351
+ const hash = hashContent(content);
352
+ // Store if not already stored (deduplication)
353
+ if (!writtenSources.has(hash)) {
354
+ const ext = path.extname(file.relativePath) || '.txt';
355
+ await fs.writeFile(path.join(sourcesDir, `${hash}${ext}`), content);
356
+ writtenSources.set(hash, file.relativePath);
357
+ }
358
+ projectFiles.push({
359
+ relativePath: file.relativePath,
360
+ hash,
361
+ size: content.length,
362
+ type: file.type,
363
+ });
364
+ }
365
+ return projectFiles;
366
+ }
367
+ /**
368
+ * Create the compilation manifest with all metadata.
369
+ *
370
+ * Uses cached agent info from scanForPrimitives() to avoid re-traversing.
371
+ * Delegates to each plugin's toManifestEntry() for type-specific fields.
372
+ */
373
+ async createManifest(primitives, projectFiles) {
374
+ const agentInfo = this.cachedAgentInfo;
375
+ // Extract config file hashes
376
+ const config = {};
377
+ const packageJsonFile = projectFiles.find(f => f.relativePath === 'package.json');
378
+ if (packageJsonFile)
379
+ config.packageJson = packageJsonFile.hash;
380
+ const tsconfigFile = projectFiles.find(f => f.relativePath === 'tsconfig.json');
381
+ if (tsconfigFile)
382
+ config.tsconfigJson = tsconfigFile.hash;
383
+ const yamlFile = projectFiles.find(f => f.relativePath === 'lua.skill.yaml');
384
+ if (yamlFile)
385
+ config.luaSkillYaml = yamlFile.hash;
386
+ return {
387
+ version: COMPILER_VERSION,
388
+ compiledAt: new Date().toISOString(),
389
+ agent: agentInfo ? { name: agentInfo.name, persona: agentInfo.persona } : undefined,
390
+ primitives: await this.mapPrimitivesToManifest(primitives),
391
+ projectFiles,
392
+ config,
393
+ };
394
+ }
395
+ /**
396
+ * Map compiled primitives to manifest entries using plugins.
397
+ * Single source of truth for primitive → manifest conversion.
398
+ */
399
+ async mapPrimitivesToManifest(primitives) {
400
+ const context = {
401
+ agentPrimitives: this.cachedAgentInfo?.primitives,
402
+ outDir: this.options.outDir,
403
+ };
404
+ return Promise.all(primitives.map(async (p) => {
405
+ const plugin = pluginRegistry.get(p.kind);
406
+ if (plugin) {
407
+ return plugin.toManifestEntry(p, context);
408
+ }
409
+ // Fallback for unknown kinds (should not happen)
410
+ return {
411
+ kind: p.kind,
412
+ name: p.name,
413
+ description: p.description,
414
+ path: `artifacts/${p.kind}/${p.name}.js`,
415
+ sourcePath: p.sourcePath,
416
+ hash: p.artifact.hash,
417
+ };
418
+ }));
419
+ }
420
+ /**
421
+ * Recursively collect all project files for full reconstruction.
422
+ *
423
+ * This enables `lua init --from-server` to recreate the exact project structure.
424
+ *
425
+ * File categorization:
426
+ * - 'source': .ts, .tsx, .js files
427
+ * - 'config': package.json, tsconfig.json, lua.skill.yaml, *.yaml, *.yml, *.json
428
+ * - 'other': README.md, .env.example, etc.
429
+ *
430
+ * Excludes (via shouldSkipDirectory/shouldSkipFile):
431
+ * - node_modules, dist, .git, coverage, etc.
432
+ * - test files, declaration files, lock files
433
+ *
434
+ * @returns Array of file info with relative paths and categorized types
435
+ */
436
+ async collectProjectFiles() {
437
+ const files = [];
438
+ const scanDir = async (dir, relativeBase = '') => {
439
+ const entries = await fs.readdir(dir, { withFileTypes: true });
440
+ for (const entry of entries) {
441
+ const relativePath = relativeBase ? `${relativeBase}/${entry.name}` : entry.name;
442
+ const fullPath = path.join(dir, entry.name);
443
+ // Skip directories we don't want
444
+ if (entry.isDirectory()) {
445
+ if (shouldSkipDirectory(entry.name))
446
+ continue;
447
+ await scanDir(fullPath, relativePath);
448
+ continue;
449
+ }
450
+ // Skip files we don't want
451
+ if (shouldSkipFile(entry.name))
452
+ continue;
453
+ // Determine file type
454
+ let type = 'other';
455
+ if (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx') || entry.name.endsWith('.js')) {
456
+ type = 'source';
457
+ }
458
+ else if (entry.name === 'package.json' ||
459
+ entry.name === 'tsconfig.json' ||
460
+ entry.name === 'lua.skill.yaml' ||
461
+ entry.name.endsWith('.yaml') ||
462
+ entry.name.endsWith('.yml') ||
463
+ entry.name.endsWith('.json')) {
464
+ type = 'config';
465
+ }
466
+ files.push({ relativePath, type });
467
+ }
468
+ };
469
+ await scanDir(this.options.rootDir);
470
+ return files;
471
+ }
472
+ /**
473
+ * Log the output directory tree.
474
+ */
475
+ logTree(primitives) {
476
+ this.log(` ${this.options.outDir}/`);
477
+ this.log(` ├── artifacts/`);
478
+ const byKind = new Map();
479
+ for (const p of primitives) {
480
+ const list = byKind.get(p.kind) || [];
481
+ list.push(p);
482
+ byKind.set(p.kind, list);
483
+ }
484
+ const kinds = Array.from(byKind.keys());
485
+ kinds.forEach((kind, i) => {
486
+ const isLast = i === kinds.length - 1;
487
+ const primitiveList = byKind.get(kind);
488
+ this.log(` │ ${isLast ? '└' : '├'}── ${kind}/`);
489
+ primitiveList.forEach((p, j) => {
490
+ const isLastPrimitive = j === primitiveList.length - 1;
491
+ const prefix = isLast ? ' ' : '│ ';
492
+ this.log(` ${prefix} ${isLastPrimitive ? '└' : '├'}── ${p.name}.js (${formatSize(p.artifact.size)})`);
493
+ });
494
+ });
495
+ this.log(` └── manifest.json`);
496
+ }
497
+ /**
498
+ * Create the compilation result with stats.
499
+ * Note: The full manifest (with projectFiles) is written by writeArtifacts.
500
+ * This returns a minimal manifest for the result object.
501
+ */
502
+ async createResult(success, primitives, errors, warnings, startTime) {
503
+ const stats = this.calculateStats(primitives, startTime);
504
+ return {
505
+ success,
506
+ manifest: await this.createMinimalManifest(primitives),
507
+ errors,
508
+ warnings,
509
+ stats,
510
+ };
511
+ }
512
+ /**
513
+ * Calculate compilation statistics.
514
+ */
515
+ calculateStats(primitives, startTime) {
516
+ const byKind = {};
517
+ let totalSize = 0;
518
+ for (const p of primitives) {
519
+ byKind[p.kind] = (byKind[p.kind] || 0) + 1;
520
+ totalSize += p.artifact.size;
521
+ }
522
+ return {
523
+ totalPrimitives: primitives.length,
524
+ byKind,
525
+ totalSize,
526
+ duration: Date.now() - startTime,
527
+ };
528
+ }
529
+ /**
530
+ * Create a minimal manifest for the result object.
531
+ * The full manifest (with projectFiles) is written to disk by writeArtifacts.
532
+ */
533
+ async createMinimalManifest(primitives) {
534
+ return {
535
+ version: COMPILER_VERSION,
536
+ compiledAt: new Date().toISOString(),
537
+ primitives: await this.mapPrimitivesToManifest(primitives),
538
+ projectFiles: [], // Full list written to disk
539
+ config: {}, // Full config written to disk
540
+ };
541
+ }
542
+ /**
543
+ * Log a message (always shown).
544
+ */
545
+ log(message) {
546
+ console.log(message);
547
+ }
548
+ /**
549
+ * Log a verbose message (only shown in verbose or debug mode).
550
+ */
551
+ verbose(message) {
552
+ if (this.options.verbose || this.options.debug) {
553
+ console.log(message);
554
+ }
555
+ }
556
+ }
557
+ // =============================================================================
558
+ // CONVENIENCE FUNCTION
559
+ // =============================================================================
560
+ /**
561
+ * Compile a Lua project.
562
+ *
563
+ * @example
564
+ * ```typescript
565
+ * const result = await compile({
566
+ * rootDir: process.cwd(),
567
+ * outDir: 'dist',
568
+ * });
569
+ *
570
+ * if (!result.success) {
571
+ * console.error('Compilation failed:');
572
+ * result.errors.forEach(e => console.error(` ${e.message}`));
573
+ * process.exit(1);
574
+ * }
575
+ * ```
576
+ */
577
+ export async function compile(options) {
578
+ const compiler = new Compiler(options);
579
+ return compiler.compile();
580
+ }
581
+ //# sourceMappingURL=compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @lua/compiler - Compiler for Lua AI agent primitives
3
+ *
4
+ * This package provides the compilation infrastructure for Lua agents.
5
+ * It transforms TypeScript source code into optimized, sandboxed artifacts.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { compile } from '@lua/compiler';
10
+ *
11
+ * const result = await compile({
12
+ * rootDir: process.cwd(),
13
+ * outDir: 'dist',
14
+ * });
15
+ *
16
+ * if (result.success) {
17
+ * console.log(`Compiled ${result.stats.totalPrimitives} primitives`);
18
+ * }
19
+ * ```
20
+ */
21
+ export { Compiler, compile } from './compiler.js';
22
+ export type { CompilerOptions, CompilationResult, CompilationManifest, CompilationError, CompilationWarning, CompilationStats, CompiledPrimitive, ProjectFile, ManifestPrimitive, ManifestTool, ManifestSkill, ManifestJob, ManifestWebhook, ManifestPreProcessor, ManifestPostProcessor, ManifestMCPServer, ManifestContext, BaseMetadataFields, PrimitiveMetadata, ToolMetadataFields, SkillMetadataFields, JobMetadataFields, WebhookMetadataFields, PreProcessorMetadataFields, PostProcessorMetadataFields, MCPServerMetadataFields, ToolMetadata, SkillMetadata, JobMetadata, WebhookMetadata, PreProcessorMetadata, PostProcessorMetadata, MCPServerMetadata, ValidationResult, ValidationMessage, SchemaSet, JSONSchema, BundledArtifact, } from './types.js';
23
+ export type { CompilationPlugin } from './plugins/base.js';
24
+ export { pluginRegistry, PluginRegistry, getAllDefineFunctions, getPluginByDefineFunction, } from './plugins/registry.js';
25
+ export { validResult, validationError, validationWarning, } from './plugins/base.js';
26
+ export { ToolPlugin } from './plugins/tool.plugin.js';
27
+ export { JobPlugin } from './plugins/job.plugin.js';
28
+ export { WebhookPlugin } from './plugins/webhook.plugin.js';
29
+ export { PreProcessorPlugin } from './plugins/preprocessor.plugin.js';
30
+ export { PostProcessorPlugin } from './plugins/postprocessor.plugin.js';
31
+ export { MCPServerPlugin } from './plugins/mcp-server.plugin.js';
32
+ export { SkillPlugin } from './plugins/skill.plugin.js';
33
+ export { extractStringProperty, extractBooleanProperty, extractNumberProperty, extractObjectProperty, extractSchemaProperty, hasProperty, getPropertyNames, isFunction, getFunctionBody, findImportSource, } from './utils/ast-helpers.js';
34
+ export { zodToJsonSchema, zodStringToJsonSchema, } from './utils/schema-converter.js';
35
+ export { updateAgentConfig, setAgentName, setAgentPersona, type SourceWriteOptions, } from './source-writer.js';
36
+ export { findEntryPoint, findIndexFile, getEntryPointPriority, } from './utils/file-discovery.js';