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,223 @@
1
+ /**
2
+ * Source Writer
3
+ *
4
+ * Utilities for modifying Lua agent source code via AST manipulation.
5
+ * All ts-morph write operations are centralized here.
6
+ *
7
+ * ## Current Implementation
8
+ *
9
+ * Currently only supports updating `LuaAgent` config properties (name, persona)
10
+ * in the entry point file. This covers the main use cases:
11
+ * - `lua init` - setting initial agent config
12
+ * - `lua sync` - syncing agent name/persona from server
13
+ * - `lua persona` - updating persona
14
+ *
15
+ * ## Future Extensibility
16
+ *
17
+ * To support modifying other primitives (skills, jobs, webhooks, etc.),
18
+ * this module could be extended with a generic API like:
19
+ *
20
+ * ```typescript
21
+ * // Generic primitive update
22
+ * updatePrimitiveConfig({
23
+ * kind: 'LuaSkill', // Target class: LuaSkill, LuaJob, LuaWebhook, etc.
24
+ * name: 'my-skill', // Find by name property
25
+ * file: 'src/skills/my.ts', // Or specify file directly
26
+ * updates: {
27
+ * description: 'New desc',
28
+ * context: 'New context',
29
+ * }
30
+ * });
31
+ *
32
+ * // Or batch updates across files
33
+ * updatePrimitivesFromManifest(manifest, serverData);
34
+ * ```
35
+ *
36
+ * Key considerations for generic implementation:
37
+ * - Support different primitive classes (LuaSkill, LuaJob, LuaWebhook, LuaMCPServer)
38
+ * - Find primitives across multiple files (not just entry point)
39
+ * - Handle different value types (strings, numbers, objects, arrays)
40
+ * - Support adding/removing properties, not just updating
41
+ * - Preserve code formatting and comments where possible
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Current API - agent config only
46
+ * updateAgentConfig({ name: 'New Name', persona: 'New persona...' });
47
+ * setAgentName('New Name');
48
+ * setAgentPersona('New persona...');
49
+ * ```
50
+ */
51
+ import { Project, Node } from 'ts-morph';
52
+ import fs from 'fs';
53
+ import path from 'path';
54
+ import { findEntryPoint } from './utils/file-discovery.js';
55
+ /**
56
+ * Update string properties in the LuaAgent configuration in source code.
57
+ *
58
+ * This is a generic writer that can update any string properties in
59
+ * the LuaAgent constructor's config object.
60
+ *
61
+ * @param updates - Object with property names and their new values (undefined values are skipped)
62
+ * @param options - Optional configuration
63
+ * @returns true if update succeeded, false otherwise
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * // Update name only
68
+ * updateAgentConfig({ name: 'New Agent Name' });
69
+ *
70
+ * // Update multiple properties
71
+ * updateAgentConfig({
72
+ * name: 'My Agent',
73
+ * persona: 'You are a helpful assistant...'
74
+ * });
75
+ * ```
76
+ */
77
+ export function updateAgentConfig(updates, options) {
78
+ // Filter out undefined values
79
+ const filteredUpdates = {};
80
+ for (const [key, value] of Object.entries(updates)) {
81
+ if (value !== undefined) {
82
+ filteredUpdates[key] = value;
83
+ }
84
+ }
85
+ if (Object.keys(filteredUpdates).length === 0) {
86
+ return true; // Nothing to update
87
+ }
88
+ let indexPath;
89
+ try {
90
+ if (options?.indexFile) {
91
+ indexPath = options.indexFile;
92
+ }
93
+ else {
94
+ // Try to find the entry point
95
+ const entryPoint = findEntryPoint(options?.projectDir);
96
+ if (entryPoint) {
97
+ indexPath = entryPoint;
98
+ }
99
+ else {
100
+ // Fallback to src/index.ts
101
+ const baseDir = options?.projectDir || process.cwd();
102
+ indexPath = path.join(baseDir, 'src', 'index.ts');
103
+ }
104
+ }
105
+ }
106
+ catch {
107
+ // Fallback to src/index.ts if discovery fails
108
+ const baseDir = options?.projectDir || process.cwd();
109
+ indexPath = path.join(baseDir, 'src', 'index.ts');
110
+ }
111
+ if (!fs.existsSync(indexPath)) {
112
+ console.warn(`Warning: Entry file not found at ${indexPath}`);
113
+ return false;
114
+ }
115
+ try {
116
+ const project = new Project({ skipAddingFilesFromTsConfig: true });
117
+ const sourceFile = project.addSourceFileAtPath(indexPath);
118
+ let updated = false;
119
+ sourceFile.forEachDescendant((node) => {
120
+ if (Node.isNewExpression(node) && node.getExpression().getText() === 'LuaAgent') {
121
+ const args = node.getArguments();
122
+ if (args.length > 0 && Node.isObjectLiteralExpression(args[0])) {
123
+ const configObj = args[0];
124
+ configObj.getProperties().forEach((prop) => {
125
+ if (Node.isPropertyAssignment(prop)) {
126
+ const propName = prop.getName();
127
+ if (Object.prototype.hasOwnProperty.call(filteredUpdates, propName)) {
128
+ const newValue = filteredUpdates[propName];
129
+ const init = prop.getInitializer();
130
+ if (init) {
131
+ const formattedValue = formatValueForProperty(propName, newValue);
132
+ init.replaceWithText(formattedValue);
133
+ updated = true;
134
+ }
135
+ }
136
+ }
137
+ });
138
+ }
139
+ }
140
+ });
141
+ if (updated) {
142
+ sourceFile.saveSync();
143
+ }
144
+ return true;
145
+ }
146
+ catch (error) {
147
+ console.warn('Warning: Could not update agent config in source:', error);
148
+ return false;
149
+ }
150
+ }
151
+ /**
152
+ * Set the agent name in source code.
153
+ *
154
+ * @param name - New agent name
155
+ * @param options - Optional configuration
156
+ * @returns true if update succeeded, false otherwise
157
+ */
158
+ export function setAgentName(name, options) {
159
+ return updateAgentConfig({ name }, options);
160
+ }
161
+ /**
162
+ * Set the agent persona in source code.
163
+ *
164
+ * @param persona - New agent persona
165
+ * @param options - Optional configuration
166
+ * @returns true if update succeeded, false otherwise
167
+ */
168
+ export function setAgentPersona(persona, options) {
169
+ return updateAgentConfig({ persona }, options);
170
+ }
171
+ // =============================================================================
172
+ // FUTURE: GENERIC PRIMITIVE UPDATE TYPES
173
+ // =============================================================================
174
+ //
175
+ // When extending to support other primitives, consider these types:
176
+ //
177
+ // type PrimitiveClassName = 'LuaAgent' | 'LuaSkill' | 'LuaJob' | 'LuaWebhook' | 'LuaMCPServer' | 'PreProcessor' | 'PostProcessor';
178
+ //
179
+ // interface UpdatePrimitiveOptions {
180
+ // /** Target class name to find */
181
+ // kind: PrimitiveClassName;
182
+ // /** Find primitive by name (searches for name property match) */
183
+ // name?: string;
184
+ // /** Or specify exact file path */
185
+ // file?: string;
186
+ // /** Properties to update */
187
+ // updates: Record<string, unknown>;
188
+ // /** Project directory */
189
+ // projectDir?: string;
190
+ // }
191
+ //
192
+ // Key implementation notes:
193
+ // - Use compiler's existing file discovery to find primitive source files
194
+ // - Leverage manifest to map primitive names to source paths
195
+ // - Handle class-based and object-based patterns (new LuaSkill({...}) vs const skill: LuaSkill = {...})
196
+ // - Consider using ts-morph's manipulation API for safer edits
197
+ // =============================================================================
198
+ // =============================================================================
199
+ // INTERNAL HELPERS
200
+ // =============================================================================
201
+ /**
202
+ * Format a value for insertion into source code.
203
+ * Uses appropriate quoting based on property type.
204
+ *
205
+ * TODO: For generic primitive support, extend to handle:
206
+ * - Numbers (no quotes)
207
+ * - Objects (JSON.stringify with formatting)
208
+ * - Arrays (preserve or format)
209
+ * - References (variable names, imports)
210
+ */
211
+ function formatValueForProperty(propertyName, value) {
212
+ // Properties that typically use template literals (multiline strings)
213
+ const templateLiteralProperties = ['persona', 'description', 'context', 'systemPrompt'];
214
+ if (templateLiteralProperties.includes(propertyName)) {
215
+ // Use template literal for multiline strings
216
+ const escaped = value.replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
217
+ return `\`${escaped}\``;
218
+ }
219
+ // Use single quotes for simple strings
220
+ const escaped = value.replace(/'/g, "\\'");
221
+ return `'${escaped}'`;
222
+ }
223
+ //# sourceMappingURL=source-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-writer.js","sourceRoot":"","sources":["../../src/compiler/source-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ /**
2
+ * Compilation Types
3
+ *
4
+ * All types related to the compilation process, plugins, and output manifest.
5
+ * Uses discriminated unions for type-safe primitive handling.
6
+ */
7
+ export interface CompilerOptions {
8
+ /** Root directory of the project */
9
+ rootDir: string;
10
+ /** Output directory for artifacts */
11
+ outDir: string;
12
+ /** Enable source maps */
13
+ sourceMaps?: boolean;
14
+ /** Minify output */
15
+ minify?: boolean;
16
+ /** Enable debug mode (extra verbose logging, preserve temps) */
17
+ debug?: boolean;
18
+ /** Enable verbose output (show each primitive as it compiles) */
19
+ verbose?: boolean;
20
+ /** Skip validation warnings (still show errors) */
21
+ quietWarnings?: boolean;
22
+ /** Add runtime validation wrapper to artifacts (default: true) */
23
+ runtimeValidation?: boolean;
24
+ }
25
+ export interface CompilationResult {
26
+ success: boolean;
27
+ manifest: CompilationManifest;
28
+ errors: CompilationError[];
29
+ warnings: CompilationWarning[];
30
+ stats: CompilationStats;
31
+ }
32
+ /** Base for compilation messages (errors and warnings) */
33
+ interface CompilationMessageBase {
34
+ primitive?: string;
35
+ kind?: string;
36
+ file: string;
37
+ line?: number;
38
+ message: string;
39
+ }
40
+ export interface CompilationError extends CompilationMessageBase {
41
+ column?: number;
42
+ suggestion?: string;
43
+ }
44
+ export interface CompilationWarning extends CompilationMessageBase {
45
+ }
46
+ export interface CompilationStats {
47
+ totalPrimitives: number;
48
+ byKind: Record<string, number>;
49
+ totalSize: number;
50
+ duration: number;
51
+ }
52
+ /** Core identity fields shared by all primitive representations */
53
+ interface PrimitiveIdentity {
54
+ /** Primitive type (tool, job, webhook, etc.) */
55
+ kind: string;
56
+ /** Name from the definition */
57
+ name: string;
58
+ /** Description from the definition */
59
+ description: string;
60
+ /** Path to the source file */
61
+ sourcePath: string;
62
+ }
63
+ /** Pattern for class-based or function-based definitions */
64
+ export type DefinitionPattern = 'class' | 'function';
65
+ /** Base metadata fields that all primitives share */
66
+ export interface BaseMetadataFields {
67
+ pattern?: string;
68
+ }
69
+ /** Common fields extracted by extractCommonFields() helper (excludes 'kind' which plugins add) */
70
+ export interface CommonExtractedFields extends Omit<PrimitiveIdentity, 'kind'> {
71
+ exportName: string;
72
+ isDefaultExport: boolean;
73
+ line: number;
74
+ column: number;
75
+ }
76
+ /** Metadata extracted from source code during scanning */
77
+ export interface PrimitiveMetadata<T extends BaseMetadataFields = BaseMetadataFields> extends PrimitiveIdentity {
78
+ /** The export name in the source file (or 'default' for default exports) */
79
+ exportName: string;
80
+ /** Whether this primitive uses `export default` syntax */
81
+ isDefaultExport: boolean;
82
+ /** Line number in source (for error messages) */
83
+ line?: number;
84
+ /** Column number in source */
85
+ column?: number;
86
+ /** Type-specific metadata (typed per plugin) */
87
+ metadata: T;
88
+ }
89
+ export interface ToolMetadataFields extends BaseMetadataFields {
90
+ pattern: DefinitionPattern;
91
+ className?: string;
92
+ hasInputSchema: boolean;
93
+ hasCondition?: boolean;
94
+ hasExecute?: boolean;
95
+ }
96
+ export interface SkillMetadataFields extends BaseMetadataFields {
97
+ pattern: DefinitionPattern;
98
+ toolRefs: string[];
99
+ context?: string;
100
+ }
101
+ export interface JobMetadataFields extends BaseMetadataFields {
102
+ pattern: DefinitionPattern;
103
+ scheduleType?: string;
104
+ scheduleExpression?: string;
105
+ hasExecute?: boolean;
106
+ hasTimeout?: boolean;
107
+ hasRetry?: boolean;
108
+ timeoutValue?: number;
109
+ retryConfig?: {
110
+ maxAttempts?: number;
111
+ backoffSeconds?: number;
112
+ };
113
+ }
114
+ export interface WebhookMetadataFields extends BaseMetadataFields {
115
+ pattern: DefinitionPattern;
116
+ hasExecute?: boolean;
117
+ hasQuerySchema?: boolean;
118
+ hasHeaderSchema?: boolean;
119
+ hasBodySchema?: boolean;
120
+ }
121
+ /** Shared metadata for pre/post processors */
122
+ export interface ProcessorMetadataFields extends BaseMetadataFields {
123
+ pattern: DefinitionPattern;
124
+ hasExecute?: boolean;
125
+ isAsync?: boolean;
126
+ }
127
+ export type PreProcessorMetadataFields = ProcessorMetadataFields;
128
+ export type PostProcessorMetadataFields = ProcessorMetadataFields;
129
+ export interface MCPServerMetadataFields extends BaseMetadataFields {
130
+ transport: 'stdio' | 'sse' | 'streamable-http';
131
+ url?: string;
132
+ hasUrlResolver?: boolean;
133
+ hasHeadersResolver?: boolean;
134
+ urlResolverSource?: string;
135
+ headersResolverSource?: string;
136
+ command?: string;
137
+ args?: string[];
138
+ env?: Record<string, string>;
139
+ config?: Record<string, unknown>;
140
+ }
141
+ export type ToolMetadata = PrimitiveMetadata<ToolMetadataFields>;
142
+ export type SkillMetadata = PrimitiveMetadata<SkillMetadataFields>;
143
+ export type JobMetadata = PrimitiveMetadata<JobMetadataFields>;
144
+ export type WebhookMetadata = PrimitiveMetadata<WebhookMetadataFields>;
145
+ export type PreProcessorMetadata = PrimitiveMetadata<PreProcessorMetadataFields>;
146
+ export type PostProcessorMetadata = PrimitiveMetadata<PostProcessorMetadataFields>;
147
+ export type MCPServerMetadata = PrimitiveMetadata<MCPServerMetadataFields>;
148
+ export interface ValidationResult {
149
+ valid: boolean;
150
+ errors: ValidationMessage[];
151
+ warnings: ValidationMessage[];
152
+ }
153
+ export interface ValidationMessage {
154
+ message: string;
155
+ line?: number;
156
+ column?: number;
157
+ suggestion?: string;
158
+ docsUrl?: string;
159
+ }
160
+ export interface JSONSchema {
161
+ type?: string | string[];
162
+ properties?: Record<string, JSONSchema>;
163
+ required?: string[];
164
+ items?: JSONSchema;
165
+ enum?: unknown[];
166
+ const?: unknown;
167
+ description?: string;
168
+ default?: unknown;
169
+ minimum?: number;
170
+ maximum?: number;
171
+ minLength?: number;
172
+ maxLength?: number;
173
+ pattern?: string;
174
+ format?: string;
175
+ additionalProperties?: boolean | JSONSchema;
176
+ oneOf?: JSONSchema[];
177
+ anyOf?: JSONSchema[];
178
+ allOf?: JSONSchema[];
179
+ $ref?: string;
180
+ }
181
+ export interface SchemaSet {
182
+ input?: JSONSchema;
183
+ output?: JSONSchema;
184
+ query?: JSONSchema;
185
+ headers?: JSONSchema;
186
+ body?: JSONSchema;
187
+ [key: string]: JSONSchema | undefined;
188
+ }
189
+ export interface BundledArtifact {
190
+ code: string;
191
+ sourceMap: string;
192
+ originalSource: string;
193
+ size: number;
194
+ hash: string;
195
+ }
196
+ export interface CompiledPrimitive extends PrimitiveIdentity {
197
+ artifact: BundledArtifact;
198
+ schemas?: SchemaSet;
199
+ metadata: BaseMetadataFields;
200
+ }
201
+ export interface ProjectFile {
202
+ relativePath: string;
203
+ hash: string;
204
+ size: number;
205
+ type: 'source' | 'config' | 'other';
206
+ }
207
+ export declare enum PrimitiveKind {
208
+ TOOL = "tool",
209
+ SKILL = "skill",
210
+ JOB = "job",
211
+ WEBHOOK = "webhook",
212
+ PREPROCESSOR = "preprocessor",
213
+ POSTPROCESSOR = "postprocessor",
214
+ MCP_SERVER = "mcp-server"
215
+ }
216
+ interface ManifestPrimitiveBase extends PrimitiveIdentity {
217
+ /** Path to the compiled artifact */
218
+ path: string;
219
+ /** Content hash for cache invalidation */
220
+ hash: string;
221
+ }
222
+ export interface ManifestTool extends ManifestPrimitiveBase {
223
+ kind: PrimitiveKind.TOOL;
224
+ schemas?: {
225
+ input?: JSONSchema;
226
+ output?: JSONSchema;
227
+ };
228
+ }
229
+ export interface ManifestSkill extends ManifestPrimitiveBase {
230
+ kind: PrimitiveKind.SKILL;
231
+ context?: string;
232
+ tools: string[];
233
+ }
234
+ export interface ManifestJob extends ManifestPrimitiveBase {
235
+ kind: PrimitiveKind.JOB;
236
+ schedule?: {
237
+ type: string;
238
+ expression?: string;
239
+ interval?: string;
240
+ };
241
+ timeout?: number;
242
+ retry?: {
243
+ maxAttempts?: number;
244
+ backoffSeconds?: number;
245
+ };
246
+ metadata?: Record<string, unknown>;
247
+ }
248
+ export interface ManifestWebhook extends ManifestPrimitiveBase {
249
+ kind: PrimitiveKind.WEBHOOK;
250
+ schemas?: {
251
+ query?: JSONSchema;
252
+ headers?: JSONSchema;
253
+ body?: JSONSchema;
254
+ };
255
+ }
256
+ export interface ManifestPreProcessor extends ManifestPrimitiveBase {
257
+ kind: PrimitiveKind.PREPROCESSOR;
258
+ isAsync?: boolean;
259
+ }
260
+ export interface ManifestPostProcessor extends ManifestPrimitiveBase {
261
+ kind: PrimitiveKind.POSTPROCESSOR;
262
+ }
263
+ export interface ManifestMCPServer extends ManifestPrimitiveBase {
264
+ kind: PrimitiveKind.MCP_SERVER;
265
+ config?: Record<string, unknown>;
266
+ urlResolver?: string;
267
+ headersResolver?: string;
268
+ }
269
+ export type ManifestPrimitive = ManifestTool | ManifestSkill | ManifestJob | ManifestWebhook | ManifestPreProcessor | ManifestPostProcessor | ManifestMCPServer;
270
+ export interface CompilationManifest {
271
+ version: string;
272
+ compiledAt: string;
273
+ agent?: {
274
+ name: string;
275
+ persona: string;
276
+ };
277
+ primitives: ManifestPrimitive[];
278
+ projectFiles: ProjectFile[];
279
+ config: {
280
+ packageJson?: string;
281
+ tsconfigJson?: string;
282
+ luaSkillYaml?: string;
283
+ };
284
+ }
285
+ export interface ManifestContext {
286
+ agentPrimitives?: PrimitiveMetadata[];
287
+ outDir?: string;
288
+ }
289
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Compilation Types
3
+ *
4
+ * All types related to the compilation process, plugins, and output manifest.
5
+ * Uses discriminated unions for type-safe primitive handling.
6
+ */
7
+ // =============================================================================
8
+ // MANIFEST PRIMITIVES
9
+ // =============================================================================
10
+ export var PrimitiveKind;
11
+ (function (PrimitiveKind) {
12
+ PrimitiveKind["TOOL"] = "tool";
13
+ PrimitiveKind["SKILL"] = "skill";
14
+ PrimitiveKind["JOB"] = "job";
15
+ PrimitiveKind["WEBHOOK"] = "webhook";
16
+ PrimitiveKind["PREPROCESSOR"] = "preprocessor";
17
+ PrimitiveKind["POSTPROCESSOR"] = "postprocessor";
18
+ PrimitiveKind["MCP_SERVER"] = "mcp-server";
19
+ })(PrimitiveKind || (PrimitiveKind = {}));
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgRH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;AAC3B,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * AST helper functions for extracting values from ts-morph nodes.
3
+ *
4
+ * These utilities make it easy to extract typed values from
5
+ * object literal expressions in TypeScript source code.
6
+ */
7
+ import { Node, ObjectLiteralExpression, SourceFile } from 'ts-morph';
8
+ /**
9
+ * Extract a string value from an object property.
10
+ * Handles string literals and template literals.
11
+ */
12
+ export declare function extractStringProperty(obj: ObjectLiteralExpression, propertyName: string): string | undefined;
13
+ /**
14
+ * Extract a boolean value from an object property.
15
+ */
16
+ export declare function extractBooleanProperty(obj: ObjectLiteralExpression, propertyName: string): boolean | undefined;
17
+ /**
18
+ * Extract a number value from an object property.
19
+ */
20
+ export declare function extractNumberProperty(obj: ObjectLiteralExpression, propertyName: string): number | undefined;
21
+ /**
22
+ * Extract an object literal from an object property.
23
+ */
24
+ export declare function extractObjectProperty(obj: ObjectLiteralExpression, propertyName: string): ObjectLiteralExpression | undefined;
25
+ /**
26
+ * Extract a schema node from an object property.
27
+ * Returns the initializer node which can be evaluated as a Zod schema.
28
+ */
29
+ export declare function extractSchemaProperty(obj: ObjectLiteralExpression, propertyName: string): Node | undefined;
30
+ /**
31
+ * Check if a property exists on an object literal.
32
+ */
33
+ export declare function hasProperty(obj: ObjectLiteralExpression, propertyName: string): boolean;
34
+ /**
35
+ * Extract all property names from an object literal.
36
+ */
37
+ export declare function getPropertyNames(obj: ObjectLiteralExpression): string[];
38
+ /**
39
+ * Check if a node is a function (arrow or regular).
40
+ */
41
+ export declare function isFunction(node: Node | undefined): boolean;
42
+ /**
43
+ * Get the text of a function body.
44
+ */
45
+ export declare function getFunctionBody(node: Node | undefined): string | undefined;
46
+ /**
47
+ * Find the source file path for an imported identifier.
48
+ *
49
+ * Checks both default and named imports for the given identifier name.
50
+ * Falls back to the current source file if not found in imports (for local definitions).
51
+ *
52
+ * @param identifier - The identifier name to find (e.g., 'MyTool', 'searchTool')
53
+ * @param sourceFile - The source file containing the imports
54
+ * @param resolveImportPath - Function to resolve module specifier to absolute path
55
+ * @returns Absolute path to the source file, or sourceFile path for local definitions
56
+ */
57
+ export declare function findImportSource(identifier: string, sourceFile: SourceFile, resolveImportPath: (specifier: string, fromFile: string) => string | null): string | null;