@pikku/cli 0.11.0 → 0.11.2

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 (262) hide show
  1. package/.pikku/channel/pikku-channel-types.gen.ts +11 -12
  2. package/.pikku/channel/pikku-channels-map.gen.d.ts +9 -9
  3. package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
  4. package/.pikku/channel/pikku-channels.gen.ts +1 -1
  5. package/.pikku/cli/pikku-cli-channel.ts +92 -0
  6. package/.pikku/cli/pikku-cli-client.gen.ts +54 -0
  7. package/.pikku/cli/pikku-cli-types.gen.ts +3 -3
  8. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
  9. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -34
  10. package/.pikku/cli/pikku-cli-wirings.gen.ts +2 -1
  11. package/.pikku/cli/pikku-cli.gen.ts +41 -0
  12. package/.pikku/function/pikku-function-types.gen.ts +49 -63
  13. package/.pikku/function/pikku-functions-meta.gen.json +988 -0
  14. package/.pikku/function/pikku-functions-meta.gen.ts +4 -970
  15. package/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
  16. package/.pikku/function/pikku-functions-meta.min.gen.ts +4 -209
  17. package/.pikku/http/pikku-http-types.gen.ts +2 -2
  18. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +9 -9
  19. package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
  20. package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
  21. package/.pikku/mcp/pikku-mcp-types.gen.ts +13 -13
  22. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
  23. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +6 -4
  24. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
  25. package/.pikku/pikku-bootstrap.gen.ts +1 -4
  26. package/.pikku/pikku-services.gen.ts +6 -8
  27. package/.pikku/pikku-types.gen.ts +1 -1
  28. package/.pikku/pikku-websocket.gen.ts +1 -1
  29. package/.pikku/queue/pikku-queue-types.gen.ts +2 -2
  30. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +9 -9
  31. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
  32. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +5 -7
  33. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
  34. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +2 -2
  35. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +9 -9
  36. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +41 -40
  37. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +2 -2
  38. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
  39. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +5 -2
  40. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
  41. package/.pikku/schemas/register.gen.ts +27 -27
  42. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  43. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  44. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  45. package/.pikku/services/config.gen.json +99 -0
  46. package/.pikku/services/getInspectorState.gen.json +10 -0
  47. package/.pikku/services/jwt.gen.json +13 -0
  48. package/.pikku/services/logger.gen.json +25 -0
  49. package/.pikku/services/queueService.gen.json +14 -0
  50. package/.pikku/services/schedulerService.gen.json +17 -0
  51. package/.pikku/services/schema.gen.json +14 -0
  52. package/.pikku/services/variables.gen.json +13 -0
  53. package/.pikku/services/workflowService.gen.json +31 -0
  54. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +9 -9
  55. package/.pikku/workflow/pikku-workflow-types.gen.ts +36 -31
  56. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
  57. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -2
  58. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +6 -2
  59. package/CHANGELOG.md +27 -1
  60. package/bin/pikku.ts +6 -32
  61. package/build.sh +53 -31
  62. package/cli.schema.json +1 -1
  63. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +6 -7
  64. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  65. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  66. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  67. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  68. package/dist/.pikku/cli/pikku-cli-channel.js +91 -0
  69. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +10 -0
  70. package/dist/.pikku/cli/pikku-cli-client.gen.js +44 -0
  71. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -3
  72. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  73. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +3 -34
  74. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
  75. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -1
  76. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -1
  77. package/dist/.pikku/cli/pikku-cli.gen.d.ts +10 -0
  78. package/dist/.pikku/cli/pikku-cli.gen.js +38 -0
  79. package/dist/.pikku/function/pikku-function-types.gen.d.ts +29 -79
  80. package/dist/.pikku/function/pikku-function-types.gen.js +19 -15
  81. package/dist/.pikku/function/pikku-functions-meta.gen.js +3 -969
  82. package/dist/.pikku/function/pikku-functions-meta.gen.json +988 -0
  83. package/dist/.pikku/function/pikku-functions-meta.min.gen.js +3 -208
  84. package/dist/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
  85. package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -2
  86. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  87. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  88. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  89. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  90. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +13 -13
  91. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  92. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +5 -4
  93. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
  94. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  95. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
  96. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -4
  97. package/dist/.pikku/pikku-bootstrap.gen.js +1 -4
  98. package/dist/.pikku/pikku-services.gen.d.ts +5 -8
  99. package/dist/.pikku/pikku-services.gen.js +3 -6
  100. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  101. package/dist/.pikku/pikku-types.gen.js +1 -1
  102. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  103. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  104. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
  105. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  106. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +3 -7
  107. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
  108. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  109. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  110. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +6 -9
  111. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +2 -2
  112. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +2 -2
  113. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  114. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +3 -2
  115. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
  116. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  117. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  118. package/dist/.pikku/schemas/register.gen.js +17 -17
  119. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  120. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  121. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +29 -25
  123. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +22 -8
  124. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -2
  125. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
  126. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +6 -2
  127. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +6 -3
  128. package/dist/bin/pikku.js +5 -28
  129. package/dist/src/cli.wiring.js +108 -106
  130. package/dist/src/functions/commands/all.js +82 -42
  131. package/dist/src/functions/commands/bootstrap.js +22 -10
  132. package/dist/src/functions/commands/watch.js +6 -3
  133. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +12 -7
  134. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  135. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +42 -4
  136. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
  137. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +40 -2
  138. package/dist/src/functions/wirings/channels/pikku-channels.js +9 -2
  139. package/dist/src/functions/wirings/channels/serialize-channel-types.js +10 -11
  140. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
  141. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  142. package/dist/src/functions/wirings/cli/pikku-command-cli.js +9 -3
  143. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +1 -1
  144. package/dist/src/functions/wirings/cli/serialize-cli-types.js +2 -2
  145. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
  146. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +4 -4
  147. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +4 -4
  148. package/dist/src/functions/wirings/functions/pikku-command-functions.js +15 -5
  149. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  150. package/dist/src/functions/wirings/functions/pikku-command-services.js +23 -23
  151. package/dist/src/functions/wirings/functions/schemas.js +1 -1
  152. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  153. package/dist/src/functions/wirings/functions/serialize-function-types.js +50 -64
  154. package/dist/src/functions/wirings/http/openapi-spec-generator.js +4 -4
  155. package/dist/src/functions/wirings/http/pikku-http-routes.js +9 -2
  156. package/dist/src/functions/wirings/http/serialize-http-types.js +1 -1
  157. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +18 -4
  158. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +12 -12
  159. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +26 -2
  160. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +5 -2
  161. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +5 -13
  162. package/dist/src/functions/wirings/queue/pikku-command-queue.js +9 -3
  163. package/dist/src/functions/wirings/queue/pikku-queue.js +9 -3
  164. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -1
  165. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +10 -1
  166. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  167. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +9 -2
  168. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -4
  169. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +1 -1
  170. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +3 -3
  171. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +6 -3
  172. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -1
  173. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +11 -1
  174. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  175. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +1 -0
  176. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +22 -0
  177. package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +3 -1
  178. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +12 -8
  179. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +2 -1
  180. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +11 -1
  181. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +36 -31
  183. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +8 -0
  184. package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +30 -0
  185. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +2 -2
  186. package/dist/src/middleware/log-command-info-and-time.d.ts +2 -2
  187. package/dist/src/middleware/log-command-info-and-time.js +1 -4
  188. package/dist/src/services/cli-logger-forwarder.service.d.ts +3 -0
  189. package/dist/src/services/cli-logger-forwarder.service.js +9 -2
  190. package/dist/src/services.d.ts +2 -7
  191. package/dist/src/services.js +14 -12
  192. package/dist/src/utils/check-required-types.d.ts +2 -2
  193. package/dist/src/utils/check-required-types.js +2 -3
  194. package/dist/src/utils/pikku-cli-config.js +35 -2
  195. package/dist/src/utils/pikku-files-and-methods.d.ts +2 -2
  196. package/dist/src/utils/pikku-files-and-methods.js +4 -4
  197. package/dist/src/utils/schema-generator.d.ts +1 -1
  198. package/dist/src/utils/schema-generator.js +1 -1
  199. package/dist/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +7 -8
  201. package/src/cli.wiring.ts +110 -105
  202. package/src/functions/commands/all.ts +94 -45
  203. package/src/functions/commands/bootstrap.ts +25 -10
  204. package/src/functions/commands/watch.ts +6 -3
  205. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +26 -5
  206. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +43 -4
  207. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +40 -1
  208. package/src/functions/wirings/channels/pikku-channels.ts +27 -3
  209. package/src/functions/wirings/channels/serialize-channel-types.ts +10 -11
  210. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
  211. package/src/functions/wirings/cli/pikku-command-cli-types.ts +1 -1
  212. package/src/functions/wirings/cli/pikku-command-cli.ts +26 -3
  213. package/src/functions/wirings/cli/serialize-channel-cli.ts +1 -1
  214. package/src/functions/wirings/cli/serialize-cli-types.ts +2 -2
  215. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +5 -5
  216. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +6 -6
  217. package/src/functions/wirings/functions/pikku-command-functions.ts +39 -4
  218. package/src/functions/wirings/functions/pikku-command-services.ts +25 -25
  219. package/src/functions/wirings/functions/schemas.ts +2 -2
  220. package/src/functions/wirings/functions/serialize-function-types.ts +51 -65
  221. package/src/functions/wirings/http/openapi-spec-generator.ts +14 -5
  222. package/src/functions/wirings/http/pikku-http-routes.ts +28 -2
  223. package/src/functions/wirings/http/serialize-http-types.ts +1 -1
  224. package/src/functions/wirings/mcp/pikku-command-mcp.ts +30 -4
  225. package/src/functions/wirings/mcp/serialize-mcp-types.ts +12 -12
  226. package/src/functions/wirings/middleware/pikku-command-middleware.ts +35 -2
  227. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +4 -19
  228. package/src/functions/wirings/permissions/pikku-command-permissions.ts +2 -2
  229. package/src/functions/wirings/queue/pikku-command-queue.ts +27 -2
  230. package/src/functions/wirings/queue/pikku-queue.ts +27 -2
  231. package/src/functions/wirings/queue/serialize-queue-meta.ts +15 -1
  232. package/src/functions/wirings/queue/serialize-queue-types.ts +1 -1
  233. package/src/functions/wirings/rpc/pikku-command-rpc.ts +25 -2
  234. package/src/functions/wirings/rpc/serialize-public-rpc.ts +11 -4
  235. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +1 -1
  236. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +3 -3
  237. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +30 -4
  238. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +20 -1
  239. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +1 -1
  240. package/src/functions/wirings/services/pikku-command-service-metadata.ts +25 -0
  241. package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +8 -1
  242. package/src/functions/wirings/workflow/pikku-command-workflow.ts +36 -8
  243. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +18 -1
  244. package/src/functions/wirings/workflow/serialize-workflow-types.ts +39 -31
  245. package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +47 -0
  246. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +2 -2
  247. package/src/middleware/log-command-info-and-time.ts +3 -6
  248. package/src/services/cli-logger-forwarder.service.ts +11 -2
  249. package/src/services.ts +15 -15
  250. package/src/utils/check-required-types.ts +4 -7
  251. package/src/utils/pikku-cli-config.ts +69 -2
  252. package/src/utils/pikku-files-and-methods.ts +10 -13
  253. package/src/utils/schema-generator.ts +2 -2
  254. package/types/application-types.d.ts +1 -1
  255. package/types/config.d.ts +12 -1
  256. package/.pikku/function/pikku-functions.gen.ts +0 -84
  257. package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +0 -47
  258. package/dist/.pikku/function/pikku-functions.gen.js +0 -83
  259. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +0 -1
  260. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +0 -47
  261. package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +0 -1
  262. /package/dist/.pikku/{function/pikku-functions.gen.d.ts → cli/pikku-cli-channel.d.ts} +0 -0
@@ -1,107 +1,109 @@
1
- // import { pikkuSchemas } from './functions/wirings/functions/schemas.js'
2
- // import { pikkuFetch } from './functions/wirings/fetch/index.js'
3
- // import { pikkuWebSocketTyped } from './functions/wirings/channels/pikku-command-websocket-typed.js'
4
- // import { pikkuRPCClient } from './functions/wirings/rpc/pikku-command-rpc-client.js'
5
- // import { pikkuQueueService } from './functions/wirings/queue/pikku-command-queue-service.js'
6
- // import { pikkuOpenAPI } from './functions/wirings/http/pikku-command-openapi.js'
7
- // import { pikkuNext } from './functions/runtimes/nextjs/pikku-command-nextjs.js'
8
- // import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js'
9
- // import { all } from './functions/commands/all.js'
10
- // import { bootstrap } from './functions/commands/bootstrap.js'
1
+ import { pikkuSchemas } from './functions/wirings/functions/schemas.js';
2
+ import { pikkuFetch } from './functions/wirings/fetch/index.js';
3
+ import { pikkuWebSocketTyped } from './functions/wirings/channels/pikku-command-websocket-typed.js';
4
+ import { pikkuRPCClient } from './functions/wirings/rpc/pikku-command-rpc-client.js';
5
+ import { pikkuQueueService } from './functions/wirings/queue/pikku-command-queue-service.js';
6
+ import { pikkuOpenAPI } from './functions/wirings/http/pikku-command-openapi.js';
7
+ import { pikkuNext } from './functions/runtimes/nextjs/pikku-command-nextjs.js';
8
+ import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js';
9
+ import { all } from './functions/commands/all.js';
10
+ import { bootstrap } from './functions/commands/bootstrap.js';
11
+ import { watch } from './functions/commands/watch.js';
11
12
  // import { clientCLIRenderer } from './services.js'
12
- export {};
13
- // wireCLI({
14
- // program: 'pikku',
15
- // description:
16
- // 'Pikku CLI - Code generation tool for type-safe backend development',
17
- // render: clientCLIRenderer,
18
- // options: {
19
- // config: {
20
- // description: 'Path to pikku.config.json file',
21
- // short: 'c',
22
- // },
23
- // logLevel: {
24
- // description: 'Set log level',
25
- // default: 'info' as const,
26
- // short: 'l',
27
- // },
28
- // userSessionType: {
29
- // description:
30
- // 'Specify which UserSession type to use (when multiple exist)',
31
- // },
32
- // singletonServicesFactoryType: {
33
- // description: 'Specify which singleton services factory to use',
34
- // },
35
- // sessionServicesFactoryType: {
36
- // description: 'Specify which session services factory to use',
37
- // },
38
- // stateOutput: {
39
- // description: 'Save inspector state to JSON file for reuse',
40
- // },
41
- // stateInput: {
42
- // description: 'Load inspector state from JSON file (skips inspection)',
43
- // },
44
- // },
45
- // commands: {
46
- // all: pikkuCLICommand({
47
- // func: all,
48
- // description: 'Generate all Pikku files (types, schemas, wirings, etc.)',
49
- // isDefault: true,
50
- // options: {
51
- // tags: {
52
- // description: 'Filter functions by tags (comma-separated)',
53
- // short: 't',
54
- // },
55
- // types: {
56
- // description: 'Filter functions by types (comma-separated)',
57
- // },
58
- // directories: {
59
- // description: 'Filter functions by directories (comma-separated)',
60
- // short: 'd',
61
- // },
62
- // httpMethods: {
63
- // description: 'Filter HTTP routes by methods (comma-separated)',
64
- // },
65
- // httpRoutes: {
66
- // description: 'Filter HTTP routes by route patterns (comma-separated)',
67
- // },
68
- // names: {
69
- // description: 'Filter functions by name patterns (supports wildcards)',
70
- // short: 'n',
71
- // },
72
- // },
73
- // }),
74
- // bootstrap: pikkuCLICommand({
75
- // func: bootstrap,
76
- // description: 'Generate only type files (setup phase only)',
77
- // }),
78
- // schemas: pikkuCLICommand({
79
- // func: pikkuSchemas,
80
- // description: 'Generate JSON schemas for function input/output types',
81
- // }),
82
- // fetch: pikkuCLICommand({
83
- // func: pikkuFetch,
84
- // description: 'Generate type-safe HTTP fetch client',
85
- // }),
86
- // websocket: pikkuCLICommand({
87
- // func: pikkuWebSocketTyped,
88
- // description: 'Generate type-safe WebSocket client',
89
- // }),
90
- // rpc: pikkuCLICommand({
91
- // func: pikkuRPCClient,
92
- // description: 'Generate RPC client wrappers',
93
- // }),
94
- // 'queue-service': pikkuCLICommand({
95
- // func: pikkuQueueService,
96
- // description: 'Generate queue service wrapper',
97
- // }),
98
- // openapi: pikkuCLICommand({
99
- // func: pikkuOpenAPI,
100
- // description: 'Generate OpenAPI specification from HTTP routes',
101
- // }),
102
- // nextjs: pikkuCLICommand({
103
- // func: pikkuNext,
104
- // description: 'Generate Next.js backend and HTTP wrappers',
105
- // }),
106
- // },
107
- // })
13
+ wireCLI({
14
+ program: 'pikku',
15
+ description: 'Pikku CLI - Code generation tool for type-safe backend development',
16
+ // render: clientCLIRenderer,
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
+ userSessionType: {
28
+ description: 'Specify which UserSession type to use (when multiple exist)',
29
+ },
30
+ singletonServicesFactoryType: {
31
+ description: 'Specify which singleton services factory to use',
32
+ },
33
+ wireServicesFactoryType: {
34
+ description: 'Specify which wire services factory to use',
35
+ },
36
+ stateOutput: {
37
+ description: 'Save inspector state to JSON file for reuse',
38
+ },
39
+ stateInput: {
40
+ description: 'Load inspector state from JSON file (skips inspection)',
41
+ },
42
+ },
43
+ commands: {
44
+ all: pikkuCLICommand({
45
+ func: all,
46
+ description: 'Generate all Pikku files (types, schemas, wirings, etc.)',
47
+ isDefault: true,
48
+ options: {
49
+ tags: {
50
+ description: 'Filter functions by tags (comma-separated)',
51
+ short: 't',
52
+ },
53
+ types: {
54
+ description: 'Filter functions by types (comma-separated)',
55
+ },
56
+ directories: {
57
+ description: 'Filter functions by directories (comma-separated)',
58
+ short: 'd',
59
+ },
60
+ httpMethods: {
61
+ description: 'Filter HTTP routes by methods (comma-separated)',
62
+ },
63
+ httpRoutes: {
64
+ description: 'Filter HTTP routes by route patterns (comma-separated)',
65
+ },
66
+ names: {
67
+ description: 'Filter functions by name patterns (supports wildcards)',
68
+ short: 'n',
69
+ },
70
+ },
71
+ }),
72
+ bootstrap: pikkuCLICommand({
73
+ func: bootstrap,
74
+ description: 'Generate only type files (setup phase only)',
75
+ }),
76
+ watch: pikkuCLICommand({
77
+ func: watch,
78
+ description: 'Watch for file changes and regenerate automatically',
79
+ }),
80
+ schemas: pikkuCLICommand({
81
+ func: pikkuSchemas,
82
+ description: 'Generate JSON schemas for function input/output types',
83
+ }),
84
+ fetch: pikkuCLICommand({
85
+ func: pikkuFetch,
86
+ description: 'Generate type-safe HTTP fetch client',
87
+ }),
88
+ websocket: pikkuCLICommand({
89
+ func: pikkuWebSocketTyped,
90
+ description: 'Generate type-safe WebSocket client',
91
+ }),
92
+ rpc: pikkuCLICommand({
93
+ func: pikkuRPCClient,
94
+ description: 'Generate RPC client wrappers',
95
+ }),
96
+ 'queue-service': pikkuCLICommand({
97
+ func: pikkuQueueService,
98
+ description: 'Generate queue service wrapper',
99
+ }),
100
+ openapi: pikkuCLICommand({
101
+ func: pikkuOpenAPI,
102
+ description: 'Generate OpenAPI specification from HTTP routes',
103
+ }),
104
+ nextjs: pikkuCLICommand({
105
+ func: pikkuNext,
106
+ description: 'Generate Next.js backend and HTTP wrappers',
107
+ }),
108
+ },
109
+ });
@@ -3,38 +3,79 @@ import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
3
3
  import { getFileImportRelativePath } from '../../utils/file-import-path.js';
4
4
  import { writeFileInDir } from '../../utils/file-writer.js';
5
5
  import { CommandSummary } from '../../utils/command-summary.js';
6
+ // Import all command functions directly
7
+ import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
8
+ import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
9
+ import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
10
+ import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
11
+ import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
12
+ import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
13
+ import { pikkuWorkflowTypes } from '../wirings/workflow/pikku-command-workflow-types.js';
14
+ import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
15
+ import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
16
+ import { pikkuFunctions } from '../wirings/functions/pikku-command-functions.js';
17
+ import { pikkuMiddleware } from '../wirings/middleware/pikku-command-middleware.js';
18
+ import { pikkuPermissions } from '../wirings/permissions/pikku-command-permissions.js';
19
+ import { pikkuServices } from '../wirings/functions/pikku-command-services.js';
20
+ import { pikkuServiceMetadata } from '../wirings/services/pikku-command-service-metadata.js';
21
+ import { pikkuRPC } from '../wirings/rpc/pikku-command-rpc.js';
22
+ import { pikkuRPCExposedMap, pikkuRPCInternalMap, } from '../wirings/rpc/pikku-command-rpc-map.js';
23
+ import { pikkuPublicRPC } from '../wirings/rpc/pikku-command-public-rpc.js';
24
+ import { pikkuRPCClient } from '../wirings/rpc/pikku-command-rpc-client.js';
25
+ import { pikkuSchemas } from '../wirings/functions/schemas.js';
26
+ import { pikkuHTTP } from '../wirings/http/pikku-command-http-routes.js';
27
+ import { pikkuHTTPMap } from '../wirings/http/pikku-command-http-map.js';
28
+ import { pikkuFetch } from '../wirings/fetch/index.js';
29
+ import { pikkuScheduler } from '../wirings/scheduler/pikku-command-scheduler.js';
30
+ import { pikkuWorkflow } from '../wirings/workflow/pikku-command-workflow.js';
31
+ import { pikkuRemoteRPC } from '../wirings/rpc/pikku-command-remote-rpc.js';
32
+ import { pikkuWorkflowMap } from '../wirings/workflow/pikku-command-workflow-map.js';
33
+ import { pikkuQueue } from '../wirings/queue/pikku-command-queue.js';
34
+ import { pikkuQueueMap } from '../wirings/queue/pikku-command-queue-map.js';
35
+ import { pikkuQueueService } from '../wirings/queue/pikku-command-queue-service.js';
36
+ import { pikkuChannels } from '../wirings/channels/pikku-command-channels.js';
37
+ import { pikkuChannelsMap } from '../wirings/channels/pikku-command-channels-map.js';
38
+ import { pikkuWebSocketTyped } from '../wirings/channels/pikku-command-websocket-typed.js';
39
+ import { pikkuMCP } from '../wirings/mcp/pikku-command-mcp.js';
40
+ import { pikkuMCPJSON } from '../wirings/mcp/pikku-command-mcp-json.js';
41
+ import { pikkuCLI } from '../wirings/cli/pikku-command-cli.js';
42
+ import { pikkuCLIEntry } from '../wirings/cli/pikku-command-cli-entry.js';
43
+ import { pikkuNext } from '../runtimes/nextjs/pikku-command-nextjs.js';
44
+ import { pikkuOpenAPI } from '../wirings/http/pikku-command-openapi.js';
6
45
  export const all = pikkuVoidFunc({
7
- func: async ({ logger, config, rpc, getInspectorState }) => {
46
+ func: async ({ logger, config, getInspectorState }) => {
47
+ const wire = {};
48
+ const services = { logger, config, getInspectorState };
8
49
  const summary = new CommandSummary('all');
9
50
  const allImports = [];
10
51
  let typesDeclarationFileExists = true;
11
52
  if (!existsSync(config.typesDeclarationFile)) {
12
53
  typesDeclarationFileExists = false;
13
54
  }
14
- await rpc.invoke('pikkuFunctionTypes', null);
55
+ await pikkuFunctionTypes.func(services, null, wire);
15
56
  // This is needed since the wireHTTP function will add the routes to the visitState
16
57
  if (!typesDeclarationFileExists) {
17
58
  logger.debug(`• Type file first created, inspecting again...`);
18
59
  await getInspectorState(true);
19
60
  }
20
61
  // Generate wiring-specific type files for tree-shaking
21
- await rpc.invoke('pikkuFunctionTypesSplit', null);
22
- await rpc.invoke('pikkuHTTPTypes', null);
23
- await rpc.invoke('pikkuChannelTypes', null);
24
- await rpc.invoke('pikkuSchedulerTypes', null);
25
- await rpc.invoke('pikkuQueueTypes', null);
26
- await rpc.invoke('pikkuWorkflowTypes', null);
27
- await rpc.invoke('pikkuMCPTypes', null);
28
- await rpc.invoke('pikkuCLITypes', null);
29
- const hasFunctionRegistrations = await rpc.invoke('pikkuFunctions', null);
62
+ await pikkuFunctionTypesSplit.func(services, null, wire);
63
+ await pikkuHTTPTypes.func(services, null, wire);
64
+ await pikkuChannelTypes.func(services, null, wire);
65
+ await pikkuSchedulerTypes.func(services, null, wire);
66
+ await pikkuQueueTypes.func(services, null, wire);
67
+ await pikkuWorkflowTypes.func(services, null, wire);
68
+ await pikkuMCPTypes.func(services, null, wire);
69
+ await pikkuCLITypes.func(services, null, wire);
70
+ const hasFunctionRegistrations = await pikkuFunctions.func(services, wire, null);
30
71
  // Generate and register middleware
31
- const middleware = await rpc.invoke('pikkuMiddleware', null);
72
+ const middleware = await pikkuMiddleware.func(services, null, wire);
32
73
  // Middleware must be imported before functions meta to ensure registration happens first
33
74
  if (middleware) {
34
75
  allImports.push(config.middlewareFile);
35
76
  }
36
77
  // Generate and register permissions
37
- const permissions = await rpc.invoke('pikkuPermissions', null);
78
+ const permissions = await pikkuPermissions.func(services, null, wire);
38
79
  // Permissions must be imported before functions meta to ensure registration happens first
39
80
  if (permissions) {
40
81
  allImports.push(config.permissionsFile);
@@ -46,79 +87,78 @@ export const all = pikkuVoidFunc({
46
87
  allImports.push(config.functionsFile);
47
88
  }
48
89
  // Generate services map
49
- await rpc.invoke('pikkuServices', null);
50
- const hasInternalRPCs = await rpc.invoke('pikkuRPC', null);
51
- await rpc.invoke('pikkuRPCInternalMap', null);
52
- await rpc.invoke('pikkuRPCExposedMap', null);
53
- await rpc.invoke('pikkuRPCClient', null);
90
+ await pikkuServices.func(services, null, wire);
91
+ // Generate service metadata JSON files for AI consumption
92
+ await pikkuServiceMetadata.func(services, null, wire);
93
+ const hasInternalRPCs = await pikkuRPC.func(services, null, wire);
94
+ await pikkuRPCInternalMap.func(services, null, wire);
95
+ await pikkuRPCExposedMap.func(services, null, wire);
96
+ await pikkuPublicRPC.func(services, null, wire);
97
+ await pikkuRPCClient.func(services, null, wire);
54
98
  if (hasInternalRPCs) {
55
99
  allImports.push(config.rpcInternalWiringMetaFile);
56
100
  }
57
- const schemas = await rpc.invoke('pikkuSchemas', null);
101
+ const schemas = await pikkuSchemas.func(services, null, wire);
58
102
  if (schemas) {
59
103
  allImports.push(`${config.schemaDirectory}/register.gen.ts`);
60
104
  }
61
105
  // Generate HTTP
62
- const http = await rpc.invoke('pikkuHTTP', null);
106
+ const http = await pikkuHTTP.func(services, null, wire);
63
107
  if (http) {
64
- await rpc.invoke('pikkuHTTPMap', null);
65
- await rpc.invoke('pikkuFetch', null);
108
+ await pikkuHTTPMap.func(services, null, wire);
109
+ await pikkuFetch.func(services, null, wire);
66
110
  allImports.push(config.httpWiringMetaFile, config.httpWiringsFile);
67
111
  }
68
112
  // Generate Scheduler
69
- const scheduler = await rpc.invoke('pikkuScheduler', null);
113
+ const scheduler = await pikkuScheduler.func(services, null, wire);
70
114
  if (scheduler) {
71
115
  allImports.push(config.schedulersWiringMetaFile, config.schedulersWiringFile);
72
116
  }
73
117
  // Generate Workflows
74
- const workflows = await rpc.invoke('pikkuWorkflow', null);
118
+ const workflows = await pikkuWorkflow.func(services, null, wire);
75
119
  // Generate Remote RPC Workers (must be before queue discovery so wireQueueWorker calls are picked up)
76
- const remoteRPC = await rpc.invoke('pikkuRemoteRPC', null);
120
+ const remoteRPC = await pikkuRemoteRPC.func(services, null, wire);
77
121
  // Reinspect to pick up generated workflow workers and remote RPC workers BEFORE generating maps
78
122
  if (workflows || remoteRPC) {
79
123
  await getInspectorState(true);
80
124
  }
81
125
  if (workflows) {
82
- await rpc.invoke('pikkuWorkflowMap', null);
126
+ await pikkuWorkflowMap.func(services, null, wire);
83
127
  allImports.push(config.workflowsWiringMetaFile, config.workflowsWiringFile);
84
128
  }
85
- if (remoteRPC && config.rpc?.remoteRpcWorkersPath) {
86
- // Only add to imports if we actually generated the file
87
- allImports.push(config.rpc.remoteRpcWorkersPath);
88
- }
89
129
  // Generate Queues
90
- const queues = await rpc.invoke('pikkuQueue', null);
130
+ const queues = await pikkuQueue.func(services, null, wire);
91
131
  if (queues) {
92
- await rpc.invoke('pikkuQueueMap', null);
93
- await rpc.invoke('pikkuQueueService', null);
132
+ await pikkuQueueMap.func(services, null, wire);
133
+ await pikkuQueueService.func(services, null, wire);
94
134
  allImports.push(config.queueWorkersWiringMetaFile, config.queueWorkersWiringFile);
95
135
  }
96
136
  // Generate Channels
97
- const channels = await rpc.invoke('pikkuChannels', null);
137
+ const channels = await pikkuChannels.func(services, null, wire);
98
138
  if (channels) {
99
- await rpc.invoke('pikkuChannelsMap', null);
100
- await rpc.invoke('pikkuWebSocketTyped', null);
139
+ await pikkuChannelsMap.func(services, null, wire);
140
+ await pikkuWebSocketTyped.func(services, null, wire);
101
141
  allImports.push(config.channelsWiringMetaFile, config.channelsWiringFile);
102
142
  }
103
143
  // Generate MCP
104
- const mcp = await rpc.invoke('pikkuMCP', null);
144
+ const mcp = await pikkuMCP.func(services, null, wire);
105
145
  if (mcp) {
106
- await rpc.invoke('pikkuMCPJSON', null);
146
+ await pikkuMCPJSON.func(services, null, wire);
107
147
  allImports.push(config.mcpWiringsMetaFile, config.mcpWiringsFile);
108
148
  }
109
149
  // Generate CLI
110
- const cli = await rpc.invoke('pikkuCLI', null);
150
+ const cli = await pikkuCLI.func(services, null, wire);
111
151
  if (cli) {
112
- await rpc.invoke('pikkuCLIEntry', null);
152
+ await pikkuCLIEntry.func(services, null, wire);
113
153
  allImports.push(config.cliWiringMetaFile, config.cliWiringsFile);
114
154
  }
115
155
  if (config.nextBackendFile || config.nextHTTPFile) {
116
- await rpc.invoke('pikkuNext', null);
156
+ await pikkuNext.func(services, null, wire);
117
157
  }
118
158
  if (config.openAPI) {
119
159
  logger.debug(`• OpenAPI requires a reinspection to pickup new generated types..`);
120
160
  await getInspectorState(true);
121
- await rpc.invoke('pikkuOpenAPI', null);
161
+ await pikkuOpenAPI.func(services, null, wire);
122
162
  }
123
163
  // Generate main bootstrap file (pass all imports directly since this is the main file)
124
164
  await writeFileInDir(logger, config.bootstrapFile, allImports
@@ -1,21 +1,33 @@
1
1
  import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
2
+ // Import command functions directly
3
+ import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
4
+ import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
5
+ import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
6
+ import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
7
+ import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
8
+ import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
9
+ import { pikkuWorkflowTypes } from '../wirings/workflow/pikku-command-workflow-types.js';
10
+ import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
11
+ import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
2
12
  export const bootstrap = pikkuVoidFunc({
3
- func: async ({ logger, config, rpc, getInspectorState }) => {
13
+ func: async ({ logger, config, getInspectorState }) => {
14
+ const wire = {};
15
+ const services = { logger, config, getInspectorState };
4
16
  // Initialize inspector state in bootstrap mode with core types only
5
17
  // This allows bootstrap to run immediately without inspecting the codebase
6
18
  // All subsequent RPC commands will use this cached state
7
19
  await getInspectorState(false, false, true);
8
- await rpc.invoke('pikkuFunctionTypes', null);
20
+ await pikkuFunctionTypes.func(services, null, wire);
9
21
  // Generate wiring-specific type files for tree-shaking
10
22
  // These use the bootstrap mode state with core types
11
- await rpc.invoke('pikkuFunctionTypesSplit', null);
12
- await rpc.invoke('pikkuHTTPTypes', null);
13
- await rpc.invoke('pikkuChannelTypes', null);
14
- await rpc.invoke('pikkuSchedulerTypes', null);
15
- await rpc.invoke('pikkuQueueTypes', null);
16
- await rpc.invoke('pikkuWorkflowTypes', null);
17
- await rpc.invoke('pikkuMCPTypes', null);
18
- await rpc.invoke('pikkuCLITypes', null);
23
+ await pikkuFunctionTypesSplit.func(services, null, wire);
24
+ await pikkuHTTPTypes.func(services, null, wire);
25
+ await pikkuChannelTypes.func(services, null, wire);
26
+ await pikkuSchedulerTypes.func(services, null, wire);
27
+ await pikkuQueueTypes.func(services, null, wire);
28
+ await pikkuWorkflowTypes.func(services, null, wire);
29
+ await pikkuMCPTypes.func(services, null, wire);
30
+ await pikkuCLITypes.func(services, null, wire);
19
31
  // Check for critical errors and exit if any were logged
20
32
  if (logger.hasCriticalErrors()) {
21
33
  process.exit(1);
@@ -1,7 +1,9 @@
1
1
  import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
2
2
  import chokidar from 'chokidar';
3
+ import { all } from './all.js';
3
4
  export const watch = pikkuVoidFunc({
4
- func: async ({ logger, config, rpc }) => {
5
+ func: async ({ logger, config, getInspectorState }) => {
6
+ const services = { logger, config, getInspectorState };
5
7
  const configWatcher = chokidar.watch(config.srcDirectories, {
6
8
  ignoreInitial: true,
7
9
  ignored: /.*\.gen\.tsx?/,
@@ -18,14 +20,15 @@ export const watch = pikkuVoidFunc({
18
20
  const handle = async () => {
19
21
  try {
20
22
  const start = Date.now();
21
- await rpc.invoke('all', null);
23
+ await all.func(services, null, {});
22
24
  logger.info({
23
25
  message: `✓ Generated in ${Date.now() - start}ms`,
24
26
  type: 'timing',
25
27
  });
26
28
  }
27
29
  catch (err) {
28
- logger.error(err);
30
+ console.error(err);
31
+ logger.error('Error running watch');
29
32
  }
30
33
  };
31
34
  await handle();
@@ -7,7 +7,7 @@ import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './
7
7
  import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
8
8
  export const pikkuNext = pikkuSessionlessFunc({
9
9
  func: async ({ logger, config, getInspectorState }) => {
10
- const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, } = config;
10
+ const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, rpcMapDeclarationFile, packageMappings, fetchFile, } = config;
11
11
  // If both files are undefined, clean up any existing files and return
12
12
  if (!nextBackendFile && !nextHTTPFile) {
13
13
  logger.info({
@@ -20,31 +20,36 @@ export const pikkuNext = pikkuSessionlessFunc({
20
20
  if (nextHTTPFile && !fetchFile) {
21
21
  throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
22
22
  }
23
+ if ((nextBackendFile || nextHTTPFile) && !rpcMapDeclarationFile) {
24
+ throw new Error('rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work');
25
+ }
23
26
  if (nextBackendFile) {
24
27
  // Check for required types
25
28
  checkRequiredTypes(visitState.filesAndMethodsErrors, {
26
29
  config: true,
27
30
  singletonServicesFactory: true,
28
- sessionServicesFactory: true,
31
+ wireServicesFactory: true,
29
32
  });
30
- const { pikkuConfigFactory, singletonServicesFactory, sessionServicesFactory, } = visitState.filesAndMethods;
33
+ const { pikkuConfigFactory, singletonServicesFactory, wireServicesFactory, } = visitState.filesAndMethods;
31
34
  if (!pikkuConfigFactory ||
32
35
  !singletonServicesFactory ||
33
- !sessionServicesFactory) {
36
+ !wireServicesFactory) {
34
37
  throw new Error('Required types not found');
35
38
  }
36
39
  const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
37
40
  const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
38
- const sessionServicesImport = `import { ${sessionServicesFactory.variable} as createSessionServices } from '${getFileImportRelativePath(nextBackendFile, sessionServicesFactory.file, packageMappings)}'`;
41
+ const wireServicesImport = `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`;
39
42
  const bootstrapPath = getFileImportRelativePath(nextBackendFile, config.bootstrapFile, packageMappings);
40
43
  const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
41
- const content = serializeNextBackendWrapper(bootstrapPath, routesMapDeclarationPath, pikkuConfigImport, singletonServicesImport, sessionServicesImport);
44
+ const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
45
+ const content = serializeNextBackendWrapper(bootstrapPath, routesMapDeclarationPath, rpcMapDeclarationPath, pikkuConfigImport, singletonServicesImport, wireServicesImport);
42
46
  await writeFileInDir(logger, nextBackendFile, content);
43
47
  }
44
48
  if (nextHTTPFile && fetchFile) {
45
49
  const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpMapDeclarationFile, packageMappings);
50
+ const rpcMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, rpcMapDeclarationFile, packageMappings);
46
51
  const fetchPath = getFileImportRelativePath(nextHTTPFile, fetchFile, packageMappings);
47
- const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
52
+ const content = serializeNextHTTPWrapper(routesMapDeclarationPath, rpcMapDeclarationPath, fetchPath);
48
53
  await writeFileInDir(logger, nextHTTPFile, content);
49
54
  }
50
55
  },
@@ -1 +1 @@
1
- export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, configImport: string, singleServicesFactoryImport: string, sessionServicesImport: string) => string;
1
+ export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, rpcMapPath: string, configImport: string, singleServicesFactoryImport: string, wireServicesImport: string) => string;