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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/README.md +137 -689
  2. package/dist/api/agent.api.service.d.ts +1 -8
  3. package/dist/api/agent.api.service.js +1 -11
  4. package/dist/api/agent.api.service.js.map +1 -1
  5. package/dist/api/auth.api.service.d.ts +1 -1
  6. package/dist/api/auth.api.service.js +1 -1
  7. package/dist/api/auth.api.service.js.map +1 -1
  8. package/dist/api/backup.api.service.d.ts +80 -0
  9. package/dist/api/backup.api.service.js +101 -0
  10. package/dist/api/backup.api.service.js.map +1 -0
  11. package/dist/api/basket.api.service.d.ts +4 -5
  12. package/dist/api/basket.api.service.js +13 -18
  13. package/dist/api/basket.api.service.js.map +1 -1
  14. package/dist/api/cdn.api.service.d.ts +2 -0
  15. package/dist/api/cdn.api.service.js +2 -0
  16. package/dist/api/cdn.api.service.js.map +1 -1
  17. package/dist/api/chat.api.service.d.ts +10 -2
  18. package/dist/api/chat.api.service.js +21 -2
  19. package/dist/api/chat.api.service.js.map +1 -1
  20. package/dist/api/credentials.js +5 -8
  21. package/dist/api/credentials.js.map +1 -1
  22. package/dist/api/custom.data.api.service.d.ts +3 -3
  23. package/dist/api/custom.data.api.service.js +9 -10
  24. package/dist/api/custom.data.api.service.js.map +1 -1
  25. package/dist/api/developer.api.service.d.ts +1 -1
  26. package/dist/api/developer.api.service.js +1 -1
  27. package/dist/api/developer.api.service.js.map +1 -1
  28. package/dist/{common → api}/http.client.js +5 -1
  29. package/dist/api/http.client.js.map +1 -0
  30. package/dist/api/job.api.service.d.ts +2 -2
  31. package/dist/api/job.api.service.js +2 -2
  32. package/dist/api/job.api.service.js.map +1 -1
  33. package/dist/api/logs.api.service.d.ts +1 -1
  34. package/dist/api/logs.api.service.js +1 -1
  35. package/dist/api/logs.api.service.js.map +1 -1
  36. package/dist/api/marketplace.api.service.d.ts +6 -6
  37. package/dist/api/marketplace.api.service.js.map +1 -1
  38. package/dist/api/order.api.service.d.ts +3 -4
  39. package/dist/api/order.api.service.js +8 -10
  40. package/dist/api/order.api.service.js.map +1 -1
  41. package/dist/api/persona.api.service.d.ts +1 -1
  42. package/dist/api/persona.api.service.js +1 -1
  43. package/dist/api/persona.api.service.js.map +1 -1
  44. package/dist/api/postprocessor.api.service.d.ts +1 -1
  45. package/dist/api/postprocessor.api.service.js +1 -1
  46. package/dist/api/postprocessor.api.service.js.map +1 -1
  47. package/dist/api/preprocessor.api.service.d.ts +1 -1
  48. package/dist/api/preprocessor.api.service.js +1 -1
  49. package/dist/api/preprocessor.api.service.js.map +1 -1
  50. package/dist/api/products.api.service.d.ts +4 -4
  51. package/dist/api/products.api.service.js +6 -6
  52. package/dist/api/products.api.service.js.map +1 -1
  53. package/dist/api/resource.api.service.d.ts +76 -0
  54. package/dist/api/resource.api.service.js +74 -0
  55. package/dist/api/resource.api.service.js.map +1 -0
  56. package/dist/api/skills.api.service.d.ts +7 -15
  57. package/dist/api/skills.api.service.js +1 -1
  58. package/dist/api/skills.api.service.js.map +1 -1
  59. package/dist/api/tool.api.service.d.ts +1 -1
  60. package/dist/api/tool.api.service.js +1 -1
  61. package/dist/api/tool.api.service.js.map +1 -1
  62. package/dist/api/unifiedto.api.service.d.ts +1 -1
  63. package/dist/api/unifiedto.api.service.js +1 -1
  64. package/dist/api/unifiedto.api.service.js.map +1 -1
  65. package/dist/api/user.data.api.service.d.ts +7 -8
  66. package/dist/api/user.data.api.service.js +2 -3
  67. package/dist/api/user.data.api.service.js.map +1 -1
  68. package/dist/api/webhook.api.service.d.ts +1 -1
  69. package/dist/api/webhook.api.service.js +1 -1
  70. package/dist/api/webhook.api.service.js.map +1 -1
  71. package/dist/api/whatsapp-templates.api.service.d.ts +1 -1
  72. package/dist/api/whatsapp-templates.api.service.js +1 -1
  73. package/dist/api/whatsapp-templates.api.service.js.map +1 -1
  74. package/dist/api-exports.d.ts +14 -12
  75. package/dist/api-exports.js +8 -8
  76. package/dist/api-exports.js.map +1 -1
  77. package/dist/cli/command-definitions.js +32 -17
  78. package/dist/cli/command-definitions.js.map +1 -1
  79. package/dist/commands/admin.js +3 -24
  80. package/dist/commands/admin.js.map +1 -1
  81. package/dist/commands/agents.d.ts +8 -7
  82. package/dist/commands/agents.js +63 -21
  83. package/dist/commands/agents.js.map +1 -1
  84. package/dist/commands/channels.js +11 -23
  85. package/dist/commands/channels.js.map +1 -1
  86. package/dist/commands/chat.js +33 -47
  87. package/dist/commands/chat.js.map +1 -1
  88. package/dist/commands/chatClear.js +11 -41
  89. package/dist/commands/chatClear.js.map +1 -1
  90. package/dist/commands/compile.d.ts +25 -23
  91. package/dist/commands/compile.js +101 -402
  92. package/dist/commands/compile.js.map +1 -1
  93. package/dist/commands/completion.js +1 -1
  94. package/dist/commands/completion.js.map +1 -1
  95. package/dist/commands/deploy.js +55 -25
  96. package/dist/commands/deploy.js.map +1 -1
  97. package/dist/commands/dev.js +29 -45
  98. package/dist/commands/dev.js.map +1 -1
  99. package/dist/commands/env.js +12 -25
  100. package/dist/commands/env.js.map +1 -1
  101. package/dist/commands/evals.js +3 -20
  102. package/dist/commands/evals.js.map +1 -1
  103. package/dist/commands/features.js +10 -23
  104. package/dist/commands/features.js.map +1 -1
  105. package/dist/commands/index.d.ts +1 -0
  106. package/dist/commands/index.js +1 -0
  107. package/dist/commands/index.js.map +1 -1
  108. package/dist/commands/init.d.ts +1 -0
  109. package/dist/commands/init.js +135 -19
  110. package/dist/commands/init.js.map +1 -1
  111. package/dist/commands/integrations.js +26 -37
  112. package/dist/commands/integrations.js.map +1 -1
  113. package/dist/commands/jobs.js +32 -56
  114. package/dist/commands/jobs.js.map +1 -1
  115. package/dist/commands/logs.js +9 -20
  116. package/dist/commands/logs.js.map +1 -1
  117. package/dist/commands/marketplace.js +34 -52
  118. package/dist/commands/marketplace.js.map +1 -1
  119. package/dist/commands/mcp.js +10 -23
  120. package/dist/commands/mcp.js.map +1 -1
  121. package/dist/commands/persona.js +43 -74
  122. package/dist/commands/persona.js.map +1 -1
  123. package/dist/commands/postprocessors.js +15 -28
  124. package/dist/commands/postprocessors.js.map +1 -1
  125. package/dist/commands/preprocessors.js +15 -28
  126. package/dist/commands/preprocessors.js.map +1 -1
  127. package/dist/commands/production.js +30 -63
  128. package/dist/commands/production.js.map +1 -1
  129. package/dist/commands/push.js +313 -1241
  130. package/dist/commands/push.js.map +1 -1
  131. package/dist/commands/pushBackup.d.ts +22 -0
  132. package/dist/commands/pushBackup.js +133 -0
  133. package/dist/commands/pushBackup.js.map +1 -0
  134. package/dist/commands/resources.js +29 -72
  135. package/dist/commands/resources.js.map +1 -1
  136. package/dist/commands/skills.d.ts +1 -1
  137. package/dist/commands/skills.js +58 -70
  138. package/dist/commands/skills.js.map +1 -1
  139. package/dist/commands/sync.d.ts +1 -3
  140. package/dist/commands/sync.js +20 -28
  141. package/dist/commands/sync.js.map +1 -1
  142. package/dist/commands/test.js +135 -104
  143. package/dist/commands/test.js.map +1 -1
  144. package/dist/commands/webhooks.js +15 -28
  145. package/dist/commands/webhooks.js.map +1 -1
  146. package/dist/compiler/agent-traverser.d.ts +104 -0
  147. package/dist/compiler/agent-traverser.js +311 -0
  148. package/dist/compiler/agent-traverser.js.map +1 -0
  149. package/dist/compiler/bundler.d.ts +42 -0
  150. package/dist/compiler/bundler.js +188 -0
  151. package/dist/compiler/bundler.js.map +1 -0
  152. package/dist/compiler/compiler.d.ts +177 -0
  153. package/dist/compiler/compiler.js +581 -0
  154. package/dist/compiler/compiler.js.map +1 -0
  155. package/dist/compiler/index.d.ts +36 -0
  156. package/dist/compiler/index.js +42 -0
  157. package/dist/compiler/index.js.map +1 -0
  158. package/dist/compiler/plugins/base.d.ts +284 -0
  159. package/dist/compiler/plugins/base.js +343 -0
  160. package/dist/compiler/plugins/base.js.map +1 -0
  161. package/dist/compiler/plugins/job.plugin.d.ts +33 -0
  162. package/dist/compiler/plugins/job.plugin.js +96 -0
  163. package/dist/compiler/plugins/job.plugin.js.map +1 -0
  164. package/dist/compiler/plugins/mcp-server.plugin.d.ts +50 -0
  165. package/dist/compiler/plugins/mcp-server.plugin.js +157 -0
  166. package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -0
  167. package/dist/compiler/plugins/postprocessor.plugin.d.ts +20 -0
  168. package/dist/compiler/plugins/postprocessor.plugin.js +30 -0
  169. package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -0
  170. package/dist/compiler/plugins/preprocessor.plugin.d.ts +20 -0
  171. package/dist/compiler/plugins/preprocessor.plugin.js +35 -0
  172. package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -0
  173. package/dist/compiler/plugins/processor-base.d.ts +16 -0
  174. package/dist/compiler/plugins/processor-base.js +27 -0
  175. package/dist/compiler/plugins/processor-base.js.map +1 -0
  176. package/dist/compiler/plugins/registry.d.ts +61 -0
  177. package/dist/compiler/plugins/registry.js +107 -0
  178. package/dist/compiler/plugins/registry.js.map +1 -0
  179. package/dist/compiler/plugins/skill.plugin.d.ts +71 -0
  180. package/dist/compiler/plugins/skill.plugin.js +225 -0
  181. package/dist/compiler/plugins/skill.plugin.js.map +1 -0
  182. package/dist/compiler/plugins/tool.plugin.d.ts +68 -0
  183. package/dist/compiler/plugins/tool.plugin.js +258 -0
  184. package/dist/compiler/plugins/tool.plugin.js.map +1 -0
  185. package/dist/compiler/plugins/webhook.plugin.d.ts +37 -0
  186. package/dist/compiler/plugins/webhook.plugin.js +112 -0
  187. package/dist/compiler/plugins/webhook.plugin.js.map +1 -0
  188. package/dist/compiler/source-writer.d.ts +98 -0
  189. package/dist/compiler/source-writer.js +223 -0
  190. package/dist/compiler/source-writer.js.map +1 -0
  191. package/dist/compiler/types.d.ts +294 -0
  192. package/dist/compiler/types.js +27 -0
  193. package/dist/compiler/types.js.map +1 -0
  194. package/dist/compiler/utils/ast-helpers.d.ts +69 -0
  195. package/dist/compiler/utils/ast-helpers.js +184 -0
  196. package/dist/compiler/utils/ast-helpers.js.map +1 -0
  197. package/dist/compiler/utils/common.d.ts +23 -0
  198. package/dist/compiler/utils/common.js +66 -0
  199. package/dist/compiler/utils/common.js.map +1 -0
  200. package/dist/compiler/utils/file-discovery.d.ts +34 -0
  201. package/dist/compiler/utils/file-discovery.js +68 -0
  202. package/dist/compiler/utils/file-discovery.js.map +1 -0
  203. package/dist/compiler/utils/path-resolver.d.ts +25 -0
  204. package/dist/compiler/utils/path-resolver.js +66 -0
  205. package/dist/compiler/utils/path-resolver.js.map +1 -0
  206. package/dist/compiler/utils/schema-converter.d.ts +26 -0
  207. package/dist/compiler/utils/schema-converter.js +94 -0
  208. package/dist/compiler/utils/schema-converter.js.map +1 -0
  209. package/dist/config/compile.constants.d.ts +2 -22
  210. package/dist/config/compile.constants.js +2 -49
  211. package/dist/config/compile.constants.js.map +1 -1
  212. package/dist/config/constants.d.ts +18 -2
  213. package/dist/config/constants.js +28 -8
  214. package/dist/config/constants.js.map +1 -1
  215. package/dist/config/dev.constants.d.ts +0 -10
  216. package/dist/config/dev.constants.js +0 -10
  217. package/dist/config/dev.constants.js.map +1 -1
  218. package/dist/index.js +7 -0
  219. package/dist/index.js.map +1 -1
  220. package/dist/instances/basket.instance.js.map +1 -0
  221. package/dist/instances/data.entry.instance.js.map +1 -0
  222. package/dist/instances/job.instance.js.map +1 -0
  223. package/dist/instances/order.instance.js.map +1 -0
  224. package/dist/instances/product.instance.js.map +1 -0
  225. package/dist/instances/product.pagination.instance.js.map +1 -0
  226. package/dist/instances/product.search.instance.js.map +1 -0
  227. package/dist/instances/user.instance.js.map +1 -0
  228. package/dist/interfaces/admin.d.ts +0 -38
  229. package/dist/interfaces/backup.d.ts +125 -0
  230. package/dist/interfaces/backup.js +8 -0
  231. package/dist/interfaces/backup.js.map +1 -0
  232. package/dist/interfaces/baskets.d.ts +0 -56
  233. package/dist/interfaces/common.d.ts +1 -0
  234. package/dist/interfaces/deploy.d.ts +0 -15
  235. package/dist/interfaces/index.d.ts +1 -1
  236. package/dist/interfaces/marketplace.d.ts +51 -0
  237. package/dist/interfaces/marketplace.js +1 -1
  238. package/dist/interfaces/marketplace.js.map +1 -1
  239. package/dist/interfaces/message.d.ts +0 -3
  240. package/dist/interfaces/orders.d.ts +0 -24
  241. package/dist/interfaces/postprocessors.d.ts +0 -18
  242. package/dist/interfaces/preprocessors.d.ts +0 -18
  243. package/dist/interfaces/skills.d.ts +61 -0
  244. package/dist/interfaces/user.d.ts +25 -0
  245. package/dist/interfaces/webhooks.d.ts +0 -9
  246. package/dist/primitives/base.handler.d.ts +145 -0
  247. package/dist/primitives/base.handler.js +474 -0
  248. package/dist/primitives/base.handler.js.map +1 -0
  249. package/dist/primitives/index.d.ts +46 -0
  250. package/dist/primitives/index.js +68 -0
  251. package/dist/primitives/index.js.map +1 -0
  252. package/dist/primitives/job.handler.d.ts +47 -0
  253. package/dist/primitives/job.handler.js +104 -0
  254. package/dist/primitives/job.handler.js.map +1 -0
  255. package/dist/primitives/mcp-server.handler.d.ts +54 -0
  256. package/dist/primitives/mcp-server.handler.js +100 -0
  257. package/dist/primitives/mcp-server.handler.js.map +1 -0
  258. package/dist/primitives/postprocessor.handler.d.ts +38 -0
  259. package/dist/primitives/postprocessor.handler.js +58 -0
  260. package/dist/primitives/postprocessor.handler.js.map +1 -0
  261. package/dist/primitives/preprocessor.handler.d.ts +43 -0
  262. package/dist/primitives/preprocessor.handler.js +72 -0
  263. package/dist/primitives/preprocessor.handler.js.map +1 -0
  264. package/dist/primitives/skill.handler.d.ts +46 -0
  265. package/dist/primitives/skill.handler.js +173 -0
  266. package/dist/primitives/skill.handler.js.map +1 -0
  267. package/dist/primitives/types.d.ts +90 -0
  268. package/dist/primitives/types.js +17 -0
  269. package/dist/primitives/types.js.map +1 -0
  270. package/dist/primitives/webhook.handler.d.ts +45 -0
  271. package/dist/primitives/webhook.handler.js +82 -0
  272. package/dist/primitives/webhook.handler.js.map +1 -0
  273. package/dist/services/auth.js +1 -2
  274. package/dist/services/auth.js.map +1 -1
  275. package/dist/services/sandbox.service.d.ts +103 -0
  276. package/dist/services/sandbox.service.js +479 -0
  277. package/dist/services/sandbox.service.js.map +1 -0
  278. package/dist/types/api-contracts.d.ts +1 -1
  279. package/dist/types/index.d.ts +2 -1
  280. package/dist/types/index.js.map +1 -1
  281. package/dist/types/skill.d.ts +8 -2
  282. package/dist/types/skill.js +8 -0
  283. package/dist/types/skill.js.map +1 -1
  284. package/dist/types/yaml.types.d.ts +69 -0
  285. package/dist/types/yaml.types.js +6 -0
  286. package/dist/types/yaml.types.js.map +1 -0
  287. package/dist/utils/artifact-loader.d.ts +108 -0
  288. package/dist/utils/artifact-loader.js +188 -0
  289. package/dist/utils/artifact-loader.js.map +1 -0
  290. package/dist/utils/backup-helpers.d.ts +122 -0
  291. package/dist/utils/backup-helpers.js +274 -0
  292. package/dist/utils/backup-helpers.js.map +1 -0
  293. package/dist/utils/cli.d.ts +8 -0
  294. package/dist/utils/cli.js +20 -3
  295. package/dist/utils/cli.js.map +1 -1
  296. package/dist/utils/command-utils.d.ts +44 -0
  297. package/dist/utils/command-utils.js +85 -0
  298. package/dist/utils/command-utils.js.map +1 -0
  299. package/dist/utils/deploy-helpers.d.ts +0 -29
  300. package/dist/utils/deploy-helpers.js +0 -70
  301. package/dist/utils/deploy-helpers.js.map +1 -1
  302. package/dist/utils/dev-api.d.ts +3 -99
  303. package/dist/utils/dev-api.js +3 -430
  304. package/dist/utils/dev-api.js.map +1 -1
  305. package/dist/utils/dev-server.d.ts +3 -1
  306. package/dist/utils/dev-server.js +69 -145
  307. package/dist/utils/dev-server.js.map +1 -1
  308. package/dist/utils/dev-watcher.d.ts +0 -1
  309. package/dist/utils/dev-watcher.js +23 -8
  310. package/dist/utils/dev-watcher.js.map +1 -1
  311. package/dist/utils/env-loader.utils.d.ts +10 -1
  312. package/dist/utils/env-loader.utils.js +39 -31
  313. package/dist/utils/env-loader.utils.js.map +1 -1
  314. package/dist/utils/files.d.ts +57 -3
  315. package/dist/utils/files.js +132 -40
  316. package/dist/utils/files.js.map +1 -1
  317. package/dist/utils/init-agent.js +1 -2
  318. package/dist/utils/init-agent.js.map +1 -1
  319. package/dist/utils/init-helpers.d.ts +2 -10
  320. package/dist/utils/init-helpers.js +9 -17
  321. package/dist/utils/init-helpers.js.map +1 -1
  322. package/dist/utils/init-prompts.d.ts +0 -8
  323. package/dist/utils/init-prompts.js +0 -22
  324. package/dist/utils/init-prompts.js.map +1 -1
  325. package/dist/utils/prompt-handler.d.ts +3 -0
  326. package/dist/utils/prompt-handler.js +13 -0
  327. package/dist/utils/prompt-handler.js.map +1 -1
  328. package/dist/utils/sandbox-storage.d.ts +6 -5
  329. package/dist/utils/sandbox-storage.js +12 -12
  330. package/dist/utils/sandbox-storage.js.map +1 -1
  331. package/dist/utils/sandbox.d.ts +7 -30
  332. package/dist/utils/sandbox.js +247 -223
  333. package/dist/utils/sandbox.js.map +1 -1
  334. package/dist/utils/semver.d.ts +12 -0
  335. package/dist/utils/semver.js +23 -0
  336. package/dist/utils/semver.js.map +1 -1
  337. package/dist/utils/sync-display.d.ts +9 -0
  338. package/dist/utils/sync-display.js +67 -0
  339. package/dist/utils/sync-display.js.map +1 -0
  340. package/dist/utils/sync-fetch.d.ts +23 -0
  341. package/dist/utils/sync-fetch.js +64 -0
  342. package/dist/utils/sync-fetch.js.map +1 -0
  343. package/dist/utils/sync-helpers.d.ts +4 -59
  344. package/dist/utils/sync-helpers.js +4 -206
  345. package/dist/utils/sync-helpers.js.map +1 -1
  346. package/docs/API_INDEX.md +100 -0
  347. package/docs/API_REFERENCE.md +773 -0
  348. package/docs/CLI_REFERENCE.md +924 -0
  349. package/docs/GETTING_STARTED.md +862 -0
  350. package/docs/README.md +270 -0
  351. package/docs/api/AI.md +882 -0
  352. package/docs/api/Baskets.md +511 -0
  353. package/docs/api/CDN.md +524 -0
  354. package/docs/api/Data.md +446 -0
  355. package/docs/api/Jobs.md +524 -0
  356. package/docs/api/LuaAgent.md +454 -0
  357. package/docs/api/LuaJob.md +604 -0
  358. package/docs/api/LuaSkill.md +396 -0
  359. package/docs/api/LuaTool.md +521 -0
  360. package/docs/api/LuaWebhook.md +601 -0
  361. package/docs/api/Orders.md +514 -0
  362. package/docs/api/PostProcessor.md +565 -0
  363. package/docs/api/PreProcessor.md +630 -0
  364. package/docs/api/Products.md +507 -0
  365. package/docs/api/Templates.md +662 -0
  366. package/docs/api/User.md +567 -0
  367. package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
  368. package/docs/compiler-v2/ASSESSMENT.md +205 -0
  369. package/docs/compiler-v2/TEST_PLAN.md +306 -0
  370. package/package.json +3 -7
  371. package/template/package.json +1 -1
  372. package/template/tsconfig.json +1 -1
  373. package/dist/common/basket.instance.js.map +0 -1
  374. package/dist/common/data.entry.instance.js.map +0 -1
  375. package/dist/common/http.client.js.map +0 -1
  376. package/dist/common/job.instance.js.map +0 -1
  377. package/dist/common/order.instance.js.map +0 -1
  378. package/dist/common/product.instance.js.map +0 -1
  379. package/dist/common/product.pagination.instance.js.map +0 -1
  380. package/dist/common/product.search.instance.js.map +0 -1
  381. package/dist/common/user.instance.js.map +0 -1
  382. package/dist/config/auth.constants.d.ts +0 -11
  383. package/dist/config/auth.constants.js +0 -12
  384. package/dist/config/auth.constants.js.map +0 -1
  385. package/dist/config/init.constants.d.ts +0 -15
  386. package/dist/config/init.constants.js +0 -20
  387. package/dist/config/init.constants.js.map +0 -1
  388. package/dist/interfaces/compile.d.ts +0 -12
  389. package/dist/interfaces/compile.js +0 -5
  390. package/dist/interfaces/compile.js.map +0 -1
  391. package/dist/types/compile.types.d.ts +0 -131
  392. package/dist/types/compile.types.js +0 -6
  393. package/dist/types/compile.types.js.map +0 -1
  394. package/dist/utils/agent-code-utils.d.ts +0 -25
  395. package/dist/utils/agent-code-utils.js +0 -107
  396. package/dist/utils/agent-code-utils.js.map +0 -1
  397. package/dist/utils/bundling.d.ts +0 -89
  398. package/dist/utils/bundling.js +0 -1068
  399. package/dist/utils/bundling.js.map +0 -1
  400. package/dist/utils/compile.d.ts +0 -116
  401. package/dist/utils/compile.js +0 -1062
  402. package/dist/utils/compile.js.map +0 -1
  403. package/dist/utils/deploy-api.d.ts +0 -26
  404. package/dist/utils/deploy-api.js +0 -54
  405. package/dist/utils/deploy-api.js.map +0 -1
  406. package/dist/utils/deployment.d.ts +0 -26
  407. package/dist/utils/deployment.js +0 -218
  408. package/dist/utils/deployment.js.map +0 -1
  409. package/dist/utils/dev-helpers.d.ts +0 -47
  410. package/dist/utils/dev-helpers.js +0 -82
  411. package/dist/utils/dev-helpers.js.map +0 -1
  412. package/dist/utils/job-management.d.ts +0 -27
  413. package/dist/utils/job-management.js +0 -248
  414. package/dist/utils/job-management.js.map +0 -1
  415. package/dist/utils/mcp-server-management.d.ts +0 -26
  416. package/dist/utils/mcp-server-management.js +0 -197
  417. package/dist/utils/mcp-server-management.js.map +0 -1
  418. package/dist/utils/postprocessor-management.d.ts +0 -9
  419. package/dist/utils/postprocessor-management.js +0 -117
  420. package/dist/utils/postprocessor-management.js.map +0 -1
  421. package/dist/utils/pre-bundle-jobs.d.ts +0 -27
  422. package/dist/utils/pre-bundle-jobs.js +0 -189
  423. package/dist/utils/pre-bundle-jobs.js.map +0 -1
  424. package/dist/utils/preprocessor-management.d.ts +0 -9
  425. package/dist/utils/preprocessor-management.js +0 -117
  426. package/dist/utils/preprocessor-management.js.map +0 -1
  427. package/dist/utils/push-api.d.ts +0 -15
  428. package/dist/utils/push-api.js +0 -49
  429. package/dist/utils/push-api.js.map +0 -1
  430. package/dist/utils/push-helpers.d.ts +0 -82
  431. package/dist/utils/push-helpers.js +0 -246
  432. package/dist/utils/push-helpers.js.map +0 -1
  433. package/dist/utils/skill-management.d.ts +0 -39
  434. package/dist/utils/skill-management.js +0 -299
  435. package/dist/utils/skill-management.js.map +0 -1
  436. package/dist/utils/test-helpers.d.ts +0 -33
  437. package/dist/utils/test-helpers.js +0 -84
  438. package/dist/utils/test-helpers.js.map +0 -1
  439. package/dist/utils/test-prompts.d.ts +0 -23
  440. package/dist/utils/test-prompts.js +0 -187
  441. package/dist/utils/test-prompts.js.map +0 -1
  442. package/dist/utils/tool-detection.d.ts +0 -19
  443. package/dist/utils/tool-detection.js +0 -125
  444. package/dist/utils/tool-detection.js.map +0 -1
  445. package/dist/utils/webhook-management.d.ts +0 -27
  446. package/dist/utils/webhook-management.js +0 -241
  447. package/dist/utils/webhook-management.js.map +0 -1
  448. /package/dist/{common → api}/http.client.d.ts +0 -0
  449. /package/dist/{common → instances}/basket.instance.d.ts +0 -0
  450. /package/dist/{common → instances}/basket.instance.js +0 -0
  451. /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
  452. /package/dist/{common → instances}/data.entry.instance.js +0 -0
  453. /package/dist/{common → instances}/job.instance.d.ts +0 -0
  454. /package/dist/{common → instances}/job.instance.js +0 -0
  455. /package/dist/{common → instances}/order.instance.d.ts +0 -0
  456. /package/dist/{common → instances}/order.instance.js +0 -0
  457. /package/dist/{common → instances}/product.instance.d.ts +0 -0
  458. /package/dist/{common → instances}/product.instance.js +0 -0
  459. /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
  460. /package/dist/{common → instances}/product.pagination.instance.js +0 -0
  461. /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
  462. /package/dist/{common → instances}/product.search.instance.js +0 -0
  463. /package/dist/{common → instances}/user.instance.d.ts +0 -0
  464. /package/dist/{common → instances}/user.instance.js +0 -0
@@ -0,0 +1,474 @@
1
+ /**
2
+ * Base Primitive Handler
3
+ *
4
+ * Abstract base class providing common implementation for primitive handlers.
5
+ * Subclasses implement primitive-specific logic (API calls, active checks, etc.)
6
+ *
7
+ * YAML types come from yaml.types.ts (YamlConfigSkill, YamlConfigWebhook, etc.)
8
+ * Server types come from interfaces/ (Skill, Webhook, Job, etc.)
9
+ */
10
+ import { readYamlConfig, writeYamlConfig } from '../utils/files.js';
11
+ import { SKILL_DEFAULTS } from '../config/compile.constants.js';
12
+ import { findPrimitive, loadArtifact, compressForPush } from '../utils/artifact-loader.js';
13
+ import { maxSemver } from '../utils/semver.js';
14
+ import { AuthenticationError } from '../errors/auth.error.js';
15
+ /** Default version for new primitives */
16
+ export const DEFAULT_VERSION = SKILL_DEFAULTS.VERSION;
17
+ // =============================================================================
18
+ // BASE VERSIONED HANDLER
19
+ // =============================================================================
20
+ /**
21
+ * Abstract base class for versioned primitive handlers.
22
+ *
23
+ * T = the YAML item type (from yaml.types.ts, e.g. YamlConfigSkill).
24
+ * Must have at least { name: string; version: string; [idField]: string }.
25
+ */
26
+ export class BaseVersionedHandler {
27
+ /**
28
+ * Strip a YAML item to only the canonical fields: name, version, [idField].
29
+ * Override if your YAML type has additional fields.
30
+ */
31
+ cleanItem(item) {
32
+ return {
33
+ name: item.name || '',
34
+ version: item.version || DEFAULT_VERSION,
35
+ [this.yamlConfig.idField]: this.getItemId(item) || '',
36
+ };
37
+ }
38
+ /**
39
+ * Whether a server entity is considered active (for orphan detection).
40
+ * Default: true. Override for primitives with active/status fields.
41
+ */
42
+ isActive(_serverItem) {
43
+ return true;
44
+ }
45
+ /**
46
+ * Get the active version string from a server entity.
47
+ * Default: finds version with isActive === true. Override for different field names.
48
+ */
49
+ getActiveVersion(serverItem) {
50
+ const active = serverItem.versions?.find((v) => v.isActive === true);
51
+ return active?.version ?? null;
52
+ }
53
+ getServerItemName(item) {
54
+ return item.name || 'unknown';
55
+ }
56
+ shouldConsiderForOrphan(_item) {
57
+ return true;
58
+ }
59
+ // ===========================================================================
60
+ // SERVER SYNC
61
+ // ===========================================================================
62
+ /** Phase 1 of parallel sync: fetch server state (HTTP only, no YAML writes) */
63
+ async fetchServerState(apiKey, agentId) {
64
+ try {
65
+ const api = this.getApi(apiKey, agentId);
66
+ const serverItems = await this.fetchFromServer(api);
67
+ return { serverItems };
68
+ }
69
+ catch (error) {
70
+ if (AuthenticationError.isAuthenticationError(error))
71
+ throw error;
72
+ return { serverItems: null, fetchError: error instanceof Error ? error.message : String(error) };
73
+ }
74
+ }
75
+ /**
76
+ * Phase 2 of parallel sync: apply fetched data to YAML.
77
+ * Optionally creates missing primitives on server if apiKey+agentId provided.
78
+ */
79
+ async applySyncToYaml(serverData, config, manifest, apiCredentials) {
80
+ const messages = [];
81
+ let yamlUpdated = false;
82
+ let orphanedCount = 0;
83
+ try {
84
+ if (!serverData.serverItems) {
85
+ if (serverData.fetchError) {
86
+ console.error(`❌ Error syncing server ${this.displayNamePlural}: ${serverData.fetchError}`);
87
+ }
88
+ else {
89
+ console.warn(`⚠️ Could not retrieve server ${this.displayNamePlural}. Skipping sync.`);
90
+ }
91
+ return { messages, yamlUpdated, orphanedCount };
92
+ }
93
+ const yamlItems = this.getFromYaml(config);
94
+ const { yamlById, yamlByName, serverByName } = this.buildMaps(serverData.serverItems, yamlItems);
95
+ // Part 1: Detect orphaned items
96
+ const orphans = serverData.serverItems.filter(item => {
97
+ const id = item.id;
98
+ const name = item.name;
99
+ return !yamlById.has(id) && !yamlByName.has(name) &&
100
+ this.isActive(item) && this.shouldConsiderForOrphan(item);
101
+ });
102
+ if (orphans.length > 0) {
103
+ console.log(`\n⚠️ Found ${this.displayNamePlural} on server not in your local code:`);
104
+ for (const item of orphans) {
105
+ const msg = ` - ${this.getServerItemName(item)}`;
106
+ messages.push(msg);
107
+ console.log(msg);
108
+ }
109
+ console.log(` Use "${this.deleteCommand} <name>" to remove them if no longer needed.\n`);
110
+ orphanedCount = orphans.length;
111
+ }
112
+ // Part 2: Sync IDs and versions from server → YAML
113
+ const { items: updatedItems, changed, msgs } = this.syncFromServer(yamlItems, serverByName);
114
+ messages.push(...msgs);
115
+ if (changed) {
116
+ this.updateYaml(updatedItems, config);
117
+ console.log(`✅ YAML ${this.displayNamePlural} synced with server`);
118
+ yamlUpdated = true;
119
+ }
120
+ // Part 3: Create primitives that don't exist on server (if manifest + credentials provided)
121
+ if (manifest && apiCredentials) {
122
+ const api = this.getApi(apiCredentials.apiKey, apiCredentials.agentId);
123
+ const { created, updated: creationUpdated } = await this.createMissingOnServer(api, manifest);
124
+ if (created.length > 0) {
125
+ messages.push(...created.map(name => `Created "${name}" on server`));
126
+ yamlUpdated = yamlUpdated || creationUpdated;
127
+ }
128
+ }
129
+ if (orphans.length === 0 && !changed) {
130
+ console.log(`✅ Server ${this.displayNamePlural} and YAML are fully in sync`);
131
+ }
132
+ }
133
+ catch (error) {
134
+ console.error(`❌ Error syncing server ${this.displayNamePlural}:`, error);
135
+ }
136
+ return { messages, yamlUpdated, orphanedCount };
137
+ }
138
+ async syncWithServer(apiKey, agentId, config, manifest) {
139
+ const serverData = await this.fetchServerState(apiKey, agentId);
140
+ return this.applySyncToYaml(serverData, config, manifest, { apiKey, agentId });
141
+ }
142
+ /**
143
+ * Create primitives that have empty IDs in YAML.
144
+ * Called internally by syncWithServer when manifest is provided.
145
+ */
146
+ async createMissingOnServer(api, manifest) {
147
+ const created = [];
148
+ let updated = false;
149
+ const config = readYamlConfig();
150
+ const items = this.getFromYaml(config);
151
+ const itemsWithoutId = items.filter(item => !this.getItemId(item));
152
+ if (itemsWithoutId.length === 0) {
153
+ return { created, updated };
154
+ }
155
+ console.log(`\n🔧 Creating ${itemsWithoutId.length} new ${this.displayNamePlural} on server...`);
156
+ for (const item of itemsWithoutId) {
157
+ // Find the primitive in the manifest to get description and other metadata
158
+ const manifestPrimitive = findPrimitive(manifest, item.name, this.kind);
159
+ if (!manifestPrimitive) {
160
+ console.error(` ❌ "${item.name}" not found in manifest - cannot create`);
161
+ continue;
162
+ }
163
+ try {
164
+ const newId = await this.createOnServer(api, manifestPrimitive);
165
+ if (newId) {
166
+ // Update the item with the new ID
167
+ const updatedConfig = readYamlConfig();
168
+ const updatedItems = this.getFromYaml(updatedConfig);
169
+ const idx = updatedItems.findIndex(i => i.name === item.name);
170
+ if (idx >= 0) {
171
+ updatedItems[idx][this.yamlConfig.idField] = newId;
172
+ this.updateYaml(updatedItems, updatedConfig);
173
+ updated = true;
174
+ }
175
+ console.log(` ✅ Created "${item.name}" (ID: ${newId})`);
176
+ created.push(item.name);
177
+ }
178
+ else {
179
+ console.error(` ❌ Failed to create "${item.name}" - no ID returned`);
180
+ }
181
+ }
182
+ catch (error) {
183
+ console.error(` ❌ Failed to create "${item.name}": ${error instanceof Error ? error.message : error}`);
184
+ }
185
+ }
186
+ if (created.length > 0) {
187
+ console.log(`✅ Created ${created.length} ${this.displayNamePlural} on server`);
188
+ }
189
+ return { created, updated };
190
+ }
191
+ // ===========================================================================
192
+ // YAML OPERATIONS
193
+ // ===========================================================================
194
+ updateYaml(items, config) {
195
+ const updatedConfig = {
196
+ ...(config || {}),
197
+ [this.yamlConfig.yamlKey]: items.map(item => this.cleanItem(item)),
198
+ };
199
+ writeYamlConfig(updatedConfig);
200
+ }
201
+ getFromYaml(config) {
202
+ if (!config)
203
+ return [];
204
+ const items = config[this.yamlConfig.yamlKey];
205
+ return (Array.isArray(items) ? items : []);
206
+ }
207
+ syncYamlWithManifest(manifest, config) {
208
+ const manifestNames = manifest.primitives
209
+ .filter((p) => p.kind === this.kind)
210
+ .map((p) => p.name);
211
+ if (manifestNames.length === 0)
212
+ return;
213
+ const existing = this.getFromYaml(config);
214
+ const idField = this.yamlConfig.idField;
215
+ // Keep existing items still in manifest, add new ones
216
+ const kept = existing
217
+ .filter(item => manifestNames.includes(item.name))
218
+ .map(item => this.cleanItem(item));
219
+ for (const name of manifestNames) {
220
+ if (!kept.some(item => item.name === name)) {
221
+ kept.push(this.cleanItem({ name, version: DEFAULT_VERSION, [idField]: '' }));
222
+ }
223
+ }
224
+ this.updateYaml(kept, config);
225
+ }
226
+ updateVersionInYaml(name, newVersion, options) {
227
+ try {
228
+ const config = readYamlConfig();
229
+ if (!config) {
230
+ if (options?.silent)
231
+ return;
232
+ throw new Error("lua.skill.yaml not found");
233
+ }
234
+ const items = this.getFromYaml(config);
235
+ const item = items.find(i => i.name === name);
236
+ if (!item) {
237
+ if (options?.silent)
238
+ return;
239
+ throw new Error(`${this.displayName} "${name}" not found in configuration`);
240
+ }
241
+ item.version = newVersion;
242
+ this.updateYaml(items, config);
243
+ }
244
+ catch (error) {
245
+ if (options?.silent) {
246
+ console.warn(`⚠️ Could not update ${this.displayName} version in YAML:`, error);
247
+ return;
248
+ }
249
+ throw error;
250
+ }
251
+ }
252
+ // ===========================================================================
253
+ // PUSH
254
+ // ===========================================================================
255
+ prepareForPush(manifest, name, projectPath = process.cwd()) {
256
+ const primitive = findPrimitive(manifest, name, this.kind);
257
+ if (!primitive)
258
+ return null;
259
+ const code = loadArtifact(primitive, projectPath);
260
+ const compressedCode = compressForPush(code);
261
+ return this.buildPushData(primitive, compressedCode);
262
+ }
263
+ buildPushData(primitive, compressedCode) {
264
+ return {
265
+ name: primitive.name,
266
+ description: primitive.description,
267
+ code: compressedCode,
268
+ executeFunction: compressedCode,
269
+ };
270
+ }
271
+ /**
272
+ * Get the highest version string from the server for conflict avoidance.
273
+ */
274
+ async getHighestServerVersion(apiKey, agentId, entityId) {
275
+ try {
276
+ const api = this.getApi(apiKey, agentId);
277
+ const serverItems = await this.fetchFromServer(api);
278
+ if (!serverItems)
279
+ return null;
280
+ // Find the entity by ID
281
+ const entity = serverItems.find((item) => item.id === entityId);
282
+ if (!entity?.versions || !Array.isArray(entity.versions))
283
+ return null;
284
+ const versions = entity.versions
285
+ .map((v) => v.version)
286
+ .filter((v) => typeof v === 'string');
287
+ if (versions.length === 0)
288
+ return null;
289
+ return versions.reduce((highest, v) => maxSemver(highest, v), '0.0.0');
290
+ }
291
+ catch {
292
+ return null;
293
+ }
294
+ }
295
+ /**
296
+ * Fetch all server items once, extract highest version for each entity ID.
297
+ * More efficient than calling getHighestServerVersion() per entity.
298
+ */
299
+ async batchGetHighestVersions(apiKey, agentId, entityIds) {
300
+ const result = new Map();
301
+ try {
302
+ const api = this.getApi(apiKey, agentId);
303
+ const serverItems = await this.fetchFromServer(api);
304
+ if (!serverItems) {
305
+ entityIds.forEach(id => result.set(id, null));
306
+ return result;
307
+ }
308
+ for (const entityId of entityIds) {
309
+ const entity = serverItems.find((item) => item.id === entityId);
310
+ if (!entity?.versions || !Array.isArray(entity.versions)) {
311
+ result.set(entityId, null);
312
+ continue;
313
+ }
314
+ const versions = entity.versions
315
+ .map((v) => v.version)
316
+ .filter((v) => typeof v === 'string');
317
+ result.set(entityId, versions.length > 0
318
+ ? versions.reduce((h, v) => maxSemver(h, v), '0.0.0')
319
+ : null);
320
+ }
321
+ }
322
+ catch {
323
+ entityIds.forEach(id => result.set(id, null));
324
+ }
325
+ return result;
326
+ }
327
+ // ===========================================================================
328
+ // INTERNAL
329
+ // ===========================================================================
330
+ /** Get the server ID from a YAML item using the configured idField. */
331
+ getItemId(item) {
332
+ return item[this.yamlConfig.idField] || '';
333
+ }
334
+ buildMaps(serverItems, yamlItems) {
335
+ const yamlById = new Map();
336
+ const yamlByName = new Map();
337
+ for (const item of yamlItems) {
338
+ const id = this.getItemId(item);
339
+ if (id)
340
+ yamlById.set(id, item);
341
+ yamlByName.set(item.name, item);
342
+ }
343
+ const serverByName = new Map();
344
+ for (const item of serverItems) {
345
+ serverByName.set(item.name, item);
346
+ }
347
+ return { yamlById, yamlByName, serverByName };
348
+ }
349
+ /**
350
+ * For each YAML item, match to server by name, populate missing IDs, update versions.
351
+ */
352
+ syncFromServer(yamlItems, serverByName) {
353
+ const msgs = [];
354
+ let changed = false;
355
+ const idField = this.yamlConfig.idField;
356
+ const items = yamlItems.map(item => {
357
+ const serverItem = serverByName.get(item.name);
358
+ if (!serverItem)
359
+ return item;
360
+ let updated = { ...item };
361
+ // Populate missing server ID
362
+ if (!this.getItemId(item) && serverItem.id) {
363
+ const msg = `🔗 Linked "${item.name}" ${this.displayName} to server (ID: ${serverItem.id})`;
364
+ msgs.push(msg);
365
+ console.log(msg);
366
+ changed = true;
367
+ updated = { ...updated, [idField]: serverItem.id };
368
+ }
369
+ // Update version if server has a newer active one
370
+ const versions = serverItem.versions;
371
+ if (Array.isArray(versions) && versions.length > 0) {
372
+ const activeVersion = this.getActiveVersion(serverItem);
373
+ const currentVersion = item.version;
374
+ if (activeVersion && activeVersion !== currentVersion) {
375
+ const msg = `📝 Updated "${item.name}" ${this.displayName} version: ${currentVersion} → ${activeVersion}`;
376
+ msgs.push(msg);
377
+ console.log(msg);
378
+ changed = true;
379
+ updated = { ...updated, version: activeVersion };
380
+ }
381
+ }
382
+ return updated;
383
+ });
384
+ return { items, changed, msgs };
385
+ }
386
+ }
387
+ // =============================================================================
388
+ // BASE NON-VERSIONED HANDLER
389
+ // =============================================================================
390
+ /**
391
+ * For primitives without versions (e.g., MCP servers).
392
+ */
393
+ export class BaseNonVersionedHandler {
394
+ getServerItemName(item) {
395
+ return item.name || 'unknown';
396
+ }
397
+ /** Phase 1 of parallel sync: fetch server state (HTTP only, no YAML writes) */
398
+ async fetchServerState(apiKey, agentId) {
399
+ try {
400
+ const api = this.getApi(apiKey, agentId);
401
+ const serverItems = await this.fetchFromServer(api);
402
+ return { serverItems };
403
+ }
404
+ catch (error) {
405
+ if (AuthenticationError.isAuthenticationError(error))
406
+ throw error;
407
+ return { serverItems: null, fetchError: error instanceof Error ? error.message : String(error) };
408
+ }
409
+ }
410
+ /** Phase 2 of parallel sync: apply fetched data to YAML (orphan detection only for non-versioned) */
411
+ async applySyncToYaml(serverData, config, _manifest) {
412
+ const messages = [];
413
+ let orphanedCount = 0;
414
+ try {
415
+ if (!serverData.serverItems) {
416
+ if (serverData.fetchError) {
417
+ console.error(`❌ Error syncing server ${this.displayNamePlural}: ${serverData.fetchError}`);
418
+ }
419
+ else {
420
+ console.warn(`⚠️ Could not retrieve server ${this.displayNamePlural}. Skipping sync.`);
421
+ }
422
+ return { messages, yamlUpdated: false, orphanedCount };
423
+ }
424
+ const yamlItems = this.getFromYaml(config);
425
+ const idField = this.yamlConfig.idField;
426
+ const getId = (item) => item[idField] || '';
427
+ const yamlById = new Map(yamlItems.filter(i => getId(i)).map(i => [getId(i), i]));
428
+ const yamlByName = new Map(yamlItems.map(i => [i.name, i]));
429
+ const orphans = serverData.serverItems.filter(item => {
430
+ const id = item.id;
431
+ const name = item.name;
432
+ return !yamlById.has(id) && !yamlByName.has(name) && this.isActive(item);
433
+ });
434
+ if (orphans.length > 0) {
435
+ console.log(`\n⚠️ Found ${this.displayNamePlural} on server not in your local code:`);
436
+ for (const item of orphans) {
437
+ const msg = ` - ${this.getServerItemName(item)}`;
438
+ messages.push(msg);
439
+ console.log(msg);
440
+ }
441
+ console.log(` Use "${this.deleteCommand} <name>" to remove them if no longer needed.\n`);
442
+ orphanedCount = orphans.length;
443
+ }
444
+ if (orphans.length === 0) {
445
+ console.log(`✅ Server ${this.displayNamePlural} and YAML are fully in sync`);
446
+ }
447
+ }
448
+ catch (error) {
449
+ console.error(`❌ Error syncing server ${this.displayNamePlural}:`, error);
450
+ }
451
+ return { messages, yamlUpdated: false, orphanedCount };
452
+ }
453
+ async syncWithServer(apiKey, agentId, config, _manifest) {
454
+ const serverData = await this.fetchServerState(apiKey, agentId);
455
+ return this.applySyncToYaml(serverData, config);
456
+ }
457
+ updateYaml(items, config) {
458
+ const updatedConfig = {
459
+ ...(config || {}),
460
+ [this.yamlConfig.yamlKey]: items.map(item => this.cleanItem(item)),
461
+ };
462
+ writeYamlConfig(updatedConfig);
463
+ }
464
+ getFromYaml(config) {
465
+ if (!config)
466
+ return [];
467
+ const items = config[this.yamlConfig.yamlKey];
468
+ return (Array.isArray(items) ? items : []);
469
+ }
470
+ prepareForPush(_manifest, _name, _projectPath) {
471
+ return null;
472
+ }
473
+ }
474
+ //# sourceMappingURL=base.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.handler.js","sourceRoot":"","sources":["../../src/primitives/base.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Primitive Handlers Registry
3
+ *
4
+ * Central export point for all primitive handlers.
5
+ * Provides type-safe access to handlers by primitive kind.
6
+ */
7
+ import { PrimitiveKind } from '../compiler/types.js';
8
+ import { type PrimitiveHandler, type VersionedPrimitiveHandler } from './types.js';
9
+ import { SkillHandler } from './skill.handler.js';
10
+ export { isVersionedHandler, type PrimitiveHandler, type VersionedPrimitiveHandler, type SyncResult, type YamlPrimitiveConfig } from './types.js';
11
+ export { SkillHandler } from './skill.handler.js';
12
+ export { WebhookHandler } from './webhook.handler.js';
13
+ export { JobHandler } from './job.handler.js';
14
+ export { PreprocessorHandler } from './preprocessor.handler.js';
15
+ export { PostprocessorHandler } from './postprocessor.handler.js';
16
+ export { MCPServerHandler } from './mcp-server.handler.js';
17
+ export { skillHandler } from './skill.handler.js';
18
+ export { webhookHandler } from './webhook.handler.js';
19
+ export { jobHandler } from './job.handler.js';
20
+ export { preprocessorHandler } from './preprocessor.handler.js';
21
+ export { postprocessorHandler } from './postprocessor.handler.js';
22
+ export { mcpServerHandler } from './mcp-server.handler.js';
23
+ /**
24
+ * Map of primitive handlers by kind.
25
+ * Note: TOOL kind has no handler — tools are managed as part of skills.
26
+ */
27
+ export declare const primitiveHandlers: Partial<Record<PrimitiveKind, PrimitiveHandler>>;
28
+ /**
29
+ * Get a primitive handler by kind.
30
+ *
31
+ * @param kind - Primitive kind
32
+ * @returns Handler or undefined if not found (e.g., TOOL has no handler)
33
+ */
34
+ export declare function getHandler(kind: PrimitiveKind): PrimitiveHandler | undefined;
35
+ /**
36
+ * Get the skill handler (typed for manifest sync support)
37
+ */
38
+ export declare function getSkillHandler(): SkillHandler;
39
+ /**
40
+ * All versioned primitive handlers (derived from primitiveHandlers map).
41
+ */
42
+ export declare const versionedHandlers: VersionedPrimitiveHandler[];
43
+ /**
44
+ * All primitive handlers that support sync (derived from primitiveHandlers map).
45
+ */
46
+ export declare const syncableHandlers: PrimitiveHandler[];
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Primitive Handlers Registry
3
+ *
4
+ * Central export point for all primitive handlers.
5
+ * Provides type-safe access to handlers by primitive kind.
6
+ */
7
+ import { PrimitiveKind } from '../compiler/types.js';
8
+ import { isVersionedHandler } from './types.js';
9
+ // Import all handlers
10
+ import { skillHandler } from './skill.handler.js';
11
+ import { webhookHandler } from './webhook.handler.js';
12
+ import { jobHandler } from './job.handler.js';
13
+ import { preprocessorHandler } from './preprocessor.handler.js';
14
+ import { postprocessorHandler } from './postprocessor.handler.js';
15
+ import { mcpServerHandler } from './mcp-server.handler.js';
16
+ // Re-export types and helpers
17
+ export { isVersionedHandler } from './types.js';
18
+ // Re-export handler classes (for testing/extension)
19
+ export { SkillHandler } from './skill.handler.js';
20
+ export { WebhookHandler } from './webhook.handler.js';
21
+ export { JobHandler } from './job.handler.js';
22
+ export { PreprocessorHandler } from './preprocessor.handler.js';
23
+ export { PostprocessorHandler } from './postprocessor.handler.js';
24
+ export { MCPServerHandler } from './mcp-server.handler.js';
25
+ // Re-export singleton instances
26
+ export { skillHandler } from './skill.handler.js';
27
+ export { webhookHandler } from './webhook.handler.js';
28
+ export { jobHandler } from './job.handler.js';
29
+ export { preprocessorHandler } from './preprocessor.handler.js';
30
+ export { postprocessorHandler } from './postprocessor.handler.js';
31
+ export { mcpServerHandler } from './mcp-server.handler.js';
32
+ /**
33
+ * Map of primitive handlers by kind.
34
+ * Note: TOOL kind has no handler — tools are managed as part of skills.
35
+ */
36
+ export const primitiveHandlers = {
37
+ [PrimitiveKind.SKILL]: skillHandler,
38
+ [PrimitiveKind.WEBHOOK]: webhookHandler,
39
+ [PrimitiveKind.JOB]: jobHandler,
40
+ [PrimitiveKind.PREPROCESSOR]: preprocessorHandler,
41
+ [PrimitiveKind.POSTPROCESSOR]: postprocessorHandler,
42
+ [PrimitiveKind.MCP_SERVER]: mcpServerHandler,
43
+ };
44
+ /**
45
+ * Get a primitive handler by kind.
46
+ *
47
+ * @param kind - Primitive kind
48
+ * @returns Handler or undefined if not found (e.g., TOOL has no handler)
49
+ */
50
+ export function getHandler(kind) {
51
+ return primitiveHandlers[kind];
52
+ }
53
+ /**
54
+ * Get the skill handler (typed for manifest sync support)
55
+ */
56
+ export function getSkillHandler() {
57
+ return skillHandler;
58
+ }
59
+ /**
60
+ * All versioned primitive handlers (derived from primitiveHandlers map).
61
+ */
62
+ export const versionedHandlers = Object.values(primitiveHandlers)
63
+ .filter((h) => isVersionedHandler(h));
64
+ /**
65
+ * All primitive handlers that support sync (derived from primitiveHandlers map).
66
+ */
67
+ export const syncableHandlers = Object.values(primitiveHandlers);
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/primitives/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAA0E,MAAM,YAAY,CAAC;AAExH,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAuB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAwB,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAoB,MAAM,yBAAyB,CAAC;AAE7E,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAoG,MAAM,YAAY,CAAC;AAElJ,oDAAoD;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqD;IACjF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY;IACnC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc;IACvC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU;IAC/B,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,mBAAmB;IACjD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,oBAAoB;IACnD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,gBAAgB;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;KAC3F,MAAM,CAAC,CAAC,CAAC,EAAkC,EAAE,CAAC,kBAAkB,CAAC,CAAE,CAAC,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAuB,CAAC"}