@pikku/cli 0.9.14 → 0.9.16-next.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 (445) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +92 -0
  2. package/.pikku/cli/pikku-cli-types.gen.ts +71 -0
  3. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +5 -0
  4. package/.pikku/cli/pikku-cli-wirings.gen.ts +4 -0
  5. package/.pikku/function/pikku-function-types.gen.ts +292 -0
  6. package/.pikku/function/pikku-functions-meta.gen.ts +817 -0
  7. package/.pikku/function/pikku-functions-meta.min.gen.ts +176 -0
  8. package/.pikku/function/pikku-functions.gen.ts +74 -0
  9. package/.pikku/http/pikku-http-types.gen.ts +61 -0
  10. package/.pikku/mcp/pikku-mcp-types.gen.ts +138 -0
  11. package/.pikku/pikku-bootstrap.gen.ts +9 -0
  12. package/.pikku/pikku-services.gen.ts +24 -0
  13. package/.pikku/pikku-types.gen.ts +28 -0
  14. package/.pikku/queue/pikku-queue-types.gen.ts +28 -0
  15. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +46 -0
  16. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +80 -0
  17. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +40 -0
  18. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +26 -0
  19. package/.pikku/schemas/register.gen.ts +47 -0
  20. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -0
  21. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -0
  22. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -0
  23. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -0
  24. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -0
  25. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -0
  26. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -0
  27. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -0
  28. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -0
  29. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -0
  30. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -0
  31. package/CHANGELOG.md +15 -0
  32. package/bin/pikku.ts +45 -14
  33. package/build.sh +53 -0
  34. package/cli.schema.json +1 -382
  35. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +65 -0
  36. package/dist/.pikku/channel/pikku-channel-types.gen.js +54 -0
  37. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +55 -0
  38. package/dist/.pikku/cli/pikku-cli-types.gen.js +30 -0
  39. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +5 -0
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +4 -0
  41. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +5 -0
  42. package/dist/.pikku/function/pikku-function-types.gen.d.ts +259 -0
  43. package/dist/.pikku/function/pikku-function-types.gen.js +175 -0
  44. package/dist/.pikku/function/pikku-functions-meta.gen.d.ts +1 -0
  45. package/dist/.pikku/function/pikku-functions-meta.gen.js +817 -0
  46. package/dist/.pikku/function/pikku-functions-meta.min.gen.d.ts +1 -0
  47. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +176 -0
  48. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  49. package/dist/.pikku/function/pikku-functions.gen.js +73 -0
  50. package/dist/.pikku/http/pikku-http-types.gen.d.ts +49 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.js +41 -0
  52. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +88 -0
  53. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +71 -0
  54. package/dist/.pikku/pikku-bootstrap.gen.d.ts +9 -0
  55. package/dist/.pikku/pikku-bootstrap.gen.js +9 -0
  56. package/dist/.pikku/pikku-services.gen.d.ts +16 -0
  57. package/dist/.pikku/pikku-services.gen.js +11 -0
  58. package/dist/.pikku/pikku-types.gen.d.ts +14 -0
  59. package/dist/.pikku/pikku-types.gen.js +21 -0
  60. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +24 -0
  61. package/dist/.pikku/queue/pikku-queue-types.gen.js +17 -0
  62. package/dist/.pikku/rpc/pikku-bootstrap-rpc.gen.d.ts +6 -0
  63. package/dist/.pikku/rpc/pikku-bootstrap-rpc.gen.js +6 -0
  64. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  65. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +40 -0
  66. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +22 -0
  67. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +17 -0
  68. package/dist/.pikku/schemas/register.gen.d.ts +1 -0
  69. package/dist/.pikku/schemas/register.gen.js +26 -0
  70. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -0
  71. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -0
  72. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -0
  73. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -0
  74. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -0
  75. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -0
  76. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -0
  77. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -0
  78. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -0
  79. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -0
  80. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -0
  81. package/dist/bin/pikku.d.ts +1 -1
  82. package/dist/bin/pikku.js +32 -14
  83. package/dist/src/cli.wiring.d.ts +1 -0
  84. package/dist/src/cli.wiring.js +75 -0
  85. package/dist/src/functions/commands/all.d.ts +1 -0
  86. package/dist/src/functions/commands/all.js +104 -0
  87. package/dist/src/functions/commands/watch.d.ts +1 -0
  88. package/dist/src/functions/commands/watch.js +47 -0
  89. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -0
  90. package/dist/src/{runtimes → functions/runtimes}/nextjs/pikku-command-nextjs.js +28 -9
  91. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -0
  92. package/dist/src/functions/wirings/channels/pikku-channels.js +24 -0
  93. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -0
  94. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +21 -0
  95. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -0
  96. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +23 -0
  97. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -0
  98. package/dist/src/functions/wirings/channels/pikku-command-channels.js +25 -0
  99. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +1 -0
  100. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.js +24 -0
  101. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +4 -0
  102. package/dist/src/functions/wirings/channels/serialize-channel-types.js +95 -0
  103. package/dist/src/{wirings → functions/wirings}/channels/serialize-typed-channel-map.js +2 -2
  104. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -0
  105. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +100 -0
  106. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -0
  107. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +33 -0
  108. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -0
  109. package/dist/src/functions/wirings/cli/pikku-command-cli.js +24 -0
  110. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +7 -0
  111. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +54 -0
  112. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +9 -0
  113. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +84 -0
  114. package/dist/src/functions/wirings/cli/serialize-cli-types.d.ts +4 -0
  115. package/dist/src/functions/wirings/cli/serialize-cli-types.js +74 -0
  116. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +14 -0
  117. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +46 -0
  118. package/dist/src/functions/wirings/fetch/index.d.ts +1 -0
  119. package/dist/src/functions/wirings/fetch/index.js +24 -0
  120. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -0
  121. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +32 -0
  122. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -0
  123. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +20 -0
  124. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -0
  125. package/dist/src/functions/wirings/functions/pikku-command-functions.js +28 -0
  126. package/dist/src/{wirings → functions/wirings}/functions/pikku-command-services.d.ts +1 -2
  127. package/dist/src/{wirings → functions/wirings}/functions/pikku-command-services.js +27 -10
  128. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +1 -0
  129. package/dist/src/functions/wirings/functions/pikku-function-types.js +20 -0
  130. package/dist/src/functions/wirings/functions/schemas.d.ts +4 -0
  131. package/dist/src/functions/wirings/functions/schemas.js +22 -0
  132. package/dist/src/{wirings → functions/wirings}/functions/serialize-function-imports.js +4 -21
  133. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +4 -0
  134. package/dist/src/functions/wirings/functions/serialize-function-types.js +295 -0
  135. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +4 -0
  136. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +31 -0
  137. package/dist/src/{wirings → functions/wirings}/http/openapi-spec-generator.d.ts +2 -1
  138. package/dist/src/{wirings → functions/wirings}/http/openapi-spec-generator.js +2 -2
  139. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -0
  140. package/dist/src/functions/wirings/http/pikku-command-http-map.js +23 -0
  141. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -0
  142. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +25 -0
  143. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -0
  144. package/dist/src/functions/wirings/http/pikku-command-http-types.js +21 -0
  145. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -0
  146. package/dist/src/functions/wirings/http/pikku-command-openapi.js +34 -0
  147. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -0
  148. package/dist/src/functions/wirings/http/pikku-http-routes.js +25 -0
  149. package/dist/src/functions/wirings/http/serialize-http-types.d.ts +4 -0
  150. package/dist/src/functions/wirings/http/serialize-http-types.js +64 -0
  151. package/dist/src/{wirings → functions/wirings}/http/serialize-typed-http-map.js +2 -2
  152. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -0
  153. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +28 -0
  154. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -0
  155. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +21 -0
  156. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -0
  157. package/dist/src/{wirings → functions/wirings}/mcp/pikku-command-mcp.js +22 -5
  158. package/dist/src/{wirings → functions/wirings}/mcp/serialize-mcp-json.d.ts +1 -1
  159. package/dist/src/functions/wirings/mcp/serialize-mcp-types.d.ts +4 -0
  160. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +141 -0
  161. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -0
  162. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +38 -0
  163. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +8 -0
  164. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +50 -0
  165. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.d.ts +2 -0
  166. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +43 -0
  167. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -0
  168. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +23 -0
  169. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -0
  170. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +24 -0
  171. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -0
  172. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +21 -0
  173. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -0
  174. package/dist/src/functions/wirings/queue/pikku-command-queue.js +26 -0
  175. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -0
  176. package/dist/src/functions/wirings/queue/pikku-queue-map.js +23 -0
  177. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -0
  178. package/dist/src/functions/wirings/queue/pikku-queue.js +25 -0
  179. package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-map.js +2 -2
  180. package/dist/src/functions/wirings/queue/serialize-queue-types.d.ts +4 -0
  181. package/dist/src/functions/wirings/queue/serialize-queue-types.js +31 -0
  182. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -0
  183. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +25 -0
  184. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -0
  185. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +36 -0
  186. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -0
  187. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +22 -0
  188. package/dist/src/{wirings → functions/wirings}/rpc/serialize-typed-rpc-map.js +2 -2
  189. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -0
  190. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +21 -0
  191. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -0
  192. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +26 -0
  193. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.d.ts +4 -0
  194. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +29 -0
  195. package/dist/src/middleware/log-command-info-and-time.d.ts +19 -0
  196. package/dist/src/middleware/log-command-info-and-time.js +27 -0
  197. package/dist/src/serialize-pikku-types.js +2 -2
  198. package/dist/src/services/cli-logger-forwarder.service.d.ts +26 -0
  199. package/dist/src/services/cli-logger-forwarder.service.js +55 -0
  200. package/dist/src/services/cli-logger.service.d.ts +19 -0
  201. package/dist/src/services/cli-logger.service.js +66 -0
  202. package/dist/src/services.d.ts +15 -0
  203. package/dist/src/services.js +64 -0
  204. package/dist/src/utils/check-required-types.d.ts +10 -0
  205. package/dist/src/utils/check-required-types.js +31 -0
  206. package/dist/src/utils/custom-types-generator.d.ts +2 -0
  207. package/dist/src/utils/custom-types-generator.js +37 -0
  208. package/dist/src/utils/file-import-path.d.ts +1 -0
  209. package/dist/src/utils/file-import-path.js +43 -0
  210. package/dist/src/utils/file-imports-serializer.d.ts +1 -0
  211. package/dist/src/utils/file-imports-serializer.js +13 -0
  212. package/dist/src/utils/file-writer.d.ts +6 -0
  213. package/dist/src/utils/file-writer.js +40 -0
  214. package/dist/src/utils/generate-bootstrap-file.d.ts +3 -0
  215. package/dist/src/utils/generate-bootstrap-file.js +21 -0
  216. package/dist/src/utils/pikku-cli-config.d.ts +5 -0
  217. package/dist/src/utils/pikku-cli-config.js +243 -0
  218. package/dist/src/utils/pikku-files-and-methods.d.ts +21 -0
  219. package/dist/src/utils/pikku-files-and-methods.js +70 -0
  220. package/dist/src/{schema-generator.d.ts → utils/schema-generator.d.ts} +1 -1
  221. package/dist/src/{schema-generator.js → utils/schema-generator.js} +1 -1
  222. package/dist/src/{serialize-import-map.js → utils/serialize-import-map.js} +1 -1
  223. package/dist/tsconfig.tsbuildinfo +1 -1
  224. package/package.json +6 -6
  225. package/pikku.config.json +24 -0
  226. package/src/cli.wiring.ts +75 -0
  227. package/src/functions/commands/all.ts +141 -0
  228. package/src/functions/commands/watch.ts +58 -0
  229. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +111 -0
  230. package/src/functions/wirings/channels/pikku-channels.ts +40 -0
  231. package/src/functions/wirings/channels/pikku-command-channel-types.ts +27 -0
  232. package/src/functions/wirings/channels/pikku-command-channels-map.ts +31 -0
  233. package/src/functions/wirings/channels/pikku-command-channels.ts +45 -0
  234. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +33 -0
  235. package/src/functions/wirings/channels/serialize-channel-types.ts +95 -0
  236. package/src/{wirings → functions/wirings}/channels/serialize-typed-channel-map.ts +2 -2
  237. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +173 -0
  238. package/src/functions/wirings/cli/pikku-command-cli-types.ts +50 -0
  239. package/src/functions/wirings/cli/pikku-command-cli.ts +41 -0
  240. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +72 -0
  241. package/src/functions/wirings/cli/serialize-channel-cli.ts +123 -0
  242. package/src/functions/wirings/cli/serialize-cli-types.ts +80 -0
  243. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +75 -0
  244. package/src/functions/wirings/fetch/index.ts +32 -0
  245. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +51 -0
  246. package/src/functions/wirings/functions/pikku-command-function-types.ts +45 -0
  247. package/src/functions/wirings/functions/pikku-command-functions.ts +61 -0
  248. package/src/{wirings → functions/wirings}/functions/pikku-command-services.ts +41 -44
  249. package/src/functions/wirings/functions/pikku-function-types.ts +45 -0
  250. package/src/functions/wirings/functions/schemas.ts +47 -0
  251. package/src/{wirings → functions/wirings}/functions/serialize-function-imports.ts +4 -30
  252. package/src/functions/wirings/functions/serialize-function-types.ts +303 -0
  253. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +39 -0
  254. package/src/{wirings → functions/wirings}/http/openapi-spec-generator.ts +3 -1
  255. package/src/functions/wirings/http/pikku-command-http-map.ts +32 -0
  256. package/src/functions/wirings/http/pikku-command-http-routes.ts +41 -0
  257. package/src/functions/wirings/http/pikku-command-http-types.ts +27 -0
  258. package/src/functions/wirings/http/pikku-command-openapi.ts +57 -0
  259. package/src/functions/wirings/http/pikku-http-routes.ts +40 -0
  260. package/src/functions/wirings/http/serialize-http-types.ts +64 -0
  261. package/src/{wirings → functions/wirings}/http/serialize-typed-http-map.ts +2 -2
  262. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +38 -0
  263. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +27 -0
  264. package/src/{wirings → functions/wirings}/mcp/pikku-command-mcp.ts +55 -46
  265. package/src/{wirings → functions/wirings}/mcp/serialize-mcp-json.ts +1 -1
  266. package/src/functions/wirings/mcp/serialize-mcp-types.ts +141 -0
  267. package/src/functions/wirings/middleware/pikku-command-middleware.ts +65 -0
  268. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +61 -0
  269. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +78 -0
  270. package/src/functions/wirings/queue/pikku-command-queue-map.ts +31 -0
  271. package/src/functions/wirings/queue/pikku-command-queue-service.ts +33 -0
  272. package/src/functions/wirings/queue/pikku-command-queue-types.ts +27 -0
  273. package/src/functions/wirings/queue/pikku-command-queue.ts +46 -0
  274. package/src/functions/wirings/queue/pikku-queue-map.ts +31 -0
  275. package/src/functions/wirings/queue/pikku-queue.ts +44 -0
  276. package/src/{wirings → functions/wirings}/queue/serialize-queue-map.ts +2 -2
  277. package/src/functions/wirings/queue/serialize-queue-types.ts +31 -0
  278. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +32 -0
  279. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +52 -0
  280. package/src/functions/wirings/rpc/pikku-command-rpc.ts +28 -0
  281. package/src/{wirings → functions/wirings}/rpc/serialize-typed-rpc-map.ts +2 -2
  282. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +27 -0
  283. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +46 -0
  284. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +29 -0
  285. package/src/middleware/log-command-info-and-time.ts +61 -0
  286. package/src/serialize-pikku-types.ts +2 -2
  287. package/src/services/cli-logger-forwarder.service.ts +77 -0
  288. package/src/services/cli-logger.service.ts +78 -0
  289. package/src/services.ts +111 -0
  290. package/src/utils/check-required-types.ts +53 -0
  291. package/src/utils/custom-types-generator.ts +49 -0
  292. package/src/{utils.test.ts → utils/file-import-path.test.ts} +1 -1
  293. package/src/utils/file-import-path.ts +53 -0
  294. package/src/utils/file-imports-serializer.ts +25 -0
  295. package/src/utils/file-writer.ts +56 -0
  296. package/src/utils/generate-bootstrap-file.ts +43 -0
  297. package/src/utils/pikku-cli-config.ts +356 -0
  298. package/src/utils/pikku-files-and-methods.ts +148 -0
  299. package/src/{schema-generator.ts → utils/schema-generator.ts} +3 -1
  300. package/src/{serialize-import-map.ts → utils/serialize-import-map.ts} +1 -1
  301. package/tsconfig.json +2 -2
  302. package/types/application-types.d.ts +20 -0
  303. package/types/config.d.ts +192 -0
  304. package/bin/pikku-all.ts +0 -349
  305. package/bin/pikku-fetch.ts +0 -27
  306. package/bin/pikku-nextjs.ts +0 -44
  307. package/bin/pikku-openapi.ts +0 -31
  308. package/bin/pikku-queue-service.ts +0 -28
  309. package/bin/pikku-rpc.ts +0 -28
  310. package/bin/pikku-schemas.ts +0 -31
  311. package/bin/pikku-websocket.ts +0 -28
  312. package/dist/bin/pikku-all.d.ts +0 -4
  313. package/dist/bin/pikku-all.js +0 -194
  314. package/dist/bin/pikku-fetch.d.ts +0 -4
  315. package/dist/bin/pikku-fetch.js +0 -19
  316. package/dist/bin/pikku-nextjs.d.ts +0 -4
  317. package/dist/bin/pikku-nextjs.js +0 -24
  318. package/dist/bin/pikku-openapi.d.ts +0 -2
  319. package/dist/bin/pikku-openapi.js +0 -19
  320. package/dist/bin/pikku-queue-service.d.ts +0 -4
  321. package/dist/bin/pikku-queue-service.js +0 -19
  322. package/dist/bin/pikku-rpc.d.ts +0 -4
  323. package/dist/bin/pikku-rpc.js +0 -19
  324. package/dist/bin/pikku-schemas.d.ts +0 -2
  325. package/dist/bin/pikku-schemas.js +0 -21
  326. package/dist/bin/pikku-websocket.d.ts +0 -4
  327. package/dist/bin/pikku-websocket.js +0 -19
  328. package/dist/src/inspector-glob.d.ts +0 -2
  329. package/dist/src/inspector-glob.js +0 -12
  330. package/dist/src/pikku-cli-config.d.ts +0 -56
  331. package/dist/src/pikku-cli-config.js +0 -203
  332. package/dist/src/pikku-command-schemas.d.ts +0 -2
  333. package/dist/src/pikku-command-schemas.js +0 -8
  334. package/dist/src/runtimes/nextjs/pikku-command-nextjs.d.ts +0 -2
  335. package/dist/src/schemas.d.ts +0 -2
  336. package/dist/src/schemas.js +0 -8
  337. package/dist/src/types.d.ts +0 -5
  338. package/dist/src/utils.d.ts +0 -60
  339. package/dist/src/utils.js +0 -248
  340. package/dist/src/wirings/channels/pikku-channels.d.ts +0 -2
  341. package/dist/src/wirings/channels/pikku-channels.js +0 -9
  342. package/dist/src/wirings/channels/pikku-command-channels-map.d.ts +0 -2
  343. package/dist/src/wirings/channels/pikku-command-channels-map.js +0 -8
  344. package/dist/src/wirings/channels/pikku-command-channels.d.ts +0 -2
  345. package/dist/src/wirings/channels/pikku-command-channels.js +0 -9
  346. package/dist/src/wirings/channels/pikku-command-websocket-typed.d.ts +0 -2
  347. package/dist/src/wirings/channels/pikku-command-websocket-typed.js +0 -15
  348. package/dist/src/wirings/fetch/index.d.ts +0 -2
  349. package/dist/src/wirings/fetch/index.js +0 -12
  350. package/dist/src/wirings/functions/pikku-command-function-types.d.ts +0 -2
  351. package/dist/src/wirings/functions/pikku-command-function-types.js +0 -13
  352. package/dist/src/wirings/functions/pikku-command-functions.d.ts +0 -2
  353. package/dist/src/wirings/functions/pikku-command-functions.js +0 -14
  354. package/dist/src/wirings/functions/pikku-function-types.d.ts +0 -2
  355. package/dist/src/wirings/functions/pikku-function-types.js +0 -13
  356. package/dist/src/wirings/http/pikku-command-http-map.d.ts +0 -2
  357. package/dist/src/wirings/http/pikku-command-http-map.js +0 -8
  358. package/dist/src/wirings/http/pikku-command-http-routes.d.ts +0 -2
  359. package/dist/src/wirings/http/pikku-command-http-routes.js +0 -9
  360. package/dist/src/wirings/http/pikku-command-openapi.d.ts +0 -2
  361. package/dist/src/wirings/http/pikku-command-openapi.js +0 -20
  362. package/dist/src/wirings/http/pikku-http-routes.d.ts +0 -2
  363. package/dist/src/wirings/http/pikku-http-routes.js +0 -9
  364. package/dist/src/wirings/mcp/pikku-command-mcp-json.d.ts +0 -2
  365. package/dist/src/wirings/mcp/pikku-command-mcp-json.js +0 -13
  366. package/dist/src/wirings/mcp/pikku-command-mcp.d.ts +0 -2
  367. package/dist/src/wirings/queue/pikku-command-queue-map.d.ts +0 -2
  368. package/dist/src/wirings/queue/pikku-command-queue-map.js +0 -8
  369. package/dist/src/wirings/queue/pikku-command-queue-service.d.ts +0 -2
  370. package/dist/src/wirings/queue/pikku-command-queue-service.js +0 -15
  371. package/dist/src/wirings/queue/pikku-command-queue.d.ts +0 -2
  372. package/dist/src/wirings/queue/pikku-command-queue.js +0 -10
  373. package/dist/src/wirings/queue/pikku-queue-map.d.ts +0 -2
  374. package/dist/src/wirings/queue/pikku-queue-map.js +0 -8
  375. package/dist/src/wirings/queue/pikku-queue.d.ts +0 -2
  376. package/dist/src/wirings/queue/pikku-queue.js +0 -10
  377. package/dist/src/wirings/rpc/pikku-command-rpc-client.d.ts +0 -2
  378. package/dist/src/wirings/rpc/pikku-command-rpc-client.js +0 -15
  379. package/dist/src/wirings/rpc/pikku-command-rpc-map.d.ts +0 -3
  380. package/dist/src/wirings/rpc/pikku-command-rpc-map.js +0 -14
  381. package/dist/src/wirings/rpc/pikku-command-rpc.d.ts +0 -2
  382. package/dist/src/wirings/rpc/pikku-command-rpc.js +0 -8
  383. package/dist/src/wirings/scheduler/pikku-command-scheduler.d.ts +0 -2
  384. package/dist/src/wirings/scheduler/pikku-command-scheduler.js +0 -10
  385. package/src/inspector-glob.ts +0 -30
  386. package/src/pikku-cli-config.ts +0 -387
  387. package/src/pikku-command-schemas.ts +0 -35
  388. package/src/runtimes/nextjs/pikku-command-nextjs.ts +0 -110
  389. package/src/schemas.ts +0 -35
  390. package/src/types.ts +0 -16
  391. package/src/utils.ts +0 -420
  392. package/src/wirings/channels/pikku-channels.ts +0 -41
  393. package/src/wirings/channels/pikku-command-channels-map.ts +0 -26
  394. package/src/wirings/channels/pikku-command-channels.ts +0 -39
  395. package/src/wirings/channels/pikku-command-websocket-typed.ts +0 -36
  396. package/src/wirings/fetch/index.ts +0 -33
  397. package/src/wirings/functions/pikku-command-function-types.ts +0 -53
  398. package/src/wirings/functions/pikku-command-functions.ts +0 -48
  399. package/src/wirings/functions/pikku-function-types.ts +0 -52
  400. package/src/wirings/http/pikku-command-http-map.ts +0 -27
  401. package/src/wirings/http/pikku-command-http-routes.ts +0 -40
  402. package/src/wirings/http/pikku-command-openapi.ts +0 -55
  403. package/src/wirings/http/pikku-http-routes.ts +0 -40
  404. package/src/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  405. package/src/wirings/queue/pikku-command-queue-map.ts +0 -26
  406. package/src/wirings/queue/pikku-command-queue-service.ts +0 -36
  407. package/src/wirings/queue/pikku-command-queue.ts +0 -45
  408. package/src/wirings/queue/pikku-queue-map.ts +0 -26
  409. package/src/wirings/queue/pikku-queue.ts +0 -43
  410. package/src/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  411. package/src/wirings/rpc/pikku-command-rpc-map.ts +0 -49
  412. package/src/wirings/rpc/pikku-command-rpc.ts +0 -24
  413. package/src/wirings/scheduler/pikku-command-scheduler.ts +0 -43
  414. /package/dist/{src/types.js → .pikku/cli/pikku-cli-wirings-meta.gen.d.ts} +0 -0
  415. /package/dist/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-backend-wrapper.d.ts +0 -0
  416. /package/dist/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-backend-wrapper.js +0 -0
  417. /package/dist/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-http-wrapper.d.ts +0 -0
  418. /package/dist/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-http-wrapper.js +0 -0
  419. /package/dist/src/{wirings → functions/wirings}/channels/serialize-typed-channel-map.d.ts +0 -0
  420. /package/dist/src/{wirings → functions/wirings}/channels/serialize-websocket-wrapper.d.ts +0 -0
  421. /package/dist/src/{wirings → functions/wirings}/channels/serialize-websocket-wrapper.js +0 -0
  422. /package/dist/src/{wirings → functions/wirings}/functions/serialize-function-imports.d.ts +0 -0
  423. /package/dist/src/{wirings → functions/wirings}/http/serialize-fetch-wrapper.d.ts +0 -0
  424. /package/dist/src/{wirings → functions/wirings}/http/serialize-fetch-wrapper.js +0 -0
  425. /package/dist/src/{wirings → functions/wirings}/http/serialize-typed-http-map.d.ts +0 -0
  426. /package/dist/src/{wirings → functions/wirings}/mcp/serialize-mcp-json.js +0 -0
  427. /package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-map.d.ts +0 -0
  428. /package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-meta.d.ts +0 -0
  429. /package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-meta.js +0 -0
  430. /package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-wrapper.d.ts +0 -0
  431. /package/dist/src/{wirings → functions/wirings}/queue/serialize-queue-wrapper.js +0 -0
  432. /package/dist/src/{wirings → functions/wirings}/rpc/serialize-rpc-wrapper.d.ts +0 -0
  433. /package/dist/src/{wirings → functions/wirings}/rpc/serialize-rpc-wrapper.js +0 -0
  434. /package/dist/src/{wirings → functions/wirings}/rpc/serialize-typed-rpc-map.d.ts +0 -0
  435. /package/dist/src/{wirings → functions/wirings}/scheduler/serialize-scheduler-meta.d.ts +0 -0
  436. /package/dist/src/{wirings → functions/wirings}/scheduler/serialize-scheduler-meta.js +0 -0
  437. /package/dist/src/{serialize-import-map.d.ts → utils/serialize-import-map.d.ts} +0 -0
  438. /package/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-backend-wrapper.ts +0 -0
  439. /package/src/{runtimes → functions/runtimes}/nextjs/serialize-nextjs-http-wrapper.ts +0 -0
  440. /package/src/{wirings → functions/wirings}/channels/serialize-websocket-wrapper.ts +0 -0
  441. /package/src/{wirings → functions/wirings}/http/serialize-fetch-wrapper.ts +0 -0
  442. /package/src/{wirings → functions/wirings}/queue/serialize-queue-meta.ts +0 -0
  443. /package/src/{wirings → functions/wirings}/queue/serialize-queue-wrapper.ts +0 -0
  444. /package/src/{wirings → functions/wirings}/rpc/serialize-rpc-wrapper.ts +0 -0
  445. /package/src/{wirings → functions/wirings}/scheduler/serialize-scheduler-meta.ts +0 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This file was generated by the @pikku/cli
3
+ */
4
+ import { pikkuState } from '@pikku/core';
5
+ pikkuState('rpc', 'meta', {
6
+ "all": "all",
7
+ "watch": "watch",
8
+ "pikkuNext": "pikkuNext",
9
+ "pikkuChannels": "pikkuChannels",
10
+ "pikkuChannelTypes": "pikkuChannelTypes",
11
+ "pikkuChannelsMap": "pikkuChannelsMap",
12
+ "pikkuWebSocketTyped": "pikkuWebSocketTyped",
13
+ "pikkuCLIEntry": "pikkuCLIEntry",
14
+ "pikkuCLITypes": "pikkuCLITypes",
15
+ "pikkuCLI": "pikkuCLI",
16
+ "pikkuFetch": "pikkuFetch",
17
+ "pikkuFunctionTypesSplit": "pikkuFunctionTypesSplit",
18
+ "pikkuFunctionTypes": "pikkuFunctionTypes",
19
+ "pikkuFunctions": "pikkuFunctions",
20
+ "pikkuServices": "pikkuServices",
21
+ "pikkuSchemas": "pikkuSchemas",
22
+ "pikkuMCPJSON": "pikkuMCPJSON",
23
+ "pikkuMCPTypes": "pikkuMCPTypes",
24
+ "pikkuMCP": "pikkuMCP",
25
+ "pikkuHTTPMap": "pikkuHTTPMap",
26
+ "pikkuHTTP": "pikkuHTTP",
27
+ "pikkuHTTPTypes": "pikkuHTTPTypes",
28
+ "pikkuOpenAPI": "pikkuOpenAPI",
29
+ "pikkuMiddleware": "pikkuMiddleware",
30
+ "pikkuRPCClient": "pikkuRPCClient",
31
+ "pikkuRPCInternalMap": "pikkuRPCInternalMap",
32
+ "pikkuRPCExposedMap": "pikkuRPCExposedMap",
33
+ "pikkuRPC": "pikkuRPC",
34
+ "pikkuQueueMap": "pikkuQueueMap",
35
+ "pikkuQueueService": "pikkuQueueService",
36
+ "pikkuQueueTypes": "pikkuQueueTypes",
37
+ "pikkuQueue": "pikkuQueue",
38
+ "pikkuSchedulerTypes": "pikkuSchedulerTypes",
39
+ "pikkuScheduler": "pikkuScheduler"
40
+ });
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This file was generated by the @pikku/cli
3
+ */
4
+ /**
5
+ * This file was generated by the @pikku/cli
6
+ * Scheduler-specific type definitions for tree-shaking optimization
7
+ */
8
+ import { CoreScheduledTask } from '@pikku/core/scheduler';
9
+ import type { PikkuFunctionConfig, PikkuMiddleware } from '../function/pikku-function-types.gen.js';
10
+ /**
11
+ * Type definition for scheduled tasks that run at specified intervals.
12
+ * These are sessionless functions that execute based on cron expressions.
13
+ */
14
+ type SchedulerWiring = CoreScheduledTask<PikkuFunctionConfig<void, void>, PikkuMiddleware>;
15
+ /**
16
+ * Registers a scheduled task with the Pikku framework.
17
+ * Tasks run based on cron expressions and are sessionless.
18
+ *
19
+ * @param task - Scheduled task definition with cron expression and handler
20
+ */
21
+ export declare const wireScheduler: (task: SchedulerWiring) => void;
22
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file was generated by the @pikku/cli
3
+ */
4
+ /**
5
+ * This file was generated by the @pikku/cli
6
+ * Scheduler-specific type definitions for tree-shaking optimization
7
+ */
8
+ import { wireScheduler as wireSchedulerCore } from '@pikku/core/scheduler';
9
+ /**
10
+ * Registers a scheduled task with the Pikku framework.
11
+ * Tasks run based on cron expressions and are sessionless.
12
+ *
13
+ * @param task - Scheduled task definition with cron expression and handler
14
+ */
15
+ export const wireScheduler = (task) => {
16
+ wireSchedulerCore(task); // TODO
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * This file was generated by the @pikku/cli
3
+ */
4
+ import { addSchema } from '@pikku/core/schema';
5
+ import * as PikkuChannelsOutput from './schemas/PikkuChannelsOutput.schema.json' with { type: 'json' };
6
+ addSchema('PikkuChannelsOutput', PikkuChannelsOutput);
7
+ import * as PikkuCLIOutput from './schemas/PikkuCLIOutput.schema.json' with { type: 'json' };
8
+ addSchema('PikkuCLIOutput', PikkuCLIOutput);
9
+ import * as PikkuFunctionsOutput from './schemas/PikkuFunctionsOutput.schema.json' with { type: 'json' };
10
+ addSchema('PikkuFunctionsOutput', PikkuFunctionsOutput);
11
+ import * as PikkuSchemasOutput from './schemas/PikkuSchemasOutput.schema.json' with { type: 'json' };
12
+ addSchema('PikkuSchemasOutput', PikkuSchemasOutput);
13
+ import * as PikkuMCPOutput from './schemas/PikkuMCPOutput.schema.json' with { type: 'json' };
14
+ addSchema('PikkuMCPOutput', PikkuMCPOutput);
15
+ import * as PikkuHTTPOutput from './schemas/PikkuHTTPOutput.schema.json' with { type: 'json' };
16
+ addSchema('PikkuHTTPOutput', PikkuHTTPOutput);
17
+ import * as PikkuMiddlewareOutput from './schemas/PikkuMiddlewareOutput.schema.json' with { type: 'json' };
18
+ addSchema('PikkuMiddlewareOutput', PikkuMiddlewareOutput);
19
+ import * as PikkuRPCOutput from './schemas/PikkuRPCOutput.schema.json' with { type: 'json' };
20
+ addSchema('PikkuRPCOutput', PikkuRPCOutput);
21
+ import * as PikkuSchedulerOutput from './schemas/PikkuSchedulerOutput.schema.json' with { type: 'json' };
22
+ addSchema('PikkuSchedulerOutput', PikkuSchedulerOutput);
23
+ import * as PikkuQueueOutput from './schemas/PikkuQueueOutput.schema.json' with { type: 'json' };
24
+ addSchema('PikkuQueueOutput', PikkuQueueOutput);
25
+ import * as PikkuCLIConfig from './schemas/PikkuCLIConfig.schema.json' with { type: 'json' };
26
+ addSchema('PikkuCLIConfig', PikkuCLIConfig);
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "properties": { "outDir": { "type": "string" }, "schemaDirectory": { "type": "string" }, "typesDeclarationFile": { "type": "string" }, "functionsFile": { "type": "string" }, "functionsMetaFile": { "type": "string" }, "functionsMetaMinFile": { "type": "string" }, "functionTypesFile": { "type": "string" }, "httpWiringsFile": { "type": "string" }, "httpWiringMetaFile": { "type": "string" }, "httpMapDeclarationFile": { "type": "string" }, "httpTypesFile": { "type": "string" }, "channelsWiringFile": { "type": "string" }, "channelsWiringMetaFile": { "type": "string" }, "channelsMapDeclarationFile": { "type": "string" }, "channelsTypesFile": { "type": "string" }, "rpcInternalWiringMetaFile": { "type": "string" }, "rpcInternalMapDeclarationFile": { "type": "string" }, "rpcMapDeclarationFile": { "type": "string" }, "schedulersWiringFile": { "type": "string" }, "schedulersWiringMetaFile": { "type": "string" }, "schedulersTypesFile": { "type": "string" }, "queueWorkersWiringFile": { "type": "string" }, "queueWorkersWiringMetaFile": { "type": "string" }, "queueMapDeclarationFile": { "type": "string" }, "queueTypesFile": { "type": "string" }, "mcpWiringsFile": { "type": "string" }, "mcpWiringsMetaFile": { "type": "string" }, "mcpTypesFile": { "type": "string" }, "cliWiringsFile": { "type": "string" }, "cliWiringMetaFile": { "type": "string" }, "cliBootstrapFile": { "type": "string" }, "cliTypesFile": { "type": "string" }, "servicesFile": { "type": "string" }, "middlewareFile": { "type": "string" }, "middlewareGroupsMetaFile": { "type": "string" }, "bootstrapFile": { "type": "string" }, "bootstrapFiles": { "type": "object", "properties": { "http": { "type": "string" }, "scheduler": { "type": "string" }, "channel": { "type": "string" }, "rpc": { "type": "string" }, "queue": { "type": "string" }, "mcp": { "type": "string" }, "cli": { "type": "string" } }, "required": ["http", "scheduler", "channel", "rpc", "queue", "mcp", "cli"], "additionalProperties": false }, "$schema": { "type": "string" }, "extends": { "type": "string" }, "rootDir": { "type": "string" }, "srcDirectories": { "type": "array", "items": { "type": "string" } }, "packageMappings": { "type": "object", "additionalProperties": { "type": "string" } }, "supportsImportAttributes": { "type": "boolean" }, "configFile": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "types": { "type": "array", "items": { "type": "string" } }, "configDir": { "type": "string" }, "tsconfig": { "type": "string" }, "nextBackendFile": { "type": "string" }, "nextHTTPFile": { "type": "string" }, "fetchFile": { "type": "string" }, "websocketFile": { "type": "string" }, "rpcWiringsFile": { "type": "string" }, "queueWiringsFile": { "type": "string" }, "mcpJsonFile": { "type": "string" }, "openAPI": { "type": "object", "properties": { "outputFile": { "type": "string" }, "additionalInfo": { "$ref": "#/definitions/OpenAPISpecInfo" } }, "required": ["outputFile", "additionalInfo"], "additionalProperties": false }, "cli": { "type": "object", "properties": { "entrypoints": { "type": "object", "additionalProperties": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": { "type": { "type": "string", "const": "cli" }, "path": { "type": "string" } }, "required": ["type", "path"], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "channel" }, "name": { "type": "string" }, "route": { "type": "string" }, "wirePath": { "type": "string" }, "path": { "type": "string" } }, "required": ["type", "wirePath"], "additionalProperties": false }, { "type": "array", "items": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": { "type": { "type": "string", "const": "cli" }, "path": { "type": "string" } }, "required": ["type", "path"], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "channel" }, "name": { "type": "string" }, "route": { "type": "string" }, "wirePath": { "type": "string" }, "path": { "type": "string" } }, "required": ["type", "wirePath"], "additionalProperties": false }] } }] } } }, "additionalProperties": false }, "middlewareServices": { "type": "array", "items": { "type": "string" } }, "schemasFromTypes": { "type": "array", "items": { "type": "string" } }, "filters": { "$ref": "#/definitions/InspectorFilters" } }, "required": ["bootstrapFile", "bootstrapFiles", "channelsMapDeclarationFile", "channelsTypesFile", "channelsWiringFile", "channelsWiringMetaFile", "cliBootstrapFile", "cliTypesFile", "cliWiringMetaFile", "cliWiringsFile", "configDir", "filters", "functionTypesFile", "functionsFile", "functionsMetaFile", "functionsMetaMinFile", "httpMapDeclarationFile", "httpTypesFile", "httpWiringMetaFile", "httpWiringsFile", "mcpTypesFile", "mcpWiringsFile", "mcpWiringsMetaFile", "middlewareFile", "middlewareGroupsMetaFile", "outDir", "packageMappings", "queueMapDeclarationFile", "queueTypesFile", "queueWorkersWiringFile", "queueWorkersWiringMetaFile", "rootDir", "rpcInternalMapDeclarationFile", "rpcInternalWiringMetaFile", "rpcMapDeclarationFile", "schedulersTypesFile", "schedulersWiringFile", "schedulersWiringMetaFile", "schemaDirectory", "servicesFile", "srcDirectories", "supportsImportAttributes", "tsconfig", "typesDeclarationFile"], "definitions": { "OpenAPISpecInfo": { "type": "object", "properties": { "info": { "type": "object", "properties": { "title": { "type": "string" }, "version": { "type": "string" }, "description": { "type": "string" }, "termsOfService": { "type": "string" }, "contact": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "email": { "type": "string" } }, "additionalProperties": false }, "license": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" } }, "required": ["name"], "additionalProperties": false } }, "required": ["title", "version", "description"], "additionalProperties": false }, "servers": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string" }, "description": { "type": "string" } }, "required": ["url"], "additionalProperties": false } }, "tags": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } }, "required": ["name"], "additionalProperties": false } }, "externalDocs": { "type": "object", "properties": { "description": { "type": "string" }, "url": { "type": "string" } }, "required": ["url"], "additionalProperties": false }, "securitySchemes": { "type": "object" }, "security": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "array", "items": {} } } } }, "required": ["info", "servers"], "additionalProperties": false }, "InspectorFilters": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "string" } }, "types": { "type": "array", "items": { "type": "string" } }, "directories": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false } } }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "description": "This provides the structure needed for typescript to be aware of RPCs and their return types", "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -0,0 +1 @@
1
+ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "boolean", "enum": [false, true], "definitions": {} }
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import '../.pikku/pikku-bootstrap.gen.js';
package/dist/bin/pikku.js CHANGED
@@ -1,19 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { schemas } from './pikku-schemas.js';
4
- import { nextjs } from './pikku-nextjs.js';
5
- import { all } from './pikku-all.js';
6
- import { fetch } from './pikku-fetch.js';
7
- import { queue } from './pikku-queue-service.js';
8
- import { websocket } from './pikku-websocket.js';
9
- import { rpc } from './pikku-rpc.js';
3
+ import { createConfig, createSingletonServices } from '../src/services.js';
4
+ import { PikkuRPCService } from '@pikku/core';
5
+ import '../.pikku/pikku-bootstrap.gen.js';
6
+ import { LocalVariablesService } from '@pikku/core/services';
7
+ const action = async (command, cliConfig) => {
8
+ const config = await createConfig(new LocalVariablesService(), cliConfig);
9
+ const services = await createSingletonServices(config);
10
+ const rpcWrapper = new PikkuRPCService();
11
+ const { rpc } = await rpcWrapper.injectRPCService(services, {}, false);
12
+ if (command === 'watch') {
13
+ await rpc.invoke('watch', null);
14
+ }
15
+ else {
16
+ await rpc.invoke('all', null);
17
+ }
18
+ };
19
+ const all = (program, name, description) => {
20
+ program
21
+ .command(name, { isDefault: name === 'all' })
22
+ .description(description)
23
+ .option('--pikku-config-type', 'The type of your pikku config object')
24
+ .option('--singleton-services-factory-type', 'The type of your singleton services factory')
25
+ .option('--session-services-factory-type', 'The type of your session services factory')
26
+ .option('-c | --config <string>', 'The path to pikku cli config file')
27
+ .option('-t | --tags <tags...>', 'Which tags to filter by')
28
+ .option('--types <types...>', 'Which types to filter by (http, channel, queue, scheduler, rpc, mcp)')
29
+ .option('--directories <directories...>', 'Which directories to filter by')
30
+ .option('-s | --silent', 'Silent mode - only show errors')
31
+ .action((c) => action(name, c));
32
+ };
10
33
  const program = new Command('pikku');
11
34
  program.usage('[command]');
12
- all(program);
13
- schemas(program);
14
- nextjs(program);
15
- websocket(program);
16
- rpc(program);
17
- fetch(program);
18
- queue(program);
35
+ all(program, 'all', 'Generate all pikku wirings and files');
36
+ all(program, 'watch', 'Watch for changes in pikku files');
19
37
  program.parse(process.argv);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ // import { pikkuSchemas } from './functions/wirings/functions/schemas.js'
2
+ // import { pikkuFetch } from './functions/wirings/fetch/index.js'
3
+ // import { pikkuWebSocketTyped } from './functions/wirings/channels/pikku-command-websocket-typed.js'
4
+ // import { pikkuRPCClient } from './functions/wirings/rpc/pikku-command-rpc-client.js'
5
+ // import { pikkuQueueService } from './functions/wirings/queue/pikku-command-queue-service.js'
6
+ // import { pikkuOpenAPI } from './functions/wirings/http/pikku-command-openapi.js'
7
+ // import { pikkuNext } from './functions/runtimes/nextjs/pikku-command-nextjs.js'
8
+ // import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js'
9
+ // import { all } from './functions/commands/all.js'
10
+ // import { defaultCLIRenderer } from './services.js'
11
+ export {};
12
+ // wireCLI({
13
+ // program: 'pikku',
14
+ // description:
15
+ // 'Pikku CLI - Code generation tool for type-safe backend development',
16
+ // render: defaultCLIRenderer,
17
+ // options: {
18
+ // config: {
19
+ // description: 'Path to pikku.config.json file',
20
+ // short: 'c',
21
+ // },
22
+ // logLevel: {
23
+ // description: 'Set log level',
24
+ // default: 'info',
25
+ // short: 'l',
26
+ // },
27
+ // },
28
+ // commands: {
29
+ // all: pikkuCLICommand({
30
+ // func: all,
31
+ // description: 'Generate all Pikku files (types, schemas, wirings, etc.)',
32
+ // options: {
33
+ // tags: {
34
+ // description: 'Filter functions by tags (comma-separated)',
35
+ // short: 't',
36
+ // },
37
+ // types: {
38
+ // description: 'Filter functions by types (comma-separated)',
39
+ // },
40
+ // directories: {
41
+ // description: 'Filter functions by directories (comma-separated)',
42
+ // short: 'd',
43
+ // },
44
+ // },
45
+ // }),
46
+ // schemas: pikkuCLICommand({
47
+ // func: pikkuSchemas,
48
+ // description: 'Generate JSON schemas for function input/output types',
49
+ // }),
50
+ // fetch: pikkuCLICommand({
51
+ // func: pikkuFetch,
52
+ // description: 'Generate type-safe HTTP fetch client',
53
+ // }),
54
+ // websocket: pikkuCLICommand({
55
+ // func: pikkuWebSocketTyped,
56
+ // description: 'Generate type-safe WebSocket client',
57
+ // }),
58
+ // rpc: pikkuCLICommand({
59
+ // func: pikkuRPCClient,
60
+ // description: 'Generate RPC client wrappers',
61
+ // }),
62
+ // 'queue-service': pikkuCLICommand({
63
+ // func: pikkuQueueService,
64
+ // description: 'Generate queue service wrapper',
65
+ // }),
66
+ // openapi: pikkuCLICommand({
67
+ // func: pikkuOpenAPI,
68
+ // description: 'Generate OpenAPI specification from HTTP routes',
69
+ // }),
70
+ // nextjs: pikkuCLICommand({
71
+ // func: pikkuNext,
72
+ // description: 'Generate Next.js backend and HTTP wrappers',
73
+ // }),
74
+ // },
75
+ // })
@@ -0,0 +1 @@
1
+ export declare const all: any;
@@ -0,0 +1,104 @@
1
+ import { existsSync } from 'fs';
2
+ import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
3
+ import { getFileImportRelativePath } from '../../utils/file-import-path.js';
4
+ import { writeFileInDir } from '../../utils/file-writer.js';
5
+ export const all = pikkuVoidFunc({
6
+ func: async ({ logger, config, rpc, getInspectorState }) => {
7
+ const allImports = [];
8
+ let typesDeclarationFileExists = true;
9
+ if (!existsSync(config.typesDeclarationFile)) {
10
+ typesDeclarationFileExists = false;
11
+ }
12
+ await rpc.invoke('pikkuFunctionTypes', null);
13
+ // This is needed since the wireHTTP function will add the routes to the visitState
14
+ if (!typesDeclarationFileExists) {
15
+ logger.info(`• Type file first created, inspecting again...\x1b[0m`);
16
+ await getInspectorState(true);
17
+ }
18
+ // Generate wiring-specific type files for tree-shaking
19
+ await rpc.invoke('pikkuFunctionTypesSplit', null);
20
+ await rpc.invoke('pikkuHTTPTypes', null);
21
+ await rpc.invoke('pikkuChannelTypes', null);
22
+ await rpc.invoke('pikkuSchedulerTypes', null);
23
+ await rpc.invoke('pikkuQueueTypes', null);
24
+ await rpc.invoke('pikkuMCPTypes', null);
25
+ await rpc.invoke('pikkuCLITypes', null);
26
+ const hasFunctionRegistrations = await rpc.invoke('pikkuFunctions', null);
27
+ // Generate and register middleware
28
+ const middleware = await rpc.invoke('pikkuMiddleware', null);
29
+ // Middleware must be imported before functions meta to ensure registration happens first
30
+ if (middleware) {
31
+ allImports.push(config.middlewareFile);
32
+ }
33
+ // Always import functions meta (needed for all function metadata)
34
+ allImports.push(config.functionsMetaFile);
35
+ // Only import functionsFile if it was generated (has internal/external RPCs)
36
+ if (hasFunctionRegistrations) {
37
+ allImports.push(config.functionsFile);
38
+ }
39
+ // Generate services map
40
+ await rpc.invoke('pikkuServices', null);
41
+ const hasInternalRPCs = await rpc.invoke('pikkuRPC', null);
42
+ await rpc.invoke('pikkuRPCInternalMap', null);
43
+ await rpc.invoke('pikkuRPCExposedMap', null);
44
+ await rpc.invoke('pikkuRPCClient', null);
45
+ if (hasInternalRPCs) {
46
+ allImports.push(config.rpcInternalWiringMetaFile);
47
+ }
48
+ const schemas = await rpc.invoke('pikkuSchemas', null);
49
+ if (schemas) {
50
+ allImports.push(`${config.schemaDirectory}/register.gen.ts`);
51
+ }
52
+ // Generate HTTP
53
+ const http = await rpc.invoke('pikkuHTTP', null);
54
+ if (http) {
55
+ await rpc.invoke('pikkuHTTPMap', null);
56
+ await rpc.invoke('pikkuFetch', null);
57
+ allImports.push(config.httpWiringMetaFile, config.httpWiringsFile);
58
+ }
59
+ // Generate Scheduler
60
+ const scheduler = await rpc.invoke('pikkuScheduler', null);
61
+ if (scheduler) {
62
+ allImports.push(config.schedulersWiringMetaFile, config.schedulersWiringFile);
63
+ }
64
+ // Generate Queues
65
+ const queues = await rpc.invoke('pikkuQueue', null);
66
+ if (queues) {
67
+ await rpc.invoke('pikkuQueueMap', null);
68
+ await rpc.invoke('pikkuQueueService', null);
69
+ allImports.push(config.queueWorkersWiringMetaFile, config.queueWorkersWiringFile);
70
+ }
71
+ // Generate Channels
72
+ const channels = await rpc.invoke('pikkuChannels', null);
73
+ if (channels) {
74
+ await rpc.invoke('pikkuChannelsMap', null);
75
+ await rpc.invoke('pikkuWebSocketTyped', null);
76
+ allImports.push(config.channelsWiringMetaFile, config.channelsWiringFile);
77
+ }
78
+ // Generate MCP
79
+ const mcp = await rpc.invoke('pikkuMCP', null);
80
+ if (mcp) {
81
+ await rpc.invoke('pikkuMCPJSON', null);
82
+ allImports.push(config.mcpWiringsMetaFile, config.mcpWiringsFile);
83
+ }
84
+ // Generate CLI
85
+ const cli = await rpc.invoke('pikkuCLI', null);
86
+ if (cli) {
87
+ await rpc.invoke('pikkuCLIEntry', null);
88
+ allImports.push(config.cliWiringMetaFile, config.cliWiringsFile);
89
+ }
90
+ if (config.nextBackendFile || config.nextHTTPFile) {
91
+ await rpc.invoke('pikkuNext', null);
92
+ }
93
+ if (config.openAPI) {
94
+ logger.info(`• OpenAPI requires a reinspection to pickup new generated types..`);
95
+ await getInspectorState(true);
96
+ await rpc.invoke('pikkuOpenAPI', null);
97
+ }
98
+ // Generate main bootstrap file (pass all imports directly since this is the main file)
99
+ await writeFileInDir(logger, config.bootstrapFile, allImports
100
+ .map((to) => `import '${getFileImportRelativePath(config.bootstrapFile, to, config.packageMappings)}'`)
101
+ .sort((to) => (to.includes('meta') ? -1 : 1)) // Ensure meta files are at the top
102
+ .join('\n'));
103
+ },
104
+ });
@@ -0,0 +1 @@
1
+ export declare const watch: any;
@@ -0,0 +1,47 @@
1
+ import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
2
+ import chokidar from 'chokidar';
3
+ export const watch = pikkuVoidFunc({
4
+ func: async ({ logger, config, rpc }) => {
5
+ const configWatcher = chokidar.watch(config.srcDirectories, {
6
+ ignoreInitial: true,
7
+ ignored: /.*\.gen\.tsx?/,
8
+ });
9
+ let watcher = new chokidar.FSWatcher({});
10
+ const generatorWatcher = () => {
11
+ watcher.close();
12
+ logger.info(`• Watching directories: \n - ${config.srcDirectories.join('\n - ')}`);
13
+ watcher = chokidar.watch(config.srcDirectories, {
14
+ ignoreInitial: true,
15
+ ignored: /.*\.gen\.ts/,
16
+ });
17
+ watcher.on('ready', async () => {
18
+ const handle = async () => {
19
+ try {
20
+ const start = Date.now();
21
+ await rpc.invoke('all', null);
22
+ logger.info({
23
+ message: `✓ Generated in ${Date.now() - start}ms`,
24
+ type: 'timing',
25
+ });
26
+ }
27
+ catch (err) {
28
+ logger.error(err);
29
+ }
30
+ };
31
+ await handle();
32
+ let timeout;
33
+ const deduped = (_file) => {
34
+ if (timeout) {
35
+ clearTimeout(timeout);
36
+ }
37
+ timeout = setTimeout(handle, 10);
38
+ };
39
+ watcher.on('change', deduped);
40
+ watcher.on('add', deduped);
41
+ watcher.on('unlink', deduped);
42
+ });
43
+ };
44
+ configWatcher.on('ready', generatorWatcher);
45
+ configWatcher.on('change', generatorWatcher);
46
+ },
47
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuNext: any;
@@ -1,11 +1,14 @@
1
- import { logCommandInfoAndTime, getPikkuFilesAndMethods, getFileImportRelativePath, writeFileInDir, } from '../../utils.js';
1
+ import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
+ import { checkRequiredTypes } from '../../../utils/check-required-types.js';
3
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
+ import { writeFileInDir } from '../../../utils/file-writer.js';
5
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
2
6
  import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './serialize-nextjs-backend-wrapper.js';
3
7
  import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
4
- export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, bootstrapFiles, }, visitState, options = {}) => {
5
- return await logCommandInfoAndTime(logger, 'Generating nextjs wrapper', 'Generated nextjs wrapper', [
6
- nextBackendFile === undefined && nextHTTPFile === undefined,
7
- 'nextjs outfile is not defined',
8
- ], async () => {
8
+ export const pikkuNext = pikkuSessionlessFunc({
9
+ func: async ({ logger, config, getInspectorState }) => {
10
+ const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, bootstrapFiles, } = config;
11
+ const visitState = await getInspectorState();
9
12
  if (!nextBackendFile && !nextHTTPFile) {
10
13
  throw new Error('nextBackendFile or nextHTTPFile is required in pikku config for nextJS');
11
14
  }
@@ -13,11 +16,18 @@ export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpMap
13
16
  throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
14
17
  }
15
18
  if (nextBackendFile) {
16
- const { pikkuConfigFactory, singletonServicesFactory, sessionServicesFactory, } = await getPikkuFilesAndMethods(logger, visitState, packageMappings, nextBackendFile, options, {
19
+ // Check for required types
20
+ checkRequiredTypes(visitState.filesAndMethodsErrors, {
17
21
  config: true,
18
22
  singletonServicesFactory: true,
19
23
  sessionServicesFactory: true,
20
24
  });
25
+ const { pikkuConfigFactory, singletonServicesFactory, sessionServicesFactory, } = visitState.filesAndMethods;
26
+ if (!pikkuConfigFactory ||
27
+ !singletonServicesFactory ||
28
+ !sessionServicesFactory) {
29
+ throw new Error('Required types not found');
30
+ }
21
31
  const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
22
32
  const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
23
33
  const sessionServicesImport = `import { ${sessionServicesFactory.variable} as createSessionServices } from '${getFileImportRelativePath(nextBackendFile, sessionServicesFactory.file, packageMappings)}'`;
@@ -32,5 +42,14 @@ export const pikkuNext = async (logger, { nextBackendFile, nextHTTPFile, httpMap
32
42
  const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
33
43
  await writeFileInDir(logger, nextHTTPFile, content);
34
44
  }
35
- });
36
- };
45
+ },
46
+ middleware: [
47
+ logCommandInfoAndTime({
48
+ commandStart: 'Generating nextjs wrapper',
49
+ commandEnd: 'Generated nextjs wrapper',
50
+ skipCondition: ({ config }) => config.nextBackendFile === undefined &&
51
+ config.nextHTTPFile === undefined,
52
+ skipMessage: 'nextjs outfile is not defined',
53
+ }),
54
+ ],
55
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuChannels: any;
@@ -0,0 +1,24 @@
1
+ import { pikkuVoidFunc } from '../../../../.pikku/pikku-types.gen.js';
2
+ import { serializeFileImports } from '../../../utils/file-imports-serializer.js';
3
+ import { writeFileInDir } from '../../../utils/file-writer.js';
4
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
+ export const pikkuChannels = pikkuVoidFunc({
6
+ func: async ({ logger, config, getInspectorState }) => {
7
+ const visitState = await getInspectorState();
8
+ const { channelsWiringFile, channelsWiringMetaFile, packageMappings } = config;
9
+ const { channels } = visitState;
10
+ await writeFileInDir(logger, channelsWiringFile, serializeFileImports('addChannel', channelsWiringFile, channels.files, packageMappings));
11
+ await writeFileInDir(logger, channelsWiringMetaFile, `import { pikkuState } from '@pikku/core'\npikkuState('channel', 'meta', ${JSON.stringify(channels.meta, null, 2)})`);
12
+ },
13
+ middleware: [
14
+ logCommandInfoAndTime({
15
+ commandStart: 'Finding Channels',
16
+ commandEnd: 'Found channels',
17
+ skipCondition: async ({ getInspectorState }) => {
18
+ const visitState = await getInspectorState();
19
+ return visitState.channels.files.size === 0;
20
+ },
21
+ skipMessage: 'none found',
22
+ }),
23
+ ],
24
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuChannelTypes: any;
@@ -0,0 +1,21 @@
1
+ import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
+ import { writeFileInDir } from '../../../utils/file-writer.js';
3
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
+ import { serializeChannelTypes } from './serialize-channel-types.js';
6
+ export const pikkuChannelTypes = pikkuSessionlessFunc({
7
+ func: async ({ logger, config }) => {
8
+ const { channelsTypesFile, functionTypesFile, packageMappings } = config;
9
+ const functionTypesImportPath = getFileImportRelativePath(channelsTypesFile, functionTypesFile, packageMappings);
10
+ const content = serializeChannelTypes(functionTypesImportPath);
11
+ await writeFileInDir(logger, channelsTypesFile, content);
12
+ },
13
+ middleware: [
14
+ logCommandInfoAndTime({
15
+ commandStart: 'Creating channel types',
16
+ commandEnd: 'Created channel types',
17
+ skipCondition: false,
18
+ skipMessage: '',
19
+ }),
20
+ ],
21
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuChannelsMap: any;
@@ -0,0 +1,23 @@
1
+ import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js';
2
+ import { writeFileInDir } from '../../../utils/file-writer.js';
3
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
4
+ import { serializeTypedChannelsMap } from './serialize-typed-channel-map.js';
5
+ export const pikkuChannelsMap = pikkuSessionlessFunc({
6
+ func: async ({ logger, config, getInspectorState }) => {
7
+ const state = await getInspectorState();
8
+ const { channelsMapDeclarationFile, packageMappings } = config;
9
+ const content = serializeTypedChannelsMap(channelsMapDeclarationFile, packageMappings, state.functions.typesMap, state.functions.meta, state.channels.meta);
10
+ await writeFileInDir(logger, channelsMapDeclarationFile, content);
11
+ },
12
+ middleware: [
13
+ logCommandInfoAndTime({
14
+ commandStart: 'Creating channels map',
15
+ commandEnd: 'Created channels map',
16
+ skipCondition: async ({ getInspectorState }) => {
17
+ const state = await getInspectorState();
18
+ return state.channels.files.size === 0;
19
+ },
20
+ skipMessage: 'none found',
21
+ }),
22
+ ],
23
+ });
@@ -0,0 +1 @@
1
+ export declare const pikkuChannels: any;