@pikku/cli 0.11.2 → 0.11.3

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 (301) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +63 -6
  2. package/.pikku/channel/pikku-channels-map.gen.d.ts +4 -4
  3. package/.pikku/channel/pikku-channels-meta.gen.ts +4 -2
  4. package/.pikku/channel/pikku-channels.gen.ts +1 -1
  5. package/.pikku/cli/pikku-cli-channel.ts +1 -1
  6. package/.pikku/cli/pikku-cli-client.gen.ts +1 -1
  7. package/.pikku/cli/pikku-cli-types.gen.ts +1 -1
  8. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +2 -1
  9. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +2 -2
  10. package/.pikku/cli/pikku-cli-wirings.gen.ts +1 -1
  11. package/.pikku/cli/pikku-cli.gen.ts +1 -1
  12. package/.pikku/forge/pikku-forge-types.gen.ts +83 -0
  13. package/.pikku/function/pikku-function-types.gen.ts +181 -35
  14. package/.pikku/function/pikku-functions-meta-verbose.gen.json +1030 -0
  15. package/.pikku/function/pikku-functions-meta.gen.json +88 -420
  16. package/.pikku/function/pikku-functions-meta.gen.ts +2 -2
  17. package/.pikku/http/pikku-http-types.gen.ts +19 -3
  18. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +4 -4
  19. package/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
  20. package/.pikku/http/pikku-http-wirings-meta.gen.ts +4 -10
  21. package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
  22. package/.pikku/mcp/pikku-mcp-types.gen.ts +69 -17
  23. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +4 -4
  24. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
  25. package/.pikku/pikku-bootstrap.gen.ts +7 -9
  26. package/.pikku/pikku-services.gen.ts +3 -2
  27. package/.pikku/pikku-types.gen.ts +4 -1
  28. package/.pikku/pikku-websocket.gen.ts +1 -1
  29. package/.pikku/queue/pikku-queue-types.gen.ts +1 -1
  30. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +4 -4
  31. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +2 -2
  32. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
  33. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +4 -1
  34. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +12 -7
  35. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +15 -9
  36. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +1 -1
  37. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +2 -2
  38. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
  39. package/.pikku/schemas/register.gen.ts +9 -1
  40. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  41. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  42. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  43. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +1 -0
  44. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  45. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  46. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  47. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  48. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
  49. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  50. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  51. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  52. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  53. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  54. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  55. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  56. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  57. package/.pikku/services/config.gen.json +11 -6
  58. package/.pikku/services/getInspectorState.gen.json +2 -2
  59. package/.pikku/services/jwt.gen.json +2 -2
  60. package/.pikku/services/logger.gen.json +2 -2
  61. package/.pikku/services/queueService.gen.json +2 -2
  62. package/.pikku/services/schedulerService.gen.json +2 -2
  63. package/.pikku/services/schema.gen.json +2 -2
  64. package/.pikku/services/secrets.gen.json +13 -0
  65. package/.pikku/services/variables.gen.json +2 -2
  66. package/.pikku/services/workflowService.gen.json +6 -6
  67. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +2 -36
  68. package/.pikku/workflow/pikku-workflow-types.gen.ts +297 -45
  69. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -4
  70. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +1 -6
  71. package/CHANGELOG.md +23 -1
  72. package/cli.schema.json +1 -1
  73. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +47 -5
  74. package/dist/.pikku/channel/pikku-channel-types.gen.js +3 -13
  75. package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
  76. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  77. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  78. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  79. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  80. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  81. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  82. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  83. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  84. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +2 -1
  85. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  86. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  87. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  88. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  89. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +72 -0
  90. package/dist/.pikku/forge/pikku-forge-types.gen.js +55 -0
  91. package/dist/.pikku/function/pikku-function-types.gen.d.ts +123 -31
  92. package/dist/.pikku/function/pikku-function-types.gen.js +37 -51
  93. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  94. package/dist/.pikku/function/pikku-functions-meta.gen.json +88 -420
  95. package/dist/.pikku/http/pikku-http-types.gen.d.ts +18 -3
  96. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  97. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
  98. package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
  99. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  100. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  101. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +54 -14
  102. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +7 -31
  103. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
  104. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  105. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  106. package/dist/.pikku/pikku-bootstrap.gen.d.ts +7 -9
  107. package/dist/.pikku/pikku-bootstrap.gen.js +7 -9
  108. package/dist/.pikku/pikku-services.gen.d.ts +3 -2
  109. package/dist/.pikku/pikku-services.gen.js +1 -0
  110. package/dist/.pikku/pikku-types.gen.d.ts +2 -1
  111. package/dist/.pikku/pikku-types.gen.js +3 -1
  112. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  113. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  114. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  115. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  116. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  117. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  118. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  119. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +4 -1
  120. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +4 -1
  121. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  122. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  123. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
  124. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  126. package/dist/.pikku/schemas/register.gen.js +5 -1
  127. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  128. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  129. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  130. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +1 -0
  131. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  132. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  133. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  134. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  135. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
  136. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  137. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  138. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  139. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  140. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  141. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  142. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  143. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  144. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +207 -37
  145. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +104 -28
  146. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
  147. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
  148. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
  149. package/dist/src/functions/commands/all.js +117 -79
  150. package/dist/src/functions/commands/bootstrap.js +2 -9
  151. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +0 -1
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +49 -35
  153. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +49 -35
  154. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  155. package/dist/src/functions/wirings/channels/pikku-command-channels.js +18 -2
  156. package/dist/src/functions/wirings/channels/serialize-channel-types.js +62 -5
  157. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +1 -2
  158. package/dist/src/functions/wirings/cli/pikku-command-cli.js +10 -2
  159. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +1 -0
  160. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +90 -0
  161. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +1 -0
  162. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +26 -0
  163. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +4 -0
  164. package/dist/src/functions/wirings/forge/serialize-forge-types.js +90 -0
  165. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
  166. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +7 -2
  167. package/dist/src/functions/wirings/functions/pikku-command-functions.js +33 -18
  168. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  169. package/dist/src/functions/wirings/functions/pikku-function-types.js +2 -2
  170. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  171. package/dist/src/functions/wirings/functions/schemas.js +5 -4
  172. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -1
  173. package/dist/src/functions/wirings/functions/serialize-function-imports.js +7 -3
  174. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  175. package/dist/src/functions/wirings/functions/serialize-function-types.js +181 -34
  176. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  177. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +19 -21
  178. package/dist/src/functions/wirings/http/openapi-spec-generator.js +1 -1
  179. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +18 -2
  180. package/dist/src/functions/wirings/http/pikku-command-openapi.js +2 -2
  181. package/dist/src/functions/wirings/http/pikku-http-routes.js +1 -1
  182. package/dist/src/functions/wirings/http/serialize-http-types.js +18 -2
  183. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -8
  184. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +15 -6
  185. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +3 -2
  186. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +68 -16
  187. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +5 -2
  188. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -0
  189. package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
  190. package/dist/src/functions/wirings/package/serialize-package.d.ts +5 -0
  191. package/dist/src/functions/wirings/package/serialize-package.js +32 -0
  192. package/dist/src/functions/wirings/queue/pikku-command-queue.js +10 -2
  193. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -9
  194. package/dist/src/functions/wirings/queue/serialize-queue-map.js +20 -3
  195. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +1 -1
  196. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +4 -4
  197. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +1 -1
  198. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +3 -0
  199. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +1 -1
  200. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +1 -1
  201. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +54 -8
  202. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +10 -1
  203. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +1 -1
  204. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +56 -18
  205. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +3 -0
  206. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +30 -32
  207. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
  208. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +43 -18
  209. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
  210. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +53 -0
  211. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +3 -1
  212. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +299 -45
  213. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
  214. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +14 -27
  215. package/dist/src/services.js +4 -1
  216. package/dist/src/utils/command-summary.d.ts +2 -0
  217. package/dist/src/utils/command-summary.js +2 -0
  218. package/dist/src/utils/custom-types-generator.js +13 -15
  219. package/dist/src/utils/generate-bootstrap-file.js +1 -1
  220. package/dist/src/utils/pikku-cli-config.js +37 -9
  221. package/dist/src/utils/schema-generator.d.ts +4 -3
  222. package/dist/src/utils/schema-generator.js +135 -15
  223. package/dist/src/utils/strip-verbose-meta.d.ts +43 -0
  224. package/dist/src/utils/strip-verbose-meta.js +210 -0
  225. package/dist/tsconfig.tsbuildinfo +1 -1
  226. package/package.json +7 -4
  227. package/src/functions/commands/all.ts +144 -97
  228. package/src/functions/commands/bootstrap.ts +2 -10
  229. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -1
  230. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +49 -35
  231. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +49 -35
  232. package/src/functions/wirings/channels/pikku-channels.ts +1 -1
  233. package/src/functions/wirings/channels/pikku-command-channels.ts +46 -3
  234. package/src/functions/wirings/channels/serialize-channel-types.ts +62 -5
  235. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +3 -2
  236. package/src/functions/wirings/cli/pikku-command-cli.ts +21 -2
  237. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +135 -0
  238. package/src/functions/wirings/forge/pikku-command-forge-types.ts +38 -0
  239. package/src/functions/wirings/forge/serialize-forge-types.ts +94 -0
  240. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +3 -2
  241. package/src/functions/wirings/functions/pikku-command-function-types.ts +17 -10
  242. package/src/functions/wirings/functions/pikku-command-functions.ts +47 -37
  243. package/src/functions/wirings/functions/pikku-command-services.ts +1 -1
  244. package/src/functions/wirings/functions/pikku-function-types.ts +3 -1
  245. package/src/functions/wirings/functions/schemas.ts +14 -4
  246. package/src/functions/wirings/functions/serialize-function-imports.ts +12 -3
  247. package/src/functions/wirings/functions/serialize-function-types.ts +182 -34
  248. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +27 -26
  249. package/src/functions/wirings/http/openapi-spec-generator.ts +1 -1
  250. package/src/functions/wirings/http/pikku-command-http-routes.ts +46 -2
  251. package/src/functions/wirings/http/pikku-command-openapi.ts +3 -2
  252. package/src/functions/wirings/http/pikku-http-routes.ts +1 -1
  253. package/src/functions/wirings/http/serialize-http-types.ts +18 -2
  254. package/src/functions/wirings/http/serialize-typed-http-map.ts +32 -8
  255. package/src/functions/wirings/mcp/pikku-command-mcp.ts +32 -10
  256. package/src/functions/wirings/mcp/serialize-mcp-json.ts +8 -6
  257. package/src/functions/wirings/mcp/serialize-mcp-types.ts +68 -16
  258. package/src/functions/wirings/middleware/pikku-command-middleware.ts +6 -2
  259. package/src/functions/wirings/package/pikku-command-package.ts +81 -0
  260. package/src/functions/wirings/package/serialize-package.ts +69 -0
  261. package/src/functions/wirings/queue/pikku-command-queue.ts +22 -2
  262. package/src/functions/wirings/queue/pikku-queue.ts +1 -10
  263. package/src/functions/wirings/queue/serialize-queue-map.ts +18 -3
  264. package/src/functions/wirings/queue/serialize-queue-meta.ts +1 -1
  265. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +7 -4
  266. package/src/functions/wirings/rpc/pikku-command-rpc.ts +1 -1
  267. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +3 -0
  268. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +1 -1
  269. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +74 -8
  270. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +22 -1
  271. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +1 -1
  272. package/src/functions/wirings/workflow/pikku-command-workflow.ts +104 -37
  273. package/src/functions/wirings/workflow/serialize-workflow-map.ts +38 -40
  274. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +66 -26
  275. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +83 -0
  276. package/src/functions/wirings/workflow/serialize-workflow-types.ts +299 -45
  277. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +14 -27
  278. package/src/services.ts +8 -1
  279. package/src/utils/command-summary.ts +4 -0
  280. package/src/utils/custom-types-generator.ts +15 -15
  281. package/src/utils/generate-bootstrap-file.ts +1 -1
  282. package/src/utils/pikku-cli-config.ts +51 -18
  283. package/src/utils/schema-generator.ts +185 -22
  284. package/src/utils/strip-verbose-meta.ts +254 -0
  285. package/types/config.d.ts +37 -3
  286. package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  287. package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
  288. package/dist/.pikku/function/pikku-functions-meta.min.gen.d.ts +0 -1
  289. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
  290. package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
  291. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
  292. package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
  293. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
  294. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
  295. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
  296. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
  297. package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
  298. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
  299. package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
  300. /package/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
  301. /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { FunctionsMeta, JSONValue } from '@pikku/core';
2
2
  import { HTTPWiringsMeta } from '@pikku/core/http';
3
- import { TypesMap } from '@pikku/inspector';
3
+ import { TypesMap, ZodSchemaRef } from '@pikku/inspector';
4
4
  import { CLILogger } from '../services/cli-logger.service.js';
5
- export declare function generateSchemas(logger: CLILogger, tsconfig: string, typesMap: TypesMap, functionMeta: FunctionsMeta, httpWiringsMeta: HTTPWiringsMeta, additionalTypes?: string[], additionalProperties?: boolean): Promise<Record<string, JSONValue>>;
6
- export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, typesMap: TypesMap, functionsMeta: FunctionsMeta, supportsImportAttributes: boolean, additionalTypes?: string[]): Promise<void>;
5
+ export declare function generateSchemas(logger: CLILogger, tsconfig: string, typesMap: TypesMap, functionMeta: FunctionsMeta, httpWiringsMeta: HTTPWiringsMeta, additionalTypes?: string[], additionalProperties?: boolean, zodLookup?: Map<string, ZodSchemaRef>): Promise<Record<string, JSONValue>>;
6
+ export declare function generateZodSchemas(logger: CLILogger, zodLookup: Map<string, ZodSchemaRef>, typesMap: TypesMap): Promise<Record<string, JSONValue>>;
7
+ export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, typesMap: TypesMap, functionsMeta: FunctionsMeta, supportsImportAttributes: boolean, additionalTypes?: string[], zodLookup?: Map<string, ZodSchemaRef>, packageName?: string | null): Promise<void>;
@@ -2,7 +2,68 @@ import { createGenerator, RootlessError } from 'ts-json-schema-generator';
2
2
  import { writeFileInDir } from './file-writer.js';
3
3
  import { mkdir, writeFile } from 'fs/promises';
4
4
  import { ErrorCode } from '@pikku/inspector';
5
- export async function generateSchemas(logger, tsconfig, typesMap, functionMeta, httpWiringsMeta, additionalTypes, additionalProperties = false) {
5
+ import { tsImport } from 'tsx/esm/api';
6
+ import * as z from 'zod';
7
+ import { zodToTs, createAuxiliaryTypeStore } from 'zod-to-ts';
8
+ import { createPrinter, createSourceFile, EmitHint, ScriptKind, ScriptTarget, } from 'typescript';
9
+ /**
10
+ * Convert a name to a valid JavaScript identifier.
11
+ * Replaces hyphens and other invalid characters with underscores.
12
+ */
13
+ function toValidIdentifier(name) {
14
+ let result = name.replace(/[-./]/g, '_');
15
+ if (/^\d/.test(result)) {
16
+ result = '_' + result;
17
+ }
18
+ return result;
19
+ }
20
+ const PRIMITIVE_TYPES = new Set([
21
+ 'boolean',
22
+ 'string',
23
+ 'number',
24
+ 'null',
25
+ 'undefined',
26
+ 'void',
27
+ 'any',
28
+ 'unknown',
29
+ 'never',
30
+ ]);
31
+ /** Map TypeScript type strings to JSON Schema. Returns null if no schema should be generated. */
32
+ function primitiveTypeToSchema(typeStr) {
33
+ const normalized = typeStr.trim();
34
+ // void/undefined/never mean no data - don't generate a schema
35
+ if (normalized === 'void' ||
36
+ normalized === 'undefined' ||
37
+ normalized === 'never') {
38
+ return null;
39
+ }
40
+ // Handle boolean literals
41
+ if (normalized === 'boolean' ||
42
+ normalized === 'false | true' ||
43
+ normalized === 'true | false') {
44
+ return { type: 'boolean' };
45
+ }
46
+ if (normalized === 'true') {
47
+ return { const: true };
48
+ }
49
+ if (normalized === 'false') {
50
+ return { const: false };
51
+ }
52
+ // Handle string
53
+ if (normalized === 'string') {
54
+ return { type: 'string' };
55
+ }
56
+ // Handle number
57
+ if (normalized === 'number') {
58
+ return { type: 'number' };
59
+ }
60
+ // Handle null
61
+ if (normalized === 'null') {
62
+ return { type: 'null' };
63
+ }
64
+ return null;
65
+ }
66
+ export async function generateSchemas(logger, tsconfig, typesMap, functionMeta, httpWiringsMeta, additionalTypes, additionalProperties = false, zodLookup) {
6
67
  const schemasSet = new Set(typesMap.customTypes.keys());
7
68
  for (const { inputs, outputs } of Object.values(functionMeta)) {
8
69
  const types = [...(inputs || []), ...(outputs || [])];
@@ -31,7 +92,6 @@ export async function generateSchemas(logger, tsconfig, typesMap, functionMeta,
31
92
  }
32
93
  }
33
94
  }
34
- // Add additional types from schemasFromTypes config
35
95
  if (additionalTypes) {
36
96
  for (const type of additionalTypes) {
37
97
  schemasSet.add(type);
@@ -51,21 +111,70 @@ export async function generateSchemas(logger, tsconfig, typesMap, functionMeta,
51
111
  });
52
112
  const schemas = {};
53
113
  schemasSet.forEach((schema) => {
114
+ if (PRIMITIVE_TYPES.has(schema)) {
115
+ return;
116
+ }
117
+ if (zodLookup?.has(schema)) {
118
+ return;
119
+ }
54
120
  try {
55
121
  schemas[schema] = generator.createSchema(schema);
56
122
  }
57
123
  catch (e) {
58
- // Ignore rootless errors
59
124
  if (e instanceof RootlessError) {
60
- logger.error(`[${ErrorCode.SCHEMA_NO_ROOT}] Error generating schema since it has no root: ${schema}`);
125
+ const customType = typesMap.customTypes.get(schema);
126
+ if (customType) {
127
+ const primitiveSchema = primitiveTypeToSchema(customType.type);
128
+ if (primitiveSchema) {
129
+ schemas[schema] = primitiveSchema;
130
+ }
131
+ }
61
132
  return;
62
133
  }
63
- logger.error(`[${ErrorCode.SCHEMA_GENERATION_ERROR}] Error generating schema: ${schema}. Message: ${e.message}`);
134
+ const customType = typesMap.customTypes.get(schema);
135
+ logger.error(`[${ErrorCode.SCHEMA_GENERATION_ERROR}] Error generating schema: ${schema}. Message: ${e.message}. Type info: ${customType ? `type=${customType.type}` : 'not in typesMap'}`);
64
136
  }
65
137
  });
66
138
  return schemas;
67
139
  }
68
- export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, functionsMeta, supportsImportAttributes, additionalTypes) {
140
+ export async function generateZodSchemas(logger, zodLookup, typesMap) {
141
+ const schemas = {};
142
+ const auxiliaryTypeStore = createAuxiliaryTypeStore();
143
+ const printer = createPrinter();
144
+ const fakeSourceFile = createSourceFile('zod-types.ts', '', ScriptTarget.ESNext, false, ScriptKind.TS);
145
+ for (const [schemaName, ref] of zodLookup.entries()) {
146
+ try {
147
+ const module = await tsImport(ref.sourceFile, import.meta.url);
148
+ const zodSchema = module[ref.variableName];
149
+ if (!zodSchema) {
150
+ logger.warn(`Could not find exported schema '${ref.variableName}' in ${ref.sourceFile} for ${schemaName}. Available exports: ${Object.keys(module).join(', ')}`);
151
+ continue;
152
+ }
153
+ const schema = z.toJSONSchema(zodSchema);
154
+ // Remove fields with defaults from the required array
155
+ // Fields with defaults are semantically optional in input validation
156
+ if (schema.required && schema.properties) {
157
+ schema.required = schema.required.filter((fieldName) => {
158
+ const prop = schema.properties[fieldName];
159
+ return prop && prop.default === undefined;
160
+ });
161
+ if (schema.required.length === 0) {
162
+ delete schema.required;
163
+ }
164
+ }
165
+ schemas[schemaName] = schema;
166
+ const { node: tsType } = zodToTs(zodSchema, { auxiliaryTypeStore });
167
+ const typeText = printer.printNode(EmitHint.Unspecified, tsType, fakeSourceFile);
168
+ typesMap.addCustomType(schemaName, typeText, []);
169
+ logger.info(`• Generated schema from Zod: ${schemaName}`);
170
+ }
171
+ catch (e) {
172
+ logger.warn(`Could not convert Zod schema '${schemaName}': ${e instanceof Error ? e.message : e}`);
173
+ }
174
+ }
175
+ return schemas;
176
+ }
177
+ export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, functionsMeta, supportsImportAttributes, additionalTypes, zodLookup, packageName) {
69
178
  await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, 'export const empty = null;');
70
179
  const desiredSchemas = new Set([
71
180
  ...Object.values(functionsMeta)
@@ -76,7 +185,8 @@ export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, fu
76
185
  types.push(typesMap.getUniqueName(inputs[0]));
77
186
  }
78
187
  catch {
79
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
188
+ // Skip types not in typesMap - might be a zod schema name
189
+ types.push(inputs[0]);
80
190
  }
81
191
  }
82
192
  if (outputs?.[0]) {
@@ -84,16 +194,17 @@ export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, fu
84
194
  types.push(typesMap.getUniqueName(outputs[0]));
85
195
  }
86
196
  catch {
87
- // Skip types not in typesMap (e.g., inline types in generated workflow workers)
197
+ // Skip types not in typesMap - might be a zod schema name
198
+ types.push(outputs[0]);
88
199
  }
89
200
  }
90
201
  return types;
91
202
  })
92
203
  .flat()
93
- .filter((s) => !!s &&
94
- !['boolean', 'string', 'number', 'null', 'undefined'].includes(s)),
204
+ .filter((s) => !!s && !PRIMITIVE_TYPES.has(s)),
95
205
  ...typesMap.customTypes.keys(),
96
206
  ...(additionalTypes || []),
207
+ ...(zodLookup ? Array.from(zodLookup.keys()) : []),
97
208
  ]);
98
209
  if (desiredSchemas.size === 0) {
99
210
  logger.info(`• Skipping schemas since none found.\x1b[0m`);
@@ -107,12 +218,21 @@ export async function saveSchemas(logger, schemaParentDir, schemas, typesMap, fu
107
218
  }));
108
219
  // Only include schemas that were successfully generated
109
220
  const availableSchemas = Array.from(desiredSchemas).filter((schema) => schemas[schema]);
221
+ // Generate the packageName argument for addSchema calls
222
+ const packageNameArg = packageName ? `, '${packageName}'` : '';
110
223
  const schemaImports = availableSchemas
111
- .map((schema) => `
112
- import * as ${schema} from './schemas/${schema}.schema.json' ${supportsImportAttributes ? `with { type: 'json' }` : ''}
113
- addSchema('${schema}', ${schema})
114
- `)
224
+ .map((schema) => {
225
+ const identifier = toValidIdentifier(schema);
226
+ return `
227
+ import * as ${identifier} from './schemas/${schema}.schema.json' ${supportsImportAttributes ? `with { type: 'json' }` : ''}
228
+ addSchema('${schema}', ${identifier}${packageNameArg})
229
+ `;
230
+ })
115
231
  .join('\n');
116
- await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, `import { addSchema } from '@pikku/core/schema'
232
+ // Only import addSchema if there are schemas to register
233
+ const importStatement = availableSchemas.length > 0
234
+ ? `import { addSchema } from '@pikku/core/schema'`
235
+ : '// No schemas to register';
236
+ await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, `${importStatement}
117
237
  ${schemaImports}`, { logWrite: true });
118
238
  }
@@ -0,0 +1,43 @@
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
+ * Strip verbose fields from a meta object.
21
+ *
22
+ * Handles different meta structure patterns:
23
+ * 1. Single workflow graph: { name, pikkuFuncName, nodes: {...}, description, tags }
24
+ * -> Strips description, tags at root; strips stepName from each node
25
+ * 2. Record of meta entries: { "entryName": { pikkuFuncName, description, tags, ... } }
26
+ * -> Strips description, tags from each entry (one level deep only)
27
+ * 3. CLI meta and others with complex nesting: preserved as-is except for pikkuFuncName entries
28
+ */
29
+ export declare function stripVerboseFields<T>(obj: T): T;
30
+ /**
31
+ * Check if an object has any verbose fields that would be stripped
32
+ */
33
+ export declare function hasVerboseFields(obj: unknown): boolean;
34
+ /**
35
+ * Write both minimal and verbose meta files
36
+ * Only writes verbose file if it differs from minimal
37
+ *
38
+ * @returns Object with paths that were written
39
+ */
40
+ export declare function writeMetaFiles(writeFile: (path: string, content: string) => Promise<void>, basePath: string, meta: unknown): Promise<{
41
+ minimal: string;
42
+ verbose?: string;
43
+ }>;
@@ -0,0 +1,210 @@
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
+ const VERBOSE_FIELDS = new Set([
20
+ 'tags',
21
+ 'description',
22
+ 'summary',
23
+ 'errors',
24
+ 'title',
25
+ 'displayName',
26
+ // Note: middleware and permissions are NOT verbose - they're needed at runtime
27
+ // for resolving tag middleware and permissions in function-runner.ts
28
+ 'usedWires',
29
+ 'isDirectFunction',
30
+ 'services',
31
+ ]);
32
+ /**
33
+ * Fields that are verbose only at the node level (workflow nodes)
34
+ */
35
+ const NODE_VERBOSE_FIELDS = new Set(['stepName']);
36
+ /**
37
+ * Strip verbose fields from an object (shallow - only direct properties)
38
+ */
39
+ function stripVerboseShallow(obj, additionalFields) {
40
+ if (obj === null ||
41
+ obj === undefined ||
42
+ typeof obj !== 'object' ||
43
+ Array.isArray(obj)) {
44
+ return obj;
45
+ }
46
+ const result = {};
47
+ const fieldsToStrip = additionalFields
48
+ ? new Set([...VERBOSE_FIELDS, ...additionalFields])
49
+ : VERBOSE_FIELDS;
50
+ for (const [key, value] of Object.entries(obj)) {
51
+ if (fieldsToStrip.has(key)) {
52
+ continue;
53
+ }
54
+ result[key] = value;
55
+ }
56
+ return result;
57
+ }
58
+ /**
59
+ * Check if an object has any verbose fields (shallow check)
60
+ */
61
+ function hasVerboseShallow(obj, additionalFields) {
62
+ if (obj === null ||
63
+ obj === undefined ||
64
+ typeof obj !== 'object' ||
65
+ Array.isArray(obj)) {
66
+ return false;
67
+ }
68
+ const fieldsToCheck = additionalFields
69
+ ? new Set([...VERBOSE_FIELDS, ...additionalFields])
70
+ : VERBOSE_FIELDS;
71
+ for (const [key, value] of Object.entries(obj)) {
72
+ if (fieldsToCheck.has(key) && value !== undefined) {
73
+ return true;
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+ /**
79
+ * Strip verbose fields from a meta object.
80
+ *
81
+ * Handles different meta structure patterns:
82
+ * 1. Single workflow graph: { name, pikkuFuncName, nodes: {...}, description, tags }
83
+ * -> Strips description, tags at root; strips stepName from each node
84
+ * 2. Record of meta entries: { "entryName": { pikkuFuncName, description, tags, ... } }
85
+ * -> Strips description, tags from each entry (one level deep only)
86
+ * 3. CLI meta and others with complex nesting: preserved as-is except for pikkuFuncName entries
87
+ */
88
+ export function stripVerboseFields(obj) {
89
+ if (obj === null || obj === undefined || typeof obj !== 'object') {
90
+ return obj;
91
+ }
92
+ if (Array.isArray(obj)) {
93
+ // Array of entries - strip from each
94
+ return obj.map((item) => {
95
+ if (typeof item === 'object' &&
96
+ item !== null &&
97
+ 'pikkuFuncName' in item) {
98
+ return stripVerboseShallow(item);
99
+ }
100
+ return item;
101
+ });
102
+ }
103
+ const objRecord = obj;
104
+ // Case 1: Single workflow graph (has 'nodes' and 'pikkuFuncName' at root)
105
+ if ('nodes' in objRecord && 'pikkuFuncName' in objRecord) {
106
+ const result = {};
107
+ for (const [key, value] of Object.entries(objRecord)) {
108
+ if (VERBOSE_FIELDS.has(key)) {
109
+ continue;
110
+ }
111
+ if (key === 'nodes' && typeof value === 'object' && value !== null) {
112
+ // Strip stepName from each node
113
+ const nodes = {};
114
+ for (const [nodeId, node] of Object.entries(value)) {
115
+ nodes[nodeId] = stripVerboseShallow(node, NODE_VERBOSE_FIELDS);
116
+ }
117
+ result[key] = nodes;
118
+ }
119
+ else {
120
+ result[key] = value;
121
+ }
122
+ }
123
+ return result;
124
+ }
125
+ // Case 2: Record of meta entries (each entry has pikkuFuncName)
126
+ // Only strip at exactly one level deep - the immediate children
127
+ const result = {};
128
+ for (const [key, value] of Object.entries(objRecord)) {
129
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
130
+ const valueObj = value;
131
+ // Only strip from entries that look like meta entries (have pikkuFuncName)
132
+ if ('pikkuFuncName' in valueObj) {
133
+ result[key] = stripVerboseShallow(value);
134
+ }
135
+ else {
136
+ // Keep nested structures as-is (e.g., CLI programs, options)
137
+ result[key] = value;
138
+ }
139
+ }
140
+ else {
141
+ result[key] = value;
142
+ }
143
+ }
144
+ return result;
145
+ }
146
+ /**
147
+ * Check if an object has any verbose fields that would be stripped
148
+ */
149
+ export function hasVerboseFields(obj) {
150
+ if (obj === null || obj === undefined || typeof obj !== 'object') {
151
+ return false;
152
+ }
153
+ if (Array.isArray(obj)) {
154
+ return obj.some((item) => {
155
+ if (typeof item === 'object' &&
156
+ item !== null &&
157
+ 'pikkuFuncName' in item) {
158
+ return hasVerboseShallow(item);
159
+ }
160
+ return false;
161
+ });
162
+ }
163
+ const objRecord = obj;
164
+ // Case 1: Single workflow graph
165
+ if ('nodes' in objRecord && 'pikkuFuncName' in objRecord) {
166
+ // Check root level
167
+ if (hasVerboseShallow(objRecord)) {
168
+ return true;
169
+ }
170
+ // Check nodes for stepName
171
+ const nodes = objRecord.nodes;
172
+ if (typeof nodes === 'object' && nodes !== null) {
173
+ for (const node of Object.values(nodes)) {
174
+ if (hasVerboseShallow(node, NODE_VERBOSE_FIELDS)) {
175
+ return true;
176
+ }
177
+ }
178
+ }
179
+ return false;
180
+ }
181
+ // Case 2: Record of meta entries
182
+ for (const value of Object.values(objRecord)) {
183
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
184
+ const valueObj = value;
185
+ if ('pikkuFuncName' in valueObj && hasVerboseShallow(value)) {
186
+ return true;
187
+ }
188
+ }
189
+ }
190
+ return false;
191
+ }
192
+ /**
193
+ * Write both minimal and verbose meta files
194
+ * Only writes verbose file if it differs from minimal
195
+ *
196
+ * @returns Object with paths that were written
197
+ */
198
+ export async function writeMetaFiles(writeFile, basePath, meta) {
199
+ const minimalMeta = stripVerboseFields(meta);
200
+ const minimalPath = basePath.replace(/\.gen\.json$/, '.gen.json');
201
+ const verbosePath = basePath.replace(/\.gen\.json$/, '-verbose.gen.json');
202
+ // Always write minimal
203
+ await writeFile(minimalPath, JSON.stringify(minimalMeta, null, 2));
204
+ // Only write verbose if it has additional fields
205
+ if (hasVerboseFields(meta)) {
206
+ await writeFile(verbosePath, JSON.stringify(meta, null, 2));
207
+ return { minimal: minimalPath, verbose: verbosePath };
208
+ }
209
+ return { minimal: minimalPath };
210
+ }
@@ -1 +1 @@
1
- {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/functions/commands/all.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/watch.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/pikku-command-websocket-typed.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/channels/serialize-websocket-wrapper.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/fetch/index.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-function-types.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/pikku-function-types.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-pikku-types-hub.ts","../src/functions/wirings/http/openapi-spec-generator.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-json.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-groups-meta.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/services/pikku-command-service-metadata.ts","../src/functions/wirings/workflow/pikku-command-workflow-map.ts","../src/functions/wirings/workflow/pikku-command-workflow-types.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/wirings/workflow/serialize-workflow-wirings.ts","../src/functions/wirings/workflow/serialize-workflow-workers.ts","../src/middleware/log-command-info-and-time.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/check-required-types.ts","../src/utils/command-summary.ts","../src/utils/custom-types-generator.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/schema-generator.ts","../src/utils/serialize-import-map.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/pikku-websocket.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/channel/pikku-channels-map.gen.d.ts","../.pikku/channel/pikku-channels-meta.gen.ts","../.pikku/channel/pikku-channels.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions-meta.min.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/mcp/pikku-mcp-wirings-meta.gen.ts","../.pikku/mcp/pikku-mcp-wirings.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-remote-rpc-workers.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/config.d.ts"],"version":"5.9.3"}
1
+ {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/functions/commands/all.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/watch.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/pikku-command-websocket-typed.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/channels/serialize-websocket-wrapper.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/fetch/index.ts","../src/functions/wirings/forge/pikku-command-forge-nodes.ts","../src/functions/wirings/forge/pikku-command-forge-types.ts","../src/functions/wirings/forge/serialize-forge-types.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-function-types.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/pikku-function-types.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-pikku-types-hub.ts","../src/functions/wirings/http/openapi-spec-generator.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-json.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-groups-meta.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/services/pikku-command-service-metadata.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/wirings/workflow/serialize-workflow-workers.ts","../src/middleware/log-command-info-and-time.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/check-required-types.ts","../src/utils/command-summary.ts","../src/utils/custom-types-generator.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/schema-generator.ts","../src/utils/serialize-import-map.ts","../src/utils/strip-verbose-meta.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/pikku-types.gen.ts","../.pikku/pikku-websocket.gen.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/channel/pikku-channels-map.gen.d.ts","../.pikku/channel/pikku-channels-meta.gen.ts","../.pikku/channel/pikku-channels.gen.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/forge/pikku-forge-types.gen.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/http/pikku-http-wirings-map.gen.d.ts","../.pikku/http/pikku-http-wirings-meta.gen.ts","../.pikku/http/pikku-http-wirings.gen.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/mcp/pikku-mcp-wirings-meta.gen.ts","../.pikku/mcp/pikku-mcp-wirings.gen.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-remote-rpc-workers.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts","../.pikku/scheduler/pikku-schedulers-wirings.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/config.d.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/cli",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "author": "yasser.fadl@gmail.com",
5
5
  "license": "BUSL-1.1",
6
6
  "bin": {
@@ -21,8 +21,8 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.0",
24
- "@pikku/core": "^0.11.1",
25
- "@pikku/inspector": "^0.11.1",
24
+ "@pikku/core": "^0.11.2",
25
+ "@pikku/inspector": "^0.11.2",
26
26
  "@types/cookie": "^1.0.0",
27
27
  "@types/json-schema": "^7.0.15",
28
28
  "chalk": "^5.6.2",
@@ -32,8 +32,11 @@
32
32
  "path-to-regexp": "^8.3.0",
33
33
  "tinyglobby": "^0.2.12",
34
34
  "ts-json-schema-generator": "^2.4.0",
35
+ "tsx": "^4.19.0",
35
36
  "typescript": "^5.9",
36
- "yaml": "^2.8.1"
37
+ "yaml": "^2.8.1",
38
+ "zod": "^4.0.0",
39
+ "zod-to-ts": "^2.0.0"
37
40
  },
38
41
  "devDependencies": {
39
42
  "@types/node": "^24.10.1"