@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,154 +0,0 @@
1
- import { HTTPWiringsMeta } from '@pikku/core/http'
2
- import { serializeImportMap } from '../../../utils/serialize-import-map.js'
3
- import { MetaInputTypes, TypesMap } from '@pikku/inspector'
4
- import { FunctionsMeta } from '@pikku/core'
5
- import { generateCustomTypes } from '../../../utils/custom-types-generator.js'
6
-
7
- export const serializeTypedHTTPWiringsMap = (
8
- relativeToPath: string,
9
- packageMappings: Record<string, string>,
10
- typesMap: TypesMap,
11
- functionsMeta: FunctionsMeta,
12
- wiringsMeta: HTTPWiringsMeta,
13
- metaTypes: MetaInputTypes
14
- ) => {
15
- const requiredTypes = new Set<string>()
16
- const serializedCustomTypes = generateCustomTypes(typesMap, requiredTypes)
17
- const serializedMetaTypes = generateMetaTypes(metaTypes, typesMap)
18
- const serializedHTTPWirings = generateHTTPWirings(
19
- wiringsMeta,
20
- functionsMeta,
21
- typesMap,
22
- requiredTypes
23
- )
24
-
25
- const serializedImportMap = serializeImportMap(
26
- relativeToPath,
27
- packageMappings,
28
- typesMap,
29
- requiredTypes
30
- )
31
-
32
- return `/**
33
- * This provides the structure needed for typescript to be aware of routes and their return types
34
- */
35
-
36
- ${serializedImportMap}
37
- ${serializedCustomTypes}
38
- ${serializedMetaTypes}
39
-
40
- interface HTTPWiringHandler<I, O> {
41
- input: I;
42
- output: O;
43
- }
44
-
45
- ${serializedHTTPWirings}
46
-
47
- export type HTTPWiringHandlerOf<HTTPWiring extends keyof HTTPWiringsMap, Method extends keyof HTTPWiringsMap[HTTPWiring]> =
48
- HTTPWiringsMap[HTTPWiring][Method] extends { input: infer I; output: infer O }
49
- ? HTTPWiringHandler<I, O>
50
- : never;
51
-
52
- export type HTTPWiringsWithMethod<Method extends string> = {
53
- [HTTPWiring in keyof HTTPWiringsMap]: Method extends keyof HTTPWiringsMap[HTTPWiring] ? HTTPWiring : never;
54
- }[keyof HTTPWiringsMap];
55
- `
56
- }
57
-
58
- function generateHTTPWirings(
59
- routesMeta: HTTPWiringsMeta,
60
- functionsMeta: FunctionsMeta,
61
- typesMap: TypesMap,
62
- requiredTypes: Set<string>
63
- ) {
64
- // Initialize an object to collect routes
65
- const routesObj: Record<
66
- string,
67
- Record<string, { inputType: string; outputType: string }>
68
- > = {}
69
-
70
- for (const methods of Object.values(routesMeta)) {
71
- for (const meta of Object.values(methods)) {
72
- const { route, method, pikkuFuncName } = meta
73
- const functionMeta = functionsMeta[pikkuFuncName]
74
- if (!functionMeta) {
75
- throw new Error(
76
- `Function ${pikkuFuncName} not found in functionsMeta. Please check your configuration.`
77
- )
78
- }
79
- const input = functionMeta.inputs ? functionMeta.inputs[0] : undefined
80
- const output = functionMeta.outputs ? functionMeta.outputs[0] : undefined
81
-
82
- // Initialize the route entry if it doesn't exist
83
- if (!routesObj[route]) {
84
- routesObj[route] = {}
85
- }
86
-
87
- // Store the input and output types separately for RouteHandler
88
- const inputType = input ? typesMap.getTypeMeta(input).uniqueName : 'null'
89
- const outputType = output
90
- ? typesMap.getTypeMeta(output).uniqueName
91
- : 'null'
92
-
93
- requiredTypes.add(inputType)
94
- requiredTypes.add(outputType)
95
-
96
- // Add method entry
97
- routesObj[route][method] = {
98
- inputType,
99
- outputType,
100
- }
101
- }
102
- }
103
-
104
- // Build the routes object as a string
105
- let routesStr = 'export type HTTPWiringsMap = {\n'
106
-
107
- for (const [routePath, methods] of Object.entries(routesObj)) {
108
- routesStr += ` readonly '${routePath}': {\n`
109
- for (const [method, handler] of Object.entries(methods)) {
110
- routesStr += ` readonly ${method.toUpperCase()}: HTTPWiringHandler<${handler.inputType}, ${handler.outputType}>,\n`
111
- }
112
- routesStr += ' },\n'
113
- }
114
-
115
- routesStr += '};'
116
-
117
- return routesStr
118
- }
119
-
120
- const generateMetaTypes = (metaTypes: MetaInputTypes, typesMap: TypesMap) => {
121
- const nameToTypeMap = Array.from(metaTypes.entries()).reduce<
122
- Map<string, string>
123
- >((result, [_name, { query, body, params }]) => {
124
- const { uniqueName } = typesMap.getTypeMeta(_name)
125
- const queryType =
126
- query && query.length > 0
127
- ? `Pick<${uniqueName}, '${query?.join("' | '")}'>`
128
- : undefined
129
- if (queryType) {
130
- result.set(`${uniqueName}Query`, queryType)
131
- }
132
- const paramsType =
133
- params && params.length > 0
134
- ? `Pick<${uniqueName}, '${params.join("' | '")}'>`
135
- : undefined
136
- if (paramsType) {
137
- result.set(`${uniqueName}Params`, paramsType)
138
- }
139
- const bodyType =
140
- (body && body.length > 0) || (params && params.length > 0)
141
- ? `Omit<${uniqueName}, '${[...new Set([...(query || []), ...(params || [])])].join("' | '")}'>`
142
- : uniqueName!
143
- if (bodyType) {
144
- result.set(`${uniqueName}Body`, bodyType)
145
- }
146
- return result
147
- }, new Map())
148
-
149
- return `
150
- // The '& {}' is a workaround for not directly refering to a type since it confuses typescript
151
- ${Array.from(nameToTypeMap.entries())
152
- .map(([name, type]) => `export type ${name} = ${type} & {}`)
153
- .join('\n')}`
154
- }
@@ -1,33 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
4
- import { serializeMCPJson } from './serialize-mcp-json.js'
5
-
6
- export const pikkuMCPJSON: any = pikkuSessionlessFunc<void, void>({
7
- func: async ({ logger, config, getInspectorState }) => {
8
- const { mcpEndpoints, functions } = await getInspectorState()
9
- const { mcpJsonFile, schemaDirectory } = config
10
-
11
- // Generate MCP JSON file
12
- if (mcpJsonFile) {
13
- const mcpJson = await serializeMCPJson(
14
- logger,
15
- schemaDirectory,
16
- functions.meta,
17
- functions.typesMap,
18
- mcpEndpoints.resourcesMeta,
19
- mcpEndpoints.toolsMeta,
20
- mcpEndpoints.promptsMeta
21
- )
22
- await writeFileInDir(logger, mcpJsonFile, mcpJson, {
23
- ignoreModifyComment: true,
24
- })
25
- }
26
- },
27
- middleware: [
28
- logCommandInfoAndTime({
29
- commandStart: 'Generating MCP JSON',
30
- commandEnd: 'Generated MCP JSON',
31
- }),
32
- ],
33
- })
@@ -1,25 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { writeFileInDir } from '../../../utils/file-writer.js'
3
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { serializeMCPTypes } from './serialize-mcp-types.js'
6
-
7
- export const pikkuMCPTypes: any = pikkuSessionlessFunc<void, void>({
8
- func: async ({ logger, config }) => {
9
- const { mcpTypesFile, functionTypesFile, packageMappings } = config
10
-
11
- const functionTypesImportPath = getFileImportRelativePath(
12
- mcpTypesFile,
13
- functionTypesFile,
14
- packageMappings
15
- )
16
- const content = serializeMCPTypes(functionTypesImportPath)
17
- await writeFileInDir(logger, mcpTypesFile, content)
18
- },
19
- middleware: [
20
- logCommandInfoAndTime({
21
- commandStart: 'Creating MCP types',
22
- commandEnd: 'Created MCP types',
23
- }),
24
- ],
25
- })
@@ -1,140 +0,0 @@
1
- import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
2
- import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
3
- import { writeFileInDir } from '../../../utils/file-writer.js'
4
- import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
5
- import { readFile } from 'fs/promises'
6
- import { join } from 'path'
7
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
8
-
9
- // Helper function to generate arguments from schema
10
- const generateArgumentsFromSchema = async (
11
- inputSchema: string | null,
12
- schemaDirectory: string,
13
- typesMap: any,
14
- logger: any
15
- ): Promise<Array<{ name: string; description: string; required: boolean }>> => {
16
- if (!inputSchema) return []
17
-
18
- if (
19
- ['boolean', 'string', 'number', 'null', 'undefined', 'void'].includes(
20
- inputSchema
21
- )
22
- ) {
23
- return []
24
- }
25
-
26
- const uniqueName = typesMap.getUniqueName(inputSchema)
27
- if (!uniqueName) return []
28
-
29
- try {
30
- const schemaPath = join(
31
- schemaDirectory,
32
- 'schemas',
33
- `${uniqueName}.schema.json`
34
- )
35
- const schemaContent = await readFile(schemaPath, 'utf-8')
36
- const schema = JSON.parse(schemaContent)
37
-
38
- const argumentsArray: Array<{
39
- name: string
40
- description: string
41
- required: boolean
42
- }> = []
43
- if (schema && typeof schema === 'object' && schema.properties) {
44
- const properties = schema.properties as Record<string, any>
45
- const required = (schema.required as string[]) || []
46
-
47
- for (const [propName, propSchema] of Object.entries(properties)) {
48
- argumentsArray.push({
49
- name: propName,
50
- description: propSchema.description || `${propName} parameter`,
51
- required: required.includes(propName),
52
- })
53
- }
54
- }
55
- return argumentsArray
56
- } catch (e) {
57
- logger.warn(`Could not load schema for type: ${uniqueName}`)
58
- return []
59
- }
60
- }
61
-
62
- export const pikkuMCP: any = pikkuSessionlessFunc<void, boolean | undefined>({
63
- func: async ({ logger, config, getInspectorState }) => {
64
- const { mcpEndpoints, functions } = await getInspectorState()
65
- const {
66
- mcpWiringsFile,
67
- mcpWiringsMetaFile,
68
- packageMappings,
69
- schemaDirectory,
70
- schema,
71
- } = config
72
-
73
- await writeFileInDir(
74
- logger,
75
- mcpWiringsFile,
76
- serializeFileImports(
77
- 'wireMCPResource or wireMCPTool',
78
- mcpWiringsFile,
79
- mcpEndpoints.files,
80
- packageMappings
81
- )
82
- )
83
-
84
- // Populate arguments for prompts meta before serializing
85
- const promptsMetaWithArguments = { ...mcpEndpoints.promptsMeta }
86
- for (const promptMeta of Object.values(promptsMetaWithArguments) as any[]) {
87
- const functionMeta = functions.meta[promptMeta.pikkuFuncName]
88
- if (functionMeta) {
89
- const inputType = functionMeta.inputs?.[0]
90
- promptMeta.arguments = await generateArgumentsFromSchema(
91
- inputType || null,
92
- schemaDirectory || '',
93
- functions.typesMap,
94
- logger
95
- )
96
- }
97
- }
98
-
99
- const metaData = {
100
- resourcesMeta: mcpEndpoints.resourcesMeta,
101
- toolsMeta: mcpEndpoints.toolsMeta,
102
- promptsMeta: promptsMetaWithArguments,
103
- }
104
- await writeFileInDir(
105
- logger,
106
- config.mcpWiringsMetaJsonFile,
107
- JSON.stringify(metaData, null, 2)
108
- )
109
-
110
- const jsonImportPath = getFileImportRelativePath(
111
- mcpWiringsMetaFile,
112
- config.mcpWiringsMetaJsonFile,
113
- packageMappings
114
- )
115
-
116
- const supportsImportAttributes = schema?.supportsImportAttributes ?? false
117
- const importStatement = supportsImportAttributes
118
- ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
119
- : `import metaData from '${jsonImportPath}'`
120
-
121
- await writeFileInDir(
122
- logger,
123
- mcpWiringsMetaFile,
124
- `import { pikkuState } from '@pikku/core'
125
- import type { MCPResourceMeta, MCPToolMeta, MCPPromptMeta } from '@pikku/core/mcp'
126
- ${importStatement}
127
- pikkuState('mcp', 'resourcesMeta', metaData.resourcesMeta as MCPResourceMeta)
128
- pikkuState('mcp', 'toolsMeta', metaData.toolsMeta as MCPToolMeta)
129
- pikkuState('mcp', 'promptsMeta', metaData.promptsMeta as MCPPromptMeta)`
130
- )
131
-
132
- return true
133
- },
134
- middleware: [
135
- logCommandInfoAndTime({
136
- commandStart: 'Finding MCP endpoints',
137
- commandEnd: 'Found MCP endpoints',
138
- }),
139
- ],
140
- })
@@ -1,159 +0,0 @@
1
- import { readFile } from 'fs/promises'
2
- import { join } from 'path'
3
- import { MCPResourceMeta, MCPToolMeta, MCPPromptMeta } from '@pikku/core/mcp'
4
- import { FunctionsMeta, JSONValue } from '@pikku/core'
5
- import { TypesMap } from '@pikku/inspector'
6
- import { CLILogger } from '../../../services/cli-logger.service.js'
7
-
8
- interface MCPEndpoint {
9
- name: string
10
- description?: string
11
- parameters?: JSONValue
12
- returns?: JSONValue
13
- streaming?: boolean
14
- }
15
-
16
- export const serializeMCPJson = async (
17
- logger: CLILogger,
18
- schemaDirectory: string,
19
- functionsMeta: FunctionsMeta,
20
- typesMap: TypesMap,
21
- mcpResourceMeta: MCPResourceMeta,
22
- mcpToolMeta: MCPToolMeta,
23
- mcpPromptMeta: MCPPromptMeta
24
- ): Promise<string> => {
25
- const tools: MCPEndpoint[] = []
26
- const resources: MCPEndpoint[] = []
27
- const prompts: any[] = []
28
-
29
- // Helper function to load schema from file
30
- const loadSchema = async (
31
- typeName: string | undefined
32
- ): Promise<JSONValue | undefined> => {
33
- if (
34
- !typeName ||
35
- ['boolean', 'string', 'number', 'null', 'undefined', 'void'].includes(
36
- typeName
37
- )
38
- ) {
39
- return undefined
40
- }
41
-
42
- const uniqueName = typesMap.getUniqueName(typeName)
43
- if (!uniqueName) {
44
- return undefined
45
- }
46
-
47
- try {
48
- const schemaPath = join(
49
- schemaDirectory,
50
- 'schemas',
51
- `${uniqueName}.schema.json`
52
- )
53
- const schemaContent = await readFile(schemaPath, 'utf-8')
54
- return JSON.parse(schemaContent)
55
- } catch (e) {
56
- logger.warn(`Could not load schema for type: ${uniqueName}`)
57
- return undefined
58
- }
59
- }
60
-
61
- // Process MCP resources
62
- for (const [name, endpointMeta] of Object.entries(mcpResourceMeta)) {
63
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
64
- if (!functionMeta) {
65
- logger.warn(
66
- `Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping resource ${name}.`
67
- )
68
- continue
69
- }
70
-
71
- const inputType = functionMeta.inputs?.[0]
72
- const outputType = functionMeta.outputs?.[0]
73
-
74
- const parameters = await loadSchema(inputType)
75
- const returns = await loadSchema(outputType)
76
-
77
- const endpoint = {
78
- uri: name,
79
- name,
80
- description: endpointMeta.description,
81
- ...(parameters && { parameters }),
82
- ...(returns && { returns }),
83
- ...(endpointMeta.streaming && { streaming: true }),
84
- }
85
-
86
- resources.push(endpoint)
87
- }
88
-
89
- // Process MCP tools
90
- for (const [name, endpointMeta] of Object.entries(mcpToolMeta)) {
91
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
92
- if (!functionMeta) {
93
- logger.warn(
94
- `Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping tool ${name}.`
95
- )
96
- continue
97
- }
98
-
99
- const inputType = functionMeta.inputs?.[0]
100
- const outputType = functionMeta.outputs?.[0]
101
-
102
- const parameters = await loadSchema(inputType)
103
- const returns = await loadSchema(outputType)
104
-
105
- const endpoint = {
106
- name,
107
- description: endpointMeta.description,
108
- ...(parameters && { parameters }),
109
- ...(returns && { returns }),
110
- ...(endpointMeta.streaming && { streaming: true }),
111
- }
112
-
113
- tools.push(endpoint)
114
- }
115
-
116
- // Process MCP prompts
117
- for (const [name, endpointMeta] of Object.entries(mcpPromptMeta)) {
118
- const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
119
- if (!functionMeta) {
120
- logger.warn(
121
- `Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping prompt ${name}.`
122
- )
123
- continue
124
- }
125
-
126
- const inputType = functionMeta.inputs?.[0]
127
- // TODO: this needs to be a json schema type, not any
128
- const inputSchema: any = await loadSchema(inputType)
129
-
130
- // Generate arguments from input schema
131
- const argumentsArray: any[] = []
132
- if (
133
- inputSchema &&
134
- typeof inputSchema === 'object' &&
135
- inputSchema.properties
136
- ) {
137
- const properties = inputSchema.properties as Record<string, any>
138
- const required = (inputSchema.required as string[]) || []
139
-
140
- for (const [propName, propSchema] of Object.entries(properties)) {
141
- argumentsArray.push({
142
- name: propName,
143
- description: propSchema.description || `${propName} parameter`,
144
- required: required.includes(propName),
145
- })
146
- }
147
- }
148
-
149
- const prompt = {
150
- name,
151
- description: endpointMeta.description,
152
- arguments: argumentsArray,
153
- }
154
-
155
- prompts.push(prompt)
156
- }
157
-
158
- return JSON.stringify({ tools, resources, prompts }, null, 2)
159
- }
@@ -1,143 +0,0 @@
1
- /**
2
- * Generates type definitions for MCP wirings
3
- */
4
- export const serializeMCPTypes = (functionTypesImportPath: string) => {
5
- return `/**
6
- * MCP-specific type definitions for tree-shaking optimization
7
- */
8
-
9
- import {
10
- CoreMCPResource,
11
- CoreMCPTool,
12
- CoreMCPPrompt,
13
- wireMCPResource as wireMCPResourceCore,
14
- wireMCPTool as wireMCPToolCore,
15
- wireMCPPrompt as wireMCPPromptCore,
16
- MCPResourceResponse,
17
- MCPToolResponse,
18
- MCPPromptResponse,
19
- AssertMCPResourceURIParams
20
- } from '@pikku/core/mcp'
21
-
22
- import type { PikkuFunctionConfig, PikkuFunctionSessionless } from '${functionTypesImportPath}'
23
-
24
- /**
25
- * Type definition for MCP resources that provide data to AI models.
26
- *
27
- * @template In - Input type for the resource request
28
- * @template URI - URI template string type for compile-time parameter validation
29
- */
30
- type MCPResourceWiring<In, URI extends string> = CoreMCPResource<PikkuFunctionConfig<In, MCPResourceResponse, 'rpc' | 'session' | 'mcp'>> & { uri: URI }
31
-
32
- /**
33
- * Type definition for MCP tools that AI models can invoke.
34
- *
35
- * @template In - Input type for the tool invocation
36
- */
37
- type MCPToolWiring<In> = CoreMCPTool<PikkuFunctionConfig<In, MCPToolResponse, 'rpc' | 'session' | 'mcp'>>
38
-
39
- /**
40
- * Type definition for MCP prompts that provide templates to AI models.
41
- *
42
- * @template In - Input type for the prompt parameters
43
- */
44
- type MCPPromptWiring<In> = CoreMCPPrompt<PikkuFunctionConfig<In, MCPPromptResponse, 'rpc' | 'session' | 'mcp'>>
45
-
46
- /**
47
- * Registers an MCP resource with the Pikku framework.
48
- * Resources provide data that AI models can access.
49
- *
50
- * @template In - Input type for the resource request
51
- * @template URI - URI template string for compile-time parameter validation
52
- * @param mcpResource - MCP resource definition with data provider function
53
- */
54
- export const wireMCPResource = <In, URI extends string>(
55
- mcpResource: MCPResourceWiring<In, URI> & AssertMCPResourceURIParams<In, URI>
56
- ) => {
57
- wireMCPResourceCore(mcpResource as any)
58
- }
59
-
60
- /**
61
- * Registers an MCP tool with the Pikku framework.
62
- * Tools are functions that AI models can invoke.
63
- *
64
- * @template In - Input type for the tool invocation
65
- * @param mcpTool - MCP tool definition with action function
66
- */
67
- export const wireMCPTool = <In>(
68
- mcpTool: MCPToolWiring<In>
69
- ) => {
70
- wireMCPToolCore(mcpTool as any)
71
- }
72
-
73
- /**
74
- * Registers an MCP prompt with the Pikku framework.
75
- * Prompts provide templates that AI models can use.
76
- *
77
- * @template In - Input type for the prompt parameters
78
- * @param mcpPrompt - MCP prompt definition with template function
79
- */
80
- export const wireMCPPrompt = <In>(
81
- mcpPrompt: MCPPromptWiring<In>
82
- ) => {
83
- wireMCPPromptCore(mcpPrompt as any)
84
- }
85
-
86
- /**
87
- * Creates a function for handling MCP prompt requests.
88
- * These functions generate prompt templates for AI models.
89
- *
90
- * @template In - Input type for the prompt parameters
91
- * @param func - Function definition, either direct function or configuration object
92
- * @returns The unwrapped function for internal use
93
- */
94
- export const pikkuMCPPromptFunc = <In>(
95
- func:
96
- | PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp'>
97
- | {
98
- func: PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp'>
99
- name?: string
100
- }
101
- ): PikkuFunctionConfig<In, MCPPromptResponse, 'mcp'> => {
102
- return typeof func === 'function' ? { func } : func
103
- }
104
-
105
- /**
106
- * Creates a function for handling MCP tool invocations.
107
- * These functions perform actions that AI models can request.
108
- *
109
- * @template In - Input type for the tool invocation
110
- * @param func - Function definition, either direct function or configuration object
111
- * @returns The unwrapped function for internal use
112
- */
113
- export const pikkuMCPToolFunc = <In>(
114
- func:
115
- | PikkuFunctionSessionless<In, MCPToolResponse, 'mcp'>
116
- | {
117
- func: PikkuFunctionSessionless<In, MCPToolResponse, 'mcp'>
118
- name?: string
119
- }
120
- ): PikkuFunctionConfig<In, MCPToolResponse, 'mcp'> => {
121
- return typeof func === 'function' ? { func } : func
122
- }
123
-
124
- /**
125
- * Creates a function for handling MCP resource requests.
126
- * These functions provide data that AI models can access.
127
- *
128
- * @template In - Input type for the resource request
129
- * @param func - Function definition, either direct function or configuration object
130
- * @returns The unwrapped function for internal use
131
- */
132
- export const pikkuMCPResourceFunc = <In>(
133
- func:
134
- | PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp'>
135
- | {
136
- func: PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp'>
137
- name?: string
138
- }
139
- ): PikkuFunctionConfig<In, MCPResourceResponse, 'mcp'> => {
140
- return typeof func === 'function' ? { func } : func
141
- }
142
- `
143
- }