@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,216 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { checkRequiredTypes } from '../../../utils/check-required-types.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { join } from 'node:path'
6
- import { serializeLocalCLIBootstrap } from './serialize-local-cli-bootstrap.js'
7
- import { serializeChannelCLI } from './serialize-channel-cli.js'
8
- import {
9
- serializeChannelCLIClient,
10
- collectRendererNames,
11
- } from './serialize-channel-cli-client.js'
12
- import { existsSync } from 'fs'
13
- import { rm } from 'fs/promises'
14
- import { ErrorCode } from '@pikku/inspector'
15
-
16
- export const pikkuCLIEntry: any = pikkuSessionlessFunc<void, void>({
17
- func: async ({ logger, config, getInspectorState }) => {
18
- const visitState = await getInspectorState()
19
-
20
- // Check if CLI entrypoints are configured
21
- if (
22
- !config.cli?.entrypoints ||
23
- Object.keys(config.cli.entrypoints).length === 0
24
- ) {
25
- logger.info({
26
- message:
27
- 'No CLI entrypoints configured in config.cli.entrypoints, skipping CLI bootstrap generation',
28
- type: 'skip',
29
- })
30
- return
31
- }
32
-
33
- // Generate bootstrap files for each configured entrypoint
34
- for (const [programName, entrypointConfigs] of Object.entries(
35
- config.cli.entrypoints
36
- )) {
37
- const programMeta = visitState.cli.meta.programs[programName]
38
-
39
- if (!programMeta) {
40
- logger.warn(
41
- `CLI program '${programName}' not found in metadata, skipping`
42
- )
43
- continue
44
- }
45
-
46
- // Normalize to array
47
- const configs = Array.isArray(entrypointConfigs)
48
- ? entrypointConfigs
49
- : [entrypointConfigs]
50
-
51
- for (const entrypointConfig of configs) {
52
- // Normalize entrypoint config to get type
53
- const entrypointType =
54
- typeof entrypointConfig === 'string'
55
- ? 'local'
56
- : entrypointConfig.type || 'local'
57
-
58
- // Handle channel type entrypoint
59
- if (entrypointType === 'channel') {
60
- if (
61
- typeof entrypointConfig === 'string' ||
62
- entrypointConfig.type !== 'channel'
63
- ) {
64
- throw new Error('Channel entrypoint must be a channel type object')
65
- }
66
-
67
- const channelWirePath = entrypointConfig.wirePath
68
- const channelClientPath = entrypointConfig.path
69
- const channelName = entrypointConfig.name
70
- const channelRoute = entrypointConfig.route
71
-
72
- const channelWireFile = join(config.rootDir, channelWirePath)
73
-
74
- const channelCode = serializeChannelCLI(
75
- programName,
76
- programMeta,
77
- channelWireFile,
78
- visitState.functions.files,
79
- config.packageMappings,
80
- config.channelsTypesFile,
81
- config.functionTypesFile,
82
- channelName,
83
- channelRoute
84
- )
85
-
86
- await writeFileInDir(logger, channelWireFile, channelCode)
87
- logger.debug(
88
- `Serialized CLI channel for ${programName}: ${channelWireFile}`
89
- )
90
-
91
- // Generate client code if clientPath is provided
92
- if (channelClientPath) {
93
- const channelClientFile = join(config.rootDir, channelClientPath)
94
-
95
- // Validate that renderers don't depend on services (client-side renderers can't access server services)
96
- const rendererNames = collectRendererNames(programMeta)
97
- const problematicRenderers: Array<{
98
- name: string
99
- services: string[]
100
- }> = []
101
-
102
- for (const rendererName of rendererNames) {
103
- const rendererMeta = visitState.cli.meta.renderers[rendererName]
104
- if (rendererMeta?.services?.services?.length > 0) {
105
- problematicRenderers.push({
106
- name: rendererName,
107
- services: rendererMeta.services.services,
108
- })
109
- }
110
- }
111
-
112
- // If any renderers depend on services, abort client generation
113
- if (problematicRenderers.length > 0) {
114
- const details = problematicRenderers
115
- .map(
116
- (r) => ` - ${r.name} depends on: ${r.services.join(', ')}`
117
- )
118
- .join('\n')
119
-
120
- logger.critical(
121
- ErrorCode.CLI_CLIENTSIDE_RENDERER_HAS_SERVICES,
122
- `Cannot generate CLI channel client for '${programName}': renderers cannot depend on services (client-side execution)\n${details}\n\nRenderers used in CLI-over-channel must be service-free since they execute on the client.`
123
- )
124
-
125
- // Delete existing client file if it exists
126
- if (existsSync(channelClientFile)) {
127
- await rm(channelClientFile)
128
- logger.debug(
129
- `Deleted existing CLI channel client: ${channelClientFile}`
130
- )
131
- }
132
-
133
- continue
134
- }
135
-
136
- const clientCode = serializeChannelCLIClient(
137
- programName,
138
- programMeta,
139
- channelClientFile,
140
- config,
141
- config.bootstrapFile,
142
- channelRoute,
143
- visitState.cli.meta.renderers
144
- )
145
-
146
- await writeFileInDir(logger, channelClientFile, clientCode)
147
- logger.debug(
148
- `Serialized CLI channel client for ${programName}: ${channelClientFile}`
149
- )
150
- }
151
-
152
- continue
153
- }
154
-
155
- // Handle local CLI type entrypoint (default)
156
- const entrypointPath =
157
- typeof entrypointConfig === 'string'
158
- ? entrypointConfig
159
- : entrypointConfig.type === 'local'
160
- ? entrypointConfig.path
161
- : undefined
162
-
163
- if (!entrypointPath) {
164
- throw new Error(
165
- `CLI entrypoint must have a path: ${JSON.stringify(entrypointConfig)}`
166
- )
167
- }
168
-
169
- const bootstrapFile = join(config.rootDir, entrypointPath)
170
-
171
- // Get service factories for local mode
172
- // Check for required types
173
- checkRequiredTypes(visitState.filesAndMethodsErrors, {
174
- config: true,
175
- singletonServicesFactory: true,
176
- wireServicesFactory: true,
177
- })
178
-
179
- const {
180
- pikkuConfigFactory,
181
- singletonServicesFactory,
182
- wireServicesFactory,
183
- } = visitState.filesAndMethods
184
-
185
- if (
186
- !pikkuConfigFactory ||
187
- !singletonServicesFactory ||
188
- !wireServicesFactory
189
- ) {
190
- throw new Error('Required types not found')
191
- }
192
-
193
- const bootstrapCode = serializeLocalCLIBootstrap(
194
- programName,
195
- programMeta,
196
- bootstrapFile,
197
- config,
198
- pikkuConfigFactory,
199
- singletonServicesFactory,
200
- wireServicesFactory
201
- )
202
-
203
- await writeFileInDir(logger, bootstrapFile, bootstrapCode)
204
- logger.debug(
205
- `Serialized CLI bootstrap for ${programName}: ${bootstrapFile}`
206
- )
207
- }
208
- }
209
- },
210
- middleware: [
211
- logCommandInfoAndTime({
212
- commandStart: 'Serializing CLI',
213
- commandEnd: 'Serialized CLI',
214
- }),
215
- ],
216
- })
@@ -1,48 +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 { serializeCLITypes } from './serialize-cli-types.js'
6
- import { checkRequiredTypes } from '../../../utils/check-required-types.js'
7
-
8
- export const pikkuCLITypes: any = pikkuSessionlessFunc<void, void>({
9
- func: async ({ logger, config, getInspectorState }) => {
10
- const { cliTypesFile, functionTypesFile, packageMappings } = config
11
- const visitState = await getInspectorState()
12
-
13
- const functionTypesImportPath = getFileImportRelativePath(
14
- cliTypesFile,
15
- functionTypesFile,
16
- packageMappings
17
- )
18
-
19
- // Check for required types
20
- checkRequiredTypes(visitState.filesAndMethodsErrors, {
21
- userSessionType: true,
22
- wireServiceType: true,
23
- singletonServicesType: true,
24
- })
25
-
26
- const { userSessionType, singletonServicesType } =
27
- visitState.filesAndMethods
28
-
29
- if (!userSessionType || !singletonServicesType) {
30
- throw new Error('Required types not found')
31
- }
32
-
33
- const content = serializeCLITypes(
34
- functionTypesImportPath,
35
- `import type { ${userSessionType.type} } from '${getFileImportRelativePath(cliTypesFile, userSessionType.typePath, packageMappings)}'`,
36
- userSessionType.type,
37
- `import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(cliTypesFile, singletonServicesType.typePath, packageMappings)}'`,
38
- singletonServicesType.type
39
- )
40
- await writeFileInDir(logger, cliTypesFile, content)
41
- },
42
- middleware: [
43
- logCommandInfoAndTime({
44
- commandStart: 'Creating CLI types',
45
- commandEnd: 'Created CLI types',
46
- }),
47
- ],
48
- })
@@ -1,81 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
6
- import {
7
- stripVerboseFields,
8
- hasVerboseFields,
9
- } from '../../../utils/strip-verbose-meta.js'
10
-
11
- export const pikkuCLI: any = pikkuSessionlessFunc<void, boolean | undefined>({
12
- func: async ({ logger, config, getInspectorState }) => {
13
- const visitState = await getInspectorState()
14
- const {
15
- cliWiringsFile,
16
- cliWiringMetaFile,
17
- cliWiringMetaJsonFile,
18
- packageMappings,
19
- schema,
20
- } = config
21
- const { cli } = visitState
22
-
23
- // Generate CLI wirings file
24
- await writeFileInDir(
25
- logger,
26
- cliWiringsFile,
27
- serializeFileImports(
28
- 'wireCLI',
29
- cliWiringsFile,
30
- cli.files,
31
- packageMappings
32
- )
33
- )
34
-
35
- // Write minimal JSON (runtime-only fields)
36
- const minimalMeta = stripVerboseFields(cli.meta)
37
- await writeFileInDir(
38
- logger,
39
- cliWiringMetaJsonFile,
40
- JSON.stringify(minimalMeta, null, 2)
41
- )
42
-
43
- // Write verbose JSON only if it has additional fields
44
- if (hasVerboseFields(cli.meta)) {
45
- const verbosePath = cliWiringMetaJsonFile.replace(
46
- /\.gen\.json$/,
47
- '-verbose.gen.json'
48
- )
49
- await writeFileInDir(
50
- logger,
51
- verbosePath,
52
- JSON.stringify(cli.meta, null, 2)
53
- )
54
- }
55
-
56
- const jsonImportPath = getFileImportRelativePath(
57
- cliWiringMetaFile,
58
- cliWiringMetaJsonFile,
59
- packageMappings
60
- )
61
-
62
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
63
- const importStatement = supportsImportAttributes
64
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
65
- : `import metaData from '${jsonImportPath}'`
66
-
67
- await writeFileInDir(
68
- logger,
69
- cliWiringMetaFile,
70
- `import { pikkuState } from '@pikku/core'\nimport { CLIMeta } from '@pikku/core/cli'\n${importStatement}\npikkuState(null, 'cli', 'meta', metaData as CLIMeta)`
71
- )
72
-
73
- return true
74
- },
75
- middleware: [
76
- logCommandInfoAndTime({
77
- commandStart: 'Finding CLI commands',
78
- commandEnd: 'Found CLI commands',
79
- }),
80
- ],
81
- })
@@ -1,184 +0,0 @@
1
- import { CLIProgramMeta, CLICommandMeta } from '@pikku/core/cli'
2
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
3
- import { Config } from '../../../../types/application-types.js'
4
-
5
- /**
6
- * Collect all unique renderer names from CLI metadata (populated by inspector)
7
- */
8
- export function collectRendererNames(programMeta: CLIProgramMeta): Set<string> {
9
- const rendererNames = new Set<string>()
10
-
11
- // Add program-level default renderer
12
- if (programMeta.defaultRenderName) {
13
- rendererNames.add(programMeta.defaultRenderName)
14
- }
15
-
16
- // Recursively collect renderer names from commands
17
- function collectFromCommand(command: CLICommandMeta): void {
18
- if (command.renderName) {
19
- rendererNames.add(command.renderName)
20
- }
21
-
22
- // Recursively process subcommands
23
- if (command.subcommands) {
24
- for (const subCommand of Object.values(command.subcommands)) {
25
- collectFromCommand(subCommand)
26
- }
27
- }
28
- }
29
-
30
- // Process all commands
31
- for (const command of Object.values(programMeta.commands)) {
32
- collectFromCommand(command)
33
- }
34
-
35
- return rendererNames
36
- }
37
-
38
- /**
39
- * Build a renderers map for CLI commands
40
- */
41
- function buildRenderersMap(programMeta: CLIProgramMeta): string {
42
- const entries: string[] = []
43
-
44
- // Build map entries for each command that has a renderer
45
- function addCommandRenderer(command: CLICommandMeta, path: string[]): void {
46
- const commandId = path.join('.')
47
- if (command.renderName) {
48
- entries.push(` '${commandId}': ${command.renderName}`)
49
- }
50
-
51
- // Recursively process subcommands
52
- if (command.subcommands) {
53
- for (const [subName, subCommand] of Object.entries(command.subcommands)) {
54
- addCommandRenderer(subCommand, [...path, subName])
55
- }
56
- }
57
- }
58
-
59
- // Process all commands
60
- for (const [commandName, command] of Object.entries(programMeta.commands)) {
61
- addCommandRenderer(command, [commandName])
62
- }
63
-
64
- if (entries.length === 0) {
65
- return '{}'
66
- }
67
-
68
- return `{\n${entries.join(',\n')}\n }`
69
- }
70
-
71
- /**
72
- * Serializes a CLI-over-Channel client bootstrap file
73
- * Similar to local CLI bootstrap but uses WebSocket connection
74
- */
75
- export function serializeChannelCLIClient(
76
- programName: string,
77
- programMeta: CLIProgramMeta,
78
- clientFile: string,
79
- config: Config,
80
- cliBootstrapPath: string,
81
- channelRoute?: string,
82
- renderersMeta?: Record<string, any>
83
- ): string {
84
- const capitalizedName =
85
- programName.charAt(0).toUpperCase() + programName.slice(1).replace(/-/g, '')
86
- const finalChannelRoute = channelRoute || `/cli/${programName}`
87
-
88
- // Get relative import path to CLI bootstrap (for metadata)
89
- const bootstrapImportPath = getFileImportRelativePath(
90
- clientFile,
91
- cliBootstrapPath,
92
- config.packageMappings
93
- )
94
-
95
- // Collect all unique renderer names from CLI metadata (populated by inspector)
96
- const rendererNames = collectRendererNames(programMeta)
97
-
98
- // Generate renderer imports from their source files
99
- let rendererImports = ''
100
- if (rendererNames.size > 0 && renderersMeta) {
101
- const importsByFile = new Map<string, string[]>()
102
-
103
- for (const rendererName of rendererNames) {
104
- const meta = renderersMeta[rendererName]
105
- if (meta?.exportedName && meta?.filePath) {
106
- const relativePath = getFileImportRelativePath(
107
- clientFile,
108
- meta.filePath,
109
- config.packageMappings
110
- )
111
- if (!importsByFile.has(relativePath)) {
112
- importsByFile.set(relativePath, [])
113
- }
114
- importsByFile.get(relativePath)!.push(meta.exportedName)
115
- }
116
- }
117
-
118
- // Generate import statements
119
- for (const [path, names] of importsByFile) {
120
- rendererImports += `import { ${names.join(', ')} } from '${path}'\n`
121
- }
122
- }
123
-
124
- // Build renderers map
125
- const renderersMap = buildRenderersMap(programMeta)
126
-
127
- // Determine default renderer
128
- const defaultRendererCode = programMeta.defaultRenderName
129
- ? `,\n defaultRenderer: ${programMeta.defaultRenderName}`
130
- : ''
131
-
132
- return `
133
- import { executeCLIViaChannel } from '@pikku/core/cli/channel'
134
- import { CorePikkuWebsocket } from '@pikku/websocket'
135
- import '${bootstrapImportPath}'
136
- ${rendererImports}
137
- /**
138
- * ${capitalizedName} CLI Client (via WebSocket Channel)
139
- * Executes CLI commands over a WebSocket connection
140
- */
141
- export async function ${capitalizedName}CLIClient(
142
- ws: WebSocket,
143
- args?: string[]
144
- ): Promise<void> {
145
- // Create Pikku WebSocket wrapper
146
- const pikkuWS = new CorePikkuWebsocket(ws)
147
-
148
- // Register renderers for CLI commands
149
- const renderers = ${renderersMap}
150
-
151
- await executeCLIViaChannel({
152
- programName: '${programName}',
153
- pikkuWS,
154
- args,
155
- renderers${defaultRendererCode},
156
- })
157
- }
158
-
159
- // Export as default for easy importing
160
- export default ${capitalizedName}CLIClient
161
-
162
- // For direct execution (if this file is run directly)
163
- if (import.meta.url === \`file://\${process.argv[1]}\`) {
164
- const url = process.env.PIKKU_WS_URL || 'ws://localhost:4002${finalChannelRoute}'
165
-
166
- // Create WebSocket instance
167
- let WebSocketImpl: any
168
- if (typeof WebSocket !== 'undefined') {
169
- WebSocketImpl = WebSocket
170
- } else {
171
- // Node.js environment - dynamically import 'ws'
172
- const wsModule = await import('ws')
173
- WebSocketImpl = wsModule.default
174
- }
175
-
176
- const ws = new WebSocketImpl(url) as WebSocket
177
- ${capitalizedName}CLIClient(ws, process.argv.slice(2)).catch(error => {
178
- console.error('Fatal channel CLI error:', error)
179
- // TODO: We get an error code even when it exists cleanly, investigate
180
- // process.exit(1)
181
- })
182
- }
183
- `
184
- }
@@ -1,134 +0,0 @@
1
- import { CLIProgramMeta } from '@pikku/core/cli'
2
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
3
-
4
- /**
5
- * Serializes a wireChannel call from CLI metadata
6
- * This creates a WebSocket backend for all CLI commands
7
- */
8
- export function serializeChannelCLI(
9
- programName: string,
10
- programMeta: CLIProgramMeta,
11
- channelFile: string,
12
- functionFiles: Map<string, { path: string; exportedName: string }>,
13
- packageMappings: Record<string, string>,
14
- channelTypesFile: string,
15
- functionTypesFile: string,
16
- channelName?: string,
17
- channelRoute?: string
18
- ): string {
19
- const finalChannelName = channelName || `${programName}-cli`
20
- const finalChannelRoute = channelRoute || `/cli/${programName}`
21
- // Flatten all commands into a single routing map
22
- const commandMap: Record<
23
- string,
24
- { pikkuFuncName: string; importPath?: string }
25
- > = {}
26
-
27
- const collectCommands = (
28
- commands: Record<string, any>,
29
- path: string[] = []
30
- ) => {
31
- for (const [name, cmd] of Object.entries(commands)) {
32
- const fullPath = [...path, name]
33
- const commandKey = fullPath.join('.')
34
-
35
- if (cmd.pikkuFuncName) {
36
- commandMap[commandKey] = {
37
- pikkuFuncName: cmd.pikkuFuncName,
38
- }
39
- }
40
-
41
- // Recursively process subcommands
42
- if (cmd.subcommands) {
43
- collectCommands(cmd.subcommands, fullPath)
44
- }
45
- }
46
- }
47
-
48
- collectCommands(programMeta.commands)
49
-
50
- // Generate imports from function file locations
51
- const funcNames = [
52
- ...new Set(Object.values(commandMap).map((v) => v.pikkuFuncName)),
53
- ]
54
- const imports = funcNames
55
- .map((pikkuFuncName) => {
56
- const fileInfo = functionFiles.get(pikkuFuncName)
57
- if (!fileInfo) {
58
- throw new Error(`Function not found in files map: ${pikkuFuncName}`)
59
- }
60
-
61
- const importPath = getFileImportRelativePath(
62
- channelFile,
63
- fileInfo.path,
64
- packageMappings
65
- )
66
- return `import { ${fileInfo.exportedName} } from '${importPath}'`
67
- })
68
- .join('\n')
69
-
70
- // Get relative path to channel types file
71
- const channelTypesPath = getFileImportRelativePath(
72
- channelFile,
73
- channelTypesFile,
74
- packageMappings
75
- )
76
-
77
- // Get relative path to function types file
78
- const functionTypesPath = getFileImportRelativePath(
79
- channelFile,
80
- functionTypesFile,
81
- packageMappings
82
- )
83
-
84
- return `/**
85
- * WebSocket channel backend for '${programName}' CLI commands
86
- */
87
- import { wireChannel } from '${channelTypesPath}'
88
- import { pikkuMiddleware } from '${functionTypesPath}'
89
- ${imports}
90
-
91
- // Middleware to close the channel after CLI command completes
92
- const cliCloseOnComplete = pikkuMiddleware(async (_services, { channel }, next) => {
93
- const closeChannel = () => {
94
- setTimeout(async () => {
95
- try {
96
- // This gives time for the response to be sent before closing
97
- await channel?.close()
98
- } catch (err) {
99
- // Ignore errors on close
100
- }
101
- }, 200)
102
- }
103
-
104
- try {
105
- const result = await next()
106
- closeChannel()
107
- return result
108
- } catch (error) {
109
- closeChannel()
110
- throw error
111
- }
112
- })
113
-
114
- wireChannel({
115
- name: '${finalChannelName}',
116
- route: '${finalChannelRoute}',
117
- auth: false,
118
- onMessageWiring: {
119
- command: {
120
- ${Object.entries(commandMap)
121
- .map(
122
- ([commandKey, { pikkuFuncName }]) =>
123
- ` '${commandKey}': {
124
- func: ${pikkuFuncName},
125
- middleware: [cliCloseOnComplete],
126
- }`
127
- )
128
- .join(',\n')}
129
- }
130
- },
131
- tags: ['cli', '${programName}']
132
- })
133
- `
134
- }