@pikku/cli 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  26. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +65 -10
  27. package/dist/.pikku/channel/pikku-channel-types.gen.js +23 -16
  28. package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
  29. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  31. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  32. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  33. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  34. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  36. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -12
  38. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  40. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  41. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  42. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  43. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  44. package/dist/.pikku/function/pikku-function-types.gen.d.ts +180 -37
  45. package/dist/.pikku/function/pikku-function-types.gen.js +63 -53
  46. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  47. package/dist/.pikku/function/pikku-functions-meta.gen.json +624 -506
  48. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  49. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  50. package/dist/.pikku/http/pikku-http-types.gen.d.ts +54 -3
  51. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  52. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
  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 +68 -29
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +8 -42
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
  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 +9 -10
  64. package/dist/.pikku/pikku-bootstrap.gen.js +17 -8
  65. package/dist/.pikku/pikku-services.gen.d.ts +7 -2
  66. package/dist/.pikku/pikku-services.gen.js +5 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -1
  68. package/dist/.pikku/pikku-types.gen.js +7 -1
  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 +6 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +6 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +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 +33 -15
  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/PikkuConsoleFunctionsOutput.schema.json +1 -0
  92. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  93. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  95. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  97. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  98. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  99. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  100. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  101. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  102. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  103. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  104. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  105. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  106. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  107. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  108. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +71 -53
  109. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +23 -35
  110. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
  111. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
  112. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
  113. package/dist/bin/pikku.js +20 -47
  114. package/dist/src/cli.wiring.js +29 -2
  115. package/dist/src/functions/commands/all.d.ts +1 -1
  116. package/dist/src/functions/commands/all.js +109 -168
  117. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  118. package/dist/src/functions/commands/bootstrap.js +13 -29
  119. package/dist/src/functions/commands/console.d.ts +7 -0
  120. package/dist/src/functions/commands/console.js +106 -0
  121. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  122. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  123. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  124. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  125. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  126. package/dist/src/functions/commands/versions-check.js +17 -0
  127. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  128. package/dist/src/functions/commands/versions-init.js +15 -0
  129. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  130. package/dist/src/functions/commands/versions-update.js +20 -0
  131. package/dist/src/functions/commands/watch.d.ts +1 -1
  132. package/dist/src/functions/commands/watch.js +4 -5
  133. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  134. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  135. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  136. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -8
  137. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  138. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +49 -43
  139. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +45 -35
  140. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  141. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  142. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  143. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  144. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  145. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  146. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  147. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  148. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  149. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  150. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  151. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  152. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  153. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  154. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  155. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  156. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  157. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  158. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  159. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  160. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  161. package/dist/src/functions/wirings/channels/pikku-command-channels.js +19 -3
  162. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  163. package/dist/src/functions/wirings/channels/serialize-channel-types.js +97 -10
  164. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  165. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +9 -10
  166. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  167. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  168. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  169. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  170. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  171. package/dist/src/functions/wirings/cli/pikku-command-cli.js +11 -3
  172. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  173. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  174. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  175. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  176. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  177. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  178. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  179. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  180. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  181. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  182. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  183. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  184. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  185. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  186. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  187. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  188. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  189. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  190. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  191. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +8 -3
  192. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  193. package/dist/src/functions/wirings/functions/pikku-command-functions.js +34 -19
  194. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  195. package/dist/src/functions/wirings/functions/pikku-command-services.js +2 -2
  196. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  197. package/dist/src/functions/wirings/functions/schemas.js +8 -9
  198. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  199. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  200. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +4 -3
  201. package/dist/src/functions/wirings/functions/serialize-function-imports.js +16 -19
  202. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  203. package/dist/src/functions/wirings/functions/serialize-function-types.js +256 -42
  204. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  205. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +22 -21
  206. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  207. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  208. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  209. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +19 -3
  210. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  211. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  212. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  213. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  214. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  215. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  216. package/dist/src/functions/wirings/http/serialize-http-types.js +64 -3
  217. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  218. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +43 -31
  219. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  220. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  221. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  222. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  223. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  224. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +28 -10
  225. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +81 -38
  226. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  227. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -31
  228. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  229. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  230. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  231. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -0
  232. package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
  233. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  234. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  235. package/dist/src/functions/wirings/package/serialize-package.d.ts +5 -0
  236. package/dist/src/functions/wirings/package/serialize-package.js +32 -0
  237. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  238. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  239. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  240. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  241. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  242. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  243. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  244. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  245. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  246. package/dist/src/functions/wirings/queue/pikku-command-queue.js +11 -3
  247. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  248. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  249. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  250. package/dist/src/functions/wirings/queue/pikku-queue.js +2 -10
  251. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  252. package/dist/src/functions/wirings/queue/serialize-queue-map.js +13 -24
  253. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  254. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  255. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  256. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  257. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  258. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  259. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  260. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  261. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  262. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  263. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  264. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  265. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  266. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  267. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -2
  268. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  269. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  270. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +130 -59
  271. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  272. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  273. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  274. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +11 -2
  275. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  276. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  277. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  278. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  279. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  280. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  281. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  282. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  283. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  284. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  285. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  286. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  287. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  288. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  289. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  290. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  291. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  292. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  293. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  294. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  295. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +29 -20
  296. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +7 -2
  297. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +87 -38
  298. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
  299. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +42 -18
  300. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
  301. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +26 -0
  302. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -4
  303. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +121 -63
  304. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
  305. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +15 -28
  306. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  307. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  308. package/dist/src/services/cli-logger.service.d.ts +1 -1
  309. package/dist/src/services/cli-logger.service.js +1 -1
  310. package/dist/src/services.d.ts +1 -1
  311. package/dist/src/services.js +56 -6
  312. package/dist/src/utils/command-summary.d.ts +3 -0
  313. package/dist/src/utils/command-summary.js +3 -0
  314. package/dist/src/utils/contract-versions.d.ts +6 -0
  315. package/dist/src/utils/contract-versions.js +25 -0
  316. package/dist/src/utils/file-import-path.js +20 -6
  317. package/dist/src/utils/generate-bootstrap-file.js +1 -1
  318. package/dist/src/utils/pikku-cli-config.js +104 -13
  319. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  320. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  321. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  322. package/dist/src/utils/serialize-import-map.js +3 -54
  323. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  324. package/dist/src/utils/serialize-meta-ts.js +12 -0
  325. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  326. package/dist/src/utils/serialize-schemas.js +38 -0
  327. package/dist/src/utils/strip-verbose-meta.d.ts +43 -0
  328. package/dist/src/utils/strip-verbose-meta.js +210 -0
  329. package/dist/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +20 -8
  331. package/.pikku/channel/pikku-channel-types.gen.ts +0 -91
  332. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  333. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -5
  334. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  335. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  336. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  337. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  338. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -146
  339. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  340. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  341. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  342. package/.pikku/function/pikku-function-types.gen.ts +0 -426
  343. package/.pikku/function/pikku-functions-meta.gen.json +0 -988
  344. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  345. package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  346. package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
  347. package/.pikku/http/pikku-http-types.gen.ts +0 -86
  348. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  349. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -13
  350. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  351. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -140
  352. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  353. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  354. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  355. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  356. package/.pikku/pikku-bootstrap.gen.ts +0 -19
  357. package/.pikku/pikku-services.gen.ts +0 -27
  358. package/.pikku/pikku-types.gen.ts +0 -27
  359. package/.pikku/pikku-websocket.gen.ts +0 -90
  360. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  361. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  362. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  363. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  364. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  365. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -27
  366. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -57
  367. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -99
  368. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  369. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  370. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  371. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  372. package/.pikku/schemas/register.gen.ts +0 -63
  373. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  374. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  375. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  376. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  377. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  378. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  379. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  380. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  381. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  382. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  383. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  388. package/.pikku/services/config.gen.json +0 -99
  389. package/.pikku/services/getInspectorState.gen.json +0 -10
  390. package/.pikku/services/jwt.gen.json +0 -13
  391. package/.pikku/services/logger.gen.json +0 -25
  392. package/.pikku/services/queueService.gen.json +0 -14
  393. package/.pikku/services/schedulerService.gen.json +0 -17
  394. package/.pikku/services/schema.gen.json +0 -14
  395. package/.pikku/services/variables.gen.json +0 -13
  396. package/.pikku/services/workflowService.gen.json +0 -31
  397. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -62
  398. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -97
  399. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +0 -1
  400. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -8
  401. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -8
  402. package/CHANGELOG.md +0 -935
  403. package/bin/pikku.ts +0 -88
  404. package/build.sh +0 -75
  405. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
  406. package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  407. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  408. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  409. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  410. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  411. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  412. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  413. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  414. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -101
  415. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  416. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  417. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  418. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  419. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
  420. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
  421. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
  422. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
  423. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
  424. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
  425. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  426. package/dist/src/utils/custom-types-generator.js +0 -43
  427. package/dist/src/utils/schema-generator.d.ts +0 -6
  428. package/dist/src/utils/schema-generator.js +0 -118
  429. package/pikku.config.json +0 -29
  430. package/run-tests.sh +0 -53
  431. package/src/cli.wiring.ts +0 -112
  432. package/src/functions/commands/all.ts +0 -266
  433. package/src/functions/commands/bootstrap.ts +0 -43
  434. package/src/functions/commands/watch.ts +0 -61
  435. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -132
  436. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -268
  437. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -201
  438. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  439. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  440. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  441. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -40
  442. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  443. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -94
  444. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -172
  445. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  446. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  447. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  448. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -62
  449. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  450. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  451. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  452. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  453. package/src/functions/wirings/fetch/index.ts +0 -36
  454. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -60
  455. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -43
  456. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -94
  457. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  458. package/src/functions/wirings/functions/pikku-function-types.ts +0 -43
  459. package/src/functions/wirings/functions/schemas.ts +0 -46
  460. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -71
  461. package/src/functions/wirings/functions/serialize-function-types.ts +0 -439
  462. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -38
  463. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  464. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  465. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -36
  466. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  467. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -63
  468. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  469. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  470. package/src/functions/wirings/http/serialize-http-types.ts +0 -89
  471. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -154
  472. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  473. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  474. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -140
  475. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -159
  476. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -143
  477. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -85
  478. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  479. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  480. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  481. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  482. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  483. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  484. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  485. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  486. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -66
  487. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  488. package/src/functions/wirings/queue/pikku-queue.ts +0 -75
  489. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -119
  490. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  491. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  492. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  493. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  494. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  495. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  496. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -48
  497. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  498. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  499. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -30
  500. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  501. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -128
  502. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  503. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -67
  504. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  505. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  506. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  507. package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
  508. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
  509. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -151
  510. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -123
  511. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -33
  512. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -103
  513. package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
  514. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -60
  515. package/src/middleware/log-command-info-and-time.ts +0 -35
  516. package/src/services/cli-logger-forwarder.service.ts +0 -99
  517. package/src/services/cli-logger.service.ts +0 -108
  518. package/src/services.ts +0 -315
  519. package/src/utils/check-required-types.ts +0 -65
  520. package/src/utils/command-summary.ts +0 -103
  521. package/src/utils/custom-types-generator.ts +0 -55
  522. package/src/utils/file-import-path.test.ts +0 -175
  523. package/src/utils/file-import-path.ts +0 -53
  524. package/src/utils/file-imports-serializer.ts +0 -25
  525. package/src/utils/file-writer.ts +0 -72
  526. package/src/utils/generate-bootstrap-file.ts +0 -43
  527. package/src/utils/get-cli-version.ts +0 -28
  528. package/src/utils/pikku-cli-config.ts +0 -462
  529. package/src/utils/pikku-files-and-methods.ts +0 -145
  530. package/src/utils/schema-generator.ts +0 -172
  531. package/src/utils/serialize-import-map.ts +0 -102
  532. package/tsconfig.json +0 -21
  533. package/types/application-types.d.ts +0 -27
  534. package/types/config.d.ts +0 -270
  535. /package/dist/.pikku/{function/pikku-functions-meta.min.gen.d.ts → agent/pikku-agent-wirings-meta.gen.d.ts} +0 -0
  536. /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
  537. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  538. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,10 +1,6 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.11.2
2
+ * This file was generated by @pikku/cli@0.12.0
3
3
  */
4
4
  import '../pikku-bootstrap.gen.js';
5
- /**
6
- * Pikku CLI function
7
- * Handles command line arguments and executes the appropriate function
8
- */
9
5
  export declare function PikkuCLI(args: string[]): Promise<void>;
10
6
  export default PikkuCLI;
@@ -1,15 +1,11 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.11.2
2
+ * This file was generated by @pikku/cli@0.12.0
3
3
  */
4
4
  import { executeCLI, CLIError } from '@pikku/core/cli';
5
5
  import { createConfig as createConfig } from '../../src/services.js';
6
6
  import { createSingletonServices as createSingletonServices } from '../../src/services.js';
7
7
  import { createWireServices as createWireServices } from '../../src/services.js';
8
8
  import '../pikku-bootstrap.gen.js';
9
- /**
10
- * Pikku CLI function
11
- * Handles command line arguments and executes the appropriate function
12
- */
13
9
  export async function PikkuCLI(args) {
14
10
  try {
15
11
  await executeCLI({
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file was generated by @pikku/cli@0.12.0
3
+ */
4
+ import type { FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.js';
5
+ export type NodeCategory = never;
6
+ export type NodeRPCName = keyof FlattenedRPCMap;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,18 +1,32 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.11.2
2
+ * This file was generated by @pikku/cli@0.12.0
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
6
6
  */
7
- import { CorePikkuFunctionConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup, PikkuWire, PickRequired } from '@pikku/core';
7
+ import { CorePikkuFunctionConfig, CorePikkuAuth, CorePikkuAuthConfig, CorePikkuPermission, CorePikkuMiddleware, CorePermissionGroup, PikkuWire, PickRequired, CreateWireServices } from '@pikku/core';
8
+ import type { NodeType } from '@pikku/core/node';
9
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
8
10
  import { CorePikkuFunction, CorePikkuFunctionSessionless } from '@pikku/core/function';
9
11
  import type { UserSession } from '../../types/application-types.d.js';
10
12
  import type { SingletonServices } from '../../types/application-types.d.js';
11
13
  import type { Services } from '../../types/application-types.d.js';
12
14
  import type { Config } from '../../types/application-types.d.js';
13
- import type { TypedPikkuRPC } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js';
15
+ import type { TypedPikkuRPC, FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js';
14
16
  import type { RequiredSingletonServices, RequiredWireServices } from '../pikku-services.gen.js';
15
- type Session = UserSession;
17
+ import type { TypedWorkflow } from '../workflow/pikku-workflow-types.gen.js';
18
+ export type { SingletonServices as SingletonServices };
19
+ export type { Services as Services };
20
+ export type Session = UserSession;
21
+ /**
22
+ * Inline node configuration for function definitions.
23
+ */
24
+ export type NodeConfig = {
25
+ displayName: string;
26
+ category: string;
27
+ type: NodeType;
28
+ errorOutput?: boolean;
29
+ };
16
30
  /**
17
31
  * Type-safe API permission definition that integrates with your application's session type.
18
32
  * Use this to define authorization logic for your API endpoints.
@@ -63,6 +77,39 @@ export type PikkuPermissionConfig<In = unknown, RequiredServices extends Service
63
77
  * ```
64
78
  */
65
79
  export declare const pikkuPermission: <In>(permission: PikkuPermission<In> | PikkuPermissionConfig<In>) => PikkuPermission<In>;
80
+ /**
81
+ * Type-safe auth-only permission that only needs services and session.
82
+ * Use this for upfront authorization gates (MCP tools, AI agents, workflows)
83
+ * where request data isn't available yet.
84
+ *
85
+ * @template RequiredServices - The services required for this auth check
86
+ */
87
+ export type PikkuAuth<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuAuth<RequiredServices, Session>;
88
+ /**
89
+ * Configuration object for creating an auth permission with metadata
90
+ */
91
+ export type PikkuAuthConfig<RequiredServices extends SingletonServices = SingletonServices> = CorePikkuAuthConfig<RequiredServices, Session>;
92
+ /**
93
+ * Factory function for creating auth-only permissions with tree-shaking support.
94
+ * Auth permissions only receive services and session (no request data),
95
+ * making them evaluable before request data is available.
96
+ *
97
+ * @example
98
+ * \`\`\`typescript
99
+ * const isAuthenticated = pikkuAuth(async ({ logger }, session) => {
100
+ * return !!session
101
+ * })
102
+ *
103
+ * const isAdmin = pikkuAuth({
104
+ * name: 'Admin Auth',
105
+ * description: 'Checks if user is an admin',
106
+ * func: async ({ logger }, session) => {
107
+ * return session?.role === 'admin'
108
+ * }
109
+ * })
110
+ * \`\`\`
111
+ */
112
+ export declare const pikkuAuth: <RequiredServices extends SingletonServices = SingletonServices>(auth: PikkuAuth<RequiredServices> | PikkuAuthConfig<RequiredServices>) => PikkuPermission<any, any>;
66
113
  /**
67
114
  * Configuration object for creating middleware with metadata
68
115
  */
@@ -125,8 +172,8 @@ export declare const pikkuMiddlewareFactory: <In = any>(factory: (input: In) =>
125
172
  * export const requireRole = pikkuPermissionFactory<{ role: string }>(({
126
173
  * role
127
174
  * }) => {
128
- * return pikkuPermission(async ({ logger }, data, { initialSession }) => {
129
- * if (!initialSession || initialSession.role !== role) {
175
+ * return pikkuPermission(async ({ logger }, data, { session }) => {
176
+ * if (!session || session.role !== role) {
130
177
  * logger.warn(`Permission denied: required role '${role}'`)
131
178
  * return false
132
179
  * }
@@ -144,7 +191,7 @@ export declare const pikkuPermissionFactory: <In = any>(factory: (input: In) =>
144
191
  * @template Out - The output type that the function returns
145
192
  * @template RequiredServices - Services required by this function
146
193
  */
147
- export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = never, RequiredServices extends Services = Services> = CorePikkuFunctionSessionless<In, Out, RequiredServices, PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any>, RequiredWires>>;
194
+ export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = never, RequiredServices extends Services = Services> = CorePikkuFunctionSessionless<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow>, RequiredWires>>;
148
195
  /**
149
196
  * A session-aware API function that requires user authentication.
150
197
  * Use this for protected endpoints that need access to user session data.
@@ -153,7 +200,11 @@ export type PikkuFunctionSessionless<In = unknown, Out = never, RequiredWires ex
153
200
  * @template Out - The output type that the function returns
154
201
  * @template RequiredServices - Services required by this function
155
202
  */
156
- export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = 'session', RequiredServices extends Services = Services> = CorePikkuFunction<In, Out, RequiredServices, PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any>, RequiredWires>>;
203
+ export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof PikkuWire = 'session', RequiredServices extends Services = Services> = CorePikkuFunction<In, Out, RequiredServices, Session, PickRequired<PikkuWire<In, Out, true, Session, TypedPikkuRPC, null, any, TypedWorkflow>, RequiredWires>>;
204
+ /**
205
+ * Helper type to infer the output type from a Standard Schema
206
+ */
207
+ export type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output> ? Output : never;
157
208
  /**
158
209
  * Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.
159
210
  * This type wraps CorePikkuFunctionConfig with the user's custom types.
@@ -162,51 +213,122 @@ export type PikkuFunction<In = unknown, Out = never, RequiredWires extends keyof
162
213
  * @template Out - The output type
163
214
  * @template PikkuFunc - The function type (can be narrowed to PikkuFunction or PikkuFunctionSessionless)
164
215
  */
165
- export type PikkuFunctionConfig<In = unknown, Out = unknown, RequiredWires extends keyof PikkuWire = never, PikkuFunc extends PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>> = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware>;
216
+ export type PikkuFunctionConfig<In = unknown, Out = unknown, RequiredWires extends keyof PikkuWire = never, PikkuFunc extends PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>, InputSchema extends StandardSchemaV1 | undefined = undefined, OutputSchema extends StandardSchemaV1 | undefined = undefined> = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware, InputSchema, OutputSchema>;
217
+ /**
218
+ * Configuration object for Pikku functions with Zod schema validation.
219
+ * Use this when you want to define input/output schemas using Zod.
220
+ * Types are automatically inferred from the schemas.
221
+ */
222
+ export type PikkuFunctionConfigWithSchema<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never> = {
223
+ name?: string;
224
+ tags?: string[];
225
+ expose?: boolean;
226
+ mcp?: boolean;
227
+ internal?: boolean;
228
+ func: PikkuFunction<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, RequiredWires> | PikkuFunctionSessionless<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, RequiredWires>;
229
+ auth?: boolean;
230
+ permissions?: CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>>;
231
+ middleware?: PikkuMiddleware[];
232
+ input: InputSchema;
233
+ output?: OutputSchema;
234
+ node?: NodeConfig;
235
+ };
166
236
  /**
167
237
  * Creates a Pikku function that can be either session-aware or sessionless.
168
238
  * This is the main function wrapper for creating API endpoints.
169
239
  *
170
- * @template In - Input type for the function
171
- * @template Out - Output type for the function
240
+ * Supports two patterns:
241
+ * 1. Generic types: `pikkuFunc<Input, Output>({ func: ... })`
242
+ * 2. Zod schemas: `pikkuFunc({ input: z.object(...), output: z.object(...), func: ... })`
243
+ *
244
+ * @template In - Input type for the function (inferred from schema if provided)
245
+ * @template Out - Output type for the function (inferred from schema if provided)
172
246
  * @param func - Function definition, either direct function or configuration object
173
247
  * @returns The normalized configuration object
174
248
  *
175
249
  * @example
176
- * \`\`\`typescript
177
- * const createUser = pikkuFunc<{name: string, email: string}, {id: number, message: string}>({
178
- * func: async ({db, logger}, input, wire) => {
179
- * const session = await wire.session.get()
180
- * logger.info('Creating user', input.name)
250
+ * ```typescript
251
+ * // Pattern 1: Using generic types
252
+ * const createUser = pikkuFunc<{name: string, email: string}, {id: number}>({
253
+ * func: async ({db}, input) => {
181
254
  * const user = await db.users.create(input)
182
- * return {id: user.id, message: \`User \${input.name} created successfully\`}
183
- * },
184
- * auth: true
255
+ * return { id: user.id }
256
+ * }
185
257
  * })
186
- * \`\`\`
258
+ *
259
+ * // Pattern 2: Using Zod schemas (types inferred automatically)
260
+ * const createUserInput = z.object({ name: z.string(), email: z.string() })
261
+ * const createUserOutput = z.object({ id: z.number() })
262
+ *
263
+ * const createUser = pikkuFunc({
264
+ * input: createUserInput,
265
+ * output: createUserOutput,
266
+ * func: async ({db}, input) => {
267
+ * // input is typed as { name: string, email: string }
268
+ * const user = await db.users.create(input)
269
+ * return { id: user.id } // must match output schema
270
+ * }
271
+ * })
272
+ * ```
187
273
  */
188
- export declare const pikkuFunc: <In, Out = unknown>(func: PikkuFunction<In, Out, "session" | "rpc"> | PikkuFunctionConfig<In, Out, "session" | "rpc">) => PikkuFunctionConfig<In, Out, "rpc" | "session", PikkuFunction<In, Out, "rpc" | "session", Services> | PikkuFunctionSessionless<In, Out, "rpc" | "session", Services>>;
274
+ export declare function pikkuFunc<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuFunctionConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
275
+ export declare function pikkuFunc<In, Out = unknown>(func: PikkuFunction<In, Out, 'session' | 'rpc'> | PikkuFunctionConfig<In, Out, 'session' | 'rpc'>): PikkuFunctionConfig<In, Out, 'session' | 'rpc'>;
276
+ /**
277
+ * Configuration object for sessionless Pikku functions with Zod schema validation.
278
+ */
279
+ export type PikkuFunctionSessionlessConfigWithSchema<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1 | undefined = undefined, RequiredWires extends keyof PikkuWire = never> = {
280
+ name?: string;
281
+ description?: string;
282
+ tags?: string[];
283
+ expose?: boolean;
284
+ mcp?: boolean;
285
+ internal?: boolean;
286
+ remote?: boolean;
287
+ func: PikkuFunctionSessionless<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, RequiredWires>;
288
+ auth?: boolean;
289
+ permissions?: CorePermissionGroup<PikkuPermission<InferSchemaOutput<InputSchema>>>;
290
+ middleware?: PikkuMiddleware[];
291
+ input: InputSchema;
292
+ output?: OutputSchema;
293
+ node?: NodeConfig;
294
+ };
189
295
  /**
190
296
  * Creates a sessionless Pikku function that doesn't require user authentication.
191
297
  * Use this for public endpoints, webhooks, or background tasks.
192
298
  *
193
- * @template In - Input type for the function
194
- * @template Out - Output type for the function
299
+ * Supports two patterns:
300
+ * 1. Generic types: `pikkuSessionlessFunc<Input, Output>({ func: ... })`
301
+ * 2. Zod schemas: `pikkuSessionlessFunc({ input: z.object(...), func: ... })`
302
+ *
303
+ * @template In - Input type for the function (inferred from schema if provided)
304
+ * @template Out - Output type for the function (inferred from schema if provided)
195
305
  * @param func - Function definition, either direct function or configuration object
196
306
  * @returns The normalized configuration object
197
307
  *
198
308
  * @example
199
- * \`\`\`typescript
200
- * const healthCheck = pikkuSessionlessFunc<void, {status: string, timestamp: string}>({
201
- * func: async ({logger}, input) => {
202
- * logger.info('Health check requested')
203
- * return {status: 'healthy', timestamp: new Date().toISOString()}
204
- * },
205
- * name: 'healthCheck'
309
+ * ```typescript
310
+ * // Pattern 1: Using generic types
311
+ * const healthCheck = pikkuSessionlessFunc<void, {status: string}>({
312
+ * func: async ({logger}) => {
313
+ * return { status: 'healthy' }
314
+ * }
206
315
  * })
207
- * \`\`\`
316
+ *
317
+ * // Pattern 2: Using Zod schemas
318
+ * const greetInput = z.object({ name: z.string() })
319
+ * const greetOutput = z.object({ message: z.string() })
320
+ *
321
+ * const greet = pikkuSessionlessFunc({
322
+ * input: greetInput,
323
+ * output: greetOutput,
324
+ * func: async (_services, { name }) => {
325
+ * return { message: `Hello, ${name}!` }
326
+ * }
327
+ * })
328
+ * ```
208
329
  */
209
- export declare const pikkuSessionlessFunc: <In, Out = unknown>(func: PikkuFunctionSessionless<In, Out, "session" | "rpc"> | PikkuFunctionConfig<In, Out, "session" | "rpc">) => PikkuFunctionConfig<In, Out, "rpc" | "session", PikkuFunctionSessionless<In, Out, "rpc" | "session", Services> | PikkuFunction<In, Out, "rpc" | "session", Services>>;
330
+ export declare function pikkuSessionlessFunc<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1 | undefined = undefined>(config: PikkuFunctionSessionlessConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc'>): PikkuFunctionConfig<InferSchemaOutput<InputSchema>, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>;
331
+ export declare function pikkuSessionlessFunc<In, Out = unknown>(func: PikkuFunctionSessionless<In, Out, 'session' | 'rpc'> | PikkuFunctionConfig<In, Out, 'session' | 'rpc'>): PikkuFunctionConfig<In, Out, 'session' | 'rpc'>;
210
332
  /**
211
333
  * Creates a function that takes no input and returns no output.
212
334
  * Useful for health checks, triggers, or cleanup operations.
@@ -215,15 +337,37 @@ export declare const pikkuSessionlessFunc: <In, Out = unknown>(func: PikkuFuncti
215
337
  * @returns The normalized configuration object
216
338
  *
217
339
  * @example
218
- * \`\`\`typescript
340
+ * ```typescript
219
341
  * const cleanupTempFiles = pikkuVoidFunc(async ({fileSystem, logger}) => {
220
342
  * logger.info('Starting cleanup of temporary files')
221
343
  * await fileSystem.deleteDirectory('/tmp/uploads')
222
344
  * logger.info('Cleanup completed')
223
345
  * })
224
- * \`\`\`
346
+ * ```
347
+ */
348
+ export declare const pikkuVoidFunc: (func: PikkuFunctionSessionless<void, void, "session" | "rpc"> | PikkuFunctionConfig<void, void, "session" | "rpc">) => PikkuFunctionConfig<void, void, "session" | "rpc", PikkuFunctionSessionless<void, void, "session" | "rpc", Services> | PikkuFunction<void, void, "session" | "rpc", Services>, undefined, undefined>;
349
+ /**
350
+ * Creates a wrapper function for external package functions that are exposed via RPC.
351
+ * This allows you to wire external functions to any wiring type (HTTP, queue, etc.)
352
+ * without type compatibility issues.
353
+ *
354
+ * @template Name - The RPC method name (must be a key in FlattenedRPCMap)
355
+ * @param rpcName - The name of the RPC method to invoke
356
+ * @returns A Pikku function that proxies calls to the external RPC method
357
+ *
358
+ * @example
359
+ * ```typescript
360
+ * // Wire an external function via HTTP
361
+ * wireHTTP({
362
+ * auth: false,
363
+ * method: 'get',
364
+ * route: '/external/hello',
365
+ * func: external('ext:hello'),
366
+ * tags: ['external'],
367
+ * })
368
+ * ```
225
369
  */
226
- export declare const pikkuVoidFunc: (func: PikkuFunctionSessionless<void, void, "session" | "rpc"> | PikkuFunctionConfig<void, void, "session" | "rpc">) => PikkuFunctionConfig<void, void, "rpc" | "session", PikkuFunctionSessionless<void, void, "rpc" | "session", Services> | PikkuFunction<void, void, "rpc" | "session", Services>>;
370
+ export declare const external: <Name extends keyof FlattenedRPCMap>(rpcName: Name) => PikkuFunctionConfig<FlattenedRPCMap[Name]["input"], FlattenedRPCMap[Name]["output"], "session" | "rpc">;
227
371
  /**
228
372
  * Creates a Pikku config factory.
229
373
  * Use this to define your application's configuration factory.
@@ -278,7 +422,7 @@ export declare const pikkuServices: (func: (config: Config, existingServices?: P
278
422
  * })
279
423
  * ```
280
424
  */
281
- export declare const pikkuWireServices: (func: (services: SingletonServices, wire: any) => Promise<RequiredWireServices>) => (services: SingletonServices, wire: any) => Promise<RequiredWireServices>;
425
+ export declare const pikkuWireServices: (func: (services: SingletonServices, wire: any) => Promise<RequiredWireServices>) => CreateWireServices;
282
426
  /**
283
427
  * Adds global middleware for a specific tag.
284
428
  *
@@ -327,4 +471,3 @@ export declare const addMiddleware: (tag: string, middleware: PikkuMiddleware[])
327
471
  * ```
328
472
  */
329
473
  export declare const addPermission: <In = unknown>(tag: string, permissions: CorePermissionGroup<PikkuPermission<In>> | PikkuPermission<In>[]) => void;
330
- export {};
@@ -1,10 +1,11 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.11.2
2
+ * This file was generated by @pikku/cli@0.12.0
3
3
  */
4
4
  /**
5
5
  * Core function, middleware, and permission types for all wirings
6
6
  */
7
7
  import { addMiddleware as addMiddlewareCore, addPermission as addPermissionCore } from '@pikku/core';
8
+ import { pikkuAuth as pikkuAuthCore } from '@pikku/core';
8
9
  /**
9
10
  * Factory function for creating permissions with tree-shaking support.
10
11
  * Supports both direct function and configuration object syntax.
@@ -31,6 +32,29 @@ import { addMiddleware as addMiddlewareCore, addPermission as addPermissionCore
31
32
  export const pikkuPermission = (permission) => {
32
33
  return typeof permission === 'function' ? permission : permission.func;
33
34
  };
35
+ /**
36
+ * Factory function for creating auth-only permissions with tree-shaking support.
37
+ * Auth permissions only receive services and session (no request data),
38
+ * making them evaluable before request data is available.
39
+ *
40
+ * @example
41
+ * \`\`\`typescript
42
+ * const isAuthenticated = pikkuAuth(async ({ logger }, session) => {
43
+ * return !!session
44
+ * })
45
+ *
46
+ * const isAdmin = pikkuAuth({
47
+ * name: 'Admin Auth',
48
+ * description: 'Checks if user is an admin',
49
+ * func: async ({ logger }, session) => {
50
+ * return session?.role === 'admin'
51
+ * }
52
+ * })
53
+ * \`\`\`
54
+ */
55
+ export const pikkuAuth = (auth) => {
56
+ return pikkuAuthCore(auth);
57
+ };
34
58
  /**
35
59
  * Factory function for creating middleware with tree-shaking support.
36
60
  * Supports both direct function and configuration object syntax.
@@ -86,8 +110,8 @@ export const pikkuMiddlewareFactory = (factory) => {
86
110
  * export const requireRole = pikkuPermissionFactory<{ role: string }>(({
87
111
  * role
88
112
  * }) => {
89
- * return pikkuPermission(async ({ logger }, data, { initialSession }) => {
90
- * if (!initialSession || initialSession.role !== role) {
113
+ * return pikkuPermission(async ({ logger }, data, { session }) => {
114
+ * if (!session || session.role !== role) {
91
115
  * logger.warn(`Permission denied: required role '${role}'`)
92
116
  * return false
93
117
  * }
@@ -99,54 +123,12 @@ export const pikkuMiddlewareFactory = (factory) => {
99
123
  export const pikkuPermissionFactory = (factory) => {
100
124
  return factory;
101
125
  };
102
- /**
103
- * Creates a Pikku function that can be either session-aware or sessionless.
104
- * This is the main function wrapper for creating API endpoints.
105
- *
106
- * @template In - Input type for the function
107
- * @template Out - Output type for the function
108
- * @param func - Function definition, either direct function or configuration object
109
- * @returns The normalized configuration object
110
- *
111
- * @example
112
- * \`\`\`typescript
113
- * const createUser = pikkuFunc<{name: string, email: string}, {id: number, message: string}>({
114
- * func: async ({db, logger}, input, wire) => {
115
- * const session = await wire.session.get()
116
- * logger.info('Creating user', input.name)
117
- * const user = await db.users.create(input)
118
- * return {id: user.id, message: \`User \${input.name} created successfully\`}
119
- * },
120
- * auth: true
121
- * })
122
- * \`\`\`
123
- */
124
- export const pikkuFunc = (func) => {
126
+ export function pikkuFunc(func) {
125
127
  return typeof func === 'function' ? { func } : func;
126
- };
127
- /**
128
- * Creates a sessionless Pikku function that doesn't require user authentication.
129
- * Use this for public endpoints, webhooks, or background tasks.
130
- *
131
- * @template In - Input type for the function
132
- * @template Out - Output type for the function
133
- * @param func - Function definition, either direct function or configuration object
134
- * @returns The normalized configuration object
135
- *
136
- * @example
137
- * \`\`\`typescript
138
- * const healthCheck = pikkuSessionlessFunc<void, {status: string, timestamp: string}>({
139
- * func: async ({logger}, input) => {
140
- * logger.info('Health check requested')
141
- * return {status: 'healthy', timestamp: new Date().toISOString()}
142
- * },
143
- * name: 'healthCheck'
144
- * })
145
- * \`\`\`
146
- */
147
- export const pikkuSessionlessFunc = (func) => {
128
+ }
129
+ export function pikkuSessionlessFunc(func) {
148
130
  return typeof func === 'function' ? { func } : func;
149
- };
131
+ }
150
132
  /**
151
133
  * Creates a function that takes no input and returns no output.
152
134
  * Useful for health checks, triggers, or cleanup operations.
@@ -155,17 +137,45 @@ export const pikkuSessionlessFunc = (func) => {
155
137
  * @returns The normalized configuration object
156
138
  *
157
139
  * @example
158
- * \`\`\`typescript
140
+ * ```typescript
159
141
  * const cleanupTempFiles = pikkuVoidFunc(async ({fileSystem, logger}) => {
160
142
  * logger.info('Starting cleanup of temporary files')
161
143
  * await fileSystem.deleteDirectory('/tmp/uploads')
162
144
  * logger.info('Cleanup completed')
163
145
  * })
164
- * \`\`\`
146
+ * ```
165
147
  */
166
148
  export const pikkuVoidFunc = (func) => {
167
149
  return typeof func === 'function' ? { func } : func;
168
150
  };
151
+ /**
152
+ * Creates a wrapper function for external package functions that are exposed via RPC.
153
+ * This allows you to wire external functions to any wiring type (HTTP, queue, etc.)
154
+ * without type compatibility issues.
155
+ *
156
+ * @template Name - The RPC method name (must be a key in FlattenedRPCMap)
157
+ * @param rpcName - The name of the RPC method to invoke
158
+ * @returns A Pikku function that proxies calls to the external RPC method
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // Wire an external function via HTTP
163
+ * wireHTTP({
164
+ * auth: false,
165
+ * method: 'get',
166
+ * route: '/external/hello',
167
+ * func: external('ext:hello'),
168
+ * tags: ['external'],
169
+ * })
170
+ * ```
171
+ */
172
+ export const external = (rpcName) => {
173
+ return {
174
+ func: (async (_services, data, { rpc }) => {
175
+ return rpc.invoke(rpcName, data);
176
+ })
177
+ };
178
+ };
169
179
  /**
170
180
  * Creates a Pikku config factory.
171
181
  * Use this to define your application's configuration factory.
@@ -245,7 +255,7 @@ export const pikkuWireServices = (func) => func;
245
255
  * ```
246
256
  */
247
257
  export const addMiddleware = (tag, middleware) => {
248
- addMiddlewareCore(tag, middleware);
258
+ addMiddlewareCore(tag, middleware, null);
249
259
  };
250
260
  /**
251
261
  * Adds global permissions for a specific tag.
@@ -271,5 +281,5 @@ export const addMiddleware = (tag, middleware) => {
271
281
  * ```
272
282
  */
273
283
  export const addPermission = (tag, permissions) => {
274
- addPermissionCore(tag, permissions);
284
+ addPermissionCore(tag, permissions, null);
275
285
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.11.2
2
+ * This file was generated by @pikku/cli@0.12.0
3
3
  */
4
4
  import { pikkuState } from '@pikku/core';
5
5
  import metaData from './pikku-functions-meta.gen.json' with { type: 'json' };
6
- pikkuState('function', 'meta', metaData);
6
+ pikkuState(null, 'function', 'meta', metaData);