@pikku/cli 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  26. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +65 -10
  27. package/dist/.pikku/channel/pikku-channel-types.gen.js +23 -16
  28. package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
  29. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  31. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  32. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  33. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  34. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  36. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -12
  38. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  40. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  41. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  42. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  43. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  44. package/dist/.pikku/function/pikku-function-types.gen.d.ts +180 -37
  45. package/dist/.pikku/function/pikku-function-types.gen.js +63 -53
  46. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  47. package/dist/.pikku/function/pikku-functions-meta.gen.json +624 -506
  48. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  49. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  50. package/dist/.pikku/http/pikku-http-types.gen.d.ts +54 -3
  51. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  52. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +68 -29
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +8 -42
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +9 -10
  64. package/dist/.pikku/pikku-bootstrap.gen.js +17 -8
  65. package/dist/.pikku/pikku-services.gen.d.ts +7 -2
  66. package/dist/.pikku/pikku-services.gen.js +5 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -1
  68. package/dist/.pikku/pikku-types.gen.js +7 -1
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +6 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +6 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +33 -15
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  92. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  93. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  95. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  97. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  98. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  99. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  100. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  101. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  102. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  103. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  104. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  105. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  106. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  107. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  108. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +71 -53
  109. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +23 -35
  110. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
  111. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
  112. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
  113. package/dist/bin/pikku.js +20 -47
  114. package/dist/src/cli.wiring.js +29 -2
  115. package/dist/src/functions/commands/all.d.ts +1 -1
  116. package/dist/src/functions/commands/all.js +109 -168
  117. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  118. package/dist/src/functions/commands/bootstrap.js +13 -29
  119. package/dist/src/functions/commands/console.d.ts +7 -0
  120. package/dist/src/functions/commands/console.js +106 -0
  121. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  122. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  123. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  124. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  125. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  126. package/dist/src/functions/commands/versions-check.js +17 -0
  127. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  128. package/dist/src/functions/commands/versions-init.js +15 -0
  129. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  130. package/dist/src/functions/commands/versions-update.js +20 -0
  131. package/dist/src/functions/commands/watch.d.ts +1 -1
  132. package/dist/src/functions/commands/watch.js +4 -5
  133. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  134. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  135. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  136. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -8
  137. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  138. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +49 -43
  139. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +45 -35
  140. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  141. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  142. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  143. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  144. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  145. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  146. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  147. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  148. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  149. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  150. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  151. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  152. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  153. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  154. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  155. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  156. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  157. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  158. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  159. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  160. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  161. package/dist/src/functions/wirings/channels/pikku-command-channels.js +19 -3
  162. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  163. package/dist/src/functions/wirings/channels/serialize-channel-types.js +97 -10
  164. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  165. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +9 -10
  166. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  167. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  168. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  169. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  170. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  171. package/dist/src/functions/wirings/cli/pikku-command-cli.js +11 -3
  172. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  173. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  174. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  175. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  176. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  177. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  178. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  179. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  180. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  181. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  182. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  183. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  184. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  185. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  186. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  187. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  188. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  189. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  190. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  191. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +8 -3
  192. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  193. package/dist/src/functions/wirings/functions/pikku-command-functions.js +34 -19
  194. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  195. package/dist/src/functions/wirings/functions/pikku-command-services.js +2 -2
  196. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  197. package/dist/src/functions/wirings/functions/schemas.js +8 -9
  198. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  199. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  200. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +4 -3
  201. package/dist/src/functions/wirings/functions/serialize-function-imports.js +16 -19
  202. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  203. package/dist/src/functions/wirings/functions/serialize-function-types.js +256 -42
  204. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  205. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +22 -21
  206. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  207. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  208. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  209. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +19 -3
  210. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  211. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  212. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  213. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  214. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  215. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  216. package/dist/src/functions/wirings/http/serialize-http-types.js +64 -3
  217. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  218. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +43 -31
  219. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  220. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  221. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  222. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  223. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  224. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +28 -10
  225. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +81 -38
  226. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  227. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -31
  228. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  229. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  230. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  231. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -0
  232. package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
  233. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  234. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  235. package/dist/src/functions/wirings/package/serialize-package.d.ts +5 -0
  236. package/dist/src/functions/wirings/package/serialize-package.js +32 -0
  237. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  238. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  239. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  240. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  241. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  242. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  243. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  244. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  245. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  246. package/dist/src/functions/wirings/queue/pikku-command-queue.js +11 -3
  247. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  248. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  249. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  250. package/dist/src/functions/wirings/queue/pikku-queue.js +2 -10
  251. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  252. package/dist/src/functions/wirings/queue/serialize-queue-map.js +13 -24
  253. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  254. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  255. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  256. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  257. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  258. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  259. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  260. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  261. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  262. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  263. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  264. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  265. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  266. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  267. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -2
  268. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  269. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  270. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +130 -59
  271. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  272. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  273. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  274. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +11 -2
  275. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  276. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  277. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  278. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  279. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  280. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  281. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  282. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  283. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  284. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  285. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  286. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  287. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  288. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  289. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  290. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  291. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  292. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  293. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  294. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  295. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +29 -20
  296. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +7 -2
  297. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +87 -38
  298. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
  299. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +42 -18
  300. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
  301. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +26 -0
  302. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -4
  303. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +121 -63
  304. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
  305. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +15 -28
  306. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  307. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  308. package/dist/src/services/cli-logger.service.d.ts +1 -1
  309. package/dist/src/services/cli-logger.service.js +1 -1
  310. package/dist/src/services.d.ts +1 -1
  311. package/dist/src/services.js +56 -6
  312. package/dist/src/utils/command-summary.d.ts +3 -0
  313. package/dist/src/utils/command-summary.js +3 -0
  314. package/dist/src/utils/contract-versions.d.ts +6 -0
  315. package/dist/src/utils/contract-versions.js +25 -0
  316. package/dist/src/utils/file-import-path.js +20 -6
  317. package/dist/src/utils/generate-bootstrap-file.js +1 -1
  318. package/dist/src/utils/pikku-cli-config.js +104 -13
  319. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  320. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  321. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  322. package/dist/src/utils/serialize-import-map.js +3 -54
  323. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  324. package/dist/src/utils/serialize-meta-ts.js +12 -0
  325. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  326. package/dist/src/utils/serialize-schemas.js +38 -0
  327. package/dist/src/utils/strip-verbose-meta.d.ts +43 -0
  328. package/dist/src/utils/strip-verbose-meta.js +210 -0
  329. package/dist/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +20 -8
  331. package/.pikku/channel/pikku-channel-types.gen.ts +0 -91
  332. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  333. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -5
  334. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  335. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  336. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  337. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  338. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -146
  339. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  340. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  341. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  342. package/.pikku/function/pikku-function-types.gen.ts +0 -426
  343. package/.pikku/function/pikku-functions-meta.gen.json +0 -988
  344. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  345. package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  346. package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
  347. package/.pikku/http/pikku-http-types.gen.ts +0 -86
  348. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  349. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -13
  350. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  351. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -140
  352. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  353. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  354. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  355. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  356. package/.pikku/pikku-bootstrap.gen.ts +0 -19
  357. package/.pikku/pikku-services.gen.ts +0 -27
  358. package/.pikku/pikku-types.gen.ts +0 -27
  359. package/.pikku/pikku-websocket.gen.ts +0 -90
  360. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  361. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  362. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  363. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  364. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  365. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -27
  366. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -57
  367. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -99
  368. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  369. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  370. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  371. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  372. package/.pikku/schemas/register.gen.ts +0 -63
  373. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  374. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  375. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  376. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  377. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  378. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  379. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  380. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  381. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  382. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  383. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  388. package/.pikku/services/config.gen.json +0 -99
  389. package/.pikku/services/getInspectorState.gen.json +0 -10
  390. package/.pikku/services/jwt.gen.json +0 -13
  391. package/.pikku/services/logger.gen.json +0 -25
  392. package/.pikku/services/queueService.gen.json +0 -14
  393. package/.pikku/services/schedulerService.gen.json +0 -17
  394. package/.pikku/services/schema.gen.json +0 -14
  395. package/.pikku/services/variables.gen.json +0 -13
  396. package/.pikku/services/workflowService.gen.json +0 -31
  397. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -62
  398. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -97
  399. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +0 -1
  400. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -8
  401. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -8
  402. package/CHANGELOG.md +0 -935
  403. package/bin/pikku.ts +0 -88
  404. package/build.sh +0 -75
  405. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
  406. package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  407. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  408. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  409. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  410. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  411. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  412. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  413. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  414. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -101
  415. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  416. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  417. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  418. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  419. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
  420. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
  421. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
  422. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
  423. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
  424. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
  425. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  426. package/dist/src/utils/custom-types-generator.js +0 -43
  427. package/dist/src/utils/schema-generator.d.ts +0 -6
  428. package/dist/src/utils/schema-generator.js +0 -118
  429. package/pikku.config.json +0 -29
  430. package/run-tests.sh +0 -53
  431. package/src/cli.wiring.ts +0 -112
  432. package/src/functions/commands/all.ts +0 -266
  433. package/src/functions/commands/bootstrap.ts +0 -43
  434. package/src/functions/commands/watch.ts +0 -61
  435. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -132
  436. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -268
  437. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -201
  438. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  439. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  440. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  441. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -40
  442. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  443. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -94
  444. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -172
  445. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  446. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  447. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  448. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -62
  449. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  450. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  451. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  452. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  453. package/src/functions/wirings/fetch/index.ts +0 -36
  454. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -60
  455. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -43
  456. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -94
  457. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  458. package/src/functions/wirings/functions/pikku-function-types.ts +0 -43
  459. package/src/functions/wirings/functions/schemas.ts +0 -46
  460. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -71
  461. package/src/functions/wirings/functions/serialize-function-types.ts +0 -439
  462. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -38
  463. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  464. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  465. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -36
  466. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  467. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -63
  468. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  469. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  470. package/src/functions/wirings/http/serialize-http-types.ts +0 -89
  471. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -154
  472. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  473. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  474. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -140
  475. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -159
  476. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -143
  477. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -85
  478. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  479. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  480. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  481. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  482. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  483. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  484. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  485. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  486. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -66
  487. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  488. package/src/functions/wirings/queue/pikku-queue.ts +0 -75
  489. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -119
  490. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  491. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  492. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  493. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  494. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  495. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  496. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -48
  497. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  498. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  499. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -30
  500. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  501. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -128
  502. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  503. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -67
  504. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  505. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  506. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  507. package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
  508. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
  509. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -151
  510. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -123
  511. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -33
  512. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -103
  513. package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
  514. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -60
  515. package/src/middleware/log-command-info-and-time.ts +0 -35
  516. package/src/services/cli-logger-forwarder.service.ts +0 -99
  517. package/src/services/cli-logger.service.ts +0 -108
  518. package/src/services.ts +0 -315
  519. package/src/utils/check-required-types.ts +0 -65
  520. package/src/utils/command-summary.ts +0 -103
  521. package/src/utils/custom-types-generator.ts +0 -55
  522. package/src/utils/file-import-path.test.ts +0 -175
  523. package/src/utils/file-import-path.ts +0 -53
  524. package/src/utils/file-imports-serializer.ts +0 -25
  525. package/src/utils/file-writer.ts +0 -72
  526. package/src/utils/generate-bootstrap-file.ts +0 -43
  527. package/src/utils/get-cli-version.ts +0 -28
  528. package/src/utils/pikku-cli-config.ts +0 -462
  529. package/src/utils/pikku-files-and-methods.ts +0 -145
  530. package/src/utils/schema-generator.ts +0 -172
  531. package/src/utils/serialize-import-map.ts +0 -102
  532. package/tsconfig.json +0 -21
  533. package/types/application-types.d.ts +0 -27
  534. package/types/config.d.ts +0 -270
  535. /package/dist/.pikku/{function/pikku-functions-meta.min.gen.d.ts → agent/pikku-agent-wirings-meta.gen.d.ts} +0 -0
  536. /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
  537. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  538. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,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
- }
@@ -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,60 +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 } from '${getFileImportRelativePath(functionTypesFile, rpcInternalMapDeclarationFile, packageMappings)}'`,
48
- `import type { RequiredSingletonServices, RequiredWireServices } from '${getFileImportRelativePath(functionTypesFile, servicesFile, packageMappings)}'`,
49
- configTypeImport
50
- )
51
-
52
- await writeFileInDir(logger, functionTypesFile, content)
53
- },
54
- middleware: [
55
- logCommandInfoAndTime({
56
- commandStart: 'Creating function types',
57
- commandEnd: 'Created function types',
58
- }),
59
- ],
60
- })
@@ -1,43 +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
- } = config
20
-
21
- const content = serializePikkuTypesHub(
22
- getFileImportRelativePath(typesFile, functionTypesFile, packageMappings),
23
- getFileImportRelativePath(typesFile, httpTypesFile, packageMappings),
24
- getFileImportRelativePath(typesFile, channelsTypesFile, packageMappings),
25
- getFileImportRelativePath(
26
- typesFile,
27
- schedulersTypesFile,
28
- packageMappings
29
- ),
30
- getFileImportRelativePath(typesFile, queueTypesFile, packageMappings),
31
- getFileImportRelativePath(typesFile, mcpTypesFile, packageMappings),
32
- getFileImportRelativePath(typesFile, cliTypesFile, packageMappings)
33
- )
34
-
35
- await writeFileInDir(logger, typesFile, content)
36
- },
37
- middleware: [
38
- logCommandInfoAndTime({
39
- commandStart: 'Creating api types hub',
40
- commandEnd: 'Created api types hub',
41
- }),
42
- ],
43
- })