@pikku/cli 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +71 -20
  46. package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  66. package/dist/.pikku/pikku-services.gen.js +4 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +33 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  100. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  101. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  103. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  104. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  111. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  112. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  113. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  114. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  115. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  116. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  117. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  118. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  119. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  120. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  121. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  123. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  124. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  126. package/dist/bin/pikku.js +20 -47
  127. package/dist/src/cli.wiring.js +29 -2
  128. package/dist/src/functions/commands/all.d.ts +1 -1
  129. package/dist/src/functions/commands/all.js +79 -176
  130. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  131. package/dist/src/functions/commands/bootstrap.js +13 -22
  132. package/dist/src/functions/commands/console.d.ts +7 -0
  133. package/dist/src/functions/commands/console.js +106 -0
  134. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  135. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  136. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  137. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  138. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  139. package/dist/src/functions/commands/versions-check.js +17 -0
  140. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  141. package/dist/src/functions/commands/versions-init.js +15 -0
  142. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  143. package/dist/src/functions/commands/versions-update.js +20 -0
  144. package/dist/src/functions/commands/watch.d.ts +1 -1
  145. package/dist/src/functions/commands/watch.js +4 -5
  146. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  147. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  148. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  149. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  150. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  151. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +8 -16
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  153. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  154. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  155. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  156. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  157. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  158. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  159. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  160. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  161. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  162. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  163. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  164. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  165. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  166. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  167. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  168. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  169. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  171. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  172. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  173. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  174. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  175. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  176. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  177. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  178. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  179. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  180. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  181. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  183. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  184. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  185. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  186. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  187. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  188. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  189. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  190. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  191. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  192. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  193. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  194. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  195. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  196. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  197. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  198. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  199. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  200. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  201. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  202. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  203. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  204. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +5 -5
  205. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  206. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  207. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  208. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  209. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  210. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  211. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  212. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  213. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -2
  214. package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
  215. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  216. package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
  217. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  218. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  219. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  220. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  221. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  222. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  223. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  224. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  225. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  226. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  227. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  228. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  229. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  230. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  231. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  232. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  233. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  234. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  236. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  237. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +13 -4
  238. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  239. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  240. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  241. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  242. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  243. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  244. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  245. package/dist/src/functions/wirings/package/pikku-command-package.js +3 -3
  246. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  247. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  248. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  249. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  250. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  251. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  252. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  253. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  254. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  255. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  256. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  257. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  258. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  259. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  260. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  261. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  262. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  263. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  264. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  265. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  266. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  267. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  268. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  269. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  270. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  271. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  272. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  273. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  274. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  275. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  276. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  277. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  278. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  279. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  280. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  281. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +85 -60
  282. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  284. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  285. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  286. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  287. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  288. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  289. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  290. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  291. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  292. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  293. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  294. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  295. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  296. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  297. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  298. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  299. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  300. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  301. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  302. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  303. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  304. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  305. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  306. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +6 -35
  307. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
  308. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  309. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  310. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  311. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  312. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  313. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  314. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  315. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  316. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  317. package/dist/src/services/cli-logger.service.d.ts +1 -1
  318. package/dist/src/services/cli-logger.service.js +1 -1
  319. package/dist/src/services.d.ts +1 -1
  320. package/dist/src/services.js +53 -6
  321. package/dist/src/utils/command-summary.d.ts +2 -1
  322. package/dist/src/utils/command-summary.js +2 -1
  323. package/dist/src/utils/contract-versions.d.ts +6 -0
  324. package/dist/src/utils/contract-versions.js +25 -0
  325. package/dist/src/utils/file-import-path.js +20 -6
  326. package/dist/src/utils/pikku-cli-config.js +77 -14
  327. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  328. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  329. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  330. package/dist/src/utils/serialize-import-map.js +3 -54
  331. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  332. package/dist/src/utils/serialize-meta-ts.js +12 -0
  333. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  334. package/dist/src/utils/serialize-schemas.js +38 -0
  335. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  336. package/dist/src/utils/strip-verbose-meta.js +15 -15
  337. package/dist/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +19 -10
  339. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  340. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  341. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  342. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  343. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  344. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  345. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  346. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  347. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  348. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  349. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  350. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  351. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  352. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  353. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  354. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  355. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  356. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  357. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  358. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  359. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  360. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  361. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  362. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  363. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  364. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  365. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  366. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  367. package/.pikku/pikku-services.gen.ts +0 -28
  368. package/.pikku/pikku-types.gen.ts +0 -30
  369. package/.pikku/pikku-websocket.gen.ts +0 -90
  370. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  371. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  372. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  373. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  374. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  375. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  376. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  377. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  378. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  379. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  380. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  381. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  382. package/.pikku/schemas/register.gen.ts +0 -71
  383. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  388. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  389. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  390. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  391. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  392. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  393. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  394. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  395. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  396. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  397. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  398. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  399. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  400. package/.pikku/services/config.gen.json +0 -104
  401. package/.pikku/services/getInspectorState.gen.json +0 -10
  402. package/.pikku/services/jwt.gen.json +0 -13
  403. package/.pikku/services/logger.gen.json +0 -25
  404. package/.pikku/services/queueService.gen.json +0 -14
  405. package/.pikku/services/schedulerService.gen.json +0 -17
  406. package/.pikku/services/schema.gen.json +0 -14
  407. package/.pikku/services/secrets.gen.json +0 -13
  408. package/.pikku/services/variables.gen.json +0 -13
  409. package/.pikku/services/workflowService.gen.json +0 -31
  410. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  411. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  412. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  413. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  414. package/CHANGELOG.md +0 -957
  415. package/bin/pikku.ts +0 -88
  416. package/build.sh +0 -75
  417. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  418. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  419. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  420. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  421. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  422. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  423. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  424. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  425. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  426. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  427. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  428. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  429. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  430. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  431. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  432. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  433. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  434. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  435. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  436. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  437. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  438. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  439. package/dist/src/utils/custom-types-generator.js +0 -41
  440. package/dist/src/utils/schema-generator.d.ts +0 -7
  441. package/dist/src/utils/schema-generator.js +0 -238
  442. package/pikku.config.json +0 -29
  443. package/run-tests.sh +0 -53
  444. package/src/cli.wiring.ts +0 -112
  445. package/src/functions/commands/all.ts +0 -313
  446. package/src/functions/commands/bootstrap.ts +0 -35
  447. package/src/functions/commands/watch.ts +0 -61
  448. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  449. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  450. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  451. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  452. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  453. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  454. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  455. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  456. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  457. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  458. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  459. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  460. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  461. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  462. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  463. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  464. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  465. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  466. package/src/functions/wirings/fetch/index.ts +0 -36
  467. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  468. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  469. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  470. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  471. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  472. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  473. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  474. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  475. package/src/functions/wirings/functions/schemas.ts +0 -56
  476. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  477. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  478. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  479. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  480. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  481. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  482. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  483. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  484. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  485. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  486. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  487. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  488. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  489. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  490. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  491. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  492. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  493. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  494. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  495. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  496. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  497. package/src/functions/wirings/package/serialize-package.ts +0 -69
  498. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  499. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  500. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  501. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  502. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  503. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  504. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  505. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  506. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  507. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  508. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  509. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  510. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  511. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  512. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  513. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  514. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  515. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  516. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  517. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  518. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  519. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  520. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  521. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  522. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  523. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  524. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  525. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  526. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  527. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  528. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  529. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  530. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  531. package/src/middleware/log-command-info-and-time.ts +0 -35
  532. package/src/services/cli-logger-forwarder.service.ts +0 -99
  533. package/src/services/cli-logger.service.ts +0 -108
  534. package/src/services.ts +0 -322
  535. package/src/utils/check-required-types.ts +0 -65
  536. package/src/utils/command-summary.ts +0 -107
  537. package/src/utils/custom-types-generator.ts +0 -55
  538. package/src/utils/file-import-path.test.ts +0 -175
  539. package/src/utils/file-import-path.ts +0 -53
  540. package/src/utils/file-imports-serializer.ts +0 -25
  541. package/src/utils/file-writer.ts +0 -72
  542. package/src/utils/generate-bootstrap-file.ts +0 -43
  543. package/src/utils/get-cli-version.ts +0 -28
  544. package/src/utils/pikku-cli-config.ts +0 -495
  545. package/src/utils/pikku-files-and-methods.ts +0 -145
  546. package/src/utils/schema-generator.ts +0 -335
  547. package/src/utils/serialize-import-map.ts +0 -102
  548. package/src/utils/strip-verbose-meta.ts +0 -254
  549. package/tsconfig.json +0 -21
  550. package/types/application-types.d.ts +0 -27
  551. package/types/config.d.ts +0 -304
  552. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  553. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -1,335 +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 { FunctionsMeta, JSONValue } from '@pikku/core'
5
- import { HTTPWiringsMeta } from '@pikku/core/http'
6
- import { TypesMap, ErrorCode, ZodSchemaRef } from '@pikku/inspector'
7
- import { CLILogger } from '../services/cli-logger.service.js'
8
- import { tsImport } from 'tsx/esm/api'
9
- import * as z from 'zod'
10
- import { zodToTs, createAuxiliaryTypeStore } from 'zod-to-ts'
11
- import {
12
- createPrinter,
13
- createSourceFile,
14
- EmitHint,
15
- ScriptKind,
16
- ScriptTarget,
17
- } from 'typescript'
18
-
19
- /**
20
- * Convert a name to a valid JavaScript identifier.
21
- * Replaces hyphens and other invalid characters with underscores.
22
- */
23
- function toValidIdentifier(name: string): string {
24
- let result = name.replace(/[-./]/g, '_')
25
- if (/^\d/.test(result)) {
26
- result = '_' + result
27
- }
28
- return result
29
- }
30
-
31
- const PRIMITIVE_TYPES = new Set([
32
- 'boolean',
33
- 'string',
34
- 'number',
35
- 'null',
36
- 'undefined',
37
- 'void',
38
- 'any',
39
- 'unknown',
40
- 'never',
41
- ])
42
-
43
- /** Map TypeScript type strings to JSON Schema. Returns null if no schema should be generated. */
44
- function primitiveTypeToSchema(typeStr: string): JSONValue | null {
45
- const normalized = typeStr.trim()
46
-
47
- // void/undefined/never mean no data - don't generate a schema
48
- if (
49
- normalized === 'void' ||
50
- normalized === 'undefined' ||
51
- normalized === 'never'
52
- ) {
53
- return null
54
- }
55
-
56
- // Handle boolean literals
57
- if (
58
- normalized === 'boolean' ||
59
- normalized === 'false | true' ||
60
- normalized === 'true | false'
61
- ) {
62
- return { type: 'boolean' }
63
- }
64
- if (normalized === 'true') {
65
- return { const: true }
66
- }
67
- if (normalized === 'false') {
68
- return { const: false }
69
- }
70
-
71
- // Handle string
72
- if (normalized === 'string') {
73
- return { type: 'string' }
74
- }
75
-
76
- // Handle number
77
- if (normalized === 'number') {
78
- return { type: 'number' }
79
- }
80
-
81
- // Handle null
82
- if (normalized === 'null') {
83
- return { type: 'null' }
84
- }
85
-
86
- return null
87
- }
88
-
89
- export async function generateSchemas(
90
- logger: CLILogger,
91
- tsconfig: string,
92
- typesMap: TypesMap,
93
- functionMeta: FunctionsMeta,
94
- httpWiringsMeta: HTTPWiringsMeta,
95
- additionalTypes?: string[],
96
- additionalProperties: boolean = false,
97
- zodLookup?: Map<string, ZodSchemaRef>
98
- ): Promise<Record<string, JSONValue>> {
99
- const schemasSet = new Set(typesMap.customTypes.keys())
100
- for (const { inputs, outputs } of Object.values(functionMeta)) {
101
- const types = [...(inputs || []), ...(outputs || [])]
102
- for (const type of types) {
103
- try {
104
- const uniqueName = typesMap.getUniqueName(type)
105
- if (uniqueName) {
106
- schemasSet.add(uniqueName)
107
- }
108
- } catch {
109
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
110
- }
111
- }
112
- }
113
-
114
- for (const wiringRoutes of Object.values(httpWiringsMeta)) {
115
- for (const { inputTypes } of Object.values(wiringRoutes)) {
116
- if (inputTypes?.body) {
117
- schemasSet.add(inputTypes.body)
118
- }
119
- if (inputTypes?.query) {
120
- schemasSet.add(inputTypes.query)
121
- }
122
- if (inputTypes?.params) {
123
- schemasSet.add(inputTypes.params)
124
- }
125
- }
126
- }
127
-
128
- if (additionalTypes) {
129
- for (const type of additionalTypes) {
130
- schemasSet.add(type)
131
- }
132
- }
133
-
134
- const generator = createGenerator({
135
- tsconfig,
136
- skipTypeCheck: true,
137
- topRef: false,
138
- discriminatorType: 'open-api',
139
- expose: 'export',
140
- jsDoc: 'extended',
141
- sortProps: true,
142
- strictTuples: false,
143
- encodeRefs: false,
144
- additionalProperties,
145
- })
146
- const schemas: Record<string, JSONValue> = {}
147
-
148
- schemasSet.forEach((schema) => {
149
- if (PRIMITIVE_TYPES.has(schema)) {
150
- return
151
- }
152
- if (zodLookup?.has(schema)) {
153
- return
154
- }
155
- try {
156
- schemas[schema] = generator.createSchema(schema) as JSONValue
157
- } catch (e) {
158
- if (e instanceof RootlessError) {
159
- const customType = typesMap.customTypes.get(schema)
160
- if (customType) {
161
- const primitiveSchema = primitiveTypeToSchema(customType.type)
162
- if (primitiveSchema) {
163
- schemas[schema] = primitiveSchema
164
- }
165
- }
166
- return
167
- }
168
- const customType = typesMap.customTypes.get(schema)
169
- logger.error(
170
- `[${ErrorCode.SCHEMA_GENERATION_ERROR}] Error generating schema: ${schema}. Message: ${e.message}. Type info: ${customType ? `type=${customType.type}` : 'not in typesMap'}`
171
- )
172
- }
173
- })
174
-
175
- return schemas
176
- }
177
-
178
- export async function generateZodSchemas(
179
- logger: CLILogger,
180
- zodLookup: Map<string, ZodSchemaRef>,
181
- typesMap: TypesMap
182
- ): Promise<Record<string, JSONValue>> {
183
- const schemas: Record<string, JSONValue> = {}
184
- const auxiliaryTypeStore = createAuxiliaryTypeStore()
185
- const printer = createPrinter()
186
- const fakeSourceFile = createSourceFile(
187
- 'zod-types.ts',
188
- '',
189
- ScriptTarget.ESNext,
190
- false,
191
- ScriptKind.TS
192
- )
193
-
194
- for (const [schemaName, ref] of zodLookup.entries()) {
195
- try {
196
- const module = await tsImport(ref.sourceFile, import.meta.url)
197
- const zodSchema = module[ref.variableName]
198
- if (!zodSchema) {
199
- logger.warn(
200
- `Could not find exported schema '${ref.variableName}' in ${ref.sourceFile} for ${schemaName}. Available exports: ${Object.keys(module).join(', ')}`
201
- )
202
- continue
203
- }
204
-
205
- const schema = z.toJSONSchema(zodSchema) as any
206
-
207
- // Remove fields with defaults from the required array
208
- // Fields with defaults are semantically optional in input validation
209
- if (schema.required && schema.properties) {
210
- schema.required = schema.required.filter((fieldName: string) => {
211
- const prop = schema.properties[fieldName]
212
- return prop && prop.default === undefined
213
- })
214
- if (schema.required.length === 0) {
215
- delete schema.required
216
- }
217
- }
218
-
219
- schemas[schemaName] = schema
220
- const { node: tsType } = zodToTs(zodSchema, { auxiliaryTypeStore })
221
-
222
- const typeText = printer.printNode(
223
- EmitHint.Unspecified,
224
- tsType,
225
- fakeSourceFile
226
- )
227
-
228
- typesMap.addCustomType(schemaName, typeText, [])
229
- logger.info(`• Generated schema from Zod: ${schemaName}`)
230
- } catch (e) {
231
- logger.warn(
232
- `Could not convert Zod schema '${schemaName}': ${e instanceof Error ? e.message : e}`
233
- )
234
- }
235
- }
236
-
237
- return schemas
238
- }
239
-
240
- export async function saveSchemas(
241
- logger: CLILogger,
242
- schemaParentDir: string,
243
- schemas: Record<string, JSONValue>,
244
- typesMap: TypesMap,
245
- functionsMeta: FunctionsMeta,
246
- supportsImportAttributes: boolean,
247
- additionalTypes?: string[],
248
- zodLookup?: Map<string, ZodSchemaRef>,
249
- packageName?: string | null
250
- ) {
251
- await writeFileInDir(
252
- logger,
253
- `${schemaParentDir}/register.gen.ts`,
254
- 'export const empty = null;'
255
- )
256
-
257
- const desiredSchemas = new Set<string>([
258
- ...Object.values(functionsMeta)
259
- .map(({ inputs, outputs }) => {
260
- const types: (string | undefined)[] = []
261
- if (inputs?.[0]) {
262
- try {
263
- types.push(typesMap.getUniqueName(inputs[0]))
264
- } catch {
265
- // Skip types not in typesMap - might be a zod schema name
266
- types.push(inputs[0])
267
- }
268
- }
269
- if (outputs?.[0]) {
270
- try {
271
- types.push(typesMap.getUniqueName(outputs[0]))
272
- } catch {
273
- // Skip types not in typesMap - might be a zod schema name
274
- types.push(outputs[0])
275
- }
276
- }
277
- return types
278
- })
279
- .flat()
280
- .filter((s): s is string => !!s && !PRIMITIVE_TYPES.has(s)),
281
- ...typesMap.customTypes.keys(),
282
- ...(additionalTypes || []),
283
- ...(zodLookup ? Array.from(zodLookup.keys()) : []),
284
- ])
285
-
286
- if (desiredSchemas.size === 0) {
287
- logger.info(`• Skipping schemas since none found.\x1b[0m`)
288
- return
289
- }
290
-
291
- await mkdir(`${schemaParentDir}/schemas`, { recursive: true })
292
- await Promise.all(
293
- Object.entries(schemas).map(async ([schemaName, schema]) => {
294
- if (desiredSchemas.has(schemaName)) {
295
- await writeFile(
296
- `${schemaParentDir}/schemas/${schemaName}.schema.json`,
297
- JSON.stringify(schema),
298
- 'utf-8'
299
- )
300
- }
301
- })
302
- )
303
-
304
- // Only include schemas that were successfully generated
305
- const availableSchemas = Array.from(desiredSchemas).filter(
306
- (schema) => schemas[schema]
307
- )
308
-
309
- // Generate the packageName argument for addSchema calls
310
- const packageNameArg = packageName ? `, '${packageName}'` : ''
311
-
312
- const schemaImports = availableSchemas
313
- .map((schema) => {
314
- const identifier = toValidIdentifier(schema)
315
- return `
316
- import * as ${identifier} from './schemas/${schema}.schema.json' ${supportsImportAttributes ? `with { type: 'json' }` : ''}
317
- addSchema('${schema}', ${identifier}${packageNameArg})
318
- `
319
- })
320
- .join('\n')
321
-
322
- // Only import addSchema if there are schemas to register
323
- const importStatement =
324
- availableSchemas.length > 0
325
- ? `import { addSchema } from '@pikku/core/schema'`
326
- : '// No schemas to register'
327
-
328
- await writeFileInDir(
329
- logger,
330
- `${schemaParentDir}/register.gen.ts`,
331
- `${importStatement}
332
- ${schemaImports}`,
333
- { logWrite: true }
334
- )
335
- }
@@ -1,102 +0,0 @@
1
- import { TypesMap } from '@pikku/inspector'
2
- import { getFileImportRelativePath } from './file-import-path.js'
3
-
4
- export const serializeImportMap = (
5
- relativeToPath: string,
6
- packageMappings: Record<string, string>,
7
- typesMap: TypesMap,
8
- requiredTypes: Set<string>
9
- ) => {
10
- const paths = new Map<string, string[]>()
11
- Array.from(requiredTypes).forEach((requiredType) => {
12
- let originalName, uniqueName, path
13
-
14
- try {
15
- const typeMeta = typesMap.getTypeMeta(requiredType)
16
- originalName = typeMeta.originalName
17
- uniqueName = typeMeta.uniqueName
18
- path = typeMeta.path
19
- } catch (e) {
20
- // Handle missing types by trying to find a suitable import path
21
- // Look through all existing types in the map to find a path that might contain this type
22
- let foundPath: string | null = null
23
-
24
- // Get all unique paths from the typesMap
25
- const allPaths = new Set<string>()
26
- typesMap.customTypes.forEach(({ type, references }) => {
27
- references.forEach((ref) => {
28
- try {
29
- const refMeta = typesMap.getTypeMeta(ref)
30
- if (refMeta.path) {
31
- allPaths.add(refMeta.path)
32
- }
33
- } catch {
34
- // Continue
35
- }
36
- })
37
- })
38
-
39
- // Also check direct types in the map
40
- try {
41
- const mapEntries = (typesMap as any).map?.entries?.() || []
42
- for (const [_, typeMeta] of mapEntries) {
43
- if (typeMeta.path) {
44
- allPaths.add(typeMeta.path)
45
- }
46
- }
47
- } catch {
48
- // Continue
49
- }
50
-
51
- // For PascalCase types, prefer paths that look like type definition files
52
- if (/^[A-Z]/.test(requiredType)) {
53
- for (const candidatePath of allPaths) {
54
- if (
55
- candidatePath.includes('types') ||
56
- candidatePath.includes('.d.')
57
- ) {
58
- foundPath = candidatePath
59
- break
60
- }
61
- }
62
-
63
- // If no types file found, use the first available path
64
- if (!foundPath && allPaths.size > 0) {
65
- foundPath = Array.from(allPaths)[0] || null
66
- }
67
- }
68
-
69
- if (foundPath) {
70
- originalName = requiredType
71
- uniqueName = requiredType
72
- path = foundPath
73
- } else {
74
- // No suitable path found, skip
75
- return
76
- }
77
- }
78
-
79
- if (!path) {
80
- // This is a custom type that exists in file, so we don't need to import it
81
- return
82
- }
83
- const variables = paths.get(path) || []
84
-
85
- const importName =
86
- originalName === uniqueName
87
- ? originalName
88
- : `${originalName} as ${uniqueName}`
89
- if (!variables.includes(importName)) {
90
- variables.push(importName)
91
- }
92
- paths.set(path, variables)
93
- })
94
-
95
- const imports: string[] = []
96
- for (const [path, variables] of paths.entries()) {
97
- imports.push(
98
- `import type { ${variables.join(', ')} } from '${getFileImportRelativePath(relativeToPath, path, packageMappings)}'`
99
- )
100
- }
101
- return imports.join('\n')
102
- }
@@ -1,254 +0,0 @@
1
- /**
2
- * Utility functions to strip verbose/visualization-only fields from meta objects
3
- * for creating minimal runtime-only versions.
4
- *
5
- * Verbose fields are those used for UI/visualization but not needed at runtime:
6
- * - tags, description, summary, errors
7
- * - title, displayName
8
- * - usedWires, isDirectFunction, services
9
- * - stepName (in workflow nodes)
10
- *
11
- * Note: middleware and permissions are NOT verbose - they're needed at runtime
12
- * for resolving tag middleware and permissions in function-runner.ts
13
- *
14
- * IMPORTANT: We only strip verbose fields at the direct meta entry level.
15
- * For most meta types (HTTP, Queue, Scheduler, etc.), entries have pikkuFuncName.
16
- * For workflow graphs, we strip at the root level AND from nodes.
17
- * We do NOT strip from deeply nested structures like CLI options where 'description' is required.
18
- */
19
-
20
- const VERBOSE_FIELDS = new Set([
21
- 'tags',
22
- 'description',
23
- 'summary',
24
- 'errors',
25
- 'title',
26
- 'displayName',
27
- // Note: middleware and permissions are NOT verbose - they're needed at runtime
28
- // for resolving tag middleware and permissions in function-runner.ts
29
- 'usedWires',
30
- 'isDirectFunction',
31
- 'services',
32
- ])
33
-
34
- /**
35
- * Fields that are verbose only at the node level (workflow nodes)
36
- */
37
- const NODE_VERBOSE_FIELDS = new Set(['stepName'])
38
-
39
- /**
40
- * Strip verbose fields from an object (shallow - only direct properties)
41
- */
42
- function stripVerboseShallow<T>(obj: T, additionalFields?: Set<string>): T {
43
- if (
44
- obj === null ||
45
- obj === undefined ||
46
- typeof obj !== 'object' ||
47
- Array.isArray(obj)
48
- ) {
49
- return obj
50
- }
51
-
52
- const result: Record<string, unknown> = {}
53
- const fieldsToStrip = additionalFields
54
- ? new Set([...VERBOSE_FIELDS, ...additionalFields])
55
- : VERBOSE_FIELDS
56
-
57
- for (const [key, value] of Object.entries(obj as Record<string, unknown>)) {
58
- if (fieldsToStrip.has(key)) {
59
- continue
60
- }
61
- result[key] = value
62
- }
63
-
64
- return result as T
65
- }
66
-
67
- /**
68
- * Check if an object has any verbose fields (shallow check)
69
- */
70
- function hasVerboseShallow(
71
- obj: unknown,
72
- additionalFields?: Set<string>
73
- ): boolean {
74
- if (
75
- obj === null ||
76
- obj === undefined ||
77
- typeof obj !== 'object' ||
78
- Array.isArray(obj)
79
- ) {
80
- return false
81
- }
82
-
83
- const fieldsToCheck = additionalFields
84
- ? new Set([...VERBOSE_FIELDS, ...additionalFields])
85
- : VERBOSE_FIELDS
86
-
87
- for (const [key, value] of Object.entries(obj as Record<string, unknown>)) {
88
- if (fieldsToCheck.has(key) && value !== undefined) {
89
- return true
90
- }
91
- }
92
-
93
- return false
94
- }
95
-
96
- /**
97
- * Strip verbose fields from a meta object.
98
- *
99
- * Handles different meta structure patterns:
100
- * 1. Single workflow graph: { name, pikkuFuncName, nodes: {...}, description, tags }
101
- * -> Strips description, tags at root; strips stepName from each node
102
- * 2. Record of meta entries: { "entryName": { pikkuFuncName, description, tags, ... } }
103
- * -> Strips description, tags from each entry (one level deep only)
104
- * 3. CLI meta and others with complex nesting: preserved as-is except for pikkuFuncName entries
105
- */
106
- export function stripVerboseFields<T>(obj: T): T {
107
- if (obj === null || obj === undefined || typeof obj !== 'object') {
108
- return obj
109
- }
110
-
111
- if (Array.isArray(obj)) {
112
- // Array of entries - strip from each
113
- return obj.map((item) => {
114
- if (
115
- typeof item === 'object' &&
116
- item !== null &&
117
- 'pikkuFuncName' in (item as Record<string, unknown>)
118
- ) {
119
- return stripVerboseShallow(item)
120
- }
121
- return item
122
- }) as T
123
- }
124
-
125
- const objRecord = obj as Record<string, unknown>
126
-
127
- // Case 1: Single workflow graph (has 'nodes' and 'pikkuFuncName' at root)
128
- if ('nodes' in objRecord && 'pikkuFuncName' in objRecord) {
129
- const result: Record<string, unknown> = {}
130
-
131
- for (const [key, value] of Object.entries(objRecord)) {
132
- if (VERBOSE_FIELDS.has(key)) {
133
- continue
134
- }
135
-
136
- if (key === 'nodes' && typeof value === 'object' && value !== null) {
137
- // Strip stepName from each node
138
- const nodes: Record<string, unknown> = {}
139
- for (const [nodeId, node] of Object.entries(
140
- value as Record<string, unknown>
141
- )) {
142
- nodes[nodeId] = stripVerboseShallow(node, NODE_VERBOSE_FIELDS)
143
- }
144
- result[key] = nodes
145
- } else {
146
- result[key] = value
147
- }
148
- }
149
-
150
- return result as T
151
- }
152
-
153
- // Case 2: Record of meta entries (each entry has pikkuFuncName)
154
- // Only strip at exactly one level deep - the immediate children
155
- const result: Record<string, unknown> = {}
156
-
157
- for (const [key, value] of Object.entries(objRecord)) {
158
- if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
159
- const valueObj = value as Record<string, unknown>
160
- // Only strip from entries that look like meta entries (have pikkuFuncName)
161
- if ('pikkuFuncName' in valueObj) {
162
- result[key] = stripVerboseShallow(value)
163
- } else {
164
- // Keep nested structures as-is (e.g., CLI programs, options)
165
- result[key] = value
166
- }
167
- } else {
168
- result[key] = value
169
- }
170
- }
171
-
172
- return result as T
173
- }
174
-
175
- /**
176
- * Check if an object has any verbose fields that would be stripped
177
- */
178
- export function hasVerboseFields(obj: unknown): boolean {
179
- if (obj === null || obj === undefined || typeof obj !== 'object') {
180
- return false
181
- }
182
-
183
- if (Array.isArray(obj)) {
184
- return obj.some((item) => {
185
- if (
186
- typeof item === 'object' &&
187
- item !== null &&
188
- 'pikkuFuncName' in (item as Record<string, unknown>)
189
- ) {
190
- return hasVerboseShallow(item)
191
- }
192
- return false
193
- })
194
- }
195
-
196
- const objRecord = obj as Record<string, unknown>
197
-
198
- // Case 1: Single workflow graph
199
- if ('nodes' in objRecord && 'pikkuFuncName' in objRecord) {
200
- // Check root level
201
- if (hasVerboseShallow(objRecord)) {
202
- return true
203
- }
204
- // Check nodes for stepName
205
- const nodes = objRecord.nodes
206
- if (typeof nodes === 'object' && nodes !== null) {
207
- for (const node of Object.values(nodes as Record<string, unknown>)) {
208
- if (hasVerboseShallow(node, NODE_VERBOSE_FIELDS)) {
209
- return true
210
- }
211
- }
212
- }
213
- return false
214
- }
215
-
216
- // Case 2: Record of meta entries
217
- for (const value of Object.values(objRecord)) {
218
- if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
219
- const valueObj = value as Record<string, unknown>
220
- if ('pikkuFuncName' in valueObj && hasVerboseShallow(value)) {
221
- return true
222
- }
223
- }
224
- }
225
-
226
- return false
227
- }
228
-
229
- /**
230
- * Write both minimal and verbose meta files
231
- * Only writes verbose file if it differs from minimal
232
- *
233
- * @returns Object with paths that were written
234
- */
235
- export async function writeMetaFiles(
236
- writeFile: (path: string, content: string) => Promise<void>,
237
- basePath: string,
238
- meta: unknown
239
- ): Promise<{ minimal: string; verbose?: string }> {
240
- const minimalMeta = stripVerboseFields(meta)
241
- const minimalPath = basePath.replace(/\.gen\.json$/, '.gen.json')
242
- const verbosePath = basePath.replace(/\.gen\.json$/, '-verbose.gen.json')
243
-
244
- // Always write minimal
245
- await writeFile(minimalPath, JSON.stringify(minimalMeta, null, 2))
246
-
247
- // Only write verbose if it has additional fields
248
- if (hasVerboseFields(meta)) {
249
- await writeFile(verbosePath, JSON.stringify(meta, null, 2))
250
- return { minimal: minimalPath, verbose: verbosePath }
251
- }
252
-
253
- return { minimal: minimalPath }
254
- }
package/tsconfig.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "extends": "../tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": ".",
5
- "module": "Node18",
6
- "outDir": "dist",
7
- "target": "esnext",
8
- "declaration": true,
9
- "resolveJsonModule": true
10
- },
11
- "include": ["bin/**/*.ts", "src/**/*.ts", ".pikku/**/*.ts", "types/*.ts"],
12
- "exclude": ["**/*.test.ts", "node_modules"],
13
- "references": [
14
- {
15
- "path": "../core/tsconfig.json"
16
- },
17
- {
18
- "path": "../inspector/tsconfig.json"
19
- }
20
- ]
21
- }