@pikku/cli 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) 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-C19L3UJu.js +637 -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 +29 -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 +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -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 +1 -1
  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 +18 -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 +1 -1
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -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 +71 -20
  46. package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
  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 +1 -1
  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 +1 -1
  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 +5 -1
  66. package/dist/.pikku/pikku-services.gen.js +4 -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 +1 -1
  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 +61 -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 +1 -1
  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 +33 -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/PikkuNodesMetaOutput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  100. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  101. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  103. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  104. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  111. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  112. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  113. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  114. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  115. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  116. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  117. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  118. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  119. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  120. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  121. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  123. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  124. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  126. package/dist/bin/pikku.js +20 -47
  127. package/dist/src/cli.wiring.js +29 -2
  128. package/dist/src/functions/commands/all.d.ts +1 -1
  129. package/dist/src/functions/commands/all.js +79 -176
  130. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  131. package/dist/src/functions/commands/bootstrap.js +13 -22
  132. package/dist/src/functions/commands/console.d.ts +7 -0
  133. package/dist/src/functions/commands/console.js +106 -0
  134. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  135. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  136. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  137. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  138. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  139. package/dist/src/functions/commands/versions-check.js +17 -0
  140. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  141. package/dist/src/functions/commands/versions-init.js +15 -0
  142. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  143. package/dist/src/functions/commands/versions-update.js +20 -0
  144. package/dist/src/functions/commands/watch.d.ts +1 -1
  145. package/dist/src/functions/commands/watch.js +4 -5
  146. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  147. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  148. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  149. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  150. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  151. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +8 -16
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  153. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  154. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  155. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  156. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  157. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  158. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  159. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  160. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  161. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  162. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  163. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  164. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  165. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  166. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  167. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  168. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  169. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  171. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  172. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  173. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  174. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  175. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  176. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  177. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  178. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  179. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  180. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  181. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  183. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  184. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  185. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  186. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  187. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  188. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  189. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  190. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  191. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  192. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  193. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  194. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  195. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  196. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  197. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  198. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  199. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  200. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  201. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  202. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  203. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  204. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +5 -5
  205. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  206. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  207. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  208. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  209. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  210. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  211. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  212. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  213. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -2
  214. package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
  215. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  216. package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
  217. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  218. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  219. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  220. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  221. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  222. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  223. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  224. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  225. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  226. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  227. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  228. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  229. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  230. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  231. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  232. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  233. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  234. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  236. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  237. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +13 -4
  238. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  239. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  240. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  241. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  242. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  243. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  244. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  245. package/dist/src/functions/wirings/package/pikku-command-package.js +3 -3
  246. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  247. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  248. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  249. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  250. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  251. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  252. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  253. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  254. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  255. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  256. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  257. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  258. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  259. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  260. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  261. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  262. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  263. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  264. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  265. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  266. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  267. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  268. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  269. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  270. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  271. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  272. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  273. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  274. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  275. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  276. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  277. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  278. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  279. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  280. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  281. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +85 -60
  282. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  284. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  285. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  286. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  287. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  288. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  289. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  290. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  291. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  292. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  293. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  294. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  295. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  296. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  297. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  298. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  299. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  300. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  301. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  302. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  303. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  304. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  305. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  306. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +6 -35
  307. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
  308. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  309. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  310. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  311. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  312. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  313. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  314. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  315. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  316. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  317. package/dist/src/services/cli-logger.service.d.ts +1 -1
  318. package/dist/src/services/cli-logger.service.js +1 -1
  319. package/dist/src/services.d.ts +1 -1
  320. package/dist/src/services.js +53 -6
  321. package/dist/src/utils/command-summary.d.ts +2 -1
  322. package/dist/src/utils/command-summary.js +2 -1
  323. package/dist/src/utils/contract-versions.d.ts +6 -0
  324. package/dist/src/utils/contract-versions.js +25 -0
  325. package/dist/src/utils/file-import-path.js +20 -6
  326. package/dist/src/utils/pikku-cli-config.js +77 -14
  327. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  328. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  329. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  330. package/dist/src/utils/serialize-import-map.js +3 -54
  331. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  332. package/dist/src/utils/serialize-meta-ts.js +12 -0
  333. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  334. package/dist/src/utils/serialize-schemas.js +38 -0
  335. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  336. package/dist/src/utils/strip-verbose-meta.js +15 -15
  337. package/dist/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +19 -10
  339. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  340. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  341. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  342. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  343. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  344. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  345. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  346. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  347. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  348. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  349. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  350. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  351. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  352. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  353. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  354. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  355. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  356. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  357. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  358. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  359. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  360. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  361. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  362. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  363. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  364. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  365. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  366. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  367. package/.pikku/pikku-services.gen.ts +0 -28
  368. package/.pikku/pikku-types.gen.ts +0 -30
  369. package/.pikku/pikku-websocket.gen.ts +0 -90
  370. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  371. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  372. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  373. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  374. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  375. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  376. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  377. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  378. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  379. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  380. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  381. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  382. package/.pikku/schemas/register.gen.ts +0 -71
  383. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  388. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  389. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  390. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  391. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  392. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  393. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  394. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  395. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  396. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  397. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  398. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  399. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  400. package/.pikku/services/config.gen.json +0 -104
  401. package/.pikku/services/getInspectorState.gen.json +0 -10
  402. package/.pikku/services/jwt.gen.json +0 -13
  403. package/.pikku/services/logger.gen.json +0 -25
  404. package/.pikku/services/queueService.gen.json +0 -14
  405. package/.pikku/services/schedulerService.gen.json +0 -17
  406. package/.pikku/services/schema.gen.json +0 -14
  407. package/.pikku/services/secrets.gen.json +0 -13
  408. package/.pikku/services/variables.gen.json +0 -13
  409. package/.pikku/services/workflowService.gen.json +0 -31
  410. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  411. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  412. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  413. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  414. package/CHANGELOG.md +0 -957
  415. package/bin/pikku.ts +0 -88
  416. package/build.sh +0 -75
  417. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  418. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  419. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  420. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  421. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  422. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  423. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  424. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  425. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  426. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  427. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  428. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  429. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  430. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  431. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  432. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  433. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  434. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  435. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  436. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  437. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  438. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  439. package/dist/src/utils/custom-types-generator.js +0 -41
  440. package/dist/src/utils/schema-generator.d.ts +0 -7
  441. package/dist/src/utils/schema-generator.js +0 -238
  442. package/pikku.config.json +0 -29
  443. package/run-tests.sh +0 -53
  444. package/src/cli.wiring.ts +0 -112
  445. package/src/functions/commands/all.ts +0 -313
  446. package/src/functions/commands/bootstrap.ts +0 -35
  447. package/src/functions/commands/watch.ts +0 -61
  448. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  449. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  450. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  451. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  452. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  453. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  454. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  455. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  456. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  457. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  458. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  459. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  460. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  461. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  462. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  463. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  464. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  465. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  466. package/src/functions/wirings/fetch/index.ts +0 -36
  467. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  468. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  469. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  470. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  471. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  472. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  473. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  474. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  475. package/src/functions/wirings/functions/schemas.ts +0 -56
  476. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  477. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  478. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  479. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  480. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  481. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  482. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  483. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  484. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  485. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  486. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  487. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  488. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  489. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  490. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  491. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  492. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  493. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  494. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  495. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  496. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  497. package/src/functions/wirings/package/serialize-package.ts +0 -69
  498. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  499. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  500. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  501. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  502. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  503. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  504. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  505. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  506. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  507. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  508. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  509. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  510. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  511. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  512. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  513. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  514. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  515. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  516. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  517. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  518. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  519. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  520. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  521. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  522. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  523. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  524. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  525. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  526. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  527. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  528. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  529. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  530. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  531. package/src/middleware/log-command-info-and-time.ts +0 -35
  532. package/src/services/cli-logger-forwarder.service.ts +0 -99
  533. package/src/services/cli-logger.service.ts +0 -108
  534. package/src/services.ts +0 -322
  535. package/src/utils/check-required-types.ts +0 -65
  536. package/src/utils/command-summary.ts +0 -107
  537. package/src/utils/custom-types-generator.ts +0 -55
  538. package/src/utils/file-import-path.test.ts +0 -175
  539. package/src/utils/file-import-path.ts +0 -53
  540. package/src/utils/file-imports-serializer.ts +0 -25
  541. package/src/utils/file-writer.ts +0 -72
  542. package/src/utils/generate-bootstrap-file.ts +0 -43
  543. package/src/utils/get-cli-version.ts +0 -28
  544. package/src/utils/pikku-cli-config.ts +0 -495
  545. package/src/utils/pikku-files-and-methods.ts +0 -145
  546. package/src/utils/schema-generator.ts +0 -335
  547. package/src/utils/serialize-import-map.ts +0 -102
  548. package/src/utils/strip-verbose-meta.ts +0 -254
  549. package/tsconfig.json +0 -21
  550. package/types/application-types.d.ts +0 -27
  551. package/types/config.d.ts +0 -304
  552. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  553. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,194 +0,0 @@
1
- import { serializeImportMap } from '../../../utils/serialize-import-map.js'
2
- import { TypesMap } from '@pikku/inspector'
3
- import { FunctionsMeta } from '@pikku/core'
4
- import { generateCustomTypes } from '../../../utils/custom-types-generator.js'
5
-
6
- export const serializeTypedRPCMap = (
7
- relativeToPath: string,
8
- packageMappings: Record<string, string>,
9
- typesMap: TypesMap,
10
- functionsMeta: FunctionsMeta,
11
- rpcMeta: Record<string, string>,
12
- externalPackages?: Record<string, string>
13
- ) => {
14
- const requiredTypes = new Set<string>()
15
- const serializedCustomTypes = generateCustomTypes(typesMap, requiredTypes)
16
- const serializedRPCs = generateRPCs(
17
- rpcMeta,
18
- functionsMeta,
19
- typesMap,
20
- requiredTypes
21
- )
22
-
23
- const serializedImportMap = serializeImportMap(
24
- relativeToPath,
25
- packageMappings,
26
- typesMap,
27
- requiredTypes
28
- )
29
-
30
- const externalPackageImports = generateExternalPackageImports(
31
- externalPackages,
32
- relativeToPath
33
- )
34
-
35
- const mergedRPCMap = generateMergedRPCMap(externalPackages)
36
-
37
- return `/**
38
- * This provides the structure needed for typescript to be aware of RPCs and their return types
39
- */
40
-
41
- ${serializedImportMap}
42
- ${serializedCustomTypes}
43
-
44
- interface RPCHandler<I, O> {
45
- input: I;
46
- output: O;
47
- }
48
-
49
- ${serializedRPCs}
50
- ${externalPackageImports}
51
- ${mergedRPCMap}
52
-
53
- export type RPCInvoke = <Name extends keyof FlattenedRPCMap>(
54
- name: Name,
55
- data: FlattenedRPCMap[Name]['input'],
56
- options?: {
57
- location?: 'local' | 'remote' | 'auto'
58
- }
59
- ) => Promise<FlattenedRPCMap[Name]['output']>
60
-
61
- // Import WorkflowMap for workflow typing
62
- import type { WorkflowMap } from '../workflow/pikku-workflow-map.gen.js'
63
-
64
- export type TypedPikkuRPC = {
65
- depth: number;
66
- global: boolean;
67
- invoke: RPCInvoke;
68
- invokeExposed: (name: string, data: any) => Promise<any>;
69
- startWorkflow: <Name extends keyof WorkflowMap>(
70
- name: Name,
71
- input: WorkflowMap[Name]['input']
72
- ) => Promise<{ runId: string }>;
73
- }
74
- `
75
- }
76
-
77
- function generateExternalPackageImports(
78
- externalPackages: Record<string, string> | undefined,
79
- relativeToPath: string
80
- ): string {
81
- if (!externalPackages || Object.keys(externalPackages).length === 0) {
82
- return ''
83
- }
84
-
85
- let imports = '\n// External package RPC maps\n'
86
- for (const [namespace, packageName] of Object.entries(externalPackages)) {
87
- // Import the RPCMap from each external package's internal RPC map
88
- // Use .js extension - package.json exports will resolve to .d.ts for types
89
- imports += `import type { RPCMap as ${toPascalCase(namespace)}RPCMap } from '${packageName}/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.js'\n`
90
- }
91
- return imports
92
- }
93
-
94
- function generateMergedRPCMap(
95
- externalPackages: Record<string, string> | undefined
96
- ): string {
97
- if (!externalPackages || Object.keys(externalPackages).length === 0) {
98
- return `
99
- // No external packages, use RPCMap directly
100
- export type FlattenedRPCMap = RPCMap
101
- `
102
- }
103
-
104
- // TypeScript utility to flatten namespaced RPC maps
105
- const utilityTypes = `
106
- // Utility type to prefix keys with namespace
107
- type PrefixKeys<T, Prefix extends string> = {
108
- [K in keyof T as \`\${Prefix}:\${string & K}\`]: T[K]
109
- }
110
-
111
- // Merge all RPC maps with namespace prefixes
112
- export type FlattenedRPCMap =
113
- RPCMap${Object.keys(externalPackages)
114
- .map(
115
- (namespace) =>
116
- ` & PrefixKeys<${toPascalCase(namespace)}RPCMap, '${namespace}'>`
117
- )
118
- .join('')}
119
- `
120
-
121
- return utilityTypes
122
- }
123
-
124
- function toPascalCase(str: string): string {
125
- return str
126
- .split(/[-_]/)
127
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
128
- .join('')
129
- }
130
-
131
- function generateRPCs(
132
- rpcMeta: Record<string, string>,
133
- functionsMeta: FunctionsMeta,
134
- typesMap: TypesMap,
135
- requiredTypes: Set<string>
136
- ) {
137
- // Initialize an object to collect RPCs
138
- const rpcsObj: Record<string, { inputType: string; outputType: string }> = {}
139
-
140
- // Iterate through RPC metadata
141
- for (const [funcName, pikkuFuncName] of Object.entries(rpcMeta)) {
142
- const functionMeta = functionsMeta[pikkuFuncName]
143
- if (!functionMeta) {
144
- throw new Error(
145
- `Function ${funcName} not found in functionsMeta. Please check your configuration.`
146
- )
147
- }
148
-
149
- const input = functionMeta.inputs ? functionMeta.inputs[0] : undefined
150
- const output = functionMeta.outputs ? functionMeta.outputs[0] : undefined
151
-
152
- // Store the input and output types for RPCHandler
153
- // For zod-derived schemas, the type might not be in typesMap, so use the schema name directly
154
- let inputType = 'null'
155
- if (input) {
156
- try {
157
- inputType = typesMap.getTypeMeta(input).uniqueName
158
- } catch {
159
- // Type not in typesMap - use the name directly (e.g., zod-derived types)
160
- inputType = input
161
- }
162
- }
163
-
164
- let outputType = 'null'
165
- if (output) {
166
- try {
167
- outputType = typesMap.getTypeMeta(output).uniqueName
168
- } catch {
169
- // Type not in typesMap - use the name directly (e.g., zod-derived types)
170
- outputType = output
171
- }
172
- }
173
-
174
- requiredTypes.add(inputType)
175
- requiredTypes.add(outputType)
176
-
177
- // Add RPC entry
178
- rpcsObj[funcName] = {
179
- inputType,
180
- outputType,
181
- }
182
- }
183
-
184
- // Build the RPCs object as a string
185
- let rpcsStr = 'export type RPCMap = {\n'
186
-
187
- for (const [funcName, handler] of Object.entries(rpcsObj)) {
188
- rpcsStr += ` readonly '${funcName}': RPCHandler<${handler.inputType}, ${handler.outputType}>,\n`
189
- }
190
-
191
- rpcsStr += '};\n'
192
-
193
- return rpcsStr
194
- }
@@ -1,25 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializeSchedulerTypes } from './serialize-scheduler-types.js'
6
-
7
- export const pikkuSchedulerTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const { schedulersTypesFile, functionTypesFile, packageMappings } = config
10
-
11
- const functionTypesImportPath = getFileImportRelativePath(
12
- schedulersTypesFile,
13
- functionTypesFile,
14
- packageMappings
15
- )
16
- const content = serializeSchedulerTypes(functionTypesImportPath)
17
- await writeFileInDir(logger, schedulersTypesFile, content)
18
- },
19
- middleware: [
20
- logCommandInfoAndTime({
21
- commandStart: 'Creating cheduler types',
22
- commandEnd: 'Created scheduler types',
23
- }),
24
- ],
25
- })
@@ -1,88 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import {
6
- serializeSchedulerMeta,
7
- serializeSchedulerMetaTS,
8
- } from './serialize-scheduler-meta.js'
9
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
10
- import {
11
- stripVerboseFields,
12
- hasVerboseFields,
13
- } from '../../../utils/strip-verbose-meta.js'
14
-
15
- export const pikkuScheduler: any = pikkuSessionlessFunc<
16
- void,
17
- boolean | undefined
18
- >({
19
- func: async ({ logger, config, getInspectorState }) => {
20
- const visitState = await getInspectorState()
21
- const {
22
- schedulersWiringFile,
23
- schedulersWiringMetaFile,
24
- schedulersWiringMetaJsonFile,
25
- packageMappings,
26
- schema,
27
- } = config
28
- const { scheduledTasks } = visitState
29
-
30
- const fullMeta = serializeSchedulerMeta(scheduledTasks.meta)
31
-
32
- // Write minimal JSON (runtime-only fields)
33
- const minimalMeta = stripVerboseFields(fullMeta)
34
- await writeFileInDir(
35
- logger,
36
- schedulersWiringMetaJsonFile,
37
- JSON.stringify(minimalMeta, null, 2)
38
- )
39
-
40
- // Write verbose JSON only if it has additional fields
41
- if (hasVerboseFields(fullMeta)) {
42
- const verbosePath = schedulersWiringMetaJsonFile.replace(
43
- /\.gen\.json$/,
44
- '-verbose.gen.json'
45
- )
46
- await writeFileInDir(
47
- logger,
48
- verbosePath,
49
- JSON.stringify(fullMeta, null, 2)
50
- )
51
- }
52
-
53
- const jsonImportPath = getFileImportRelativePath(
54
- schedulersWiringMetaFile,
55
- schedulersWiringMetaJsonFile,
56
- packageMappings
57
- )
58
-
59
- await writeFileInDir(
60
- logger,
61
- schedulersWiringMetaFile,
62
- serializeSchedulerMetaTS(
63
- scheduledTasks.meta,
64
- jsonImportPath,
65
- schema?.supportsImportAttributes ?? false
66
- )
67
- )
68
-
69
- await writeFileInDir(
70
- logger,
71
- schedulersWiringFile,
72
- serializeFileImports(
73
- 'addScheduledTasks',
74
- schedulersWiringFile,
75
- scheduledTasks.files,
76
- packageMappings
77
- )
78
- )
79
-
80
- return true
81
- },
82
- middleware: [
83
- logCommandInfoAndTime({
84
- commandStart: 'Finding Scheduled tasks',
85
- commandEnd: 'Found Scheduled tasks',
86
- }),
87
- ],
88
- })
@@ -1,37 +0,0 @@
1
- import { ScheduledTasksMeta } from '@pikku/core/scheduler'
2
-
3
- export const serializeSchedulerMeta = (
4
- scheduledTasksMeta: ScheduledTasksMeta
5
- ) => {
6
- return scheduledTasksMeta
7
- }
8
-
9
- export const serializeSchedulerMetaTS = (
10
- scheduledTasksMeta: ScheduledTasksMeta,
11
- jsonImportPath: string,
12
- supportsImportAttributes
13
- ) => {
14
- const importStatement = supportsImportAttributes
15
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
16
- : `import metaData from '${jsonImportPath}'`
17
-
18
- const serializedOutput: string[] = []
19
- serializedOutput.push("import { pikkuState } from '@pikku/core'")
20
- serializedOutput.push(
21
- "import { ScheduledTasksMeta } from '@pikku/core/scheduler'"
22
- )
23
- serializedOutput.push(importStatement)
24
- serializedOutput.push('')
25
- serializedOutput.push(
26
- "pikkuState(null, 'scheduler', 'meta', metaData as ScheduledTasksMeta)"
27
- )
28
- serializedOutput.push('')
29
-
30
- const scheduledTasksMetaValues = Object.values(scheduledTasksMeta)
31
- if (scheduledTasksMetaValues.length > 0) {
32
- serializedOutput.push(
33
- `export type ScheduledTaskNames = '${scheduledTasksMetaValues.map((s) => s.name).join("' | '")}'`
34
- )
35
- }
36
- return serializedOutput.join('\n')
37
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Generates type definitions for scheduler wirings
3
- */
4
- export const serializeSchedulerTypes = (functionTypesImportPath: string) => {
5
- return `/**
6
- * Scheduler-specific type definitions for tree-shaking optimization
7
- */
8
-
9
- import { CoreScheduledTask, wireScheduler as wireSchedulerCore } from '@pikku/core/scheduler'
10
- import type { PikkuFunctionConfig, PikkuMiddleware } from '${functionTypesImportPath}'
11
-
12
- /**
13
- * Type definition for scheduled tasks that run at specified intervals.
14
- * These are sessionless functions that execute based on cron expressions.
15
- */
16
- type SchedulerWiring = CoreScheduledTask<PikkuFunctionConfig<void, void, 'session' | 'rpc'>, PikkuMiddleware>
17
-
18
- /**
19
- * Registers a scheduled task with the Pikku framework.
20
- * Tasks run based on cron expressions and are sessionless.
21
- *
22
- * @param task - Scheduled task definition with cron expression and handler
23
- */
24
- export const wireScheduler = (task: SchedulerWiring) => {
25
- wireSchedulerCore(task as any) // TODO
26
- }
27
- `
28
- }
@@ -1,25 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
3
- import { writeAllServiceMetadata } from '@pikku/inspector'
4
-
5
- export const pikkuServiceMetadata: any = pikkuSessionlessFunc<void, void>({
6
- func: async ({ logger, config, getInspectorState }) => {
7
- const state = await getInspectorState()
8
-
9
- // Only write service metadata if there are services to document
10
- if (state.serviceMetadata && state.serviceMetadata.length > 0) {
11
- writeAllServiceMetadata(state.serviceMetadata, config.outDir)
12
- logger.debug(
13
- `• Wrote ${state.serviceMetadata.length} service metadata files`
14
- )
15
- } else {
16
- logger.debug('• No service metadata to write')
17
- }
18
- },
19
- middleware: [
20
- logCommandInfoAndTime({
21
- commandStart: 'Generating service metadata',
22
- commandEnd: 'Generated service metadata',
23
- }),
24
- ],
25
- })
@@ -1,218 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { convertDslToGraph, ErrorCode } from '@pikku/inspector'
3
- import type { WorkflowsMeta } from '@pikku/core/workflow'
4
- import { writeFileInDir } from '../../../utils/file-writer.js'
5
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
6
- import { serializeWorkflowTypes } from './serialize-workflow-types.js'
7
- import { serializeWorkflowRegistration } from './serialize-workflow-registration.js'
8
- import { serializeWorkflowMap } from './serialize-workflow-map.js'
9
- import { serializeWorkflowMeta } from './serialize-workflow-meta.js'
10
- import { serializeWorkflowWorkers } from './serialize-workflow-workers.js'
11
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
12
- import {
13
- stripVerboseFields,
14
- hasVerboseFields,
15
- } from '../../../utils/strip-verbose-meta.js'
16
- import { join } from 'path'
17
-
18
- export const pikkuWorkflow: any = pikkuSessionlessFunc<
19
- void,
20
- boolean | undefined
21
- >({
22
- func: async ({ logger, config, getInspectorState }) => {
23
- const visitState = await getInspectorState()
24
- const {
25
- workflowsWiringFile,
26
- workflowsWiringMetaFile,
27
- workflowMetaDir,
28
- workflowMapDeclarationFile,
29
- workflowTypesFile,
30
- functionTypesFile,
31
- typesDeclarationFile,
32
- packageMappings,
33
- schema,
34
- } = config
35
- const { workflows, functions: functionState } = visitState
36
- const { typesMap } = functionState
37
-
38
- // Get all workflow names (both DSL and graph-based)
39
- const dslWorkflowNames = Object.keys(workflows.meta)
40
- const graphWorkflowNames = Object.keys(workflows.graphMeta)
41
- const allWorkflowNames = [
42
- ...new Set([...dslWorkflowNames, ...graphWorkflowNames]),
43
- ]
44
-
45
- const hasWorkflows = allWorkflowNames.length > 0
46
-
47
- // Validate that workflowService is configured if workflows are defined
48
- if (hasWorkflows) {
49
- const hasWorkflowState =
50
- visitState.serviceAggregation.allSingletonServices.includes(
51
- 'workflowService'
52
- )
53
- if (!hasWorkflowState) {
54
- logger.critical(
55
- ErrorCode.WORKFLOW_ORCHESTRATOR_NOT_CONFIGURED,
56
- 'Workflows detected but workflowService service not configured. Please add workflowService to your singleton services'
57
- )
58
- throw new Error(
59
- 'WorkflowState service not configured but workflows are defined'
60
- )
61
- }
62
- }
63
-
64
- // Generate individual JSON files for each workflow (convert DSL to graph format)
65
- if (hasWorkflows && workflowMetaDir) {
66
- // Write individual JSON files for DSL workflows
67
- const dslMeta = workflows.meta as WorkflowsMeta
68
- for (const [name, meta] of Object.entries(dslMeta)) {
69
- const graphMeta = convertDslToGraph(name, meta)
70
-
71
- // Write minimal version (runtime-only fields)
72
- const minimalMeta = stripVerboseFields(graphMeta)
73
- const minimalPath = join(workflowMetaDir, `${name}.gen.json`)
74
- await writeFileInDir(
75
- logger,
76
- minimalPath,
77
- JSON.stringify(minimalMeta, null, 2),
78
- { ignoreModifyComment: true }
79
- )
80
-
81
- // Write verbose version only if it has additional fields
82
- if (hasVerboseFields(graphMeta)) {
83
- const verbosePath = join(workflowMetaDir, `${name}-verbose.gen.json`)
84
- await writeFileInDir(
85
- logger,
86
- verbosePath,
87
- JSON.stringify(graphMeta, null, 2),
88
- { ignoreModifyComment: true }
89
- )
90
- }
91
- }
92
-
93
- // Write individual JSON files for graph workflows
94
- for (const [name, graphMeta] of Object.entries(workflows.graphMeta)) {
95
- // Write minimal version (runtime-only fields)
96
- const minimalMeta = stripVerboseFields(graphMeta)
97
- const minimalPath = join(workflowMetaDir, `${name}.gen.json`)
98
- await writeFileInDir(
99
- logger,
100
- minimalPath,
101
- JSON.stringify(minimalMeta, null, 2),
102
- { ignoreModifyComment: true }
103
- )
104
-
105
- // Write verbose version only if it has additional fields
106
- if (hasVerboseFields(graphMeta)) {
107
- const verbosePath = join(workflowMetaDir, `${name}-verbose.gen.json`)
108
- await writeFileInDir(
109
- logger,
110
- verbosePath,
111
- JSON.stringify(graphMeta, null, 2),
112
- { ignoreModifyComment: true }
113
- )
114
- }
115
- }
116
- }
117
-
118
- // Generate workflow meta aggregation file
119
- if (workflowsWiringMetaFile && workflowMetaDir) {
120
- await writeFileInDir(
121
- logger,
122
- workflowsWiringMetaFile,
123
- serializeWorkflowMeta(
124
- workflowsWiringMetaFile,
125
- workflowMetaDir,
126
- allWorkflowNames,
127
- packageMappings,
128
- schema?.supportsImportAttributes ?? false,
129
- config.externalPackageName
130
- )
131
- )
132
- }
133
-
134
- // Generate workflow registration (meta + DSL workflow registrations)
135
- const metaImportPath = getFileImportRelativePath(
136
- workflowsWiringFile,
137
- workflowsWiringMetaFile,
138
- packageMappings
139
- )
140
-
141
- await writeFileInDir(
142
- logger,
143
- workflowsWiringFile,
144
- serializeWorkflowRegistration(
145
- workflowsWiringFile,
146
- metaImportPath,
147
- allWorkflowNames,
148
- workflows.files,
149
- workflows.graphFiles,
150
- packageMappings,
151
- config.externalPackageName
152
- )
153
- )
154
-
155
- // Generate workflow types (DSL + graph helpers in one file)
156
- const functionTypesImportPath = getFileImportRelativePath(
157
- workflowTypesFile,
158
- functionTypesFile,
159
- packageMappings
160
- )
161
- const rpcMapImportPath = getFileImportRelativePath(
162
- workflowTypesFile,
163
- config.rpcInternalMapDeclarationFile,
164
- packageMappings
165
- )
166
-
167
- await writeFileInDir(
168
- logger,
169
- workflowTypesFile,
170
- serializeWorkflowTypes(functionTypesImportPath, rpcMapImportPath)
171
- )
172
-
173
- // Generate workflow map (I/O types for type-safe client)
174
- // Always generate even if empty - RPC map imports WorkflowMap
175
- await writeFileInDir(
176
- logger,
177
- workflowMapDeclarationFile,
178
- serializeWorkflowMap(
179
- workflowMapDeclarationFile,
180
- packageMappings,
181
- typesMap,
182
- functionState.meta,
183
- workflows.meta
184
- )
185
- )
186
-
187
- // Generate workflow workers if configured
188
- if (config.workflows) {
189
- if (config.workflows.singleQueue) {
190
- const workflowPath = join(config.rootDir, config.workflows.path)
191
- const pathToPikkuTypes = getFileImportRelativePath(
192
- workflowPath,
193
- typesDeclarationFile,
194
- packageMappings
195
- )
196
- await writeFileInDir(
197
- logger,
198
- workflowPath,
199
- serializeWorkflowWorkers(pathToPikkuTypes)
200
- )
201
- } else if (workflows.files.size > 0) {
202
- logger.critical(
203
- ErrorCode.WORKFLOW_MULTI_QUEUE_NOT_SUPPORTED,
204
- 'Multi-queue workflows are not supported when workflows.singleQueue is false. Please enable singleQueue in your configuration.'
205
- )
206
- return false
207
- }
208
- }
209
-
210
- return hasWorkflows
211
- },
212
- middleware: [
213
- logCommandInfoAndTime({
214
- commandStart: 'Generating Workflows',
215
- commandEnd: 'Generated Workflows',
216
- }),
217
- ],
218
- })