@pikku/cli 0.11.3 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-DiYPTQU_.js +676 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +34 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +46 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +17 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +2 -2
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +72 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +261 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +83 -29
  46. package/dist/.pikku/function/pikku-function-types.gen.js +51 -15
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +896 -192
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +2 -2
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +2 -2
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +6 -1
  66. package/dist/.pikku/pikku-services.gen.js +5 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +70 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +43 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNewAddonInput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuNewFunctionInput.schema.json +1 -0
  100. package/dist/.pikku/schemas/schemas/PikkuNewMiddlewareInput.schema.json +1 -0
  101. package/dist/.pikku/schemas/schemas/PikkuNewPermissionInput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuNewWiringInput.schema.json +1 -0
  103. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  104. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  107. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  109. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  110. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  111. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  112. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  113. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  114. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  115. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  116. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  117. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  118. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  119. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  120. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  121. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  122. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  123. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  124. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  125. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  126. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  127. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  128. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  129. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  130. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  131. package/dist/bin/pikku.js +20 -47
  132. package/dist/src/cli.wiring.js +210 -2
  133. package/dist/src/functions/commands/all.d.ts +1 -1
  134. package/dist/src/functions/commands/all.js +83 -180
  135. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  136. package/dist/src/functions/commands/bootstrap.js +13 -22
  137. package/dist/src/functions/commands/console.d.ts +7 -0
  138. package/dist/src/functions/commands/console.js +106 -0
  139. package/dist/src/functions/commands/info.d.ts +9 -0
  140. package/dist/src/functions/commands/info.js +283 -0
  141. package/dist/src/functions/commands/new-addon.d.ts +34 -0
  142. package/dist/src/functions/commands/new-addon.js +636 -0
  143. package/dist/src/functions/commands/new-function.d.ts +10 -0
  144. package/dist/src/functions/commands/new-function.js +79 -0
  145. package/dist/src/functions/commands/new-middleware.d.ts +10 -0
  146. package/dist/src/functions/commands/new-middleware.js +48 -0
  147. package/dist/src/functions/commands/new-permission.d.ts +10 -0
  148. package/dist/src/functions/commands/new-permission.js +45 -0
  149. package/dist/src/functions/commands/new-wiring.d.ts +10 -0
  150. package/dist/src/functions/commands/new-wiring.js +102 -0
  151. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  152. package/dist/src/functions/commands/pikku-command-bootstrap.js +38 -0
  153. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  154. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  155. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  156. package/dist/src/functions/commands/versions-check.js +99 -0
  157. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  158. package/dist/src/functions/commands/versions-init.js +15 -0
  159. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  160. package/dist/src/functions/commands/versions-update.js +20 -0
  161. package/dist/src/functions/commands/watch.d.ts +1 -1
  162. package/dist/src/functions/commands/watch.js +4 -5
  163. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  164. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  165. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  166. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  167. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  168. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +4 -16
  169. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  170. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  171. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  172. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  173. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +20 -0
  174. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  175. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  176. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  177. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  178. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  179. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  180. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  181. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +76 -0
  182. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  183. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +68 -0
  184. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  185. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  186. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  187. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  188. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  189. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  190. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  191. package/dist/src/functions/wirings/channels/pikku-command-channels.js +2 -2
  192. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  193. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  194. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +5 -4
  195. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  196. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  197. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  198. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  199. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  200. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  201. package/dist/src/functions/wirings/cli/pikku-command-cli.js +2 -2
  202. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +2 -2
  203. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +1 -1
  204. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  205. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  206. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +3 -3
  207. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  208. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  209. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +24 -0
  210. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  211. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  212. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  213. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  214. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  215. package/dist/src/functions/wirings/console/serialize-console-functions.js +90 -0
  216. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  217. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  218. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -0
  219. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +33 -0
  220. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  221. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  222. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  223. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +6 -6
  224. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  225. package/dist/src/functions/wirings/functions/pikku-command-functions.js +9 -15
  226. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  227. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  228. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  229. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  230. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +1 -0
  231. package/dist/src/functions/wirings/functions/serialize-addon-types.js +78 -0
  232. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -4
  233. package/dist/src/functions/wirings/functions/serialize-function-imports.js +13 -20
  234. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/functions/serialize-function-types.js +126 -45
  236. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  237. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  238. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  239. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  240. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  241. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +2 -2
  242. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  243. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  244. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  245. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  246. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  247. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  248. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  249. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +7 -4
  250. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  251. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  252. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  253. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  254. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  255. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  256. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +14 -5
  257. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  258. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  259. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  260. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  261. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  262. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  263. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  264. package/dist/src/functions/wirings/package/pikku-command-package.js +8 -8
  265. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  266. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  267. package/dist/src/functions/wirings/package/serialize-package.js +2 -2
  268. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  269. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +7 -7
  270. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  271. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  272. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  273. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  274. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  275. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  276. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  277. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  278. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  279. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  280. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  281. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  282. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +6 -3
  283. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  284. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
  285. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  286. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  287. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  288. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  289. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  290. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  291. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  292. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  293. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  294. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +14 -9
  295. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  296. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +3 -2
  297. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  298. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +34 -20
  299. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  300. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +55 -8
  301. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +11 -3
  302. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +106 -71
  303. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  304. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  305. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  306. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  307. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -2
  308. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  309. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  310. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  311. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  312. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  313. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  314. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  315. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  316. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  317. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  318. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  319. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  320. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  321. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  322. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  323. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  324. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  325. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  326. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  327. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +8 -37
  328. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +5 -3
  329. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  330. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  331. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  332. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  333. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  334. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  335. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  336. package/dist/src/services/cli-logger-forwarder.service.d.ts +4 -3
  337. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  338. package/dist/src/services/cli-logger.service.d.ts +3 -2
  339. package/dist/src/services/cli-logger.service.js +1 -1
  340. package/dist/src/services.d.ts +5 -4
  341. package/dist/src/services.js +53 -7
  342. package/dist/src/utils/check-required-types.d.ts +1 -1
  343. package/dist/src/utils/command-summary.d.ts +2 -1
  344. package/dist/src/utils/command-summary.js +2 -1
  345. package/dist/src/utils/contract-versions.d.ts +6 -0
  346. package/dist/src/utils/contract-versions.js +25 -0
  347. package/dist/src/utils/file-import-path.js +20 -6
  348. package/dist/src/utils/file-writer.d.ts +6 -1
  349. package/dist/src/utils/file-writer.js +14 -1
  350. package/dist/src/utils/generate-bootstrap-file.d.ts +2 -2
  351. package/dist/src/utils/openapi/codegen.d.ts +19 -0
  352. package/dist/src/utils/openapi/codegen.js +288 -0
  353. package/dist/src/utils/openapi/naming.d.ts +30 -0
  354. package/dist/src/utils/openapi/naming.js +167 -0
  355. package/dist/src/utils/openapi/parse-openapi.d.ts +36 -0
  356. package/dist/src/utils/openapi/parse-openapi.js +196 -0
  357. package/dist/src/utils/openapi/zod-codegen.d.ts +53 -0
  358. package/dist/src/utils/openapi/zod-codegen.js +251 -0
  359. package/dist/src/utils/pikku-cli-config.d.ts +2 -2
  360. package/dist/src/utils/pikku-cli-config.js +80 -23
  361. package/dist/src/utils/pikku-files-and-methods.d.ts +1 -2
  362. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  363. package/dist/src/utils/serialize-import-map.d.ts +3 -2
  364. package/dist/src/utils/serialize-import-map.js +4 -55
  365. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  366. package/dist/src/utils/serialize-meta-ts.js +12 -0
  367. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  368. package/dist/src/utils/serialize-schemas.js +38 -0
  369. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  370. package/dist/src/utils/strip-verbose-meta.js +15 -15
  371. package/dist/tsconfig.tsbuildinfo +1 -1
  372. package/package.json +19 -10
  373. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  374. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  375. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  376. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  377. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  378. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  379. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  380. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  381. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  382. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  383. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  384. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  385. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  386. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  387. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  388. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  389. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  390. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  391. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  392. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  393. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  394. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  395. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  396. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  397. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  398. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  399. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  400. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  401. package/.pikku/pikku-services.gen.ts +0 -28
  402. package/.pikku/pikku-types.gen.ts +0 -30
  403. package/.pikku/pikku-websocket.gen.ts +0 -90
  404. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  405. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  406. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  407. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  408. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  409. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  410. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  411. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  412. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  413. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  414. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  415. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  416. package/.pikku/schemas/register.gen.ts +0 -71
  417. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  418. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  419. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  420. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  421. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  422. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  423. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  424. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  425. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  426. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  427. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  428. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  429. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  430. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  431. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  432. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  433. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  434. package/.pikku/services/config.gen.json +0 -104
  435. package/.pikku/services/getInspectorState.gen.json +0 -10
  436. package/.pikku/services/jwt.gen.json +0 -13
  437. package/.pikku/services/logger.gen.json +0 -25
  438. package/.pikku/services/queueService.gen.json +0 -14
  439. package/.pikku/services/schedulerService.gen.json +0 -17
  440. package/.pikku/services/schema.gen.json +0 -14
  441. package/.pikku/services/secrets.gen.json +0 -13
  442. package/.pikku/services/variables.gen.json +0 -13
  443. package/.pikku/services/workflowService.gen.json +0 -31
  444. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  445. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  446. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  447. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  448. package/CHANGELOG.md +0 -957
  449. package/bin/pikku.ts +0 -88
  450. package/build.sh +0 -75
  451. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  452. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  453. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  454. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  455. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  456. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  457. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  458. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  459. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  460. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  461. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  462. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  463. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  464. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  465. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  466. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  467. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  468. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  469. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  470. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  471. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  472. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  473. package/dist/src/utils/custom-types-generator.js +0 -41
  474. package/dist/src/utils/schema-generator.d.ts +0 -7
  475. package/dist/src/utils/schema-generator.js +0 -238
  476. package/pikku.config.json +0 -29
  477. package/run-tests.sh +0 -53
  478. package/src/cli.wiring.ts +0 -112
  479. package/src/functions/commands/all.ts +0 -313
  480. package/src/functions/commands/bootstrap.ts +0 -35
  481. package/src/functions/commands/watch.ts +0 -61
  482. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  483. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  484. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  485. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  486. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  487. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  488. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  489. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  490. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  491. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  492. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  493. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  494. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  495. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  496. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  497. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  498. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  499. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  500. package/src/functions/wirings/fetch/index.ts +0 -36
  501. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  502. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  503. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  504. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  505. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  506. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  507. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  508. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  509. package/src/functions/wirings/functions/schemas.ts +0 -56
  510. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  511. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  512. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  513. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  514. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  515. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  516. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  517. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  518. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  519. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  520. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  521. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  522. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  523. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  524. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  525. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  526. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  527. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  528. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  529. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  530. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  531. package/src/functions/wirings/package/serialize-package.ts +0 -69
  532. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  533. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  534. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  535. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  536. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  537. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  538. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  539. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  540. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  541. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  542. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  543. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  544. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  545. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  546. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  547. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  548. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  549. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  550. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  551. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  552. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  553. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  554. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  555. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  556. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  557. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  558. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  559. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  560. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  561. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  562. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  563. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  564. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  565. package/src/middleware/log-command-info-and-time.ts +0 -35
  566. package/src/services/cli-logger-forwarder.service.ts +0 -99
  567. package/src/services/cli-logger.service.ts +0 -108
  568. package/src/services.ts +0 -322
  569. package/src/utils/check-required-types.ts +0 -65
  570. package/src/utils/command-summary.ts +0 -107
  571. package/src/utils/custom-types-generator.ts +0 -55
  572. package/src/utils/file-import-path.test.ts +0 -175
  573. package/src/utils/file-import-path.ts +0 -53
  574. package/src/utils/file-imports-serializer.ts +0 -25
  575. package/src/utils/file-writer.ts +0 -72
  576. package/src/utils/generate-bootstrap-file.ts +0 -43
  577. package/src/utils/get-cli-version.ts +0 -28
  578. package/src/utils/pikku-cli-config.ts +0 -495
  579. package/src/utils/pikku-files-and-methods.ts +0 -145
  580. package/src/utils/schema-generator.ts +0 -335
  581. package/src/utils/serialize-import-map.ts +0 -102
  582. package/src/utils/strip-verbose-meta.ts +0 -254
  583. package/tsconfig.json +0 -21
  584. package/types/application-types.d.ts +0 -27
  585. package/types/config.d.ts +0 -304
  586. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  587. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,13 +1,22 @@
1
1
  /**
2
2
  * Generates core function, middleware, and permission type definitions
3
3
  */
4
- export const serializeFunctionTypes = (userSessionTypeImport, userSessionTypeName, singletonServicesTypeImport, singletonServicesTypeName, wireServicesTypeImport, wireServicesTypeName, rpcMapTypeImport, requiredServicesTypeImport, configTypeImport, packageName) => {
4
+ export const serializeFunctionTypes = (userSessionTypeImport, userSessionTypeName, singletonServicesTypeImport, singletonServicesTypeName, wireServicesTypeImport, wireServicesTypeName, rpcMapTypeImport, requiredServicesTypeImport, configTypeImport, packageName, workflowTypesImport, nodeCategories) => {
5
5
  const packageNameValue = packageName ? `'${packageName}'` : 'null';
6
+ const nodeCategoryType = nodeCategories?.length
7
+ ? nodeCategories.map((c) => `'${c}'`).join(' | ')
8
+ : 'string';
9
+ const workflowImport = workflowTypesImport ||
10
+ `import type { TypedWorkflow } from '../workflow/pikku-workflow-types.gen.js'`;
6
11
  return `/**
7
12
  * Core function, middleware, and permission types for all wirings
8
13
  */
9
14
 
10
- import { CorePikkuFunctionConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup, addMiddleware as addMiddlewareCore, addPermission as addPermissionCore, PikkuWire, PickRequired, ZodLike, CreateWireServices } from '@pikku/core'
15
+ import { CorePikkuFunctionConfig, CorePikkuAuth, CorePikkuAuthConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup, addMiddleware as addMiddlewareCore, addPermission as addPermissionCore, PikkuWire, PickRequired } from '@pikku/core'
16
+ import { pikkuState as __pikkuState, CreateWireServices } from '@pikku/core/internal'
17
+ import { pikkuAuth as pikkuAuthCore } from '@pikku/core'
18
+ import type { NodeType } from '@pikku/core/node'
19
+ import type { StandardSchemaV1 } from '@standard-schema/spec'
11
20
  import { CorePikkuFunction, CorePikkuFunctionSessionless } from '@pikku/core/function'
12
21
 
13
22
  ${userSessionTypeImport}
@@ -16,11 +25,22 @@ ${wireServicesTypeImport}
16
25
  ${configTypeImport}
17
26
  ${rpcMapTypeImport}
18
27
  ${requiredServicesTypeImport}
28
+ ${workflowImport}
19
29
 
20
- ${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices = ${singletonServicesTypeName}` : ''}
21
- ${wireServicesTypeName !== 'Services' ? `type Services = ${wireServicesTypeName}` : ''}
22
- ${userSessionTypeName !== 'Session' ? `type Session = ${userSessionTypeName}` : ''}
23
- ${configTypeImport.includes('Config type not found') ? 'type Config = any' : ''}
30
+ ${singletonServicesTypeName !== 'SingletonServices' ? `export type SingletonServices = ${singletonServicesTypeName}` : `export type { ${singletonServicesTypeName} as SingletonServices }`}
31
+ ${wireServicesTypeName !== 'Services' ? `export type Services = ${wireServicesTypeName}` : `export type { ${wireServicesTypeName} as Services }`}
32
+ ${userSessionTypeName !== 'Session' ? `export type Session = ${userSessionTypeName}` : `export type { ${userSessionTypeName} as Session }`}
33
+ ${configTypeImport.includes('Config type not found') ? 'export type Config = any' : ''}
34
+
35
+ /**
36
+ * Inline node configuration for function definitions.
37
+ */
38
+ export type NodeConfig = {
39
+ displayName: string
40
+ category: ${nodeCategoryType}
41
+ type: NodeType
42
+ errorOutput?: boolean
43
+ }
24
44
 
25
45
  /**
26
46
  * Type-safe API permission definition that integrates with your application's session type.
@@ -80,6 +100,46 @@ export const pikkuPermission = <In>(
80
100
  return typeof permission === 'function' ? permission : permission.func
81
101
  }
82
102
 
103
+ /**
104
+ * Type-safe auth-only permission that only needs services and session.
105
+ * Use this for upfront authorization gates (MCP tools, AI agents, workflows)
106
+ * where request data isn't available yet.
107
+ *
108
+ * @template RequiredServices - The services required for this auth check
109
+ */
110
+ export type PikkuAuth<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuAuth<RequiredServices, Session>
111
+
112
+ /**
113
+ * Configuration object for creating an auth permission with metadata
114
+ */
115
+ export type PikkuAuthConfig<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuAuthConfig<RequiredServices, Session>
116
+
117
+ /**
118
+ * Factory function for creating auth-only permissions with tree-shaking support.
119
+ * Auth permissions only receive services and session (no request data),
120
+ * making them evaluable before request data is available.
121
+ *
122
+ * @example
123
+ * \\\`\\\`\\\`typescript
124
+ * const isAuthenticated = pikkuAuth(async ({ logger }, session) => {
125
+ * return !!session
126
+ * })
127
+ *
128
+ * const isAdmin = pikkuAuth({
129
+ * name: 'Admin Auth',
130
+ * description: 'Checks if user is an admin',
131
+ * func: async ({ logger }, session) => {
132
+ * return session?.role === 'admin'
133
+ * }
134
+ * })
135
+ * \\\`\\\`\\\`
136
+ */
137
+ export const pikkuAuth = <RequiredServices extends SingletonServices = SingletonServices>(
138
+ auth: PikkuAuth<RequiredServices> | PikkuAuthConfig<RequiredServices>
139
+ ): PikkuPermission<any, any> => {
140
+ return pikkuAuthCore(auth as any) as any
141
+ }
142
+
83
143
  /**
84
144
  * Configuration object for creating middleware with metadata
85
145
  */
@@ -153,8 +213,8 @@ export const pikkuMiddlewareFactory = <In = any>(
153
213
  * export const requireRole = pikkuPermissionFactory<{ role: string }>(({
154
214
  * role
155
215
  * }) => {
156
- * return pikkuPermission(async ({ logger }, data, { initialSession }) => {
157
- * if (!initialSession || initialSession.role !== role) {
216
+ * return pikkuPermission(async ({ logger }, data, { session }) => {
217
+ * if (!session || session.role !== role) {
158
218
  * logger.warn(\`Permission denied: required role '\${role}'\`)
159
219
  * return false
160
220
  * }
@@ -186,7 +246,8 @@ export type PikkuFunctionSessionless<
186
246
  In,
187
247
  Out,
188
248
  RequiredServices,
189
- PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any>, RequiredWires>
249
+ Session,
250
+ PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow>, RequiredWires>
190
251
  >
191
252
 
192
253
  /**
@@ -206,13 +267,14 @@ export type PikkuFunction<
206
267
  In,
207
268
  Out,
208
269
  RequiredServices,
209
- PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any>, RequiredWires>
270
+ Session,
271
+ PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any, TypedWorkflow>, RequiredWires>
210
272
  >
211
273
 
212
274
  /**
213
- * Helper type to infer the output type from a Zod schema
275
+ * Helper type to infer the output type from a Standard Schema
214
276
  */
215
- export type InferZodOutput<T> = T extends ZodLike<infer U> ? U : never
277
+ export type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output> ? Output : never
216
278
 
217
279
  /**
218
280
  * Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.
@@ -227,8 +289,8 @@ export type PikkuFunctionConfig<
227
289
  Out = unknown,
228
290
  RequiredWires extends keyof PikkuWire = never,
229
291
  PikkuFunc extends PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>,
230
- InputSchema extends ZodLike | undefined = undefined,
231
- OutputSchema extends ZodLike | undefined = undefined
292
+ InputSchema extends StandardSchemaV1 | undefined = undefined,
293
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
232
294
  > = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware, InputSchema, OutputSchema>
233
295
 
234
296
  /**
@@ -237,28 +299,30 @@ export type PikkuFunctionConfig<
237
299
  * Types are automatically inferred from the schemas.
238
300
  */
239
301
  export type PikkuFunctionConfigWithSchema<
240
- InputSchema extends ZodLike,
241
- OutputSchema extends ZodLike | undefined = undefined,
302
+ InputSchema extends StandardSchemaV1,
303
+ OutputSchema extends StandardSchemaV1 | undefined = undefined,
242
304
  RequiredWires extends keyof PikkuWire = never
243
305
  > = {
244
306
  name?: string
245
307
  tags?: string[]
246
308
  expose?: boolean
309
+ mcp?: boolean
247
310
  internal?: boolean
248
311
  func: PikkuFunction<
249
- InferZodOutput<InputSchema>,
250
- OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown,
312
+ InferSchemaOutput<InputSchema>,
313
+ OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown,
251
314
  RequiredWires
252
315
  > | PikkuFunctionSessionless<
253
- InferZodOutput<InputSchema>,
254
- OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown,
316
+ InferSchemaOutput<InputSchema>,
317
+ OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown,
255
318
  RequiredWires
256
319
  >
257
320
  auth?: boolean
258
- permissions?: CorePermissionGroup<PikkuPermission<InferZodOutput<InputSchema>>>
321
+ permissions?: CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>>
259
322
  middleware?: PikkuMiddleware[]
260
323
  input: InputSchema
261
324
  output?: OutputSchema
325
+ node?: NodeConfig
262
326
  }
263
327
 
264
328
  /**
@@ -300,11 +364,11 @@ export type PikkuFunctionConfigWithSchema<
300
364
  * \`\`\`
301
365
  */
302
366
  export function pikkuFunc<
303
- InputSchema extends ZodLike,
304
- OutputSchema extends ZodLike | undefined = undefined
367
+ InputSchema extends StandardSchemaV1,
368
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
305
369
  >(
306
370
  config: PikkuFunctionConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>
307
- ): PikkuFunctionConfig<InferZodOutput<InputSchema>, OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown, 'session' | 'rpc'>
371
+ ): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>
308
372
  export function pikkuFunc<In, Out = unknown>(
309
373
  func:
310
374
  | PikkuFunction<In, Out, 'session' | 'rpc'>
@@ -318,25 +382,28 @@ export function pikkuFunc(func: any) {
318
382
  * Configuration object for sessionless Pikku functions with Zod schema validation.
319
383
  */
320
384
  export type PikkuFunctionSessionlessConfigWithSchema<
321
- InputSchema extends ZodLike,
322
- OutputSchema extends ZodLike | undefined = undefined,
385
+ InputSchema extends StandardSchemaV1,
386
+ OutputSchema extends StandardSchemaV1 | undefined = undefined,
323
387
  RequiredWires extends keyof PikkuWire = never
324
388
  > = {
325
389
  name?: string
326
390
  description?: string
327
391
  tags?: string[]
328
392
  expose?: boolean
393
+ mcp?: boolean
329
394
  internal?: boolean
395
+ remote?: boolean
330
396
  func: PikkuFunctionSessionless<
331
- InferZodOutput<InputSchema>,
332
- OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown,
397
+ InferSchemaOutput<InputSchema>,
398
+ OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown,
333
399
  RequiredWires
334
400
  >
335
401
  auth?: boolean
336
- permissions?: CorePermissionGroup<PikkuPermission<InferZodOutput<InputSchema>>>
402
+ permissions?: CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>>
337
403
  middleware?: PikkuMiddleware[]
338
404
  input: InputSchema
339
405
  output?: OutputSchema
406
+ node?: NodeConfig
340
407
  }
341
408
 
342
409
  /**
@@ -375,11 +442,11 @@ export type PikkuFunctionSessionlessConfigWithSchema<
375
442
  * \`\`\`
376
443
  */
377
444
  export function pikkuSessionlessFunc<
378
- InputSchema extends ZodLike,
379
- OutputSchema extends ZodLike | undefined = undefined
445
+ InputSchema extends StandardSchemaV1,
446
+ OutputSchema extends StandardSchemaV1 | undefined = undefined
380
447
  >(
381
448
  config: PikkuFunctionSessionlessConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>
382
- ): PikkuFunctionConfig<InferZodOutput<InputSchema>, OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown, 'session' | 'rpc'>
449
+ ): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>
383
450
  export function pikkuSessionlessFunc<In, Out = unknown>(
384
451
  func:
385
452
  | PikkuFunctionSessionless<In, Out, 'session' | 'rpc'>
@@ -414,27 +481,27 @@ export const pikkuVoidFunc = (
414
481
  }
415
482
 
416
483
  /**
417
- * Creates a wrapper function for external package functions that are exposed via RPC.
418
- * This allows you to wire external functions to any wiring type (HTTP, queue, etc.)
484
+ * Creates a wrapper function for addon package functions that are exposed via RPC.
485
+ * This allows you to wire addon functions to any wiring type (HTTP, queue, etc.)
419
486
  * without type compatibility issues.
420
487
  *
421
488
  * @template Name - The RPC method name (must be a key in FlattenedRPCMap)
422
489
  * @param rpcName - The name of the RPC method to invoke
423
- * @returns A Pikku function that proxies calls to the external RPC method
490
+ * @returns A Pikku function that proxies calls to the addon RPC method
424
491
  *
425
492
  * @example
426
493
  * \`\`\`typescript
427
- * // Wire an external function via HTTP
494
+ * // Wire an addon function via HTTP
428
495
  * wireHTTP({
429
496
  * auth: false,
430
497
  * method: 'get',
431
- * route: '/external/hello',
432
- * func: external('ext:hello'),
433
- * tags: ['external'],
498
+ * route: '/addon/hello',
499
+ * func: addon('ext:hello'),
500
+ * tags: ['addon'],
434
501
  * })
435
502
  * \`\`\`
436
503
  */
437
- export const external = <Name extends keyof FlattenedRPCMap>(
504
+ export const addon = <Name extends keyof FlattenedRPCMap>(
438
505
  rpcName: Name
439
506
  ): PikkuFunctionConfig<
440
507
  FlattenedRPCMap[Name]['input'],
@@ -442,9 +509,9 @@ export const external = <Name extends keyof FlattenedRPCMap>(
442
509
  'session' | 'rpc'
443
510
  > => {
444
511
  return {
445
- func: (async (_services: any, data: any, { rpc }: any) => {
512
+ func: async (_services: any, data: FlattenedRPCMap[Name]['input'], { rpc }: any) => {
446
513
  return rpc.invoke(rpcName, data)
447
- }) as any
514
+ }
448
515
  } as PikkuFunctionConfig<
449
516
  FlattenedRPCMap[Name]['input'],
450
517
  FlattenedRPCMap[Name]['output'],
@@ -473,6 +540,7 @@ export const pikkuConfig = (
473
540
  func: (variables?: any, ...args: any[]) => Promise<Config>
474
541
  ) => func
475
542
 
543
+
476
544
  /**
477
545
  * Creates a Pikku singleton services factory.
478
546
  * Use this to define services that are created once and shared across all requests.
@@ -492,8 +560,14 @@ export const pikkuConfig = (
492
560
  * \`\`\`
493
561
  */
494
562
  export const pikkuServices = (
495
- func: (config: Config, existingServices?: Partial<SingletonServices>) => Promise<RequiredSingletonServices>
496
- ) => func
563
+ func: (config: Config, existingServices: Partial<SingletonServices>) => Promise<RequiredSingletonServices>
564
+ ) => {
565
+ return async (config: Config, existingServices: Partial<SingletonServices> = {}) => {
566
+ const services = await func(config, existingServices)
567
+ __pikkuState(null, 'package', 'singletonServices', services as any)
568
+ return services
569
+ }
570
+ }
497
571
 
498
572
  /**
499
573
  * Creates a Pikku wire services factory.
@@ -517,7 +591,11 @@ export const pikkuWireServices = (
517
591
  services: SingletonServices,
518
592
  wire: any
519
593
  ) => Promise<RequiredWireServices>
520
- ): CreateWireServices => func as unknown as CreateWireServices
594
+ ): CreateWireServices => {
595
+ const factories = __pikkuState(null, 'package', 'factories')
596
+ __pikkuState(null, 'package', 'factories', { ...factories, createWireServices: func as any })
597
+ return func as unknown as CreateWireServices
598
+ }
521
599
 
522
600
  /**
523
601
  * Adds global middleware for a specific tag.
@@ -572,5 +650,8 @@ export const addMiddleware = (tag: string, middleware: PikkuMiddleware[]) => {
572
650
  export const addPermission = <In = unknown>(tag: string, permissions: CorePermissionGroup<PikkuPermission<In>> | PikkuPermission<In>[]) => {
573
651
  addPermissionCore(tag, permissions as any, ${packageNameValue})
574
652
  }
653
+
654
+ export { wireAddon } from '@pikku/core'
655
+ export type { WireAddonConfig } from '@pikku/core'
575
656
  `;
576
657
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Generates the main pikku-types.gen.ts file as a re-export hub
3
3
  */
4
- export declare const serializePikkuTypesHub: (functionTypesImportPath: string, httpTypesImportPath: string | null, channelTypesImportPath: string | null, schedulerTypesImportPath: string | null, queueTypesImportPath: string | null, mcpTypesImportPath: string | null, cliTypesImportPath: string | null, forgeTypesImportPath: string | null) => string;
4
+ export declare const serializePikkuTypesHub: (functionTypesImportPath: string, httpTypesImportPath: string | null, channelTypesImportPath: string | null, triggerTypesImportPath: string | null, schedulerTypesImportPath: string | null, queueTypesImportPath: string | null, mcpTypesImportPath: string | null, cliTypesImportPath: string | null, nodeTypesImportPath: string | null, secretTypesImportPath: string | null, addonTypesImportPath: string | null) => string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Generates the main pikku-types.gen.ts file as a re-export hub
3
3
  */
4
- export const serializePikkuTypesHub = (functionTypesImportPath, httpTypesImportPath, channelTypesImportPath, schedulerTypesImportPath, queueTypesImportPath, mcpTypesImportPath, cliTypesImportPath, forgeTypesImportPath) => {
4
+ export const serializePikkuTypesHub = (functionTypesImportPath, httpTypesImportPath, channelTypesImportPath, triggerTypesImportPath, schedulerTypesImportPath, queueTypesImportPath, mcpTypesImportPath, cliTypesImportPath, nodeTypesImportPath, secretTypesImportPath, addonTypesImportPath) => {
5
5
  const exports = [
6
6
  {
7
7
  comment: 'Core function, middleware, and permission types',
@@ -9,11 +9,14 @@ export const serializePikkuTypesHub = (functionTypesImportPath, httpTypesImportP
9
9
  },
10
10
  { comment: 'HTTP wiring types', path: httpTypesImportPath },
11
11
  { comment: 'Channel wiring types', path: channelTypesImportPath },
12
+ { comment: 'Trigger wiring types', path: triggerTypesImportPath },
12
13
  { comment: 'Scheduler wiring types', path: schedulerTypesImportPath },
13
14
  { comment: 'Queue wiring types', path: queueTypesImportPath },
14
15
  { comment: 'MCP wiring types', path: mcpTypesImportPath },
15
16
  { comment: 'CLI wiring types', path: cliTypesImportPath },
16
- { comment: 'Forge wiring types', path: forgeTypesImportPath },
17
+ { comment: 'Node wiring types', path: nodeTypesImportPath },
18
+ { comment: 'Secret definition types', path: secretTypesImportPath },
19
+ { comment: 'Addon types', path: addonTypesImportPath },
17
20
  ];
18
21
  const exportStatements = exports
19
22
  .filter((e) => e.path)
@@ -1 +1 @@
1
- export declare const pikkuHTTPMap: any;
1
+ export declare const pikkuHTTPMap: 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>;
@@ -1,12 +1,12 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { writeFileInDir } from '../../../utils/file-writer.js';
3
3
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
4
4
  import { serializeTypedHTTPWiringsMap } from './serialize-typed-http-map.js';
5
5
  export const pikkuHTTPMap = pikkuSessionlessFunc({
6
6
  func: async ({ logger, config, getInspectorState }) => {
7
- const { http, functions } = await getInspectorState();
8
- const { httpMapDeclarationFile, packageMappings } = config;
9
- const content = serializeTypedHTTPWiringsMap(httpMapDeclarationFile, packageMappings, functions.typesMap, functions.meta, http.meta, http.metaInputTypes);
7
+ const { http, functions, resolvedIOTypes } = await getInspectorState();
8
+ const { httpMapDeclarationFile, rpcInternalMapDeclarationFile, packageMappings, } = config;
9
+ const content = serializeTypedHTTPWiringsMap(logger, httpMapDeclarationFile, packageMappings, functions.typesMap, http.meta, http.metaInputTypes, resolvedIOTypes, rpcInternalMapDeclarationFile);
10
10
  await writeFileInDir(logger, httpMapDeclarationFile, content);
11
11
  },
12
12
  middleware: [
@@ -1 +1 @@
1
- export declare const pikkuHTTP: any;
1
+ export declare const pikkuHTTP: 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,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { serializeFileImports } from '../../../utils/file-imports-serializer.js';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -24,7 +24,7 @@ export const pikkuHTTP = pikkuSessionlessFunc({
24
24
  const importStatement = supportsImportAttributes
25
25
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
26
26
  : `import metaData from '${jsonImportPath}'`;
27
- await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
27
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
28
28
  return true;
29
29
  },
30
30
  middleware: [
@@ -1 +1 @@
1
- export declare const pikkuHTTPTypes: any;
1
+ export declare const pikkuHTTPTypes: 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>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { writeFileInDir } from '../../../utils/file-writer.js';
3
3
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -1 +1 @@
1
- export declare const pikkuOpenAPI: any;
1
+ export declare const pikkuOpenAPI: 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>;
@@ -1,23 +1,25 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { writeFileInDir } from '../../../utils/file-writer.js';
3
3
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
4
- import { generateSchemas } from '../../../utils/schema-generator.js';
5
- import { generateOpenAPISpec } from './openapi-spec-generator.js';
6
4
  import { stringify } from 'yaml';
7
5
  export const pikkuOpenAPI = pikkuSessionlessFunc({
8
6
  func: async ({ logger, config, getInspectorState }) => {
9
- const { tsconfig, openAPI, schemasFromTypes } = config;
10
- // If openAPI outputFile is not defined, clean up any existing file and return
7
+ const { openAPI } = config;
11
8
  if (!openAPI?.outputFile) {
12
- logger.info({
9
+ logger.debug({
13
10
  message: 'Skipping creating OpenAPI spec since openAPI outfile is not defined.',
14
11
  type: 'skip',
15
12
  });
16
13
  return;
17
14
  }
18
- const { http, functions, zodLookup } = await getInspectorState();
19
- const schemas = await generateSchemas(logger, tsconfig, functions.typesMap, functions.meta, http.meta, schemasFromTypes, config.schema?.additionalProperties, zodLookup);
20
- const openAPISpec = await generateOpenAPISpec(logger, functions.meta, http.meta, schemas, openAPI.additionalInfo);
15
+ const { openAPISpec } = await getInspectorState();
16
+ if (!openAPISpec) {
17
+ logger.debug({
18
+ message: 'Skipping creating OpenAPI spec since no spec was generated.',
19
+ type: 'skip',
20
+ });
21
+ return;
22
+ }
21
23
  if (openAPI.outputFile.endsWith('.json')) {
22
24
  await writeFileInDir(logger, openAPI.outputFile, JSON.stringify(openAPISpec, null, 2), { ignoreModifyComment: true });
23
25
  }
@@ -1 +1 @@
1
- export declare const pikkuHTTP: any;
1
+ export declare const pikkuHTTP: import("#pikku").PikkuFunctionConfig<void, boolean, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { serializeFileImports } from '../../../utils/file-imports-serializer.js';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -15,7 +15,7 @@ export const pikkuHTTP = pikkuSessionlessFunc({
15
15
  const importStatement = supportsImportAttributes
16
16
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
17
17
  : `import metaData from '${jsonImportPath}'`;
18
- await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState, HTTPWiringsMeta } from '@pikku/core'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
18
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
19
19
  return true;
20
20
  },
21
21
  middleware: [
@@ -6,9 +6,9 @@ export const serializeHTTPTypes = (functionTypesImportPath) => {
6
6
  * HTTP-specific type definitions for tree-shaking optimization
7
7
  */
8
8
 
9
- import { AssertHTTPWiringParams, wireHTTP as wireHTTPCore, addHTTPMiddleware as addHTTPMiddlewareCore, addHTTPPermission as addHTTPPermissionCore } from '@pikku/core/http'
10
- import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware } from '${functionTypesImportPath}'
11
- import type { CoreHTTPFunctionWiring, HTTPMethod } from '@pikku/core/http'
9
+ import { AssertHTTPWiringParams, wireHTTP as wireHTTPCore, addHTTPMiddleware as addHTTPMiddlewareCore, addHTTPPermission as addHTTPPermissionCore, wireHTTPRoutes as wireHTTPRoutesCore, defineHTTPRoutes as defineHTTPRoutesCore } from '@pikku/core/http'
10
+ import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware, PikkuFunctionConfig } from '${functionTypesImportPath}'
11
+ import type { CoreHTTPFunctionWiring, HTTPMethod, HTTPRouteBaseConfig } from '@pikku/core/http'
12
12
 
13
13
  /**
14
14
  * Type definition for HTTP API wirings with type-safe path parameters.
@@ -20,22 +20,6 @@ import type { CoreHTTPFunctionWiring, HTTPMethod } from '@pikku/core/http'
20
20
  */
21
21
  type HTTPWiring<In, Out, Route extends string> = CoreHTTPFunctionWiring<In, Out, Route, PikkuFunction<In, Out, 'rpc' | 'session'>, PikkuFunctionSessionless<In, Out, 'rpc' | 'session'>, PikkuPermission<In>, PikkuMiddleware>
22
22
 
23
- /**
24
- * HTTP wiring for workflow triggers (no function needed)
25
- */
26
- type HTTPWorkflowWiring<Route extends string> = {
27
- route: Route
28
- method: HTTPMethod
29
- workflow: true
30
- func?: undefined
31
- permissions?: undefined
32
- auth?: undefined
33
- tags?: undefined
34
- middleware?: undefined
35
- returnsJSON?: undefined
36
- sse?: boolean
37
- }
38
-
39
23
  /**
40
24
  * Registers an HTTP wiring with the Pikku framework.
41
25
  *
@@ -45,7 +29,7 @@ type HTTPWorkflowWiring<Route extends string> = {
45
29
  * @param httpWiring - HTTP wiring definition with handler, method, and optional middleware
46
30
  */
47
31
  export const wireHTTP = <In, Out, Route extends string>(
48
- httpWiring: (HTTPWiring<In, Out, Route> & AssertHTTPWiringParams<In, Route>) | HTTPWorkflowWiring<Route>
32
+ httpWiring: HTTPWiring<In, Out, Route> & AssertHTTPWiringParams<In, Route>
49
33
  ) => {
50
34
  wireHTTPCore(httpWiring as any)
51
35
  }
@@ -101,5 +85,66 @@ export const addHTTPPermission = <In = unknown>(
101
85
  ) => {
102
86
  addHTTPPermissionCore(pattern, permissions as any)
103
87
  }
88
+
89
+ /**
90
+ * Route configuration for wireHTTPRoutes with proper typing
91
+ */
92
+ type HTTPRouteConfig = HTTPRouteBaseConfig & {
93
+ method: HTTPMethod
94
+ route: string
95
+ func: PikkuFunctionConfig<any, any, any, any, any, any>
96
+ auth?: boolean
97
+ permissions?: Record<string, PikkuPermission | PikkuPermission[]>
98
+ middleware?: PikkuMiddleware[]
99
+ sse?: boolean
100
+ }
101
+
102
+ /**
103
+ * Typed route map for wireHTTPRoutes
104
+ */
105
+ type TypedHTTPRouteMap = {
106
+ [key: string]: HTTPRouteConfig | TypedHTTPRouteMap | TypedHTTPRouteContract
107
+ }
108
+
109
+ /**
110
+ * Typed route contract for defineHTTPRoutes
111
+ */
112
+ type TypedHTTPRouteContract<T extends TypedHTTPRouteMap = TypedHTTPRouteMap> = TypedHTTPRoutesGroupConfig & {
113
+ routes: T
114
+ }
115
+
116
+ /**
117
+ * Group config with typed middleware/permissions
118
+ */
119
+ type TypedHTTPRoutesGroupConfig = {
120
+ basePath?: string
121
+ tags?: string[]
122
+ auth?: boolean
123
+ middleware?: PikkuMiddleware[]
124
+ permissions?: Record<string, PikkuPermission | PikkuPermission[]>
125
+ }
126
+
127
+ /**
128
+ * Full config for wireHTTPRoutes
129
+ */
130
+ type TypedWireHTTPRoutesConfig = TypedHTTPRoutesGroupConfig & {
131
+ routes: TypedHTTPRouteMap | HTTPRouteConfig[]
132
+ }
133
+
134
+ /**
135
+ * Type-safe helper for defining route contracts that can be composed.
136
+ */
137
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(routes: T): TypedHTTPRouteContract<T>
138
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(config: TypedHTTPRoutesGroupConfig & { routes: T }): TypedHTTPRouteContract<T>
139
+ export function defineHTTPRoutes<T extends TypedHTTPRouteMap>(configOrRoutes: T | (TypedHTTPRoutesGroupConfig & { routes: T })): TypedHTTPRouteContract<T> {
140
+ return defineHTTPRoutesCore(configOrRoutes as any) as unknown as TypedHTTPRouteContract<T>
141
+ }
142
+
143
+ /**
144
+ * Wires multiple HTTP routes from a nested map or array configuration.
145
+ */
146
+ export const wireHTTPRoutes = (config: TypedWireHTTPRoutesConfig): void => {
147
+ wireHTTPRoutesCore(config as any)
148
+ }
104
149
  `;
105
150
  };
@@ -1,4 +1,7 @@
1
- import { HTTPWiringsMeta } from '@pikku/core/http';
2
- import { MetaInputTypes, TypesMap } from '@pikku/inspector';
3
- import { FunctionsMeta } from '@pikku/core';
4
- export declare const serializeTypedHTTPWiringsMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, functionsMeta: FunctionsMeta, wiringsMeta: HTTPWiringsMeta, metaTypes: MetaInputTypes) => string;
1
+ import type { HTTPWiringsMeta } from '@pikku/core/http';
2
+ import type { MetaInputTypes, TypesMap } from '@pikku/inspector';
3
+ import type { Logger } from '@pikku/core/services';
4
+ export declare const serializeTypedHTTPWiringsMap: (logger: Logger, relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, wiringsMeta: HTTPWiringsMeta, metaTypes: MetaInputTypes, resolvedIOTypes: Record<string, {
5
+ inputType: string;
6
+ outputType: string;
7
+ }>, rpcInternalMapDeclarationFile: string) => string;