@pikku/cli 0.12.21 → 0.12.23

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 (442) hide show
  1. package/cli.schema.json +1 -1
  2. package/console-app/assets/index-C52h1B_L.css +1 -0
  3. package/console-app/assets/index-CAk106ji.js +232 -0
  4. package/console-app/index.html +3 -6
  5. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  6. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
  7. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  8. package/dist/.pikku/cli/pikku-cli-channel.d.ts +6 -6
  9. package/dist/.pikku/cli/pikku-cli-channel.js +280 -1
  10. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  11. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  12. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  13. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +782 -7
  14. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  15. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  16. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  17. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  18. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  19. package/dist/.pikku/function/pikku-function-types.gen.d.ts +41 -73
  20. package/dist/.pikku/function/pikku-function-types.gen.js +30 -40
  21. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  22. package/dist/.pikku/function/pikku-functions-meta.gen.json +1305 -378
  23. package/dist/.pikku/function/pikku-functions.gen.js +13 -1
  24. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  25. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  26. package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
  27. package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +1 -62
  28. package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -2
  29. package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -2
  30. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  31. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  32. package/dist/.pikku/pikku-bootstrap.gen.d.ts +3 -1
  33. package/dist/.pikku/pikku-bootstrap.gen.js +3 -1
  34. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  35. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  36. package/dist/.pikku/pikku-services.gen.d.ts +2 -1
  37. package/dist/.pikku/pikku-services.gen.js +1 -0
  38. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  39. package/dist/.pikku/pikku-types.gen.js +1 -1
  40. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  41. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  42. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.d.ts +1 -0
  43. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +6 -0
  44. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +250 -0
  45. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +4 -0
  46. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +5 -0
  47. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  48. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +66 -20
  49. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  50. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  51. package/dist/.pikku/schemas/register.gen.js +153 -29
  52. package/dist/.pikku/schemas/schemas/BinaryInput.schema.json +1 -0
  53. package/dist/.pikku/schemas/schemas/DbMigrateInput.schema.json +1 -0
  54. package/dist/.pikku/schemas/schemas/DbResetInput.schema.json +1 -0
  55. package/dist/.pikku/schemas/schemas/DbSeedInput.schema.json +1 -0
  56. package/dist/.pikku/schemas/schemas/FabricDbSchemaInput.schema.json +1 -0
  57. package/dist/.pikku/schemas/schemas/FabricDbSchemaOutput.schema.json +1 -0
  58. package/dist/.pikku/schemas/schemas/FabricDeployApplyInput.schema.json +1 -0
  59. package/dist/.pikku/schemas/schemas/FabricDeployApplyOutput.schema.json +1 -0
  60. package/dist/.pikku/schemas/schemas/FabricDeployListInput.schema.json +1 -0
  61. package/dist/.pikku/schemas/schemas/FabricDeployListOutput.schema.json +1 -0
  62. package/dist/.pikku/schemas/schemas/FabricDeployPlanInput.schema.json +1 -0
  63. package/dist/.pikku/schemas/schemas/FabricDeployPlanOutput.schema.json +1 -0
  64. package/dist/.pikku/schemas/schemas/FabricDeployUnitsInput.schema.json +1 -0
  65. package/dist/.pikku/schemas/schemas/FabricDeployUnitsOutput.schema.json +1 -0
  66. package/dist/.pikku/schemas/schemas/FabricDomainsAddInput.schema.json +1 -0
  67. package/dist/.pikku/schemas/schemas/FabricDomainsAddOutput.schema.json +1 -0
  68. package/dist/.pikku/schemas/schemas/FabricDomainsListInput.schema.json +1 -0
  69. package/dist/.pikku/schemas/schemas/FabricDomainsListOutput.schema.json +1 -0
  70. package/dist/.pikku/schemas/schemas/FabricDomainsRemoveInput.schema.json +1 -0
  71. package/dist/.pikku/schemas/schemas/FabricDomainsRemoveOutput.schema.json +1 -0
  72. package/dist/.pikku/schemas/schemas/FabricErrorsInput.schema.json +1 -0
  73. package/dist/.pikku/schemas/schemas/FabricErrorsOutput.schema.json +1 -0
  74. package/dist/.pikku/schemas/schemas/FabricInitInput.schema.json +1 -0
  75. package/dist/.pikku/schemas/schemas/FabricInitOutput.schema.json +1 -0
  76. package/dist/.pikku/schemas/schemas/FabricLLMKeyInput.schema.json +1 -0
  77. package/dist/.pikku/schemas/schemas/FabricLLMKeyOutput.schema.json +1 -0
  78. package/dist/.pikku/schemas/schemas/FabricLinkInput.schema.json +1 -0
  79. package/dist/.pikku/schemas/schemas/FabricLinkOutput.schema.json +1 -0
  80. package/dist/.pikku/schemas/schemas/FabricLoginInput.schema.json +1 -0
  81. package/dist/.pikku/schemas/schemas/FabricLoginOutput.schema.json +1 -0
  82. package/dist/.pikku/schemas/schemas/FabricLogsInput.schema.json +1 -0
  83. package/dist/.pikku/schemas/schemas/FabricLogsOutput.schema.json +1 -0
  84. package/dist/.pikku/schemas/schemas/FabricMetricsInput.schema.json +1 -0
  85. package/dist/.pikku/schemas/schemas/FabricMetricsOutput.schema.json +1 -0
  86. package/dist/.pikku/schemas/schemas/FabricRollbackInput.schema.json +1 -0
  87. package/dist/.pikku/schemas/schemas/FabricRollbackOutput.schema.json +1 -0
  88. package/dist/.pikku/schemas/schemas/FabricSecretsListInput.schema.json +1 -0
  89. package/dist/.pikku/schemas/schemas/FabricSecretsListOutput.schema.json +1 -0
  90. package/dist/.pikku/schemas/schemas/FabricSecretsSetInput.schema.json +1 -0
  91. package/dist/.pikku/schemas/schemas/FabricSecretsSetOutput.schema.json +1 -0
  92. package/dist/.pikku/schemas/schemas/FabricStatusInput.schema.json +1 -0
  93. package/dist/.pikku/schemas/schemas/FabricStatusOutput.schema.json +1 -0
  94. package/dist/.pikku/schemas/schemas/FabricTraceInput.schema.json +1 -0
  95. package/dist/.pikku/schemas/schemas/FabricTraceOutput.schema.json +1 -0
  96. package/dist/.pikku/schemas/schemas/FabricValidateInput.schema.json +1 -0
  97. package/dist/.pikku/schemas/schemas/FabricValidateOutput.schema.json +1 -0
  98. package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
  99. package/dist/.pikku/schemas/schemas/PikkuCLIEntryOutput.schema.json +1 -0
  100. package/dist/.pikku/schemas/schemas/PikkuEventsScaffoldOutput.schema.json +1 -0
  101. package/dist/.pikku/schemas/schemas/PikkuMetaClientsInput.schema.json +1 -0
  102. package/dist/.pikku/schemas/schemas/PikkuMetaContextInput.schema.json +1 -0
  103. package/dist/.pikku/schemas/schemas/PikkuMetaFunctionsGetInput.schema.json +1 -0
  104. package/dist/.pikku/schemas/schemas/PikkuMetaFunctionsListInput.schema.json +1 -0
  105. package/dist/.pikku/schemas/schemas/PikkuMetaMiddlewareGetInput.schema.json +1 -0
  106. package/dist/.pikku/schemas/schemas/PikkuMetaMiddlewareListInput.schema.json +1 -0
  107. package/dist/.pikku/schemas/schemas/PikkuMetaPermissionsGetInput.schema.json +1 -0
  108. package/dist/.pikku/schemas/schemas/PikkuMetaPermissionsListInput.schema.json +1 -0
  109. package/dist/.pikku/schemas/schemas/PikkuMetaSchemasGetInput.schema.json +1 -0
  110. package/dist/.pikku/schemas/schemas/PikkuMetaSchemasListInput.schema.json +1 -0
  111. package/dist/.pikku/schemas/schemas/PikkuMetaWiresChannelInput.schema.json +1 -0
  112. package/dist/.pikku/schemas/schemas/PikkuMetaWiresHttpInput.schema.json +1 -0
  113. package/dist/.pikku/schemas/schemas/PikkuMetaWiresListInput.schema.json +1 -0
  114. package/dist/.pikku/schemas/schemas/PikkuMetaWiresQueueInput.schema.json +1 -0
  115. package/dist/.pikku/schemas/schemas/PikkuMetaWiresSchedulerInput.schema.json +1 -0
  116. package/dist/.pikku/schemas/schemas/PikkuMetaWiresTriggerInput.schema.json +1 -0
  117. package/dist/.pikku/schemas/schemas/PikkuMetaWiresTypeInput.schema.json +1 -0
  118. package/dist/.pikku/schemas/schemas/PikkuMetaWorkflowsGetInput.schema.json +1 -0
  119. package/dist/.pikku/schemas/schemas/PikkuMetaWorkflowsListInput.schema.json +1 -0
  120. package/dist/.pikku/schemas/schemas/PikkuSkillsInstallInput.schema.json +1 -0
  121. package/dist/.pikku/schemas/schemas/PikkuSkillsListInput.schema.json +1 -0
  122. package/dist/.pikku/schemas/schemas/PikkuTestsCoverageInput.schema.json +1 -0
  123. package/dist/.pikku/schemas/schemas/PikkuTestsInitInput.schema.json +1 -0
  124. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  125. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  126. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  127. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  128. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  129. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  130. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  131. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  132. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  133. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  134. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +235 -627
  135. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  136. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  137. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  138. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  139. package/dist/bin/pikku-bin.mjs +23 -0
  140. package/dist/bin/pikku.js +28 -1
  141. package/dist/src/cli.wiring.js +274 -8
  142. package/dist/src/deploy/analyzer/analyzer.d.ts +16 -1
  143. package/dist/src/deploy/analyzer/analyzer.js +83 -43
  144. package/dist/src/deploy/build-pipeline.js +83 -17
  145. package/dist/src/deploy/bundler/bundler.d.ts +1 -0
  146. package/dist/src/deploy/bundler/bundler.js +13 -5
  147. package/dist/src/deploy/codegen/per-unit-codegen.d.ts +8 -0
  148. package/dist/src/deploy/codegen/per-unit-codegen.js +46 -5
  149. package/dist/src/deploy/provider-adapter.d.ts +34 -0
  150. package/dist/src/deploy/server-entry.d.ts +16 -0
  151. package/dist/src/deploy/server-entry.js +81 -0
  152. package/dist/src/fabric/fabric-commands.d.ts +522 -0
  153. package/dist/src/fabric/fabric-commands.js +299 -0
  154. package/dist/src/fabric/functions/db-schema.function.d.ts +35 -0
  155. package/dist/src/fabric/functions/db-schema.function.js +37 -0
  156. package/dist/src/fabric/functions/deploy-list.function.d.ts +41 -0
  157. package/dist/src/fabric/functions/deploy-list.function.js +43 -0
  158. package/dist/src/fabric/functions/deploy-units.function.d.ts +35 -0
  159. package/dist/src/fabric/functions/deploy-units.function.js +41 -0
  160. package/dist/src/fabric/functions/deploy.function.d.ts +105 -0
  161. package/dist/src/fabric/functions/deploy.function.js +122 -0
  162. package/dist/src/fabric/functions/domains-add.function.d.ts +35 -0
  163. package/dist/src/fabric/functions/domains-add.function.js +46 -0
  164. package/dist/src/fabric/functions/domains-list.function.d.ts +20 -0
  165. package/dist/src/fabric/functions/domains-list.function.js +50 -0
  166. package/dist/src/fabric/functions/domains-remove.function.d.ts +24 -0
  167. package/dist/src/fabric/functions/domains-remove.function.js +44 -0
  168. package/dist/src/fabric/functions/errors.function.d.ts +44 -0
  169. package/dist/src/fabric/functions/errors.function.js +50 -0
  170. package/dist/src/fabric/functions/init.function.d.ts +51 -0
  171. package/dist/src/fabric/functions/init.function.js +54 -0
  172. package/dist/src/fabric/functions/link.function.d.ts +28 -0
  173. package/dist/src/fabric/functions/link.function.js +77 -0
  174. package/dist/src/fabric/functions/llm-key.function.d.ts +46 -0
  175. package/dist/src/fabric/functions/llm-key.function.js +76 -0
  176. package/dist/src/fabric/functions/login.function.d.ts +42 -0
  177. package/dist/src/fabric/functions/login.function.js +68 -0
  178. package/dist/src/fabric/functions/logs.function.d.ts +40 -0
  179. package/dist/src/fabric/functions/logs.function.js +84 -0
  180. package/dist/src/fabric/functions/metrics.function.d.ts +32 -0
  181. package/dist/src/fabric/functions/metrics.function.js +49 -0
  182. package/dist/src/fabric/functions/rollback.function.d.ts +76 -0
  183. package/dist/src/fabric/functions/rollback.function.js +69 -0
  184. package/dist/src/fabric/functions/secrets-list.function.d.ts +24 -0
  185. package/dist/src/fabric/functions/secrets-list.function.js +37 -0
  186. package/dist/src/fabric/functions/secrets-set.function.d.ts +32 -0
  187. package/dist/src/fabric/functions/secrets-set.function.js +36 -0
  188. package/dist/src/fabric/functions/status.function.d.ts +34 -0
  189. package/dist/src/fabric/functions/status.function.js +43 -0
  190. package/dist/src/fabric/functions/trace.function.d.ts +28 -0
  191. package/dist/src/fabric/functions/trace.function.js +45 -0
  192. package/dist/src/fabric/functions/validate.function.d.ts +50 -0
  193. package/dist/src/fabric/functions/validate.function.js +363 -0
  194. package/dist/src/fabric/lib/config.d.ts +64 -0
  195. package/dist/src/fabric/lib/config.js +62 -0
  196. package/dist/src/fabric/lib/console-url.d.ts +5 -0
  197. package/dist/src/fabric/lib/console-url.js +13 -0
  198. package/dist/src/fabric/lib/git.d.ts +53 -0
  199. package/dist/src/fabric/lib/git.js +151 -0
  200. package/dist/src/fabric/lib/http.d.ts +4 -0
  201. package/dist/src/fabric/lib/http.js +12 -0
  202. package/dist/src/fabric/lib/not-implemented.d.ts +5 -0
  203. package/dist/src/fabric/lib/not-implemented.js +8 -0
  204. package/dist/src/fabric/lib/output.d.ts +23 -0
  205. package/dist/src/fabric/lib/output.js +39 -0
  206. package/dist/src/fabric/lib/prompt.d.ts +12 -0
  207. package/dist/src/fabric/lib/prompt.js +32 -0
  208. package/dist/src/fabric/lib/stage.d.ts +7 -0
  209. package/dist/src/fabric/lib/stage.js +14 -0
  210. package/dist/src/fabric/sdk/pikku-fetch.gen.d.ts +14 -0
  211. package/dist/src/fabric/sdk/pikku-fetch.gen.js +30 -0
  212. package/dist/src/fabric/sdk/pikku-rpc.gen.d.ts +105 -0
  213. package/dist/src/fabric/sdk/pikku-rpc.gen.js +126 -0
  214. package/dist/src/functions/commands/all.d.ts +1 -1
  215. package/dist/src/functions/commands/binary.d.ts +7 -0
  216. package/dist/src/functions/commands/binary.js +40 -0
  217. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  218. package/dist/src/functions/commands/bootstrap.js +7 -4
  219. package/dist/src/functions/commands/console.d.ts +3 -3
  220. package/dist/src/functions/commands/db-migrate.d.ts +1 -0
  221. package/dist/src/functions/commands/db-migrate.js +35 -0
  222. package/dist/src/functions/commands/db-reset.d.ts +1 -0
  223. package/dist/src/functions/commands/db-reset.js +36 -0
  224. package/dist/src/functions/commands/db-seed.d.ts +1 -0
  225. package/dist/src/functions/commands/db-seed.js +27 -0
  226. package/dist/src/functions/commands/db-shared.d.ts +32 -0
  227. package/dist/src/functions/commands/db-shared.js +26 -0
  228. package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
  229. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  230. package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
  231. package/dist/src/functions/commands/dev.d.ts +3 -3
  232. package/dist/src/functions/commands/dev.js +142 -86
  233. package/dist/src/functions/commands/enable.d.ts +5 -4
  234. package/dist/src/functions/commands/enable.js +4 -0
  235. package/dist/src/functions/commands/info.d.ts +4 -4
  236. package/dist/src/functions/commands/load-user-project.d.ts +11 -0
  237. package/dist/src/functions/commands/load-user-project.js +40 -0
  238. package/dist/src/functions/commands/meta.d.ts +82 -0
  239. package/dist/src/functions/commands/meta.js +454 -0
  240. package/dist/src/functions/commands/new-addon.d.ts +3 -3
  241. package/dist/src/functions/commands/new-function.d.ts +3 -3
  242. package/dist/src/functions/commands/new-middleware.d.ts +3 -3
  243. package/dist/src/functions/commands/new-permission.d.ts +3 -3
  244. package/dist/src/functions/commands/new-wiring.d.ts +3 -3
  245. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  246. package/dist/src/functions/commands/pikku-command-bootstrap.js +15 -1
  247. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  248. package/dist/src/functions/commands/pikku-command-summary.js +3 -0
  249. package/dist/src/functions/commands/skills.d.ts +26 -0
  250. package/dist/src/functions/commands/skills.js +184 -0
  251. package/dist/src/functions/commands/tests-coverage.d.ts +7 -0
  252. package/dist/src/functions/commands/tests-coverage.js +231 -0
  253. package/dist/src/functions/commands/tests-init.d.ts +7 -0
  254. package/dist/src/functions/commands/tests-init.js +225 -0
  255. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  256. package/dist/src/functions/commands/versions-init.d.ts +3 -3
  257. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  258. package/dist/src/functions/commands/watch.d.ts +3 -3
  259. package/dist/src/functions/commands/watch.js +1 -1
  260. package/dist/src/functions/db/local-db.d.ts +48 -0
  261. package/dist/src/functions/db/local-db.js +106 -0
  262. package/dist/src/functions/db/seed.d.ts +11 -0
  263. package/dist/src/functions/db/seed.js +22 -0
  264. package/dist/src/functions/db/sql-migrator.d.ts +26 -0
  265. package/dist/src/functions/db/sql-migrator.js +104 -0
  266. package/dist/src/functions/db/sqlite-codegen.d.ts +45 -0
  267. package/dist/src/functions/db/sqlite-codegen.js +294 -0
  268. package/dist/src/functions/db/zod-codegen.d.ts +10 -0
  269. package/dist/src/functions/db/zod-codegen.js +109 -0
  270. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  271. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  272. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +21 -2
  273. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.d.ts +1 -0
  274. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.js +163 -0
  275. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
  276. package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +5 -2
  277. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -0
  278. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +32 -0
  279. package/dist/src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.d.ts +11 -0
  280. package/dist/src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.js +36 -0
  281. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  282. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -1
  283. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -1
  284. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +1 -10
  285. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -1
  286. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +76 -1
  287. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  288. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  289. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  290. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  291. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  292. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +5 -2
  293. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +5 -1
  294. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +8 -2
  295. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  296. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +27 -9
  297. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +5 -1
  298. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +13 -3
  299. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  300. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -1
  301. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  302. package/dist/src/functions/wirings/console/serialize-console-functions.js +5 -0
  303. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  304. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +5 -1
  305. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +7 -2
  306. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  307. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
  308. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  309. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  310. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  311. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  312. package/dist/src/functions/wirings/functions/serialize-function-types.js +78 -83
  313. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  314. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  315. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  316. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  317. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  318. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  319. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  320. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  321. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  322. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  323. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -2
  324. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  325. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  326. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  327. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  328. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  329. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  330. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  331. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  332. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -0
  333. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.js +26 -0
  334. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -0
  335. package/dist/src/functions/wirings/realtime/pikku-command-realtime.js +35 -0
  336. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.d.ts +23 -0
  337. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.js +98 -0
  338. package/dist/src/functions/wirings/realtime/serialize-realtime-client.d.ts +22 -0
  339. package/dist/src/functions/wirings/realtime/serialize-realtime-client.js +337 -0
  340. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  341. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  342. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  343. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  344. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +3 -1
  345. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
  346. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +2 -1
  347. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +13 -7
  348. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +1 -0
  349. package/dist/src/functions/wirings/rpc/serialize-react-query-hooks.js +1 -1
  350. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +7 -1
  351. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  352. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  353. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  354. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -1
  355. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +1 -1
  356. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  357. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  358. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  359. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.js +1 -1
  360. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +5 -1
  361. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +18 -4
  362. package/dist/src/functions/wirings/workflow/serialize-workflow-bootstrap-map.d.ts +3 -0
  363. package/dist/src/functions/wirings/workflow/serialize-workflow-bootstrap-map.js +40 -0
  364. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +14 -2
  365. package/dist/src/functions/workflows/all.workflow.js +41 -8
  366. package/dist/src/scaffold/rpc-remote.gen.d.ts +3 -3
  367. package/dist/src/scaffold/rpc-remote.gen.js +7 -2
  368. package/dist/src/services/cli-logger.service.d.ts +0 -1
  369. package/dist/src/services/cli-logger.service.js +12 -22
  370. package/dist/src/services.js +24 -66
  371. package/dist/src/utils/generate-bootstrap-file.js +3 -0
  372. package/dist/src/utils/parse-cli-filters.d.ts +18 -0
  373. package/dist/src/utils/parse-cli-filters.js +99 -0
  374. package/dist/src/utils/pikku-cli-config.js +29 -9
  375. package/dist/src/utils/serialize-schemas.js +1 -1
  376. package/dist/tsconfig.tsbuildinfo +1 -1
  377. package/package.json +9 -4
  378. package/skills/pikku-addon/SKILL.md +330 -0
  379. package/skills/pikku-ai-agent/SKILL.md +227 -0
  380. package/skills/pikku-ai-vercel/SKILL.md +78 -0
  381. package/skills/pikku-ai-voice/SKILL.md +85 -0
  382. package/skills/pikku-auth-js/SKILL.md +106 -0
  383. package/skills/pikku-aws/SKILL.md +107 -0
  384. package/skills/pikku-backblaze/SKILL.md +70 -0
  385. package/skills/pikku-cli/SKILL.md +281 -0
  386. package/skills/pikku-concepts/SKILL.md +281 -0
  387. package/skills/pikku-concepts/references/concept-mapping.md +528 -0
  388. package/skills/pikku-config/SKILL.md +208 -0
  389. package/skills/pikku-cron/SKILL.md +211 -0
  390. package/skills/pikku-deploy-azure/SKILL.md +69 -0
  391. package/skills/pikku-deploy-cloudflare/SKILL.md +80 -0
  392. package/skills/pikku-deploy-express/SKILL.md +83 -0
  393. package/skills/pikku-deploy-fastify/SKILL.md +70 -0
  394. package/skills/pikku-deploy-lambda/SKILL.md +107 -0
  395. package/skills/pikku-deploy-nextjs/SKILL.md +76 -0
  396. package/skills/pikku-deploy-uws/SKILL.md +85 -0
  397. package/skills/pikku-fabric/SKILL.md +245 -0
  398. package/skills/pikku-feature/SKILL.md +258 -0
  399. package/skills/pikku-gateway-slack/SKILL.md +112 -0
  400. package/skills/pikku-http/SKILL.md +317 -0
  401. package/skills/pikku-i18n/SKILL.md +217 -0
  402. package/skills/pikku-info/SKILL.md +95 -0
  403. package/skills/pikku-jose/SKILL.md +102 -0
  404. package/skills/pikku-kysely/SKILL.md +145 -0
  405. package/skills/pikku-mcp/SKILL.md +237 -0
  406. package/skills/pikku-mongodb/SKILL.md +102 -0
  407. package/skills/pikku-n8n-addon-map/SKILL.md +178 -0
  408. package/skills/pikku-n8n-code-translate/SKILL.md +166 -0
  409. package/skills/pikku-pino/SKILL.md +77 -0
  410. package/skills/pikku-queue/SKILL.md +237 -0
  411. package/skills/pikku-react/SKILL.md +183 -0
  412. package/skills/pikku-react-query/SKILL.md +205 -0
  413. package/skills/pikku-realtime/SKILL.md +285 -0
  414. package/skills/pikku-redis/SKILL.md +87 -0
  415. package/skills/pikku-rpc/SKILL.md +168 -0
  416. package/skills/pikku-rtl/SKILL.md +219 -0
  417. package/skills/pikku-schedule/SKILL.md +54 -0
  418. package/skills/pikku-schema-ajv/SKILL.md +60 -0
  419. package/skills/pikku-schema-cfworker/SKILL.md +60 -0
  420. package/skills/pikku-security/SKILL.md +243 -0
  421. package/skills/pikku-services/SKILL.md +247 -0
  422. package/skills/pikku-template-clone/SKILL.md +39 -0
  423. package/skills/pikku-testing/SKILL.md +428 -0
  424. package/skills/pikku-trigger/SKILL.md +177 -0
  425. package/skills/pikku-versioning/SKILL.md +169 -0
  426. package/skills/pikku-websocket/SKILL.md +239 -0
  427. package/skills/pikku-workflow/SKILL.md +283 -0
  428. package/skills/pikku-workflows-client/SKILL.md +150 -0
  429. package/skills/pikku-ws/SKILL.md +45 -0
  430. package/console-app/assets/index-BpY2pSuA.css +0 -10
  431. package/console-app/assets/index-DXLy-_D4.js +0 -717
  432. package/dist/.pikku/schemas/schemas/GraphStarterInput.schema.json +0 -1
  433. package/dist/.pikku/schemas/schemas/GraphStarterOutput.schema.json +0 -1
  434. package/dist/.pikku/schemas/schemas/WorkflowRunStatus.schema.json +0 -1
  435. package/dist/.pikku/schemas/schemas/WorkflowRunnerInput.schema.json +0 -1
  436. package/dist/.pikku/schemas/schemas/WorkflowStarterInput.schema.json +0 -1
  437. package/dist/.pikku/schemas/schemas/WorkflowStarterOutput.schema.json +0 -1
  438. package/dist/.pikku/schemas/schemas/WorkflowStatusCheckerInput.schema.json +0 -1
  439. package/dist/.pikku/schemas/schemas/WorkflowStatusStreamFullInput.schema.json +0 -1
  440. package/dist/.pikku/schemas/schemas/WorkflowStatusStreamInput.schema.json +0 -1
  441. package/dist/src/scaffold/workflow-routes.gen.d.ts +0 -84
  442. package/dist/src/scaffold/workflow-routes.gen.js +0 -229
@@ -0,0 +1,10 @@
1
+ export interface ZodCodegenOptions {
2
+ schemaFile: string;
3
+ outFile: string;
4
+ }
5
+ export interface ZodCodegenResult {
6
+ outFile: string;
7
+ written: boolean;
8
+ tables: string[];
9
+ }
10
+ export declare function generateZodTypes(options: ZodCodegenOptions): ZodCodegenResult;
@@ -0,0 +1,109 @@
1
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { dirname } from 'node:path';
3
+ const INTERFACE_RE = /export\s+interface\s+(\w+)\s*\{([^}]*)\}/g;
4
+ const FIELD_RE = /^\s*(\w+)\s*:\s*(.+?)\s*$/gm;
5
+ export function generateZodTypes(options) {
6
+ const src = readFileSync(options.schemaFile, 'utf8');
7
+ const tables = parseTables(src);
8
+ const body = emitZodModule(tables);
9
+ let existing = null;
10
+ try {
11
+ existing = readFileSync(options.outFile, 'utf8');
12
+ }
13
+ catch {
14
+ // ok
15
+ }
16
+ const written = existing !== body;
17
+ if (written) {
18
+ mkdirSync(dirname(options.outFile), { recursive: true });
19
+ writeFileSync(options.outFile, body, 'utf8');
20
+ }
21
+ return {
22
+ outFile: options.outFile,
23
+ written,
24
+ tables: tables.map((table) => table.name),
25
+ };
26
+ }
27
+ function parseTables(src) {
28
+ const tables = [];
29
+ for (const match of src.matchAll(INTERFACE_RE)) {
30
+ const name = match[1];
31
+ if (name === 'DB')
32
+ continue;
33
+ const body = match[2];
34
+ const fields = [];
35
+ for (const field of body.matchAll(FIELD_RE)) {
36
+ fields.push({ name: field[1], type: field[2].trim() });
37
+ }
38
+ tables.push({ name, fields });
39
+ }
40
+ return tables;
41
+ }
42
+ function emitZodModule(tables) {
43
+ const lines = [];
44
+ lines.push('// Generated by @pikku/cli — do not edit by hand.');
45
+ lines.push('// Run `pikku db migrate` to refresh.');
46
+ lines.push('');
47
+ lines.push("import { z } from 'zod'");
48
+ lines.push('');
49
+ for (const table of tables) {
50
+ const rowFields = [];
51
+ const insertFields = [];
52
+ for (const field of table.fields) {
53
+ const { schema, generated } = zodForType(field.type);
54
+ rowFields.push(` ${field.name}: ${schema},`);
55
+ insertFields.push(` ${field.name}: ${schema}${generated ? '.optional()' : ''},`);
56
+ }
57
+ lines.push(`export const ${table.name}Z = z.object({`);
58
+ lines.push(...rowFields);
59
+ lines.push('})');
60
+ lines.push('');
61
+ lines.push(`export const ${table.name}InsertZ = z.object({`);
62
+ lines.push(...insertFields);
63
+ lines.push('})');
64
+ lines.push('');
65
+ lines.push(`export const ${table.name}PatchZ = ${table.name}Z.partial()`);
66
+ lines.push('');
67
+ }
68
+ return `${lines.join('\n')}\n`;
69
+ }
70
+ function zodForType(tsType) {
71
+ const generatedMatch = tsType.match(/^Generated<(.+)>$/);
72
+ const generated = generatedMatch !== null;
73
+ let inner = generated ? generatedMatch[1].trim() : tsType;
74
+ const nullable = inner.endsWith(' | null');
75
+ if (nullable) {
76
+ inner = inner.slice(0, -' | null'.length).trim();
77
+ }
78
+ let schema;
79
+ switch (inner) {
80
+ case 'string':
81
+ schema = 'z.string()';
82
+ break;
83
+ case 'number':
84
+ schema = 'z.number()';
85
+ break;
86
+ case 'boolean':
87
+ schema = 'z.boolean()';
88
+ break;
89
+ case 'Date':
90
+ schema = 'z.date()';
91
+ break;
92
+ case 'unknown':
93
+ schema = 'z.unknown()';
94
+ break;
95
+ default:
96
+ if (inner.endsWith('[]')) {
97
+ const item = zodForType(inner.slice(0, -2).trim()).schema;
98
+ schema = `z.array(${item})`;
99
+ }
100
+ else {
101
+ schema = 'z.unknown()';
102
+ }
103
+ break;
104
+ }
105
+ if (nullable) {
106
+ schema += '.nullable()';
107
+ }
108
+ return { schema, generated };
109
+ }
@@ -1 +1 @@
1
- export declare const pikkuFetch: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuFetch: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuNext: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuNext: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -4,6 +4,7 @@ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { writeFileInDir } from '../../../utils/file-writer.js';
5
5
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
6
6
  import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './serialize-nextjs-backend-wrapper.js';
7
+ import { serializeNextJsBackendWorkerRPCWrapper as serializeNextBackendWorkerRPCWrapper } from './serialize-nextjs-backend-worker-rpc-wrapper.js';
7
8
  import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
8
9
  export const pikkuNext = pikkuSessionlessFunc({
9
10
  func: async ({ logger, config, getInspectorState }) => {
@@ -20,13 +21,31 @@ export const pikkuNext = pikkuSessionlessFunc({
20
21
  return;
21
22
  }
22
23
  const visitState = await getInspectorState();
23
- if (nextHTTPFile && !fetchFile) {
24
+ const nextBackendTransport = config.clientFiles?.nextBackendTransport ?? 'local';
25
+ const nextBackendFetcherImport = config.clientFiles?.nextBackendFetcherImport;
26
+ if ((nextHTTPFile || nextBackendTransport === 'http') && !fetchFile) {
24
27
  throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
25
28
  }
26
29
  if ((nextBackendFile || nextHTTPFile) && !rpcMapDeclarationFile) {
27
30
  throw new Error('rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work');
28
31
  }
29
- if (nextBackendFile) {
32
+ if (nextBackendFile && nextBackendTransport === 'http') {
33
+ const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
34
+ const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
35
+ const fetchPath = getFileImportRelativePath(nextBackendFile, fetchFile, packageMappings);
36
+ const content = serializeNextHTTPWrapper(routesMapDeclarationPath, rpcMapDeclarationPath, fetchPath, config.globalHTTPPrefix || '', "process.env.PIKKU_DEV_MACHINE_API_BASE ?? 'http://127.0.0.1:4004'");
37
+ await writeFileInDir(logger, nextBackendFile, content);
38
+ }
39
+ else if (nextBackendFile && nextBackendTransport === 'worker-rpc') {
40
+ if (!nextBackendFetcherImport) {
41
+ throw new Error("clientFiles.nextBackendFetcherImport is required when nextBackendTransport === 'worker-rpc'");
42
+ }
43
+ const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
44
+ const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
45
+ const content = serializeNextBackendWorkerRPCWrapper(routesMapDeclarationPath, rpcMapDeclarationPath, nextBackendFetcherImport, config.globalHTTPPrefix || '');
46
+ await writeFileInDir(logger, nextBackendFile, content);
47
+ }
48
+ else if (nextBackendFile) {
30
49
  checkRequiredTypes(visitState.filesAndMethodsErrors, {
31
50
  config: true,
32
51
  singletonServicesFactory: true,
@@ -0,0 +1 @@
1
+ export declare const serializeNextJsBackendWorkerRPCWrapper: (routesMapPath: string, rpcMapPath: string, fetcherImportPath: string, globalHTTPPrefix?: string) => string;
@@ -0,0 +1,163 @@
1
+ export const serializeNextJsBackendWorkerRPCWrapper = (routesMapPath, rpcMapPath, fetcherImportPath, globalHTTPPrefix = '') => {
2
+ return `'server-only'
3
+
4
+ /**
5
+ * Worker-RPC variant of the Next.js backend wrapper. Function code is NOT
6
+ * loaded in-process — every call is dispatched through the injected Fetcher.
7
+ * Generated by @pikku/cli (nextBackendTransport: 'worker-rpc').
8
+ */
9
+ import { PikkuNextJSWorkerRPC } from '@pikku/next'
10
+ import { NextRequest } from 'next/server.js'
11
+ import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
12
+ import type { FlattenedRPCMap } from '${rpcMapPath}'
13
+ import { fetcher } from '${fetcherImportPath}'
14
+
15
+ type RouteContext = { params: Promise<Record<string, string | string[]>> }
16
+
17
+ let _pikku: PikkuNextJSWorkerRPC | undefined
18
+ let _removeAPIPrefix = true
19
+
20
+ export const removeAPIPrefix = (enable: boolean) => {
21
+ _removeAPIPrefix = enable
22
+ }
23
+
24
+ export const pikku = (_options?: any) => {
25
+ if (!_pikku) {
26
+ _pikku = new PikkuNextJSWorkerRPC({ fetcher })
27
+ }
28
+
29
+ const dynamicActionRequest = async <
30
+ Route extends keyof HTTPWiringsMap,
31
+ Method extends keyof HTTPWiringsMap[Route]
32
+ >(
33
+ route: Route,
34
+ method: Method,
35
+ data: HTTPWiringHandlerOf<Route, Method>['input'] = null
36
+ ): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
37
+ return _pikku!.actionRequest(route, method, data as any)
38
+ }
39
+
40
+ const staticActionRequest = async <
41
+ Route extends keyof HTTPWiringsMap,
42
+ Method extends keyof HTTPWiringsMap[Route]
43
+ >(
44
+ route: Route,
45
+ method: Method,
46
+ data: HTTPWiringHandlerOf<Route, Method>['input'] = null
47
+ ): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
48
+ return _pikku!.staticActionRequest(route, method, data as any)
49
+ }
50
+
51
+ const dynamicPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
52
+ route: Route,
53
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
54
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
55
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
56
+ ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
57
+ return dynamicActionRequest(route, 'POST', args[0] ?? null)
58
+ }
59
+
60
+ const dynamicGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
61
+ route: Route,
62
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
63
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
64
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
65
+ ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
66
+ return dynamicActionRequest(route, 'GET', args[0] ?? null)
67
+ }
68
+
69
+ const dynamicPatch = <Route extends HTTPWiringsWithMethod<'PATCH'>>(
70
+ route: Route,
71
+ ...args: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] extends null | undefined
72
+ ? [data?: HTTPWiringHandlerOf<Route, 'PATCH'>['input']]
73
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'PATCH'>['input']>]
74
+ ): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> => {
75
+ return dynamicActionRequest(route, 'PATCH', args[0] ?? null)
76
+ }
77
+
78
+ const dynamicDel = <Route extends HTTPWiringsWithMethod<'DELETE'>>(
79
+ route: Route,
80
+ ...args: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] extends null | undefined
81
+ ? [data?: HTTPWiringHandlerOf<Route, 'DELETE'>['input']]
82
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'DELETE'>['input']>]
83
+ ): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> => {
84
+ return dynamicActionRequest(route, 'DELETE', args[0] ?? null)
85
+ }
86
+
87
+ const staticPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
88
+ route: Route,
89
+ ...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
90
+ ? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
91
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
92
+ ): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
93
+ return staticActionRequest(route, 'POST', args[0] ?? null)
94
+ }
95
+
96
+ const staticGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
97
+ route: Route,
98
+ ...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
99
+ ? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
100
+ : [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
101
+ ): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
102
+ return staticActionRequest(route, 'GET', args[0] ?? null)
103
+ }
104
+
105
+ // RPC dispatch goes through the underlying actionRequest (route: unknown)
106
+ // rather than the typed dynamic/static wrappers — '/rpc/:rpcName' isn't
107
+ // necessarily registered as an HTTPWiringsMap key in projects that haven't
108
+ // explicitly wired one. Output type is enforced via FlattenedRPCMap.
109
+ const rpc = async <Name extends keyof FlattenedRPCMap>(
110
+ rpcName: Name,
111
+ data: FlattenedRPCMap[Name]['input']
112
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
113
+ return _pikku!.actionRequest(
114
+ '${globalHTTPPrefix}/rpc/:rpcName',
115
+ 'POST',
116
+ { rpcName, data: data ?? null }
117
+ ) as Promise<FlattenedRPCMap[Name]['output']>
118
+ }
119
+
120
+ const staticRPC = async <Name extends keyof FlattenedRPCMap>(
121
+ rpcName: Name,
122
+ data: FlattenedRPCMap[Name]['input']
123
+ ): Promise<FlattenedRPCMap[Name]['output']> => {
124
+ return _pikku!.staticActionRequest(
125
+ '${globalHTTPPrefix}/rpc/:rpcName',
126
+ 'POST',
127
+ { rpcName, data: data ?? null }
128
+ ) as Promise<FlattenedRPCMap[Name]['output']>
129
+ }
130
+
131
+ return {
132
+ rpc,
133
+ get: dynamicGet,
134
+ post: dynamicPost,
135
+ patch: dynamicPatch,
136
+ del: dynamicDel,
137
+ staticGet,
138
+ staticPost,
139
+ staticRPC,
140
+ }
141
+ }
142
+
143
+ export const pikkuAPIRequest = (
144
+ req: NextRequest,
145
+ context: RouteContext
146
+ ): Promise<Response> => {
147
+ if (!_pikku) {
148
+ _pikku = new PikkuNextJSWorkerRPC({ fetcher })
149
+ }
150
+ if (_removeAPIPrefix) {
151
+ const url = new URL(req.url)
152
+ url.pathname = url.pathname.replace(/^\\/api/, '') || '/'
153
+ req = new NextRequest(url.toString(), {
154
+ method: req.method,
155
+ headers: req.headers,
156
+ body: req.body,
157
+ duplex: 'half',
158
+ } as any)
159
+ }
160
+ return _pikku.apiRequest(req)
161
+ }
162
+ `;
163
+ };
@@ -1 +1 @@
1
- export declare const serializeNextJsHTTPWrapper: (routesMapPath: string, rpcMapPath: string, pikkuFetchImport: string, globalHTTPPrefix?: string) => string;
1
+ export declare const serializeNextJsHTTPWrapper: (routesMapPath: string, rpcMapPath: string, pikkuFetchImport: string, globalHTTPPrefix?: string, defaultServerUrlExpression?: string) => string;
@@ -1,4 +1,4 @@
1
- export const serializeNextJsHTTPWrapper = (routesMapPath, rpcMapPath, pikkuFetchImport, globalHTTPPrefix = '') => {
1
+ export const serializeNextJsHTTPWrapper = (routesMapPath, rpcMapPath, pikkuFetchImport, globalHTTPPrefix = '', defaultServerUrlExpression) => {
2
2
  return `'server-only'
3
3
 
4
4
  /**
@@ -11,6 +11,7 @@ import type { FlattenedRPCMap } from '${rpcMapPath}'
11
11
  import { PikkuFetch } from '${pikkuFetchImport}'
12
12
 
13
13
  let _pikku: PikkuFetch | undefined
14
+ const defaultServerUrl = ${defaultServerUrlExpression ?? 'undefined'}
14
15
 
15
16
  /**
16
17
  * Initializes and returns an instance of PikkuNextJS with helper methods for handling route requests.
@@ -19,7 +20,9 @@ let _pikku: PikkuFetch | undefined
19
20
  */
20
21
  export const pikku = (options?: CorePikkuFetchOptions) => {
21
22
  if (!_pikku) {
22
- _pikku = new PikkuFetch(options)
23
+ _pikku = new PikkuFetch(
24
+ defaultServerUrl ? { serverUrl: defaultServerUrl, ...options } : options
25
+ )
23
26
  }
24
27
 
25
28
  const dynamicActionRequest = async <
@@ -0,0 +1 @@
1
+ export declare const pikkuTanStackStart: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -0,0 +1,32 @@
1
+ import { pikkuSessionlessFunc } from '#pikku';
2
+ import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
3
+ import { writeFileInDir } from '../../../utils/file-writer.js';
4
+ import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
+ import { serializeTanStackStartShim } from './serialize-tanstack-start-shim.js';
6
+ export const pikkuTanStackStart = pikkuSessionlessFunc({
7
+ func: async ({ logger, config }) => {
8
+ const startServerFnsFile = config.clientFiles?.startServerFnsFile;
9
+ const rpcWiringsFile = config.clientFiles?.rpcWiringsFile;
10
+ const { packageMappings } = config;
11
+ if (!startServerFnsFile) {
12
+ logger.debug({
13
+ message: "Skipping generating TanStack Start shim since startServerFnsFile isn't set in the pikku config.",
14
+ type: 'skip',
15
+ });
16
+ return;
17
+ }
18
+ if (!rpcWiringsFile) {
19
+ logger.warn('Skipping TanStack Start shim: startServerFnsFile is set but rpcWiringsFile is not — the shim imports the PikkuRPC class from rpcWiringsFile.');
20
+ return;
21
+ }
22
+ const rpcWiringsPath = getFileImportRelativePath(startServerFnsFile, rpcWiringsFile, packageMappings);
23
+ const content = serializeTanStackStartShim(rpcWiringsPath);
24
+ await writeFileInDir(logger, startServerFnsFile, content);
25
+ },
26
+ middleware: [
27
+ logCommandInfoAndTime({
28
+ commandStart: 'Generating TanStack Start shim',
29
+ commandEnd: 'Generated TanStack Start shim',
30
+ }),
31
+ ],
32
+ });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Serialize the TanStack Start server-function shim.
3
+ *
4
+ * The "server function" is a Pikku function; this shim is a typed *caller* over
5
+ * the generated RPC map (`PikkuRPC`) for use in Start loaders, actions and
6
+ * components. The API base URL comes from `import.meta.env.VITE_API_URL` and the
7
+ * shim throws if it is unset — never hardcode a host.
8
+ *
9
+ * @param rpcWiringsPath - import path to the file exporting the `PikkuRPC` class
10
+ */
11
+ export declare const serializeTanStackStartShim: (rpcWiringsPath: string) => string;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Serialize the TanStack Start server-function shim.
3
+ *
4
+ * The "server function" is a Pikku function; this shim is a typed *caller* over
5
+ * the generated RPC map (`PikkuRPC`) for use in Start loaders, actions and
6
+ * components. The API base URL comes from `import.meta.env.VITE_API_URL` and the
7
+ * shim throws if it is unset — never hardcode a host.
8
+ *
9
+ * @param rpcWiringsPath - import path to the file exporting the `PikkuRPC` class
10
+ */
11
+ export const serializeTanStackStartShim = (rpcWiringsPath) => {
12
+ return `/**
13
+ * This file was generated by the @pikku/cli
14
+ *
15
+ * TanStack Start server-function shim. \`makeApi()\` returns a typed PikkuRPC
16
+ * caller; use it in loaders/actions/components, e.g.
17
+ *
18
+ * loader: () => makeApi().invoke('listCards', {})
19
+ *
20
+ * The API base URL is read from \`import.meta.env.VITE_API_URL\`.
21
+ */
22
+ import { PikkuRPC } from '${rpcWiringsPath}'
23
+
24
+ export function makeApi(): PikkuRPC {
25
+ const serverUrl = import.meta.env.VITE_API_URL
26
+ if (!serverUrl) {
27
+ throw new Error(
28
+ 'VITE_API_URL is not set — point it at the Pikku API base URL'
29
+ )
30
+ }
31
+ const rpc = new PikkuRPC()
32
+ rpc.setServerUrl(serverUrl)
33
+ return rpc
34
+ }
35
+ `;
36
+ };
@@ -1 +1 @@
1
- export declare const pikkuWebSocketTyped: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuWebSocketTyped: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuAIAgentTypes: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuAIAgentTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuAIAgent: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuAIAgent: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -45,19 +45,10 @@ export const pikkuAIAgent = pikkuSessionlessFunc({
45
45
  const importStatement = supportsImportAttributes
46
46
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
47
47
  : `import metaData from '${jsonImportPath}'`;
48
- const modelConfigLines = [];
49
- if (!addonName &&
50
- (config.models || config.agentDefaults || config.agentOverrides)) {
51
- modelConfigLines.push(`\npikkuState(null, 'models', 'config', ${JSON.stringify({
52
- models: config.models,
53
- agentDefaults: config.agentDefaults,
54
- agentOverrides: config.agentOverrides,
55
- })} as any)`);
56
- }
57
48
  await writeFileInDir(logger, agentWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'
58
49
  import type { AIAgentMeta } from '@pikku/core/ai-agent'
59
50
  ${importStatement}
60
- pikkuState(${addonName ? `'${addonName}'` : 'null'}, 'agent', 'agentsMeta', metaData.agentsMeta as AIAgentMeta)${modelConfigLines.join('')}`);
51
+ pikkuState(${addonName ? `'${addonName}'` : 'null'}, 'agent', 'agentsMeta', metaData.agentsMeta as AIAgentMeta)`);
61
52
  await writeFileInDir(logger, agentMapDeclarationFile, serializeAgentMap(logger, agentMapDeclarationFile, packageMappings, functions.typesMap, agents.agentsMeta));
62
53
  return true;
63
54
  },
@@ -1 +1 @@
1
- export declare const pikkuPublicAgent: import("#pikku").PikkuFunctionConfig<void, boolean, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuPublicAgent: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1,11 +1,13 @@
1
1
  export const serializePublicAgent = (pathToPikkuTypes, requireAuth = true, globalHTTPPrefix = '') => {
2
2
  const authFlag = requireAuth ? 'true' : 'false';
3
- return `import { pikkuSessionlessFunc, defineHTTPRoutes, wireHTTPRoutes } from '${pathToPikkuTypes}'
3
+ return `import { MissingServiceError } from '@pikku/core/errors'
4
+ import { pikkuSessionlessFunc, defineHTTPRoutes, wireHTTPRoutes } from '${pathToPikkuTypes}'
4
5
 
5
6
  export const agentCaller = pikkuSessionlessFunc<
6
7
  { agentName: string; message: string; threadId: string; resourceId: string },
7
8
  unknown
8
9
  >({
10
+ tags: ['pikku'],
9
11
  auth: ${authFlag},
10
12
  func: async (_services, data, { rpc }) => {
11
13
  return await rpc.agent.run(data.agentName as any, {
@@ -20,6 +22,7 @@ export const agentStreamCaller = pikkuSessionlessFunc<
20
22
  { agentName: string; message: string; threadId: string; resourceId: string },
21
23
  void
22
24
  >({
25
+ tags: ['pikku'],
23
26
  auth: ${authFlag},
24
27
  func: async (_services, data, { rpc }) => {
25
28
  await rpc.agent.stream(data.agentName as any, {
@@ -34,6 +37,7 @@ export const agentApproveCaller = pikkuSessionlessFunc<
34
37
  { agentName: string; runId: string; approvals: { toolCallId: string; approved: boolean }[] },
35
38
  unknown
36
39
  >({
40
+ tags: ['pikku'],
37
41
  auth: ${authFlag},
38
42
  func: async (_services, { runId, approvals, agentName }, { rpc }) => {
39
43
  return await rpc.agent.approve(runId, approvals, agentName)
@@ -44,6 +48,7 @@ export const agentResumeCaller = pikkuSessionlessFunc<
44
48
  { agentName: string; runId: string; toolCallId: string; approved: boolean },
45
49
  void
46
50
  >({
51
+ tags: ['pikku'],
47
52
  auth: ${authFlag},
48
53
  func: async (_services, data, { rpc }) => {
49
54
  await rpc.agent.resume(data.runId, {
@@ -53,6 +58,76 @@ export const agentResumeCaller = pikkuSessionlessFunc<
53
58
  },
54
59
  })
55
60
 
61
+ export const getAgentThreads = pikkuSessionlessFunc<
62
+ { agentName?: string; resourceId?: string; limit?: number; offset?: number },
63
+ any[]
64
+ >({
65
+ tags: ['pikku', 'pikku:agent'],
66
+ title: 'Get Agent Threads',
67
+ description:
68
+ 'Returns a list of AI agent threads from storage. Accepts optional filters: agentName, resourceId, limit, and offset for pagination.',
69
+ expose: true,
70
+ auth: ${authFlag},
71
+ func: async ({ agentRunService }, input) => {
72
+ if (!agentRunService) throw new MissingServiceError('agentRunService is not available')
73
+ return await agentRunService.listThreads({
74
+ agentName: input?.agentName,
75
+ resourceId: input?.resourceId,
76
+ limit: input?.limit,
77
+ offset: input?.offset,
78
+ })
79
+ },
80
+ })
81
+
82
+ export const getAgentThreadMessages = pikkuSessionlessFunc<
83
+ { threadId: string; resourceId?: string },
84
+ any[]
85
+ >({
86
+ tags: ['pikku', 'pikku:agent'],
87
+ title: 'Get Agent Thread Messages',
88
+ description:
89
+ 'Returns all messages for a given AI agent thread, ordered by creation time.',
90
+ expose: true,
91
+ auth: ${authFlag},
92
+ func: async ({ agentRunService }, input) => {
93
+ if (!agentRunService) throw new MissingServiceError('agentRunService is not available')
94
+ return await agentRunService.getThreadMessages(input.threadId)
95
+ },
96
+ })
97
+
98
+ export const getAgentThreadRuns = pikkuSessionlessFunc<
99
+ { threadId: string; resourceId?: string },
100
+ any[]
101
+ >({
102
+ tags: ['pikku', 'pikku:agent'],
103
+ title: 'Get Agent Thread Runs',
104
+ description:
105
+ 'Returns the run history for a given AI agent thread, ordered by creation time.',
106
+ expose: true,
107
+ auth: ${authFlag},
108
+ func: async ({ agentRunService }, input) => {
109
+ if (!agentRunService) throw new MissingServiceError('agentRunService is not available')
110
+ return await agentRunService.getThreadRuns(input.threadId)
111
+ },
112
+ })
113
+
114
+ export const deleteAgentThread = pikkuSessionlessFunc<
115
+ { threadId: string; resourceId?: string },
116
+ { deleted: boolean }
117
+ >({
118
+ tags: ['pikku', 'pikku:agent'],
119
+ title: 'Delete Agent Thread',
120
+ description:
121
+ 'Deletes an AI agent thread and all of its persisted state.',
122
+ expose: true,
123
+ auth: ${authFlag},
124
+ func: async ({ agentRunService }, input) => {
125
+ if (!agentRunService) throw new MissingServiceError('agentRunService is not available')
126
+ const deleted = await agentRunService.deleteThread(input.threadId)
127
+ return { deleted }
128
+ },
129
+ })
130
+
56
131
  export const agentRoutes = defineHTTPRoutes({
57
132
  auth: ${authFlag},
58
133
  tags: ['pikku:public'],
@@ -1 +1 @@
1
- export declare const pikkuChannels: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuChannels: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuChannelTypes: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuChannelTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuChannelsMap: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuChannelsMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuCommandChannels: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuCommandChannels: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuCLIEntry: import("#pikku").PikkuFunctionConfig<void, void, "session" | "rpc", import("#pikku").PikkuFunctionSessionless<void, void, "session" | "rpc", import("#pikku").Services> | import("#pikku").PikkuFunction<void, void, "session" | "rpc", import("#pikku").Services>, undefined, undefined>;
1
+ export declare const pikkuCLIEntry: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;