@pikku/cli 0.12.145 → 0.12.152

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 (551) hide show
  1. package/console-app/assets/HelpPanel-CxjgE40i.js +1 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-BIPJyOId.js → abnfDiagram-VCTEODGH-UPW1PlxM.js} +1 -1
  3. package/console-app/assets/architecture-7GRP2DOG-BQN972Vc.js +1 -0
  4. package/console-app/assets/architectureDiagram-5GKGNRK7-B3XFrvZk.js +36 -0
  5. package/console-app/assets/blockDiagram-I7D4REHJ-Ca0v9UJQ.js +129 -0
  6. package/console-app/assets/c4Diagram-7LVT6UL2-CLewVsj_.js +38 -0
  7. package/console-app/assets/channel-B8xtOmL3.js +1 -0
  8. package/console-app/assets/chunk-4HAMMTFA-BwhbhOD9.js +62 -0
  9. package/console-app/assets/{chunk-NSK5VX7P-VK0slsok.js → chunk-75Z2AOVW-C7nAgNk0.js} +1 -1
  10. package/console-app/assets/chunk-DU6HZSFF-D4yYAcHt.js +127 -0
  11. package/console-app/assets/{chunk-2GRJ4B5K-pBREt5-Y.js → chunk-F27PBJKO-UHllOPps.js} +1 -1
  12. package/console-app/assets/{chunk-KEIR6QF5-BICK3FdT.js → chunk-FOHPRMQF-CoA4358r.js} +9 -9
  13. package/console-app/assets/chunk-GMAD6QVW-C0l_vm7T.js +72 -0
  14. package/console-app/assets/chunk-GVQU2GXP-h-H2Oird.js +1 -0
  15. package/console-app/assets/{chunk-5RXB4S5H-wo8Xtqiv.js → chunk-IMKFNOWR-DJ_W9CSg.js} +2 -2
  16. package/console-app/assets/chunk-L3NEJ4N5-Ce9oniwE.js +1 -0
  17. package/console-app/assets/chunk-OSK3NFVY-CdGE5qxS.js +10 -0
  18. package/console-app/assets/chunk-P2QGCYS3-DK1pHDdz.js +1 -0
  19. package/console-app/assets/{chunk-KBJHAD2P-PiPaopal.js → chunk-POPQ4Y6H-DjevEFNo.js} +1 -1
  20. package/console-app/assets/{chunk-4I5QYGJK-SmJ1Rqsn.js → chunk-PWAF6VOD-BVF5N1No.js} +1 -1
  21. package/console-app/assets/chunk-SHT3W25Y-BX8We-wN.js +168 -0
  22. package/console-app/assets/{chunk-6Q2QTUOP-B6uqaxr0.js → chunk-SVP7TREG-Cl0GgAPC.js} +1 -1
  23. package/console-app/assets/{chunk-GF5L2VYU-Cw7tsTe6.js → chunk-TICWLB2K-IWZAWDhu.js} +2 -2
  24. package/console-app/assets/chunk-XXDRQBXY-CGWcS5Ol.js +1 -0
  25. package/console-app/assets/classDiagram-ZZMXUADV-OGsmOlmO.js +1 -0
  26. package/console-app/assets/classDiagram-v2-VYDZK3BY-OGsmOlmO.js +1 -0
  27. package/console-app/assets/cose-bilkent-JH36ORCC-GsQ0JAnL.js +1 -0
  28. package/console-app/assets/cynefin-OW5HDTMX-hZsAZp_5.js +1 -0
  29. package/console-app/assets/{cynefinDiagram-MW4NZA55-BzFWEf8Y.js → cynefinDiagram-5FMLGOSQ-CsyMovx1.js} +1 -1
  30. package/console-app/assets/cytoscape.esm-B-1iW2ft.js +321 -0
  31. package/console-app/assets/dagre-BP8XEFz-.js +1 -0
  32. package/console-app/assets/dagre-GXQ25YYZ-Jg5285rx.js +4 -0
  33. package/console-app/assets/{diagram-7IWD3JNH-C58VaHJt.js → diagram-S7CK7UJ4-n9JiR8HK.js} +4 -4
  34. package/console-app/assets/{diagram-UB23O5K3-CmRNd5vm.js → diagram-UQ7AKVKN-Cde-dgbI.js} +1 -1
  35. package/console-app/assets/{diagram-B4RE2ZJO-B3w3TcXn.js → diagram-VSXAHHWV-CPZUg4FP.js} +1 -1
  36. package/console-app/assets/{diagram-Q27KOJAE-7oaP3D-d.js → diagram-VX7I27RA-B2rCDWvn.js} +1 -1
  37. package/console-app/assets/{diagram-LBJQPF4R-L1ZkDsab.js → diagram-Z3DM3KII-UwO0hte3.js} +1 -1
  38. package/console-app/assets/{ebnfDiagram-BXEA7PRR-D0rxzLaa.js → ebnfDiagram-PWID7BFC-BGJ_PBlS.js} +1 -1
  39. package/console-app/assets/erDiagram-RLTQ6QDP-CKsTScr3.js +99 -0
  40. package/console-app/assets/eventmodeling-NTZA5JFV-CnZOTLz3.js +1 -0
  41. package/console-app/assets/flowDiagram-HODETNUW-TYMCrte8.js +1 -0
  42. package/console-app/assets/ganttDiagram-EL5Y4UJY-koeTkIEA.js +292 -0
  43. package/console-app/assets/gitGraph-4MIJSDKK-DyRPbcM4.js +1 -0
  44. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-JaW7OYCY.js → gitGraphDiagram-WWUBYQGX-DSIejrYw.js} +1 -1
  45. package/console-app/assets/graphlib-BpQ_697T.js +1 -0
  46. package/console-app/assets/index-BbJGr-r1.css +1 -0
  47. package/console-app/assets/index-Du9_fRSw.js +262 -0
  48. package/console-app/assets/info-A6RAGUB7-C63f9an_.js +1 -0
  49. package/console-app/assets/{infoDiagram-6WML65LV-DIbMcTbW.js → infoDiagram-27XIBGKW-Dz5gMcUF.js} +1 -1
  50. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-mozqgfxi.js → ishikawaDiagram-5VMMS53U-m-nTAZTH.js} +1 -1
  51. package/console-app/assets/{journeyDiagram-NVQOT4AX-CKDrjPz5.js → journeyDiagram-3NMN7TZE-C7mjFY7i.js} +2 -2
  52. package/console-app/assets/{kanban-definition-27J2QSJJ-B9shPbST.js → kanban-definition-UXKFOSKX-Cm7PqOOP.js} +2 -2
  53. package/console-app/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
  54. package/console-app/assets/{line-DLrnl2PN.js → line-RZNRGurC.js} +1 -1
  55. package/console-app/assets/linear-C2IGWMlF.js +1 -0
  56. package/console-app/assets/{mermaid-parser.core-ElI_yw4f.js → mermaid-parser.core-DN1yDqgB.js} +3 -3
  57. package/console-app/assets/mermaid.core-DDRs3TbC.js +44 -0
  58. package/console-app/assets/{mindmap-definition-FAOFIHXS-BTvmLZE7.js → mindmap-definition-YA3MSWOX-o6riOwlF.js} +1 -1
  59. package/console-app/assets/packet-AYTQ26CC-B89F6gXG.js +1 -0
  60. package/console-app/assets/{pegDiagram-VL7TDLO6-1hBiUSmO.js → pegDiagram-XKGWAZYB-BQ1AAIaV.js} +1 -1
  61. package/console-app/assets/pie-WAS4IAKB-CzuwQlQz.js +1 -0
  62. package/console-app/assets/{pieDiagram-7S7Q4E2Y-vvgYfdFq.js → pieDiagram-E7YTZNPT-DlcGHWGT.js} +1 -1
  63. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-B_emxK6O.js → quadrantDiagram-AXDQQJYC-DdITwqw-.js} +1 -1
  64. package/console-app/assets/radar-RG4KPBEZ-DlJ29jAN.js +1 -0
  65. package/console-app/assets/railroad-74A4TZTK-BL49fdM8.js +1 -0
  66. package/console-app/assets/railroad-abnf-HS5TGJTU-D9Ej_sin.js +1 -0
  67. package/console-app/assets/railroad-ebnf-LZEXJU2U-CjzlC3qv.js +1 -0
  68. package/console-app/assets/railroad-peg-WCYAUIDC-BPa6lIrj.js +1 -0
  69. package/console-app/assets/{railroadDiagram-AXF67PYL-IXXj_KlB.js → railroadDiagram-O6MQD6OU-BNgQGtF5.js} +1 -1
  70. package/console-app/assets/{requirementDiagram-LRYGKXZP-B15ZEbec.js → requirementDiagram-BXWQKSXE-48lE_WeD.js} +2 -2
  71. package/console-app/assets/{sankeyDiagram-W5VNT64P-w-sj_WN8.js → sankeyDiagram-P5KCCOFB-WmTardCP.js} +1 -1
  72. package/console-app/assets/{sequenceDiagram-SI44F4Z6-BP1UgEbX.js → sequenceDiagram-WJ2MYXX4-Bd5cHDMs.js} +1 -1
  73. package/console-app/assets/src-BTXg_NtK.js +1 -0
  74. package/console-app/assets/{stateDiagram-OKZ733FA-DE4L-y3n.js → stateDiagram-D77RDMKH-DBoCkqGv.js} +1 -1
  75. package/console-app/assets/stateDiagram-v2-MP3YSRHH-BLbaZawL.js +1 -0
  76. package/console-app/assets/swimlanes-42K2YHIH-lecUPBaK.js +1 -0
  77. package/console-app/assets/swimlanesDiagram-VR7AAH4N-CM_5HS_7.js +8 -0
  78. package/console-app/assets/{timeline-definition-Z64GVDOM-Cc8M2qee.js → timeline-definition-24CTP7MA-CWq0OWm1.js} +1 -1
  79. package/console-app/assets/treeView-Q6P3EWNA-C7lEeqUz.js +1 -0
  80. package/console-app/assets/treemap-WGGIJYW6-Bkx2DAoI.js +1 -0
  81. package/console-app/assets/{vennDiagram-T6HMQDX7-dpGyGzMg.js → vennDiagram-4TSXK5OY-Bw_kGRL3.js} +1 -1
  82. package/console-app/assets/wardley-WFR3VGLG-V0zki2L0.js +1 -0
  83. package/console-app/assets/{wardleyDiagram-T6FBY63Y-CBvRf8GJ.js → wardleyDiagram-VM6X3IG4-C5vrwEHM.js} +1 -1
  84. package/console-app/assets/{xychartDiagram-ELKLHX3M-UlPqx-ve.js → xychartDiagram-S5SC5T6Z-B9uA0moC.js} +3 -3
  85. package/console-app/index.html +2 -3
  86. package/dist/.pikku/addon/index.d.ts +1 -1
  87. package/dist/.pikku/addon/index.js +1 -1
  88. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  89. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  90. package/dist/.pikku/agent/index.d.ts +1 -1
  91. package/dist/.pikku/agent/index.js +1 -1
  92. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +6 -6
  93. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  94. package/dist/.pikku/analytics/index.d.ts +7 -0
  95. package/dist/.pikku/analytics/index.js +7 -0
  96. package/dist/.pikku/analytics/pikku-analytics-types.gen.d.ts +5 -0
  97. package/dist/.pikku/analytics/pikku-analytics-types.gen.js +4 -0
  98. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  99. package/dist/.pikku/auth/auth.types.js +1 -1
  100. package/dist/.pikku/auth/index.d.ts +1 -1
  101. package/dist/.pikku/auth/index.js +1 -1
  102. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
  103. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  104. package/dist/.pikku/channel/index.d.ts +1 -1
  105. package/dist/.pikku/channel/index.js +1 -1
  106. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
  107. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  108. package/dist/.pikku/cli/index.d.ts +1 -1
  109. package/dist/.pikku/cli/index.js +1 -1
  110. package/dist/.pikku/cli/pikku-cli-channel.d.ts +7 -7
  111. package/dist/.pikku/cli/pikku-cli-channel.js +36 -1
  112. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  113. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  114. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  115. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  116. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +207 -0
  117. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +2 -2
  118. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  119. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  120. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +207 -0
  121. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  122. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  123. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  124. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  125. package/dist/.pikku/error/index.d.ts +1 -1
  126. package/dist/.pikku/error/index.js +1 -1
  127. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  128. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  129. package/dist/.pikku/function/index.d.ts +1 -1
  130. package/dist/.pikku/function/index.js +1 -1
  131. package/dist/.pikku/function/pikku-function-types.gen.d.ts +8 -7
  132. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  133. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  134. package/dist/.pikku/function/pikku-functions-meta.gen.json +253 -26
  135. package/dist/.pikku/function/pikku-functions.gen.js +9 -1
  136. package/dist/.pikku/gateway/index.d.ts +1 -1
  137. package/dist/.pikku/gateway/index.js +1 -1
  138. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  139. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  140. package/dist/.pikku/http/index.d.ts +1 -1
  141. package/dist/.pikku/http/index.js +1 -1
  142. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  143. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  144. package/dist/.pikku/mcp/index.d.ts +1 -1
  145. package/dist/.pikku/mcp/index.js +1 -1
  146. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  147. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  148. package/dist/.pikku/middleware/index.d.ts +1 -1
  149. package/dist/.pikku/middleware/index.js +1 -1
  150. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  151. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  152. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  153. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  154. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  155. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  156. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  157. package/dist/.pikku/pikku-services.gen.js +4 -0
  158. package/dist/.pikku/queue/index.d.ts +1 -1
  159. package/dist/.pikku/queue/index.js +1 -1
  160. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  161. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  162. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  163. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  164. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  165. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  166. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +11 -0
  167. package/dist/.pikku/scenarios/index.d.ts +1 -1
  168. package/dist/.pikku/scenarios/index.js +1 -1
  169. package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +1 -1
  170. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  171. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  172. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  173. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  174. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  175. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  176. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  177. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  178. package/dist/.pikku/scheduler/index.d.ts +1 -1
  179. package/dist/.pikku/scheduler/index.js +1 -1
  180. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  181. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  182. package/dist/.pikku/schemas/register.gen.js +35 -1
  183. package/dist/.pikku/schemas/schemas/FabricChangesAskInput.schema.json +1 -0
  184. package/dist/.pikku/schemas/schemas/FabricChangesAskOutput.schema.json +1 -0
  185. package/dist/.pikku/schemas/schemas/FabricChangesClaimInput.schema.json +1 -0
  186. package/dist/.pikku/schemas/schemas/FabricChangesClaimOutput.schema.json +1 -0
  187. package/dist/.pikku/schemas/schemas/FabricChangesDoneInput.schema.json +1 -0
  188. package/dist/.pikku/schemas/schemas/FabricChangesDoneOutput.schema.json +1 -0
  189. package/dist/.pikku/schemas/schemas/FabricChangesFileInput.schema.json +1 -0
  190. package/dist/.pikku/schemas/schemas/FabricChangesFileOutput.schema.json +1 -0
  191. package/dist/.pikku/schemas/schemas/FabricChangesListInput.schema.json +1 -0
  192. package/dist/.pikku/schemas/schemas/FabricChangesListOutput.schema.json +1 -0
  193. package/dist/.pikku/schemas/schemas/FabricChangesShotInput.schema.json +1 -0
  194. package/dist/.pikku/schemas/schemas/FabricChangesShotOutput.schema.json +1 -0
  195. package/dist/.pikku/schemas/schemas/FabricChangesShowInput.schema.json +1 -0
  196. package/dist/.pikku/schemas/schemas/FabricChangesShowOutput.schema.json +1 -0
  197. package/dist/.pikku/schemas/schemas/FabricDeployApplyOutput.schema.json +1 -1
  198. package/dist/.pikku/schemas/schemas/FabricFindingsListOutput.schema.json +1 -1
  199. package/dist/.pikku/schemas/schemas/FabricProjectsListOutput.schema.json +1 -1
  200. package/dist/.pikku/schemas/schemas/FabricPublishOutput.schema.json +1 -1
  201. package/dist/.pikku/schemas/schemas/FabricRollbackOutput.schema.json +1 -1
  202. package/dist/.pikku/schemas/schemas/FabricSecretsDeleteOutput.schema.json +1 -1
  203. package/dist/.pikku/schemas/schemas/FabricSecretsRotateOutput.schema.json +1 -1
  204. package/dist/.pikku/schemas/schemas/PikkuAnalyticsOutput.schema.json +1 -0
  205. package/dist/.pikku/schemas/schemas/PikkuFeatureFlagsScaffoldOutput.schema.json +1 -0
  206. package/dist/.pikku/schemas/schemas/PikkuFlagsInput.schema.json +1 -0
  207. package/dist/.pikku/scopes/index.d.ts +2 -1
  208. package/dist/.pikku/scopes/index.js +2 -1
  209. package/dist/.pikku/scopes/pikku-flags-meta.gen.json +1 -0
  210. package/dist/.pikku/scopes/pikku-flags.gen.d.ts +41 -0
  211. package/dist/.pikku/scopes/pikku-flags.gen.js +34 -0
  212. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  213. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  214. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +2 -1
  215. package/dist/.pikku/scopes/pikku-scope-types.gen.js +2 -1
  216. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  217. package/dist/.pikku/secrets/index.d.ts +1 -1
  218. package/dist/.pikku/secrets/index.js +1 -1
  219. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  220. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  221. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  222. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  223. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  224. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  225. package/dist/.pikku/setup/index.d.ts +1 -1
  226. package/dist/.pikku/setup/index.js +1 -1
  227. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +2 -2
  228. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  229. package/dist/.pikku/trigger/index.d.ts +1 -1
  230. package/dist/.pikku/trigger/index.js +1 -1
  231. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  232. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  233. package/dist/.pikku/variables/index.d.ts +1 -1
  234. package/dist/.pikku/variables/index.js +1 -1
  235. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  236. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  237. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  238. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  239. package/dist/.pikku/workflow/index.d.ts +1 -1
  240. package/dist/.pikku/workflow/index.js +1 -1
  241. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +42 -6
  242. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  243. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  244. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  245. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  246. package/dist/bin/pikku-bin.mjs +2 -2
  247. package/dist/src/deploy/analyzer/analyzer.d.ts +1 -1
  248. package/dist/src/deploy/analyzer/analyzer.js +40 -2
  249. package/dist/src/deploy/analyzer/grouping.d.ts +41 -7
  250. package/dist/src/deploy/analyzer/grouping.js +76 -2
  251. package/dist/src/deploy/build-pipeline.js +4 -0
  252. package/dist/src/fabric/fabric-commands.d.ts +360 -138
  253. package/dist/src/fabric/fabric-commands.js +166 -0
  254. package/dist/src/fabric/functions/add.function.d.ts +3 -3
  255. package/dist/src/fabric/functions/addon-verify.function.d.ts +9 -9
  256. package/dist/src/fabric/functions/changes-ask.function.d.ts +34 -0
  257. package/dist/src/fabric/functions/changes-ask.function.js +30 -0
  258. package/dist/src/fabric/functions/changes-claim.function.d.ts +50 -0
  259. package/dist/src/fabric/functions/changes-claim.function.js +43 -0
  260. package/dist/src/fabric/functions/changes-done.function.d.ts +55 -0
  261. package/dist/src/fabric/functions/changes-done.function.js +59 -0
  262. package/dist/src/fabric/functions/changes-file.function.d.ts +64 -0
  263. package/dist/src/fabric/functions/changes-file.function.js +56 -0
  264. package/dist/src/fabric/functions/changes-list.function.d.ts +60 -0
  265. package/dist/src/fabric/functions/changes-list.function.js +82 -0
  266. package/dist/src/fabric/functions/changes-shot.function.d.ts +66 -0
  267. package/dist/src/fabric/functions/changes-shot.function.js +56 -0
  268. package/dist/src/fabric/functions/changes-show.function.d.ts +41 -0
  269. package/dist/src/fabric/functions/changes-show.function.js +80 -0
  270. package/dist/src/fabric/functions/db-schema.function.d.ts +3 -3
  271. package/dist/src/fabric/functions/deploy-list.function.d.ts +3 -3
  272. package/dist/src/fabric/functions/deploy-units.function.d.ts +3 -3
  273. package/dist/src/fabric/functions/deploy.function.d.ts +12 -12
  274. package/dist/src/fabric/functions/deploy.function.js +6 -5
  275. package/dist/src/fabric/functions/domains-add.function.d.ts +7 -7
  276. package/dist/src/fabric/functions/domains-list.function.d.ts +3 -3
  277. package/dist/src/fabric/functions/domains-remove.function.d.ts +3 -3
  278. package/dist/src/fabric/functions/errors.function.d.ts +3 -3
  279. package/dist/src/fabric/functions/findings-clear.function.d.ts +3 -3
  280. package/dist/src/fabric/functions/findings-flush.function.d.ts +3 -3
  281. package/dist/src/fabric/functions/findings-list.function.d.ts +3 -3
  282. package/dist/src/fabric/functions/init.function.d.ts +3 -3
  283. package/dist/src/fabric/functions/link.function.d.ts +3 -3
  284. package/dist/src/fabric/functions/link.function.js +3 -2
  285. package/dist/src/fabric/functions/llm-key.function.d.ts +9 -9
  286. package/dist/src/fabric/functions/login.function.d.ts +3 -3
  287. package/dist/src/fabric/functions/logs.function.d.ts +3 -3
  288. package/dist/src/fabric/functions/logs.function.js +2 -1
  289. package/dist/src/fabric/functions/metrics.function.d.ts +3 -3
  290. package/dist/src/fabric/functions/projects-list.function.d.ts +3 -3
  291. package/dist/src/fabric/functions/publish.function.d.ts +3 -3
  292. package/dist/src/fabric/functions/report.function.d.ts +15 -15
  293. package/dist/src/fabric/functions/rollback.function.d.ts +9 -9
  294. package/dist/src/fabric/functions/secrets-delete.function.d.ts +3 -3
  295. package/dist/src/fabric/functions/secrets-list.function.d.ts +3 -3
  296. package/dist/src/fabric/functions/secrets-rotate.function.d.ts +3 -3
  297. package/dist/src/fabric/functions/secrets-set.function.d.ts +3 -3
  298. package/dist/src/fabric/functions/smoke.function.d.ts +3 -3
  299. package/dist/src/fabric/functions/status.function.d.ts +3 -3
  300. package/dist/src/fabric/functions/trace.function.d.ts +3 -3
  301. package/dist/src/fabric/functions/validate.function.d.ts +7 -7
  302. package/dist/src/fabric/functions/variables-get.function.d.ts +3 -3
  303. package/dist/src/fabric/functions/variables-set.function.d.ts +6 -6
  304. package/dist/src/fabric/lib/changes.d.ts +38 -0
  305. package/dist/src/fabric/lib/changes.js +70 -0
  306. package/dist/src/fabric/lib/errors.d.ts +21 -0
  307. package/dist/src/fabric/lib/errors.js +21 -0
  308. package/dist/src/fabric/lib/finding.d.ts +3 -3
  309. package/dist/src/fabric/lib/git.d.ts +3 -2
  310. package/dist/src/fabric/lib/git.js +10 -8
  311. package/dist/src/fabric/lib/output.d.ts +20 -0
  312. package/dist/src/fabric/lib/output.js +32 -7
  313. package/dist/src/functions/commands/all.d.ts +1 -1
  314. package/dist/src/functions/commands/audit.d.ts +1 -1
  315. package/dist/src/functions/commands/binary.d.ts +3 -3
  316. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  317. package/dist/src/functions/commands/bootstrap.js +3 -0
  318. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  319. package/dist/src/functions/commands/db-baseline.d.ts +1 -1
  320. package/dist/src/functions/commands/db-check.d.ts +1 -1
  321. package/dist/src/functions/commands/db-codegen.d.ts +1 -1
  322. package/dist/src/functions/commands/db-export.d.ts +1 -1
  323. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  324. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  325. package/dist/src/functions/commands/db-reset.d.ts +3 -3
  326. package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
  327. package/dist/src/functions/commands/deploy-apply.js +35 -3
  328. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  329. package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
  330. package/dist/src/functions/commands/deploy-plan.js +1 -0
  331. package/dist/src/functions/commands/dev-agent-runner.d.ts +9 -7
  332. package/dist/src/functions/commands/dev-agent-runner.js +56 -12
  333. package/dist/src/functions/commands/dev.d.ts +3 -3
  334. package/dist/src/functions/commands/dev.js +60 -6
  335. package/dist/src/functions/commands/dist.d.ts +3 -3
  336. package/dist/src/functions/commands/dist.js +2 -9
  337. package/dist/src/functions/commands/doc.d.ts +3 -3
  338. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  339. package/dist/src/functions/commands/enable.d.ts +9 -9
  340. package/dist/src/functions/commands/import-n8n.d.ts +3 -3
  341. package/dist/src/functions/commands/info.d.ts +4 -4
  342. package/dist/src/functions/commands/init-or-warn.d.ts +19 -0
  343. package/dist/src/functions/commands/init-or-warn.js +25 -0
  344. package/dist/src/functions/commands/knowledge-index.d.ts +6 -6
  345. package/dist/src/functions/commands/knowledge-plan.d.ts +15 -15
  346. package/dist/src/functions/commands/knowledge-reconcile.d.ts +6 -6
  347. package/dist/src/functions/commands/knowledge-validate.d.ts +6 -6
  348. package/dist/src/functions/commands/login.d.ts +7 -7
  349. package/dist/src/functions/commands/meta.d.ts +34 -34
  350. package/dist/src/functions/commands/new-addon.d.ts +3 -3
  351. package/dist/src/functions/commands/new-function.d.ts +3 -3
  352. package/dist/src/functions/commands/new-middleware.d.ts +3 -3
  353. package/dist/src/functions/commands/new-permission.d.ts +3 -3
  354. package/dist/src/functions/commands/new-wiring.d.ts +3 -3
  355. package/dist/src/functions/commands/persona-sync.d.ts +3 -3
  356. package/dist/src/functions/commands/persona.d.ts +7 -7
  357. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  358. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  359. package/dist/src/functions/commands/roles-audit.d.ts +1 -1
  360. package/dist/src/functions/commands/roles-prune.d.ts +3 -3
  361. package/dist/src/functions/commands/scenario.d.ts +7 -7
  362. package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
  363. package/dist/src/functions/commands/scopes-prune.d.ts +3 -3
  364. package/dist/src/functions/commands/semver.d.ts +1 -1
  365. package/dist/src/functions/commands/serve.d.ts +3 -3
  366. package/dist/src/functions/commands/serve.js +40 -3
  367. package/dist/src/functions/commands/skills.d.ts +6 -6
  368. package/dist/src/functions/commands/update.d.ts +1 -1
  369. package/dist/src/functions/commands/validate.d.ts +6 -6
  370. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  371. package/dist/src/functions/commands/versions-init.d.ts +3 -3
  372. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  373. package/dist/src/functions/commands/watch.d.ts +3 -3
  374. package/dist/src/functions/db/zod-codegen.d.ts +19 -19
  375. package/dist/src/functions/knowledge/schemas.d.ts +5 -5
  376. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  377. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  378. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  379. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  380. package/dist/src/functions/surface/build-surface-doc.js +1 -1
  381. package/dist/src/functions/surface/surface-doc.types.d.ts +1 -1
  382. package/dist/src/functions/surface/surface-editorial.js +5 -0
  383. package/dist/src/functions/validate/pikku-barrel-checks.js +2 -22
  384. package/dist/src/functions/validate/validate.d.ts +2 -2
  385. package/dist/src/functions/validate/websocket-deps-checks.d.ts +1 -1
  386. package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
  387. package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
  388. package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
  389. package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
  390. package/dist/src/functions/wirings/analytics/pikku-command-analytics.d.ts +11 -0
  391. package/dist/src/functions/wirings/analytics/pikku-command-analytics.js +66 -0
  392. package/dist/src/functions/wirings/analytics/serialize-analytics.d.ts +30 -0
  393. package/dist/src/functions/wirings/analytics/serialize-analytics.js +141 -0
  394. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +3 -3
  395. package/dist/src/functions/wirings/auth/pikku-command-auth.js +2 -6
  396. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
  397. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +15 -36
  398. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  399. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  400. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  401. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  402. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  403. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  404. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  405. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  406. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  407. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  408. package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -1
  409. package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.d.ts +1 -0
  410. package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.js +36 -0
  411. package/dist/src/functions/wirings/flags/pikku-command-flags.d.ts +7 -0
  412. package/dist/src/functions/wirings/flags/pikku-command-flags.js +36 -0
  413. package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.d.ts +13 -0
  414. package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.js +73 -0
  415. package/dist/src/functions/wirings/flags/serialize-flags-types.d.ts +14 -0
  416. package/dist/src/functions/wirings/flags/serialize-flags-types.js +68 -0
  417. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  418. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +3 -3
  419. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
  420. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  421. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +2 -2
  422. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +2 -1
  423. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  424. package/dist/src/functions/wirings/functions/pikku-command-services.js +9 -2
  425. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  426. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  427. package/dist/src/functions/wirings/functions/serialize-function-types.js +9 -4
  428. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +3 -3
  429. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  430. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
  431. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  432. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  433. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  434. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  435. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  436. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  437. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  438. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  439. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +4 -3
  440. package/dist/src/functions/wirings/package/pikku-command-package-types.js +14 -1
  441. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  442. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +1 -0
  443. package/dist/src/functions/wirings/package/serialize-package-types.js +15 -0
  444. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  445. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +3 -3
  446. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  447. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  448. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  449. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  450. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  451. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  452. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  453. package/dist/src/functions/wirings/remote-jobs/pikku-command-remote-jobs.d.ts +1 -1
  454. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +3 -3
  455. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  456. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  457. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  458. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  459. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
  460. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  461. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  462. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  463. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +3 -3
  464. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  465. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +3 -3
  466. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  467. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  468. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
  469. package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
  470. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  471. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  472. package/dist/src/functions/workflows/all.workflow.js +34 -9
  473. package/dist/src/services.js +7 -0
  474. package/dist/src/utils/analytics-schemas-file.d.ts +6 -0
  475. package/dist/src/utils/analytics-schemas-file.js +9 -0
  476. package/dist/src/utils/file-import-path.js +4 -1
  477. package/dist/src/utils/pikku-cli-config.d.ts +2 -2
  478. package/dist/src/utils/pikku-cli-config.js +28 -0
  479. package/dist/src/utils/remove-legacy-scaffold-file.js +4 -0
  480. package/dist/src/utils/resolve-from-project.d.ts +5 -0
  481. package/dist/src/utils/resolve-from-project.js +8 -2
  482. package/dist/src/utils/tsc-check.d.ts +11 -15
  483. package/dist/src/utils/tsc-check.js +97 -86
  484. package/dist/tsconfig.tsbuildinfo +1 -1
  485. package/package.json +32 -25
  486. package/snippets.json +1 -1
  487. package/surface.json +743 -27
  488. package/CHANGELOG.md +0 -9620
  489. package/console-app/assets/HelpPanel-nYO2hRY5.js +0 -1
  490. package/console-app/assets/architecture-TIHT7OUA-B-c05-x5.js +0 -1
  491. package/console-app/assets/architectureDiagram-T3A2C74G-BAH1O4B7.js +0 -36
  492. package/console-app/assets/blockDiagram-VBNYF7ZC-T3kmcPgj.js +0 -132
  493. package/console-app/assets/c4Diagram-5PPSVZJV-DRva89Br.js +0 -10
  494. package/console-app/assets/channel-DJ3jfSNX.js +0 -1
  495. package/console-app/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
  496. package/console-app/assets/chunk-7Z6QIM7H-uxzNGOHh.js +0 -10
  497. package/console-app/assets/chunk-I66GZJ75-DksrbEtn.js +0 -127
  498. package/console-app/assets/chunk-JQJVKLGR-BnRvPhDK.js +0 -156
  499. package/console-app/assets/chunk-QR6OTTB3-CgQotuzQ.js +0 -62
  500. package/console-app/assets/chunk-RYQCIY6F-Cei0abOq.js +0 -1
  501. package/console-app/assets/chunk-UBXNYLIW-B55XJk4O.js +0 -1
  502. package/console-app/assets/chunk-W5SLKNZC-gFa01tuI.js +0 -1
  503. package/console-app/assets/chunk-WRU74C26-C3ESZQ-F.js +0 -70
  504. package/console-app/assets/chunk-XXDRQBXY-D0tL6SVk.js +0 -1
  505. package/console-app/assets/classDiagram-JCYQIIEL-BqEwCDi8.js +0 -1
  506. package/console-app/assets/classDiagram-v2-OCEON4UE-BqEwCDi8.js +0 -1
  507. package/console-app/assets/cose-bilkent-JH36ORCC-CUxqwjs-.js +0 -1
  508. package/console-app/assets/cynefin-VYW2F7L2-Dh1yOBBs.js +0 -1
  509. package/console-app/assets/cytoscape.esm-B-NFISlW.js +0 -321
  510. package/console-app/assets/dagre-DKjebq_c.js +0 -1
  511. package/console-app/assets/dagre-VZM6K2ZE-BllFBMe9.js +0 -4
  512. package/console-app/assets/erDiagram-JOGREHBK-Bg0FPLS0.js +0 -85
  513. package/console-app/assets/eventmodeling-45OFAUF4-CVovwmpS.js +0 -1
  514. package/console-app/assets/flowDiagram-UKHOOZJN-DwRgEyXD.js +0 -1
  515. package/console-app/assets/ganttDiagram-PKOTCBZU-BBxxHrPG.js +0 -292
  516. package/console-app/assets/gitGraph-TEB2WS4Q-Cn1MjFvM.js +0 -1
  517. package/console-app/assets/graphlib-IlWVLY3o.js +0 -1
  518. package/console-app/assets/index-C8MC-uMB.css +0 -1
  519. package/console-app/assets/index-Deds7K2I.js +0 -290
  520. package/console-app/assets/info-DKCQHKI2-C2R7hV-y.js +0 -1
  521. package/console-app/assets/isUndefined-T4snU1Mx.js +0 -1
  522. package/console-app/assets/linear-BQOZezXu.js +0 -1
  523. package/console-app/assets/map-BmPfXn7V.js +0 -1
  524. package/console-app/assets/mermaid.core-B02bSmuz.js +0 -42
  525. package/console-app/assets/packet-7NZHBO7P-CkYMF0Cd.js +0 -1
  526. package/console-app/assets/pie-RZYD4A2V-BFMvieVM.js +0 -1
  527. package/console-app/assets/radar-I7S5WNFK-C_2tp7_w.js +0 -1
  528. package/console-app/assets/railroad-3IZDKUUU-DwlFJLv5.js +0 -1
  529. package/console-app/assets/railroad-abnf-AHOZXSZD-Cyu_rpdZ.js +0 -1
  530. package/console-app/assets/railroad-ebnf-EBAXGLYW-BLiwK-H7.js +0 -1
  531. package/console-app/assets/railroad-peg-LSFZ7HO6-BUDTDYmP.js +0 -1
  532. package/console-app/assets/src-BI35UZf8.js +0 -1
  533. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BsP8TwKV.js +0 -1
  534. package/console-app/assets/swimlanes-SLNWSIFB-DvAJxCGQ.js +0 -2
  535. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BAXO3Id2.js +0 -8
  536. package/console-app/assets/treeView-QDETBFTQ-DnlS0s0_.js +0 -1
  537. package/console-app/assets/treemap-6X3UGDF4-CiUoxlJe.js +0 -1
  538. package/console-app/assets/wardley-OPB4EBWU-DrTySJtR.js +0 -1
  539. package/dist/.pikku/console/index.d.ts +0 -1
  540. package/dist/.pikku/console/index.js +0 -1
  541. package/dist/.pikku/console/pikku-node-types.gen.d.ts +0 -6
  542. package/dist/.pikku/console/pikku-node-types.gen.js +0 -1
  543. package/dist/.pikku/pikku-meta-service.gen.d.ts +0 -7
  544. package/dist/.pikku/pikku-meta-service.gen.js +0 -9
  545. package/dist/.pikku/pikku-types.gen.d.ts +0 -17
  546. package/dist/.pikku/pikku-types.gen.js +0 -28
  547. package/dist/.pikku/workflow/pikku-personas.gen.d.ts +0 -15
  548. package/dist/.pikku/workflow/pikku-personas.gen.js +0 -17
  549. package/dist/src/functions/surface/collect-surface.d.ts +0 -58
  550. package/dist/src/functions/surface/collect-surface.js +0 -613
  551. /package/console-app/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
@@ -1 +1 @@
1
- export declare const dbMigrate: import("#pikku/function").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
1
+ export declare const dbMigrate: import("#pikku/function").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{}, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -8,8 +8,8 @@
8
8
  */
9
9
  export declare const dbReset: import("#pikku/function").PikkuFunctionConfig<{
10
10
  noSeed?: boolean;
11
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
11
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
12
12
  noSeed?: boolean;
13
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
13
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
14
14
  noSeed?: boolean;
15
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
15
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -21,7 +21,7 @@ export declare const deployApply: import("#pikku/function").PikkuFunctionConfig<
21
21
  desktopUrl?: string;
22
22
  resultFile?: string;
23
23
  debugArtifacts?: boolean;
24
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
24
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
25
25
  fromPlan?: boolean;
26
26
  provider?: string;
27
27
  runtime?: string;
@@ -29,7 +29,7 @@ export declare const deployApply: import("#pikku/function").PikkuFunctionConfig<
29
29
  desktopUrl?: string;
30
30
  resultFile?: string;
31
31
  debugArtifacts?: boolean;
32
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
32
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
33
33
  fromPlan?: boolean;
34
34
  provider?: string;
35
35
  runtime?: string;
@@ -37,4 +37,4 @@ export declare const deployApply: import("#pikku/function").PikkuFunctionConfig<
37
37
  desktopUrl?: string;
38
38
  resultFile?: string;
39
39
  debugArtifacts?: boolean;
40
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
40
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1,4 +1,6 @@
1
- import { basename, join, relative } from 'node:path';
1
+ import { basename, isAbsolute, join, relative } from 'node:path';
2
+ import { createRequire } from 'node:module';
3
+ import { pathToFileURL } from 'node:url';
2
4
  import { readFile } from 'node:fs/promises';
3
5
  import { existsSync, readFileSync } from 'node:fs';
4
6
  import { pikkuSessionlessFunc } from '#pikku/function';
@@ -89,6 +91,36 @@ async function resolveProjectId(projectDir) {
89
91
  }
90
92
  return sanitizeProjectId(basename(projectDir));
91
93
  }
94
+ /**
95
+ * A deploy provider is a dependency of the project being deployed, which is
96
+ * what the "is not installed" error asks the user to add. A bare
97
+ * `import(packageName)` resolves from the CLI's own location instead, and only
98
+ * found the provider because yarn hoisted every workspace package to a shared
99
+ * root. An isolated node_modules layout (bun, pnpm) gives the CLI only what the
100
+ * CLI declares, so the provider has to be resolved against the project.
101
+ *
102
+ * Only an absolute path counts as having resolved to the project's own copy: a
103
+ * configured provider may also be a URL, and a runtime whose `require.resolve`
104
+ * hands a bare specifier straight back for its own built-ins has resolved
105
+ * nothing. Both of those import as written.
106
+ */
107
+ const importProviderPackage = async (packageName, projectDir) => {
108
+ const require = createRequire(join(projectDir ?? process.cwd(), 'package.json'));
109
+ try {
110
+ const resolved = require.resolve(packageName);
111
+ if (isAbsolute(resolved)) {
112
+ return await import(pathToFileURL(resolved).href);
113
+ }
114
+ }
115
+ catch (e) {
116
+ const err = e;
117
+ if (err?.code !== 'ERR_MODULE_NOT_FOUND' &&
118
+ err?.code !== 'MODULE_NOT_FOUND') {
119
+ throw e;
120
+ }
121
+ }
122
+ return await import(packageName);
123
+ };
92
124
  export async function resolveProvider(config, providerName, options) {
93
125
  const name = providerName ?? config?.deploy?.defaultProvider ?? 'cloudflare';
94
126
  const providers = config?.deploy?.providers ?? {
@@ -103,7 +135,7 @@ export async function resolveProvider(config, providerName, options) {
103
135
  }
104
136
  const adapterExportName = name.charAt(0).toUpperCase() + name.slice(1) + 'ProviderAdapter';
105
137
  try {
106
- const mod = await import(packageName);
138
+ const mod = await importProviderPackage(packageName, options?.projectDir);
107
139
  if (typeof mod.createAdapter === 'function') {
108
140
  return mod.createAdapter(options);
109
141
  }
@@ -116,7 +148,7 @@ export async function resolveProvider(config, providerName, options) {
116
148
  const err = e;
117
149
  if (err?.code === 'ERR_MODULE_NOT_FOUND' ||
118
150
  err?.code === 'MODULE_NOT_FOUND') {
119
- throw new Error(`Deploy provider '${packageName}' is not installed. Run: yarn add ${packageName}`);
151
+ throw new Error(`Deploy provider '${packageName}' is not installed. Add ${packageName} to this project's dependencies.`);
120
152
  }
121
153
  throw e;
122
154
  }
@@ -1 +1 @@
1
- export declare const deployInfo: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
1
+ export declare const deployInfo: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -3,14 +3,14 @@ export declare const deployPlan: import("#pikku/function").PikkuFunctionConfig<{
3
3
  provider?: string;
4
4
  runtime?: string;
5
5
  debugArtifacts?: boolean;
6
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
6
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
7
7
  resultFile?: string;
8
8
  provider?: string;
9
9
  runtime?: string;
10
10
  debugArtifacts?: boolean;
11
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
11
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
12
12
  resultFile?: string;
13
13
  provider?: string;
14
14
  runtime?: string;
15
15
  debugArtifacts?: boolean;
16
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
16
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -49,6 +49,7 @@ export const deployPlan = pikkuSessionlessFunc({
49
49
  const projectId = await resolveProjectId(projectDir);
50
50
  const provider = await resolveProvider(config, data?.provider, {
51
51
  runtime: data?.runtime,
52
+ projectDir,
52
53
  });
53
54
  const result = await runBuildPipeline({
54
55
  projectDir,
@@ -17,13 +17,15 @@ import type { AgentRunnerService } from '@pikku/core/services';
17
17
  * configured (agents stay disabled, with the clear downstream error) or when
18
18
  * the SDK packages cannot be loaded from either place.
19
19
  *
20
- * Audio does not work here: `@ai-sdk/openai-compatible` exposes only
21
- * language/embedding/image models, so a voice agent under `pikku dev` throws
22
- * `Provider does not support transcription models`. Fixing that means the full
23
- * `@ai-sdk/openai` provider, which assumes OpenAI's own request specifics — a
24
- * bad default for a path whose entire purpose is fronting arbitrary gateways.
25
- * If it becomes worth it, delegate just `transcription`/`speech` to the full
26
- * provider and leave everything else on this one.
20
+ * Audio comes from a second provider. `@ai-sdk/openai-compatible` exposes only
21
+ * language/embedding/image models, so `transcription`/`speech` are delegated to
22
+ * the full `@ai-sdk/openai` provider pointed at the same base URL, and nothing
23
+ * else is: that provider assumes OpenAI's own request specifics, which is a bad
24
+ * default for a path whose whole purpose is fronting arbitrary gateways. Its
25
+ * `/v1/audio/*` shape, on the other hand, is what a gateway implements if it
26
+ * carries audio at all — routing OpenAI-compatible chat is no promise that it
27
+ * does. When it cannot be resolved, or the gateway has no audio endpoints
28
+ * behind it, audio is unavailable and the rest still works.
27
29
  */
28
30
  export declare function createDevAgentRunner({ logger, projectRoot, variables, }: {
29
31
  logger: Logger;
@@ -17,13 +17,15 @@ import { pathToFileURL } from 'url';
17
17
  * configured (agents stay disabled, with the clear downstream error) or when
18
18
  * the SDK packages cannot be loaded from either place.
19
19
  *
20
- * Audio does not work here: `@ai-sdk/openai-compatible` exposes only
21
- * language/embedding/image models, so a voice agent under `pikku dev` throws
22
- * `Provider does not support transcription models`. Fixing that means the full
23
- * `@ai-sdk/openai` provider, which assumes OpenAI's own request specifics — a
24
- * bad default for a path whose entire purpose is fronting arbitrary gateways.
25
- * If it becomes worth it, delegate just `transcription`/`speech` to the full
26
- * provider and leave everything else on this one.
20
+ * Audio comes from a second provider. `@ai-sdk/openai-compatible` exposes only
21
+ * language/embedding/image models, so `transcription`/`speech` are delegated to
22
+ * the full `@ai-sdk/openai` provider pointed at the same base URL, and nothing
23
+ * else is: that provider assumes OpenAI's own request specifics, which is a bad
24
+ * default for a path whose whole purpose is fronting arbitrary gateways. Its
25
+ * `/v1/audio/*` shape, on the other hand, is what a gateway implements if it
26
+ * carries audio at all — routing OpenAI-compatible chat is no promise that it
27
+ * does. When it cannot be resolved, or the gateway has no audio endpoints
28
+ * behind it, audio is unavailable and the rest still works.
27
29
  */
28
30
  export async function createDevAgentRunner({ logger, projectRoot, variables, }) {
29
31
  // Pair the URL with its matching key — coalescing each var independently could
@@ -98,10 +100,14 @@ export async function createDevAgentRunner({ logger, projectRoot, variables, })
98
100
  };
99
101
  let VercelAgentRunner;
100
102
  let createOpenAICompatible;
103
+ // Which of the two copies `loadPair` settled on. The audio provider has to
104
+ // come from the same one, for the reason PAIR exists at all.
105
+ let pairFromProject = false;
101
106
  try {
102
107
  const [runnerModule, providerModule, resolved] = await loadPair();
103
108
  ({ VercelAgentRunner } = runnerModule);
104
109
  ({ createOpenAICompatible } = providerModule);
110
+ pairFromProject = resolved !== undefined;
105
111
  const [runnerSpec, providerSpec] = (resolved ?? []).map(providerSpecVersion);
106
112
  if (runnerSpec &&
107
113
  providerSpec &&
@@ -114,6 +120,30 @@ export async function createDevAgentRunner({ logger, projectRoot, variables, })
114
120
  logger.warn(`pikku dev: AI provider env is set but the AI SDK packages could not be loaded — AI agents disabled: ${error instanceof Error ? error.message : String(error)}`);
115
121
  return undefined;
116
122
  }
123
+ // Optional, and resolved from whichever copy the pair came from — NOT
124
+ // "project first, then ours". Mixing the two is the same failure PAIR
125
+ // guards against: an audio model built against one `@ai-sdk/provider` handed
126
+ // to a runner built against another is refused at the first transcribe or
127
+ // speak call, by an error naming the model rather than the two packages that
128
+ // disagree. When the pair fell back to the CLI's copies, so does this; when
129
+ // the project's own were used and it has no `@ai-sdk/openai` of its own,
130
+ // audio stays off rather than borrowing ours.
131
+ let createOpenAIProvider;
132
+ const audioFrom = pairFromProject
133
+ ? resolveFromProject('@ai-sdk/openai')
134
+ : '@ai-sdk/openai';
135
+ if (!audioFrom) {
136
+ logger.debug(`pikku dev: @ai-sdk/openai could not be resolved from ${join(projectRoot, 'package.json')}, alongside the AI SDK copies in use, so speech-to-text and text-to-speech are unavailable`);
137
+ }
138
+ else {
139
+ try {
140
+ ;
141
+ ({ createOpenAI: createOpenAIProvider } = await import(audioFrom));
142
+ }
143
+ catch (error) {
144
+ logger.debug(`pikku dev: @ai-sdk/openai could not be loaded, so speech-to-text and text-to-speech are unavailable: ${error instanceof Error ? error.message : String(error)}`);
145
+ }
146
+ }
117
147
  // One provider under '*', so every prefix a model might name resolves to the
118
148
  // proxy — including ones nobody thought to list. This was a hardcoded array
119
149
  // of seven names, which silently excluded everything else.
@@ -126,14 +156,28 @@ export async function createDevAgentRunner({ logger, projectRoot, variables, })
126
156
  // fronting this URL that is worth calling speaks `json_schema`; the ones that
127
157
  // do not now fail loudly on the first schema'd call, which is the outcome we
128
158
  // want over silently ignoring the schema.
129
- const buildProviders = (key) => ({
130
- '*': createOpenAICompatible({
159
+ // Attached onto the compatible provider rather than replacing it with a plain
160
+ // object of named methods: the provider is callable, and `getModel` takes a
161
+ // callable's fast path for language models, so every other kind keeps
162
+ // resolving exactly as it did.
163
+ const buildProviders = (key) => {
164
+ const provider = createOpenAICompatible({
131
165
  name: 'pikku-dev',
132
166
  baseURL,
133
167
  apiKey: key,
134
168
  supportsStructuredOutputs: true,
135
- }),
136
- });
137
- logger.info(`pikku dev: AI agent runner wired to ${baseURL}`);
169
+ });
170
+ if (createOpenAIProvider) {
171
+ const audio = createOpenAIProvider({
172
+ name: 'pikku-dev-audio',
173
+ baseURL,
174
+ apiKey: key,
175
+ });
176
+ provider.transcription = (modelId) => audio.transcription(modelId);
177
+ provider.speech = (modelId) => audio.speech(modelId);
178
+ }
179
+ return { '*': provider };
180
+ };
181
+ logger.info(`pikku dev: AI agent runner wired to ${baseURL}${createOpenAIProvider ? '' : ' (no audio — @ai-sdk/openai not resolvable)'}`);
138
182
  return new VercelAgentRunner(buildProviders(apiKey), buildProviders);
139
183
  }
@@ -5,18 +5,18 @@ export declare const dev: import("#pikku/function").PikkuFunctionConfig<{
5
5
  coverage?: boolean;
6
6
  test?: boolean;
7
7
  model?: string;
8
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
8
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
9
9
  port?: string;
10
10
  watch?: boolean;
11
11
  hmr?: boolean;
12
12
  coverage?: boolean;
13
13
  test?: boolean;
14
14
  model?: string;
15
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
15
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
16
16
  port?: string;
17
17
  watch?: boolean;
18
18
  hmr?: boolean;
19
19
  coverage?: boolean;
20
20
  test?: boolean;
21
21
  model?: string;
22
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
22
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -4,10 +4,12 @@ import { pikkuSessionlessFunc } from '#pikku/function';
4
4
  import chokidar from 'chokidar';
5
5
  import { pikkuDevReloader, reloadGeneratedMeta, reconcileAddonRegistry, } from '@pikku/core/dev';
6
6
  import { InMemoryQueueService, QueueWebhookService } from '@pikku/core/services';
7
+ import { flattenScopeDefinitions } from '@pikku/core/scope';
8
+ import { flattenSystemRoleDefinitions } from '@pikku/core/role';
7
9
  import { ConsoleLogger, LocalEmailService, LocalCredentialService, spy, InMemoryAgentRunStateService, } from '@pikku/core/services';
8
10
  import { InMemoryTriggerService } from '@pikku/core/services';
9
11
  import { InMemoryWorkflowService } from '@pikku/core/services';
10
- import { KyselyAgentStorageService, KyselyAgentRunStateService, KyselyAgentRunService, } from '@pikku/kysely';
12
+ import { KyselyAgentStorageService, KyselyAgentRunStateService, KyselyAgentRunService, KyselyAnalyticsService, KyselyFeatureFlagStore, KyselyScopeService, KyselyWebhookService, } from '@pikku/kysely';
11
13
  import { stopSingletonServices } from '@pikku/core/utils';
12
14
  import { pikkuState } from '@pikku/core/state';
13
15
  import { wireAgentScorerQueueWorkers } from '@pikku/core/agent-scorer';
@@ -16,6 +18,7 @@ import { LocalContent, } from '@pikku/core/services/local-content';
16
18
  import { InMemorySchedulerService } from '@pikku/schedule';
17
19
  import { resolveDb, createKysely, parseDatabaseUrl, } from '../db/local-db.js';
18
20
  import { loadUserBootstrap, loadUserModule } from './load-user-project.js';
21
+ import { initOrWarn } from './init-or-warn.js';
19
22
  import { registerScenarioInstrumentation } from '../wirings/scenarios/register-scenario-instrumentation.js';
20
23
  import { startCoverageService } from './start-coverage.js';
21
24
  import { resolveDevEnvironmentName } from './environment.js';
@@ -170,6 +173,7 @@ export const dev = pikkuSessionlessFunc({
170
173
  };
171
174
  const contentSigningJWT = createEphemeralContentSigningJWT();
172
175
  const localContent = new LocalContent(localContentConfig, logger, contentSigningJWT);
176
+ const requiredServices = inspectorState.serviceAggregation.requiredServices;
173
177
  const schedulerService = new InMemorySchedulerService();
174
178
  const agentStorage = kysely
175
179
  ? new KyselyAgentStorageService(kysely)
@@ -185,6 +189,34 @@ export const dev = pikkuSessionlessFunc({
185
189
  if ('init' in agentRunState && typeof agentRunState.init === 'function') {
186
190
  await agentRunState.init();
187
191
  }
192
+ // Flags and analytics get the same local database the rest of the services
193
+ // do, so a flag an operator flips in the console survives a restart and a
194
+ // declared event lands somewhere a query can reach.
195
+ //
196
+ // Dropped with a warning rather than thrown on, unlike the agent services
197
+ // above: both tables are generated from a declaration the project may have
198
+ // added since it last migrated, and neither absence is worse than what a
199
+ // project has today — an unregistered flag source resolves every gate open,
200
+ // and analytics without a service falls back to the logger. Failing the
201
+ // boot instead would turn adding one `featureFlag:` into a dead dev server.
202
+ const featureFlags = kysely
203
+ ? await initOrWarn(new KyselyFeatureFlagStore(kysely), 'featureFlags', logger)
204
+ : undefined;
205
+ const analyticsService = kysely
206
+ ? await initOrWarn(new KyselyAnalyticsService(kysely), 'analyticsService', logger)
207
+ : undefined;
208
+ // Gated on `requiredServices` rather than on `kysely` alone, because that is
209
+ // the same set `pikku db generate` filters the runtime schemas by: a project
210
+ // that never asks for `scopeService` has no scope tables, and `init()` here
211
+ // would fail its boot over a service nothing uses.
212
+ const scopeService = kysely && requiredServices.has('scopeService')
213
+ ? new KyselyScopeService(kysely)
214
+ : undefined;
215
+ if (scopeService) {
216
+ await scopeService.init();
217
+ await scopeService.syncScopes(flattenScopeDefinitions(inspectorState.scopes.definitions));
218
+ await scopeService.syncSystemRoles(flattenSystemRoleDefinitions(inspectorState.systemRoles.definitions));
219
+ }
188
220
  // InMemoryWorkflowService implements both the workflowService and
189
221
  // workflowRunService surfaces (listRuns/getRun live on it). Expose the
190
222
  // single instance under both names so addons like @pikku/addon-console
@@ -195,10 +227,12 @@ export const dev = pikkuSessionlessFunc({
195
227
  // has no equivalent, so construct one from env or agents 503 with
196
228
  // AIProviderNotConfiguredError. The template forwards injected services
197
229
  // (`...existingServices`) so this reaches getSingletonServices().
198
- // Only when the project declares agents — otherwise the runner's
199
- // missing-SDK warning fires spuriously for projects with global AI env.
230
+ // Only when the project actually reaches for one — a declared agent, or a
231
+ // function destructuring `agentRunner` for a one-shot vision / speech call.
232
+ // Otherwise the runner's missing-SDK warning fires spuriously for every
233
+ // project that happens to have AI env set.
200
234
  const hasAgents = Object.keys(inspectorState.agents.agentsMeta).length > 0;
201
- const agentRunner = hasAgents
235
+ const agentRunner = hasAgents || requiredServices.has('agentRunner')
202
236
  ? await createDevAgentRunner({
203
237
  logger,
204
238
  projectRoot: config.rootDir,
@@ -210,6 +244,15 @@ export const dev = pikkuSessionlessFunc({
210
244
  // function-side broadcasts reach the sockets the transport holds.
211
245
  const eventHub = await devServerRunner.createEventHub();
212
246
  const devQueueService = new InMemoryQueueService();
247
+ // The queue-only service delivers but keeps no history, so the console's
248
+ // webhooks page is empty on a project that has the tables for it. Same
249
+ // `requiredServices` gate as the scope service above.
250
+ const devWebhookService = kysely && requiredServices.has('webhookService')
251
+ ? new KyselyWebhookService(devQueueService, kysely)
252
+ : new QueueWebhookService(devQueueService);
253
+ if (devWebhookService instanceof KyselyWebhookService) {
254
+ await devWebhookService.init();
255
+ }
213
256
  const inMemoryServices = {
214
257
  logger: devLogger,
215
258
  ...(agentRunner ? { agentRunner } : {}),
@@ -220,7 +263,8 @@ export const dev = pikkuSessionlessFunc({
220
263
  ...(coverageService ? { coverageService } : {}),
221
264
  schedulerService,
222
265
  queueService: devQueueService,
223
- webhookService: new QueueWebhookService(devQueueService),
266
+ webhookService: devWebhookService,
267
+ ...(scopeService ? { scopeService } : {}),
224
268
  workflowService,
225
269
  workflowRunService: workflowService,
226
270
  triggerService: new InMemoryTriggerService(),
@@ -228,6 +272,8 @@ export const dev = pikkuSessionlessFunc({
228
272
  agentStorage,
229
273
  agentRunState,
230
274
  agentRunService,
275
+ ...(featureFlags ? { featureFlags } : {}),
276
+ ...(analyticsService ? { analyticsService } : {}),
231
277
  eventHub,
232
278
  ...(kysely ? { kysely } : {}),
233
279
  content: localContent,
@@ -252,6 +298,14 @@ export const dev = pikkuSessionlessFunc({
252
298
  return m[serverLifecycleFactory.variable];
253
299
  };
254
300
  const consoleMount = await resolveConsoleMount();
301
+ // Appended, not assigned: an app's own config may already declare mounts
302
+ // for its frontend, and dev is where that frontend is meant to be served.
303
+ // Replacing them meant the console being present silently unmounted the
304
+ // app, which is the one combination every project has.
305
+ const staticMounts = [
306
+ ...(userConfig.staticMounts ?? []),
307
+ ...(consoleMount ? [consoleMount] : []),
308
+ ];
255
309
  /**
256
310
  * Hand the server the generated MCP manifest so it actually serves MCP.
257
311
  *
@@ -290,7 +344,7 @@ export const dev = pikkuSessionlessFunc({
290
344
  hostname: bindHostname,
291
345
  port: resolvedPort,
292
346
  content: localContentConfig,
293
- ...(consoleMount ? { staticMounts: [consoleMount] } : {}),
347
+ ...(staticMounts.length > 0 ? { staticMounts } : {}),
294
348
  }, logger, { contentSigningJWT, mcpJson });
295
349
  const lifecycle = await loadLifecycle();
296
350
  await pikkuServer.init();
@@ -21,8 +21,8 @@ export type DistCopy = {
21
21
  export declare const planDistCopies: (rootDir: string, distDir: string, files: string[]) => DistCopy[];
22
22
  export declare const pikkuDist: import("#pikku/function").PikkuFunctionConfig<{
23
23
  distDir?: string;
24
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
24
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
25
25
  distDir?: string;
26
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
26
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
27
27
  distDir?: string;
28
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
28
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { cp, mkdir, readdir } from 'node:fs/promises';
3
3
  import { dirname, join, relative, resolve } from 'node:path';
4
- import ts from 'typescript';
4
+ import { readTsconfigOutDir } from '@pikku/inspector';
5
5
  import { pikkuSessionlessFunc } from '#pikku/function';
6
6
  /**
7
7
  * `tsc` compiles a `.ts` and emits it. Everything else it either reads without
@@ -28,19 +28,12 @@ export const planDistCopies = (rootDir, distDir, files) => {
28
28
  to: join(distDir, relative(rootDir, from)),
29
29
  }));
30
30
  };
31
- const readTsOutDir = (tsconfig) => {
32
- const parsed = ts.getParsedCommandLineOfConfigFile(tsconfig, {}, {
33
- ...ts.sys,
34
- onUnRecoverableConfigFileDiagnostic: () => { },
35
- });
36
- return parsed?.options.outDir;
37
- };
38
31
  export const pikkuDist = pikkuSessionlessFunc({
39
32
  func: async ({ logger, config }, data) => {
40
33
  const { rootDir, outDir, srcDirectories, tsconfig } = config;
41
34
  const distDir = data.distDir
42
35
  ? resolve(rootDir, data.distDir)
43
- : readTsOutDir(resolve(rootDir, tsconfig));
36
+ : readTsconfigOutDir(resolve(rootDir, tsconfig));
44
37
  if (!distDir) {
45
38
  logger.error(`${tsconfig} sets no compilerOptions.outDir, so there is nowhere to copy to. Set one, or pass --dist-dir.`);
46
39
  process.exit(1);
@@ -4,19 +4,19 @@ export declare const doc: import("#pikku/function").PikkuFunctionConfig<{
4
4
  addon?: boolean;
5
5
  }, {
6
6
  text: string;
7
- }, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
7
+ }, "rpc" | "session", import("#pikku/function").PikkuFunction<{
8
8
  topics?: string[];
9
9
  ai?: boolean;
10
10
  addon?: boolean;
11
11
  }, {
12
12
  text: string;
13
- }, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
13
+ }, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
14
14
  topics?: string[];
15
15
  ai?: boolean;
16
16
  addon?: boolean;
17
17
  }, {
18
18
  text: string;
19
- }, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
19
+ }, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
20
20
  export declare const renderDoc: (_services: unknown, { text }: {
21
21
  text: string;
22
22
  }) => void;
@@ -1,5 +1,5 @@
1
1
  type EmailsInitInput = {
2
2
  force?: boolean;
3
3
  };
4
- export declare const pikkuEmailsInit: import("#pikku/function").PikkuFunctionConfig<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
4
+ export declare const pikkuEmailsInit: import("#pikku/function").PikkuFunctionConfig<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").PikkuFunction<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<EmailsInitInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
5
5
  export {};
@@ -1,9 +1,9 @@
1
- export declare const enableRpc: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
2
- export declare const enableConsole: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
3
- export declare const enableScenarios: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
4
- export declare const enableAgent: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
5
- export declare const enableWorkflow: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
6
- export declare const enableEvents: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
7
- export declare const enableRemoteRpc: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
8
- export declare const enableRemoteJobs: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
9
- export declare const enableWebhook: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
1
+ export declare const enableRpc: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
2
+ export declare const enableConsole: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
3
+ export declare const enableScenarios: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
4
+ export declare const enableAgent: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
5
+ export declare const enableWorkflow: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
6
+ export declare const enableEvents: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
7
+ export declare const enableRemoteRpc: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
8
+ export declare const enableRemoteJobs: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
9
+ export declare const enableWebhook: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1,10 +1,10 @@
1
1
  export declare const pikkuImportN8n: import("#pikku/function").PikkuFunctionConfig<{
2
2
  file: string;
3
3
  out?: string;
4
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
4
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
5
5
  file: string;
6
6
  out?: string;
7
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
8
8
  file: string;
9
9
  out?: string;
10
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
10
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -2,8 +2,8 @@ type InfoInput = {
2
2
  limit?: string;
3
3
  verbose?: boolean;
4
4
  };
5
- export declare const pikkuInfoFunctions: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
6
- export declare const pikkuInfoTags: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
7
- export declare const pikkuInfoMiddleware: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
8
- export declare const pikkuInfoPermissions: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
5
+ export declare const pikkuInfoFunctions: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
6
+ export declare const pikkuInfoTags: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
7
+ export declare const pikkuInfoMiddleware: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
8
+ export declare const pikkuInfoPermissions: import("#pikku/function").PikkuFunctionConfig<InfoInput, void, "rpc" | "session", import("#pikku/function").PikkuFunction<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<InfoInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
9
9
  export {};
@@ -0,0 +1,19 @@
1
+ import type { Logger } from '@pikku/core/services';
2
+ /**
3
+ * Bring a database-backed service up, or say why the dev server is doing
4
+ * without it.
5
+ *
6
+ * `init()` on these services is a check, not a create — the runtime never
7
+ * issues DDL, so a project whose migrations predate the declaration that needs
8
+ * the tables gets a throw. For a service the dev server supplies on the
9
+ * project's behalf that throw would be an ambush: the project never asked for
10
+ * it, and the failure lands on `pikku dev` rather than on the code that changed.
11
+ *
12
+ * So the service is dropped and the reason is printed. The caller decides
13
+ * whether that is survivable — it is only used where absence degrades to what
14
+ * the project already had, never where something would silently do the wrong
15
+ * thing.
16
+ */
17
+ export declare const initOrWarn: <T extends {
18
+ init(): Promise<void>;
19
+ }>(service: T, name: string, logger: Logger) => Promise<T | undefined>;