@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
@@ -0,0 +1,7 @@
1
+ export declare const pikkuVersionsInit: import("#pikku").PikkuFunctionConfig<{
2
+ force?: boolean;
3
+ }, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<{
4
+ force?: boolean;
5
+ }, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<{
6
+ force?: boolean;
7
+ }, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,15 @@
1
+ import { existsSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { pikkuSessionlessFunc } from '#pikku';
4
+ import { createEmptyManifest, saveManifest, } from '../../utils/contract-versions.js';
5
+ export const pikkuVersionsInit = pikkuSessionlessFunc({
6
+ func: async ({ logger, config }, { force }) => {
7
+ const manifestPath = join(config.outDir, 'versions.json');
8
+ if (existsSync(manifestPath) && !force) {
9
+ logger.error(`Version manifest already exists at ${manifestPath}. Use --force to overwrite.`);
10
+ process.exit(1);
11
+ }
12
+ await saveManifest(manifestPath, createEmptyManifest());
13
+ logger.info(`Version manifest created at ${manifestPath}`);
14
+ },
15
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuVersionsUpdate: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,20 @@
1
+ import { join } from 'path';
2
+ import { pikkuSessionlessFunc } from '#pikku';
3
+ import { ErrorCode } from '@pikku/inspector';
4
+ import { saveManifest } from '../../utils/contract-versions.js';
5
+ export const pikkuVersionsUpdate = pikkuSessionlessFunc({
6
+ func: async ({ logger, config, getInspectorState }) => {
7
+ const manifestPath = join(config.outDir, 'versions.json');
8
+ const visitState = await getInspectorState();
9
+ if (!visitState.manifest.initial) {
10
+ throw new Error(`Version manifest not found at ${manifestPath}. Run 'pikku init' to create one.`);
11
+ }
12
+ const immutabilityErrors = visitState.manifest.errors.filter((e) => e.code === ErrorCode.FUNCTION_VERSION_MODIFIED);
13
+ if (immutabilityErrors.length > 0) {
14
+ const messages = immutabilityErrors.map((e) => `[${e.code}] ${e.message}`);
15
+ throw new Error(messages.join('\n'));
16
+ }
17
+ await saveManifest(manifestPath, visitState.manifest.current);
18
+ logger.debug(`Version manifest updated at ${manifestPath}`);
19
+ },
20
+ });
@@ -1 +1 @@
1
- export declare const watch: any;
1
+ export declare const watch: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,9 +1,8 @@
1
- import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuVoidFunc } from '#pikku';
2
2
  import chokidar from 'chokidar';
3
- import { all } from './all.js';
4
3
  export const watch = pikkuVoidFunc({
5
- func: async ({ logger, config, getInspectorState }) => {
6
- const services = { logger, config, getInspectorState };
4
+ remote: true,
5
+ func: async ({ logger, config }, _data, { rpc }) => {
7
6
  const configWatcher = chokidar.watch(config.srcDirectories, {
8
7
  ignoreInitial: true,
9
8
  ignored: /.*\.gen\.tsx?/,
@@ -20,7 +19,7 @@ export const watch = pikkuVoidFunc({
20
19
  const handle = async () => {
21
20
  try {
22
21
  const start = Date.now();
23
- await all.func(services, null, {});
22
+ await rpc.invoke('all', null);
24
23
  logger.info({
25
24
  message: `✓ Generated in ${Date.now() - start}ms`,
26
25
  type: 'timing',
@@ -0,0 +1 @@
1
+ export declare const pikkuFetch: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,5 +1,5 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
- import { serializeFetchWrapper } from '../http/serialize-fetch-wrapper.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
+ import { serializeFetchWrapper } from '../../wirings/http/serialize-fetch-wrapper.js';
3
3
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { writeFileInDir } from '../../../utils/file-writer.js';
5
5
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -8,7 +8,7 @@ export const pikkuFetch = pikkuSessionlessFunc({
8
8
  const { fetchFile, httpMapDeclarationFile, packageMappings } = config;
9
9
  // If fetchFile is not set, clean up any existing file and return
10
10
  if (!fetchFile) {
11
- logger.info({
11
+ logger.debug({
12
12
  message: "Skipping generating fetch wrapper since fetchFile isn't set in the pikku config.",
13
13
  type: 'skip',
14
14
  });
@@ -1 +1 @@
1
- export declare const pikkuNext: any;
1
+ export declare const pikkuNext: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { checkRequiredTypes } from '../../../utils/check-required-types.js';
3
3
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { writeFileInDir } from '../../../utils/file-writer.js';
@@ -10,7 +10,7 @@ export const pikkuNext = pikkuSessionlessFunc({
10
10
  const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, rpcMapDeclarationFile, packageMappings, fetchFile, } = config;
11
11
  // If both files are undefined, clean up any existing files and return
12
12
  if (!nextBackendFile && !nextHTTPFile) {
13
- logger.info({
13
+ logger.debug({
14
14
  message: 'Skipping generating nextjs wrapper since nextjs outfile is not defined.',
15
15
  type: 'skip',
16
16
  });
@@ -24,21 +24,19 @@ export const pikkuNext = pikkuSessionlessFunc({
24
24
  throw new Error('rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work');
25
25
  }
26
26
  if (nextBackendFile) {
27
- // Check for required types
28
27
  checkRequiredTypes(visitState.filesAndMethodsErrors, {
29
28
  config: true,
30
29
  singletonServicesFactory: true,
31
- wireServicesFactory: true,
32
30
  });
33
31
  const { pikkuConfigFactory, singletonServicesFactory, wireServicesFactory, } = visitState.filesAndMethods;
34
- if (!pikkuConfigFactory ||
35
- !singletonServicesFactory ||
36
- !wireServicesFactory) {
32
+ if (!pikkuConfigFactory || !singletonServicesFactory) {
37
33
  throw new Error('Required types not found');
38
34
  }
39
35
  const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
40
36
  const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
41
- const wireServicesImport = `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`;
37
+ const wireServicesImport = wireServicesFactory
38
+ ? `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`
39
+ : '';
42
40
  const bootstrapPath = getFileImportRelativePath(nextBackendFile, config.bootstrapFile, packageMappings);
43
41
  const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
44
42
  const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
@@ -1 +1 @@
1
- export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, rpcMapPath: string, configImport: string, singleServicesFactoryImport: string, wireServicesImport: string) => string;
1
+ export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, rpcMapPath: string, configImport: string, singleServicesFactoryImport: string, wireServicesImport: string | undefined) => string;
@@ -1,4 +1,5 @@
1
1
  export const serializeNextJsBackendWrapper = (bootstrapPath, routesMapPath, rpcMapPath, configImport, singleServicesFactoryImport, wireServicesImport) => {
2
+ const hasWireServices = !!wireServicesImport;
2
3
  return `'server-only'
3
4
 
4
5
  /**
@@ -8,13 +9,13 @@ export const serializeNextJsBackendWrapper = (bootstrapPath, routesMapPath, rpcM
8
9
  import { PikkuNextJS } from '@pikku/next'
9
10
  import { NextRequest } from 'next/server.js'
10
11
  import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
11
- import type { RPCMap } from '${rpcMapPath}'
12
+ import type { FlattenedRPCMap } from '${rpcMapPath}'
12
13
 
13
14
  type RouteContext = { params: Promise<Record<string, string | string[]>> }
14
15
 
15
16
  ${configImport}
16
17
  ${singleServicesFactoryImport}
17
- ${wireServicesImport}
18
+ ${wireServicesImport ? wireServicesImport : ''}
18
19
 
19
20
  import '${bootstrapPath}'
20
21
 
@@ -25,17 +26,12 @@ export const removeAPIPrefix = (enable: boolean) => {
25
26
  _removeAPIPrefix = enable
26
27
  }
27
28
 
28
- /**
29
- * Initializes and returns an instance of PikkuNextJS with helper methods for handling route requests.
30
- *
31
- * @returns An object containing methods for making dynamic and static action requests, as well as session retrieval.
32
- */
33
29
  export const pikku = (_options?: any) => {
34
30
  if (!_pikku) {
35
31
  _pikku = new PikkuNextJS(
36
32
  createConfig as any,
37
33
  createSingletonServices as any,
38
- createWireServices
34
+ ${hasWireServices ? 'createWireServices' : 'undefined'}
39
35
  )
40
36
  }
41
37
 
@@ -88,14 +84,16 @@ export const pikku = (_options?: any) => {
88
84
  *
89
85
  * @template Route - The route key with the POST method.
90
86
  * @param route - The route identifier.
91
- * @param data - The input data for the POST request, defaults to null.
87
+ * @param data - The input data for the POST request (required if input type is defined).
92
88
  * @returns A promise that resolves to the output of the POST handler.
93
89
  */
94
90
  const dynamicPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
95
91
  route: Route,
96
- data: HTTPWiringHandlerOf<Route, 'POST'>['input'] = null
92
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
93
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
94
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
97
95
  ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
98
- return dynamicActionRequest(route, 'POST', data)
96
+ return dynamicActionRequest(route, 'POST', args[0] ?? null)
99
97
  }
100
98
 
101
99
  /**
@@ -103,14 +101,16 @@ export const pikku = (_options?: any) => {
103
101
  *
104
102
  * @template Route - The route key with the GET method.
105
103
  * @param route - The route identifier.
106
- * @param data - The input data for the GET request, defaults to null.
104
+ * @param data - The input data for the GET request (required if input type is defined).
107
105
  * @returns A promise that resolves to the output of the GET handler.
108
106
  */
109
107
  const dynamicGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
110
108
  route: Route,
111
- data: HTTPWiringHandlerOf<Route, 'GET'>['input'] = null
109
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
110
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
111
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
112
112
  ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
113
- return dynamicActionRequest(route, 'GET', data)
113
+ return dynamicActionRequest(route, 'GET', args[0] ?? null)
114
114
  }
115
115
 
116
116
  /**
@@ -118,14 +118,16 @@ export const pikku = (_options?: any) => {
118
118
  *
119
119
  * @template Route - The route key with the PATCH method.
120
120
  * @param route - The route identifier.
121
- * @param data - The input data for the PATCH request, defaults to null.
121
+ * @param data - The input data for the PATCH request (required if input type is defined).
122
122
  * @returns A promise that resolves to the output of the PATCH handler.
123
123
  */
124
124
  const dynamicPatch = <Route extends HTTPWiringsWithMethod<'PATCH'>>(
125
125
  route: Route,
126
- data: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] = null
126
+ ...args: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] extends null | undefined
127
+ ? [data?: HTTPWiringHandlerOf<Route, 'PATCH'>['input']]
128
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'PATCH'>['input']>]
127
129
  ): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> => {
128
- return dynamicActionRequest(route, 'PATCH', data)
130
+ return dynamicActionRequest(route, 'PATCH', args[0] ?? null)
129
131
  }
130
132
 
131
133
  /**
@@ -133,14 +135,16 @@ export const pikku = (_options?: any) => {
133
135
  *
134
136
  * @template Route - The route key with the DELETE method.
135
137
  * @param route - The route identifier.
136
- * @param data - The input data for the DELETE request, defaults to null.
138
+ * @param data - The input data for the DELETE request (required if input type is defined).
137
139
  * @returns A promise that resolves to the output of the DELETE handler.
138
140
  */
139
141
  const dynamicDel = <Route extends HTTPWiringsWithMethod<'DELETE'>>(
140
142
  route: Route,
141
- data: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] = null
143
+ ...args: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] extends null | undefined
144
+ ? [data?: HTTPWiringHandlerOf<Route, 'DELETE'>['input']]
145
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'DELETE'>['input']>]
142
146
  ): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> => {
143
- return dynamicActionRequest(route, 'DELETE', data)
147
+ return dynamicActionRequest(route, 'DELETE', args[0] ?? null)
144
148
  }
145
149
 
146
150
  // Static Requests
@@ -150,14 +154,16 @@ export const pikku = (_options?: any) => {
150
154
  *
151
155
  * @template Route - The route key with the POST method.
152
156
  * @param route - The route identifier.
153
- * @param data - The input data for the POST request, defaults to null.
157
+ * @param data - The input data for the POST request (required if input type is defined).
154
158
  * @returns A promise that resolves to the output of the POST handler.
155
159
  */
156
160
  const staticPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
157
161
  route: Route,
158
- data: HTTPWiringHandlerOf<Route, 'POST'>['input'] = null
162
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
163
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
164
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
159
165
  ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
160
- return staticActionRequest(route, 'POST', data)
166
+ return staticActionRequest(route, 'POST', args[0] ?? null)
161
167
  }
162
168
 
163
169
  /**
@@ -165,49 +171,49 @@ export const pikku = (_options?: any) => {
165
171
  *
166
172
  * @template Route - The route key with the GET method.
167
173
  * @param route - The route identifier.
168
- * @param data - The input data for the GET request, defaults to null.
174
+ * @param data - The input data for the GET request (required if input type is defined).
169
175
  * @returns A promise that resolves to the output of the GET handler.
170
176
  */
171
177
  const staticGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
172
178
  route: Route,
173
- data: HTTPWiringHandlerOf<Route, 'GET'>['input'] = null
179
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
180
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
181
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
174
182
  ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
175
- return staticActionRequest(route, 'GET', data)
183
+ return staticActionRequest(route, 'GET', args[0] ?? null)
176
184
  }
177
185
 
178
186
  // RPC Requests
179
187
 
180
- /**
181
- * Type definition for RPC invocation with dynamic context.
182
- */
183
- type RPCInvoke = <Name extends keyof RPCMap>(
184
- name: Name,
185
- data: RPCMap[Name]['input']
186
- ) => Promise<RPCMap[Name]['output']>
187
-
188
188
  /**
189
189
  * Makes a dynamic RPC request.
190
190
  *
191
- * @template Name - The RPC function name from the RPCMap.
191
+ * @template Name - The RPC function name from the FlattenedRPCMap.
192
192
  * @param name - The RPC function identifier.
193
- * @param data - The input data for the RPC request.
193
+ * @param data - The input data for the RPC request (required if input type is defined).
194
194
  * @returns A promise that resolves to the output of the RPC handler.
195
195
  */
196
- const rpc: RPCInvoke = async (name, data) => {
197
- return dynamicActionRequest(\`/rpc/\${name}\` as any, 'POST', { data }) as any
196
+ const rpc = async <Name extends keyof FlattenedRPCMap>(
197
+ rpcName: Name,
198
+ data: FlattenedRPCMap[Name]['input']
199
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
200
+ return dynamicActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: data ?? null }) as unknown as FlattenedRPCMap[Name]['output']
198
201
  }
199
202
 
200
203
  /**
201
204
  * Makes a static RPC request.
202
205
  * Note: In HTTP wrapper context, both rpc and staticRPC behave the same way.
203
206
  *
204
- * @template Name - The RPC function name from the RPCMap.
207
+ * @template Name - The RPC function name from the FlattenedRPCMap.
205
208
  * @param name - The RPC function identifier.
206
- * @param data - The input data for the RPC request.
209
+ * @param data - The input data for the RPC request (required if input type is defined).
207
210
  * @returns A promise that resolves to the output of the RPC handler.
208
211
  */
209
- const staticRPC: RPCInvoke = async (name, data) => {
210
- return staticActionRequest(\`/rpc/\${name}\` as any, 'POST', { data }) as any
212
+ const staticRPC = async <Name extends keyof FlattenedRPCMap>(
213
+ rpcName: Name,
214
+ data: FlattenedRPCMap[Name]['input']
215
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
216
+ return staticActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: data ?? null }) as unknown as FlattenedRPCMap[Name]['output']
211
217
  }
212
218
 
213
219
  return {
@@ -242,7 +248,7 @@ export const pikkuAPIRequest = (
242
248
  _pikku = new PikkuNextJS(
243
249
  createConfig as any,
244
250
  createSingletonServices as any,
245
- createWireServices
251
+ ${hasWireServices ? 'createWireServices' : 'undefined'}
246
252
  )
247
253
  }
248
254
  if (_removeAPIPrefix) {
@@ -7,7 +7,7 @@ export const serializeNextJsHTTPWrapper = (routesMapPath, rpcMapPath, pikkuFetch
7
7
  */
8
8
  import { CorePikkuFetchOptions } from '@pikku/fetch'
9
9
  import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
10
- import type { RPCMap } from '${rpcMapPath}'
10
+ import type { FlattenedRPCMap } from '${rpcMapPath}'
11
11
  import { PikkuFetch } from '${pikkuFetchImport}'
12
12
 
13
13
  let _pikku: PikkuFetch | undefined
@@ -60,14 +60,16 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
60
60
  *
61
61
  * @template Route - The route key with the POST method.
62
62
  * @param route - The route identifier.
63
- * @param data - The input data for the POST request, defaults to null.
63
+ * @param data - The input data for the POST request (required if input type is defined).
64
64
  * @returns A promise that resolves to the output of the POST handler.
65
65
  */
66
66
  const dynamicPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
67
67
  route: Route,
68
- data: HTTPWiringHandlerOf<Route, 'POST'>['input'] = null
68
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
69
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
70
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
69
71
  ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
70
- return dynamicActionRequest(route, 'POST', data)
72
+ return dynamicActionRequest(route, 'POST', args[0] ?? null)
71
73
  }
72
74
 
73
75
  /**
@@ -75,14 +77,16 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
75
77
  *
76
78
  * @template Route - The route key with the GET method.
77
79
  * @param route - The route identifier.
78
- * @param data - The input data for the GET request, defaults to null.
80
+ * @param data - The input data for the GET request (required if input type is defined).
79
81
  * @returns A promise that resolves to the output of the GET handler.
80
82
  */
81
83
  const dynamicGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
82
84
  route: Route,
83
- data: HTTPWiringHandlerOf<Route, 'GET'>['input'] = null
85
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
86
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
87
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
84
88
  ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
85
- return dynamicActionRequest(route, 'GET', data)
89
+ return dynamicActionRequest(route, 'GET', args[0] ?? null)
86
90
  }
87
91
 
88
92
  /**
@@ -90,14 +94,16 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
90
94
  *
91
95
  * @template Route - The route key with the PATCH method.
92
96
  * @param route - The route identifier.
93
- * @param data - The input data for the PATCH request, defaults to null.
97
+ * @param data - The input data for the PATCH request (required if input type is defined).
94
98
  * @returns A promise that resolves to the output of the PATCH handler.
95
99
  */
96
100
  const dynamicPatch = <Route extends HTTPWiringsWithMethod<'PATCH'>>(
97
101
  route: Route,
98
- data: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] = null
102
+ ...args: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] extends null | undefined
103
+ ? [data?: HTTPWiringHandlerOf<Route, 'PATCH'>['input']]
104
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'PATCH'>['input']>]
99
105
  ): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> => {
100
- return dynamicActionRequest(route, 'PATCH', data)
106
+ return dynamicActionRequest(route, 'PATCH', args[0] ?? null)
101
107
  }
102
108
 
103
109
  /**
@@ -105,14 +111,16 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
105
111
  *
106
112
  * @template Route - The route key with the DELETE method.
107
113
  * @param route - The route identifier.
108
- * @param data - The input data for the DELETE request, defaults to null.
114
+ * @param data - The input data for the DELETE request (required if input type is defined).
109
115
  * @returns A promise that resolves to the output of the DELETE handler.
110
116
  */
111
117
  const dynamicDel = <Route extends HTTPWiringsWithMethod<'DELETE'>>(
112
118
  route: Route,
113
- data: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] = null
119
+ ...args: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] extends null | undefined
120
+ ? [data?: HTTPWiringHandlerOf<Route, 'DELETE'>['input']]
121
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'DELETE'>['input']>]
114
122
  ): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> => {
115
- return dynamicActionRequest(route, 'DELETE', data)
123
+ return dynamicActionRequest(route, 'DELETE', args[0] ?? null)
116
124
  }
117
125
 
118
126
  // Static Requests
@@ -122,14 +130,16 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
122
130
  *
123
131
  * @template Route - The route key with the POST method.
124
132
  * @param route - The route identifier.
125
- * @param data - The input data for the POST request, defaults to null.
133
+ * @param data - The input data for the POST request (required if input type is defined).
126
134
  * @returns A promise that resolves to the output of the POST handler.
127
135
  */
128
136
  const staticPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
129
137
  route: Route,
130
- data: HTTPWiringHandlerOf<Route, 'POST'>['input'] = null
138
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
139
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
140
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
131
141
  ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
132
- return staticActionRequest(route, 'POST', data)
142
+ return staticActionRequest(route, 'POST', args[0] ?? null)
133
143
  }
134
144
 
135
145
  /**
@@ -137,49 +147,49 @@ export const pikku = (options?: CorePikkuFetchOptions) => {
137
147
  *
138
148
  * @template Route - The route key with the GET method.
139
149
  * @param route - The route identifier.
140
- * @param data - The input data for the GET request, defaults to null.
150
+ * @param data - The input data for the GET request (required if input type is defined).
141
151
  * @returns A promise that resolves to the output of the GET handler.
142
152
  */
143
153
  const staticGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
144
154
  route: Route,
145
- data: HTTPWiringHandlerOf<Route, 'GET'>['input'] = null
155
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
156
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
157
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
146
158
  ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
147
- return staticActionRequest(route, 'GET', data)
159
+ return staticActionRequest(route, 'GET', args[0] ?? null)
148
160
  }
149
161
 
150
162
  // RPC Requests
151
163
 
152
- /**
153
- * Type definition for RPC invocation.
154
- */
155
- type RPCInvoke = <Name extends keyof RPCMap>(
156
- name: Name,
157
- data: RPCMap[Name]['input']
158
- ) => Promise<RPCMap[Name]['output']>
159
-
160
164
  /**
161
165
  * Makes a dynamic RPC request.
162
166
  *
163
- * @template Name - The RPC function name from the RPCMap.
167
+ * @template Name - The RPC function name from the FlattenedRPCMap.
164
168
  * @param name - The RPC function identifier.
165
- * @param data - The input data for the RPC request.
169
+ * @param data - The input data for the RPC request (required if input type is defined).
166
170
  * @returns A promise that resolves to the output of the RPC handler.
167
171
  */
168
- const rpc: RPCInvoke = async (rpcName, data) => {
169
- return dynamicActionRequest(\`/rpc/\${rpcName}\` as any, 'POST', { data }) as any
172
+ const rpc = async <Name extends keyof FlattenedRPCMap>(
173
+ rpcName: Name,
174
+ data: FlattenedRPCMap[Name]['input']
175
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
176
+ return dynamicActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: data ?? null }) as unknown as FlattenedRPCMap[Name]['output']
170
177
  }
171
178
 
172
179
  /**
173
180
  * Makes a static RPC request.
174
181
  * Note: In HTTP wrapper context, both rpc and rpcStatic behave the same way.
175
182
  *
176
- * @template Name - The RPC function name from the RPCMap.
183
+ * @template Name - The RPC function name from the FlattenedRPCMap.
177
184
  * @param name - The RPC function identifier.
178
- * @param data - The input data for the RPC request.
185
+ * @param data - The input data for the RPC request (required if input type is defined).
179
186
  * @returns A promise that resolves to the output of the RPC handler.
180
187
  */
181
- const staticRPC: RPCInvoke = async (rpcName, data) => {
182
- return staticActionRequest(\`/rpc/\${rpcName}\` as any, 'POST', { data }) as any
188
+ const staticRPC = async <Name extends keyof FlattenedRPCMap>(
189
+ rpcName: Name,
190
+ data: FlattenedRPCMap[Name]['input']
191
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
192
+ return staticActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: data ?? null }) as unknown as FlattenedRPCMap[Name]['output']
183
193
  }
184
194
 
185
195
  return {
@@ -0,0 +1 @@
1
+ export declare const pikkuWebSocketTyped: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
2
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -8,7 +8,7 @@ export const pikkuWebSocketTyped = pikkuSessionlessFunc({
8
8
  const { websocketFile, channelsMapDeclarationFile, packageMappings } = config;
9
9
  // If websocketFile is not set, clean up any existing file and return
10
10
  if (!websocketFile) {
11
- logger.info({
11
+ logger.debug({
12
12
  message: "Skipping generating websocket wrapper since websocketFile isn't set in the pikku config.",
13
13
  type: 'skip',
14
14
  });
@@ -0,0 +1 @@
1
+ export declare const pikkuAIAgentTypes: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,19 @@
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
+ import { writeFileInDir } from '../../../utils/file-writer.js';
3
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
+ import { serializeAIAgentTypes } from './serialize-ai-agent-types.js';
6
+ export const pikkuAIAgentTypes = pikkuSessionlessFunc({
7
+ func: async ({ logger, config }) => {
8
+ const { agentTypesFile, functionTypesFile, packageMappings } = config;
9
+ const functionTypesImportPath = getFileImportRelativePath(agentTypesFile, functionTypesFile, packageMappings);
10
+ const content = serializeAIAgentTypes(functionTypesImportPath);
11
+ await writeFileInDir(logger, agentTypesFile, content);
12
+ },
13
+ middleware: [
14
+ logCommandInfoAndTime({
15
+ commandStart: 'Creating AI agent types',
16
+ commandEnd: 'Created AI agent types',
17
+ }),
18
+ ],
19
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuAIAgent: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;