lua-cli 3.5.0-alpha.2 → 3.5.0-alpha.4

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 (468) 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 +7 -1
  62. package/dist/api/unifiedto.api.service.js +9 -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 +2 -2
  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 +63 -39
  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.d.ts +2 -2
  111. package/dist/commands/integrations.js +761 -158
  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 +350 -1308
  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 +12 -24
  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 +187 -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 +580 -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 +264 -0
  159. package/dist/compiler/plugins/base.js +307 -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 +143 -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 +186 -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 +39 -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 +48 -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 +34 -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 +243 -0
  181. package/dist/compiler/plugins/skill.plugin.js.map +1 -0
  182. package/dist/compiler/plugins/tool.plugin.d.ts +67 -0
  183. package/dist/compiler/plugins/tool.plugin.js +279 -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 +127 -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 +289 -0
  192. package/dist/compiler/types.js +20 -0
  193. package/dist/compiler/types.js.map +1 -0
  194. package/dist/compiler/utils/ast-helpers.d.ts +57 -0
  195. package/dist/compiler/utils/ast-helpers.js +164 -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/unifiedto.d.ts +4 -0
  245. package/dist/interfaces/user.d.ts +25 -0
  246. package/dist/interfaces/webhooks.d.ts +0 -9
  247. package/dist/primitives/base.handler.d.ts +106 -0
  248. package/dist/primitives/base.handler.js +370 -0
  249. package/dist/primitives/base.handler.js.map +1 -0
  250. package/dist/primitives/index.d.ts +47 -0
  251. package/dist/primitives/index.js +78 -0
  252. package/dist/primitives/index.js.map +1 -0
  253. package/dist/primitives/job.handler.d.ts +52 -0
  254. package/dist/primitives/job.handler.js +118 -0
  255. package/dist/primitives/job.handler.js.map +1 -0
  256. package/dist/primitives/mcp-server.handler.d.ts +54 -0
  257. package/dist/primitives/mcp-server.handler.js +91 -0
  258. package/dist/primitives/mcp-server.handler.js.map +1 -0
  259. package/dist/primitives/postprocessor.handler.d.ts +49 -0
  260. package/dist/primitives/postprocessor.handler.js +81 -0
  261. package/dist/primitives/postprocessor.handler.js.map +1 -0
  262. package/dist/primitives/preprocessor.handler.d.ts +54 -0
  263. package/dist/primitives/preprocessor.handler.js +95 -0
  264. package/dist/primitives/preprocessor.handler.js.map +1 -0
  265. package/dist/primitives/skill.handler.d.ts +44 -0
  266. package/dist/primitives/skill.handler.js +192 -0
  267. package/dist/primitives/skill.handler.js.map +1 -0
  268. package/dist/primitives/types.d.ts +72 -0
  269. package/dist/primitives/types.js +17 -0
  270. package/dist/primitives/types.js.map +1 -0
  271. package/dist/primitives/webhook.handler.d.ts +50 -0
  272. package/dist/primitives/webhook.handler.js +96 -0
  273. package/dist/primitives/webhook.handler.js.map +1 -0
  274. package/dist/services/auth.js +1 -2
  275. package/dist/services/auth.js.map +1 -1
  276. package/dist/services/sandbox.service.d.ts +103 -0
  277. package/dist/services/sandbox.service.js +479 -0
  278. package/dist/services/sandbox.service.js.map +1 -0
  279. package/dist/types/api-contracts.d.ts +1 -1
  280. package/dist/types/index.d.ts +2 -1
  281. package/dist/types/index.js.map +1 -1
  282. package/dist/types/skill.d.ts +8 -2
  283. package/dist/types/skill.js +8 -0
  284. package/dist/types/skill.js.map +1 -1
  285. package/dist/types/yaml.types.d.ts +69 -0
  286. package/dist/types/yaml.types.js +6 -0
  287. package/dist/types/yaml.types.js.map +1 -0
  288. package/dist/utils/artifact-loader.d.ts +108 -0
  289. package/dist/utils/artifact-loader.js +188 -0
  290. package/dist/utils/artifact-loader.js.map +1 -0
  291. package/dist/utils/backup-helpers.d.ts +122 -0
  292. package/dist/utils/backup-helpers.js +274 -0
  293. package/dist/utils/backup-helpers.js.map +1 -0
  294. package/dist/utils/cli.d.ts +8 -0
  295. package/dist/utils/cli.js +19 -2
  296. package/dist/utils/cli.js.map +1 -1
  297. package/dist/utils/command-utils.d.ts +42 -0
  298. package/dist/utils/command-utils.js +83 -0
  299. package/dist/utils/command-utils.js.map +1 -0
  300. package/dist/utils/deploy-helpers.d.ts +0 -29
  301. package/dist/utils/deploy-helpers.js +0 -70
  302. package/dist/utils/deploy-helpers.js.map +1 -1
  303. package/dist/utils/dev-api.d.ts +3 -99
  304. package/dist/utils/dev-api.js +3 -430
  305. package/dist/utils/dev-api.js.map +1 -1
  306. package/dist/utils/dev-server.d.ts +3 -1
  307. package/dist/utils/dev-server.js +69 -145
  308. package/dist/utils/dev-server.js.map +1 -1
  309. package/dist/utils/dev-watcher.d.ts +0 -1
  310. package/dist/utils/dev-watcher.js +23 -8
  311. package/dist/utils/dev-watcher.js.map +1 -1
  312. package/dist/utils/env-loader.utils.d.ts +10 -1
  313. package/dist/utils/env-loader.utils.js +39 -31
  314. package/dist/utils/env-loader.utils.js.map +1 -1
  315. package/dist/utils/files.d.ts +47 -3
  316. package/dist/utils/files.js +98 -40
  317. package/dist/utils/files.js.map +1 -1
  318. package/dist/utils/init-agent.js +1 -2
  319. package/dist/utils/init-agent.js.map +1 -1
  320. package/dist/utils/init-helpers.d.ts +2 -10
  321. package/dist/utils/init-helpers.js +9 -17
  322. package/dist/utils/init-helpers.js.map +1 -1
  323. package/dist/utils/init-prompts.d.ts +0 -8
  324. package/dist/utils/init-prompts.js +0 -22
  325. package/dist/utils/init-prompts.js.map +1 -1
  326. package/dist/utils/prompt-handler.d.ts +3 -0
  327. package/dist/utils/prompt-handler.js +13 -0
  328. package/dist/utils/prompt-handler.js.map +1 -1
  329. package/dist/utils/sandbox-storage.d.ts +6 -5
  330. package/dist/utils/sandbox-storage.js +12 -12
  331. package/dist/utils/sandbox-storage.js.map +1 -1
  332. package/dist/utils/sandbox.d.ts +7 -30
  333. package/dist/utils/sandbox.js +247 -223
  334. package/dist/utils/sandbox.js.map +1 -1
  335. package/dist/utils/semver.d.ts +12 -0
  336. package/dist/utils/semver.js +23 -0
  337. package/dist/utils/semver.js.map +1 -1
  338. package/dist/utils/sync-display.d.ts +9 -0
  339. package/dist/utils/sync-display.js +67 -0
  340. package/dist/utils/sync-display.js.map +1 -0
  341. package/dist/utils/sync-fetch.d.ts +23 -0
  342. package/dist/utils/sync-fetch.js +64 -0
  343. package/dist/utils/sync-fetch.js.map +1 -0
  344. package/dist/utils/sync-helpers.d.ts +4 -59
  345. package/dist/utils/sync-helpers.js +4 -206
  346. package/dist/utils/sync-helpers.js.map +1 -1
  347. package/dist/web/app.css +912 -186
  348. package/dist/web/app.js +46 -46
  349. package/docs/API_INDEX.md +100 -0
  350. package/docs/API_REFERENCE.md +773 -0
  351. package/docs/CLI_REFERENCE.md +924 -0
  352. package/docs/GETTING_STARTED.md +862 -0
  353. package/docs/README.md +270 -0
  354. package/docs/api/AI.md +882 -0
  355. package/docs/api/Baskets.md +511 -0
  356. package/docs/api/CDN.md +524 -0
  357. package/docs/api/Data.md +446 -0
  358. package/docs/api/Jobs.md +524 -0
  359. package/docs/api/LuaAgent.md +454 -0
  360. package/docs/api/LuaJob.md +604 -0
  361. package/docs/api/LuaSkill.md +396 -0
  362. package/docs/api/LuaTool.md +521 -0
  363. package/docs/api/LuaWebhook.md +601 -0
  364. package/docs/api/Orders.md +514 -0
  365. package/docs/api/PostProcessor.md +565 -0
  366. package/docs/api/PreProcessor.md +630 -0
  367. package/docs/api/Products.md +507 -0
  368. package/docs/api/Templates.md +662 -0
  369. package/docs/api/User.md +567 -0
  370. package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
  371. package/docs/compiler-v2/ASSESSMENT.md +205 -0
  372. package/docs/compiler-v2/TEST_PLAN.md +306 -0
  373. package/package.json +3 -7
  374. package/template/package.json +1 -1
  375. package/template/tsconfig.json +1 -1
  376. package/dist/common/basket.instance.js.map +0 -1
  377. package/dist/common/data.entry.instance.js.map +0 -1
  378. package/dist/common/http.client.js.map +0 -1
  379. package/dist/common/job.instance.js.map +0 -1
  380. package/dist/common/order.instance.js.map +0 -1
  381. package/dist/common/product.instance.js.map +0 -1
  382. package/dist/common/product.pagination.instance.js.map +0 -1
  383. package/dist/common/product.search.instance.js.map +0 -1
  384. package/dist/common/user.instance.js.map +0 -1
  385. package/dist/config/auth.constants.d.ts +0 -11
  386. package/dist/config/auth.constants.js +0 -12
  387. package/dist/config/auth.constants.js.map +0 -1
  388. package/dist/config/init.constants.d.ts +0 -15
  389. package/dist/config/init.constants.js +0 -20
  390. package/dist/config/init.constants.js.map +0 -1
  391. package/dist/interfaces/compile.d.ts +0 -12
  392. package/dist/interfaces/compile.js +0 -5
  393. package/dist/interfaces/compile.js.map +0 -1
  394. package/dist/types/compile.types.d.ts +0 -131
  395. package/dist/types/compile.types.js +0 -6
  396. package/dist/types/compile.types.js.map +0 -1
  397. package/dist/utils/agent-code-utils.d.ts +0 -25
  398. package/dist/utils/agent-code-utils.js +0 -107
  399. package/dist/utils/agent-code-utils.js.map +0 -1
  400. package/dist/utils/bundling.d.ts +0 -89
  401. package/dist/utils/bundling.js +0 -1068
  402. package/dist/utils/bundling.js.map +0 -1
  403. package/dist/utils/compile.d.ts +0 -116
  404. package/dist/utils/compile.js +0 -1062
  405. package/dist/utils/compile.js.map +0 -1
  406. package/dist/utils/deploy-api.d.ts +0 -26
  407. package/dist/utils/deploy-api.js +0 -54
  408. package/dist/utils/deploy-api.js.map +0 -1
  409. package/dist/utils/deployment.d.ts +0 -26
  410. package/dist/utils/deployment.js +0 -218
  411. package/dist/utils/deployment.js.map +0 -1
  412. package/dist/utils/dev-helpers.d.ts +0 -47
  413. package/dist/utils/dev-helpers.js +0 -82
  414. package/dist/utils/dev-helpers.js.map +0 -1
  415. package/dist/utils/job-management.d.ts +0 -27
  416. package/dist/utils/job-management.js +0 -248
  417. package/dist/utils/job-management.js.map +0 -1
  418. package/dist/utils/mcp-server-management.d.ts +0 -26
  419. package/dist/utils/mcp-server-management.js +0 -197
  420. package/dist/utils/mcp-server-management.js.map +0 -1
  421. package/dist/utils/postprocessor-management.d.ts +0 -9
  422. package/dist/utils/postprocessor-management.js +0 -117
  423. package/dist/utils/postprocessor-management.js.map +0 -1
  424. package/dist/utils/pre-bundle-jobs.d.ts +0 -27
  425. package/dist/utils/pre-bundle-jobs.js +0 -189
  426. package/dist/utils/pre-bundle-jobs.js.map +0 -1
  427. package/dist/utils/preprocessor-management.d.ts +0 -9
  428. package/dist/utils/preprocessor-management.js +0 -117
  429. package/dist/utils/preprocessor-management.js.map +0 -1
  430. package/dist/utils/push-api.d.ts +0 -15
  431. package/dist/utils/push-api.js +0 -49
  432. package/dist/utils/push-api.js.map +0 -1
  433. package/dist/utils/push-helpers.d.ts +0 -82
  434. package/dist/utils/push-helpers.js +0 -246
  435. package/dist/utils/push-helpers.js.map +0 -1
  436. package/dist/utils/skill-management.d.ts +0 -39
  437. package/dist/utils/skill-management.js +0 -299
  438. package/dist/utils/skill-management.js.map +0 -1
  439. package/dist/utils/test-helpers.d.ts +0 -33
  440. package/dist/utils/test-helpers.js +0 -84
  441. package/dist/utils/test-helpers.js.map +0 -1
  442. package/dist/utils/test-prompts.d.ts +0 -23
  443. package/dist/utils/test-prompts.js +0 -187
  444. package/dist/utils/test-prompts.js.map +0 -1
  445. package/dist/utils/tool-detection.d.ts +0 -19
  446. package/dist/utils/tool-detection.js +0 -125
  447. package/dist/utils/tool-detection.js.map +0 -1
  448. package/dist/utils/webhook-management.d.ts +0 -27
  449. package/dist/utils/webhook-management.js +0 -241
  450. package/dist/utils/webhook-management.js.map +0 -1
  451. /package/dist/{common → api}/http.client.d.ts +0 -0
  452. /package/dist/{common → api}/http.client.js +0 -0
  453. /package/dist/{common → instances}/basket.instance.d.ts +0 -0
  454. /package/dist/{common → instances}/basket.instance.js +0 -0
  455. /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
  456. /package/dist/{common → instances}/data.entry.instance.js +0 -0
  457. /package/dist/{common → instances}/job.instance.d.ts +0 -0
  458. /package/dist/{common → instances}/job.instance.js +0 -0
  459. /package/dist/{common → instances}/order.instance.d.ts +0 -0
  460. /package/dist/{common → instances}/order.instance.js +0 -0
  461. /package/dist/{common → instances}/product.instance.d.ts +0 -0
  462. /package/dist/{common → instances}/product.instance.js +0 -0
  463. /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
  464. /package/dist/{common → instances}/product.pagination.instance.js +0 -0
  465. /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
  466. /package/dist/{common → instances}/product.search.instance.js +0 -0
  467. /package/dist/{common → instances}/user.instance.d.ts +0 -0
  468. /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';