lua-cli 3.5.0-beta.1 → 3.6.0

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 (520) hide show
  1. package/README.md +0 -2
  2. package/dist/api/agent.api.service.d.ts +3 -6
  3. package/dist/api/agent.api.service.d.ts.map +1 -0
  4. package/dist/api/agent.api.service.js.map +1 -1
  5. package/dist/api/auth.api.service.d.ts +1 -0
  6. package/dist/api/auth.api.service.d.ts.map +1 -0
  7. package/dist/api/backup.api.service.d.ts +10 -12
  8. package/dist/api/backup.api.service.d.ts.map +1 -0
  9. package/dist/api/backup.api.service.js +11 -11
  10. package/dist/api/backup.api.service.js.map +1 -1
  11. package/dist/api/basket.api.service.d.ts +1 -0
  12. package/dist/api/basket.api.service.d.ts.map +1 -0
  13. package/dist/api/cdn.api.service.d.ts +1 -0
  14. package/dist/api/cdn.api.service.d.ts.map +1 -0
  15. package/dist/api/cdn.api.service.js.map +1 -1
  16. package/dist/api/chat.api.service.d.ts +1 -0
  17. package/dist/api/chat.api.service.d.ts.map +1 -0
  18. package/dist/api/credentials.d.ts +1 -0
  19. package/dist/api/credentials.d.ts.map +1 -0
  20. package/dist/api/custom.data.api.service.d.ts +1 -0
  21. package/dist/api/custom.data.api.service.d.ts.map +1 -0
  22. package/dist/api/developer.api.service.d.ts +1 -0
  23. package/dist/api/developer.api.service.d.ts.map +1 -0
  24. package/dist/api/http.client.d.ts +1 -0
  25. package/dist/api/http.client.d.ts.map +1 -0
  26. package/dist/api/http.client.js +5 -1
  27. package/dist/api/http.client.js.map +1 -1
  28. package/dist/api/job.api.service.d.ts +1 -0
  29. package/dist/api/job.api.service.d.ts.map +1 -0
  30. package/dist/api/lazy-instances.d.ts +1 -0
  31. package/dist/api/lazy-instances.d.ts.map +1 -0
  32. package/dist/api/logs.api.service.d.ts +1 -0
  33. package/dist/api/logs.api.service.d.ts.map +1 -0
  34. package/dist/api/marketplace.api.service.d.ts +1 -0
  35. package/dist/api/marketplace.api.service.d.ts.map +1 -0
  36. package/dist/api/order.api.service.d.ts +1 -0
  37. package/dist/api/order.api.service.d.ts.map +1 -0
  38. package/dist/api/persona.api.service.d.ts +1 -0
  39. package/dist/api/persona.api.service.d.ts.map +1 -0
  40. package/dist/api/postprocessor.api.service.d.ts +1 -0
  41. package/dist/api/postprocessor.api.service.d.ts.map +1 -0
  42. package/dist/api/preprocessor.api.service.d.ts +1 -0
  43. package/dist/api/preprocessor.api.service.d.ts.map +1 -0
  44. package/dist/api/products.api.service.d.ts +1 -0
  45. package/dist/api/products.api.service.d.ts.map +1 -0
  46. package/dist/api/resource.api.service.d.ts +1 -0
  47. package/dist/api/resource.api.service.d.ts.map +1 -0
  48. package/dist/api/skills.api.service.d.ts +1 -0
  49. package/dist/api/skills.api.service.d.ts.map +1 -0
  50. package/dist/api/tool.api.service.d.ts +1 -0
  51. package/dist/api/tool.api.service.d.ts.map +1 -0
  52. package/dist/api/unifiedto.api.service.d.ts +31 -2
  53. package/dist/api/unifiedto.api.service.d.ts.map +1 -0
  54. package/dist/api/unifiedto.api.service.js +17 -2
  55. package/dist/api/unifiedto.api.service.js.map +1 -1
  56. package/dist/api/user.data.api.service.d.ts +1 -0
  57. package/dist/api/user.data.api.service.d.ts.map +1 -0
  58. package/dist/api/webhook.api.service.d.ts +1 -0
  59. package/dist/api/webhook.api.service.d.ts.map +1 -0
  60. package/dist/api/whatsapp-templates.api.service.d.ts +1 -0
  61. package/dist/api/whatsapp-templates.api.service.d.ts.map +1 -0
  62. package/dist/api-exports.d.ts +3 -2
  63. package/dist/api-exports.d.ts.map +1 -0
  64. package/dist/api-exports.js.map +1 -1
  65. package/dist/cli/command-definitions.d.ts +1 -0
  66. package/dist/cli/command-definitions.d.ts.map +1 -0
  67. package/dist/cli/command-definitions.js +26 -3
  68. package/dist/cli/command-definitions.js.map +1 -1
  69. package/dist/commands/admin.d.ts +1 -0
  70. package/dist/commands/admin.d.ts.map +1 -0
  71. package/dist/commands/admin.js +2 -0
  72. package/dist/commands/admin.js.map +1 -1
  73. package/dist/commands/agents.d.ts +1 -0
  74. package/dist/commands/agents.d.ts.map +1 -0
  75. package/dist/commands/agents.js +7 -0
  76. package/dist/commands/agents.js.map +1 -1
  77. package/dist/commands/apiKey.d.ts +1 -0
  78. package/dist/commands/apiKey.d.ts.map +1 -0
  79. package/dist/commands/apiKey.js +4 -0
  80. package/dist/commands/apiKey.js.map +1 -1
  81. package/dist/commands/channels.d.ts +1 -0
  82. package/dist/commands/channels.d.ts.map +1 -0
  83. package/dist/commands/channels.js +69 -34
  84. package/dist/commands/channels.js.map +1 -1
  85. package/dist/commands/chat.d.ts +1 -0
  86. package/dist/commands/chat.d.ts.map +1 -0
  87. package/dist/commands/chat.js +8 -0
  88. package/dist/commands/chat.js.map +1 -1
  89. package/dist/commands/chatClear.d.ts +1 -0
  90. package/dist/commands/chatClear.d.ts.map +1 -0
  91. package/dist/commands/chatClear.js +2 -0
  92. package/dist/commands/chatClear.js.map +1 -1
  93. package/dist/commands/compile.d.ts +1 -1
  94. package/dist/commands/compile.d.ts.map +1 -0
  95. package/dist/commands/compile.js +35 -11
  96. package/dist/commands/compile.js.map +1 -1
  97. package/dist/commands/completion.d.ts +1 -0
  98. package/dist/commands/completion.d.ts.map +1 -0
  99. package/dist/commands/completion.js +2 -0
  100. package/dist/commands/completion.js.map +1 -1
  101. package/dist/commands/configure.d.ts +1 -0
  102. package/dist/commands/configure.d.ts.map +1 -0
  103. package/dist/commands/configure.js +25 -15
  104. package/dist/commands/configure.js.map +1 -1
  105. package/dist/commands/deploy.d.ts +1 -0
  106. package/dist/commands/deploy.d.ts.map +1 -0
  107. package/dist/commands/deploy.js +11 -0
  108. package/dist/commands/deploy.js.map +1 -1
  109. package/dist/commands/destroy.d.ts +1 -0
  110. package/dist/commands/destroy.d.ts.map +1 -0
  111. package/dist/commands/destroy.js +6 -1
  112. package/dist/commands/destroy.js.map +1 -1
  113. package/dist/commands/dev.d.ts +1 -0
  114. package/dist/commands/dev.d.ts.map +1 -0
  115. package/dist/commands/dev.js +9 -0
  116. package/dist/commands/dev.js.map +1 -1
  117. package/dist/commands/docs.d.ts +1 -0
  118. package/dist/commands/docs.d.ts.map +1 -0
  119. package/dist/commands/docs.js +2 -0
  120. package/dist/commands/docs.js.map +1 -1
  121. package/dist/commands/env.d.ts +1 -0
  122. package/dist/commands/env.d.ts.map +1 -0
  123. package/dist/commands/env.js +6 -0
  124. package/dist/commands/env.js.map +1 -1
  125. package/dist/commands/evals.d.ts +1 -0
  126. package/dist/commands/evals.d.ts.map +1 -0
  127. package/dist/commands/evals.js +2 -0
  128. package/dist/commands/evals.js.map +1 -1
  129. package/dist/commands/features.d.ts +1 -0
  130. package/dist/commands/features.d.ts.map +1 -0
  131. package/dist/commands/features.js +6 -0
  132. package/dist/commands/features.js.map +1 -1
  133. package/dist/commands/index.d.ts +3 -0
  134. package/dist/commands/index.d.ts.map +1 -0
  135. package/dist/commands/index.js +2 -0
  136. package/dist/commands/index.js.map +1 -1
  137. package/dist/commands/init.d.ts +1 -0
  138. package/dist/commands/init.d.ts.map +1 -0
  139. package/dist/commands/init.js +11 -0
  140. package/dist/commands/init.js.map +1 -1
  141. package/dist/commands/integrations.d.ts +1 -0
  142. package/dist/commands/integrations.d.ts.map +1 -0
  143. package/dist/commands/integrations.js +128 -251
  144. package/dist/commands/integrations.js.map +1 -1
  145. package/dist/commands/jobs.d.ts +1 -0
  146. package/dist/commands/jobs.d.ts.map +1 -0
  147. package/dist/commands/jobs.js +6 -0
  148. package/dist/commands/jobs.js.map +1 -1
  149. package/dist/commands/logs.d.ts +1 -0
  150. package/dist/commands/logs.d.ts.map +1 -0
  151. package/dist/commands/logs.js +7 -0
  152. package/dist/commands/logs.js.map +1 -1
  153. package/dist/commands/marketplace.d.ts +1 -0
  154. package/dist/commands/marketplace.d.ts.map +1 -0
  155. package/dist/commands/marketplace.js +6 -0
  156. package/dist/commands/marketplace.js.map +1 -1
  157. package/dist/commands/mcp.d.ts +1 -0
  158. package/dist/commands/mcp.d.ts.map +1 -0
  159. package/dist/commands/mcp.js +6 -0
  160. package/dist/commands/mcp.js.map +1 -1
  161. package/dist/commands/persona.d.ts +1 -0
  162. package/dist/commands/persona.d.ts.map +1 -0
  163. package/dist/commands/persona.js +7 -0
  164. package/dist/commands/persona.js.map +1 -1
  165. package/dist/commands/postprocessors.d.ts +1 -0
  166. package/dist/commands/postprocessors.d.ts.map +1 -0
  167. package/dist/commands/postprocessors.js +6 -0
  168. package/dist/commands/postprocessors.js.map +1 -1
  169. package/dist/commands/preprocessors.d.ts +1 -0
  170. package/dist/commands/preprocessors.d.ts.map +1 -0
  171. package/dist/commands/preprocessors.js +6 -0
  172. package/dist/commands/preprocessors.js.map +1 -1
  173. package/dist/commands/production.d.ts +1 -0
  174. package/dist/commands/production.d.ts.map +1 -0
  175. package/dist/commands/production.js +5 -0
  176. package/dist/commands/production.js.map +1 -1
  177. package/dist/commands/push.d.ts +6 -13
  178. package/dist/commands/push.d.ts.map +1 -0
  179. package/dist/commands/push.js +145 -68
  180. package/dist/commands/push.js.map +1 -1
  181. package/dist/commands/pushBackup.d.ts +4 -2
  182. package/dist/commands/pushBackup.d.ts.map +1 -0
  183. package/dist/commands/pushBackup.js +21 -20
  184. package/dist/commands/pushBackup.js.map +1 -1
  185. package/dist/commands/resources.d.ts +1 -0
  186. package/dist/commands/resources.d.ts.map +1 -0
  187. package/dist/commands/resources.js +6 -0
  188. package/dist/commands/resources.js.map +1 -1
  189. package/dist/commands/skills.d.ts +1 -0
  190. package/dist/commands/skills.d.ts.map +1 -0
  191. package/dist/commands/skills.js +4 -0
  192. package/dist/commands/skills.js.map +1 -1
  193. package/dist/commands/sync.d.ts +1 -0
  194. package/dist/commands/sync.d.ts.map +1 -0
  195. package/dist/commands/sync.js +128 -81
  196. package/dist/commands/sync.js.map +1 -1
  197. package/dist/commands/telemetry.d.ts +6 -0
  198. package/dist/commands/telemetry.d.ts.map +1 -0
  199. package/dist/commands/telemetry.js +38 -0
  200. package/dist/commands/telemetry.js.map +1 -0
  201. package/dist/commands/test.d.ts +1 -0
  202. package/dist/commands/test.d.ts.map +1 -0
  203. package/dist/commands/test.js +7 -0
  204. package/dist/commands/test.js.map +1 -1
  205. package/dist/commands/update.d.ts +14 -0
  206. package/dist/commands/update.d.ts.map +1 -0
  207. package/dist/commands/update.js +85 -0
  208. package/dist/commands/update.js.map +1 -0
  209. package/dist/commands/webhooks.d.ts +1 -0
  210. package/dist/commands/webhooks.d.ts.map +1 -0
  211. package/dist/commands/webhooks.js +6 -0
  212. package/dist/commands/webhooks.js.map +1 -1
  213. package/dist/compiler/agent-traverser.d.ts +30 -28
  214. package/dist/compiler/agent-traverser.d.ts.map +1 -0
  215. package/dist/compiler/agent-traverser.js +62 -54
  216. package/dist/compiler/agent-traverser.js.map +1 -1
  217. package/dist/compiler/bundler.d.ts +2 -1
  218. package/dist/compiler/bundler.d.ts.map +1 -0
  219. package/dist/compiler/bundler.js +2 -1
  220. package/dist/compiler/bundler.js.map +1 -1
  221. package/dist/compiler/compiler.d.ts +1 -2
  222. package/dist/compiler/compiler.d.ts.map +1 -0
  223. package/dist/compiler/compiler.js +11 -24
  224. package/dist/compiler/compiler.js.map +1 -1
  225. package/dist/compiler/index.d.ts +5 -3
  226. package/dist/compiler/index.d.ts.map +1 -0
  227. package/dist/compiler/index.js +3 -2
  228. package/dist/compiler/index.js.map +1 -1
  229. package/dist/compiler/plugins/agent.plugin.d.ts +48 -0
  230. package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -0
  231. package/dist/compiler/plugins/agent.plugin.js +123 -0
  232. package/dist/compiler/plugins/agent.plugin.js.map +1 -0
  233. package/dist/compiler/plugins/base.d.ts +25 -4
  234. package/dist/compiler/plugins/base.d.ts.map +1 -0
  235. package/dist/compiler/plugins/base.js +37 -1
  236. package/dist/compiler/plugins/base.js.map +1 -1
  237. package/dist/compiler/plugins/job.plugin.d.ts +3 -2
  238. package/dist/compiler/plugins/job.plugin.d.ts.map +1 -0
  239. package/dist/compiler/plugins/job.plugin.js +20 -68
  240. package/dist/compiler/plugins/job.plugin.js.map +1 -1
  241. package/dist/compiler/plugins/mcp-server.plugin.d.ts +4 -16
  242. package/dist/compiler/plugins/mcp-server.plugin.d.ts.map +1 -0
  243. package/dist/compiler/plugins/mcp-server.plugin.js +27 -112
  244. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -1
  245. package/dist/compiler/plugins/postprocessor.plugin.d.ts +3 -2
  246. package/dist/compiler/plugins/postprocessor.plugin.d.ts.map +1 -0
  247. package/dist/compiler/plugins/postprocessor.plugin.js +2 -11
  248. package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -1
  249. package/dist/compiler/plugins/preprocessor.plugin.d.ts +3 -2
  250. package/dist/compiler/plugins/preprocessor.plugin.d.ts.map +1 -0
  251. package/dist/compiler/plugins/preprocessor.plugin.js +5 -18
  252. package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -1
  253. package/dist/compiler/plugins/processor-base.d.ts +1 -0
  254. package/dist/compiler/plugins/processor-base.d.ts.map +1 -0
  255. package/dist/compiler/plugins/processor-base.js +2 -9
  256. package/dist/compiler/plugins/processor-base.js.map +1 -1
  257. package/dist/compiler/plugins/registry.d.ts +1 -0
  258. package/dist/compiler/plugins/registry.d.ts.map +1 -0
  259. package/dist/compiler/plugins/registry.js +2 -0
  260. package/dist/compiler/plugins/registry.js.map +1 -1
  261. package/dist/compiler/plugins/skill.plugin.d.ts +4 -3
  262. package/dist/compiler/plugins/skill.plugin.d.ts.map +1 -0
  263. package/dist/compiler/plugins/skill.plugin.js +44 -41
  264. package/dist/compiler/plugins/skill.plugin.js.map +1 -1
  265. package/dist/compiler/plugins/tool.plugin.d.ts +4 -2
  266. package/dist/compiler/plugins/tool.plugin.d.ts.map +1 -0
  267. package/dist/compiler/plugins/tool.plugin.js +10 -31
  268. package/dist/compiler/plugins/tool.plugin.js.map +1 -1
  269. package/dist/compiler/plugins/webhook.plugin.d.ts +3 -2
  270. package/dist/compiler/plugins/webhook.plugin.d.ts.map +1 -0
  271. package/dist/compiler/plugins/webhook.plugin.js +12 -24
  272. package/dist/compiler/plugins/webhook.plugin.js.map +1 -1
  273. package/dist/compiler/source-writer.d.ts +10 -0
  274. package/dist/compiler/source-writer.d.ts.map +1 -0
  275. package/dist/compiler/source-writer.js +11 -0
  276. package/dist/compiler/source-writer.js.map +1 -1
  277. package/dist/compiler/types.d.ts +32 -14
  278. package/dist/compiler/types.d.ts.map +1 -0
  279. package/dist/compiler/types.js +8 -0
  280. package/dist/compiler/types.js.map +1 -1
  281. package/dist/compiler/utils/ast-helpers.d.ts +70 -17
  282. package/dist/compiler/utils/ast-helpers.d.ts.map +1 -0
  283. package/dist/compiler/utils/ast-helpers.js +250 -61
  284. package/dist/compiler/utils/ast-helpers.js.map +1 -1
  285. package/dist/compiler/utils/common.d.ts +1 -0
  286. package/dist/compiler/utils/common.d.ts.map +1 -0
  287. package/dist/compiler/utils/file-discovery.d.ts +1 -0
  288. package/dist/compiler/utils/file-discovery.d.ts.map +1 -0
  289. package/dist/compiler/utils/path-resolver.d.ts +1 -0
  290. package/dist/compiler/utils/path-resolver.d.ts.map +1 -0
  291. package/dist/compiler/utils/schema-converter.d.ts +1 -0
  292. package/dist/compiler/utils/schema-converter.d.ts.map +1 -0
  293. package/dist/config/compile.constants.d.ts +27 -0
  294. package/dist/config/compile.constants.d.ts.map +1 -0
  295. package/dist/config/compile.constants.js +44 -0
  296. package/dist/config/compile.constants.js.map +1 -1
  297. package/dist/config/constants.d.ts +21 -0
  298. package/dist/config/constants.d.ts.map +1 -0
  299. package/dist/config/constants.js +31 -0
  300. package/dist/config/constants.js.map +1 -1
  301. package/dist/config/dev.constants.d.ts +1 -0
  302. package/dist/config/dev.constants.d.ts.map +1 -0
  303. package/dist/errors/auth.error.d.ts +1 -0
  304. package/dist/errors/auth.error.d.ts.map +1 -0
  305. package/dist/errors/index.d.ts +1 -0
  306. package/dist/errors/index.d.ts.map +1 -0
  307. package/dist/index.d.ts +1 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +22 -20
  310. package/dist/index.js.map +1 -1
  311. package/dist/instances/basket.instance.d.ts +1 -0
  312. package/dist/instances/basket.instance.d.ts.map +1 -0
  313. package/dist/instances/data.entry.instance.d.ts +1 -0
  314. package/dist/instances/data.entry.instance.d.ts.map +1 -0
  315. package/dist/instances/job.instance.d.ts +1 -0
  316. package/dist/instances/job.instance.d.ts.map +1 -0
  317. package/dist/instances/order.instance.d.ts +1 -0
  318. package/dist/instances/order.instance.d.ts.map +1 -0
  319. package/dist/instances/product.instance.d.ts +1 -0
  320. package/dist/instances/product.instance.d.ts.map +1 -0
  321. package/dist/instances/product.pagination.instance.d.ts +1 -0
  322. package/dist/instances/product.pagination.instance.d.ts.map +1 -0
  323. package/dist/instances/product.search.instance.d.ts +1 -0
  324. package/dist/instances/product.search.instance.d.ts.map +1 -0
  325. package/dist/instances/user.instance.d.ts +1 -0
  326. package/dist/instances/user.instance.d.ts.map +1 -0
  327. package/dist/interfaces/admin.d.ts +1 -0
  328. package/dist/interfaces/admin.d.ts.map +1 -0
  329. package/dist/interfaces/agent.d.ts +36 -5
  330. package/dist/interfaces/agent.d.ts.map +1 -0
  331. package/dist/interfaces/backup.d.ts +1 -25
  332. package/dist/interfaces/backup.d.ts.map +1 -0
  333. package/dist/interfaces/baskets.d.ts +1 -0
  334. package/dist/interfaces/baskets.d.ts.map +1 -0
  335. package/dist/interfaces/cdn.d.ts +1 -0
  336. package/dist/interfaces/cdn.d.ts.map +1 -0
  337. package/dist/interfaces/chat.d.ts +1 -0
  338. package/dist/interfaces/chat.d.ts.map +1 -0
  339. package/dist/interfaces/common.d.ts +1 -0
  340. package/dist/interfaces/common.d.ts.map +1 -0
  341. package/dist/interfaces/custom.data.d.ts +1 -0
  342. package/dist/interfaces/custom.data.d.ts.map +1 -0
  343. package/dist/interfaces/deploy.d.ts +1 -0
  344. package/dist/interfaces/deploy.d.ts.map +1 -0
  345. package/dist/interfaces/dev.d.ts +1 -0
  346. package/dist/interfaces/dev.d.ts.map +1 -0
  347. package/dist/interfaces/index.d.ts +1 -0
  348. package/dist/interfaces/index.d.ts.map +1 -0
  349. package/dist/interfaces/init.d.ts +1 -0
  350. package/dist/interfaces/init.d.ts.map +1 -0
  351. package/dist/interfaces/jobs.d.ts +1 -0
  352. package/dist/interfaces/jobs.d.ts.map +1 -0
  353. package/dist/interfaces/logs.d.ts +1 -0
  354. package/dist/interfaces/logs.d.ts.map +1 -0
  355. package/dist/interfaces/lua.d.ts +1 -0
  356. package/dist/interfaces/lua.d.ts.map +1 -0
  357. package/dist/interfaces/marketplace.d.ts +1 -0
  358. package/dist/interfaces/marketplace.d.ts.map +1 -0
  359. package/dist/interfaces/mcp.d.ts +1 -0
  360. package/dist/interfaces/mcp.d.ts.map +1 -0
  361. package/dist/interfaces/message.d.ts +1 -0
  362. package/dist/interfaces/message.d.ts.map +1 -0
  363. package/dist/interfaces/orders.d.ts +1 -0
  364. package/dist/interfaces/orders.d.ts.map +1 -0
  365. package/dist/interfaces/persona.d.ts +1 -0
  366. package/dist/interfaces/persona.d.ts.map +1 -0
  367. package/dist/interfaces/postprocessors.d.ts +1 -0
  368. package/dist/interfaces/postprocessors.d.ts.map +1 -0
  369. package/dist/interfaces/preprocessors.d.ts +1 -0
  370. package/dist/interfaces/preprocessors.d.ts.map +1 -0
  371. package/dist/interfaces/product.d.ts +1 -0
  372. package/dist/interfaces/product.d.ts.map +1 -0
  373. package/dist/interfaces/push.d.ts +1 -0
  374. package/dist/interfaces/push.d.ts.map +1 -0
  375. package/dist/interfaces/skills.d.ts +1 -0
  376. package/dist/interfaces/skills.d.ts.map +1 -0
  377. package/dist/interfaces/test.d.ts +1 -0
  378. package/dist/interfaces/test.d.ts.map +1 -0
  379. package/dist/interfaces/unifiedto.d.ts +27 -0
  380. package/dist/interfaces/unifiedto.d.ts.map +1 -0
  381. package/dist/interfaces/user.d.ts +1 -0
  382. package/dist/interfaces/user.d.ts.map +1 -0
  383. package/dist/interfaces/webhooks.d.ts +1 -0
  384. package/dist/interfaces/webhooks.d.ts.map +1 -0
  385. package/dist/interfaces/whatsapp-templates.d.ts +1 -0
  386. package/dist/interfaces/whatsapp-templates.d.ts.map +1 -0
  387. package/dist/primitives/agent.handler.d.ts +61 -0
  388. package/dist/primitives/agent.handler.d.ts.map +1 -0
  389. package/dist/primitives/agent.handler.js +142 -0
  390. package/dist/primitives/agent.handler.js.map +1 -0
  391. package/dist/primitives/base.handler.d.ts +46 -6
  392. package/dist/primitives/base.handler.d.ts.map +1 -0
  393. package/dist/primitives/base.handler.js +121 -17
  394. package/dist/primitives/base.handler.js.map +1 -1
  395. package/dist/primitives/index.d.ts +5 -5
  396. package/dist/primitives/index.d.ts.map +1 -0
  397. package/dist/primitives/index.js +7 -17
  398. package/dist/primitives/index.js.map +1 -1
  399. package/dist/primitives/job.handler.d.ts +1 -5
  400. package/dist/primitives/job.handler.d.ts.map +1 -0
  401. package/dist/primitives/job.handler.js +1 -15
  402. package/dist/primitives/job.handler.js.map +1 -1
  403. package/dist/primitives/mcp-server.handler.d.ts +5 -1
  404. package/dist/primitives/mcp-server.handler.d.ts.map +1 -0
  405. package/dist/primitives/mcp-server.handler.js +26 -6
  406. package/dist/primitives/mcp-server.handler.js.map +1 -1
  407. package/dist/primitives/postprocessor.handler.d.ts +1 -11
  408. package/dist/primitives/postprocessor.handler.d.ts.map +1 -0
  409. package/dist/primitives/postprocessor.handler.js +1 -24
  410. package/dist/primitives/postprocessor.handler.js.map +1 -1
  411. package/dist/primitives/preprocessor.handler.d.ts +1 -11
  412. package/dist/primitives/preprocessor.handler.d.ts.map +1 -0
  413. package/dist/primitives/preprocessor.handler.js +1 -24
  414. package/dist/primitives/preprocessor.handler.js.map +1 -1
  415. package/dist/primitives/skill.handler.d.ts +4 -1
  416. package/dist/primitives/skill.handler.d.ts.map +1 -0
  417. package/dist/primitives/skill.handler.js +10 -29
  418. package/dist/primitives/skill.handler.js.map +1 -1
  419. package/dist/primitives/types.d.ts +19 -0
  420. package/dist/primitives/types.d.ts.map +1 -0
  421. package/dist/primitives/types.js.map +1 -1
  422. package/dist/primitives/webhook.handler.d.ts +1 -5
  423. package/dist/primitives/webhook.handler.d.ts.map +1 -0
  424. package/dist/primitives/webhook.handler.js +1 -15
  425. package/dist/primitives/webhook.handler.js.map +1 -1
  426. package/dist/services/analytics.d.ts +51 -0
  427. package/dist/services/analytics.d.ts.map +1 -0
  428. package/dist/services/analytics.js +293 -0
  429. package/dist/services/analytics.js.map +1 -0
  430. package/dist/services/auth.d.ts +1 -0
  431. package/dist/services/auth.d.ts.map +1 -0
  432. package/dist/services/sandbox.service.d.ts +1 -0
  433. package/dist/services/sandbox.service.d.ts.map +1 -0
  434. package/dist/types/api-contracts.d.ts +1 -0
  435. package/dist/types/api-contracts.d.ts.map +1 -0
  436. package/dist/types/index.d.ts +2 -1
  437. package/dist/types/index.d.ts.map +1 -0
  438. package/dist/types/skill.d.ts +28 -0
  439. package/dist/types/skill.d.ts.map +1 -0
  440. package/dist/types/skill.js +5 -0
  441. package/dist/types/skill.js.map +1 -1
  442. package/dist/types/tool-validation.d.ts +1 -0
  443. package/dist/types/tool-validation.d.ts.map +1 -0
  444. package/dist/types/yaml.types.d.ts +1 -0
  445. package/dist/types/yaml.types.d.ts.map +1 -0
  446. package/dist/utils/artifact-loader.d.ts +5 -10
  447. package/dist/utils/artifact-loader.d.ts.map +1 -0
  448. package/dist/utils/artifact-loader.js +17 -16
  449. package/dist/utils/artifact-loader.js.map +1 -1
  450. package/dist/utils/auth-flows.d.ts +1 -0
  451. package/dist/utils/auth-flows.d.ts.map +1 -0
  452. package/dist/utils/backup-helpers.d.ts +10 -7
  453. package/dist/utils/backup-helpers.d.ts.map +1 -0
  454. package/dist/utils/backup-helpers.js +54 -22
  455. package/dist/utils/backup-helpers.js.map +1 -1
  456. package/dist/utils/cli.d.ts +3 -1
  457. package/dist/utils/cli.d.ts.map +1 -0
  458. package/dist/utils/cli.js +74 -6
  459. package/dist/utils/cli.js.map +1 -1
  460. package/dist/utils/command-utils.d.ts +13 -10
  461. package/dist/utils/command-utils.d.ts.map +1 -0
  462. package/dist/utils/command-utils.js +19 -17
  463. package/dist/utils/command-utils.js.map +1 -1
  464. package/dist/utils/deploy-helpers.d.ts +1 -0
  465. package/dist/utils/deploy-helpers.d.ts.map +1 -0
  466. package/dist/utils/dev-api.d.ts +1 -0
  467. package/dist/utils/dev-api.d.ts.map +1 -0
  468. package/dist/utils/dev-server.d.ts +1 -0
  469. package/dist/utils/dev-server.d.ts.map +1 -0
  470. package/dist/utils/dev-watcher.d.ts +1 -0
  471. package/dist/utils/dev-watcher.d.ts.map +1 -0
  472. package/dist/utils/env-loader.utils.d.ts +1 -0
  473. package/dist/utils/env-loader.utils.d.ts.map +1 -0
  474. package/dist/utils/files.d.ts +11 -0
  475. package/dist/utils/files.d.ts.map +1 -0
  476. package/dist/utils/files.js +34 -0
  477. package/dist/utils/files.js.map +1 -1
  478. package/dist/utils/init-agent.d.ts +1 -0
  479. package/dist/utils/init-agent.d.ts.map +1 -0
  480. package/dist/utils/init-helpers.d.ts +1 -0
  481. package/dist/utils/init-helpers.d.ts.map +1 -0
  482. package/dist/utils/init-prompts.d.ts +1 -0
  483. package/dist/utils/init-prompts.d.ts.map +1 -0
  484. package/dist/utils/prompt-handler.d.ts +1 -0
  485. package/dist/utils/prompt-handler.d.ts.map +1 -0
  486. package/dist/utils/sandbox-storage.d.ts +1 -0
  487. package/dist/utils/sandbox-storage.d.ts.map +1 -0
  488. package/dist/utils/sandbox.d.ts +1 -0
  489. package/dist/utils/sandbox.d.ts.map +1 -0
  490. package/dist/utils/sandbox.js +3 -20
  491. package/dist/utils/sandbox.js.map +1 -1
  492. package/dist/utils/semver.d.ts +1 -0
  493. package/dist/utils/semver.d.ts.map +1 -0
  494. package/dist/utils/sync-display.d.ts +2 -0
  495. package/dist/utils/sync-display.d.ts.map +1 -0
  496. package/dist/utils/sync-display.js +8 -0
  497. package/dist/utils/sync-display.js.map +1 -1
  498. package/dist/utils/sync-fetch.d.ts +8 -0
  499. package/dist/utils/sync-fetch.d.ts.map +1 -0
  500. package/dist/utils/sync-fetch.js +23 -3
  501. package/dist/utils/sync-fetch.js.map +1 -1
  502. package/dist/utils/sync-helpers.d.ts +3 -2
  503. package/dist/utils/sync-helpers.d.ts.map +1 -0
  504. package/dist/utils/sync-helpers.js +2 -2
  505. package/dist/utils/sync-helpers.js.map +1 -1
  506. package/dist/utils/version-check.d.ts +37 -0
  507. package/dist/utils/version-check.d.ts.map +1 -0
  508. package/dist/utils/version-check.js +117 -0
  509. package/dist/utils/version-check.js.map +1 -0
  510. package/dist/web/app.css +401 -2172
  511. package/dist/web/app.js +105 -93
  512. package/docs/API_REFERENCE.md +0 -3
  513. package/docs/CLI_REFERENCE.md +1 -4
  514. package/docs/GETTING_STARTED.md +1 -4
  515. package/docs/README.md +3 -3
  516. package/docs/api/LuaAgent.md +29 -6
  517. package/package.json +17 -12
  518. package/template/.gitignore +21 -0
  519. package/template/package.json +1 -1
  520. package/template/package-lock.json +0 -7895
@@ -5,12 +5,8 @@
5
5
  * 1. Class-based (legacy): new LuaMCPServer({ ... })
6
6
  * 2. Function-based (new): const myServer = defineMCPServer({ ... })
7
7
  */
8
- import { Node } from 'ts-morph';
9
- import { build } from 'esbuild';
10
- import { PrimitiveKind, } from '../types.js';
11
- import { BasePlugin, validationError, validationWarning } from './base.js';
12
- import { extractStringProperty } from '../utils/ast-helpers.js';
13
- import { compressForPush } from '../../utils/artifact-loader.js';
8
+ import { BasePlugin, validationError } from './base.js';
9
+ import { extractStringProperty, extractSchemaProperty, isFunction, extractFunctionProperty } from '../utils/ast-helpers.js';
14
10
  /**
15
11
  * Plugin for compiling MCP server primitives.
16
12
  * Extends BasePlugin for common detection/entry point/postProcess logic.
@@ -33,10 +29,19 @@ export class MCPServerPlugin extends BasePlugin {
33
29
  const transport = extractStringProperty(config, 'transport') || 'streamable-http';
34
30
  const url = extractStringProperty(config, 'url');
35
31
  // Check for resolver functions and extract their source text
36
- const hasUrlResolver = this.hasResolverFunction(config, 'url');
37
- const hasHeadersResolver = this.hasResolverFunction(config, 'headers');
38
- const urlResolverSource = hasUrlResolver ? this.getResolverSource(config, 'url') : undefined;
39
- const headersResolverSource = hasHeadersResolver ? this.getResolverSource(config, 'headers') : undefined;
32
+ // Try both AST extraction (inline functions) and evaluation (variable references)
33
+ const urlProp = extractSchemaProperty(config, 'url');
34
+ const headersProp = extractSchemaProperty(config, 'headers');
35
+ const urlResolverEvaluated = extractFunctionProperty(config, 'url');
36
+ const headersResolverEvaluated = extractFunctionProperty(config, 'headers');
37
+ const hasUrlResolver = (urlProp && isFunction(urlProp)) || urlResolverEvaluated !== undefined;
38
+ const hasHeadersResolver = (headersProp && isFunction(headersProp)) || headersResolverEvaluated !== undefined;
39
+ const urlResolverSource = hasUrlResolver
40
+ ? (urlProp && isFunction(urlProp) ? urlProp.getText() : urlResolverEvaluated?.toString())
41
+ : undefined;
42
+ const headersResolverSource = hasHeadersResolver
43
+ ? (headersProp && isFunction(headersProp) ? headersProp.getText() : headersResolverEvaluated?.toString())
44
+ : undefined;
40
45
  return {
41
46
  kind: this.kind,
42
47
  ...common,
@@ -51,78 +56,8 @@ export class MCPServerPlugin extends BasePlugin {
51
56
  },
52
57
  };
53
58
  }
54
- /**
55
- * Extract the source text of a resolver function property.
56
- */
57
- getResolverSource(config, propName) {
58
- const prop = config.getProperty(propName);
59
- if (!prop || !Node.isPropertyAssignment(prop))
60
- return undefined;
61
- const value = prop.getInitializer();
62
- if (!value)
63
- return undefined;
64
- if (Node.isArrowFunction(value) || Node.isFunctionExpression(value)) {
65
- return value.getText();
66
- }
67
- return undefined;
68
- }
69
- /**
70
- * Bundle a resolver function into a self-contained, compressed, VM-executable string.
71
- * This is called during compilation for MCP servers with dynamic resolvers.
72
- */
73
- async bundleResolver(functionCode, resolverType, serverName, outDir) {
74
- try {
75
- const moduleCode = `const resolverFunc = ${functionCode};\nexport default resolverFunc;\n`;
76
- const result = await build({
77
- stdin: {
78
- contents: moduleCode,
79
- resolveDir: outDir,
80
- loader: 'ts',
81
- },
82
- bundle: true,
83
- platform: 'node',
84
- target: 'node18',
85
- format: 'cjs',
86
- minify: true,
87
- write: false,
88
- external: ['zod'],
89
- });
90
- const bundledCode = result.outputFiles?.[0]?.text ?? '';
91
- if (!bundledCode) {
92
- throw new Error(`esbuild produced empty output for MCP ${resolverType} resolver`);
93
- }
94
- // Wrap for VM execution and compress (gzip + base64)
95
- const wrappedCode = `(async () => {\n ${bundledCode}\n const resolverFunc = module.exports.default || module.exports;\n return resolverFunc();\n})()`;
96
- return compressForPush(wrappedCode);
97
- }
98
- catch (error) {
99
- console.warn(`Warning: Could not bundle MCP ${resolverType} resolver for ${serverName}: ${error.message}`);
100
- try {
101
- return compressForPush(`(${functionCode})()`);
102
- }
103
- catch {
104
- return null;
105
- }
106
- }
107
- }
108
- /**
109
- * Check if a property has a resolver function (arrow function or function expression).
110
- */
111
- hasResolverFunction(config, propName) {
112
- const prop = config.getProperty(propName);
113
- if (!prop || !Node.isPropertyAssignment(prop))
114
- return false;
115
- const value = prop.getInitializer();
116
- if (!value)
117
- return false;
118
- return Node.isArrowFunction(value) || Node.isFunctionExpression(value);
119
- }
120
59
  validate(metadata) {
121
- const errors = [];
122
- const warnings = [];
123
- if (!metadata.name) {
124
- errors.push(validationError('MCP Server must have a name', { line: metadata.line }));
125
- }
60
+ const { errors, warnings } = this.baseValidation(metadata);
126
61
  const transport = metadata.metadata.transport;
127
62
  const validTransports = ['streamable-http', 'sse'];
128
63
  if (transport === 'stdio') {
@@ -138,14 +73,7 @@ export class MCPServerPlugin extends BasePlugin {
138
73
  if (!metadata.metadata.url && !metadata.metadata.hasUrlResolver) {
139
74
  errors.push(validationError('MCP Server must have a url or url resolver', { line: metadata.line }));
140
75
  }
141
- if (!metadata.description) {
142
- warnings.push(validationWarning('MCP Server should have a description', { line: metadata.line }));
143
- }
144
- return {
145
- valid: errors.length === 0,
146
- errors,
147
- warnings,
148
- };
76
+ return { valid: errors.length === 0, errors, warnings };
149
77
  }
150
78
  /**
151
79
  * Add transport field to the entry point.
@@ -155,32 +83,19 @@ export class MCPServerPlugin extends BasePlugin {
155
83
  }
156
84
  /**
157
85
  * Create the manifest entry for an MCP server.
158
- * Bundles resolver functions (url/headers) if present.
86
+ * url/headers resolver functions are bundled inside the artifact (same as all primitives).
159
87
  */
160
- async toManifestEntry(compiled, context) {
88
+ toManifestEntry(compiled, _allPrimitives) {
161
89
  const mcpMeta = compiled.metadata;
162
- const outDir = context?.outDir || process.cwd();
163
- // Bundle resolver functions if present
164
- let urlResolver;
165
- let headersResolver;
166
- if (mcpMeta.urlResolverSource) {
167
- urlResolver = await this.bundleResolver(mcpMeta.urlResolverSource, 'url', compiled.name, outDir) ?? undefined;
168
- }
169
- if (mcpMeta.headersResolverSource) {
170
- headersResolver = await this.bundleResolver(mcpMeta.headersResolverSource, 'headers', compiled.name, outDir) ?? undefined;
171
- }
172
- const mcpServer = {
173
- kind: PrimitiveKind.MCP_SERVER,
174
- name: compiled.name,
175
- description: compiled.description,
176
- path: `artifacts/${compiled.kind}/${compiled.name}.js`,
177
- sourcePath: compiled.sourcePath,
178
- hash: compiled.artifact.hash,
179
- config: mcpMeta.config,
180
- urlResolver,
181
- headersResolver,
90
+ return {
91
+ ...this.baseManifestFields(compiled),
92
+ config: {
93
+ transport: mcpMeta.transport,
94
+ url: mcpMeta.url,
95
+ },
96
+ hasUrlResolver: mcpMeta.hasUrlResolver || undefined,
97
+ hasHeadersResolver: mcpMeta.hasHeadersResolver || undefined,
182
98
  };
183
- return mcpServer;
184
99
  }
185
100
  }
186
101
  //# sourceMappingURL=mcp-server.plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/mcp-server.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/mcp-server.plugin.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Minimal — just config fields and manifest entry.
6
6
  */
7
7
  import { ObjectLiteralExpression } from 'ts-morph';
8
- import { type PostProcessorMetadata, type PostProcessorMetadataFields, type ManifestContext, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
8
+ import { type PostProcessorMetadata, type PostProcessorMetadataFields, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
9
9
  import { ProcessorPluginBase } from './processor-base.js';
10
10
  export declare class PostProcessorPlugin extends ProcessorPluginBase<PostProcessorMetadataFields> {
11
11
  readonly kind = "postprocessor";
@@ -16,5 +16,6 @@ export declare class PostProcessorPlugin extends ProcessorPluginBase<PostProcess
16
16
  line: number;
17
17
  column: number;
18
18
  }, pattern: 'function' | 'class'): PostProcessorMetadata | null;
19
- toManifestEntry(compiled: CompiledPrimitive, _context?: ManifestContext): ManifestPrimitive;
19
+ toManifestEntry(compiled: CompiledPrimitive, _allPrimitives?: CompiledPrimitive[]): ManifestPrimitive;
20
20
  }
21
+ //# sourceMappingURL=postprocessor.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postprocessor.plugin.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/postprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,mBAAoB,SAAQ,mBAAmB,CAAC,2BAA2B,CAAC;IACvF,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,cAAc,yBAAyB;IAChD,QAAQ,CAAC,gBAAgB,WAAyC;IAElE,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,UAAU,GAAG,OAAO,GAC5B,qBAAqB,GAAG,IAAI;IAW/B,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;CAGtG"}
@@ -4,7 +4,6 @@
4
4
  * Extends ProcessorPluginBase for shared validation and runtime checks.
5
5
  * Minimal — just config fields and manifest entry.
6
6
  */
7
- import { PrimitiveKind, } from '../types.js';
8
7
  import { ProcessorPluginBase } from './processor-base.js';
9
8
  export class PostProcessorPlugin extends ProcessorPluginBase {
10
9
  constructor() {
@@ -24,16 +23,8 @@ export class PostProcessorPlugin extends ProcessorPluginBase {
24
23
  metadata: { pattern, hasExecute: config.getProperty('execute') !== undefined },
25
24
  };
26
25
  }
27
- toManifestEntry(compiled, _context) {
28
- const postprocessor = {
29
- kind: PrimitiveKind.POSTPROCESSOR,
30
- name: compiled.name,
31
- description: compiled.description,
32
- path: `artifacts/${compiled.kind}/${compiled.name}.js`,
33
- sourcePath: compiled.sourcePath,
34
- hash: compiled.artifact.hash,
35
- };
36
- return postprocessor;
26
+ toManifestEntry(compiled, _allPrimitives) {
27
+ return { ...this.baseManifestFields(compiled) };
37
28
  }
38
29
  }
39
30
  //# sourceMappingURL=postprocessor.plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/postprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,aAAa,GAOd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,OAAO,mBAAoB,SAAQ,mBAAgD;IAAzF;;QACW,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,eAAe,CAAC;QAC9B,mBAAc,GAAG,qBAAqB,CAAC;QACvC,qBAAgB,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IA8BpE,CAAC;IA5BW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;SAC/E,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,QAA0B;QACrE,MAAM,aAAa,GAA0B;YAC3C,IAAI,EAAE,aAAa,CAAC,aAAa;YACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,aAAa,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK;YACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;SAC7B,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"postprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/postprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,OAAO,mBAAoB,SAAQ,mBAAgD;IAAzF;;QACW,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,eAAe,CAAC;QAC9B,mBAAc,GAAG,qBAAqB,CAAC;QACvC,qBAAgB,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAsBpE,CAAC;IApBW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;SAC/E,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,cAAoC;QAC/E,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAA2B,CAAC;IAC3E,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  * Only adds: isAsync extraction + isAsync in manifest entry.
6
6
  */
7
7
  import { ObjectLiteralExpression } from 'ts-morph';
8
- import { type PreProcessorMetadata, type PreProcessorMetadataFields, type ManifestContext, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
8
+ import { type PreProcessorMetadata, type PreProcessorMetadataFields, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
9
9
  import { ProcessorPluginBase } from './processor-base.js';
10
10
  export declare class PreProcessorPlugin extends ProcessorPluginBase<PreProcessorMetadataFields> {
11
11
  readonly kind = "preprocessor";
@@ -16,5 +16,6 @@ export declare class PreProcessorPlugin extends ProcessorPluginBase<PreProcessor
16
16
  line: number;
17
17
  column: number;
18
18
  }, pattern: 'function' | 'class'): PreProcessorMetadata | null;
19
- toManifestEntry(compiled: CompiledPrimitive, _context?: ManifestContext): ManifestPrimitive;
19
+ toManifestEntry(compiled: CompiledPrimitive, _allPrimitives?: CompiledPrimitive[]): ManifestPrimitive;
20
20
  }
21
+ //# sourceMappingURL=preprocessor.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessor.plugin.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/preprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,0BAA0B,CAAC;IACrF,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,kBAAkB;IACtC,QAAQ,CAAC,cAAc,wBAAwB;IAC/C,QAAQ,CAAC,gBAAgB,WAAuC;IAEhE,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,UAAU,GAAG,OAAO,GAC5B,oBAAoB,GAAG,IAAI;IAa9B,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;CAMtG"}
@@ -4,9 +4,8 @@
4
4
  * Extends ProcessorPluginBase for shared validation and runtime checks.
5
5
  * Only adds: isAsync extraction + isAsync in manifest entry.
6
6
  */
7
- import { Node, SyntaxKind } from 'ts-morph';
8
- import { PrimitiveKind, } from '../types.js';
9
7
  import { ProcessorPluginBase } from './processor-base.js';
8
+ import { extractBooleanProperty } from '../utils/ast-helpers.js';
10
9
  export class PreProcessorPlugin extends ProcessorPluginBase {
11
10
  constructor() {
12
11
  super(...arguments);
@@ -19,30 +18,18 @@ export class PreProcessorPlugin extends ProcessorPluginBase {
19
18
  const common = this.extractCommonFields(config, exportName, sourcePath, position);
20
19
  if (!common)
21
20
  return null;
22
- let isAsync = false;
23
- const asyncProp = config.getProperty('async');
24
- if (asyncProp && Node.isPropertyAssignment(asyncProp)) {
25
- const init = asyncProp.getInitializer();
26
- if (init)
27
- isAsync = init.getKind() === SyntaxKind.TrueKeyword;
28
- }
21
+ const isAsync = extractBooleanProperty(config, 'async') ?? false;
29
22
  return {
30
23
  kind: this.kind,
31
24
  ...common,
32
25
  metadata: { pattern, hasExecute: config.getProperty('execute') !== undefined, isAsync },
33
26
  };
34
27
  }
35
- toManifestEntry(compiled, _context) {
36
- const preprocessor = {
37
- kind: PrimitiveKind.PREPROCESSOR,
38
- name: compiled.name,
39
- description: compiled.description,
40
- path: `artifacts/${compiled.kind}/${compiled.name}.js`,
41
- sourcePath: compiled.sourcePath,
42
- hash: compiled.artifact.hash,
28
+ toManifestEntry(compiled, _allPrimitives) {
29
+ return {
30
+ ...this.baseManifestFields(compiled),
43
31
  isAsync: compiled.metadata?.isAsync ?? false,
44
32
  };
45
- return preprocessor;
46
33
  }
47
34
  }
48
35
  //# sourceMappingURL=preprocessor.plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/preprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA2B,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,aAAa,GAOd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,OAAO,kBAAmB,SAAQ,mBAA+C;IAAvF;;QACW,SAAI,GAAG,cAAc,CAAC;QACtB,gBAAW,GAAG,cAAc,CAAC;QAC7B,mBAAc,GAAG,oBAAoB,CAAC;QACtC,qBAAgB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAsClE,CAAC;IApCW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,WAAW,CAAC;QAChE,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,OAAO,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,QAA0B;QACrE,MAAM,YAAY,GAAyB;YACzC,IAAI,EAAE,aAAa,CAAC,YAAY;YAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,aAAa,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK;YACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO,EAAG,QAAQ,CAAC,QAAuC,EAAE,OAAO,IAAI,KAAK;SAC7E,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"preprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/preprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,OAAO,kBAAmB,SAAQ,mBAA+C;IAAvF;;QACW,SAAI,GAAG,cAAc,CAAC;QACtB,gBAAW,GAAG,cAAc,CAAC;QAC7B,mBAAc,GAAG,oBAAoB,CAAC;QACtC,qBAAgB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IA2BlE,CAAC;IAzBW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC;QAEjE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,OAAO,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,cAAoC;QAC/E,OAAO;YACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAG,QAAQ,CAAC,QAAuC,EAAE,OAAO,IAAI,KAAK;SACrD,CAAC;IAC5B,CAAC;CACF"}
@@ -14,3 +14,4 @@ export declare abstract class ProcessorPluginBase<T extends ProcessorMetadataFie
14
14
  validate(metadata: PrimitiveMetadata<T>): ValidationResult;
15
15
  protected getRuntimeValidation(): string;
16
16
  }
17
+ //# sourceMappingURL=processor-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor-base.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/processor-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAExD,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,uBAAuB,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAChG,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,gBAAgB;IAU1D,SAAS,CAAC,oBAAoB,IAAI,MAAM;CAMzC"}
@@ -8,20 +8,13 @@
8
8
  * - extractFromConfig() (preprocessor extracts isAsync, postprocessor doesn't)
9
9
  * - toManifestEntry() (preprocessor includes isAsync field)
10
10
  */
11
- import { BasePlugin, validationError, validationWarning } from './base.js';
11
+ import { BasePlugin, validationError } from './base.js';
12
12
  export class ProcessorPluginBase extends BasePlugin {
13
13
  validate(metadata) {
14
- const errors = [];
15
- const warnings = [];
16
- if (!metadata.name) {
17
- errors.push(validationError(`${this.displayName} must have a name`, { line: metadata.line }));
18
- }
14
+ const { errors, warnings } = this.baseValidation(metadata);
19
15
  if (!metadata.metadata?.hasExecute) {
20
16
  errors.push(validationError(`${this.displayName} must have an execute function`, { line: metadata.line }));
21
17
  }
22
- if (!metadata.description) {
23
- warnings.push(validationWarning(`${this.displayName} should have a description`, { line: metadata.line }));
24
- }
25
18
  return { valid: errors.length === 0, errors, warnings };
26
19
  }
27
20
  getRuntimeValidation() {
@@ -1 +1 @@
1
- {"version":3,"file":"processor-base.js","sourceRoot":"","sources":["../../../src/compiler/plugins/processor-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE3E,MAAM,OAAgB,mBAAuD,SAAQ,UAAa;IAChG,QAAQ,CAAC,QAA8B;QACrC,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAiC,EAAE,CAAC;QAElD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,gCAAgC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,WAAW,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAES,oBAAoB;QAC5B,OAAO;;qCAE0B,IAAI,CAAC,IAAI;IAC1C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"processor-base.js","sourceRoot":"","sources":["../../../src/compiler/plugins/processor-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,OAAgB,mBAAuD,SAAQ,UAAa;IAChG,QAAQ,CAAC,QAA8B;QACrC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,gCAAgC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAES,oBAAoB;QAC5B,OAAO;;qCAE0B,IAAI,CAAC,IAAI;IAC1C,CAAC;IACH,CAAC;CACF"}
@@ -59,3 +59,4 @@ export declare function getAllDefineFunctions(): string[];
59
59
  * Get plugin by define function name.
60
60
  */
61
61
  export declare function getPluginByDefineFunction(funcName: string): CompilationPlugin | undefined;
62
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAUnD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6C;;IAoB5D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWzC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD;;OAEG;IACH,MAAM,IAAI,iBAAiB,EAAE;IAI7B;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAMnD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEzF"}
@@ -16,6 +16,7 @@ import { PreProcessorPlugin } from './preprocessor.plugin.js';
16
16
  import { PostProcessorPlugin } from './postprocessor.plugin.js';
17
17
  import { MCPServerPlugin } from './mcp-server.plugin.js';
18
18
  import { SkillPlugin } from './skill.plugin.js';
19
+ import { AgentPlugin } from './agent.plugin.js';
19
20
  /**
20
21
  * Registry of all compilation plugins.
21
22
  *
@@ -36,6 +37,7 @@ export class PluginRegistry {
36
37
  this.register(new PostProcessorPlugin());
37
38
  this.register(new MCPServerPlugin());
38
39
  this.register(new SkillPlugin());
40
+ this.register(new AgentPlugin());
39
41
  // =========================================================================
40
42
  }
41
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * - tool references (names of tools belonging to this skill)
15
15
  */
16
16
  import { SourceFile, ObjectLiteralExpression } from 'ts-morph';
17
- import { type PrimitiveMetadata, type SkillMetadata, type SkillMetadataFields, type ValidationResult, type ManifestContext, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
17
+ import { type PrimitiveMetadata, type SkillMetadata, type SkillMetadataFields, type ValidationResult, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
18
18
  import { BasePlugin, ReferenceResolverContext } from './base.js';
19
19
  /**
20
20
  * Plugin for compiling skill primitives.
@@ -65,7 +65,8 @@ export declare class SkillPlugin extends BasePlugin<SkillMetadataFields> {
65
65
  private resolveClassImport;
66
66
  /**
67
67
  * Create the manifest entry for a skill.
68
- * Resolves tool class names to actual tool names using context.
68
+ * Resolves tool class/variable names to actual tool names using allPrimitives.
69
69
  */
70
- toManifestEntry(compiled: CompiledPrimitive, context?: ManifestContext): ManifestPrimitive;
70
+ toManifestEntry(compiled: CompiledPrimitive, allPrimitives?: CompiledPrimitive[]): ManifestPrimitive;
71
71
  }
72
+ //# sourceMappingURL=skill.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.plugin.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/skill.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAQ,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAqB,MAAM,WAAW,CAAC;AAGpF;;;GAGG;AACH,qBAAa,WAAY,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAC9D,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,cAAc,iBAAiB;IACxC,QAAQ,CAAC,gBAAgB,WAAgB;IAEzC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,UAAU,GAAG,OAAO,GAC5B,aAAa,GAAG,IAAI;IAwBvB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IA2CtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB;IAanD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM;IAK9D;;;;;;;OAOG;IACH,iBAAiB,CACf,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,EAAE;IA+CtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;CAoBrG"}
@@ -15,9 +15,8 @@
15
15
  */
16
16
  import { Node } from 'ts-morph';
17
17
  import { findImportSource } from '../utils/ast-helpers.js';
18
- import { PrimitiveKind, } from '../types.js';
19
- import { BasePlugin, validationError, validationWarning } from './base.js';
20
- import { extractStringProperty } from '../utils/ast-helpers.js';
18
+ import { BasePlugin, validationWarning } from './base.js';
19
+ import { extractStringProperty, extractArrayProperty, extractNestedProperty, resolveIdentifierToArray } from '../utils/ast-helpers.js';
21
20
  /**
22
21
  * Plugin for compiling skill primitives.
23
22
  * Extends BasePlugin for common detection/entry point logic.
@@ -65,10 +64,31 @@ export class SkillPlugin extends BasePlugin {
65
64
  const toolsProp = config.getProperty('tools');
66
65
  if (!toolsProp || !Node.isPropertyAssignment(toolsProp))
67
66
  return refs;
67
+ // Try evaluation first (handles variable references)
68
+ const toolsArray = extractArrayProperty(config, 'tools');
69
+ if (toolsArray) {
70
+ toolsArray.forEach((tool, index) => {
71
+ if (typeof tool === 'string') {
72
+ refs.push(tool);
73
+ }
74
+ else if (tool && typeof tool === 'object') {
75
+ const name = extractNestedProperty(tool, 'name');
76
+ refs.push(typeof name === 'string' ? name : `__evaluated_tool_${index}`);
77
+ }
78
+ });
79
+ return refs;
80
+ }
81
+ // Fallback to AST traversal for inline arrays and variable references
68
82
  const toolsValue = toolsProp.getInitializer();
69
- if (!toolsValue || !Node.isArrayLiteralExpression(toolsValue))
83
+ if (!toolsValue)
84
+ return refs;
85
+ // Resolve: inline array or variable reference to array
86
+ const arrayExpr = Node.isArrayLiteralExpression(toolsValue)
87
+ ? toolsValue
88
+ : resolveIdentifierToArray(toolsValue);
89
+ if (!arrayExpr)
70
90
  return refs;
71
- for (const element of toolsValue.getElements()) {
91
+ for (const element of arrayExpr.getElements()) {
72
92
  if (Node.isNewExpression(element)) {
73
93
  // new ToolClass() → get class name
74
94
  const className = element.getExpression().getText();
@@ -80,7 +100,6 @@ export class SkillPlugin extends BasePlugin {
80
100
  }
81
101
  else if (Node.isCallExpression(element)) {
82
102
  // defineTool(...) or someFactory() → try to get the assigned name
83
- // This is trickier - for now just note we have a tool
84
103
  refs.push(`__inline_tool_${refs.length}`);
85
104
  }
86
105
  }
@@ -106,8 +125,11 @@ export class SkillPlugin extends BasePlugin {
106
125
  return;
107
126
  if (property === 'addTools') {
108
127
  const arrayArg = args[0];
109
- if (Node.isArrayLiteralExpression(arrayArg)) {
110
- for (const element of arrayArg.getElements()) {
128
+ const arrayExpr = Node.isArrayLiteralExpression(arrayArg)
129
+ ? arrayArg
130
+ : resolveIdentifierToArray(arrayArg);
131
+ if (arrayExpr) {
132
+ for (const element of arrayExpr.getElements()) {
111
133
  if (Node.isNewExpression(element)) {
112
134
  refs.push(element.getExpression().getText());
113
135
  }
@@ -130,22 +152,11 @@ export class SkillPlugin extends BasePlugin {
130
152
  return refs;
131
153
  }
132
154
  validate(metadata) {
133
- const errors = [];
134
- const warnings = [];
135
- if (!metadata.name) {
136
- errors.push(validationError('Skill must have a name', { line: metadata.line }));
137
- }
138
- if (!metadata.description) {
139
- warnings.push(validationWarning('Skill should have a description', { line: metadata.line }));
140
- }
155
+ const { errors, warnings } = this.baseValidation(metadata);
141
156
  if (metadata.metadata.toolRefs.length === 0) {
142
157
  warnings.push(validationWarning('Skill has no tools - consider adding tools or removing the skill', { line: metadata.line }));
143
158
  }
144
- return {
145
- valid: errors.length === 0,
146
- errors,
147
- warnings,
148
- };
159
+ return { valid: errors.length === 0, errors, warnings };
149
160
  }
150
161
  /**
151
162
  * Add context and tools fields to the entry point.
@@ -184,10 +195,10 @@ export class SkillPlugin extends BasePlugin {
184
195
  try {
185
196
  const toolFile = context.project.addSourceFileAtPath(toolSourcePath);
186
197
  const detected = toolPlugin.detect(toolFile);
187
- // Find by class/export name
198
+ // Find by class/export name or tool name
188
199
  const match = detected.find(d => {
189
200
  const toolMeta = d.metadata;
190
- return d.exportName === className || toolMeta.className === className;
201
+ return d.exportName === className || d.name === className || toolMeta.className === className;
191
202
  }) || (detected.length === 1 ? detected[0] : null);
192
203
  if (match) {
193
204
  tools.push(match);
@@ -210,34 +221,26 @@ export class SkillPlugin extends BasePlugin {
210
221
  }
211
222
  /**
212
223
  * Create the manifest entry for a skill.
213
- * Resolves tool class names to actual tool names using context.
224
+ * Resolves tool class/variable names to actual tool names using allPrimitives.
214
225
  */
215
- toManifestEntry(compiled, context) {
216
- // Cast to skill-specific metadata type
226
+ toManifestEntry(compiled, allPrimitives) {
217
227
  const skillMetadata = compiled.metadata;
218
- // Get tool references from the compiled skill's metadata
219
- const toolClassNames = skillMetadata.toolRefs || [];
220
- // Resolve tool class names to actual tool names
221
- const toolNames = toolClassNames.map((className) => {
222
- const tool = context?.agentPrimitives?.find(p => {
228
+ const toolRefs = skillMetadata.toolRefs || [];
229
+ // Resolve tool class/variable names to actual tool names
230
+ const toolNames = toolRefs.map(ref => {
231
+ const tool = allPrimitives?.find(p => {
223
232
  if (p.kind !== 'tool')
224
233
  return false;
225
234
  const toolMeta = p.metadata;
226
- return toolMeta.className === className || p.name === className;
235
+ return p.exportName === ref || p.name === ref || toolMeta.className === ref;
227
236
  });
228
- return tool?.name || className;
237
+ return tool?.name || ref;
229
238
  });
230
- const skill = {
231
- kind: PrimitiveKind.SKILL,
232
- name: compiled.name,
233
- description: compiled.description,
234
- path: `artifacts/${compiled.kind}/${compiled.name}.js`,
235
- sourcePath: compiled.sourcePath,
236
- hash: compiled.artifact.hash,
239
+ return {
240
+ ...this.baseManifestFields(compiled),
237
241
  context: skillMetadata.context,
238
242
  tools: toolNames,
239
243
  };
240
- return skill;
241
244
  }
242
245
  }
243
246
  //# sourceMappingURL=skill.plugin.js.map