@pikku/cli 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +71 -20
  46. package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  66. package/dist/.pikku/pikku-services.gen.js +4 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +33 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  100. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  101. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  103. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  104. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  111. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  112. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  113. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  114. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  115. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  116. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  117. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  118. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  119. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  120. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  121. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  123. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  124. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  126. package/dist/bin/pikku.js +20 -47
  127. package/dist/src/cli.wiring.js +29 -2
  128. package/dist/src/functions/commands/all.d.ts +1 -1
  129. package/dist/src/functions/commands/all.js +79 -176
  130. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  131. package/dist/src/functions/commands/bootstrap.js +13 -22
  132. package/dist/src/functions/commands/console.d.ts +7 -0
  133. package/dist/src/functions/commands/console.js +106 -0
  134. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  135. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  136. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  137. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  138. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  139. package/dist/src/functions/commands/versions-check.js +17 -0
  140. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  141. package/dist/src/functions/commands/versions-init.js +15 -0
  142. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  143. package/dist/src/functions/commands/versions-update.js +20 -0
  144. package/dist/src/functions/commands/watch.d.ts +1 -1
  145. package/dist/src/functions/commands/watch.js +4 -5
  146. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  147. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  148. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  149. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  150. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  151. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +8 -16
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  153. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  154. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  155. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  156. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  157. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  158. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  159. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  160. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  161. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  162. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  163. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  164. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  165. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  166. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  167. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  168. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  169. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  171. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  172. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  173. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  174. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  175. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  176. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  177. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  178. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  179. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  180. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  181. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  183. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  184. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  185. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  186. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  187. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  188. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  189. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  190. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  191. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  192. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  193. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  194. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  195. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  196. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  197. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  198. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  199. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  200. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  201. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  202. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  203. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  204. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +5 -5
  205. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  206. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  207. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  208. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  209. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  210. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  211. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  212. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  213. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -2
  214. package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
  215. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  216. package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
  217. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  218. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  219. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  220. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  221. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  222. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  223. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  224. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  225. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  226. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  227. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  228. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  229. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  230. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  231. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  232. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  233. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  234. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  236. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  237. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +13 -4
  238. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  239. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  240. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  241. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  242. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  243. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  244. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  245. package/dist/src/functions/wirings/package/pikku-command-package.js +3 -3
  246. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  247. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  248. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  249. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  250. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  251. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  252. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  253. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  254. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  255. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  256. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  257. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  258. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  259. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  260. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  261. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  262. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  263. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  264. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  265. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  266. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  267. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  268. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  269. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  270. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  271. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  272. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  273. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  274. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  275. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  276. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  277. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  278. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  279. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  280. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  281. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +85 -60
  282. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  284. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  285. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  286. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  287. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  288. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  289. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  290. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  291. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  292. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  293. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  294. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  295. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  296. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  297. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  298. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  299. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  300. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  301. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  302. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  303. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  304. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  305. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  306. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +6 -35
  307. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
  308. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  309. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  310. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  311. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  312. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  313. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  314. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  315. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  316. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  317. package/dist/src/services/cli-logger.service.d.ts +1 -1
  318. package/dist/src/services/cli-logger.service.js +1 -1
  319. package/dist/src/services.d.ts +1 -1
  320. package/dist/src/services.js +53 -6
  321. package/dist/src/utils/command-summary.d.ts +2 -1
  322. package/dist/src/utils/command-summary.js +2 -1
  323. package/dist/src/utils/contract-versions.d.ts +6 -0
  324. package/dist/src/utils/contract-versions.js +25 -0
  325. package/dist/src/utils/file-import-path.js +20 -6
  326. package/dist/src/utils/pikku-cli-config.js +77 -14
  327. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  328. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  329. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  330. package/dist/src/utils/serialize-import-map.js +3 -54
  331. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  332. package/dist/src/utils/serialize-meta-ts.js +12 -0
  333. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  334. package/dist/src/utils/serialize-schemas.js +38 -0
  335. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  336. package/dist/src/utils/strip-verbose-meta.js +15 -15
  337. package/dist/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +19 -10
  339. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  340. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  341. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  342. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  343. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  344. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  345. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  346. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  347. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  348. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  349. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  350. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  351. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  352. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  353. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  354. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  355. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  356. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  357. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  358. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  359. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  360. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  361. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  362. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  363. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  364. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  365. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  366. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  367. package/.pikku/pikku-services.gen.ts +0 -28
  368. package/.pikku/pikku-types.gen.ts +0 -30
  369. package/.pikku/pikku-websocket.gen.ts +0 -90
  370. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  371. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  372. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  373. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  374. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  375. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  376. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  377. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  378. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  379. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  380. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  381. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  382. package/.pikku/schemas/register.gen.ts +0 -71
  383. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  388. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  389. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  390. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  391. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  392. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  393. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  394. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  395. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  396. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  397. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  398. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  399. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  400. package/.pikku/services/config.gen.json +0 -104
  401. package/.pikku/services/getInspectorState.gen.json +0 -10
  402. package/.pikku/services/jwt.gen.json +0 -13
  403. package/.pikku/services/logger.gen.json +0 -25
  404. package/.pikku/services/queueService.gen.json +0 -14
  405. package/.pikku/services/schedulerService.gen.json +0 -17
  406. package/.pikku/services/schema.gen.json +0 -14
  407. package/.pikku/services/secrets.gen.json +0 -13
  408. package/.pikku/services/variables.gen.json +0 -13
  409. package/.pikku/services/workflowService.gen.json +0 -31
  410. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  411. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  412. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  413. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  414. package/CHANGELOG.md +0 -957
  415. package/bin/pikku.ts +0 -88
  416. package/build.sh +0 -75
  417. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  418. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  419. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  420. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  421. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  422. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  423. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  424. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  425. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  426. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  427. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  428. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  429. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  430. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  431. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  432. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  433. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  434. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  435. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  436. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  437. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  438. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  439. package/dist/src/utils/custom-types-generator.js +0 -41
  440. package/dist/src/utils/schema-generator.d.ts +0 -7
  441. package/dist/src/utils/schema-generator.js +0 -238
  442. package/pikku.config.json +0 -29
  443. package/run-tests.sh +0 -53
  444. package/src/cli.wiring.ts +0 -112
  445. package/src/functions/commands/all.ts +0 -313
  446. package/src/functions/commands/bootstrap.ts +0 -35
  447. package/src/functions/commands/watch.ts +0 -61
  448. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  449. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  450. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  451. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  452. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  453. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  454. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  455. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  456. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  457. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  458. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  459. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  460. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  461. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  462. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  463. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  464. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  465. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  466. package/src/functions/wirings/fetch/index.ts +0 -36
  467. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  468. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  469. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  470. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  471. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  472. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  473. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  474. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  475. package/src/functions/wirings/functions/schemas.ts +0 -56
  476. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  477. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  478. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  479. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  480. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  481. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  482. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  483. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  484. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  485. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  486. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  487. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  488. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  489. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  490. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  491. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  492. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  493. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  494. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  495. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  496. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  497. package/src/functions/wirings/package/serialize-package.ts +0 -69
  498. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  499. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  500. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  501. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  502. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  503. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  504. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  505. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  506. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  507. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  508. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  509. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  510. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  511. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  512. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  513. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  514. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  515. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  516. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  517. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  518. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  519. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  520. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  521. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  522. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  523. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  524. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  525. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  526. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  527. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  528. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  529. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  530. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  531. package/src/middleware/log-command-info-and-time.ts +0 -35
  532. package/src/services/cli-logger-forwarder.service.ts +0 -99
  533. package/src/services/cli-logger.service.ts +0 -108
  534. package/src/services.ts +0 -322
  535. package/src/utils/check-required-types.ts +0 -65
  536. package/src/utils/command-summary.ts +0 -107
  537. package/src/utils/custom-types-generator.ts +0 -55
  538. package/src/utils/file-import-path.test.ts +0 -175
  539. package/src/utils/file-import-path.ts +0 -53
  540. package/src/utils/file-imports-serializer.ts +0 -25
  541. package/src/utils/file-writer.ts +0 -72
  542. package/src/utils/generate-bootstrap-file.ts +0 -43
  543. package/src/utils/get-cli-version.ts +0 -28
  544. package/src/utils/pikku-cli-config.ts +0 -495
  545. package/src/utils/pikku-files-and-methods.ts +0 -145
  546. package/src/utils/schema-generator.ts +0 -335
  547. package/src/utils/serialize-import-map.ts +0 -102
  548. package/src/utils/strip-verbose-meta.ts +0 -254
  549. package/tsconfig.json +0 -21
  550. package/types/application-types.d.ts +0 -27
  551. package/types/config.d.ts +0 -304
  552. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  553. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,101 +0,0 @@
1
- /**
2
- * Generates type definitions for CLI wirings
3
- */
4
- export const serializeCLITypes = (
5
- functionTypesImportPath: string,
6
- userSessionTypeImport: string,
7
- userSessionTypeName: string,
8
- singletonServicesTypeImport: string,
9
- singletonServicesTypeName: string
10
- ) => {
11
- return `/**
12
-
13
- * CLI-specific type definitions for tree-shaking optimization
14
- */
15
-
16
- import { CoreCLI, wireCLI as wireCLICore, CorePikkuCLIRender, CoreCLICommandConfig } from '@pikku/core/cli'
17
- import type { PikkuFunctionConfig, PikkuMiddleware } from '${functionTypesImportPath}'
18
- ${userSessionTypeImport}
19
- ${singletonServicesTypeImport}
20
-
21
- ${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices = ${singletonServicesTypeName}` : ''}
22
- ${userSessionTypeName !== 'Session' ? `type Session = ${userSessionTypeName}` : ''}
23
-
24
- /**
25
- * Type-safe CLI renderer definition that can access your application's services.
26
- * Use this to define custom renderers for CLI command output.
27
- *
28
- * @template Data - The output data type from the CLI command
29
- * @template RequiredServices - The services required for this renderer
30
- */
31
- type PikkuCLIRender<Data, RequiredServices extends SingletonServices = SingletonServices> = CorePikkuCLIRender<Data, RequiredServices, Session>
32
-
33
- /**
34
- * Creates a type-safe CLI renderer with access to your application's singleton services.
35
- * The renderer receives the full singleton services and output data to format and display results.
36
- *
37
- * @template Data - The output data type from the CLI command
38
- * @template RequiredServices - The minimum services required for type checking (defaults to SingletonServices)
39
- * @param render - Function that receives singleton services and data to render output
40
- * @returns A CLI renderer configuration
41
- *
42
- * @example
43
- * \`\`\`typescript
44
- * const myRenderer = pikkuCLIRender<MyData>(({ logger }, data) => {
45
- * logger.info(data.message)
46
- * })
47
- * \`\`\`
48
- */
49
- export const pikkuCLIRender = <Data, RequiredServices extends SingletonServices = SingletonServices>(
50
- render: (services: SingletonServices, data: Data) => void | Promise<void>
51
- ): PikkuCLIRender<Data, RequiredServices> => {
52
- return render as any
53
- }
54
-
55
- /**
56
- * CLI command configuration with project-specific types.
57
- * Uses CoreCLICommandConfig from @pikku/core with local middleware and render types.
58
- */
59
- type CLICommandConfig<Func extends PikkuFunctionConfig<In, Out, 'cli' | 'rpc' | 'session'>, In = any, Out = any, Params extends string = string> = CoreCLICommandConfig<Func, PikkuMiddleware, PikkuCLIRender<any>, Params>
60
-
61
- /**
62
- * Type definition for CLI applications with commands and global options.
63
- *
64
- * @template Commands - Type describing the command structure
65
- * @template GlobalOptions - Type for global CLI options
66
- */
67
- type CLIWiring<Commands extends Record<string, CoreCLICommandConfig<any, PikkuMiddleware, PikkuCLIRender<any>, any>>, GlobalOptions> = CoreCLI<Commands, GlobalOptions, PikkuMiddleware, PikkuCLIRender<any>>
68
-
69
- /**
70
- * Registers a CLI application with the Pikku framework.
71
- * Creates command-line interfaces with type-safe commands and options.
72
- *
73
- * @template Commands - Type describing the command structure
74
- * @template GlobalOptions - Type for global CLI options
75
- * @param cli - CLI definition with program name, commands, and global options
76
- */
77
- export const wireCLI = <Commands extends Record<string, CoreCLICommandConfig<any, PikkuMiddleware, PikkuCLIRender<any>, any>>, GlobalOptions>(
78
- cli: CLIWiring<Commands, GlobalOptions>
79
- ) => {
80
- wireCLICore(cli as any)
81
- }
82
-
83
- /**
84
- * Creates a CLI command definition with automatic option inference from the function's input type.
85
- * This allows TypeScript to automatically derive CLI options from the function signature.
86
- *
87
- * @template FuncConfig - The Pikku function config type
88
- * @template Params - The parameters string literal type
89
- * @param config - CLI command configuration
90
- * @returns CLI command configuration with inferred types
91
- */
92
- export const pikkuCLICommand = <
93
- FuncConfig extends PikkuFunctionConfig<any, any, 'cli' | 'rpc' | 'session'>,
94
- Params extends string
95
- >(
96
- config: CLICommandConfig<FuncConfig, any, any, Params>
97
- ): CoreCLICommandConfig<FuncConfig, PikkuMiddleware, PikkuCLIRender<any>, string> => {
98
- return config as any
99
- }
100
- `
101
- }
@@ -1,80 +0,0 @@
1
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
2
- import { Config } from '../../../../types/application-types.js'
3
-
4
- /**
5
- * Serializes the local (in-program) CLI bootstrap code
6
- */
7
- export function serializeLocalCLIBootstrap(
8
- programName: string,
9
- _programMeta: any,
10
- bootstrapFile: string,
11
- config: Config,
12
- pikkuConfigFactory: { file: string; variable: string },
13
- singletonServicesFactory: { file: string; variable: string },
14
- wireServicesFactory: { file: string; variable: string }
15
- ): string {
16
- const capitalizedName =
17
- programName.charAt(0).toUpperCase() + programName.slice(1).replace(/-/g, '')
18
-
19
- // Get relative import paths
20
- const pikkuConfigPath = getFileImportRelativePath(
21
- bootstrapFile,
22
- pikkuConfigFactory.file,
23
- config.packageMappings
24
- )
25
- const singletonServicesPath = getFileImportRelativePath(
26
- bootstrapFile,
27
- singletonServicesFactory.file,
28
- config.packageMappings
29
- )
30
- const wireServicesPath = getFileImportRelativePath(
31
- bootstrapFile,
32
- wireServicesFactory.file,
33
- config.packageMappings
34
- )
35
- const cliBootstrapPath = getFileImportRelativePath(
36
- bootstrapFile,
37
- config.bootstrapFile,
38
- config.packageMappings
39
- )
40
-
41
- return `
42
- import { executeCLI, CLIError } from '@pikku/core/cli'
43
- import { ${pikkuConfigFactory.variable} as createConfig } from '${pikkuConfigPath}'
44
- import { ${singletonServicesFactory.variable} as createSingletonServices } from '${singletonServicesPath}'
45
- import { ${wireServicesFactory.variable} as createWireServices } from '${wireServicesPath}'
46
- import '${cliBootstrapPath}'
47
-
48
- /**
49
- * ${capitalizedName} CLI function
50
- * Handles command line arguments and executes the appropriate function
51
- */
52
- export async function ${capitalizedName}CLI(args: string[]): Promise<void> {
53
- try {
54
- await executeCLI({
55
- programName: '${programName}',
56
- args: args || process.argv.slice(2),
57
- createConfig,
58
- createSingletonServices,
59
- createWireServices,
60
- })
61
- } catch (error) {
62
- if (error instanceof CLIError) {
63
- process.exit(error.exitCode)
64
- }
65
- throw error
66
- }
67
- }
68
-
69
- // Export as default for easy importing
70
- export default ${capitalizedName}CLI
71
-
72
- // For direct execution (if this file is run directly)
73
- if (import.meta.url === \`file://\${process.argv[1]}\`) {
74
- ${capitalizedName}CLI(process.argv.slice(2)).catch(error => {
75
- console.error('Fatal error:', error.message)
76
- process.exit(1)
77
- })
78
- }
79
- `
80
- }
@@ -1,36 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFetchWrapper } from '../http/serialize-fetch-wrapper.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { writeFileInDir } from '../../../utils/file-writer.js'
5
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
6
-
7
- export const pikkuFetch: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const { fetchFile, httpMapDeclarationFile, packageMappings } = config
10
-
11
- // If fetchFile is not set, clean up any existing file and return
12
- if (!fetchFile) {
13
- logger.info({
14
- message:
15
- "Skipping generating fetch wrapper since fetchFile isn't set in the pikku config.",
16
- type: 'skip',
17
- })
18
- return
19
- }
20
-
21
- const routesMapDeclarationPath = getFileImportRelativePath(
22
- fetchFile,
23
- httpMapDeclarationFile,
24
- packageMappings
25
- )
26
-
27
- const content = [serializeFetchWrapper(routesMapDeclarationPath)]
28
- await writeFileInDir(logger, fetchFile, content.join('\n'))
29
- },
30
- middleware: [
31
- logCommandInfoAndTime({
32
- commandStart: 'Generating fetch wrapper',
33
- commandEnd: 'Generated fetch wrapper',
34
- }),
35
- ],
36
- })
@@ -1,135 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { ErrorCode } from '@pikku/inspector'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { readFile } from 'fs/promises'
6
- import { join, isAbsolute } from 'path'
7
- import {
8
- stripVerboseFields,
9
- hasVerboseFields,
10
- } from '../../../utils/strip-verbose-meta.js'
11
-
12
- /**
13
- * Load and sanitize an SVG icon file.
14
- * Returns the SVG content as a string, or undefined if not found.
15
- */
16
- const loadIcon = async (
17
- iconPath: string | undefined,
18
- rootDir: string,
19
- logger: any
20
- ): Promise<string | undefined> => {
21
- if (!iconPath) return undefined
22
-
23
- // Resolve the full path to the icon
24
- const fullPath = isAbsolute(iconPath) ? iconPath : join(rootDir, iconPath)
25
-
26
- try {
27
- const content = await readFile(fullPath, 'utf-8')
28
-
29
- // Basic SVG validation - must start with <svg
30
- const trimmed = content.trim()
31
- if (!trimmed.startsWith('<svg') && !trimmed.startsWith('<?xml')) {
32
- logger.warn(`Icon file is not a valid SVG: ${fullPath}`)
33
- return undefined
34
- }
35
-
36
- // Return the sanitized SVG (remove XML declaration if present)
37
- return trimmed.replace(/<\?xml[^?]*\?>\s*/g, '').trim()
38
- } catch (e) {
39
- logger.warn(`Could not load icon: ${fullPath}`)
40
- return undefined
41
- }
42
- }
43
-
44
- export const pikkuForgeNodes: any = pikkuSessionlessFunc<
45
- void,
46
- boolean | undefined
47
- >({
48
- func: async ({ logger, config, getInspectorState }) => {
49
- const { forgeNodes, forgeCredentials } = await getInspectorState()
50
- const { forgeNodesMetaJsonFile, forge, rootDir } = config
51
-
52
- const hasNodes = Object.keys(forgeNodes.meta).length > 0
53
- const hasCredentials = Object.keys(forgeCredentials.meta).length > 0
54
-
55
- // Only generate if there are forge nodes or credentials
56
- if (!hasNodes && !hasCredentials) {
57
- return undefined
58
- }
59
-
60
- // Validate categories if configured
61
- const allowedCategories = forge?.node?.categories
62
- if (allowedCategories && allowedCategories.length > 0) {
63
- for (const [name, meta] of Object.entries(forgeNodes.meta) as [
64
- string,
65
- any,
66
- ][]) {
67
- if (!allowedCategories.includes(meta.category)) {
68
- logger.critical(
69
- ErrorCode.INVALID_VALUE,
70
- `Forge node '${name}' has invalid category '${meta.category}'. ` +
71
- `Allowed categories: ${allowedCategories.join(', ')}`
72
- )
73
- }
74
- }
75
- }
76
-
77
- // Build the output metadata - remove per-node icon field
78
- const outputMeta: Record<string, any> = {}
79
- for (const [name, meta] of Object.entries(forgeNodes.meta) as [
80
- string,
81
- any,
82
- ][]) {
83
- // Remove icon from node meta - only package-level icon is used
84
- const { icon: _icon, ...nodeMetaWithoutIcon } = meta
85
- outputMeta[name] = nodeMetaWithoutIcon
86
- }
87
-
88
- // Load package-level icon
89
- const packageIcon = await loadIcon(forge?.node?.icon, rootDir, logger)
90
-
91
- const metaData = {
92
- nodes: outputMeta,
93
- credentials: forgeCredentials.meta,
94
- package: {
95
- displayName: forge?.node?.displayName,
96
- description: forge?.node?.description,
97
- icon: packageIcon,
98
- categories: forge?.node?.categories,
99
- },
100
- }
101
-
102
- if (forgeNodesMetaJsonFile) {
103
- // Write minimal JSON (runtime-only fields)
104
- const minimalMeta = stripVerboseFields(metaData)
105
- await writeFileInDir(
106
- logger,
107
- forgeNodesMetaJsonFile,
108
- JSON.stringify(minimalMeta, null, 2),
109
- { ignoreModifyComment: true }
110
- )
111
-
112
- // Write verbose JSON only if it has additional fields
113
- if (hasVerboseFields(metaData)) {
114
- const verbosePath = forgeNodesMetaJsonFile.replace(
115
- /\.gen\.json$/,
116
- '-verbose.gen.json'
117
- )
118
- await writeFileInDir(
119
- logger,
120
- verbosePath,
121
- JSON.stringify(metaData, null, 2),
122
- { ignoreModifyComment: true }
123
- )
124
- }
125
- }
126
-
127
- return true
128
- },
129
- middleware: [
130
- logCommandInfoAndTime({
131
- commandStart: 'Generating Forge nodes metadata',
132
- commandEnd: 'Generated Forge nodes metadata',
133
- }),
134
- ],
135
- })
@@ -1,38 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializeForgeTypes } from './serialize-forge-types.js'
6
-
7
- export const pikkuForgeTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const {
10
- forgeTypesFile,
11
- rpcInternalMapDeclarationFile,
12
- packageMappings,
13
- forge,
14
- } = config
15
-
16
- // Get the import path for the RPC map declaration file
17
- // The declaration file ends in .d.ts, but we need to import from .js
18
- // getFileImportRelativePath converts .ts -> .js, so .d.ts -> .d.js
19
- // We need to remove the extra .d extension
20
- let rpcMapImportPath = getFileImportRelativePath(
21
- forgeTypesFile,
22
- rpcInternalMapDeclarationFile,
23
- packageMappings
24
- )
25
- // Fix: .d.ts files should be imported as .js (TypeScript resolves types from .d.ts)
26
- rpcMapImportPath = rpcMapImportPath.replace('.d.js', '.js')
27
-
28
- const categories = forge?.node?.categories
29
- const content = serializeForgeTypes(rpcMapImportPath, categories)
30
- await writeFileInDir(logger, forgeTypesFile, content)
31
- },
32
- middleware: [
33
- logCommandInfoAndTime({
34
- commandStart: 'Creating Forge types',
35
- commandEnd: 'Created Forge types',
36
- }),
37
- ],
38
- })
@@ -1,94 +0,0 @@
1
- /**
2
- * Generates type definitions for Forge wirings with typed category and RPC validation
3
- */
4
- export const serializeForgeTypes = (
5
- rpcMapImportPath: string,
6
- categories: string[] | undefined
7
- ) => {
8
- // Generate category union type - 'never' if no categories configured
9
- const categoryType = categories?.length
10
- ? categories.map((c) => `'${c}'`).join(' | ')
11
- : 'never'
12
-
13
- return `/**
14
- * Forge-specific type definitions for typed wireForgeNode and wireForgeCredential
15
- */
16
-
17
- import { wireForgeNode as wireForgeNodeCore, wireForgeCredential as wireForgeCredentialCore } from '@pikku/core/forge-node'
18
- import type { CoreForgeNode, CoreForgeCredential } from '@pikku/core/forge-node'
19
- import type { FlattenedRPCMap } from '${rpcMapImportPath}'
20
-
21
- /**
22
- * Valid category values for forge nodes.
23
- * ${categories?.length ? `Configured categories: ${categories.join(', ')}` : 'No categories configured - wireForgeNode cannot be used until forge.node.categories is defined in pikku.config.json.'}
24
- */
25
- export type ForgeCategory = ${categoryType}
26
-
27
- /**
28
- * Valid RPC names that can be used with forge nodes.
29
- * These are derived from the FlattenedRPCMap which includes both local and external package RPCs.
30
- */
31
- export type ForgeRPCName = keyof FlattenedRPCMap
32
-
33
- /**
34
- * Typed forge node configuration.
35
- * Validates that category and rpc are valid values.
36
- */
37
- export type TypedForgeNode = Omit<CoreForgeNode, 'category' | 'rpc'> & {
38
- /** Grouping category (validated against forge.node.categories in config) */
39
- category: ForgeCategory
40
- /** RPC name to call when node executes (must be a valid RPC name) */
41
- rpc: ForgeRPCName
42
- }
43
-
44
- /**
45
- * Registers a Forge node with validated category and RPC.
46
- *
47
- * @param config - Forge node configuration with typed category and rpc
48
- *
49
- * @example
50
- * \`\`\`typescript
51
- * wireForgeNode({
52
- * name: 'send-email',
53
- * displayName: 'Send Email',
54
- * category: 'Communication', // Must be in forge.node.categories
55
- * type: 'action',
56
- * rpc: 'sendEmail', // Must be a valid RPC name
57
- * description: 'Sends an email to a recipient'
58
- * })
59
- * \`\`\`
60
- */
61
- export const wireForgeNode = (config: TypedForgeNode): void => {
62
- wireForgeNodeCore(config as CoreForgeNode)
63
- }
64
-
65
- /**
66
- * Registers a Forge credential definition.
67
- * Credentials define secrets/API keys required by the package.
68
- *
69
- * @template T - Zod schema type for the credential structure
70
- * @param config - Forge credential configuration
71
- *
72
- * @example
73
- * \`\`\`typescript
74
- * import { z } from 'zod'
75
- *
76
- * const apiCredentials = z.object({
77
- * apiKey: z.string().describe('API key for authentication'),
78
- * apiSecret: z.string().describe('API secret')
79
- * })
80
- *
81
- * wireForgeCredential({
82
- * name: 'example-api',
83
- * displayName: 'Example API Credentials',
84
- * description: 'Credentials for the example external API',
85
- * secretId: 'EXAMPLE_API_CREDENTIALS',
86
- * schema: apiCredentials
87
- * })
88
- * \`\`\`
89
- */
90
- export const wireForgeCredential = <T>(config: CoreForgeCredential<T>): void => {
91
- wireForgeCredentialCore(config)
92
- }
93
- `
94
- }
@@ -1,61 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
3
- import { checkRequiredTypes } from '../../../utils/check-required-types.js'
4
- import { writeFileInDir } from '../../../utils/file-writer.js'
5
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
6
- import { serializeFunctionTypes } from './serialize-function-types.js'
7
-
8
- export const pikkuFunctionTypesSplit: any = pikkuSessionlessFunc<void, void>({
9
- func: async ({ logger, config, getInspectorState }) => {
10
- const visitState = await getInspectorState()
11
- const {
12
- functionTypesFile,
13
- packageMappings,
14
- rpcInternalMapDeclarationFile,
15
- servicesFile,
16
- } = config
17
-
18
- // Check for required types
19
- checkRequiredTypes(visitState.filesAndMethodsErrors, {
20
- userSessionType: true,
21
- wireServiceType: true,
22
- singletonServicesType: true,
23
- })
24
-
25
- const {
26
- userSessionType,
27
- wireServicesType,
28
- singletonServicesType,
29
- pikkuConfigType,
30
- } = visitState.filesAndMethods
31
-
32
- if (!userSessionType || !wireServicesType || !singletonServicesType) {
33
- throw new Error('Required types not found')
34
- }
35
-
36
- const configTypeImport = pikkuConfigType
37
- ? `import type { ${pikkuConfigType.type} } from '${getFileImportRelativePath(functionTypesFile, pikkuConfigType.typePath, packageMappings)}'`
38
- : '// Config type not found, will use fallback'
39
-
40
- const content = serializeFunctionTypes(
41
- `import type { ${userSessionType.type} } from '${getFileImportRelativePath(functionTypesFile, userSessionType.typePath, packageMappings)}'`,
42
- userSessionType.type,
43
- `import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(functionTypesFile, singletonServicesType.typePath, packageMappings)}'`,
44
- singletonServicesType.type,
45
- `import type { ${wireServicesType.type} } from '${getFileImportRelativePath(functionTypesFile, wireServicesType.typePath, packageMappings)}'`,
46
- wireServicesType.type,
47
- `import type { TypedPikkuRPC, FlattenedRPCMap } from '${getFileImportRelativePath(functionTypesFile, rpcInternalMapDeclarationFile, packageMappings)}'`,
48
- `import type { RequiredSingletonServices, RequiredWireServices } from '${getFileImportRelativePath(functionTypesFile, servicesFile, packageMappings)}'`,
49
- configTypeImport,
50
- config.externalPackageName
51
- )
52
-
53
- await writeFileInDir(logger, functionTypesFile, content)
54
- },
55
- middleware: [
56
- logCommandInfoAndTime({
57
- commandStart: 'Creating function types',
58
- commandEnd: 'Created function types',
59
- }),
60
- ],
61
- })
@@ -1,50 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializePikkuTypesHub } from './serialize-pikku-types-hub.js'
6
-
7
- export const pikkuFunctionTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const {
10
- typesDeclarationFile: typesFile,
11
- packageMappings,
12
- functionTypesFile,
13
- httpTypesFile,
14
- channelsTypesFile,
15
- schedulersTypesFile,
16
- queueTypesFile,
17
- mcpTypesFile,
18
- cliTypesFile,
19
- forgeTypesFile,
20
- } = config
21
-
22
- const getImportPath = (file: string) =>
23
- config.externalPackage
24
- ? null
25
- : getFileImportRelativePath(typesFile, file, packageMappings)
26
-
27
- // Forge types are included for external packages (they need wireForgeNode/wireForgeCredential)
28
- const getForgeImportPath = (file: string) =>
29
- getFileImportRelativePath(typesFile, file, packageMappings)
30
-
31
- const content = serializePikkuTypesHub(
32
- getFileImportRelativePath(typesFile, functionTypesFile, packageMappings),
33
- getImportPath(httpTypesFile),
34
- getImportPath(channelsTypesFile),
35
- getImportPath(schedulersTypesFile),
36
- getImportPath(queueTypesFile),
37
- getImportPath(mcpTypesFile),
38
- getImportPath(cliTypesFile),
39
- getForgeImportPath(forgeTypesFile)
40
- )
41
-
42
- await writeFileInDir(logger, typesFile, content)
43
- },
44
- middleware: [
45
- logCommandInfoAndTime({
46
- commandStart: 'Creating api types hub',
47
- commandEnd: 'Created api types hub',
48
- }),
49
- ],
50
- })