@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,35 +0,0 @@
1
- import type { Services } from '../../types/application-types.js'
2
- import type { PikkuWire } from '@pikku/core'
3
-
4
- // Middleware type for CLI
5
- type PikkuMiddleware = (
6
- services: Services,
7
- wire: PikkuWire,
8
- next: () => Promise<void>
9
- ) => Promise<void>
10
-
11
- export interface LogCommandInfoOptions {
12
- commandStart: string
13
- commandEnd: string
14
- }
15
-
16
- /**
17
- * Middleware to log command execution timing and status
18
- * Uses debug level so it only shows with --verbose flag
19
- */
20
- export const logCommandInfoAndTime = ({
21
- commandStart,
22
- commandEnd,
23
- }: LogCommandInfoOptions): PikkuMiddleware => {
24
- return async ({ logger }, _wire, next) => {
25
- const start = Date.now()
26
- logger.debug(`• ${commandStart}...`)
27
-
28
- await next()
29
-
30
- logger.debug({
31
- type: 'success',
32
- message: `✓ ${commandEnd} in ${Date.now() - start}ms.`,
33
- })
34
- }
35
- }
@@ -1,99 +0,0 @@
1
- import { Logger, LogLevel } from '@pikku/core'
2
- import { PikkuChannel } from '@pikku/core/channel'
3
- import { ErrorCode } from '@pikku/inspector'
4
-
5
- /**
6
- * Log message structure sent through the channel
7
- */
8
- export interface ForwardedLogMessage {
9
- message: string
10
- level: 'trace' | 'debug' | 'info' | 'warn' | 'error'
11
- type?: string
12
- }
13
-
14
- /**
15
- * A logger implementation that forwards log messages to a CLI channel
16
- * instead of logging to console directly.
17
- */
18
- export class CLILoggerForwarder implements Logger {
19
- private level: LogLevel = LogLevel.info
20
- private silent: boolean = false
21
-
22
- constructor(
23
- private logger: Logger,
24
- private channel: PikkuChannel<unknown, any>
25
- ) {}
26
-
27
- setLevel(level: LogLevel): void {
28
- this.level = level
29
- }
30
-
31
- setSilent(silent: boolean): void {
32
- this.silent = silent
33
- }
34
-
35
- isSilent(): boolean {
36
- return this.silent
37
- }
38
-
39
- private log(
40
- level: ForwardedLogMessage['level'],
41
- logLevel: LogLevel,
42
- messageOrObj: string | Record<string, any> | Error,
43
- type?: string
44
- ) {
45
- if (this.level > logLevel || this.silent) return
46
-
47
- let message: string
48
-
49
- if (messageOrObj instanceof Error) {
50
- this.logger.error(messageOrObj.toString())
51
- message = messageOrObj.message
52
- } else if (typeof messageOrObj === 'object') {
53
- if (
54
- 'message' in messageOrObj &&
55
- typeof messageOrObj.message === 'string'
56
- ) {
57
- message = messageOrObj.message
58
- type = type || (messageOrObj.type as string)
59
- } else {
60
- message = JSON.stringify(messageOrObj)
61
- }
62
- } else {
63
- message = messageOrObj
64
- }
65
-
66
- this.channel.send({ message, level, type })
67
- }
68
-
69
- info(messageOrObj: string | Record<string, any>, ..._meta: any[]) {
70
- this.log('info', LogLevel.info, messageOrObj)
71
- }
72
-
73
- error(messageOrObj: string | Record<string, any> | Error, ..._meta: any[]) {
74
- this.log('error', LogLevel.error, messageOrObj)
75
- }
76
-
77
- warn(messageOrObj: string | Record<string, any>, ..._meta: any[]) {
78
- this.log('warn', LogLevel.warn, messageOrObj)
79
- }
80
-
81
- debug(message: string, ..._meta: any[]) {
82
- this.log('debug', LogLevel.debug, message)
83
- }
84
-
85
- trace(message: string, ..._meta: any[]) {
86
- this.log('trace', LogLevel.trace, message)
87
- }
88
-
89
- critical(code: ErrorCode, message: string) {
90
- const url = `https://pikku.dev/docs/pikku-cli/errors/${code.toLowerCase()}`
91
- const formattedMessage = `[${code}] ${message}\n → ${url}`
92
- this.error(formattedMessage)
93
- }
94
-
95
- hasCriticalErrors(): boolean {
96
- // The underlying logger (CLILogger) tracks critical errors
97
- return (this.logger as any).hasCriticalErrors?.() ?? false
98
- }
99
- }
@@ -1,108 +0,0 @@
1
- import chalk from 'chalk'
2
- import { Logger, LogLevel } from '@pikku/core'
3
- import { ErrorCode } from '@pikku/inspector'
4
-
5
- const logo = `
6
- ______ _ _ _
7
- (_____ (_) | | |
8
- _____) )| | _| | _ _ _
9
- | ____/ | |_/ ) |_/ ) | | |
10
- | | | | _ (| _ (| _ (| |_| |
11
- |_| |_|_| _)_| _)____/
12
- `
13
-
14
- const BASE_ERROR_URL = 'https://pikku.dev/docs/pikku-cli/errors'
15
-
16
- export class CLILogger implements Logger {
17
- private silent: boolean
18
- private level: LogLevel = LogLevel.warn // default to warn level
19
- private criticalErrors: string[] = []
20
-
21
- constructor({
22
- logLogo,
23
- silent = false,
24
- }: {
25
- logLogo: boolean
26
- silent?: boolean
27
- }) {
28
- this.silent = silent
29
- if (logLogo && !silent) {
30
- this.logLogo()
31
- }
32
- }
33
-
34
- setLevel(level: LogLevel): void {
35
- this.level = level
36
- }
37
-
38
- setSilent(silent: boolean): void {
39
- this.silent = silent
40
- }
41
-
42
- isSilent(): boolean {
43
- return this.silent
44
- }
45
-
46
- info(message: string | { message: string; type?: string }) {
47
- if (this.level > LogLevel.info || this.silent) return
48
-
49
- let c = chalk.blue
50
- if (typeof message === 'object') {
51
- if (message.type === 'success') {
52
- c = chalk.green
53
- } else if (message.type === 'timing') {
54
- c = chalk.gray
55
- }
56
- }
57
- console.log(c(typeof message === 'string' ? message : message.message))
58
- }
59
-
60
- error(message: string) {
61
- if (this.level > LogLevel.error) return
62
- console.error(chalk.red(message))
63
- }
64
-
65
- warn(message: string) {
66
- if (this.level > LogLevel.warn) return
67
- console.error(chalk.yellow(message))
68
- }
69
-
70
- debug(message: string | { message: string; type?: string }) {
71
- if (this.level > LogLevel.debug || this.silent) return
72
-
73
- let c = chalk.gray
74
- if (typeof message === 'object') {
75
- if (message.type === 'success') {
76
- c = chalk.green
77
- }
78
- }
79
- console.log(c(typeof message === 'string' ? message : message.message))
80
- }
81
-
82
- critical(code: ErrorCode, message: string) {
83
- const url = `${BASE_ERROR_URL}/${code.toLowerCase()}`
84
- const formattedMessage = `[${code}] ${message}\n → ${url}`
85
- this.criticalErrors.push(formattedMessage)
86
- console.error(chalk.red.bold(formattedMessage))
87
- }
88
-
89
- hasCriticalErrors(): boolean {
90
- return this.criticalErrors.length > 0
91
- }
92
-
93
- logLogo() {
94
- this.primary(logo)
95
- // // When running from dist/, __filename is dist/src/services/cli-logger.service.js
96
- // // So we need to go up 3 levels: dist/src/services -> dist/src -> dist -> package.json
97
- // const packageJson = JSON.parse(
98
- // readFileSync(`${dirname(__filename)}/../../../package.json`, 'utf-8')
99
- // )
100
- // this.primary(`⚙️ Welcome to the Pikku CLI (v${packageJson.version})\n`)
101
- }
102
-
103
- private primary(message: string) {
104
- if (!this.silent) {
105
- console.log(chalk.green(message))
106
- }
107
- }
108
- }
package/src/services.ts DELETED
@@ -1,322 +0,0 @@
1
- import type {
2
- Config,
3
- Services,
4
- SingletonServices,
5
- UserSession,
6
- } from '../types/application-types.js'
7
- import {
8
- CreateConfig,
9
- CreateWireServices,
10
- CreateSingletonServices,
11
- } from '@pikku/core'
12
- import { pikkuCLIRender } from '@pikku/core/cli'
13
- import {
14
- LocalVariablesService,
15
- LocalSecretService,
16
- LogLevel,
17
- } from '@pikku/core/services'
18
- import { CLILogger } from './services/cli-logger.service.js'
19
- import { getPikkuCLIConfig } from './utils/pikku-cli-config.js'
20
- import {
21
- inspect,
22
- InspectorState,
23
- InspectorFilters,
24
- serializeInspectorState,
25
- deserializeInspectorState,
26
- filterInspectorState,
27
- getInitialInspectorState,
28
- } from '@pikku/inspector'
29
- import { glob } from 'tinyglobby'
30
- import path from 'path'
31
- import { PikkuCLIConfig } from '../types/config.js'
32
- import {
33
- CLILoggerForwarder,
34
- ForwardedLogMessage,
35
- } from './services/cli-logger-forwarder.service.js'
36
- import { readFile, writeFile } from 'fs/promises'
37
-
38
- // Logger instance will be configured with log level from CLI flags in createConfig
39
- // Logo will be displayed conditionally in createConfig based on --silent flag
40
- const logger = new CLILogger({ logLogo: false, silent: false })
41
-
42
- /**
43
- * Parse a comma-separated string or array into an array of trimmed, non-empty strings
44
- * Returns undefined if the input is empty/undefined or results in an empty array
45
- */
46
- function parseCommaSeparated(
47
- value: string | string[] | undefined
48
- ): string[] | undefined {
49
- if (!value) return undefined
50
-
51
- // If already an array, flatten and split any comma-separated values
52
- if (Array.isArray(value)) {
53
- const flattened = value
54
- .flatMap((item) => item.split(','))
55
- .map((item) => item.trim())
56
- .filter((item) => item.length > 0)
57
- return flattened.length > 0 ? flattened : undefined
58
- }
59
-
60
- // If string, split by comma
61
- const parsed = value
62
- .split(',')
63
- .map((item) => item.trim())
64
- .filter((item) => item.length > 0)
65
-
66
- return parsed.length > 0 ? parsed : undefined
67
- }
68
-
69
- /**
70
- * Parse CLI filter arguments into InspectorFilters format
71
- */
72
- function parseCLIFilters(data: any): InspectorFilters {
73
- const filters: InspectorFilters = {}
74
-
75
- if (data.filters) {
76
- return JSON.parse(data.filters)
77
- }
78
-
79
- // Parse each filter type from CLI arguments
80
- const names = parseCommaSeparated(data.names)
81
- const tags = parseCommaSeparated(data.tags)
82
- const types = parseCommaSeparated(data.types)
83
- const directories = parseCommaSeparated(data.directories)
84
- const httpRoutes = parseCommaSeparated(data.httpRoutes)
85
- const httpMethods = parseCommaSeparated(data.httpMethods)
86
-
87
- // Only include non-undefined values in the result
88
- if (names) filters.names = names
89
- if (tags) filters.tags = tags
90
- if (types) filters.types = types
91
- if (directories) filters.directories = directories
92
- if (httpRoutes) filters.httpRoutes = httpRoutes
93
- if (httpMethods) filters.httpMethods = httpMethods
94
-
95
- return filters
96
- }
97
-
98
- /**
99
- * Default CLI renderer that logs output using the logger
100
- */
101
- export const defaultCLIRenderer = pikkuCLIRender<
102
- ForwardedLogMessage,
103
- SingletonServices
104
- >(({ logger }, data) => {
105
- if (data) {
106
- logger[data.level]({ message: data.message, type: data.type })
107
- }
108
- })
109
-
110
- // /**
111
- // * Client-safe CLI renderer that outputs to console (no service dependencies)
112
- // * This renderer can be used in CLI-over-channel clients
113
- // */
114
- // export const clientCLIRenderer = pikkuCLIRender<ForwardedLogMessage>(
115
- // ({ logger }, data) => {
116
- // if (data) {
117
- // logger[data.level]?.({ message: data.message, type: data.type } as any)
118
- // }
119
- // }
120
- // )
121
-
122
- export const createConfig: CreateConfig<Config, [PikkuCLIConfig]> = async (
123
- _variablesService,
124
- data
125
- ) => {
126
- // Determine log level based on CLI flags with precedence:
127
- // --silent > --loglevel > --verbose > --info > default (warn)
128
- let logLevel: LogLevel = LogLevel.warn // default
129
- let isSilent = false
130
-
131
- if ((data as any).silent) {
132
- logLevel = LogLevel.critical
133
- isSilent = true
134
- } else if ((data as any).loglevel) {
135
- const levelStr = (data as any).loglevel
136
- if (LogLevel[levelStr] !== undefined) {
137
- logLevel = LogLevel[levelStr as keyof typeof LogLevel]
138
- } else {
139
- logger.warn(
140
- `Invalid log level "${levelStr}". Valid levels: trace, debug, info, warn, error, critical. Using default (warn).`
141
- )
142
- }
143
- } else if ((data as any).verbose) {
144
- logLevel = LogLevel.debug
145
- } else if ((data as any).info) {
146
- logLevel = LogLevel.info
147
- }
148
-
149
- logger.setLevel(logLevel)
150
- logger.setSilent(isSilent)
151
-
152
- // Display logo unless in silent mode
153
- if (!isSilent) {
154
- logger.logLogo()
155
- }
156
-
157
- const cliConfig = await getPikkuCLIConfig(logger, data.configFile, [], true)
158
-
159
- // Load inspector state from file if stateInput is provided
160
- let preloadedInspectorState: Omit<InspectorState, 'typesLookup'> | undefined =
161
- undefined
162
-
163
- if (data.stateInput) {
164
- try {
165
- logger.info(`Loading inspector state from ${data.stateInput}`)
166
- const stateJson = await readFile(data.stateInput, 'utf-8')
167
- const serializedState = JSON.parse(stateJson)
168
- preloadedInspectorState = deserializeInspectorState(serializedState)
169
- logger.info(`Inspector state loaded successfully`)
170
- } catch (error: any) {
171
- logger.error(
172
- `Failed to load inspector state from ${data.stateInput}: ${error.message}`
173
- )
174
- throw error
175
- }
176
- }
177
-
178
- return {
179
- ...cliConfig,
180
- ...data,
181
- filters: parseCLIFilters(data),
182
- preloadedInspectorState,
183
- }
184
- }
185
-
186
- /**
187
- * Singleton services factory for the Pikku CLI
188
- * This function creates the singleton services used by the CLI and is created once on start.
189
- */
190
- export const createSingletonServices: CreateSingletonServices<
191
- Config,
192
- SingletonServices
193
- > = async (config) => {
194
- const {
195
- rootDir,
196
- srcDirectories,
197
- filters,
198
- preloadedInspectorState,
199
- stateOutput,
200
- } = config
201
- const variables = new LocalVariablesService()
202
-
203
- // Store unfiltered state
204
- let unfilteredState:
205
- | InspectorState
206
- | Omit<InspectorState, 'typesLookup'>
207
- | undefined = preloadedInspectorState
208
-
209
- const getInspectorState = async (
210
- refresh: boolean = false,
211
- setupOnly: boolean = false,
212
- bootstrapMode: boolean = false
213
- ) => {
214
- // In bootstrap mode, return a minimal "zero state" with core types
215
- // This allows bootstrap to run immediately without inspecting the codebase
216
- if (bootstrapMode) {
217
- const corePackagePath = '@pikku/core'
218
- const initialState = getInitialInspectorState(rootDir)
219
-
220
- // Populate filesAndMethods with core types from @pikku/core
221
- initialState.filesAndMethods = {
222
- userSessionType: {
223
- file: corePackagePath,
224
- variable: 'CoreUserSession',
225
- type: 'CoreUserSession',
226
- typePath: corePackagePath,
227
- },
228
- wireServicesType: {
229
- file: corePackagePath,
230
- variable: 'CoreServices',
231
- type: 'CoreServices',
232
- typePath: corePackagePath,
233
- },
234
- singletonServicesType: {
235
- file: corePackagePath,
236
- variable: 'CoreSingletonServices',
237
- type: 'CoreSingletonServices',
238
- typePath: corePackagePath,
239
- },
240
- pikkuConfigType: {
241
- file: corePackagePath,
242
- variable: 'CoreConfig',
243
- type: 'CoreConfig',
244
- typePath: corePackagePath,
245
- },
246
- }
247
-
248
- return initialState
249
- }
250
-
251
- // Get or refresh the unfiltered state
252
- if (!unfilteredState || refresh) {
253
- // Run inspector WITHOUT filters to get full state
254
- const wiringFiles = (
255
- await Promise.all(
256
- srcDirectories.map((dir) =>
257
- glob(`${path.join(rootDir, dir)}/**/*.ts`, {
258
- ignore: config.ignoreFiles || [],
259
- absolute: true,
260
- })
261
- )
262
- )
263
- ).flat()
264
- unfilteredState = inspect(logger, wiringFiles, {
265
- setupOnly,
266
- rootDir,
267
- types: {
268
- configFileType: config.configFile,
269
- userSessionType: config.userSessionType,
270
- singletonServicesFactoryType: config.singletonServicesFactoryType,
271
- wireServicesFactoryType: config.wireServicesFactoryType,
272
- },
273
- })
274
-
275
- // Save unfiltered inspector state to file if stateOutput is provided
276
- if (stateOutput && 'typesLookup' in unfilteredState) {
277
- try {
278
- logger.info(`Saving inspector state to ${stateOutput}`)
279
- const serialized = serializeInspectorState(unfilteredState)
280
- await writeFile(
281
- stateOutput,
282
- JSON.stringify(serialized, null, 2),
283
- 'utf-8'
284
- )
285
- logger.info(`Inspector state saved successfully`)
286
- } catch (error: any) {
287
- logger.error(
288
- `Failed to save inspector state to ${stateOutput}: ${error.message}`
289
- )
290
- // Don't throw - state saving is optional/nice-to-have
291
- }
292
- }
293
- }
294
-
295
- // Apply filters as a post-processing step
296
- const filteredState = filterInspectorState(unfilteredState, filters, logger)
297
-
298
- return filteredState as InspectorState
299
- }
300
-
301
- return {
302
- config,
303
- logger,
304
- variables,
305
- secrets: new LocalSecretService(variables),
306
- getInspectorState,
307
- }
308
- }
309
-
310
- export const createWireServices: CreateWireServices<
311
- SingletonServices,
312
- Services,
313
- UserSession
314
- > = async ({ logger }, { cli, channel }) => {
315
- const vChannel = cli ? cli.channel : channel
316
- if (!vChannel) {
317
- throw new Error('No channel provided for CLI services')
318
- }
319
- return {
320
- logger: new CLILoggerForwarder(logger, vChannel),
321
- }
322
- }
@@ -1,65 +0,0 @@
1
- import { FilesAndMethodsErrors } from '@pikku/inspector'
2
-
3
- export type RequiredTypes = Partial<{
4
- config: boolean
5
- wireServiceType: boolean
6
- singletonServicesType: boolean
7
- userSessionType: boolean
8
- singletonServicesFactory: boolean
9
- wireServicesFactory: boolean
10
- }>
11
-
12
- export const checkRequiredTypes = (
13
- errors: FilesAndMethodsErrors,
14
- requires: RequiredTypes = {}
15
- ): void => {
16
- // Filter out errors that are about missing Types when we have the corresponding Factory
17
- // e.g., if we have a CreateConfig factory, we don't need a CoreConfig type
18
- const errorMessages = Array.from(errors.keys())
19
- const hasCreateConfigFactory = errorMessages.every(
20
- (msg) => !msg.includes('No CreateConfig found')
21
- )
22
-
23
- // Only throw if there are errors AND we require those types
24
- const hasRequiredErrors = errorMessages.some((message) => {
25
- // Skip CoreConfig type errors if we have a CreateConfig factory
26
- if (
27
- requires.config &&
28
- message.includes('No CoreConfig found') &&
29
- hasCreateConfigFactory
30
- ) {
31
- return false
32
- }
33
- if (requires.config && message.includes('CoreConfig')) return true
34
- if (requires.wireServiceType && message.includes('CoreServices'))
35
- return true
36
- if (
37
- requires.singletonServicesType &&
38
- message.includes('CoreSingletonServices')
39
- )
40
- return true
41
- if (requires.userSessionType && message.includes('CoreUserSession'))
42
- return true
43
- if (
44
- requires.singletonServicesFactory &&
45
- message.includes('CreateSingletonServices')
46
- )
47
- return true
48
- if (requires.wireServicesFactory && message.includes('CreateWireServices'))
49
- return true
50
- return false
51
- })
52
-
53
- if (hasRequiredErrors) {
54
- const result: string[] = ['Found errors:']
55
- errors.forEach((filesAndMethods, message) => {
56
- result.push(`- ${message}`)
57
- filesAndMethods.forEach((methods, file) => {
58
- result.push(
59
- `\t* methods: ${methods.map(({ variable, type }) => `${variable}: ${type}`).join(', ')}`
60
- )
61
- })
62
- })
63
- throw new Error(result.join('\n'))
64
- }
65
- }