@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
@@ -22,7 +22,7 @@ type SchedulerWiring = CoreScheduledTask<PikkuFunctionConfig<void, void, 'sessio
22
22
  * @param task - Scheduled task definition with cron expression and handler
23
23
  */
24
24
  export const wireScheduler = (task: SchedulerWiring) => {
25
- wireSchedulerCore(task as any) // TODO
25
+ wireSchedulerCore(task as any)
26
26
  }
27
27
  `;
28
28
  };
@@ -0,0 +1 @@
1
+ export declare const pikkuSecrets: 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 { serializeSecretsTypes } from './serialize-secrets-types.js';
5
+ import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
6
+ export const pikkuSecrets = pikkuSessionlessFunc({
7
+ func: async ({ logger, config, getInspectorState }) => {
8
+ const { secretsFile, secretsMetaJsonFile, packageMappings } = config;
9
+ if (!secretsFile) {
10
+ return;
11
+ }
12
+ const state = await getInspectorState();
13
+ const content = serializeSecretsTypes({
14
+ definitions: state.secrets.definitions,
15
+ schemaLookup: state.schemaLookup,
16
+ secretsFile,
17
+ packageMappings,
18
+ });
19
+ await writeFileInDir(logger, secretsFile, content);
20
+ if (secretsMetaJsonFile) {
21
+ const meta = validateAndBuildSecretDefinitionsMeta(state.secrets.definitions, state.schemaLookup);
22
+ await writeFileInDir(logger, secretsMetaJsonFile, JSON.stringify(meta, null, 2));
23
+ }
24
+ },
25
+ middleware: [
26
+ logCommandInfoAndTime({
27
+ commandStart: 'Creating PikkuSecrets types',
28
+ commandEnd: 'Created PikkuSecrets types',
29
+ }),
30
+ ],
31
+ });
@@ -0,0 +1,9 @@
1
+ import { SecretDefinitions } from '@pikku/core/secret';
2
+ import { SchemaRef } from '@pikku/inspector';
3
+ export interface SerializeSecretsOptions {
4
+ definitions: SecretDefinitions;
5
+ schemaLookup: Map<string, SchemaRef>;
6
+ secretsFile: string;
7
+ packageMappings: Record<string, string>;
8
+ }
9
+ export declare const serializeSecretsTypes: ({ definitions, schemaLookup, secretsFile, packageMappings, }: SerializeSecretsOptions) => string;
@@ -0,0 +1,64 @@
1
+ import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
2
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
3
+ export const serializeSecretsTypes = ({ definitions, schemaLookup, secretsFile, packageMappings, }) => {
4
+ const secrets = validateAndBuildSecretDefinitionsMeta(definitions, schemaLookup);
5
+ const credentialEntries = Object.entries(secrets);
6
+ const schemaImports = new Map();
7
+ let needsOAuth2Types = false;
8
+ let needsZod = false;
9
+ const mapEntries = [];
10
+ const metaEntries = [];
11
+ for (const [name, meta] of credentialEntries) {
12
+ if (meta.oauth2) {
13
+ needsOAuth2Types = true;
14
+ mapEntries.push(` '${meta.secretId}': OAuth2AppCredential`);
15
+ mapEntries.push(` '${meta.oauth2.tokenSecretId}': OAuth2Token`);
16
+ metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: '${meta.displayName}', oauth2: { tokenSecretId: '${meta.oauth2.tokenSecretId}' } }`);
17
+ metaEntries.push(` '${meta.oauth2.tokenSecretId}': { name: '${name}_tokens', displayName: '${meta.displayName} Tokens' }`);
18
+ }
19
+ else if (meta.schema && typeof meta.schema === 'string') {
20
+ const schemaRef = schemaLookup.get(meta.schema);
21
+ if (schemaRef) {
22
+ needsZod = true;
23
+ if (!schemaImports.has(schemaRef.sourceFile)) {
24
+ schemaImports.set(schemaRef.sourceFile, new Set());
25
+ }
26
+ schemaImports.get(schemaRef.sourceFile).add(schemaRef.variableName);
27
+ mapEntries.push(` '${meta.secretId}': z.infer<typeof ${schemaRef.variableName}>`);
28
+ metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: '${meta.displayName}' }`);
29
+ }
30
+ }
31
+ }
32
+ const imports = [];
33
+ imports.push(`import { TypedSecretService as CoreTypedSecretService, type CredentialMeta } from '@pikku/core/services'`);
34
+ imports.push(`import type { SecretService } from '@pikku/core/services'`);
35
+ if (needsZod) {
36
+ imports.push(`import type { z } from 'zod'`);
37
+ }
38
+ if (needsOAuth2Types) {
39
+ imports.push(`import type { OAuth2AppCredential, OAuth2Token } from '@pikku/core/oauth2'`);
40
+ }
41
+ for (const [sourceFile, variableNames] of schemaImports) {
42
+ const importPath = getFileImportRelativePath(secretsFile, sourceFile, packageMappings);
43
+ const vars = Array.from(variableNames).join(', ');
44
+ imports.push(`import { ${vars} } from '${importPath}'`);
45
+ }
46
+ return `${imports.join('\n')}
47
+
48
+ export interface CredentialsMap {
49
+ ${mapEntries.join('\n')}
50
+ }
51
+
52
+ export type SecretId = keyof CredentialsMap
53
+
54
+ const CREDENTIALS_META: Record<string, CredentialMeta> = {
55
+ ${metaEntries.join(',\n')}
56
+ }
57
+
58
+ export class TypedSecretService extends CoreTypedSecretService<CredentialsMap> {
59
+ constructor(secrets: SecretService) {
60
+ super(secrets, CREDENTIALS_META)
61
+ }
62
+ }
63
+ `;
64
+ };
@@ -0,0 +1 @@
1
+ export declare const pikkuTriggerTypes: 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,24 @@
1
+ import { pikkuSessionlessFunc } from '#pikku';
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 { serializeTriggerTypes } from './serialize-trigger-types.js';
6
+ export const pikkuTriggerTypes = pikkuSessionlessFunc({
7
+ func: async ({ logger, config, getInspectorState }) => {
8
+ const { triggersTypesFile, packageMappings } = config;
9
+ const visitState = await getInspectorState();
10
+ const { singletonServicesType } = visitState.filesAndMethods;
11
+ if (!singletonServicesType) {
12
+ throw new Error('SingletonServices type not found');
13
+ }
14
+ const singletonServicesTypeImport = `import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(triggersTypesFile, singletonServicesType.typePath, packageMappings)}'`;
15
+ const content = serializeTriggerTypes(singletonServicesTypeImport, singletonServicesType.type);
16
+ await writeFileInDir(logger, triggersTypesFile, content);
17
+ },
18
+ middleware: [
19
+ logCommandInfoAndTime({
20
+ commandStart: 'Creating trigger types',
21
+ commandEnd: 'Created trigger types',
22
+ }),
23
+ ],
24
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuTrigger: 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>;
@@ -0,0 +1,40 @@
1
+ import { pikkuSessionlessFunc } from '#pikku';
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 { serializeTriggerMeta, serializeTriggerMetaTS, serializeTriggerSourceMeta, serializeTriggerSourceMetaTS, } from './serialize-trigger-meta.js';
6
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
7
+ import { stripVerboseFields, hasVerboseFields, } from '../../../utils/strip-verbose-meta.js';
8
+ export const pikkuTrigger = pikkuSessionlessFunc({
9
+ func: async ({ logger, config, getInspectorState }) => {
10
+ const visitState = await getInspectorState();
11
+ const { triggersWiringFile, triggersWiringMetaFile, triggersWiringMetaJsonFile, triggerSourcesMetaFile, triggerSourcesMetaJsonFile, packageMappings, schema, } = config;
12
+ const { triggers } = visitState;
13
+ if (Object.keys(triggers.meta).length === 0) {
14
+ return undefined;
15
+ }
16
+ const fullMeta = serializeTriggerMeta(triggers.meta);
17
+ // Write minimal JSON (runtime-only fields)
18
+ const minimalMeta = stripVerboseFields(fullMeta);
19
+ await writeFileInDir(logger, triggersWiringMetaJsonFile, JSON.stringify(minimalMeta, null, 2));
20
+ // Write verbose JSON only if it has additional fields
21
+ if (hasVerboseFields(fullMeta)) {
22
+ const verbosePath = triggersWiringMetaJsonFile.replace(/\.gen\.json$/, '-verbose.gen.json');
23
+ await writeFileInDir(logger, verbosePath, JSON.stringify(fullMeta, null, 2));
24
+ }
25
+ const jsonImportPath = getFileImportRelativePath(triggersWiringMetaFile, triggersWiringMetaJsonFile, packageMappings);
26
+ await writeFileInDir(logger, triggersWiringMetaFile, serializeTriggerMetaTS(triggers.meta, jsonImportPath, schema?.supportsImportAttributes ?? false));
27
+ await writeFileInDir(logger, triggersWiringFile, serializeFileImports('wireTrigger', triggersWiringFile, triggers.files, packageMappings));
28
+ const sourceMetaJson = serializeTriggerSourceMeta(triggers.sourceMeta);
29
+ await writeFileInDir(logger, triggerSourcesMetaJsonFile, JSON.stringify(sourceMetaJson, null, 2));
30
+ const sourceMetaJsonImportPath = getFileImportRelativePath(triggerSourcesMetaFile, triggerSourcesMetaJsonFile, packageMappings);
31
+ await writeFileInDir(logger, triggerSourcesMetaFile, serializeTriggerSourceMetaTS(triggers.sourceMeta, sourceMetaJsonImportPath, schema?.supportsImportAttributes ?? false));
32
+ return true;
33
+ },
34
+ middleware: [
35
+ logCommandInfoAndTime({
36
+ commandStart: 'Finding triggers',
37
+ commandEnd: 'Found triggers',
38
+ }),
39
+ ],
40
+ });
@@ -0,0 +1,5 @@
1
+ import { TriggerMeta, TriggerSourceMeta } from '@pikku/core/trigger';
2
+ export declare const serializeTriggerMeta: (triggerMeta: TriggerMeta) => TriggerMeta;
3
+ export declare const serializeTriggerMetaTS: (triggerMeta: TriggerMeta, jsonImportPath: string, supportsImportAttributes: boolean) => string;
4
+ export declare const serializeTriggerSourceMeta: (sourceMeta: TriggerSourceMeta) => TriggerSourceMeta;
5
+ export declare const serializeTriggerSourceMetaTS: (sourceMeta: TriggerSourceMeta, jsonImportPath: string, supportsImportAttributes: boolean) => string;
@@ -0,0 +1,35 @@
1
+ export const serializeTriggerMeta = (triggerMeta) => {
2
+ return triggerMeta;
3
+ };
4
+ export const serializeTriggerMetaTS = (triggerMeta, jsonImportPath, supportsImportAttributes) => {
5
+ const importStatement = supportsImportAttributes
6
+ ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
7
+ : `import metaData from '${jsonImportPath}'`;
8
+ const serializedOutput = [];
9
+ serializedOutput.push("import { pikkuState } from '@pikku/core'");
10
+ serializedOutput.push("import { TriggerMeta } from '@pikku/core/trigger'");
11
+ serializedOutput.push(importStatement);
12
+ serializedOutput.push('');
13
+ serializedOutput.push("pikkuState(null, 'trigger', 'meta', metaData as TriggerMeta)");
14
+ serializedOutput.push('');
15
+ const triggerMetaValues = Object.values(triggerMeta);
16
+ if (triggerMetaValues.length > 0) {
17
+ serializedOutput.push(`export type TriggerNames = '${triggerMetaValues.map((t) => t.name).join("' | '")}'`);
18
+ }
19
+ return serializedOutput.join('\n');
20
+ };
21
+ export const serializeTriggerSourceMeta = (sourceMeta) => {
22
+ return sourceMeta;
23
+ };
24
+ export const serializeTriggerSourceMetaTS = (sourceMeta, jsonImportPath, supportsImportAttributes) => {
25
+ const importStatement = supportsImportAttributes
26
+ ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
27
+ : `import metaData from '${jsonImportPath}'`;
28
+ const serializedOutput = [];
29
+ serializedOutput.push("import { pikkuState } from '@pikku/core'");
30
+ serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/trigger'");
31
+ serializedOutput.push(importStatement);
32
+ serializedOutput.push('');
33
+ serializedOutput.push("pikkuState(null, 'trigger', 'sourceMeta', metaData as TriggerSourceMeta)");
34
+ return serializedOutput.join('\n');
35
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Generates type definitions for trigger wirings
3
+ */
4
+ export declare const serializeTriggerTypes: (singletonServicesTypeImport: string, singletonServicesTypeName: string) => string;
@@ -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 { VariableDefinitions } from '@pikku/core/variable';
2
+ import { 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
40
  await writeFileInDir(logger, workflowsWiringMetaFile, serializeWorkflowMeta(workflowsWiringMetaFile, workflowMetaDir, allWorkflowNames, packageMappings, schema?.supportsImportAttributes ?? false, config.externalPackageName));
66
41
  }
67
- // Generate workflow registration (meta + DSL workflow registrations)
68
42
  const metaImportPath = getFileImportRelativePath(workflowsWiringFile, workflowsWiringMetaFile, packageMappings);
69
43
  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)
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';
5
+ import { type TypesMap } from '@pikku/inspector';
6
+ import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph';
6
7
  import { FunctionsMeta } from '@pikku/core';
7
- export declare const serializeWorkflowMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, workflowsMeta: WorkflowsMeta) => string;
8
+ import { 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;