@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,265 +0,0 @@
1
- import { FunctionsMeta, pikkuState } from '@pikku/core'
2
- import { HTTPWiringsMeta } from '@pikku/core/http'
3
- import _convertSchema from '@openapi-contrib/json-schema-to-openapi-schema'
4
- import { CLILogger } from '../../../services/cli-logger.service.js'
5
- const convertSchema =
6
- 'default' in _convertSchema ? (_convertSchema.default as any) : _convertSchema
7
-
8
- interface OpenAPISpec {
9
- openapi: string
10
- info: {
11
- title: string
12
- version: string
13
- description?: string
14
- termsOfService?: string
15
- contact?: {
16
- name?: string
17
- url?: string
18
- email?: string
19
- }
20
- license?: {
21
- name: string
22
- url?: string
23
- }
24
- }
25
- servers: { url: string; description?: string }[]
26
- paths: Record<string, any>
27
- components: {
28
- schemas: Record<string, any>
29
- responses?: Record<string, any>
30
- parameters?: Record<string, any>
31
- examples?: Record<string, any>
32
- requestBodies?: Record<string, any>
33
- headers?: Record<string, any>
34
- securitySchemes?: Record<string, any>
35
- }
36
- security?: { [key: string]: any[] }[]
37
- tags?: { name: string; description?: string }[]
38
- externalDocs?: {
39
- description?: string
40
- url: string
41
- }
42
- }
43
-
44
- export interface OpenAPISpecInfo {
45
- info: {
46
- title: string
47
- version: string
48
- description: string
49
- termsOfService?: string
50
- contact?: {
51
- name?: string
52
- url?: string
53
- email?: string
54
- }
55
- license?: {
56
- name: string
57
- url?: string
58
- }
59
- }
60
- servers: { url: string; description?: string }[]
61
- tags?: { name: string; description?: string }[]
62
- externalDocs?: {
63
- description?: string
64
- url: string
65
- }
66
- securitySchemes?: Record<string, any>
67
- security?: { [key: string]: any[] }[]
68
- }
69
-
70
- const getErrorResponseForConstructorName = (constructorName: string) => {
71
- const errors = Array.from(pikkuState(null, 'misc', 'errors').entries())
72
- const foundError = errors.find(([e]) => e.name === constructorName)
73
- if (foundError) {
74
- return foundError[1]
75
- }
76
- return undefined
77
- }
78
-
79
- const convertSchemasToBodyPayloads = async (
80
- functionsMeta: FunctionsMeta,
81
- routesMeta: HTTPWiringsMeta,
82
- schemas: Record<string, any>
83
- ) => {
84
- const requiredSchemas = new Set<string>()
85
- for (const routeMeta of Object.values(routesMeta)) {
86
- for (const { inputTypes, pikkuFuncName } of Object.values(routeMeta)) {
87
- const output = functionsMeta[pikkuFuncName]?.outputs?.[0]
88
- if (inputTypes?.body) {
89
- requiredSchemas.add(inputTypes?.body)
90
- }
91
- if (output) {
92
- requiredSchemas.add(output)
93
- }
94
- }
95
- }
96
-
97
- const convertedEntries = await Promise.all(
98
- Object.entries(schemas).map(async ([key, schema]) => {
99
- if (requiredSchemas.has(key)) {
100
- const convertedSchema = await convertSchema(schema, {
101
- convertUnreferencedDefinitions: false,
102
- dereference: { circular: 'ignore' },
103
- })
104
- return [key, convertedSchema]
105
- }
106
- return
107
- })
108
- )
109
- return Object.fromEntries(convertedEntries.filter((s) => !!s))
110
- }
111
-
112
- export async function generateOpenAPISpec(
113
- logger: CLILogger,
114
- functionsMeta: FunctionsMeta,
115
- httpMeta: HTTPWiringsMeta,
116
- schemas: Record<string, any>,
117
- additionalInfo: OpenAPISpecInfo
118
- ): Promise<OpenAPISpec> {
119
- const paths: Record<string, any> = {}
120
-
121
- for (const routeMeta of Object.values(httpMeta)) {
122
- for (const meta of Object.values(routeMeta)) {
123
- const {
124
- route,
125
- method,
126
- inputTypes,
127
- pikkuFuncName,
128
- params,
129
- query,
130
- errors,
131
- description,
132
- tags,
133
- } = meta
134
- const functionMeta = functionsMeta[pikkuFuncName]
135
- if (!functionMeta) {
136
- logger.error(
137
- `• No function metadata found for '${pikkuFuncName}' in route '${route}'.`
138
- )
139
- continue
140
- }
141
-
142
- const output = functionMeta.outputs ? functionMeta.outputs[0] : undefined
143
-
144
- const path = route.replace(/:(\w+)/g, '{$1}') // Convert ":param" to "{param}"
145
-
146
- if (!paths[path]) {
147
- paths[path] = {}
148
- }
149
-
150
- const responses = {}
151
- errors?.forEach((error) => {
152
- const errorResponse = getErrorResponseForConstructorName(error)
153
- if (errorResponse) {
154
- responses[errorResponse.status] = {
155
- description: errorResponse.message,
156
- }
157
- }
158
- })
159
-
160
- const operation: any = {
161
- description:
162
- description ||
163
- `This endpoint handles the ${method.toUpperCase()} request for the route ${route}.`,
164
- tags: tags || [route.split('/')[1] || 'default'],
165
- parameters: [],
166
- responses: {
167
- ...responses,
168
- '200': {
169
- description: 'Successful response',
170
- content: output
171
- ? {
172
- 'application/json': {
173
- schema:
174
- typeof output === 'string' &&
175
- ['boolean', 'string', 'number'].includes(output)
176
- ? { type: output }
177
- : { $ref: `#/components/schemas/${output}` },
178
- },
179
- }
180
- : undefined,
181
- },
182
- },
183
- }
184
-
185
- const bodyType = inputTypes?.body
186
- if (bodyType) {
187
- operation.requestBody = {
188
- required: true,
189
- content: {
190
- 'application/json': {
191
- schema:
192
- typeof bodyType === 'string' &&
193
- ['boolean', 'string', 'number'].includes(bodyType)
194
- ? { type: bodyType }
195
- : { $ref: `#/components/schemas/${bodyType}` },
196
- },
197
- },
198
- }
199
- }
200
-
201
- if (params) {
202
- operation.parameters = params.map((param) => ({
203
- name: param,
204
- in: 'path',
205
- required: true,
206
- schema: { type: 'string' },
207
- }))
208
- }
209
-
210
- if (query) {
211
- operation.parameters.push(
212
- ...query.map((query) => ({
213
- name: query,
214
- in: 'query',
215
- required: false,
216
- schema: { type: 'string' },
217
- }))
218
- )
219
- }
220
-
221
- paths[path][method] = operation
222
- }
223
- }
224
-
225
- return {
226
- openapi: '3.1.0',
227
- info: additionalInfo.info,
228
- servers: additionalInfo.servers,
229
- paths,
230
- components: {
231
- schemas: await convertSchemasToBodyPayloads(
232
- functionsMeta,
233
- httpMeta,
234
- schemas
235
- ),
236
- responses: {},
237
- parameters: {},
238
- examples: {},
239
- requestBodies: {},
240
- headers: {},
241
- securitySchemes: additionalInfo.securitySchemes || {
242
- ApiKeyAuth: {
243
- type: 'apiKey',
244
- in: 'header',
245
- name: 'x-api-key',
246
- },
247
- BearerAuth: {
248
- type: 'http',
249
- scheme: 'bearer',
250
- },
251
- },
252
- },
253
- security: additionalInfo.security || [
254
- {
255
- ApiKeyAuth: [],
256
- },
257
- {
258
- BearerAuth: [],
259
- },
260
- ],
261
- tags: additionalInfo.tags,
262
- externalDocs: additionalInfo.externalDocs,
263
- // definitions
264
- }
265
- }
@@ -1,27 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
4
- import { serializeTypedHTTPWiringsMap } from './serialize-typed-http-map.js'
5
-
6
- export const pikkuHTTPMap: any = pikkuSessionlessFunc<void, void>({
7
- func: async ({ logger, config, getInspectorState }) => {
8
- const { http, functions } = await getInspectorState()
9
- const { httpMapDeclarationFile, packageMappings } = config
10
-
11
- const content = serializeTypedHTTPWiringsMap(
12
- httpMapDeclarationFile,
13
- packageMappings,
14
- functions.typesMap,
15
- functions.meta,
16
- http.meta,
17
- http.metaInputTypes
18
- )
19
- await writeFileInDir(logger, httpMapDeclarationFile, content)
20
- },
21
- middleware: [
22
- logCommandInfoAndTime({
23
- commandStart: 'Creating HTTP map',
24
- commandEnd: 'Created HTTP map',
25
- }),
26
- ],
27
- })
@@ -1,80 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
6
- import {
7
- stripVerboseFields,
8
- hasVerboseFields,
9
- } from '../../../utils/strip-verbose-meta.js'
10
-
11
- export const pikkuHTTP: any = pikkuSessionlessFunc<void, boolean | undefined>({
12
- func: async ({ logger, config, getInspectorState }) => {
13
- const visitState = await getInspectorState()
14
- const {
15
- httpWiringsFile,
16
- httpWiringMetaFile,
17
- httpWiringMetaJsonFile,
18
- packageMappings,
19
- schema,
20
- } = config
21
- const { http } = visitState
22
-
23
- await writeFileInDir(
24
- logger,
25
- httpWiringsFile,
26
- serializeFileImports(
27
- 'wireHTTP',
28
- httpWiringsFile,
29
- http.files,
30
- packageMappings
31
- )
32
- )
33
-
34
- // Write minimal JSON (runtime-only fields)
35
- const minimalMeta = stripVerboseFields(http.meta)
36
- await writeFileInDir(
37
- logger,
38
- httpWiringMetaJsonFile,
39
- JSON.stringify(minimalMeta, null, 2)
40
- )
41
-
42
- // Write verbose JSON only if it has additional fields
43
- if (hasVerboseFields(http.meta)) {
44
- const verbosePath = httpWiringMetaJsonFile.replace(
45
- /\.gen\.json$/,
46
- '-verbose.gen.json'
47
- )
48
- await writeFileInDir(
49
- logger,
50
- verbosePath,
51
- JSON.stringify(http.meta, null, 2)
52
- )
53
- }
54
-
55
- // Generate TypeScript file that imports the minimal JSON
56
- const jsonImportPath = getFileImportRelativePath(
57
- httpWiringMetaFile,
58
- httpWiringMetaJsonFile,
59
- packageMappings
60
- )
61
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
62
- const importStatement = supportsImportAttributes
63
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
64
- : `import metaData from '${jsonImportPath}'`
65
-
66
- await writeFileInDir(
67
- logger,
68
- httpWiringMetaFile,
69
- `import { pikkuState } from '@pikku/core'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`
70
- )
71
-
72
- return true
73
- },
74
- middleware: [
75
- logCommandInfoAndTime({
76
- commandStart: 'Finding HTTP routes',
77
- commandEnd: 'Found HTTP routes',
78
- }),
79
- ],
80
- })
@@ -1,25 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializeHTTPTypes } from './serialize-http-types.js'
6
-
7
- export const pikkuHTTPTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const { httpTypesFile, functionTypesFile, packageMappings } = config
10
-
11
- const functionTypesImportPath = getFileImportRelativePath(
12
- httpTypesFile,
13
- functionTypesFile,
14
- packageMappings
15
- )
16
- const content = serializeHTTPTypes(functionTypesImportPath)
17
- await writeFileInDir(logger, httpTypesFile, content)
18
- },
19
- middleware: [
20
- logCommandInfoAndTime({
21
- commandStart: 'Creating HTTP types',
22
- commandEnd: 'Created HTTP types',
23
- }),
24
- ],
25
- })
@@ -1,64 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
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
- import { stringify } from 'yaml'
7
-
8
- export const pikkuOpenAPI: any = pikkuSessionlessFunc<void, void>({
9
- func: async ({ logger, config, getInspectorState }) => {
10
- const { tsconfig, openAPI, schemasFromTypes } = config
11
-
12
- // If openAPI outputFile is not defined, clean up any existing file and return
13
- if (!openAPI?.outputFile) {
14
- logger.info({
15
- message:
16
- 'Skipping creating OpenAPI spec since openAPI outfile is not defined.',
17
- type: 'skip',
18
- })
19
- return
20
- }
21
-
22
- const { http, functions, zodLookup } = await getInspectorState()
23
-
24
- const schemas = await generateSchemas(
25
- logger,
26
- tsconfig,
27
- functions.typesMap,
28
- functions.meta,
29
- http.meta,
30
- schemasFromTypes,
31
- config.schema?.additionalProperties,
32
- zodLookup
33
- )
34
- const openAPISpec = await generateOpenAPISpec(
35
- logger,
36
- functions.meta,
37
- http.meta,
38
- schemas,
39
- openAPI.additionalInfo
40
- )
41
-
42
- if (openAPI.outputFile.endsWith('.json')) {
43
- await writeFileInDir(
44
- logger,
45
- openAPI.outputFile,
46
- JSON.stringify(openAPISpec, null, 2),
47
- { ignoreModifyComment: true }
48
- )
49
- } else if (
50
- openAPI.outputFile.endsWith('.yaml') ||
51
- openAPI.outputFile.endsWith('.yml')
52
- ) {
53
- await writeFileInDir(logger, openAPI.outputFile, stringify(openAPISpec), {
54
- ignoreModifyComment: true,
55
- })
56
- }
57
- },
58
- middleware: [
59
- logCommandInfoAndTime({
60
- commandStart: 'Creating OpenAPI spec',
61
- commandEnd: 'Created OpenAPI spec',
62
- }),
63
- ],
64
- })
@@ -1,61 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
6
-
7
- export const pikkuHTTP: any = pikkuSessionlessFunc<void, boolean>({
8
- func: async ({ logger, config, getInspectorState }) => {
9
- const visitState = await getInspectorState()
10
- const {
11
- httpWiringsFile,
12
- httpWiringMetaFile,
13
- httpWiringMetaJsonFile,
14
- packageMappings,
15
- schema,
16
- } = config
17
- const { http } = visitState
18
-
19
- await writeFileInDir(
20
- logger,
21
- httpWiringsFile,
22
- serializeFileImports(
23
- 'wireHTTP',
24
- httpWiringsFile,
25
- http.files,
26
- packageMappings
27
- )
28
- )
29
-
30
- await writeFileInDir(
31
- logger,
32
- httpWiringMetaJsonFile,
33
- JSON.stringify(http.meta, null, 2)
34
- )
35
-
36
- const jsonImportPath = getFileImportRelativePath(
37
- httpWiringMetaFile,
38
- httpWiringMetaJsonFile,
39
- packageMappings
40
- )
41
-
42
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
43
- const importStatement = supportsImportAttributes
44
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
45
- : `import metaData from '${jsonImportPath}'`
46
-
47
- await writeFileInDir(
48
- logger,
49
- httpWiringMetaFile,
50
- `import { pikkuState, HTTPWiringsMeta } from '@pikku/core'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`
51
- )
52
-
53
- return true
54
- },
55
- middleware: [
56
- logCommandInfoAndTime({
57
- commandStart: 'Finding HTTP routes',
58
- commandEnd: 'Found HTTP routes',
59
- }),
60
- ],
61
- })
@@ -1,67 +0,0 @@
1
- export const serializeFetchWrapper = (routesMapPath: string) => {
2
- return `
3
- import { CorePikkuFetch, HTTPMethod } from '@pikku/fetch'
4
- import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
5
-
6
- export class PikkuFetch extends CorePikkuFetch {
7
- public async post<Route extends HTTPWiringsWithMethod<'POST'>>(
8
- route: Route,
9
- ...args: null extends HTTPWiringHandlerOf<Route, 'POST'>['input']
10
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'POST'>['input'], null>, options?: Omit<RequestInit, 'body'>]
11
- : [data: HTTPWiringHandlerOf<Route, 'POST'>['input'], options?: Omit<RequestInit, 'body'>]
12
- ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> {
13
- const [data, options] = args;
14
- return super.api(route, 'POST', data, options);
15
- }
16
-
17
- public async get<Route extends HTTPWiringsWithMethod<'GET'>>(
18
- route: Route,
19
- ...args: null extends HTTPWiringHandlerOf<Route, 'GET'>['input']
20
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'GET'>['input'], null>, options?: Omit<RequestInit, 'body'>]
21
- : [data: HTTPWiringHandlerOf<Route, 'GET'>['input'], options?: Omit<RequestInit, 'body'>]
22
- ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> {
23
- const [data, options] = args;
24
- return super.api(route, 'GET', data, options);
25
- }
26
-
27
- public async patch<Route extends HTTPWiringsWithMethod<'PATCH'>>(
28
- route: Route,
29
- ...args: null extends HTTPWiringHandlerOf<Route, 'PATCH'>['input']
30
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'PATCH'>['input'], null>, options?: Omit<RequestInit, 'body'>]
31
- : [data: HTTPWiringHandlerOf<Route, 'PATCH'>['input'], options?: Omit<RequestInit, 'body'>]
32
- ): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> {
33
- const [data, options] = args;
34
- return super.api(route, 'PATCH', data, options);
35
- }
36
-
37
- public async head<Route extends HTTPWiringsWithMethod<'HEAD'>>(
38
- route: Route,
39
- ...args: null extends HTTPWiringHandlerOf<Route, 'HEAD'>['input']
40
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'HEAD'>['input'], null>, options?: Omit<RequestInit, 'body'>]
41
- : [data: HTTPWiringHandlerOf<Route, 'HEAD'>['input'], options?: Omit<RequestInit, 'body'>]
42
- ): Promise<HTTPWiringHandlerOf<Route, 'HEAD'>['output']> {
43
- const [data, options] = args;
44
- return super.api(route, 'HEAD', data, options);
45
- }
46
-
47
- public async delete<Route extends HTTPWiringsWithMethod<'DELETE'>>(
48
- route: Route,
49
- ...args: null extends HTTPWiringHandlerOf<Route, 'DELETE'>['input']
50
- ? [data?: Exclude<HTTPWiringHandlerOf<Route, 'DELETE'>['input'], null>, options?: Omit<RequestInit, 'body'>]
51
- : [data: HTTPWiringHandlerOf<Route, 'DELETE'>['input'], options?: Omit<RequestInit, 'body'>]
52
- ): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> {
53
- const [data, options] = args;
54
- return super.api(route, 'DELETE', data, options);
55
- }
56
-
57
- public async fetch<
58
- Route extends keyof HTTPWiringsMap,
59
- Method extends keyof HTTPWiringsMap[Route]
60
- >(route: Route, method: Method, data: HTTPWiringHandlerOf<Route, Method>['input'], options?: Omit<RequestInit, 'body'>): Promise<Response> {
61
- return await super.fetch(route, method as HTTPMethod, data, options);
62
- }
63
- }
64
-
65
- export const pikkuFetch = new PikkuFetch();
66
- `
67
- }
@@ -1,105 +0,0 @@
1
- /**
2
- * Generates type definitions for HTTP wirings
3
- */
4
- export const serializeHTTPTypes = (functionTypesImportPath: string) => {
5
- return `/**
6
- * HTTP-specific type definitions for tree-shaking optimization
7
- */
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'
12
-
13
- /**
14
- * Type definition for HTTP API wirings with type-safe path parameters.
15
- * Supports both authenticated and unauthenticated functions.
16
- *
17
- * @template In - Input type for the HTTP wiring
18
- * @template Out - Output type for the HTTP wiring
19
- * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
20
- */
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
-
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
- /**
40
- * Registers an HTTP wiring with the Pikku framework.
41
- *
42
- * @template In - Input type for the HTTP wiring
43
- * @template Out - Output type for the HTTP wiring
44
- * @template Route - String literal type for the HTTP path (e.g., "/users/:id")
45
- * @param httpWiring - HTTP wiring definition with handler, method, and optional middleware
46
- */
47
- export const wireHTTP = <In, Out, Route extends string>(
48
- httpWiring: (HTTPWiring<In, Out, Route> & AssertHTTPWiringParams<In, Route>) | HTTPWorkflowWiring<Route>
49
- ) => {
50
- wireHTTPCore(httpWiring as any)
51
- }
52
-
53
- /**
54
- * Registers HTTP middleware either globally or for a specific route pattern.
55
- *
56
- * When a string route pattern is provided along with middleware, the middleware
57
- * is applied only to that route. Otherwise, if an array is provided, it is treated
58
- * as global middleware (applied to all routes).
59
- *
60
- * @param routeOrMiddleware - Either a global middleware array or a route pattern string
61
- * @param middleware - The middleware array to apply when a route pattern is specified
62
- *
63
- * @example
64
- * \`\`\`typescript
65
- * // Add global HTTP middleware
66
- * addHTTPMiddleware([authMiddleware, loggingMiddleware])
67
- *
68
- * // Add route-specific middleware
69
- * addHTTPMiddleware('/api/admin/*', [adminAuthMiddleware])
70
- * \`\`\`
71
- */
72
- export const addHTTPMiddleware = (
73
- routeOrMiddleware: PikkuMiddleware[] | string,
74
- middleware?: PikkuMiddleware[]
75
- ) => {
76
- addHTTPMiddlewareCore(routeOrMiddleware as any, middleware as any)
77
- }
78
-
79
- /**
80
- * Registers HTTP permissions either globally or for a specific route pattern.
81
- *
82
- * When a string route pattern is provided along with permissions, the permissions
83
- * are applied only to that route. Permissions can be passed as an array or as a
84
- * permission group object.
85
- *
86
- * @param pattern - Route pattern string (e.g., '*' for all routes, '/api/*' for specific routes)
87
- * @param permissions - The permissions to apply for the specified route pattern
88
- *
89
- * @example
90
- * \`\`\`typescript
91
- * // Add global HTTP permissions
92
- * addHTTPPermission('*', { global: globalPermission })
93
- *
94
- * // Add route-specific permissions
95
- * addHTTPPermission('/api/admin/*', { admin: adminPermission })
96
- * \`\`\`
97
- */
98
- export const addHTTPPermission = <In = unknown>(
99
- pattern: string,
100
- permissions: Record<string, PikkuPermission<In>> | PikkuPermission<In>[]
101
- ) => {
102
- addHTTPPermissionCore(pattern, permissions as any)
103
- }
104
- `
105
- }