@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
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "nodeId": { "type": "string" }, "data": {} }, "required": ["workflowName", "nodeId"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "runId": { "type": "string" } }, "required": ["runId"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "id": { "type": "string" }, "status": { "$ref": "#/definitions/WorkflowStatus" }, "startedAt": { "type": "string", "format": "date-time" }, "completedAt": { "type": "string", "format": "date-time" }, "deterministic": { "type": "boolean" }, "plannedSteps": { "type": "array", "items": { "$ref": "#/definitions/WorkflowPlannedStep" } }, "steps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "$ref": "#/definitions/StepStatus" }, "duration": { "type": "number" } }, "required": ["name", "status"], "additionalProperties": false } }, "output": {}, "error": { "type": "object", "properties": { "message": { "type": "string" } }, "required": ["message"], "additionalProperties": false } }, "required": ["id", "status", "startedAt", "steps"], "additionalProperties": false, "definitions": { "WorkflowStatus": { "type": "string", "enum": ["running", "suspended", "completed", "failed", "cancelled"], "description": "Workflow run status" }, "WorkflowPlannedStep": { "type": "object", "properties": { "stepName": { "type": "string", "description": "Human-readable step label for UI timeline" } }, "required": ["stepName"], "additionalProperties": false }, "StepStatus": { "type": "string", "enum": ["pending", "running", "scheduled", "succeeded", "failed", "suspended"], "description": "Workflow step status" } } }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "data": {} }, "required": ["workflowName"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "data": {} }, "required": ["workflowName"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "runId": { "type": "string" } }, "required": ["runId"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "runId": { "type": "string" } }, "required": ["workflowName", "runId"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "runId": { "type": "string" } }, "required": ["workflowName", "runId"], "additionalProperties": false, "definitions": {} }
@@ -1 +0,0 @@
1
- { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "workflowName": { "type": "string" }, "runId": { "type": "string" } }, "required": ["workflowName", "runId"], "additionalProperties": false, "definitions": {} }
@@ -1,84 +0,0 @@
1
- import type { WorkflowRunStatus } from '@pikku/core/workflow';
2
- export declare const workflowStarter: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
3
- workflowName: string;
4
- data?: unknown;
5
- }, {
6
- runId: string;
7
- }, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
8
- workflowName: string;
9
- data?: unknown;
10
- }, {
11
- runId: string;
12
- }, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
13
- workflowName: string;
14
- data?: unknown;
15
- }, {
16
- runId: string;
17
- }, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
18
- export declare const workflowRunner: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
19
- workflowName: string;
20
- data?: unknown;
21
- }, unknown, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
22
- workflowName: string;
23
- data?: unknown;
24
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
25
- workflowName: string;
26
- data?: unknown;
27
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
28
- export declare const workflowStatusChecker: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
29
- workflowName: string;
30
- runId: string;
31
- }, WorkflowRunStatus, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
32
- workflowName: string;
33
- runId: string;
34
- }, WorkflowRunStatus, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
35
- workflowName: string;
36
- runId: string;
37
- }, WorkflowRunStatus, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
38
- /**
39
- * Minimal workflow status stream — sends step names and statuses only.
40
- * Use this for user-facing frontends where internal details should not be exposed.
41
- */
42
- export declare const workflowStatusStream: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
43
- workflowName: string;
44
- runId: string;
45
- }, unknown, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
46
- workflowName: string;
47
- runId: string;
48
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
49
- workflowName: string;
50
- runId: string;
51
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
52
- /**
53
- * Full workflow status stream — includes output, error, and child run IDs.
54
- * Use this for admin consoles and internal tooling.
55
- */
56
- export declare const workflowStatusStreamFull: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
57
- workflowName: string;
58
- runId: string;
59
- }, unknown, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
60
- workflowName: string;
61
- runId: string;
62
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
63
- workflowName: string;
64
- runId: string;
65
- }, unknown, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
66
- export declare const graphStarter: import("../../.pikku/pikku-types.gen.js").PikkuFunctionConfig<{
67
- workflowName: string;
68
- nodeId: string;
69
- data?: unknown;
70
- }, {
71
- runId: string;
72
- }, "session" | "rpc", import("../../.pikku/pikku-types.gen.js").PikkuFunctionSessionless<{
73
- workflowName: string;
74
- nodeId: string;
75
- data?: unknown;
76
- }, {
77
- runId: string;
78
- }, "session" | "rpc", import("../../types/application-types.js").Services> | import("../../.pikku/pikku-types.gen.js").PikkuFunction<{
79
- workflowName: string;
80
- nodeId: string;
81
- data?: unknown;
82
- }, {
83
- runId: string;
84
- }, "session" | "rpc", import("../../types/application-types.js").Services>, undefined, undefined>;
@@ -1,229 +0,0 @@
1
- /**
2
- * This file was generated by @pikku/cli@0.12.21
3
- */
4
- /**
5
- * Workflow HTTP catch-all routes
6
- * Do not edit manually - regenerate with 'npx pikku'
7
- */
8
- import { pikkuSessionlessFunc, wireHTTPRoutes } from '../../.pikku/pikku-types.gen.js';
9
- import { MissingServiceError } from '@pikku/core/errors';
10
- function assertWorkflowService(workflowService) {
11
- if (!workflowService)
12
- throw new MissingServiceError('workflowService is required');
13
- }
14
- function assertWorkflowRunService(workflowRunService) {
15
- if (!workflowRunService)
16
- throw new MissingServiceError('workflowRunService is required');
17
- }
18
- export const workflowStarter = pikkuSessionlessFunc({
19
- auth: false,
20
- func: async (_services, { workflowName, data }, { rpc }) => {
21
- return await rpc.startWorkflow(workflowName, (data ?? {}));
22
- },
23
- });
24
- export const workflowRunner = pikkuSessionlessFunc({
25
- auth: false,
26
- func: async ({ workflowService }, { workflowName, data }, { rpc }) => {
27
- assertWorkflowService(workflowService);
28
- return await workflowService.runToCompletion(workflowName, (data ?? {}), rpc);
29
- },
30
- });
31
- export const workflowStatusChecker = pikkuSessionlessFunc({
32
- auth: false,
33
- func: async ({ workflowService }, { runId }) => {
34
- assertWorkflowService(workflowService);
35
- const status = await workflowService.getRunStatus(runId);
36
- if (!status)
37
- throw new Error(`Run not found: ${runId}`);
38
- return status;
39
- },
40
- });
41
- /**
42
- * Minimal workflow status stream — sends step names and statuses only.
43
- * Use this for user-facing frontends where internal details should not be exposed.
44
- */
45
- export const workflowStatusStream = pikkuSessionlessFunc({
46
- auth: false,
47
- func: async ({ workflowRunService }, { runId }, { channel }) => {
48
- assertWorkflowRunService(workflowRunService);
49
- if (!channel)
50
- return;
51
- const terminalStatuses = new Set(['completed', 'failed', 'cancelled']);
52
- let lastHash = '';
53
- let initSent = false;
54
- const poll = async () => {
55
- const run = await workflowRunService.getRun(runId);
56
- if (!run) {
57
- channel.close();
58
- return false;
59
- }
60
- const steps = await workflowRunService.getRunSteps(runId);
61
- if (!initSent && run.deterministic) {
62
- const statusByStep = new Map(steps.map((s) => [
63
- s.stepName,
64
- s.status,
65
- ]));
66
- channel.send({
67
- type: 'init',
68
- deterministic: true,
69
- steps: (run.plannedSteps ?? []).map((s) => ({
70
- stepName: s.stepName,
71
- status: statusByStep.get(s.stepName) ?? 'pending',
72
- })),
73
- });
74
- initSent = true;
75
- }
76
- const hash = JSON.stringify({
77
- s: run.status,
78
- steps: steps.map((s) => [s.stepName, s.status]),
79
- });
80
- if (hash !== lastHash) {
81
- lastHash = hash;
82
- channel.send({
83
- type: 'update',
84
- status: run.status,
85
- steps: steps.map((s) => ({
86
- stepName: s.stepName,
87
- status: s.status,
88
- })),
89
- });
90
- }
91
- if (terminalStatuses.has(run.status)) {
92
- channel.send({ type: 'done' });
93
- channel.close();
94
- return false;
95
- }
96
- return true;
97
- };
98
- const shouldContinue = await poll();
99
- if (!shouldContinue)
100
- return;
101
- await new Promise((resolve) => {
102
- const interval = setInterval(async () => {
103
- const cont = await poll();
104
- if (!cont) {
105
- clearInterval(interval);
106
- resolve();
107
- }
108
- }, 500);
109
- });
110
- },
111
- });
112
- /**
113
- * Full workflow status stream — includes output, error, and child run IDs.
114
- * Use this for admin consoles and internal tooling.
115
- */
116
- export const workflowStatusStreamFull = pikkuSessionlessFunc({
117
- auth: false,
118
- func: async ({ workflowRunService }, { runId }, { channel }) => {
119
- assertWorkflowRunService(workflowRunService);
120
- if (!channel)
121
- return;
122
- const terminalStatuses = new Set(['completed', 'failed', 'cancelled']);
123
- let lastHash = '';
124
- let initSent = false;
125
- const poll = async () => {
126
- const run = await workflowRunService.getRun(runId);
127
- if (!run) {
128
- channel.close();
129
- return false;
130
- }
131
- const steps = await workflowRunService.getRunSteps(runId);
132
- if (!initSent && run.deterministic) {
133
- const statusByStep = new Map(steps.map((s) => [
134
- s.stepName,
135
- s.status,
136
- ]));
137
- channel.send({
138
- type: 'init',
139
- deterministic: true,
140
- steps: (run.plannedSteps ?? []).map((s) => ({
141
- stepName: s.stepName,
142
- status: statusByStep.get(s.stepName) ?? 'pending',
143
- })),
144
- });
145
- initSent = true;
146
- }
147
- const hash = JSON.stringify({
148
- s: run.status,
149
- o: run.output,
150
- steps: steps.map((s) => [s.stepName, s.status]),
151
- });
152
- if (hash !== lastHash) {
153
- lastHash = hash;
154
- channel.send({
155
- type: 'update',
156
- status: run.status,
157
- output: run.output,
158
- error: run.error,
159
- steps: steps.map((s) => ({
160
- stepName: s.stepName,
161
- status: s.status,
162
- ...(s.childRunId ? { childRunId: s.childRunId } : {}),
163
- })),
164
- });
165
- }
166
- if (terminalStatuses.has(run.status)) {
167
- channel.send({ type: 'done' });
168
- channel.close();
169
- return false;
170
- }
171
- return true;
172
- };
173
- const shouldContinue = await poll();
174
- if (!shouldContinue)
175
- return;
176
- await new Promise((resolve) => {
177
- const interval = setInterval(async () => {
178
- const cont = await poll();
179
- if (!cont) {
180
- clearInterval(interval);
181
- resolve();
182
- }
183
- }, 500);
184
- });
185
- },
186
- });
187
- export const graphStarter = pikkuSessionlessFunc({
188
- auth: false,
189
- func: async (_services, { workflowName, nodeId, data }, { rpc }) => {
190
- return await rpc.startWorkflow(workflowName, (data ?? {}), { startNode: nodeId });
191
- },
192
- });
193
- wireHTTPRoutes({
194
- auth: false,
195
- routes: {
196
- workflowStart: {
197
- route: '/workflow/:workflowName/start',
198
- method: 'post',
199
- func: workflowStarter,
200
- },
201
- workflowRun: {
202
- route: '/workflow/:workflowName/run',
203
- method: 'post',
204
- func: workflowRunner,
205
- },
206
- workflowStatus: {
207
- route: '/workflow/:workflowName/status/:runId',
208
- method: 'get',
209
- func: workflowStatusChecker,
210
- },
211
- workflowStatusStream: {
212
- route: '/workflow/:workflowName/status/:runId/stream',
213
- method: 'get',
214
- sse: true,
215
- func: workflowStatusStream,
216
- },
217
- workflowStatusStreamFull: {
218
- route: '/workflow/:workflowName/status/:runId/stream/full',
219
- method: 'get',
220
- sse: true,
221
- func: workflowStatusStreamFull,
222
- },
223
- graphStart: {
224
- route: '/workflow/:workflowName/graph/:nodeId',
225
- method: 'post',
226
- func: graphStarter,
227
- },
228
- },
229
- });