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