@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,101 +0,0 @@
1
- import { readFile } from 'fs/promises';
2
- import { join } from 'path';
3
- export const serializeMCPJson = async (logger, schemaDirectory, functionsMeta, typesMap, mcpResourceMeta, mcpToolMeta, mcpPromptMeta) => {
4
- const tools = [];
5
- const resources = [];
6
- const prompts = [];
7
- // Helper function to load schema from file
8
- const loadSchema = async (typeName) => {
9
- if (!typeName ||
10
- ['boolean', 'string', 'number', 'null', 'undefined', 'void'].includes(typeName)) {
11
- return undefined;
12
- }
13
- const uniqueName = typesMap.getUniqueName(typeName);
14
- if (!uniqueName) {
15
- return undefined;
16
- }
17
- try {
18
- const schemaPath = join(schemaDirectory, 'schemas', `${uniqueName}.schema.json`);
19
- const schemaContent = await readFile(schemaPath, 'utf-8');
20
- return JSON.parse(schemaContent);
21
- }
22
- catch (e) {
23
- logger.warn(`Could not load schema for type: ${uniqueName}`);
24
- return undefined;
25
- }
26
- };
27
- // Process MCP resources
28
- for (const [name, endpointMeta] of Object.entries(mcpResourceMeta)) {
29
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName];
30
- if (!functionMeta) {
31
- logger.warn(`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping resource ${name}.`);
32
- continue;
33
- }
34
- const inputType = functionMeta.inputs?.[0];
35
- const outputType = functionMeta.outputs?.[0];
36
- const parameters = await loadSchema(inputType);
37
- const returns = await loadSchema(outputType);
38
- const endpoint = {
39
- uri: name,
40
- name,
41
- description: endpointMeta.description,
42
- ...(parameters && { parameters }),
43
- ...(returns && { returns }),
44
- ...(endpointMeta.streaming && { streaming: true }),
45
- };
46
- resources.push(endpoint);
47
- }
48
- // Process MCP tools
49
- for (const [name, endpointMeta] of Object.entries(mcpToolMeta)) {
50
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName];
51
- if (!functionMeta) {
52
- logger.warn(`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping tool ${name}.`);
53
- continue;
54
- }
55
- const inputType = functionMeta.inputs?.[0];
56
- const outputType = functionMeta.outputs?.[0];
57
- const parameters = await loadSchema(inputType);
58
- const returns = await loadSchema(outputType);
59
- const endpoint = {
60
- name,
61
- description: endpointMeta.description,
62
- ...(parameters && { parameters }),
63
- ...(returns && { returns }),
64
- ...(endpointMeta.streaming && { streaming: true }),
65
- };
66
- tools.push(endpoint);
67
- }
68
- // Process MCP prompts
69
- for (const [name, endpointMeta] of Object.entries(mcpPromptMeta)) {
70
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName];
71
- if (!functionMeta) {
72
- logger.warn(`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping prompt ${name}.`);
73
- continue;
74
- }
75
- const inputType = functionMeta.inputs?.[0];
76
- // TODO: this needs to be a json schema type, not any
77
- const inputSchema = await loadSchema(inputType);
78
- // Generate arguments from input schema
79
- const argumentsArray = [];
80
- if (inputSchema &&
81
- typeof inputSchema === 'object' &&
82
- inputSchema.properties) {
83
- const properties = inputSchema.properties;
84
- const required = inputSchema.required || [];
85
- for (const [propName, propSchema] of Object.entries(properties)) {
86
- argumentsArray.push({
87
- name: propName,
88
- description: propSchema.description || `${propName} parameter`,
89
- required: required.includes(propName),
90
- });
91
- }
92
- }
93
- const prompt = {
94
- name,
95
- description: endpointMeta.description,
96
- arguments: argumentsArray,
97
- };
98
- prompts.push(prompt);
99
- }
100
- return JSON.stringify({ tools, resources, prompts }, null, 2);
101
- };
@@ -1,11 +0,0 @@
1
- import type { InspectorState } from '@pikku/inspector';
2
- /**
3
- * Generates the middleware groups metadata that stores metadata about
4
- * tag-based and HTTP middleware groups for visualization and inspection.
5
- *
6
- * This includes services, middleware count, factory status, etc.
7
- */
8
- export declare const serializeMiddlewareGroupsMeta: (state: InspectorState) => {
9
- httpGroups: Record<string, any>;
10
- tagGroups: Record<string, any>;
11
- };
@@ -1,36 +0,0 @@
1
- /**
2
- * Generates the middleware groups metadata that stores metadata about
3
- * tag-based and HTTP middleware groups for visualization and inspection.
4
- *
5
- * This includes services, middleware count, factory status, etc.
6
- */
7
- export const serializeMiddlewareGroupsMeta = (state) => {
8
- // Serialize HTTP middleware groups metadata
9
- const httpGroups = {};
10
- for (const [pattern, meta] of state.http.routeMiddleware.entries()) {
11
- httpGroups[pattern] = {
12
- exportName: meta.exportName,
13
- sourceFile: meta.sourceFile,
14
- position: meta.position,
15
- services: meta.services,
16
- middlewareCount: meta.middlewareCount,
17
- isFactory: meta.isFactory,
18
- };
19
- }
20
- // Serialize tag middleware groups metadata
21
- const tagGroups = {};
22
- for (const [tag, meta] of state.middleware.tagMiddleware.entries()) {
23
- tagGroups[tag] = {
24
- exportName: meta.exportName,
25
- sourceFile: meta.sourceFile,
26
- position: meta.position,
27
- services: meta.services,
28
- middlewareCount: meta.middlewareCount,
29
- isFactory: meta.isFactory,
30
- };
31
- }
32
- return {
33
- httpGroups,
34
- tagGroups,
35
- };
36
- };
@@ -1 +0,0 @@
1
- export declare const pikkuServiceMetadata: any;
@@ -1,22 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
3
- import { writeAllServiceMetadata } from '@pikku/inspector';
4
- export const pikkuServiceMetadata = pikkuSessionlessFunc({
5
- func: async ({ logger, config, getInspectorState }) => {
6
- const state = await getInspectorState();
7
- // Only write service metadata if there are services to document
8
- if (state.serviceMetadata && state.serviceMetadata.length > 0) {
9
- writeAllServiceMetadata(state.serviceMetadata, config.outDir);
10
- logger.debug(`• Wrote ${state.serviceMetadata.length} service metadata files`);
11
- }
12
- else {
13
- logger.debug('• No service metadata to write');
14
- }
15
- },
16
- middleware: [
17
- logCommandInfoAndTime({
18
- commandStart: 'Generating service metadata',
19
- commandEnd: 'Generated service metadata',
20
- }),
21
- ],
22
- });
@@ -1 +0,0 @@
1
- export declare const pikkuWorkflowMap: any;
@@ -1,12 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
- import { writeFileInDir } from '../../../utils/file-writer.js';
3
- import { serializeWorkflowMap } from './serialize-workflow-map.js';
4
- export const pikkuWorkflowMap = pikkuSessionlessFunc({
5
- func: async ({ logger, config, getInspectorState }) => {
6
- const visitState = await getInspectorState();
7
- const { workflowMapDeclarationFile, packageMappings } = config;
8
- const { workflows, functions: functionState } = visitState;
9
- const { typesMap } = functionState;
10
- await writeFileInDir(logger, workflowMapDeclarationFile, serializeWorkflowMap(workflowMapDeclarationFile, packageMappings, typesMap, functionState.meta, workflows.meta));
11
- },
12
- });
@@ -1 +0,0 @@
1
- export declare const pikkuWorkflowTypes: any;
@@ -1,13 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
- import { writeFileInDir } from '../../../utils/file-writer.js';
3
- import { serializeWorkflowTypes } from './serialize-workflow-types.js';
4
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
5
- export const pikkuWorkflowTypes = pikkuSessionlessFunc({
6
- func: async ({ logger, config }) => {
7
- const { workflowTypesFile, functionTypesFile, packageMappings } = config;
8
- const functionTypesImportPath = getFileImportRelativePath(workflowTypesFile, functionTypesFile, packageMappings);
9
- // Get RPC map import path
10
- const rpcMapImportPath = getFileImportRelativePath(workflowTypesFile, config.rpcInternalMapDeclarationFile, packageMappings);
11
- await writeFileInDir(logger, workflowTypesFile, serializeWorkflowTypes(functionTypesImportPath, rpcMapImportPath));
12
- },
13
- });
@@ -1,8 +0,0 @@
1
- /**
2
- * Generate workflow registration wirings
3
- * Imports all workflow functions and calls addWorkflow for each
4
- */
5
- export declare const serializeWorkflowWirings: (outputPath: string, workflowFiles: Map<string, {
6
- path: string;
7
- exportedName: string;
8
- }>, packageMappings?: Record<string, string>) => string;
@@ -1,30 +0,0 @@
1
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
2
- /**
3
- * Generate workflow registration wirings
4
- * Imports all workflow functions and calls addWorkflow for each
5
- */
6
- export const serializeWorkflowWirings = (outputPath, workflowFiles, packageMappings = {}) => {
7
- const imports = [];
8
- const registrations = [];
9
- // Sort by pikkuFuncName for consistent output
10
- const sortedWorkflows = Array.from(workflowFiles.entries()).sort((a, b) => a[0].localeCompare(b[0]));
11
- // Generate imports
12
- for (const [, { path, exportedName }] of sortedWorkflows) {
13
- const importPath = getFileImportRelativePath(outputPath, path, packageMappings);
14
- imports.push(`import { ${exportedName} } from '${importPath}'`);
15
- }
16
- // Generate addWorkflow calls
17
- for (const [pikkuFuncName, { exportedName }] of sortedWorkflows) {
18
- registrations.push(`addWorkflow('${pikkuFuncName}', ${exportedName})`);
19
- }
20
- // Only import addWorkflow if there are workflows to register
21
- const addWorkflowImport = sortedWorkflows.length > 0
22
- ? `import { addWorkflow } from '@pikku/core/workflow'\n\n`
23
- : '';
24
- return `/**
25
- * Auto-generated workflow registrations
26
- * Do not edit manually - regenerate with 'npx pikku'
27
- */
28
- ${addWorkflowImport}${imports.join('\n')}${imports.length > 0 ? '\n\n' : ''}${registrations.join('\n')}
29
- `;
30
- };
@@ -1,2 +0,0 @@
1
- import { TypesMap } from '@pikku/inspector';
2
- export declare function generateCustomTypes(typesMap: TypesMap, requiredTypes: Set<string>): string;
@@ -1,43 +0,0 @@
1
- export function generateCustomTypes(typesMap, requiredTypes) {
2
- return `
3
- // Custom types are those that are defined directly within generics
4
- // or are broken into simpler types
5
- ${Array.from(typesMap.customTypes.entries())
6
- .map(([name, { type, references }]) => {
7
- references.forEach((refName) => {
8
- // Skip __object types (including those with suffixes like __object_abc123)
9
- // These are placeholder types created by the inspector for invalid/broken functions
10
- // (e.g., functions with type errors or missing return statements). Attempting to
11
- // import these would fail since the source files don't actually export __object.
12
- if (refName !== '__object' && !refName.startsWith('__object_')) {
13
- requiredTypes.add(refName);
14
- }
15
- });
16
- // Extract type names from the type string that might not be in references
17
- const typeString = type;
18
- // Use regex to extract potential type names (PascalCase identifiers)
19
- const typeNameRegex = /\b[A-Z][a-zA-Z0-9]*\b/g;
20
- const potentialTypes = typeString.match(typeNameRegex) || [];
21
- potentialTypes.forEach((typeName) => {
22
- // Skip string literals and common keywords
23
- if (typeString.includes(`"${typeName}"`) ||
24
- ['Pick', 'Omit', 'Partial', 'Required', 'Record', 'Readonly'].includes(typeName)) {
25
- return;
26
- }
27
- // Try to find this type in the typesMap and add it if found
28
- try {
29
- const typeMeta = typesMap.getTypeMeta(typeName);
30
- if (typeMeta.path) {
31
- // Add originalName to preserve canonical import name
32
- requiredTypes.add(typeMeta.originalName);
33
- }
34
- }
35
- catch (e) {
36
- // Type not found in map (ambient/builtin type) - ignore it
37
- // Do NOT add to requiredTypes to avoid crashes in serializeImportMap
38
- }
39
- });
40
- return `export type ${name} = ${type}`;
41
- })
42
- .join('\n')}`;
43
- }
@@ -1,6 +0,0 @@
1
- import { FunctionsMeta, JSONValue } from '@pikku/core';
2
- import { HTTPWiringsMeta } from '@pikku/core/http';
3
- import { TypesMap } from '@pikku/inspector';
4
- import { CLILogger } from '../services/cli-logger.service.js';
5
- export declare function generateSchemas(logger: CLILogger, tsconfig: string, typesMap: TypesMap, functionMeta: FunctionsMeta, httpWiringsMeta: HTTPWiringsMeta, additionalTypes?: string[], additionalProperties?: boolean): Promise<Record<string, JSONValue>>;
6
- export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, typesMap: TypesMap, functionsMeta: FunctionsMeta, supportsImportAttributes: boolean, additionalTypes?: string[]): Promise<void>;
@@ -1,118 +0,0 @@
1
- import { createGenerator, RootlessError } from 'ts-json-schema-generator';
2
- import { writeFileInDir } from './file-writer.js';
3
- import { mkdir, writeFile } from 'fs/promises';
4
- import { ErrorCode } from '@pikku/inspector';
5
- export async function generateSchemas(logger, tsconfig, typesMap, functionMeta, httpWiringsMeta, additionalTypes, additionalProperties = false) {
6
- const schemasSet = new Set(typesMap.customTypes.keys());
7
- for (const { inputs, outputs } of Object.values(functionMeta)) {
8
- const types = [...(inputs || []), ...(outputs || [])];
9
- for (const type of types) {
10
- try {
11
- const uniqueName = typesMap.getUniqueName(type);
12
- if (uniqueName) {
13
- schemasSet.add(uniqueName);
14
- }
15
- }
16
- catch {
17
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
18
- }
19
- }
20
- }
21
- for (const wiringRoutes of Object.values(httpWiringsMeta)) {
22
- for (const { inputTypes } of Object.values(wiringRoutes)) {
23
- if (inputTypes?.body) {
24
- schemasSet.add(inputTypes.body);
25
- }
26
- if (inputTypes?.query) {
27
- schemasSet.add(inputTypes.query);
28
- }
29
- if (inputTypes?.params) {
30
- schemasSet.add(inputTypes.params);
31
- }
32
- }
33
- }
34
- // Add additional types from schemasFromTypes config
35
- if (additionalTypes) {
36
- for (const type of additionalTypes) {
37
- schemasSet.add(type);
38
- }
39
- }
40
- const generator = createGenerator({
41
- tsconfig,
42
- skipTypeCheck: true,
43
- topRef: false,
44
- discriminatorType: 'open-api',
45
- expose: 'export',
46
- jsDoc: 'extended',
47
- sortProps: true,
48
- strictTuples: false,
49
- encodeRefs: false,
50
- additionalProperties,
51
- });
52
- const schemas = {};
53
- schemasSet.forEach((schema) => {
54
- try {
55
- schemas[schema] = generator.createSchema(schema);
56
- }
57
- catch (e) {
58
- // Ignore rootless errors
59
- if (e instanceof RootlessError) {
60
- logger.error(`[${ErrorCode.SCHEMA_NO_ROOT}] Error generating schema since it has no root: ${schema}`);
61
- return;
62
- }
63
- logger.error(`[${ErrorCode.SCHEMA_GENERATION_ERROR}] Error generating schema: ${schema}. Message: ${e.message}`);
64
- }
65
- });
66
- return schemas;
67
- }
68
- export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, functionsMeta, supportsImportAttributes, additionalTypes) {
69
- await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, 'export const empty = null;');
70
- const desiredSchemas = new Set([
71
- ...Object.values(functionsMeta)
72
- .map(({ inputs, outputs }) => {
73
- const types = [];
74
- if (inputs?.[0]) {
75
- try {
76
- types.push(typesMap.getUniqueName(inputs[0]));
77
- }
78
- catch {
79
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
80
- }
81
- }
82
- if (outputs?.[0]) {
83
- try {
84
- types.push(typesMap.getUniqueName(outputs[0]));
85
- }
86
- catch {
87
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
88
- }
89
- }
90
- return types;
91
- })
92
- .flat()
93
- .filter((s) => !!s &&
94
- !['boolean', 'string', 'number', 'null', 'undefined'].includes(s)),
95
- ...typesMap.customTypes.keys(),
96
- ...(additionalTypes || []),
97
- ]);
98
- if (desiredSchemas.size === 0) {
99
- logger.info(`• Skipping schemas since none found.\x1b[0m`);
100
- return;
101
- }
102
- await mkdir(`${schemaParentDir}/schemas`, { recursive: true });
103
- await Promise.all(Object.entries(schemas).map(async ([schemaName, schema]) => {
104
- if (desiredSchemas.has(schemaName)) {
105
- await writeFile(`${schemaParentDir}/schemas/${schemaName}.schema.json`, JSON.stringify(schema), 'utf-8');
106
- }
107
- }));
108
- // Only include schemas that were successfully generated
109
- const availableSchemas = Array.from(desiredSchemas).filter((schema) => schemas[schema]);
110
- const schemaImports = availableSchemas
111
- .map((schema) => `
112
- import * as ${schema} from './schemas/${schema}.schema.json' ${supportsImportAttributes ? `with { type: 'json' }` : ''}
113
- addSchema('${schema}', ${schema})
114
- `)
115
- .join('\n');
116
- await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, `import { addSchema } from '@pikku/core/schema'
117
- ${schemaImports}`, { logWrite: true });
118
- }
package/pikku.config.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/pikkujs/pikku/refs/heads/main/packages/cli/cli.schema.json",
3
- "tsconfig": "./tsconfig.json",
4
- "srcDirectories": ["src", "bin", "types"],
5
- "outDir": ".pikku",
6
- "packageMappings": {
7
- "../inspector/src": "@pikku/inspector"
8
- },
9
- "schemasFromTypes": ["PikkuCLIConfig"],
10
- "websocketFile": ".pikku/pikku-websocket.gen.ts",
11
- "supportsImportAttributes": true,
12
- "schema": {
13
- "supportsImportAttributes": true
14
- },
15
- "cli": {
16
- "entrypoints": {
17
- "pikku": [
18
- ".pikku/cli/pikku-cli.gen.ts",
19
- {
20
- "type": "channel",
21
- "wirePath": ".pikku/cli/pikku-cli-channel.ts",
22
- "path": ".pikku/cli/pikku-cli-client.gen.ts",
23
- "name": "pikku-cli",
24
- "route": "/cli/pikku"
25
- }
26
- ]
27
- }
28
- }
29
- }
package/run-tests.sh DELETED
@@ -1,53 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Enable nullglob to handle cases where no files match the pattern
4
- shopt -s nullglob
5
-
6
- # Initialize variables for options
7
- watch_mode=false
8
- coverage_mode=false
9
-
10
- # Parse command-line options
11
- while [[ $# -gt 0 ]]; do
12
- case $1 in
13
- --watch)
14
- watch_mode=true
15
- shift
16
- ;;
17
- --coverage)
18
- coverage_mode=true
19
- shift
20
- ;;
21
- *)
22
- echo "Unknown option: $1"
23
- exit 1
24
- ;;
25
- esac
26
- done
27
-
28
- # Define the pattern to match your test files
29
- pattern="src/*.test.ts"
30
-
31
- # Expand the pattern into an array of files
32
- files=($(find src -type f -name "*.test.ts"))
33
-
34
- # Check if any files matched the pattern
35
- if [ ${#files[@]} -eq 0 ]; then
36
- echo "No test files found matching pattern: $pattern"
37
- exit 0
38
- fi
39
-
40
- # Construct the node command
41
- node_cmd="node --import tsx --test"
42
-
43
- # Append options based on flags
44
- if [ "$watch_mode" = true ]; then
45
- node_cmd="$node_cmd --watch"
46
- fi
47
-
48
- if [ "$coverage_mode" = true ]; then
49
- node_cmd="$node_cmd --test-coverage-include=\"src/**/*.{ts,js}\" --test-coverage-exclude=\"**/dist/**\" --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info"
50
- fi
51
-
52
- # Execute the node command with the expanded list of files
53
- $node_cmd "${files[@]}"
package/src/cli.wiring.ts DELETED
@@ -1,112 +0,0 @@
1
- import { pikkuSchemas } from './functions/wirings/functions/schemas.js'
2
- import { pikkuFetch } from './functions/wirings/fetch/index.js'
3
- import { pikkuWebSocketTyped } from './functions/wirings/channels/pikku-command-websocket-typed.js'
4
- import { pikkuRPCClient } from './functions/wirings/rpc/pikku-command-rpc-client.js'
5
- import { pikkuQueueService } from './functions/wirings/queue/pikku-command-queue-service.js'
6
- import { pikkuOpenAPI } from './functions/wirings/http/pikku-command-openapi.js'
7
- import { pikkuNext } from './functions/runtimes/nextjs/pikku-command-nextjs.js'
8
- import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js'
9
- import { all } from './functions/commands/all.js'
10
- import { bootstrap } from './functions/commands/bootstrap.js'
11
- import { watch } from './functions/commands/watch.js'
12
- // import { clientCLIRenderer } from './services.js'
13
-
14
- wireCLI({
15
- program: 'pikku',
16
- description:
17
- 'Pikku CLI - Code generation tool for type-safe backend development',
18
- // render: clientCLIRenderer,
19
- options: {
20
- config: {
21
- description: 'Path to pikku.config.json file',
22
- short: 'c',
23
- },
24
- logLevel: {
25
- description: 'Set log level',
26
- default: 'info' as const,
27
- short: 'l',
28
- },
29
- userSessionType: {
30
- description:
31
- 'Specify which UserSession type to use (when multiple exist)',
32
- },
33
- singletonServicesFactoryType: {
34
- description: 'Specify which singleton services factory to use',
35
- },
36
- wireServicesFactoryType: {
37
- description: 'Specify which wire services factory to use',
38
- },
39
- stateOutput: {
40
- description: 'Save inspector state to JSON file for reuse',
41
- },
42
- stateInput: {
43
- description: 'Load inspector state from JSON file (skips inspection)',
44
- },
45
- },
46
- commands: {
47
- all: pikkuCLICommand({
48
- func: all,
49
- description: 'Generate all Pikku files (types, schemas, wirings, etc.)',
50
- isDefault: true,
51
- options: {
52
- tags: {
53
- description: 'Filter functions by tags (comma-separated)',
54
- short: 't',
55
- },
56
- types: {
57
- description: 'Filter functions by types (comma-separated)',
58
- },
59
- directories: {
60
- description: 'Filter functions by directories (comma-separated)',
61
- short: 'd',
62
- },
63
- httpMethods: {
64
- description: 'Filter HTTP routes by methods (comma-separated)',
65
- },
66
- httpRoutes: {
67
- description: 'Filter HTTP routes by route patterns (comma-separated)',
68
- },
69
- names: {
70
- description: 'Filter functions by name patterns (supports wildcards)',
71
- short: 'n',
72
- },
73
- },
74
- }),
75
- bootstrap: pikkuCLICommand({
76
- func: bootstrap,
77
- description: 'Generate only type files (setup phase only)',
78
- }),
79
- watch: pikkuCLICommand({
80
- func: watch,
81
- description: 'Watch for file changes and regenerate automatically',
82
- }),
83
- schemas: pikkuCLICommand({
84
- func: pikkuSchemas,
85
- description: 'Generate JSON schemas for function input/output types',
86
- }),
87
- fetch: pikkuCLICommand({
88
- func: pikkuFetch,
89
- description: 'Generate type-safe HTTP fetch client',
90
- }),
91
- websocket: pikkuCLICommand({
92
- func: pikkuWebSocketTyped,
93
- description: 'Generate type-safe WebSocket client',
94
- }),
95
- rpc: pikkuCLICommand({
96
- func: pikkuRPCClient,
97
- description: 'Generate RPC client wrappers',
98
- }),
99
- 'queue-service': pikkuCLICommand({
100
- func: pikkuQueueService,
101
- description: 'Generate queue service wrapper',
102
- }),
103
- openapi: pikkuCLICommand({
104
- func: pikkuOpenAPI,
105
- description: 'Generate OpenAPI specification from HTTP routes',
106
- }),
107
- nextjs: pikkuCLICommand({
108
- func: pikkuNext,
109
- description: 'Generate Next.js backend and HTTP wrappers',
110
- }),
111
- },
112
- })