@pikku/cli 0.11.3 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-DiYPTQU_.js +676 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +34 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +46 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +17 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +2 -2
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +72 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +261 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +83 -29
  46. package/dist/.pikku/function/pikku-function-types.gen.js +51 -15
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +896 -192
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +2 -2
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +2 -2
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +6 -1
  66. package/dist/.pikku/pikku-services.gen.js +5 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +70 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +43 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNewAddonInput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuNewFunctionInput.schema.json +1 -0
  100. package/dist/.pikku/schemas/schemas/PikkuNewMiddlewareInput.schema.json +1 -0
  101. package/dist/.pikku/schemas/schemas/PikkuNewPermissionInput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuNewWiringInput.schema.json +1 -0
  103. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  104. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  107. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  109. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  110. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  111. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  112. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  113. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  114. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  115. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  116. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  117. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  118. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  119. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  120. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  121. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  122. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  123. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  124. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  125. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  126. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  127. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  128. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  129. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  130. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  131. package/dist/bin/pikku.js +20 -47
  132. package/dist/src/cli.wiring.js +210 -2
  133. package/dist/src/functions/commands/all.d.ts +1 -1
  134. package/dist/src/functions/commands/all.js +83 -180
  135. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  136. package/dist/src/functions/commands/bootstrap.js +13 -22
  137. package/dist/src/functions/commands/console.d.ts +7 -0
  138. package/dist/src/functions/commands/console.js +106 -0
  139. package/dist/src/functions/commands/info.d.ts +9 -0
  140. package/dist/src/functions/commands/info.js +283 -0
  141. package/dist/src/functions/commands/new-addon.d.ts +34 -0
  142. package/dist/src/functions/commands/new-addon.js +636 -0
  143. package/dist/src/functions/commands/new-function.d.ts +10 -0
  144. package/dist/src/functions/commands/new-function.js +79 -0
  145. package/dist/src/functions/commands/new-middleware.d.ts +10 -0
  146. package/dist/src/functions/commands/new-middleware.js +48 -0
  147. package/dist/src/functions/commands/new-permission.d.ts +10 -0
  148. package/dist/src/functions/commands/new-permission.js +45 -0
  149. package/dist/src/functions/commands/new-wiring.d.ts +10 -0
  150. package/dist/src/functions/commands/new-wiring.js +102 -0
  151. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  152. package/dist/src/functions/commands/pikku-command-bootstrap.js +38 -0
  153. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  154. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  155. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  156. package/dist/src/functions/commands/versions-check.js +99 -0
  157. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  158. package/dist/src/functions/commands/versions-init.js +15 -0
  159. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  160. package/dist/src/functions/commands/versions-update.js +20 -0
  161. package/dist/src/functions/commands/watch.d.ts +1 -1
  162. package/dist/src/functions/commands/watch.js +4 -5
  163. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  164. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  165. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  166. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  167. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  168. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +4 -16
  169. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  170. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  171. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  172. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  173. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +20 -0
  174. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  175. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  176. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  177. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  178. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  179. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  180. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  181. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +76 -0
  182. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  183. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +68 -0
  184. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  185. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  186. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  187. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  188. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  189. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  190. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  191. package/dist/src/functions/wirings/channels/pikku-command-channels.js +2 -2
  192. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  193. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  194. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +5 -4
  195. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  196. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  197. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  198. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  199. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  200. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  201. package/dist/src/functions/wirings/cli/pikku-command-cli.js +2 -2
  202. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +2 -2
  203. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +1 -1
  204. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  205. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  206. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +3 -3
  207. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  208. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  209. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +24 -0
  210. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  211. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  212. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  213. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  214. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  215. package/dist/src/functions/wirings/console/serialize-console-functions.js +90 -0
  216. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  217. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  218. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -0
  219. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +33 -0
  220. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  221. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  222. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  223. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +6 -6
  224. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  225. package/dist/src/functions/wirings/functions/pikku-command-functions.js +9 -15
  226. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  227. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  228. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  229. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  230. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +1 -0
  231. package/dist/src/functions/wirings/functions/serialize-addon-types.js +78 -0
  232. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -4
  233. package/dist/src/functions/wirings/functions/serialize-function-imports.js +13 -20
  234. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/functions/serialize-function-types.js +126 -45
  236. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  237. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  238. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  239. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  240. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  241. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +2 -2
  242. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  243. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  244. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  245. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  246. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  247. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  248. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  249. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +7 -4
  250. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  251. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  252. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  253. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  254. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  255. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  256. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +14 -5
  257. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  258. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  259. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  260. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  261. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  262. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  263. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  264. package/dist/src/functions/wirings/package/pikku-command-package.js +8 -8
  265. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  266. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  267. package/dist/src/functions/wirings/package/serialize-package.js +2 -2
  268. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  269. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +7 -7
  270. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  271. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  272. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  273. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  274. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  275. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  276. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  277. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  278. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  279. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  280. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  281. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  282. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +6 -3
  283. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  284. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
  285. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  286. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  287. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  288. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  289. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  290. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  291. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  292. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  293. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  294. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +14 -9
  295. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  296. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +3 -2
  297. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  298. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +34 -20
  299. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  300. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +55 -8
  301. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +11 -3
  302. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +106 -71
  303. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  304. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  305. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  306. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  307. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -2
  308. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  309. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  310. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  311. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  312. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  313. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  314. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  315. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  316. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  317. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  318. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  319. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  320. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  321. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  322. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  323. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  324. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  325. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  326. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  327. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +8 -37
  328. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +5 -3
  329. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  330. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  331. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  332. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  333. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  334. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  335. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  336. package/dist/src/services/cli-logger-forwarder.service.d.ts +4 -3
  337. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  338. package/dist/src/services/cli-logger.service.d.ts +3 -2
  339. package/dist/src/services/cli-logger.service.js +1 -1
  340. package/dist/src/services.d.ts +5 -4
  341. package/dist/src/services.js +53 -7
  342. package/dist/src/utils/check-required-types.d.ts +1 -1
  343. package/dist/src/utils/command-summary.d.ts +2 -1
  344. package/dist/src/utils/command-summary.js +2 -1
  345. package/dist/src/utils/contract-versions.d.ts +6 -0
  346. package/dist/src/utils/contract-versions.js +25 -0
  347. package/dist/src/utils/file-import-path.js +20 -6
  348. package/dist/src/utils/file-writer.d.ts +6 -1
  349. package/dist/src/utils/file-writer.js +14 -1
  350. package/dist/src/utils/generate-bootstrap-file.d.ts +2 -2
  351. package/dist/src/utils/openapi/codegen.d.ts +19 -0
  352. package/dist/src/utils/openapi/codegen.js +288 -0
  353. package/dist/src/utils/openapi/naming.d.ts +30 -0
  354. package/dist/src/utils/openapi/naming.js +167 -0
  355. package/dist/src/utils/openapi/parse-openapi.d.ts +36 -0
  356. package/dist/src/utils/openapi/parse-openapi.js +196 -0
  357. package/dist/src/utils/openapi/zod-codegen.d.ts +53 -0
  358. package/dist/src/utils/openapi/zod-codegen.js +251 -0
  359. package/dist/src/utils/pikku-cli-config.d.ts +2 -2
  360. package/dist/src/utils/pikku-cli-config.js +80 -23
  361. package/dist/src/utils/pikku-files-and-methods.d.ts +1 -2
  362. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  363. package/dist/src/utils/serialize-import-map.d.ts +3 -2
  364. package/dist/src/utils/serialize-import-map.js +4 -55
  365. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  366. package/dist/src/utils/serialize-meta-ts.js +12 -0
  367. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  368. package/dist/src/utils/serialize-schemas.js +38 -0
  369. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  370. package/dist/src/utils/strip-verbose-meta.js +15 -15
  371. package/dist/tsconfig.tsbuildinfo +1 -1
  372. package/package.json +19 -10
  373. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  374. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  375. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  376. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  377. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  378. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  379. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  380. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  381. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  382. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  383. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  384. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  385. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  386. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  387. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  388. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  389. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  390. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  391. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  392. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  393. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  394. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  395. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  396. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  397. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  398. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  399. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  400. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  401. package/.pikku/pikku-services.gen.ts +0 -28
  402. package/.pikku/pikku-types.gen.ts +0 -30
  403. package/.pikku/pikku-websocket.gen.ts +0 -90
  404. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  405. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  406. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  407. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  408. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  409. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  410. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  411. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  412. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  413. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  414. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  415. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  416. package/.pikku/schemas/register.gen.ts +0 -71
  417. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  418. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  419. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  420. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  421. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  422. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  423. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  424. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  425. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  426. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  427. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  428. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  429. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  430. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  431. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  432. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  433. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  434. package/.pikku/services/config.gen.json +0 -104
  435. package/.pikku/services/getInspectorState.gen.json +0 -10
  436. package/.pikku/services/jwt.gen.json +0 -13
  437. package/.pikku/services/logger.gen.json +0 -25
  438. package/.pikku/services/queueService.gen.json +0 -14
  439. package/.pikku/services/schedulerService.gen.json +0 -17
  440. package/.pikku/services/schema.gen.json +0 -14
  441. package/.pikku/services/secrets.gen.json +0 -13
  442. package/.pikku/services/variables.gen.json +0 -13
  443. package/.pikku/services/workflowService.gen.json +0 -31
  444. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  445. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  446. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  447. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  448. package/CHANGELOG.md +0 -957
  449. package/bin/pikku.ts +0 -88
  450. package/build.sh +0 -75
  451. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  452. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  453. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  454. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  455. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  456. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  457. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  458. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  459. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  460. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  461. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  462. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  463. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  464. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  465. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  466. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  467. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  468. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  469. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  470. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  471. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  472. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  473. package/dist/src/utils/custom-types-generator.js +0 -41
  474. package/dist/src/utils/schema-generator.d.ts +0 -7
  475. package/dist/src/utils/schema-generator.js +0 -238
  476. package/pikku.config.json +0 -29
  477. package/run-tests.sh +0 -53
  478. package/src/cli.wiring.ts +0 -112
  479. package/src/functions/commands/all.ts +0 -313
  480. package/src/functions/commands/bootstrap.ts +0 -35
  481. package/src/functions/commands/watch.ts +0 -61
  482. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  483. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  484. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  485. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  486. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  487. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  488. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  489. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  490. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  491. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  492. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  493. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  494. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  495. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  496. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  497. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  498. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  499. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  500. package/src/functions/wirings/fetch/index.ts +0 -36
  501. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  502. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  503. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  504. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  505. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  506. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  507. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  508. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  509. package/src/functions/wirings/functions/schemas.ts +0 -56
  510. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  511. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  512. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  513. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  514. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  515. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  516. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  517. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  518. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  519. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  520. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  521. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  522. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  523. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  524. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  525. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  526. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  527. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  528. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  529. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  530. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  531. package/src/functions/wirings/package/serialize-package.ts +0 -69
  532. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  533. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  534. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  535. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  536. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  537. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  538. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  539. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  540. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  541. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  542. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  543. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  544. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  545. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  546. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  547. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  548. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  549. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  550. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  551. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  552. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  553. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  554. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  555. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  556. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  557. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  558. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  559. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  560. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  561. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  562. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  563. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  564. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  565. package/src/middleware/log-command-info-and-time.ts +0 -35
  566. package/src/services/cli-logger-forwarder.service.ts +0 -99
  567. package/src/services/cli-logger.service.ts +0 -108
  568. package/src/services.ts +0 -322
  569. package/src/utils/check-required-types.ts +0 -65
  570. package/src/utils/command-summary.ts +0 -107
  571. package/src/utils/custom-types-generator.ts +0 -55
  572. package/src/utils/file-import-path.test.ts +0 -175
  573. package/src/utils/file-import-path.ts +0 -53
  574. package/src/utils/file-imports-serializer.ts +0 -25
  575. package/src/utils/file-writer.ts +0 -72
  576. package/src/utils/generate-bootstrap-file.ts +0 -43
  577. package/src/utils/get-cli-version.ts +0 -28
  578. package/src/utils/pikku-cli-config.ts +0 -495
  579. package/src/utils/pikku-files-and-methods.ts +0 -145
  580. package/src/utils/schema-generator.ts +0 -335
  581. package/src/utils/serialize-import-map.ts +0 -102
  582. package/src/utils/strip-verbose-meta.ts +0 -254
  583. package/tsconfig.json +0 -21
  584. package/types/application-types.d.ts +0 -27
  585. package/types/config.d.ts +0 -304
  586. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  587. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Generates type definitions for trigger wirings
3
+ */
4
+ export const serializeTriggerTypes = (singletonServicesTypeImport, singletonServicesTypeName) => {
5
+ return `/**
6
+ * Trigger-specific type definitions for tree-shaking optimization
7
+ */
8
+
9
+ import { CorePikkuTriggerFunction, CorePikkuTriggerFunctionConfig, CoreTrigger, wireTrigger as wireTriggerCore, wireTriggerSource as wireTriggerSourceCore } from '@pikku/core/trigger'
10
+ import type { CoreNodeConfig } from '@pikku/core/node'
11
+ ${singletonServicesTypeImport}
12
+ import type { StandardSchemaV1 } from '@standard-schema/spec'
13
+
14
+ ${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices = ${singletonServicesTypeName}` : ''}
15
+
16
+ /**
17
+ * A trigger function that sets up a subscription and returns a teardown function.
18
+ * The trigger is fired via wire.trigger.invoke(data).
19
+ *
20
+ * @template TInput - Input type (configuration passed when wired)
21
+ * @template TOutput - Output type produced when trigger fires
22
+ */
23
+ export type PikkuTriggerFunction<
24
+ TInput = unknown,
25
+ TOutput = unknown
26
+ > = CorePikkuTriggerFunction<TInput, TOutput, SingletonServices>
27
+
28
+ /**
29
+ * Configuration object for creating a trigger function with metadata
30
+ */
31
+ export type PikkuTriggerFunctionConfig<
32
+ TInput = unknown,
33
+ TOutput = unknown,
34
+ InputSchema extends StandardSchemaV1 | undefined = undefined,
35
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
36
+ > = CorePikkuTriggerFunctionConfig<TInput, TOutput, SingletonServices, InputSchema, OutputSchema>
37
+
38
+ /**
39
+ * Helper type to infer the output type from a Standard Schema
40
+ */
41
+ type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output> ? Output : never
42
+
43
+ /**
44
+ * Configuration object for trigger functions with Zod schema validation.
45
+ * Use this when you want to define input/output schemas using Zod.
46
+ * Types are automatically inferred from the schemas.
47
+ */
48
+ export type PikkuTriggerFunctionConfigWithSchema<
49
+ InputSchema extends StandardSchemaV1,
50
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
51
+ > = {
52
+ title?: string
53
+ description?: string
54
+ tags?: string[]
55
+ func: PikkuTriggerFunction<
56
+ InferSchemaOutput<InputSchema>,
57
+ OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown
58
+ >
59
+ input: InputSchema
60
+ output?: OutputSchema
61
+ node?: CoreNodeConfig
62
+ }
63
+
64
+ /**
65
+ * Type definition for trigger wirings.
66
+ * Declares a trigger name and its target pikku function.
67
+ */
68
+ export type TriggerWiring = CoreTrigger
69
+
70
+ /**
71
+ * A trigger source with the subscription function, using project-specific services.
72
+ *
73
+ * @template TInput - Input type passed to the trigger function
74
+ * @template TOutput - Output type produced when trigger fires
75
+ */
76
+ export type TriggerSource<
77
+ TInput = unknown,
78
+ TOutput = unknown
79
+ > = {
80
+ name: string
81
+ func: PikkuTriggerFunctionConfig<TInput, TOutput>
82
+ } & (unknown extends TInput ? { input?: TInput } : { input: TInput })
83
+
84
+ /**
85
+ * Creates a trigger function configuration.
86
+ * Use this to define trigger functions that set up subscriptions.
87
+ *
88
+ * @param triggerOrConfig - Function definition or configuration object
89
+ * @returns The normalized configuration object
90
+ *
91
+ * @example
92
+ * \`\`\`typescript
93
+ * export const redisSubscribeTrigger = pikkuTriggerFunc<
94
+ * { channel: string },
95
+ * { message: string }
96
+ * >(async ({ redis }, { channel }, { trigger }) => {
97
+ * const subscriber = redis.duplicate()
98
+ * await subscriber.subscribe(channel, (msg) => {
99
+ * trigger.invoke({ message: msg })
100
+ * })
101
+ * return () => subscriber.unsubscribe()
102
+ * })
103
+ *
104
+ * export const redisSubscribeTrigger = pikkuTriggerFunc({
105
+ * title: 'Redis Subscribe Trigger',
106
+ * description: 'Listens to Redis pub/sub channel',
107
+ * input: z.object({ channel: z.string() }),
108
+ * output: z.object({ message: z.string() }),
109
+ * func: async ({ redis }, { channel }, { trigger }) => {
110
+ * const subscriber = redis.duplicate()
111
+ * await subscriber.subscribe(channel, (msg) => {
112
+ * trigger.invoke({ message: msg })
113
+ * })
114
+ * return () => subscriber.unsubscribe()
115
+ * }
116
+ * })
117
+ * \`\`\`
118
+ */
119
+ export function pikkuTriggerFunc<
120
+ InputSchema extends StandardSchemaV1,
121
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
122
+ >(
123
+ config: PikkuTriggerFunctionConfigWithSchema<InputSchema, OutputSchema>
124
+ ): PikkuTriggerFunctionConfig<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, InputSchema, OutputSchema>
125
+ export function pikkuTriggerFunc<TInput, TOutput = unknown>(
126
+ triggerOrConfig:
127
+ | PikkuTriggerFunction<TInput, TOutput>
128
+ | PikkuTriggerFunctionConfig<TInput, TOutput>
129
+ ): PikkuTriggerFunctionConfig<TInput, TOutput>
130
+ export function pikkuTriggerFunc(triggerOrConfig: any) {
131
+ if (typeof triggerOrConfig === 'function') {
132
+ return { func: triggerOrConfig }
133
+ }
134
+ return triggerOrConfig
135
+ }
136
+
137
+ /**
138
+ * Registers a trigger with the Pikku framework.
139
+ * Declares a trigger name and its target pikku function.
140
+ * Runs everywhere — inspector extracts at build time.
141
+ *
142
+ * @param trigger - Trigger definition with name and function config
143
+ */
144
+ export const wireTrigger = (
145
+ trigger: TriggerWiring
146
+ ) => {
147
+ wireTriggerCore(trigger as any)
148
+ }
149
+
150
+ /**
151
+ * Registers a trigger source with the Pikku framework.
152
+ * Provides the subscription function and input data.
153
+ * Only imported in the trigger worker process.
154
+ *
155
+ * @param source - Trigger source with name, func, and input
156
+ */
157
+ export const wireTriggerSource = <TInput = unknown, TOutput = unknown>(
158
+ source: TriggerSource<TInput, TOutput>
159
+ ) => {
160
+ wireTriggerSourceCore(source as any)
161
+ }
162
+ `;
163
+ };
@@ -0,0 +1 @@
1
+ export declare const pikkuVariables: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,31 @@
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
+ import { writeFileInDir } from '../../../utils/file-writer.js';
3
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
4
+ import { serializeVariablesTypes } from './serialize-variables-types.js';
5
+ import { validateAndBuildVariableDefinitionsMeta } from '@pikku/core/variable';
6
+ export const pikkuVariables = pikkuSessionlessFunc({
7
+ func: async ({ logger, config, getInspectorState }) => {
8
+ const { variablesFile, variablesMetaJsonFile, packageMappings } = config;
9
+ if (!variablesFile) {
10
+ return;
11
+ }
12
+ const state = await getInspectorState();
13
+ const content = serializeVariablesTypes({
14
+ definitions: state.variables.definitions,
15
+ schemaLookup: state.schemaLookup,
16
+ variablesFile,
17
+ packageMappings,
18
+ });
19
+ await writeFileInDir(logger, variablesFile, content);
20
+ if (variablesMetaJsonFile) {
21
+ const meta = validateAndBuildVariableDefinitionsMeta(state.variables.definitions, state.schemaLookup);
22
+ await writeFileInDir(logger, variablesMetaJsonFile, JSON.stringify(meta, null, 2));
23
+ }
24
+ },
25
+ middleware: [
26
+ logCommandInfoAndTime({
27
+ commandStart: 'Creating PikkuVariables types',
28
+ commandEnd: 'Created PikkuVariables types',
29
+ }),
30
+ ],
31
+ });
@@ -0,0 +1,9 @@
1
+ import type { VariableDefinitions } from '@pikku/core/variable';
2
+ import type { SchemaRef } from '@pikku/inspector';
3
+ export interface SerializeVariablesOptions {
4
+ definitions: VariableDefinitions;
5
+ schemaLookup: Map<string, SchemaRef>;
6
+ variablesFile: string;
7
+ packageMappings: Record<string, string>;
8
+ }
9
+ export declare const serializeVariablesTypes: ({ definitions, schemaLookup, variablesFile, packageMappings, }: SerializeVariablesOptions) => string;
@@ -0,0 +1,53 @@
1
+ import { validateAndBuildVariableDefinitionsMeta } from '@pikku/core/variable';
2
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
3
+ export const serializeVariablesTypes = ({ definitions, schemaLookup, variablesFile, packageMappings, }) => {
4
+ const variables = validateAndBuildVariableDefinitionsMeta(definitions, schemaLookup);
5
+ const variableEntries = Object.entries(variables);
6
+ const schemaImports = new Map();
7
+ let needsZod = false;
8
+ const mapEntries = [];
9
+ const metaEntries = [];
10
+ for (const [name, meta] of variableEntries) {
11
+ if (meta.schema && typeof meta.schema === 'string') {
12
+ const schemaRef = schemaLookup.get(meta.schema);
13
+ if (schemaRef) {
14
+ needsZod = true;
15
+ if (!schemaImports.has(schemaRef.sourceFile)) {
16
+ schemaImports.set(schemaRef.sourceFile, new Set());
17
+ }
18
+ schemaImports.get(schemaRef.sourceFile).add(schemaRef.variableName);
19
+ mapEntries.push(` '${meta.variableId}': z.infer<typeof ${schemaRef.variableName}>`);
20
+ metaEntries.push(` '${meta.variableId}': { name: '${name}', displayName: '${meta.displayName}' }`);
21
+ }
22
+ }
23
+ }
24
+ const imports = [];
25
+ imports.push(`import { TypedVariablesService as CoreTypedVariablesService, type VariableMeta } from '@pikku/core/services'`);
26
+ imports.push(`import type { VariablesService } from '@pikku/core/services'`);
27
+ if (needsZod) {
28
+ imports.push(`import type { z } from 'zod'`);
29
+ }
30
+ for (const [sourceFile, variableNames] of schemaImports) {
31
+ const importPath = getFileImportRelativePath(variablesFile, sourceFile, packageMappings);
32
+ const vars = Array.from(variableNames).join(', ');
33
+ imports.push(`import { ${vars} } from '${importPath}'`);
34
+ }
35
+ return `${imports.join('\n')}
36
+
37
+ export interface VariablesMap {
38
+ ${mapEntries.join('\n')}
39
+ }
40
+
41
+ export type VariableId = keyof VariablesMap
42
+
43
+ const VARIABLES_META: Record<string, VariableMeta> = {
44
+ ${metaEntries.join(',\n')}
45
+ }
46
+
47
+ export class TypedVariablesService extends CoreTypedVariablesService<VariablesMap> {
48
+ constructor(variables: VariablesService) {
49
+ super(variables, VARIABLES_META)
50
+ }
51
+ }
52
+ `;
53
+ };
@@ -1 +1 @@
1
- export declare const pikkuWorkflow: any;
1
+ export declare const pikkuWorkflow: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,5 +1,5 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
- import { convertDslToGraph, ErrorCode } from '@pikku/inspector';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
+ import { ErrorCode } from '@pikku/inspector';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
5
  import { serializeWorkflowTypes } from './serialize-workflow-types.js';
@@ -16,14 +16,8 @@ export const pikkuWorkflow = pikkuSessionlessFunc({
16
16
  const { workflowsWiringFile, workflowsWiringMetaFile, workflowMetaDir, workflowMapDeclarationFile, workflowTypesFile, functionTypesFile, typesDeclarationFile, packageMappings, schema, } = config;
17
17
  const { workflows, functions: functionState } = visitState;
18
18
  const { typesMap } = functionState;
19
- // Get all workflow names (both DSL and graph-based)
20
- const dslWorkflowNames = Object.keys(workflows.meta);
21
- const graphWorkflowNames = Object.keys(workflows.graphMeta);
22
- const allWorkflowNames = [
23
- ...new Set([...dslWorkflowNames, ...graphWorkflowNames]),
24
- ];
19
+ const allWorkflowNames = Object.keys(workflows.graphMeta);
25
20
  const hasWorkflows = allWorkflowNames.length > 0;
26
- // Validate that workflowService is configured if workflows are defined
27
21
  if (hasWorkflows) {
28
22
  const hasWorkflowState = visitState.serviceAggregation.allSingletonServices.includes('workflowService');
29
23
  if (!hasWorkflowState) {
@@ -31,50 +25,27 @@ export const pikkuWorkflow = pikkuSessionlessFunc({
31
25
  throw new Error('WorkflowState service not configured but workflows are defined');
32
26
  }
33
27
  }
34
- // Generate individual JSON files for each workflow (convert DSL to graph format)
35
28
  if (hasWorkflows && workflowMetaDir) {
36
- // Write individual JSON files for DSL workflows
37
- const dslMeta = workflows.meta;
38
- for (const [name, meta] of Object.entries(dslMeta)) {
39
- const graphMeta = convertDslToGraph(name, meta);
40
- // Write minimal version (runtime-only fields)
41
- const minimalMeta = stripVerboseFields(graphMeta);
42
- const minimalPath = join(workflowMetaDir, `${name}.gen.json`);
43
- await writeFileInDir(logger, minimalPath, JSON.stringify(minimalMeta, null, 2), { ignoreModifyComment: true });
44
- // Write verbose version only if it has additional fields
45
- if (hasVerboseFields(graphMeta)) {
46
- const verbosePath = join(workflowMetaDir, `${name}-verbose.gen.json`);
47
- await writeFileInDir(logger, verbosePath, JSON.stringify(graphMeta, null, 2), { ignoreModifyComment: true });
48
- }
49
- }
50
- // Write individual JSON files for graph workflows
51
29
  for (const [name, graphMeta] of Object.entries(workflows.graphMeta)) {
52
- // Write minimal version (runtime-only fields)
53
30
  const minimalMeta = stripVerboseFields(graphMeta);
54
31
  const minimalPath = join(workflowMetaDir, `${name}.gen.json`);
55
32
  await writeFileInDir(logger, minimalPath, JSON.stringify(minimalMeta, null, 2), { ignoreModifyComment: true });
56
- // Write verbose version only if it has additional fields
57
33
  if (hasVerboseFields(graphMeta)) {
58
34
  const verbosePath = join(workflowMetaDir, `${name}-verbose.gen.json`);
59
35
  await writeFileInDir(logger, verbosePath, JSON.stringify(graphMeta, null, 2), { ignoreModifyComment: true });
60
36
  }
61
37
  }
62
38
  }
63
- // Generate workflow meta aggregation file
64
39
  if (workflowsWiringMetaFile && workflowMetaDir) {
65
- await writeFileInDir(logger, workflowsWiringMetaFile, serializeWorkflowMeta(workflowsWiringMetaFile, workflowMetaDir, allWorkflowNames, packageMappings, schema?.supportsImportAttributes ?? false, config.externalPackageName));
40
+ await writeFileInDir(logger, workflowsWiringMetaFile, serializeWorkflowMeta(workflowsWiringMetaFile, workflowMetaDir, allWorkflowNames, packageMappings, schema?.supportsImportAttributes ?? false, config.addonName));
66
41
  }
67
- // Generate workflow registration (meta + DSL workflow registrations)
68
42
  const metaImportPath = getFileImportRelativePath(workflowsWiringFile, workflowsWiringMetaFile, packageMappings);
69
- await writeFileInDir(logger, workflowsWiringFile, serializeWorkflowRegistration(workflowsWiringFile, metaImportPath, allWorkflowNames, workflows.files, workflows.graphFiles, packageMappings, config.externalPackageName));
70
- // Generate workflow types (DSL + graph helpers in one file)
43
+ await writeFileInDir(logger, workflowsWiringFile, serializeWorkflowRegistration(workflowsWiringFile, metaImportPath, allWorkflowNames, workflows.files, workflows.graphFiles, packageMappings, config.addonName));
71
44
  const functionTypesImportPath = getFileImportRelativePath(workflowTypesFile, functionTypesFile, packageMappings);
72
45
  const rpcMapImportPath = getFileImportRelativePath(workflowTypesFile, config.rpcInternalMapDeclarationFile, packageMappings);
73
- await writeFileInDir(logger, workflowTypesFile, serializeWorkflowTypes(functionTypesImportPath, rpcMapImportPath));
74
- // Generate workflow map (I/O types for type-safe client)
75
- // Always generate even if empty - RPC map imports WorkflowMap
76
- await writeFileInDir(logger, workflowMapDeclarationFile, serializeWorkflowMap(workflowMapDeclarationFile, packageMappings, typesMap, functionState.meta, workflows.meta));
77
- // Generate workflow workers if configured
46
+ const workflowMapImportPath = getFileImportRelativePath(workflowTypesFile, workflowMapDeclarationFile, packageMappings);
47
+ await writeFileInDir(logger, workflowTypesFile, serializeWorkflowTypes(functionTypesImportPath, rpcMapImportPath, workflowMapImportPath));
48
+ await writeFileInDir(logger, workflowMapDeclarationFile, serializeWorkflowMap(logger, workflowMapDeclarationFile, packageMappings, typesMap, functionState.meta, workflows.meta, workflows.graphMeta));
78
49
  if (config.workflows) {
79
50
  if (config.workflows.singleQueue) {
80
51
  const workflowPath = join(config.rootDir, config.workflows.path);
@@ -2,6 +2,8 @@
2
2
  * Generate workflow map type definitions for type-safe client API
3
3
  */
4
4
  import type { WorkflowsMeta } from '@pikku/core/workflow';
5
- import { TypesMap } from '@pikku/inspector';
6
- import { FunctionsMeta } from '@pikku/core';
7
- export declare const serializeWorkflowMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, workflowsMeta: WorkflowsMeta) => string;
5
+ import { type TypesMap } from '@pikku/inspector';
6
+ import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph';
7
+ import type { FunctionsMeta } from '@pikku/core';
8
+ import type { Logger } from '@pikku/core/services';
9
+ export declare const serializeWorkflowMap: (logger: Logger, relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, workflowsMeta: WorkflowsMeta, graphMeta: SerializedWorkflowGraphs) => string;
@@ -1,31 +1,41 @@
1
1
  import { serializeImportMap } from '../../../utils/serialize-import-map.js';
2
- import { generateCustomTypes } from '../../../utils/custom-types-generator.js';
3
- export const serializeWorkflowMap = (relativeToPath, packageMappings, typesMap, functionsMeta, workflowsMeta) => {
2
+ import { generateCustomTypes } from '@pikku/inspector';
3
+ import { parseVersionedId } from '@pikku/core';
4
+ export const serializeWorkflowMap = (logger, relativeToPath, packageMappings, typesMap, functionsMeta, workflowsMeta, graphMeta) => {
4
5
  const requiredTypes = new Set();
5
- // First generate workflows to collect required types
6
6
  const serializedWorkflows = generateWorkflows(workflowsMeta, functionsMeta, typesMap, requiredTypes);
7
- // Only generate custom types if we have workflows with types
8
- const hasWorkflows = Object.keys(workflowsMeta).length > 0;
9
- const serializedCustomTypes = hasWorkflows
7
+ const serializedGraphs = generateGraphs(graphMeta, functionsMeta, typesMap, requiredTypes);
8
+ const hasAny = Object.keys(workflowsMeta).length > 0 || Object.keys(graphMeta).length > 0;
9
+ const serializedCustomTypes = hasAny
10
10
  ? generateCustomTypes(typesMap, requiredTypes)
11
11
  : '';
12
- const serializedImportMap = hasWorkflows
13
- ? serializeImportMap(relativeToPath, packageMappings, typesMap, requiredTypes)
12
+ const serializedImportMap = hasAny
13
+ ? serializeImportMap(logger, relativeToPath, packageMappings, typesMap, requiredTypes)
14
14
  : '';
15
+ const serializedCustomTypesDeclarationsOnly = serializedCustomTypes
16
+ .split('\n')
17
+ .filter((line) => !line.startsWith('import '))
18
+ .join('\n');
15
19
  return `/**
16
20
  * Workflow type map with input/output types for each workflow
17
21
  */
18
22
 
19
23
  ${serializedImportMap}
20
- ${serializedCustomTypes}
24
+ ${serializedCustomTypesDeclarationsOnly}
21
25
 
22
26
  interface WorkflowHandler<I, O> {
23
27
  input: I;
24
28
  output: O;
25
29
  }
26
30
 
31
+ interface GraphNodeHandler<I> {
32
+ input: I;
33
+ }
34
+
27
35
  ${serializedWorkflows}
28
36
 
37
+ ${serializedGraphs}
38
+
29
39
  export type WorkflowClient<Name extends keyof WorkflowMap> = {
30
40
  start: (input: WorkflowMap[Name]['input']) => Promise<{ runId: string }>;
31
41
  getRun: <output extends keyof WorkflowMap[Name]>(runId: string) => Promise<WorkflowMap[Name][output]>;
@@ -39,8 +49,8 @@ export type TypedWorkflowClients = {
39
49
  };
40
50
  function generateWorkflows(workflowsMeta, functionsMeta, typesMap, requiredTypes) {
41
51
  const workflowsObj = {};
42
- for (const [workflowName, { pikkuFuncName }] of Object.entries(workflowsMeta)) {
43
- const functionMeta = functionsMeta[pikkuFuncName];
52
+ for (const [workflowName, { pikkuFuncId }] of Object.entries(workflowsMeta)) {
53
+ const functionMeta = functionsMeta[pikkuFuncId];
44
54
  if (!functionMeta) {
45
55
  throw new Error(`Function ${workflowName} not found in functionsMeta. Please check your configuration.`);
46
56
  }
@@ -72,6 +82,47 @@ function generateWorkflows(workflowsMeta, functionsMeta, typesMap, requiredTypes
72
82
  for (const [workflowName, handler] of Object.entries(workflowsObj)) {
73
83
  workflowsStr += ` readonly '${workflowName}': WorkflowHandler<${handler.inputType}, ${handler.outputType}>,\n`;
74
84
  }
75
- workflowsStr += '};\n';
85
+ workflowsStr += '};';
76
86
  return workflowsStr;
77
87
  }
88
+ function generateGraphs(graphMeta, functionsMeta, typesMap, requiredTypes) {
89
+ const graphsObj = {};
90
+ for (const [graphName, graph] of Object.entries(graphMeta)) {
91
+ graphsObj[graphName] = {};
92
+ for (const [nodeId, node] of Object.entries(graph.nodes)) {
93
+ if (!('rpcName' in node) || typeof node.rpcName !== 'string') {
94
+ continue;
95
+ }
96
+ let functionMeta = functionsMeta[node.rpcName];
97
+ if (!functionMeta) {
98
+ const { baseName } = parseVersionedId(node.rpcName);
99
+ functionMeta = functionsMeta[baseName];
100
+ }
101
+ if (!functionMeta) {
102
+ continue;
103
+ }
104
+ const input = functionMeta.inputs ? functionMeta.inputs[0] : undefined;
105
+ let inputType = 'void';
106
+ if (input) {
107
+ try {
108
+ inputType = typesMap.getTypeMeta(input).uniqueName;
109
+ }
110
+ catch {
111
+ inputType = input;
112
+ }
113
+ }
114
+ requiredTypes.add(inputType);
115
+ graphsObj[graphName][nodeId] = { inputType };
116
+ }
117
+ }
118
+ let graphsStr = 'export type GraphsMap = {\n';
119
+ for (const [graphName, nodes] of Object.entries(graphsObj)) {
120
+ graphsStr += ` readonly '${graphName}': {\n`;
121
+ for (const [nodeId, handler] of Object.entries(nodes)) {
122
+ graphsStr += ` readonly '${nodeId}': GraphNodeHandler<${handler.inputType}>,\n`;
123
+ }
124
+ graphsStr += ' },\n';
125
+ }
126
+ graphsStr += '};';
127
+ return graphsStr;
128
+ }
@@ -3,43 +3,42 @@
3
3
  * and registers them with pikkuState
4
4
  */
5
5
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
6
+ import { sanitizeTypeName } from '@pikku/inspector';
6
7
  export const serializeWorkflowMeta = (outputPath, metaDir, workflowNames, packageMappings, supportsImportAttributes, packageName) => {
7
- const lines = [];
8
+ const pkg = packageName ? `'${packageName}'` : 'null';
8
9
  if (workflowNames.length === 0) {
9
- // Empty meta file - still need to register empty meta
10
- lines.push("import { pikkuState } from '@pikku/core'");
11
- lines.push("import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph'");
12
- lines.push('');
13
- lines.push('const workflowsMeta: SerializedWorkflowGraphs = {}');
14
- lines.push('');
15
- const packageNameValue = packageName ? `'${packageName}'` : 'null';
16
- lines.push(`pikkuState(${packageNameValue}, 'workflows', 'meta', workflowsMeta)`);
17
- return lines.join('\n');
10
+ return `import { pikkuState } from '@pikku/core/internal'
11
+ import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph'
12
+
13
+ const workflowsMeta: SerializedWorkflowGraphs = {}
14
+
15
+ pikkuState(${pkg}, 'workflows', 'meta', workflowsMeta)`;
18
16
  }
19
- // Imports
20
- lines.push("import { pikkuState } from '@pikku/core'");
21
- lines.push("import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph'");
22
- lines.push('');
23
- // Import each workflow meta JSON
24
17
  const sortedNames = [...workflowNames].sort();
25
- for (const name of sortedNames) {
18
+ const imports = sortedNames
19
+ .map((name) => {
20
+ const sanitizedIdentifier = sanitizeTypeName(name);
26
21
  const jsonPath = `${metaDir}/${name}.gen.json`;
27
22
  const importPath = getFileImportRelativePath(outputPath, jsonPath, packageMappings);
28
- const importStatement = supportsImportAttributes
29
- ? `import ${name}Meta from '${importPath}' with { type: 'json' }`
30
- : `import ${name}Meta from '${importPath}'`;
31
- lines.push(importStatement);
32
- }
33
- lines.push('');
34
- // Create aggregated meta object (cast JSON imports to proper types)
35
- lines.push('const workflowsMeta = {');
36
- for (const name of sortedNames) {
37
- lines.push(` '${name}': ${name}Meta,`);
38
- }
39
- lines.push('} as SerializedWorkflowGraphs');
40
- lines.push('');
41
- // Register meta with pikkuState
42
- const packageNameValue = packageName ? `'${packageName}'` : 'null';
43
- lines.push(`pikkuState(${packageNameValue}, 'workflows', 'meta', workflowsMeta)`);
44
- return lines.join('\n');
23
+ return supportsImportAttributes
24
+ ? `import ${sanitizedIdentifier}Meta from '${importPath}' with { type: 'json' }`
25
+ : `import ${sanitizedIdentifier}Meta from '${importPath}'`;
26
+ })
27
+ .join('\n');
28
+ const metaEntries = sortedNames
29
+ .map((name) => {
30
+ const sanitizedIdentifier = sanitizeTypeName(name);
31
+ return ` '${name}': ${sanitizedIdentifier}Meta,`;
32
+ })
33
+ .join('\n');
34
+ return `import { pikkuState } from '@pikku/core/internal'
35
+ import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph'
36
+
37
+ ${imports}
38
+
39
+ const workflowsMeta = {
40
+ ${metaEntries}
41
+ } as SerializedWorkflowGraphs
42
+
43
+ pikkuState(${pkg}, 'workflows', 'meta', workflowsMeta)`;
45
44
  };
@@ -1,7 +1,7 @@
1
1
  export declare const serializeWorkflowRegistration: (outputPath: string, metaImportPath: string, workflowNames: string[], workflowFiles: Map<string, {
2
2
  path: string;
3
3
  exportedName: string;
4
- }>, graphFiles: Map<string, {
4
+ }>, _graphFiles: Map<string, {
5
5
  path: string;
6
6
  exportedName: string;
7
7
  }>, packageMappings: Record<string, string>, _packageName?: string) => string;
@@ -1,50 +1,23 @@
1
- /**
2
- * Generate workflow runtime registration
3
- * Imports meta (which registers with pikkuState) and registers DSL workflows (addWorkflow) and graph workflows (addWorkflowGraph)
4
- */
5
1
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
6
- export const serializeWorkflowRegistration = (outputPath, metaImportPath, workflowNames, workflowFiles, graphFiles, packageMappings, _packageName) => {
2
+ export const serializeWorkflowRegistration = (outputPath, metaImportPath, workflowNames, workflowFiles, _graphFiles, packageMappings, _packageName) => {
7
3
  const lines = [];
8
4
  const hasWorkflows = workflowNames.length > 0;
9
5
  const hasDslWorkflows = workflowFiles.size > 0;
10
- const hasGraphWorkflows = graphFiles.size > 0;
11
- // Imports
12
- const imports = [];
13
6
  if (hasDslWorkflows) {
14
- imports.push('addWorkflow');
7
+ lines.push(`import { addWorkflow } from '@pikku/core/workflow'`);
15
8
  }
16
- if (hasGraphWorkflows) {
17
- imports.push('addWorkflowGraph');
18
- }
19
- if (imports.length > 0) {
20
- lines.push(`import { ${imports.join(', ')} } from '@pikku/core/workflow'`);
21
- }
22
- // Import meta file (which registers meta with pikkuState)
23
9
  if (hasWorkflows) {
24
10
  lines.push(`import '${metaImportPath}'`);
25
11
  }
26
- // Import DSL workflow functions
27
12
  const sortedWorkflows = Array.from(workflowFiles.entries()).sort((a, b) => a[0].localeCompare(b[0]));
28
13
  for (const [, { path, exportedName }] of sortedWorkflows) {
29
14
  const importPath = getFileImportRelativePath(outputPath, path, packageMappings);
30
15
  lines.push(`import { ${exportedName} } from '${importPath}'`);
31
16
  }
32
- // Import graph workflow definitions
33
- const sortedGraphWorkflows = Array.from(graphFiles.entries()).sort((a, b) => a[0].localeCompare(b[0]));
34
- for (const [, { path, exportedName }] of sortedGraphWorkflows) {
35
- const importPath = getFileImportRelativePath(outputPath, path, packageMappings);
36
- lines.push(`import { ${exportedName} } from '${importPath}'`);
37
- }
38
17
  lines.push('');
39
- // Register DSL workflows
40
- for (const [pikkuFuncName, { exportedName }] of sortedWorkflows) {
41
- lines.push(`addWorkflow('${pikkuFuncName}', ${exportedName})`);
42
- }
43
- // Register graph workflows
44
- for (const [workflowName, { exportedName }] of sortedGraphWorkflows) {
45
- lines.push(`addWorkflowGraph('${workflowName}', ${exportedName})`);
18
+ for (const [pikkuFuncId, { exportedName }] of sortedWorkflows) {
19
+ lines.push(`addWorkflow('${pikkuFuncId}', ${exportedName})`);
46
20
  }
47
- // Export workflow names type
48
21
  if (hasWorkflows) {
49
22
  lines.push('');
50
23
  lines.push(`export type WorkflowNames = '${workflowNames.join("' | '")}'`);
@@ -1,6 +1 @@
1
- /**
2
- * Generate all workflow type helpers for authoring workflows
3
- * Combines DSL helpers (pikkuWorkflowFunc, pikkuWorkflowComplexFunc) and
4
- * graph helpers (pikkuWorkflowGraph) with unified wireWorkflow
5
- */
6
- export declare const serializeWorkflowTypes: (functionTypesImportPath: string, rpcMapImportPath: string) => string;
1
+ export declare const serializeWorkflowTypes: (functionTypesImportPath: string, rpcMapImportPath: string, workflowMapImportPath: string) => string;