@pikku/cli 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/android-chrome-192x192.png +0 -0
  3. package/console-app/android-chrome-512x512.png +0 -0
  4. package/console-app/apple-touch-icon.png +0 -0
  5. package/console-app/assets/index-0Ui5UudO.css +1 -0
  6. package/console-app/assets/index-C19L3UJu.js +637 -0
  7. package/console-app/favicon-16x16.png +0 -0
  8. package/console-app/favicon-32x32.png +0 -0
  9. package/console-app/favicon.ico +0 -0
  10. package/console-app/index.html +29 -0
  11. package/console-app/pikku-console-logo.png +0 -0
  12. package/console-app/site.webmanifest +19 -0
  13. package/console-app/wiring-icons/cron.svg +6 -0
  14. package/console-app/wiring-icons/function.png +0 -0
  15. package/console-app/wiring-icons/http.svg +2 -0
  16. package/console-app/wiring-icons/mcp.svg +1 -0
  17. package/console-app/wiring-icons/queue.svg +18 -0
  18. package/console-app/wiring-icons/sse.svg +5 -0
  19. package/console-app/wiring-icons/websocket.svg +8 -0
  20. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
  21. package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
  22. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
  23. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
  24. package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
  25. package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
  26. package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
  27. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
  28. package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
  29. package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
  30. package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
  31. package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
  32. package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
  33. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  34. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  35. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
  36. package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
  37. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  38. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -11
  39. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  40. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  41. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
  42. package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
  43. package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
  44. package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
  45. package/dist/.pikku/function/pikku-function-types.gen.d.ts +71 -20
  46. package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
  47. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  48. package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
  49. package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
  50. package/dist/.pikku/function/pikku-functions.gen.js +119 -0
  51. package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
  52. package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
  53. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  54. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
  55. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
  56. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
  57. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
  58. package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +1 -1
  59. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
  60. package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
  61. package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
  62. package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
  63. package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
  64. package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
  65. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  66. package/dist/.pikku/pikku-services.gen.js +4 -0
  67. package/dist/.pikku/pikku-types.gen.d.ts +4 -2
  68. package/dist/.pikku/pikku-types.gen.js +7 -3
  69. package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
  70. package/dist/.pikku/pikku-websocket.gen.js +1 -1
  71. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  72. package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
  73. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  74. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  75. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  76. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +3 -3
  77. package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
  78. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
  79. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
  80. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
  81. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  82. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
  83. package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +1 -1
  84. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
  85. package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
  86. package/dist/.pikku/schemas/register.gen.js +33 -19
  87. package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  91. package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
  92. package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
  93. package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
  95. package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
  96. package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
  97. package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
  98. package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
  99. package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
  100. package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
  101. package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
  103. package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
  104. package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
  105. package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
  106. package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
  107. package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
  108. package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
  111. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
  112. package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
  113. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
  114. package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
  115. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
  116. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
  117. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
  118. package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
  119. package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
  120. package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
  121. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
  122. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
  123. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  124. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  126. package/dist/bin/pikku.js +20 -47
  127. package/dist/src/cli.wiring.js +29 -2
  128. package/dist/src/functions/commands/all.d.ts +1 -1
  129. package/dist/src/functions/commands/all.js +79 -176
  130. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  131. package/dist/src/functions/commands/bootstrap.js +13 -22
  132. package/dist/src/functions/commands/console.d.ts +7 -0
  133. package/dist/src/functions/commands/console.js +106 -0
  134. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
  135. package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
  136. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
  137. package/dist/src/functions/commands/pikku-command-summary.js +55 -0
  138. package/dist/src/functions/commands/versions-check.d.ts +1 -0
  139. package/dist/src/functions/commands/versions-check.js +17 -0
  140. package/dist/src/functions/commands/versions-init.d.ts +7 -0
  141. package/dist/src/functions/commands/versions-init.js +15 -0
  142. package/dist/src/functions/commands/versions-update.d.ts +1 -0
  143. package/dist/src/functions/commands/versions-update.js +20 -0
  144. package/dist/src/functions/commands/watch.d.ts +1 -1
  145. package/dist/src/functions/commands/watch.js +4 -5
  146. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
  147. package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
  148. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  149. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
  150. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
  151. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +8 -16
  152. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
  153. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
  154. package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
  155. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
  156. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
  157. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
  158. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
  159. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
  160. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
  161. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
  162. package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
  163. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
  164. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
  165. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
  166. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
  167. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  168. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  169. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  170. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
  171. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  172. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
  173. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  174. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  175. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
  176. package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
  177. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
  178. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
  179. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  180. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
  181. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  182. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
  183. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  184. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  185. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
  186. package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
  187. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
  188. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
  189. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
  190. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
  191. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
  192. package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
  193. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
  194. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
  195. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
  196. package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
  197. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
  198. package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
  199. package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
  200. package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
  201. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  202. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  203. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  204. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +5 -5
  205. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  206. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  207. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  208. package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
  209. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
  210. package/dist/src/functions/wirings/functions/schemas.js +8 -10
  211. package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
  212. package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
  213. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -2
  214. package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
  215. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  216. package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
  217. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
  218. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -2
  219. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  220. package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
  221. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  222. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  223. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  224. package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
  225. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  226. package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
  227. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  228. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  229. package/dist/src/functions/wirings/http/serialize-http-types.js +65 -20
  230. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
  231. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
  232. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  233. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
  234. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  235. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
  236. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  237. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +13 -4
  238. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
  239. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  240. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
  241. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
  242. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
  243. package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
  244. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  245. package/dist/src/functions/wirings/package/pikku-command-package.js +3 -3
  246. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
  247. package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
  248. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  249. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
  250. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  251. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
  252. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  253. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
  254. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  255. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
  256. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  257. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  258. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  259. package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
  260. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  261. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  262. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
  263. package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
  264. package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
  265. package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
  266. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  267. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
  268. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  269. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
  270. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  271. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
  272. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  273. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
  274. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  275. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
  276. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  277. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
  278. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
  279. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
  280. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
  281. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +85 -60
  282. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
  284. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  285. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  286. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  287. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
  288. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
  289. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
  290. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
  291. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
  292. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
  293. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
  294. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
  295. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
  296. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
  297. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
  298. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
  299. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
  300. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
  301. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
  302. package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
  303. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
  304. package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
  305. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  306. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +6 -35
  307. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
  308. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
  309. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
  310. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
  311. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
  312. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
  313. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
  314. package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
  315. package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
  316. package/dist/src/services/cli-logger-forwarder.service.js +1 -1
  317. package/dist/src/services/cli-logger.service.d.ts +1 -1
  318. package/dist/src/services/cli-logger.service.js +1 -1
  319. package/dist/src/services.d.ts +1 -1
  320. package/dist/src/services.js +53 -6
  321. package/dist/src/utils/command-summary.d.ts +2 -1
  322. package/dist/src/utils/command-summary.js +2 -1
  323. package/dist/src/utils/contract-versions.d.ts +6 -0
  324. package/dist/src/utils/contract-versions.js +25 -0
  325. package/dist/src/utils/file-import-path.js +20 -6
  326. package/dist/src/utils/pikku-cli-config.js +77 -14
  327. package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
  328. package/dist/src/utils/pikku-files-and-methods.js +15 -60
  329. package/dist/src/utils/serialize-import-map.d.ts +2 -1
  330. package/dist/src/utils/serialize-import-map.js +3 -54
  331. package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
  332. package/dist/src/utils/serialize-meta-ts.js +12 -0
  333. package/dist/src/utils/serialize-schemas.d.ts +3 -0
  334. package/dist/src/utils/serialize-schemas.js +38 -0
  335. package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
  336. package/dist/src/utils/strip-verbose-meta.js +15 -15
  337. package/dist/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +19 -10
  339. package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
  340. package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
  341. package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
  342. package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
  343. package/.pikku/channel/pikku-channels.gen.ts +0 -4
  344. package/.pikku/cli/pikku-cli-channel.ts +0 -92
  345. package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
  346. package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
  347. package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
  348. package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
  349. package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
  350. package/.pikku/cli/pikku-cli.gen.ts +0 -41
  351. package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
  352. package/.pikku/function/pikku-function-types.gen.ts +0 -572
  353. package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
  354. package/.pikku/function/pikku-functions-meta.gen.json +0 -656
  355. package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
  356. package/.pikku/http/pikku-http-types.gen.ts +0 -102
  357. package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
  358. package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
  359. package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
  360. package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
  361. package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
  362. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
  363. package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
  364. package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
  365. package/.pikku/mcp/pikku-mcp.gen.json +0 -5
  366. package/.pikku/pikku-bootstrap.gen.ts +0 -17
  367. package/.pikku/pikku-services.gen.ts +0 -28
  368. package/.pikku/pikku-types.gen.ts +0 -30
  369. package/.pikku/pikku-websocket.gen.ts +0 -90
  370. package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
  371. package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
  372. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
  373. package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
  374. package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
  375. package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
  376. package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
  377. package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
  378. package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
  379. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
  380. package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
  381. package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
  382. package/.pikku/schemas/register.gen.ts +0 -71
  383. package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
  384. package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
  385. package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
  386. package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  387. package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
  388. package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
  389. package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
  390. package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
  391. package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
  392. package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
  393. package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
  394. package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
  395. package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
  396. package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
  397. package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
  398. package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
  399. package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
  400. package/.pikku/services/config.gen.json +0 -104
  401. package/.pikku/services/getInspectorState.gen.json +0 -10
  402. package/.pikku/services/jwt.gen.json +0 -13
  403. package/.pikku/services/logger.gen.json +0 -25
  404. package/.pikku/services/queueService.gen.json +0 -14
  405. package/.pikku/services/schedulerService.gen.json +0 -17
  406. package/.pikku/services/schema.gen.json +0 -14
  407. package/.pikku/services/secrets.gen.json +0 -13
  408. package/.pikku/services/variables.gen.json +0 -13
  409. package/.pikku/services/workflowService.gen.json +0 -31
  410. package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
  411. package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
  412. package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
  413. package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
  414. package/CHANGELOG.md +0 -957
  415. package/bin/pikku.ts +0 -88
  416. package/build.sh +0 -75
  417. package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
  418. package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
  419. package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
  420. package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
  421. package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
  422. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
  423. package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
  424. package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
  425. package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
  426. package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
  427. package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
  428. package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
  429. package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
  430. package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
  431. package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
  432. package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
  433. package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
  434. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
  435. package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
  436. package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
  437. package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
  438. package/dist/src/utils/custom-types-generator.d.ts +0 -2
  439. package/dist/src/utils/custom-types-generator.js +0 -41
  440. package/dist/src/utils/schema-generator.d.ts +0 -7
  441. package/dist/src/utils/schema-generator.js +0 -238
  442. package/pikku.config.json +0 -29
  443. package/run-tests.sh +0 -53
  444. package/src/cli.wiring.ts +0 -112
  445. package/src/functions/commands/all.ts +0 -313
  446. package/src/functions/commands/bootstrap.ts +0 -35
  447. package/src/functions/commands/watch.ts +0 -61
  448. package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
  449. package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
  450. package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
  451. package/src/functions/wirings/channels/pikku-channels.ts +0 -59
  452. package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
  453. package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
  454. package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
  455. package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
  456. package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
  457. package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
  458. package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
  459. package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
  460. package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
  461. package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
  462. package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
  463. package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
  464. package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
  465. package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
  466. package/src/functions/wirings/fetch/index.ts +0 -36
  467. package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
  468. package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
  469. package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
  470. package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
  471. package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
  472. package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
  473. package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
  474. package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
  475. package/src/functions/wirings/functions/schemas.ts +0 -56
  476. package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
  477. package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
  478. package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
  479. package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
  480. package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
  481. package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
  482. package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
  483. package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
  484. package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
  485. package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
  486. package/src/functions/wirings/http/serialize-http-types.ts +0 -105
  487. package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
  488. package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
  489. package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
  490. package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
  491. package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
  492. package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
  493. package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
  494. package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
  495. package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
  496. package/src/functions/wirings/package/pikku-command-package.ts +0 -81
  497. package/src/functions/wirings/package/serialize-package.ts +0 -69
  498. package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
  499. package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
  500. package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
  501. package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
  502. package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
  503. package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
  504. package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
  505. package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
  506. package/src/functions/wirings/queue/pikku-queue.ts +0 -66
  507. package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
  508. package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
  509. package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
  510. package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
  511. package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
  512. package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
  513. package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
  514. package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
  515. package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
  516. package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
  517. package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
  518. package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
  519. package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
  520. package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
  521. package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
  522. package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
  523. package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
  524. package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
  525. package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
  526. package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
  527. package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
  528. package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
  529. package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
  530. package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
  531. package/src/middleware/log-command-info-and-time.ts +0 -35
  532. package/src/services/cli-logger-forwarder.service.ts +0 -99
  533. package/src/services/cli-logger.service.ts +0 -108
  534. package/src/services.ts +0 -322
  535. package/src/utils/check-required-types.ts +0 -65
  536. package/src/utils/command-summary.ts +0 -107
  537. package/src/utils/custom-types-generator.ts +0 -55
  538. package/src/utils/file-import-path.test.ts +0 -175
  539. package/src/utils/file-import-path.ts +0 -53
  540. package/src/utils/file-imports-serializer.ts +0 -25
  541. package/src/utils/file-writer.ts +0 -72
  542. package/src/utils/generate-bootstrap-file.ts +0 -43
  543. package/src/utils/get-cli-version.ts +0 -28
  544. package/src/utils/pikku-cli-config.ts +0 -495
  545. package/src/utils/pikku-files-and-methods.ts +0 -145
  546. package/src/utils/schema-generator.ts +0 -335
  547. package/src/utils/serialize-import-map.ts +0 -102
  548. package/src/utils/strip-verbose-meta.ts +0 -254
  549. package/tsconfig.json +0 -21
  550. package/types/application-types.d.ts +0 -27
  551. package/types/config.d.ts +0 -304
  552. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
  553. /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
@@ -30,18 +30,18 @@ export const pikkuWorkflowSleeper = pikkuSessionlessFunc<{ runId: string, stepId
30
30
  func: async ({ workflowService }, { runId, stepId }) => {
31
31
  await workflowService!.executeWorkflowSleepCompleted(runId, stepId)
32
32
  },
33
- internal: true,
33
+ remote: true,
34
34
  })
35
35
 
36
36
  export const pikkuRemoteInternalRPC = pikkuSessionlessFunc<{ rpcName: string, data?: any }, any>({
37
37
  func: async (_services, { rpcName, data }, { rpc }) => {
38
38
  return await (rpc.invoke as any)(rpcName, data)
39
39
  },
40
- internal: true,
40
+ remote: true,
41
41
  })
42
42
 
43
- wireQueueWorker({ queueName: 'pikku-workflow-step-worker', func: pikkuWorkflowWorker })
44
- wireQueueWorker({ queueName: 'pikku-workflow-orchestrator', func: pikkuWorkflowOrchestrator })
45
- wireQueueWorker({ queueName: 'pikku-remote-internal-rpc', func: pikkuRemoteInternalRPC })
43
+ wireQueueWorker({ name: 'pikku-workflow-step-worker', func: pikkuWorkflowWorker })
44
+ wireQueueWorker({ name: 'pikku-workflow-orchestrator', func: pikkuWorkflowOrchestrator })
45
+ wireQueueWorker({ name: 'pikku-remote-internal-rpc', func: pikkuRemoteInternalRPC })
46
46
  `;
47
47
  };
@@ -1,4 +1,4 @@
1
- import { Logger, LogLevel } from '@pikku/core';
1
+ import { Logger, LogLevel } from '@pikku/core/services';
2
2
  import { PikkuChannel } from '@pikku/core/channel';
3
3
  import { ErrorCode } from '@pikku/inspector';
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { LogLevel } from '@pikku/core';
1
+ import { LogLevel } from '@pikku/core/services';
2
2
  /**
3
3
  * A logger implementation that forwards log messages to a CLI channel
4
4
  * instead of logging to console directly.
@@ -1,4 +1,4 @@
1
- import { Logger, LogLevel } from '@pikku/core';
1
+ import { Logger, LogLevel } from '@pikku/core/services';
2
2
  import { ErrorCode } from '@pikku/inspector';
3
3
  export declare class CLILogger implements Logger {
4
4
  private silent;
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { LogLevel } from '@pikku/core';
2
+ import { LogLevel } from '@pikku/core/services';
3
3
  const logo = `
4
4
  ______ _ _ _
5
5
  (_____ (_) | | |
@@ -5,7 +5,7 @@ import { ForwardedLogMessage } from './services/cli-logger-forwarder.service.js'
5
5
  /**
6
6
  * Default CLI renderer that logs output using the logger
7
7
  */
8
- export declare const defaultCLIRenderer: import("@pikku/core").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
8
+ export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
9
9
  export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
10
10
  /**
11
11
  * Singleton services factory for the Pikku CLI
@@ -1,14 +1,30 @@
1
1
  import { pikkuCLIRender } from '@pikku/core/cli';
2
- import { LocalVariablesService, LocalSecretService, LogLevel, } from '@pikku/core/services';
2
+ import { LocalVariablesService, LocalSecretService, LogLevel, InMemoryWorkflowService, } from '@pikku/core/services';
3
3
  import { CLILogger } from './services/cli-logger.service.js';
4
4
  import { getPikkuCLIConfig } from './utils/pikku-cli-config.js';
5
- import { inspect, serializeInspectorState, deserializeInspectorState, filterInspectorState, getInitialInspectorState, } from '@pikku/inspector';
5
+ import { inspect, serializeInspectorState, deserializeInspectorState, filterInspectorState, getInitialInspectorState, ErrorCode, } from '@pikku/inspector';
6
6
  import { glob } from 'tinyglobby';
7
7
  import path from 'path';
8
8
  import { CLILoggerForwarder, } from './services/cli-logger-forwarder.service.js';
9
9
  import { readFile, writeFile } from 'fs/promises';
10
- // Logger instance will be configured with log level from CLI flags in createConfig
11
- // Logo will be displayed conditionally in createConfig based on --silent flag
10
+ import { loadManifest } from './utils/contract-versions.js';
11
+ import { join } from 'path';
12
+ const DIAGNOSTIC_CODE_TO_LINT_KEY = {
13
+ [ErrorCode.SERVICES_NOT_DESTRUCTURED]: 'servicesNotDestructured',
14
+ [ErrorCode.WIRES_NOT_DESTRUCTURED]: 'wiresNotDestructured',
15
+ };
16
+ function processDiagnostics(diagnostics, lint) {
17
+ for (const diagnostic of diagnostics) {
18
+ const lintKey = DIAGNOSTIC_CODE_TO_LINT_KEY[diagnostic.code];
19
+ const severity = lintKey ? (lint?.[lintKey] ?? 'off') : 'off';
20
+ if (severity === 'error') {
21
+ logger.critical(diagnostic.code, diagnostic.message);
22
+ }
23
+ else if (severity === 'warn') {
24
+ logger.warn(`[${diagnostic.code}] ${diagnostic.message}`);
25
+ }
26
+ }
27
+ }
12
28
  const logger = new CLILogger({ logLogo: false, silent: false });
13
29
  /**
14
30
  * Parse a comma-separated string or array into an array of trimmed, non-empty strings
@@ -130,6 +146,7 @@ export const createConfig = async (_variablesService, data) => {
130
146
  return {
131
147
  ...cliConfig,
132
148
  ...data,
149
+ tags: cliConfig.tags,
133
150
  filters: parseCLIFilters(data),
134
151
  preloadedInspectorState,
135
152
  };
@@ -185,17 +202,45 @@ export const createSingletonServices = async (config) => {
185
202
  ignore: config.ignoreFiles || [],
186
203
  absolute: true,
187
204
  })))).flat();
188
- unfilteredState = inspect(logger, wiringFiles, {
205
+ const manifest = !setupOnly
206
+ ? ((await loadManifest(join(config.outDir, 'versions.json'))) ??
207
+ undefined)
208
+ : undefined;
209
+ unfilteredState = await inspect(logger, wiringFiles, {
189
210
  setupOnly,
190
211
  rootDir,
212
+ isExternalPackage: config.externalPackage,
191
213
  types: {
192
214
  configFileType: config.configFile,
193
215
  userSessionType: config.userSessionType,
194
216
  singletonServicesFactoryType: config.singletonServicesFactoryType,
195
217
  wireServicesFactoryType: config.wireServicesFactoryType,
196
218
  },
219
+ tags: config.tags,
220
+ externalPackages: config.externalPackages,
221
+ schemaConfig: !setupOnly
222
+ ? {
223
+ tsconfig: config.tsconfig,
224
+ schemasFromTypes: config.schemasFromTypes,
225
+ schema: config.schema,
226
+ }
227
+ : undefined,
228
+ openAPI: !setupOnly && config.openAPI
229
+ ? { additionalInfo: config.openAPI.additionalInfo }
230
+ : undefined,
231
+ manifest,
232
+ modelConfig: config.models || config.agentDefaults || config.agentOverrides
233
+ ? {
234
+ models: config.models,
235
+ agentDefaults: config.agentDefaults,
236
+ agentOverrides: config.agentOverrides,
237
+ }
238
+ : undefined,
197
239
  });
198
- // Save unfiltered inspector state to file if stateOutput is provided
240
+ if ('diagnostics' in unfilteredState &&
241
+ unfilteredState.diagnostics.length > 0) {
242
+ processDiagnostics(unfilteredState.diagnostics, config.lint);
243
+ }
199
244
  if (stateOutput && 'typesLookup' in unfilteredState) {
200
245
  try {
201
246
  logger.info(`Saving inspector state to ${stateOutput}`);
@@ -213,12 +258,14 @@ export const createSingletonServices = async (config) => {
213
258
  const filteredState = filterInspectorState(unfilteredState, filters, logger);
214
259
  return filteredState;
215
260
  };
261
+ const workflowService = new InMemoryWorkflowService();
216
262
  return {
217
263
  config,
218
264
  logger,
219
265
  variables,
220
266
  secrets: new LocalSecretService(variables),
221
267
  getInspectorState,
268
+ workflowService,
222
269
  };
223
270
  };
224
271
  export const createWireServices = async ({ logger }, { cli, channel }) => {
@@ -3,11 +3,12 @@ export interface CommandSummaryStats {
3
3
  channels?: number;
4
4
  functions?: number;
5
5
  scheduledTasks?: number;
6
+ triggers?: number;
6
7
  queueWorkers?: number;
7
8
  mcpEndpoints?: number;
8
9
  cliCommands?: number;
9
10
  workflows?: number;
10
- forgeNodes?: number;
11
+ nodes?: number;
11
12
  workflowGraphs?: number;
12
13
  [key: string]: number | undefined;
13
14
  }
@@ -48,11 +48,12 @@ export class CommandSummary {
48
48
  channels: 'WebSocket channel',
49
49
  functions: 'Function',
50
50
  scheduledTasks: 'Scheduled task',
51
+ triggers: 'Trigger',
51
52
  queueWorkers: 'Queue worker',
52
53
  mcpEndpoints: 'MCP endpoint',
53
54
  cliCommands: 'CLI command',
54
55
  workflows: 'Workflow',
55
- forgeNodes: 'Forge node',
56
+ nodes: 'Node',
56
57
  workflowGraphs: 'Workflow graph',
57
58
  };
58
59
  for (const [key, label] of Object.entries(statLabels)) {
@@ -0,0 +1,6 @@
1
+ import type { VersionManifest } from '@pikku/inspector';
2
+ import { createEmptyManifest } from '@pikku/inspector';
3
+ export { createEmptyManifest };
4
+ export type { ContractEntry, VersionValidateError, VersionManifest, VersionManifestEntry, } from '@pikku/inspector';
5
+ export declare function loadManifest(manifestPath: string): Promise<VersionManifest | null>;
6
+ export declare function saveManifest(manifestPath: string, manifest: VersionManifest): Promise<void>;
@@ -0,0 +1,25 @@
1
+ import { readFile, writeFile, mkdir } from 'fs/promises';
2
+ import { dirname } from 'path';
3
+ import { serializeManifest, createEmptyManifest } from '@pikku/inspector';
4
+ export { createEmptyManifest };
5
+ export async function loadManifest(manifestPath) {
6
+ try {
7
+ const content = await readFile(manifestPath, 'utf-8');
8
+ const manifest = JSON.parse(content);
9
+ if (manifest.manifestVersion !== 1) {
10
+ throw new Error(`Unsupported manifest version: ${manifest.manifestVersion}`);
11
+ }
12
+ return manifest;
13
+ }
14
+ catch (error) {
15
+ const nodeError = error;
16
+ if (nodeError.code === 'ENOENT') {
17
+ return null;
18
+ }
19
+ throw error;
20
+ }
21
+ }
22
+ export async function saveManifest(manifestPath, manifest) {
23
+ await mkdir(dirname(manifestPath), { recursive: true });
24
+ await writeFile(manifestPath, serializeManifest(manifest), 'utf-8');
25
+ }
@@ -4,13 +4,27 @@ export const getFileImportRelativePath = (from, to, packageMappings) => {
4
4
  if (!/^\.+\//.test(filePath)) {
5
5
  filePath = `./${filePath}`;
6
6
  }
7
- // If the path includes node_modules, strip everything before and including node_modules/
8
- if (filePath.includes('node_modules')) {
9
- const nodeModulesIndex = filePath.indexOf('node_modules/');
10
- if (nodeModulesIndex !== -1) {
11
- filePath = filePath.substring(nodeModulesIndex + 'node_modules/'.length);
7
+ const posixPath = filePath.replace(/\\/g, '/');
8
+ if (posixPath.includes('node_modules/')) {
9
+ const nodeModulesIndex = posixPath.indexOf('node_modules/');
10
+ filePath = posixPath.substring(nodeModulesIndex + 'node_modules/'.length);
11
+ if (filePath.startsWith('@types/')) {
12
+ filePath = filePath.substring('@types/'.length);
13
+ const parts = filePath.split('/');
14
+ if (parts[0].includes('__')) {
15
+ const [scope, name] = parts[0].split('__');
16
+ parts[0] = `@${scope}/${name}`;
17
+ filePath = parts.join('/');
18
+ }
19
+ }
20
+ if (filePath.endsWith('.d.ts')) {
21
+ filePath = filePath.slice(0, -5);
22
+ }
23
+ else if (filePath.endsWith('.ts')) {
24
+ filePath = filePath.slice(0, -3) + '.js';
12
25
  }
13
- return filePath.replace('.ts', '.js');
26
+ filePath = filePath.replace(/\/index$/, '').replace(/\/index\.js$/, '');
27
+ return filePath;
14
28
  }
15
29
  const absolutePath = resolve(dirname(from), to);
16
30
  const fromAbsolutePath = resolve(dirname(from));
@@ -162,6 +162,25 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
162
162
  if (!result.rpc.remoteRpcWorkersPath) {
163
163
  result.rpc.remoteRpcWorkersPath = join(rpcDir, 'pikku-remote-rpc-workers.gen.ts');
164
164
  }
165
+ const triggerDir = join(result.outDir, 'trigger');
166
+ if (!result.triggersTypesFile) {
167
+ result.triggersTypesFile = join(triggerDir, 'pikku-trigger-types.gen.ts');
168
+ }
169
+ if (!result.triggersWiringFile) {
170
+ result.triggersWiringFile = join(triggerDir, 'pikku-trigger-wirings.gen.ts');
171
+ }
172
+ if (!result.triggersWiringMetaFile) {
173
+ result.triggersWiringMetaFile = join(triggerDir, 'pikku-trigger-wirings-meta.gen.ts');
174
+ }
175
+ if (!result.triggersWiringMetaJsonFile) {
176
+ result.triggersWiringMetaJsonFile = join(triggerDir, 'pikku-trigger-wirings-meta.gen.json');
177
+ }
178
+ if (!result.triggerSourcesMetaFile) {
179
+ result.triggerSourcesMetaFile = join(triggerDir, 'pikku-trigger-sources-meta.gen.ts');
180
+ }
181
+ if (!result.triggerSourcesMetaJsonFile) {
182
+ result.triggerSourcesMetaJsonFile = join(triggerDir, 'pikku-trigger-sources-meta.gen.json');
183
+ }
165
184
  // Scheduler
166
185
  if (!result.schedulersWiringFile) {
167
186
  result.schedulersWiringFile = join(schedulerDir, 'pikku-schedulers-wirings.gen.ts');
@@ -219,9 +238,6 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
219
238
  if (!result.middlewareFile) {
220
239
  result.middlewareFile = join(middlewareDir, 'pikku-middleware.gen.ts');
221
240
  }
222
- if (!result.middlewareGroupsMetaFile) {
223
- result.middlewareGroupsMetaFile = join(middlewareDir, 'pikku-middleware-groups-meta.gen.ts');
224
- }
225
241
  if (!result.middlewareGroupsMetaJsonFile) {
226
242
  result.middlewareGroupsMetaJsonFile = join(middlewareDir, 'pikku-middleware-groups-meta.gen.json');
227
243
  }
@@ -230,14 +246,13 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
230
246
  if (!result.permissionsFile) {
231
247
  result.permissionsFile = join(permissionsDir, 'pikku-permissions.gen.ts');
232
248
  }
249
+ if (!result.permissionsGroupsMetaJsonFile) {
250
+ result.permissionsGroupsMetaJsonFile = join(permissionsDir, 'pikku-permissions-groups-meta.gen.json');
251
+ }
233
252
  // Bootstrap files
234
253
  if (!result.bootstrapFile) {
235
254
  result.bootstrapFile = join(result.outDir, 'pikku-bootstrap.gen.ts');
236
255
  }
237
- // Package service factories (for external packages)
238
- if (!result.packageFile) {
239
- result.packageFile = join(result.outDir, 'pikku-package.gen.ts');
240
- }
241
256
  // MCP
242
257
  if (!result.mcpWiringsMetaFile) {
243
258
  result.mcpWiringsMetaFile = join(mcpDir, 'pikku-mcp-wirings-meta.gen.ts');
@@ -254,6 +269,23 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
254
269
  if (!result.mcpTypesFile) {
255
270
  result.mcpTypesFile = join(mcpDir, 'pikku-mcp-types.gen.ts');
256
271
  }
272
+ // AI Agent
273
+ const agentDir = join(result.outDir, 'agent');
274
+ if (!result.agentWiringsFile) {
275
+ result.agentWiringsFile = join(agentDir, 'pikku-agent-wirings.gen.ts');
276
+ }
277
+ if (!result.agentWiringMetaFile) {
278
+ result.agentWiringMetaFile = join(agentDir, 'pikku-agent-wirings-meta.gen.ts');
279
+ }
280
+ if (!result.agentWiringMetaJsonFile) {
281
+ result.agentWiringMetaJsonFile = join(agentDir, 'pikku-agent-wirings-meta.gen.json');
282
+ }
283
+ if (!result.agentTypesFile) {
284
+ result.agentTypesFile = join(agentDir, 'pikku-agent-types.gen.ts');
285
+ }
286
+ if (!result.agentMapDeclarationFile) {
287
+ result.agentMapDeclarationFile = join(agentDir, 'pikku-agent-map.gen.d.ts');
288
+ }
257
289
  // CLI
258
290
  if (!result.cliWiringsFile) {
259
291
  result.cliWiringsFile = join(cliDir, 'pikku-cli-wirings.gen.ts');
@@ -270,19 +302,50 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
270
302
  if (!result.cliTypesFile) {
271
303
  result.cliTypesFile = join(cliDir, 'pikku-cli-types.gen.ts');
272
304
  }
273
- // Forge
274
- const forgeDir = join(result.outDir, 'forge');
275
- if (!result.forgeNodesMetaJsonFile) {
276
- result.forgeNodesMetaJsonFile = join(forgeDir, 'pikku-forge-nodes-meta.gen.json');
305
+ const consoleDir = join(result.outDir, 'console');
306
+ if (!result.nodesMetaJsonFile) {
307
+ result.nodesMetaJsonFile = join(consoleDir, 'pikku-nodes-meta.gen.json');
308
+ }
309
+ if (!result.nodeTypesFile) {
310
+ result.nodeTypesFile = join(consoleDir, 'pikku-node-types.gen.ts');
311
+ }
312
+ // External (for wireSecret, external service factories, and external meta)
313
+ const externalDir = join(result.outDir, 'external');
314
+ if (!result.packageFile) {
315
+ result.packageFile = join(externalDir, 'pikku-package.gen.ts');
316
+ }
317
+ if (!result.externalTypesFile) {
318
+ result.externalTypesFile = join(externalDir, 'pikku-external-types.gen.ts');
319
+ }
320
+ // Secrets (typed wrapper for SecretService)
321
+ const secretsDir = join(result.outDir, 'secrets');
322
+ if (!result.secretTypesFile) {
323
+ result.secretTypesFile = join(secretsDir, 'pikku-secret-types.gen.ts');
324
+ }
325
+ if (!result.secretsFile) {
326
+ result.secretsFile = join(secretsDir, 'pikku-secrets.gen.ts');
327
+ }
328
+ if (!result.secretsMetaJsonFile) {
329
+ result.secretsMetaJsonFile = join(secretsDir, 'pikku-secrets-meta.gen.json');
330
+ }
331
+ // Variables (typed wrapper for VariablesService)
332
+ const variablesDir = join(result.outDir, 'variables');
333
+ if (!result.variableTypesFile) {
334
+ result.variableTypesFile = join(variablesDir, 'pikku-variable-types.gen.ts');
335
+ }
336
+ if (!result.variablesFile) {
337
+ result.variablesFile = join(variablesDir, 'pikku-variables.gen.ts');
277
338
  }
278
- if (!result.forgeTypesFile) {
279
- result.forgeTypesFile = join(forgeDir, 'pikku-forge-types.gen.ts');
339
+ if (!result.variablesMetaJsonFile) {
340
+ result.variablesMetaJsonFile = join(variablesDir, 'pikku-variables-meta.gen.json');
280
341
  }
281
342
  if (requiredFields.length > 0) {
282
343
  validateCLIConfig(result, requiredFields);
283
344
  }
284
345
  for (const objectKey of Object.keys(result)) {
285
- if (objectKey.endsWith('File') || objectKey.endsWith('Directory')) {
346
+ if (objectKey.endsWith('File') ||
347
+ objectKey.endsWith('Directory') ||
348
+ objectKey.endsWith('Dir')) {
286
349
  const relativeTo = CONFIG_DIR_FILES.includes(objectKey)
287
350
  ? result.configDir
288
351
  : result.rootDir;
@@ -4,7 +4,6 @@ interface Meta {
4
4
  variable: string;
5
5
  type: string;
6
6
  typePath: string;
7
- errors: Map<string, string[]>;
8
7
  }
9
8
  export type FilesAndMethods = {
10
9
  userSessionType: Meta;
@@ -1,70 +1,25 @@
1
- const getMetaTypes = (type, map, desiredType) => {
2
- const errors = new Map();
3
- if (desiredType) {
4
- for (const [file, meta] of map.entries()) {
5
- for (const { type: entryType, variable, typePath } of meta) {
6
- if (entryType === desiredType) {
7
- if (entryType === null || typePath === null) {
8
- throw new Error(`Unknown state due to metaType calculation: entryType or typePath is null for ${desiredType} in ${file}`);
9
- }
10
- return { file, variable, type: entryType, typePath, errors };
11
- }
12
- }
13
- }
14
- errors.set(`No ${desiredType} found that extends ${type}`, map);
15
- return;
16
- }
17
- const totalValues = Array.from(map.values()).flat();
18
- if (totalValues.length === 0) {
19
- const helpMessage = type === 'CoreConfig'
20
- ? `No ${type} found. Make sure you have exported a createConfig function in your codebase:\n\n` +
21
- `export const createConfig: CreateConfig<Config> = async () => {\n` +
22
- ` return {}\n` +
23
- `}\n\n` +
24
- `Possible issues:\n` +
25
- `- srcDirectories in pikku.config.json doesn't include the file with the createConfig method`
26
- : `No ${type} found`;
27
- errors.set(helpMessage, map);
28
- }
29
- else if (totalValues.length > 1) {
30
- errors.set(`More than one ${type} found`, map);
31
- }
32
- else {
33
- const entry = Array.from(map.entries())[0];
34
- if (entry) {
35
- const [file, [{ type: entryType, variable, typePath }]] = entry;
36
- if (entryType === null || typePath === null) {
37
- throw new Error(`Unknown state due to metaType calculation: entryType or typePath is null for ${type} in ${file}`);
38
- }
39
- return { file, type: entryType, variable, typePath, errors };
40
- }
41
- }
42
- return;
43
- };
1
+ import { getFilesAndMethods, } from '@pikku/inspector';
44
2
  /**
45
3
  * @deprecated Use state.filesAndMethods from InspectorState instead
46
4
  */
47
5
  export const getPikkuFilesAndMethods = async (state, options = {}) => {
48
- const { singletonServicesTypeImportMap, wireServicesTypeImportMap, userSessionTypeImportMap, wireServicesFactories, singletonServicesFactories, configFactories, } = state;
49
- const { configFileType, userSessionType, singletonServicesFactoryType, wireServicesFactoryType, } = options;
50
- let errors = new Map();
51
- const result = {
52
- userSessionType: getMetaTypes('CoreUserSession', userSessionTypeImportMap, userSessionType),
53
- singletonServicesType: getMetaTypes('CoreSingletonServices', singletonServicesTypeImportMap),
54
- wireServicesType: getMetaTypes('CoreServices', wireServicesTypeImportMap),
55
- pikkuConfigFactory: getMetaTypes('CoreConfig', configFactories, configFileType),
56
- singletonServicesFactory: getMetaTypes('CreateSingletonServices', singletonServicesFactories, singletonServicesFactoryType),
57
- wireServicesFactory: getMetaTypes('CreateWireServices', wireServicesFactories, wireServicesFactoryType),
58
- };
6
+ const { result: sharedResult, errors } = getFilesAndMethods(state, options);
59
7
  if (errors.size > 0) {
60
- const result = ['Found errors:'];
8
+ const messages = ['Found errors:'];
61
9
  errors.forEach((filesAndMethods, message) => {
62
- result.push(`- ${message}`);
63
- filesAndMethods.forEach((methods, file) => {
64
- result.push(`\t* methods: ${methods.map(({ variable, type }) => `${variable}: ${type}`).join(', ')}`);
10
+ messages.push(`- ${message}`);
11
+ filesAndMethods.forEach((methods) => {
12
+ messages.push(`\t* methods: ${methods.map(({ variable, type }) => `${variable}: ${type}`).join(', ')}`);
65
13
  });
66
14
  });
67
- throw new Error(result.join('\n'));
15
+ throw new Error(messages.join('\n'));
68
16
  }
69
- return result;
17
+ return {
18
+ userSessionType: sharedResult.userSessionType,
19
+ singletonServicesType: sharedResult.singletonServicesType,
20
+ wireServicesType: sharedResult.wireServicesType,
21
+ pikkuConfigFactory: sharedResult.pikkuConfigFactory,
22
+ singletonServicesFactory: sharedResult.singletonServicesFactory,
23
+ wireServicesFactory: sharedResult.wireServicesFactory,
24
+ };
70
25
  };
@@ -1,2 +1,3 @@
1
1
  import { TypesMap } from '@pikku/inspector';
2
- export declare const serializeImportMap: (relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, requiredTypes: Set<string>) => string;
2
+ import { Logger } from '@pikku/core/services';
3
+ export declare const serializeImportMap: (logger: Logger, relativeToPath: string, packageMappings: Record<string, string>, typesMap: TypesMap, requiredTypes: Set<string>) => string;
@@ -1,5 +1,5 @@
1
1
  import { getFileImportRelativePath } from './file-import-path.js';
2
- export const serializeImportMap = (relativeToPath, packageMappings, typesMap, requiredTypes) => {
2
+ export const serializeImportMap = (logger, relativeToPath, packageMappings, typesMap, requiredTypes) => {
3
3
  const paths = new Map();
4
4
  Array.from(requiredTypes).forEach((requiredType) => {
5
5
  let originalName, uniqueName, path;
@@ -10,59 +10,8 @@ export const serializeImportMap = (relativeToPath, packageMappings, typesMap, re
10
10
  path = typeMeta.path;
11
11
  }
12
12
  catch (e) {
13
- // Handle missing types by trying to find a suitable import path
14
- // Look through all existing types in the map to find a path that might contain this type
15
- let foundPath = null;
16
- // Get all unique paths from the typesMap
17
- const allPaths = new Set();
18
- typesMap.customTypes.forEach(({ type, references }) => {
19
- references.forEach((ref) => {
20
- try {
21
- const refMeta = typesMap.getTypeMeta(ref);
22
- if (refMeta.path) {
23
- allPaths.add(refMeta.path);
24
- }
25
- }
26
- catch {
27
- // Continue
28
- }
29
- });
30
- });
31
- // Also check direct types in the map
32
- try {
33
- const mapEntries = typesMap.map?.entries?.() || [];
34
- for (const [_, typeMeta] of mapEntries) {
35
- if (typeMeta.path) {
36
- allPaths.add(typeMeta.path);
37
- }
38
- }
39
- }
40
- catch {
41
- // Continue
42
- }
43
- // For PascalCase types, prefer paths that look like type definition files
44
- if (/^[A-Z]/.test(requiredType)) {
45
- for (const candidatePath of allPaths) {
46
- if (candidatePath.includes('types') ||
47
- candidatePath.includes('.d.')) {
48
- foundPath = candidatePath;
49
- break;
50
- }
51
- }
52
- // If no types file found, use the first available path
53
- if (!foundPath && allPaths.size > 0) {
54
- foundPath = Array.from(allPaths)[0] || null;
55
- }
56
- }
57
- if (foundPath) {
58
- originalName = requiredType;
59
- uniqueName = requiredType;
60
- path = foundPath;
61
- }
62
- else {
63
- // No suitable path found, skip
64
- return;
65
- }
13
+ logger.warn(`Type '${requiredType}' not found in typesMap - skipping import`);
14
+ return;
66
15
  }
67
16
  if (!path) {
68
17
  // This is a custom type that exists in file, so we don't need to import it
@@ -0,0 +1,8 @@
1
+ export declare function serializeMetaTS({ jsonImportPath, supportsImportAttributes, pikkuStateNamespace, pikkuStateKey, metaTypeImport, metaTypeName, }: {
2
+ jsonImportPath: string;
3
+ supportsImportAttributes: boolean;
4
+ pikkuStateNamespace: string;
5
+ pikkuStateKey: string;
6
+ metaTypeImport: string;
7
+ metaTypeName: string;
8
+ }): string;
@@ -0,0 +1,12 @@
1
+ export function serializeMetaTS({ jsonImportPath, supportsImportAttributes, pikkuStateNamespace, pikkuStateKey, metaTypeImport, metaTypeName, }) {
2
+ const importStatement = supportsImportAttributes
3
+ ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
4
+ : `import metaData from '${jsonImportPath}'`;
5
+ const serializedOutput = [];
6
+ serializedOutput.push("import { pikkuState } from '@pikku/core'");
7
+ serializedOutput.push(`import { ${metaTypeName} } from '${metaTypeImport}'`);
8
+ serializedOutput.push(importStatement);
9
+ serializedOutput.push('');
10
+ serializedOutput.push(`pikkuState(null, '${pikkuStateNamespace}', '${pikkuStateKey}', metaData as ${metaTypeName})`);
11
+ return serializedOutput.join('\n');
12
+ }
@@ -0,0 +1,3 @@
1
+ import { JSONValue } from '@pikku/core';
2
+ import { CLILogger } from '../services/cli-logger.service.js';
3
+ export declare function saveSchemas(logger: CLILogger, schemaParentDir: string, schemas: Record<string, JSONValue>, requiredSchemas: Set<string>, supportsImportAttributes: boolean, packageName?: string | null): Promise<void>;
@@ -0,0 +1,38 @@
1
+ import { writeFileInDir } from './file-writer.js';
2
+ import { mkdir, writeFile } from 'fs/promises';
3
+ function toValidIdentifier(name) {
4
+ let result = name.replace(/[-./]/g, '_');
5
+ if (/^\d/.test(result)) {
6
+ result = '_' + result;
7
+ }
8
+ return result;
9
+ }
10
+ export async function saveSchemas(logger, schemaParentDir, schemas, requiredSchemas, supportsImportAttributes, packageName) {
11
+ await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, 'export const empty = null;');
12
+ if (requiredSchemas.size === 0) {
13
+ logger.info(`• Skipping schemas since none found.\x1b[0m`);
14
+ return;
15
+ }
16
+ await mkdir(`${schemaParentDir}/schemas`, { recursive: true });
17
+ await Promise.all(Object.entries(schemas).map(async ([schemaName, schema]) => {
18
+ if (requiredSchemas.has(schemaName)) {
19
+ await writeFile(`${schemaParentDir}/schemas/${schemaName}.schema.json`, JSON.stringify(schema), 'utf-8');
20
+ }
21
+ }));
22
+ const availableSchemas = Array.from(requiredSchemas).filter((schema) => schemas[schema]);
23
+ const packageNameArg = packageName ? `, '${packageName}'` : '';
24
+ const schemaImports = availableSchemas
25
+ .map((schema) => {
26
+ const identifier = toValidIdentifier(schema);
27
+ return `
28
+ import * as ${identifier} from './schemas/${schema}.schema.json' ${supportsImportAttributes ? `with { type: 'json' }` : ''}
29
+ addSchema('${schema}', ${identifier}${packageNameArg})
30
+ `;
31
+ })
32
+ .join('\n');
33
+ const importStatement = availableSchemas.length > 0
34
+ ? `import { addSchema } from '@pikku/core/schema'`
35
+ : '// No schemas to register';
36
+ await writeFileInDir(logger, `${schemaParentDir}/register.gen.ts`, `${importStatement}
37
+ ${schemaImports}`, { logWrite: true });
38
+ }