@pikku/cli 0.12.104 → 0.12.107

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 (787) hide show
  1. package/CHANGELOG.md +7306 -0
  2. package/console-app/assets/abnfDiagram-N423BO3Z-C5uToS9v.js +1 -0
  3. package/console-app/assets/arc-D8VmsdJb.js +1 -0
  4. package/console-app/assets/architecture-TIHT7OUA-B1IpeRpl.js +1 -0
  5. package/console-app/assets/architectureDiagram-T3A2C74G-BzJDRfv4.js +36 -0
  6. package/console-app/assets/{blockDiagram-677ZJIJ3-CcSxyQZH.js → blockDiagram-VBNYF7ZC-X5G9Ch-D.js} +5 -5
  7. package/console-app/assets/c4Diagram-5PPSVZJV-B59aO2Sc.js +10 -0
  8. package/console-app/assets/channel-sTJGzqn9.js +1 -0
  9. package/console-app/assets/{chunk-32BRIVSS-Atv4wjmh.js → chunk-2GRJ4B5K-Bwe32j_R.js} +1 -1
  10. package/console-app/assets/{chunk-HOUHSVGY-CyU0q_QM.js → chunk-4I5QYGJK-Beg_uQQN.js} +1 -1
  11. package/console-app/assets/chunk-5RXB4S5H-0HaMiv3k.js +231 -0
  12. package/console-app/assets/{chunk-MOJQB5TN-DUKLkDFX.js → chunk-6Q2QTUOP-CXxkExOq.js} +1 -1
  13. package/console-app/assets/chunk-7Z6QIM7H-zUqPbrvp.js +10 -0
  14. package/console-app/assets/{chunk-V7JOEXUC-BfBH_WMn.js → chunk-GF5L2VYU-CY0wGPcJ.js} +3 -3
  15. package/console-app/assets/chunk-I66GZJ75-BP5UNkJY.js +127 -0
  16. package/console-app/assets/chunk-JQJVKLGR-3dvnUUZN.js +156 -0
  17. package/console-app/assets/{chunk-VR4S4FIN-q02O9Hva.js → chunk-KBJHAD2P-ChD7o2bf.js} +1 -1
  18. package/console-app/assets/{chunk-KEIR6QF5-DNzq6p3w.js → chunk-KEIR6QF5-BICK3FdT.js} +32 -32
  19. package/console-app/assets/chunk-NSK5VX7P-oG1nh33f.js +2 -0
  20. package/console-app/assets/{chunk-ZGVPDNZ5-2b6-Ub1z.js → chunk-QR6OTTB3-D_uKJrj6.js} +3 -3
  21. package/console-app/assets/chunk-RYQCIY6F-CtYhP8W5.js +1 -0
  22. package/console-app/assets/chunk-UBXNYLIW-CMgD3fvL.js +1 -0
  23. package/console-app/assets/{chunk-C7G6YPKG-DhtQv4yx.js → chunk-W5SLKNZC-cjI56NCs.js} +1 -1
  24. package/console-app/assets/{chunk-Q4XR5HBZ-Cpak96ZI.js → chunk-WRU74C26-BQqHgerX.js} +7 -7
  25. package/console-app/assets/chunk-XXDRQBXY-CLdTtHL4.js +1 -0
  26. package/console-app/assets/classDiagram-JCYQIIEL-Dh0wx8TK.js +1 -0
  27. package/console-app/assets/classDiagram-v2-OCEON4UE-Dh0wx8TK.js +1 -0
  28. package/console-app/assets/cose-bilkent-JH36ORCC-DcHzDpDb.js +1 -0
  29. package/console-app/assets/cynefin-VYW2F7L2-Cn2zn-8-.js +1 -0
  30. package/console-app/assets/cynefinDiagram-MW4NZA55-C00zINdu.js +62 -0
  31. package/console-app/assets/cytoscape.esm-B-NFISlW.js +321 -0
  32. package/console-app/assets/dagre-DE2imcyX.js +1 -0
  33. package/console-app/assets/dagre-VZM6K2ZE-Bb2uZ7tL.js +4 -0
  34. package/console-app/assets/defaultLocale-BFoDCU3G.js +1 -0
  35. package/console-app/assets/{diagram-OA4YK3LP-Dv-j07Wh.js → diagram-7IWD3JNH-DUN-JIa1.js} +3 -3
  36. package/console-app/assets/{diagram-FQU43EPY-SGSSyx5P.js → diagram-B4RE2ZJO-Ct5iRFhI.js} +1 -1
  37. package/console-app/assets/diagram-LBJQPF4R-BZ2Hrr-9.js +24 -0
  38. package/console-app/assets/diagram-Q27KOJAE-BHaThj6T.js +24 -0
  39. package/console-app/assets/diagram-UB23O5K3-CH-SzBoh.js +41 -0
  40. package/console-app/assets/dist-CsdsWTxp.js +1 -0
  41. package/console-app/assets/ebnfDiagram-BXEA7PRR-BkjeNaQH.js +1 -0
  42. package/console-app/assets/{erDiagram-Q63AITRT-DQ5Gu1Tw.js → erDiagram-JOGREHBK-BdL77bY3.js} +3 -3
  43. package/console-app/assets/eventmodeling-45OFAUF4-C6PNVeIU.js +1 -0
  44. package/console-app/assets/flowDiagram-UKHOOZJN-CmURPvo2.js +1 -0
  45. package/console-app/assets/ganttDiagram-PKOTCBZU-DfgO68Ez.js +292 -0
  46. package/console-app/assets/gitGraph-TEB2WS4Q-BNbepAzP.js +1 -0
  47. package/console-app/assets/{gitGraphDiagram-IHSO6WYX-7JFgdH2Q.js → gitGraphDiagram-DS77QQ5N-Crb8obGB.js} +4 -4
  48. package/console-app/assets/graphlib-IlWVLY3o.js +1 -0
  49. package/console-app/assets/index-Dsydm-nw.css +1 -0
  50. package/console-app/assets/index-g8jA8DJo.js +290 -0
  51. package/console-app/assets/info-DKCQHKI2-D9tXUXel.js +1 -0
  52. package/console-app/assets/infoDiagram-6WML65LV-BvG8ufLa.js +2 -0
  53. package/console-app/assets/init-C-OQMol4.js +1 -0
  54. package/console-app/assets/isUndefined-T4snU1Mx.js +1 -0
  55. package/console-app/assets/{ishikawaDiagram-FXEZZL3T-XjQC7Fmw.js → ishikawaDiagram-WSZJBQD7-BWoGxEjO.js} +3 -3
  56. package/console-app/assets/{journeyDiagram-5HDEW3XC-DyIcpJQM.js → journeyDiagram-NVQOT4AX-CR4YcPHg.js} +3 -3
  57. package/console-app/assets/{kanban-definition-HUTT4EX6-B1zYF1dv.js → kanban-definition-27J2QSJJ-DYfc5EZe.js} +6 -6
  58. package/console-app/assets/{katex-Vhh-h91d.js → katex-CXMH3UgJ.js} +3 -3
  59. package/console-app/assets/{line-C6UySSzG.js → line-NIaf8Mfw.js} +1 -1
  60. package/console-app/assets/linear-DB_1BE-l.js +1 -0
  61. package/console-app/assets/map-BmPfXn7V.js +1 -0
  62. package/console-app/assets/{mermaid-parser.core-Tfk1Eudy.js → mermaid-parser.core-BqCVMHRZ.js} +3 -3
  63. package/console-app/assets/mermaid.core-CYaeERjF.js +42 -0
  64. package/console-app/assets/{mindmap-definition-LN4V7U3C-5tBdCFVy.js → mindmap-definition-FAOFIHXS-BCjT2v4F.js} +3 -3
  65. package/console-app/assets/{ordinal-hYBb2elL.js → ordinal-BDEzSJ7C.js} +1 -1
  66. package/console-app/assets/packet-7NZHBO7P-CzFZvntp.js +1 -0
  67. package/console-app/assets/path-fybaL0A-.js +1 -0
  68. package/console-app/assets/pegDiagram-VL7TDLO6-3iMotW64.js +1 -0
  69. package/console-app/assets/pie-RZYD4A2V-CXIoUTJn.js +1 -0
  70. package/console-app/assets/pieDiagram-7S7Q4E2Y-B-EOKkdd.js +39 -0
  71. package/console-app/assets/{quadrantDiagram-ABIIQ3AL-Bwdtm5-W.js → quadrantDiagram-CIZ2JOQS-DDdq8l2N.js} +2 -2
  72. package/console-app/assets/radar-I7S5WNFK-9SLSkJ73.js +1 -0
  73. package/console-app/assets/railroad-3IZDKUUU-DdJ88Ord.js +1 -0
  74. package/console-app/assets/railroad-abnf-AHOZXSZD-D2QiLT8B.js +1 -0
  75. package/console-app/assets/railroad-ebnf-EBAXGLYW-CSMqj9L2.js +1 -0
  76. package/console-app/assets/railroad-peg-LSFZ7HO6-Cg1-F8im.js +1 -0
  77. package/console-app/assets/railroadDiagram-AXF67PYL-BMW_s9QW.js +1 -0
  78. package/console-app/assets/{requirementDiagram-TGXJPOKE-CRV748Vu.js → requirementDiagram-LRYGKXZP-BzcnEvjk.js} +2 -2
  79. package/console-app/assets/rolldown-runtime-BcKkbAw3.js +1 -0
  80. package/console-app/assets/{rough.esm-CSKSodPl.js → rough.esm-Dy-Kn_BL.js} +1 -1
  81. package/console-app/assets/{sankeyDiagram-HTMAVEWB-CrFvfCvp.js → sankeyDiagram-W5VNT64P-Dh2TFvuG.js} +2 -2
  82. package/console-app/assets/sequenceDiagram-SI44F4Z6-b-m-tQYz.js +162 -0
  83. package/console-app/assets/src-Dm8O0hiD.js +1 -0
  84. package/console-app/assets/stateDiagram-OKZ733FA-W98kCkqj.js +1 -0
  85. package/console-app/assets/stateDiagram-v2-UEYNNEHI-DpnoMNHC.js +1 -0
  86. package/console-app/assets/swimlanes-SLNWSIFB-0q_y6cLu.js +2 -0
  87. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BmGtOaWo.js +8 -0
  88. package/console-app/assets/timeline-definition-Z64GVDOM-DmsNlhwe.js +120 -0
  89. package/console-app/assets/treeView-QDETBFTQ-DY7A9uJm.js +1 -0
  90. package/console-app/assets/treemap-6X3UGDF4-DI73Vm90.js +1 -0
  91. package/console-app/assets/vennDiagram-T6HMQDX7-Czpr9diJ.js +34 -0
  92. package/console-app/assets/wardley-OPB4EBWU-C39AmDqd.js +1 -0
  93. package/console-app/assets/{wardleyDiagram-EHGQE667-uWxnqqVK.js → wardleyDiagram-T6FBY63Y-DOtWBvnk.js} +36 -36
  94. package/console-app/assets/{xychartDiagram-FW5EYKEG-ClVawwGR.js → xychartDiagram-ELKLHX3M-VHHuGrWV.js} +4 -4
  95. package/console-app/index.html +4 -2
  96. package/dist/.pikku/addon/index.d.ts +7 -0
  97. package/dist/.pikku/addon/index.js +7 -0
  98. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +7 -0
  99. package/dist/.pikku/addon/pikku-addon-types.gen.js +7 -0
  100. package/dist/.pikku/agent/index.d.ts +7 -0
  101. package/dist/.pikku/agent/index.js +7 -0
  102. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +14 -13
  103. package/dist/.pikku/agent/pikku-agent-types.gen.js +5 -6
  104. package/dist/.pikku/agent/pikku-model-aliases.gen.js +2 -2
  105. package/dist/.pikku/auth/index.d.ts +8 -0
  106. package/dist/.pikku/auth/index.js +8 -0
  107. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +118 -0
  108. package/dist/.pikku/auth/pikku-auth-types.gen.js +92 -0
  109. package/dist/.pikku/channel/index.d.ts +7 -0
  110. package/dist/.pikku/channel/index.js +7 -0
  111. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +6 -8
  112. package/dist/.pikku/channel/pikku-channel-types.gen.js +2 -9
  113. package/dist/.pikku/cli/index.d.ts +7 -0
  114. package/dist/.pikku/cli/index.js +7 -0
  115. package/dist/.pikku/cli/pikku-cli-channel.js +14 -3
  116. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  117. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  118. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  119. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  120. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -2
  121. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  122. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  123. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +86 -22
  124. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  125. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  126. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  127. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  128. package/dist/.pikku/console/index.d.ts +1 -0
  129. package/dist/.pikku/console/index.js +1 -0
  130. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  131. package/dist/.pikku/error/index.d.ts +7 -0
  132. package/dist/.pikku/error/index.js +7 -0
  133. package/dist/.pikku/error/pikku-error-types.gen.d.ts +7 -0
  134. package/dist/.pikku/error/pikku-error-types.gen.js +7 -0
  135. package/dist/.pikku/function/index.d.ts +7 -0
  136. package/dist/.pikku/function/index.js +7 -0
  137. package/dist/.pikku/function/pikku-function-types.gen.d.ts +26 -258
  138. package/dist/.pikku/function/pikku-function-types.gen.js +2 -236
  139. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  140. package/dist/.pikku/function/pikku-functions-meta.gen.json +193 -128
  141. package/dist/.pikku/function/pikku-functions.gen.js +14 -12
  142. package/dist/.pikku/gateway/index.d.ts +7 -0
  143. package/dist/.pikku/gateway/index.js +7 -0
  144. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +36 -0
  145. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +25 -0
  146. package/dist/.pikku/http/index.d.ts +7 -0
  147. package/dist/.pikku/http/index.js +7 -0
  148. package/dist/.pikku/http/pikku-http-types.gen.d.ts +4 -22
  149. package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
  150. package/dist/.pikku/mcp/index.d.ts +7 -0
  151. package/dist/.pikku/mcp/index.js +7 -0
  152. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +7 -4
  153. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  154. package/dist/.pikku/middleware/index.d.ts +7 -0
  155. package/dist/.pikku/middleware/index.js +7 -0
  156. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +117 -0
  157. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +108 -0
  158. package/dist/.pikku/node/index.d.ts +1 -0
  159. package/dist/.pikku/node/index.js +1 -0
  160. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  161. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  162. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  163. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  164. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  165. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  166. package/dist/.pikku/pikku-services.gen.d.ts +4 -4
  167. package/dist/.pikku/pikku-services.gen.js +3 -3
  168. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  169. package/dist/.pikku/pikku-types.gen.js +1 -1
  170. package/dist/.pikku/queue/index.d.ts +7 -0
  171. package/dist/.pikku/queue/index.js +7 -0
  172. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  173. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  174. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  175. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  176. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  177. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +2 -2
  178. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +8 -5
  179. package/dist/.pikku/scenarios/index.d.ts +7 -0
  180. package/dist/.pikku/scenarios/index.js +7 -0
  181. package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +17 -0
  182. package/dist/.pikku/scenarios/pikku-personas.gen.js +17 -0
  183. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +2 -2
  184. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  185. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +310 -0
  186. package/dist/.pikku/scenarios/pikku-scenario-types.gen.js +71 -0
  187. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +2 -2
  188. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  189. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  190. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  191. package/dist/.pikku/scheduler/index.d.ts +7 -0
  192. package/dist/.pikku/scheduler/index.js +7 -0
  193. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +3 -2
  194. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  195. package/dist/.pikku/schemas/register.gen.js +9 -7
  196. package/dist/.pikku/schemas/schemas/PikkuSemverOutput.schema.json +1 -0
  197. package/dist/.pikku/scopes/index.d.ts +7 -0
  198. package/dist/.pikku/scopes/index.js +7 -0
  199. package/dist/.pikku/scopes/pikku-personas.gen.d.ts +5 -13
  200. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  201. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  202. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -3
  203. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  204. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  205. package/dist/.pikku/secrets/index.d.ts +8 -0
  206. package/dist/.pikku/secrets/index.js +8 -0
  207. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -2
  208. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  209. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +8 -12
  210. package/dist/.pikku/secrets/pikku-secrets.gen.js +7 -9
  211. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +7 -0
  212. package/dist/.pikku/services/pikku-meta-service.gen.js +9 -0
  213. package/dist/.pikku/setup/index.d.ts +7 -0
  214. package/dist/.pikku/setup/index.js +7 -0
  215. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +66 -0
  216. package/dist/.pikku/setup/pikku-setup-types.gen.js +87 -0
  217. package/dist/.pikku/trigger/index.d.ts +7 -0
  218. package/dist/.pikku/trigger/index.js +7 -0
  219. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +6 -6
  220. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  221. package/dist/.pikku/variables/index.d.ts +8 -0
  222. package/dist/.pikku/variables/index.js +8 -0
  223. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -2
  224. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  225. package/dist/.pikku/variables/pikku-variables.gen.d.ts +7 -10
  226. package/dist/.pikku/variables/pikku-variables.gen.js +8 -10
  227. package/dist/.pikku/workflow/index.d.ts +7 -0
  228. package/dist/.pikku/workflow/index.js +7 -0
  229. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +105 -82
  230. package/dist/.pikku/workflow/pikku-personas.gen.d.ts +1 -2
  231. package/dist/.pikku/workflow/pikku-personas.gen.js +1 -1
  232. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +21 -263
  233. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +2 -65
  234. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  235. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +0 -1
  236. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  237. package/dist/bin/pikku-bin.mjs +2 -2
  238. package/dist/src/cli.wiring.js +69 -7
  239. package/dist/src/deploy/analyzer/analyzer.js +39 -17
  240. package/dist/src/deploy/build-pipeline.d.ts +13 -0
  241. package/dist/src/deploy/build-pipeline.js +22 -0
  242. package/dist/src/deploy/bundler/bundler.js +2 -2
  243. package/dist/src/deploy/server-entry.js +1 -1
  244. package/dist/src/fabric/fabric-commands.d.ts +104 -104
  245. package/dist/src/fabric/functions/add.function.d.ts +4 -4
  246. package/dist/src/fabric/functions/add.function.js +1 -1
  247. package/dist/src/fabric/functions/addon-verify.function.d.ts +4 -4
  248. package/dist/src/fabric/functions/addon-verify.function.js +1 -1
  249. package/dist/src/fabric/functions/db-schema.function.d.ts +4 -4
  250. package/dist/src/fabric/functions/db-schema.function.js +1 -1
  251. package/dist/src/fabric/functions/deploy-list.function.d.ts +4 -4
  252. package/dist/src/fabric/functions/deploy-list.function.js +1 -1
  253. package/dist/src/fabric/functions/deploy-units.function.d.ts +4 -4
  254. package/dist/src/fabric/functions/deploy-units.function.js +1 -1
  255. package/dist/src/fabric/functions/deploy.function.d.ts +8 -8
  256. package/dist/src/fabric/functions/deploy.function.js +1 -1
  257. package/dist/src/fabric/functions/domains-add.function.d.ts +4 -4
  258. package/dist/src/fabric/functions/domains-add.function.js +1 -1
  259. package/dist/src/fabric/functions/domains-list.function.d.ts +4 -4
  260. package/dist/src/fabric/functions/domains-list.function.js +1 -1
  261. package/dist/src/fabric/functions/domains-remove.function.d.ts +4 -4
  262. package/dist/src/fabric/functions/domains-remove.function.js +1 -1
  263. package/dist/src/fabric/functions/errors.function.d.ts +4 -4
  264. package/dist/src/fabric/functions/errors.function.js +1 -1
  265. package/dist/src/fabric/functions/init.function.d.ts +4 -4
  266. package/dist/src/fabric/functions/init.function.js +1 -1
  267. package/dist/src/fabric/functions/link.function.d.ts +4 -4
  268. package/dist/src/fabric/functions/link.function.js +1 -1
  269. package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
  270. package/dist/src/fabric/functions/llm-key.function.js +1 -1
  271. package/dist/src/fabric/functions/login.function.d.ts +4 -4
  272. package/dist/src/fabric/functions/login.function.js +1 -1
  273. package/dist/src/fabric/functions/logs.function.d.ts +4 -4
  274. package/dist/src/fabric/functions/logs.function.js +1 -1
  275. package/dist/src/fabric/functions/metrics.function.d.ts +4 -4
  276. package/dist/src/fabric/functions/metrics.function.js +1 -1
  277. package/dist/src/fabric/functions/publish.function.d.ts +4 -4
  278. package/dist/src/fabric/functions/publish.function.js +1 -1
  279. package/dist/src/fabric/functions/rollback.function.d.ts +4 -4
  280. package/dist/src/fabric/functions/rollback.function.js +1 -1
  281. package/dist/src/fabric/functions/secrets-list.function.d.ts +4 -4
  282. package/dist/src/fabric/functions/secrets-list.function.js +1 -1
  283. package/dist/src/fabric/functions/secrets-rotate.function.d.ts +4 -4
  284. package/dist/src/fabric/functions/secrets-rotate.function.js +1 -1
  285. package/dist/src/fabric/functions/secrets-set.function.d.ts +4 -4
  286. package/dist/src/fabric/functions/secrets-set.function.js +1 -1
  287. package/dist/src/fabric/functions/smoke.function.d.ts +4 -4
  288. package/dist/src/fabric/functions/smoke.function.js +13 -13
  289. package/dist/src/fabric/functions/status.function.d.ts +4 -4
  290. package/dist/src/fabric/functions/status.function.js +1 -1
  291. package/dist/src/fabric/functions/trace.function.d.ts +4 -4
  292. package/dist/src/fabric/functions/trace.function.js +1 -1
  293. package/dist/src/fabric/functions/validate.function.d.ts +4 -4
  294. package/dist/src/fabric/functions/validate.function.js +90 -27
  295. package/dist/src/fabric/lib/git.d.ts +23 -0
  296. package/dist/src/fabric/lib/git.js +39 -0
  297. package/dist/src/functions/commands/all.d.ts +1 -1
  298. package/dist/src/functions/commands/all.js +1 -1
  299. package/dist/src/functions/commands/audit.d.ts +11 -1
  300. package/dist/src/functions/commands/audit.js +59 -23
  301. package/dist/src/functions/commands/binary.d.ts +4 -4
  302. package/dist/src/functions/commands/binary.js +1 -1
  303. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  304. package/dist/src/functions/commands/bootstrap.js +5 -4
  305. package/dist/src/functions/commands/bun-coverage-loader.js +4 -1
  306. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  307. package/dist/src/functions/commands/db-audit.js +1 -1
  308. package/dist/src/functions/commands/db-baseline.d.ts +1 -1
  309. package/dist/src/functions/commands/db-baseline.js +1 -1
  310. package/dist/src/functions/commands/db-check.d.ts +1 -1
  311. package/dist/src/functions/commands/db-check.js +1 -1
  312. package/dist/src/functions/commands/db-codegen.d.ts +1 -1
  313. package/dist/src/functions/commands/db-codegen.js +1 -1
  314. package/dist/src/functions/commands/db-export.d.ts +1 -1
  315. package/dist/src/functions/commands/db-export.js +1 -1
  316. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  317. package/dist/src/functions/commands/db-generate.js +1 -1
  318. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  319. package/dist/src/functions/commands/db-migrate.js +1 -1
  320. package/dist/src/functions/commands/db-reset.d.ts +4 -4
  321. package/dist/src/functions/commands/db-reset.js +1 -1
  322. package/dist/src/functions/commands/deploy-apply.d.ts +4 -4
  323. package/dist/src/functions/commands/deploy-apply.js +14 -2
  324. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  325. package/dist/src/functions/commands/deploy-info.js +1 -1
  326. package/dist/src/functions/commands/deploy-plan.d.ts +4 -4
  327. package/dist/src/functions/commands/deploy-plan.js +6 -2
  328. package/dist/src/functions/commands/{dev-ai-runner.d.ts → dev-agent-runner.d.ts} +5 -4
  329. package/dist/src/functions/commands/{dev-ai-runner.js → dev-agent-runner.js} +4 -4
  330. package/dist/src/functions/commands/dev.d.ts +4 -4
  331. package/dist/src/functions/commands/dev.js +32 -25
  332. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  333. package/dist/src/functions/commands/emails-init.js +19 -6
  334. package/dist/src/functions/commands/enable.d.ts +8 -8
  335. package/dist/src/functions/commands/enable.js +4 -2
  336. package/dist/src/functions/commands/environment.d.ts +27 -0
  337. package/dist/src/functions/commands/environment.js +36 -2
  338. package/dist/src/functions/commands/import-n8n.d.ts +4 -4
  339. package/dist/src/functions/commands/import-n8n.js +1 -1
  340. package/dist/src/functions/commands/info.d.ts +4 -4
  341. package/dist/src/functions/commands/info.js +1 -1
  342. package/dist/src/functions/commands/knowledge-index.d.ts +4 -4
  343. package/dist/src/functions/commands/knowledge-index.js +1 -1
  344. package/dist/src/functions/commands/knowledge-validate.d.ts +4 -4
  345. package/dist/src/functions/commands/knowledge-validate.js +1 -1
  346. package/dist/src/functions/commands/login.d.ts +9 -9
  347. package/dist/src/functions/commands/login.js +1 -1
  348. package/dist/src/functions/commands/meta.d.ts +37 -37
  349. package/dist/src/functions/commands/meta.js +1 -1
  350. package/dist/src/functions/commands/new-addon.d.ts +5 -4
  351. package/dist/src/functions/commands/new-addon.js +27 -25
  352. package/dist/src/functions/commands/new-function.d.ts +4 -4
  353. package/dist/src/functions/commands/new-function.js +4 -4
  354. package/dist/src/functions/commands/new-middleware.d.ts +4 -4
  355. package/dist/src/functions/commands/new-middleware.js +3 -3
  356. package/dist/src/functions/commands/new-permission.d.ts +4 -4
  357. package/dist/src/functions/commands/new-permission.js +3 -3
  358. package/dist/src/functions/commands/new-wiring.d.ts +4 -4
  359. package/dist/src/functions/commands/new-wiring.js +8 -8
  360. package/dist/src/functions/commands/persona-sync.d.ts +4 -4
  361. package/dist/src/functions/commands/persona-sync.js +1 -1
  362. package/dist/src/functions/commands/persona.d.ts +5 -5
  363. package/dist/src/functions/commands/persona.js +6 -6
  364. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  365. package/dist/src/functions/commands/pikku-command-bootstrap.js +7 -2
  366. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  367. package/dist/src/functions/commands/pikku-command-summary.js +2 -2
  368. package/dist/src/functions/commands/roles-audit.d.ts +1 -1
  369. package/dist/src/functions/commands/roles-audit.js +1 -1
  370. package/dist/src/functions/commands/roles-prune.d.ts +4 -4
  371. package/dist/src/functions/commands/roles-prune.js +1 -1
  372. package/dist/src/functions/commands/scenario-browser.d.ts +18 -12
  373. package/dist/src/functions/commands/scenario-browser.js +20 -6
  374. package/dist/src/functions/commands/scenario-formatter.d.ts +6 -52
  375. package/dist/src/functions/commands/scenario-ladder.d.ts +4 -4
  376. package/dist/src/functions/commands/scenario.d.ts +8 -11
  377. package/dist/src/functions/commands/scenario.js +107 -55
  378. package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
  379. package/dist/src/functions/commands/scopes-audit.js +1 -1
  380. package/dist/src/functions/commands/scopes-prune.d.ts +4 -4
  381. package/dist/src/functions/commands/scopes-prune.js +1 -1
  382. package/dist/src/functions/commands/semver-render.d.ts +2 -0
  383. package/dist/src/functions/commands/semver-render.js +60 -0
  384. package/dist/src/functions/commands/semver.d.ts +25 -0
  385. package/dist/src/functions/commands/semver.js +50 -0
  386. package/dist/src/functions/commands/serve.d.ts +4 -4
  387. package/dist/src/functions/commands/serve.js +25 -22
  388. package/dist/src/functions/commands/skills.d.ts +8 -8
  389. package/dist/src/functions/commands/skills.js +1 -1
  390. package/dist/src/functions/commands/update-render.d.ts +2 -0
  391. package/dist/src/functions/commands/update-render.js +102 -0
  392. package/dist/src/functions/commands/update.d.ts +99 -0
  393. package/dist/src/functions/commands/update.js +392 -0
  394. package/dist/src/functions/commands/validate.d.ts +4 -4
  395. package/dist/src/functions/commands/validate.js +1 -1
  396. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  397. package/dist/src/functions/commands/versions-check.js +1 -1
  398. package/dist/src/functions/commands/versions-init.d.ts +4 -4
  399. package/dist/src/functions/commands/versions-init.js +1 -1
  400. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  401. package/dist/src/functions/commands/versions-update.js +1 -1
  402. package/dist/src/functions/commands/watch.d.ts +4 -4
  403. package/dist/src/functions/commands/watch.js +1 -1
  404. package/dist/src/functions/db/annotation-parser.d.ts +11 -3
  405. package/dist/src/functions/db/better-auth-schema.js +1 -1
  406. package/dist/src/functions/db/db-codegen.js +4 -2
  407. package/dist/src/functions/db/local-db.js +3 -3
  408. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  409. package/dist/src/functions/runtimes/fetch/index.js +1 -1
  410. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  411. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +1 -1
  412. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  413. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +1 -1
  414. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  415. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.js +1 -1
  416. package/dist/src/functions/surface/build-surface-doc.d.ts +22 -0
  417. package/dist/src/functions/surface/build-surface-doc.js +151 -0
  418. package/dist/src/functions/surface/collect-surface-usage.d.ts +16 -0
  419. package/dist/src/functions/surface/collect-surface-usage.js +35 -0
  420. package/dist/src/functions/surface/collect-surface.d.ts +19 -1
  421. package/dist/src/functions/surface/collect-surface.js +104 -16
  422. package/dist/src/functions/surface/generate-surface-doc.d.ts +1 -0
  423. package/dist/src/functions/surface/generate-surface-doc.js +46 -0
  424. package/dist/src/functions/surface/shipped-surface-doc.d.ts +16 -0
  425. package/dist/src/functions/surface/shipped-surface-doc.js +44 -0
  426. package/dist/src/functions/surface/surface-doc.types.d.ts +69 -0
  427. package/dist/src/functions/surface/surface-doc.types.js +1 -0
  428. package/dist/src/functions/surface/surface-editorial.d.ts +25 -0
  429. package/dist/src/functions/surface/surface-editorial.js +101 -0
  430. package/dist/src/functions/surface/write-surface-usage.d.ts +12 -0
  431. package/dist/src/functions/surface/write-surface-usage.js +18 -0
  432. package/dist/src/functions/validate/pikku-barrel-checks.d.ts +12 -0
  433. package/dist/src/functions/validate/pikku-barrel-checks.js +97 -0
  434. package/dist/src/functions/validate/scenario-file-checks.js +1 -1
  435. package/dist/src/functions/validate/shared-checks.d.ts +10 -0
  436. package/dist/src/functions/validate/shared-checks.js +16 -2
  437. package/dist/src/functions/validate/validate-registry.js +20 -0
  438. package/dist/src/functions/validate/workspace-exports-checks.d.ts +14 -0
  439. package/dist/src/functions/validate/workspace-exports-checks.js +211 -0
  440. package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -0
  441. package/dist/src/functions/wirings/{ai-agent/pikku-command-ai-agent-types.js → agent/pikku-command-agent-types.js} +5 -4
  442. package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -0
  443. package/dist/src/functions/wirings/{ai-agent/pikku-command-ai-agent.js → agent/pikku-command-agent.js} +7 -7
  444. package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -0
  445. package/dist/src/functions/wirings/{ai-agent → agent}/pikku-command-public-agent.js +4 -4
  446. package/dist/src/functions/wirings/{ai-agent → agent}/serialize-agent-map.d.ts +2 -2
  447. package/dist/src/functions/wirings/agent/serialize-agent-types.d.ts +1 -0
  448. package/dist/src/functions/wirings/{ai-agent/serialize-ai-agent-types.js → agent/serialize-agent-types.js} +24 -30
  449. package/dist/src/functions/wirings/{ai-agent → agent}/serialize-model-aliases.js +1 -1
  450. package/dist/src/functions/wirings/agent/serialize-public-agent.d.ts +5 -0
  451. package/dist/src/functions/wirings/{ai-agent → agent}/serialize-public-agent.js +5 -3
  452. package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -0
  453. package/dist/src/functions/wirings/{ai-scorer/pikku-command-ai-scorer.js → agent-scorer/pikku-command-agent-scorer.js} +7 -7
  454. package/dist/src/functions/wirings/{ai-scorer → agent-scorer}/serialize-scorer-names.d.ts +1 -1
  455. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +4 -4
  456. package/dist/src/functions/wirings/auth/pikku-command-auth.js +5 -4
  457. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
  458. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +3 -8
  459. package/dist/src/functions/wirings/auth/serialize-auth-guards.d.ts +12 -0
  460. package/dist/src/functions/wirings/auth/serialize-auth-guards.js +168 -0
  461. package/dist/src/functions/wirings/auth/serialize-auth-types.d.ts +4 -4
  462. package/dist/src/functions/wirings/auth/serialize-auth-types.js +4 -4
  463. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  464. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  465. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  466. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +6 -3
  467. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  468. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +1 -1
  469. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  470. package/dist/src/functions/wirings/channels/pikku-command-channels.js +2 -2
  471. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +3 -1
  472. package/dist/src/functions/wirings/channels/serialize-channel-types.js +18 -24
  473. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +1 -2
  474. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  475. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +2 -2
  476. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  477. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +3 -3
  478. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  479. package/dist/src/functions/wirings/cli/pikku-command-cli.js +2 -2
  480. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +1 -1
  481. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +9 -3
  482. package/dist/src/functions/wirings/cli/serialize-cli-types.d.ts +1 -1
  483. package/dist/src/functions/wirings/cli/serialize-cli-types.js +9 -3
  484. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  485. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +6 -5
  486. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  487. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +1 -1
  488. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -1
  489. package/dist/src/functions/wirings/console/serialize-console-functions.js +20 -4
  490. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  491. package/dist/src/functions/wirings/credentials/pikku-command-credentials.js +2 -2
  492. package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +3 -4
  493. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  494. package/dist/src/functions/wirings/emails/pikku-command-emails.js +1 -1
  495. package/dist/src/functions/wirings/emails/serialize-emails.js +2 -2
  496. package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -0
  497. package/dist/src/functions/wirings/errors/pikku-command-error-types.js +17 -0
  498. package/dist/src/functions/wirings/errors/serialize-error-types.d.ts +9 -0
  499. package/dist/src/functions/wirings/errors/serialize-error-types.js +16 -0
  500. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  501. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +20 -8
  502. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +4 -4
  503. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +17 -3
  504. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  505. package/dist/src/functions/wirings/functions/pikku-command-functions.js +2 -2
  506. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +14 -0
  507. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +119 -0
  508. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  509. package/dist/src/functions/wirings/functions/pikku-command-services.js +18 -3
  510. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  511. package/dist/src/functions/wirings/functions/schemas.js +1 -1
  512. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +13 -0
  513. package/dist/src/functions/wirings/functions/serialize-addon-types.js +20 -1
  514. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -1
  515. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +7 -2
  516. package/dist/src/functions/wirings/functions/serialize-function-types.js +46 -361
  517. package/dist/src/functions/wirings/functions/serialize-leaf-index.d.ts +17 -0
  518. package/dist/src/functions/wirings/functions/serialize-leaf-index.js +27 -0
  519. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +7 -0
  520. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.js +24 -0
  521. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  522. package/dist/src/functions/wirings/gateway/pikku-command-gateway.js +1 -1
  523. package/dist/src/functions/wirings/gateway/serialize-gateway-types.d.ts +6 -0
  524. package/dist/src/functions/wirings/gateway/serialize-gateway-types.js +55 -0
  525. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
  526. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.js +3 -4
  527. package/dist/src/functions/wirings/graph/serialize-graph-wirings.d.ts +1 -1
  528. package/dist/src/functions/wirings/graph/serialize-graph-wirings.js +2 -2
  529. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  530. package/dist/src/functions/wirings/http/pikku-command-http-map.js +3 -3
  531. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  532. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +2 -2
  533. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  534. package/dist/src/functions/wirings/http/pikku-command-http-types.js +7 -3
  535. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  536. package/dist/src/functions/wirings/http/pikku-command-openapi.js +1 -1
  537. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  538. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  539. package/dist/src/functions/wirings/http/serialize-http-types.d.ts +3 -1
  540. package/dist/src/functions/wirings/http/serialize-http-types.js +20 -35
  541. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -1
  542. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +5 -4
  543. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  544. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +1 -1
  545. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  546. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +5 -2
  547. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  548. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +7 -3
  549. package/dist/src/functions/wirings/mcp/serialize-mcp-types.d.ts +3 -1
  550. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +15 -15
  551. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  552. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +1 -1
  553. package/dist/src/functions/wirings/middleware/serialize-middleware-types.d.ts +9 -0
  554. package/dist/src/functions/wirings/middleware/serialize-middleware-types.js +176 -0
  555. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +3 -3
  556. package/dist/src/functions/wirings/package/pikku-command-package-types.js +1 -1
  557. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  558. package/dist/src/functions/wirings/package/pikku-command-package.js +1 -1
  559. package/dist/src/functions/wirings/package/serialize-package-types.js +0 -4
  560. package/dist/src/functions/wirings/package/serialize-package.js +1 -1
  561. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  562. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +1 -1
  563. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +4 -4
  564. package/dist/src/functions/wirings/personas/pikku-command-personas.js +1 -1
  565. package/dist/src/functions/wirings/personas/serialize-personas-types.d.ts +1 -1
  566. package/dist/src/functions/wirings/personas/serialize-personas-types.js +9 -28
  567. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  568. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +1 -1
  569. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  570. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +1 -1
  571. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  572. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +4 -2
  573. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  574. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  575. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  576. package/dist/src/functions/wirings/queue/pikku-queue-map.js +1 -1
  577. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  578. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  579. package/dist/src/functions/wirings/queue/serialize-queue-map.js +1 -1
  580. package/dist/src/functions/wirings/queue/serialize-queue-types.d.ts +3 -1
  581. package/dist/src/functions/wirings/queue/serialize-queue-types.js +8 -5
  582. package/dist/src/functions/wirings/queue/serialize-queue-wrapper.js +1 -1
  583. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  584. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.js +3 -4
  585. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  586. package/dist/src/functions/wirings/realtime/pikku-command-realtime.js +1 -1
  587. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.d.ts +1 -1
  588. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.js +4 -8
  589. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +4 -4
  590. package/dist/src/functions/wirings/roles/pikku-command-roles.js +2 -2
  591. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  592. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +6 -6
  593. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  594. package/dist/src/functions/wirings/rpc/pikku-command-react-query.js +1 -1
  595. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  596. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +6 -6
  597. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  598. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +1 -1
  599. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
  600. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +1 -1
  601. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  602. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +2 -2
  603. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  604. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +3 -2
  605. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.d.ts +1 -1
  606. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +4 -2
  607. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +5 -5
  608. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.js +3 -3
  609. package/dist/src/functions/wirings/scenarios/scenario-partition.d.ts +1 -1
  610. package/dist/src/functions/wirings/scenarios/scenario-schema-partition.d.ts +1 -1
  611. package/dist/src/functions/wirings/scenarios/serialize-scenario-meta.js +4 -4
  612. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  613. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +5 -2
  614. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  615. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  616. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.d.ts +3 -1
  617. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +10 -5
  618. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +4 -4
  619. package/dist/src/functions/wirings/scopes/pikku-command-scopes.js +4 -3
  620. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  621. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +1 -1
  622. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +13 -19
  623. package/dist/src/functions/wirings/setup/serialize-setup-types.d.ts +7 -0
  624. package/dist/src/functions/wirings/setup/serialize-setup-types.js +111 -0
  625. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +4 -4
  626. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +2 -2
  627. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  628. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +1 -1
  629. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +2 -2
  630. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +3 -1
  631. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +18 -11
  632. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.d.ts +1 -1
  633. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.js +18 -17
  634. package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.d.ts +10 -9
  635. package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.js +67 -49
  636. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  637. package/dist/src/functions/wirings/variables/pikku-command-variables.js +1 -1
  638. package/dist/src/functions/wirings/variables/serialize-variables-types.js +12 -16
  639. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
  640. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.js +4 -3
  641. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.d.ts +1 -1
  642. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +9 -11
  643. package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
  644. package/dist/src/functions/wirings/webhook/pikku-command-webhook.js +6 -6
  645. package/dist/src/functions/wirings/webhook/serialize-webhook.d.ts +1 -1
  646. package/dist/src/functions/wirings/webhook/serialize-webhook.js +3 -2
  647. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  648. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.js +4 -4
  649. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  650. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +14 -5
  651. package/dist/src/functions/wirings/workflow/serialize-personas.js +2 -1
  652. package/dist/src/functions/wirings/workflow/serialize-scenario-step-map.d.ts +1 -2
  653. package/dist/src/functions/wirings/workflow/serialize-scenario-types.d.ts +2 -0
  654. package/dist/src/functions/wirings/workflow/serialize-scenario-types.js +511 -0
  655. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +1 -2
  656. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +1 -1
  657. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +4 -4
  658. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +0 -4
  659. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.d.ts +1 -1
  660. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +3 -2
  661. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
  662. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +28 -441
  663. package/dist/src/functions/workflows/all.workflow.d.ts +1 -1
  664. package/dist/src/functions/workflows/all.workflow.js +83 -27
  665. package/dist/src/middleware/log-command-info-and-time.d.ts +1 -1
  666. package/dist/src/server/bun-server-runner.d.ts +1 -1
  667. package/dist/src/server/content-signing-jwt.js +1 -1
  668. package/dist/src/server/dev-server-runner.interface.d.ts +1 -1
  669. package/dist/src/server/node-server-runner.d.ts +1 -1
  670. package/dist/src/server/node-server-runner.js +5 -2
  671. package/dist/src/services/cli-logger.service.d.ts +1 -1
  672. package/dist/src/services/cli-logger.service.js +1 -1
  673. package/dist/src/services.d.ts +9 -6
  674. package/dist/src/services.js +22 -6
  675. package/dist/src/utils/file-writer.d.ts +2 -0
  676. package/dist/src/utils/file-writer.js +37 -1
  677. package/dist/src/utils/is-deploy-codegen.d.ts +21 -0
  678. package/dist/src/utils/is-deploy-codegen.js +23 -0
  679. package/dist/src/utils/leaf-import-path.d.ts +16 -0
  680. package/dist/src/utils/leaf-import-path.js +15 -0
  681. package/dist/src/utils/parse-cli-filters.js +15 -35
  682. package/dist/src/utils/pikku-cli-config.d.ts +11 -0
  683. package/dist/src/utils/pikku-cli-config.js +82 -12
  684. package/dist/src/utils/remove-legacy-scaffold-file.d.ts +14 -0
  685. package/dist/src/utils/remove-legacy-scaffold-file.js +36 -1
  686. package/dist/src/utils/resolve-scaffold-feature.js +5 -1
  687. package/dist/src/utils/schema-diff.d.ts +22 -0
  688. package/dist/src/utils/schema-diff.js +190 -0
  689. package/dist/src/utils/serialize-meta-ts.js +1 -1
  690. package/dist/src/utils/serialize-schemas.d.ts +1 -1
  691. package/dist/src/utils/surface-diff.d.ts +35 -0
  692. package/dist/src/utils/surface-diff.js +183 -0
  693. package/dist/src/utils/surface.d.ts +51 -0
  694. package/dist/src/utils/surface.js +156 -0
  695. package/dist/src/utils/tsc-check.d.ts +1 -1
  696. package/dist/src/utils/tsc-check.js +1 -1
  697. package/dist/tsconfig.tsbuildinfo +1 -1
  698. package/package.json +53 -44
  699. package/surface.json +4464 -0
  700. package/console-app/assets/abnfDiagram-VRR7QNED-DTI8lQi3.js +0 -1
  701. package/console-app/assets/arc-B_XK0Xbk.js +0 -1
  702. package/console-app/assets/architecture-TIHT7OUA-BtQ4ypaP.js +0 -1
  703. package/console-app/assets/architectureDiagram-ZJ3FMSHR-CzE1T938.js +0 -36
  704. package/console-app/assets/c4Diagram-LMCZKHZV-DSsAqAm5.js +0 -10
  705. package/console-app/assets/channel-yWsB39zH.js +0 -1
  706. package/console-app/assets/chunk-52WLFC77-DkXgWHeH.js +0 -10
  707. package/console-app/assets/chunk-EX3LRPZG-0GIQyrn1.js +0 -231
  708. package/console-app/assets/chunk-FWX5IMBZ-DZvpxO7-.js +0 -2
  709. package/console-app/assets/chunk-ICXQ74PX-CzAIiCX5.js +0 -2
  710. package/console-app/assets/chunk-OGEWGWER-DhmfsQT_.js +0 -1
  711. package/console-app/assets/chunk-PUDLZKDR-BMAILUQ6.js +0 -156
  712. package/console-app/assets/chunk-RYQCIY6F-9OVlGtkS.js +0 -1
  713. package/console-app/assets/chunk-VAUOI2AC-DbUlDq35.js +0 -1
  714. package/console-app/assets/chunk-WYO6CB5R-cQuwndtk.js +0 -127
  715. package/console-app/assets/chunk-XXDRQBXY-D0yYTMY0.js +0 -1
  716. package/console-app/assets/chunk-ZIRB5QZD-H-kepumB.js +0 -32
  717. package/console-app/assets/classDiagram-OUVF2IWQ-jBNBOKfR.js +0 -1
  718. package/console-app/assets/classDiagram-v2-EOCWNBFH-jBNBOKfR.js +0 -1
  719. package/console-app/assets/cose-bilkent-JH36ORCC-D8cALtKZ.js +0 -1
  720. package/console-app/assets/cynefin-VYW2F7L2-BphwdLzc.js +0 -1
  721. package/console-app/assets/cynefinDiagram-TSTJHNR4-7Rk31pXX.js +0 -62
  722. package/console-app/assets/cytoscape.esm-h6BdjjI9.js +0 -321
  723. package/console-app/assets/dagre-CXRCoUWR.js +0 -1
  724. package/console-app/assets/dagre-VKFMJZFB-e8-5QJxJ.js +0 -4
  725. package/console-app/assets/defaultLocale-C8Fc0cco.js +0 -1
  726. package/console-app/assets/diagram-G47NLZAW-F_m68BCv.js +0 -24
  727. package/console-app/assets/diagram-NH7WQ7WH-5p6A3YHp.js +0 -24
  728. package/console-app/assets/diagram-WEI45ONY-1gqT-Dqp.js +0 -41
  729. package/console-app/assets/dist-DQ3gF-0S.js +0 -1
  730. package/console-app/assets/ebnfDiagram-CCIWWBDH-Dsfd8DxK.js +0 -1
  731. package/console-app/assets/eventmodeling-45OFAUF4-BSTAXikh.js +0 -1
  732. package/console-app/assets/flowDiagram-23GEKE2U-zX29jtvN.js +0 -1
  733. package/console-app/assets/ganttDiagram-NO4QXBWP-2of9JObw.js +0 -292
  734. package/console-app/assets/gitGraph-TEB2WS4Q-q2ow8moS.js +0 -1
  735. package/console-app/assets/graphlib-B8gBHxth.js +0 -1
  736. package/console-app/assets/index-CTO5cTAD.css +0 -1
  737. package/console-app/assets/index-FDk51Irw.js +0 -255
  738. package/console-app/assets/info-DKCQHKI2-DA35x9Eq.js +0 -1
  739. package/console-app/assets/infoDiagram-FWYZ7A6U-wBw6slQd.js +0 -2
  740. package/console-app/assets/init-D6jRqBbL.js +0 -1
  741. package/console-app/assets/linear-B-Zu24zW.js +0 -1
  742. package/console-app/assets/map-DsCK-0Cs.js +0 -1
  743. package/console-app/assets/mermaid.core-HtlOIxsD.js +0 -11
  744. package/console-app/assets/packet-7NZHBO7P-CvZpWSge.js +0 -1
  745. package/console-app/assets/path-BWPyau1x.js +0 -1
  746. package/console-app/assets/pegDiagram-2B236MQR-Bw6WA3kx.js +0 -1
  747. package/console-app/assets/pie-RZYD4A2V-cW9hD9gn.js +0 -1
  748. package/console-app/assets/pieDiagram-ENE6RG2P-DkD_01Ea.js +0 -39
  749. package/console-app/assets/radar-I7S5WNFK-tOWig5fu.js +0 -1
  750. package/console-app/assets/railroad-3IZDKUUU-tZ2PcrQC.js +0 -1
  751. package/console-app/assets/railroad-abnf-AHOZXSZD-D3lzFQzK.js +0 -1
  752. package/console-app/assets/railroad-ebnf-EBAXGLYW-DRp6_rsA.js +0 -1
  753. package/console-app/assets/railroad-peg-LSFZ7HO6-CuWNWp3P.js +0 -1
  754. package/console-app/assets/railroadDiagram-RFXS5EU6-Dljzejc8.js +0 -1
  755. package/console-app/assets/sequenceDiagram-DBY2YBRQ-CXysYi1c.js +0 -162
  756. package/console-app/assets/src-Bilm7g2t.js +0 -1
  757. package/console-app/assets/stateDiagram-2N3HPSRC-C8aGjwyh.js +0 -1
  758. package/console-app/assets/stateDiagram-v2-6OUMAXLB-C21qKRsf.js +0 -1
  759. package/console-app/assets/swimlanes-5IMT3BWC-VaTW8Eyb.js +0 -2
  760. package/console-app/assets/swimlanesDiagram-G3AALYLV-CCQS8jgU.js +0 -8
  761. package/console-app/assets/timeline-definition-FHXFAJF6-D88F4W4L.js +0 -120
  762. package/console-app/assets/treeView-QDETBFTQ-hN0LxmWJ.js +0 -1
  763. package/console-app/assets/treemap-6X3UGDF4-Cz4whnzW.js +0 -1
  764. package/console-app/assets/vennDiagram-L72KCM5P-CoW2kun8.js +0 -34
  765. package/console-app/assets/wardley-OPB4EBWU-l9vWUHbB.js +0 -1
  766. package/dist/src/functions/db/coercion-plugin.d.ts +0 -7
  767. package/dist/src/functions/db/coercion-plugin.js +0 -103
  768. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +0 -1
  769. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +0 -1
  770. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +0 -1
  771. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +0 -1
  772. package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +0 -5
  773. package/dist/src/functions/wirings/ai-scorer/pikku-command-ai-scorer.d.ts +0 -1
  774. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +0 -1
  775. package/dist/src/functions/wirings/console/pikku-command-node-types.js +0 -21
  776. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +0 -1
  777. package/dist/src/functions/wirings/console/serialize-node-types.js +0 -11
  778. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +0 -7
  779. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +0 -43
  780. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +0 -4
  781. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +0 -36
  782. /package/dist/.pikku/schemas/schemas/{PikkuAIAgentOutput.schema.json → PikkuAgentOutput.schema.json} +0 -0
  783. /package/dist/.pikku/schemas/schemas/{PikkuAIScorerOutput.schema.json → PikkuAgentScorerOutput.schema.json} +0 -0
  784. /package/dist/.pikku/schemas/schemas/{PikkuFunctionTypesInput.schema.json → PikkuGatewayTypesInput.schema.json} +0 -0
  785. /package/dist/src/functions/wirings/{ai-agent → agent}/serialize-agent-map.js +0 -0
  786. /package/dist/src/functions/wirings/{ai-agent → agent}/serialize-model-aliases.d.ts +0 -0
  787. /package/dist/src/functions/wirings/{ai-scorer → agent-scorer}/serialize-scorer-names.js +0 -0
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { dirname } from 'path';
3
3
  import { mkdir, writeFile } from 'fs/promises';
4
- import { pikkuSessionlessFunc } from '#pikku';
4
+ import { pikkuSessionlessFunc } from '#pikku/function';
5
5
  import { scaffoldFilePath } from '../../utils/file-writer.js';
6
6
  export const pikkuNewMiddleware = pikkuSessionlessFunc({
7
7
  func: async ({ logger, config }, { name, type = 'simple' }) => {
@@ -13,7 +13,7 @@ export const pikkuNewMiddleware = pikkuSessionlessFunc({
13
13
  let content;
14
14
  switch (type) {
15
15
  case 'factory':
16
- content = `import { pikkuMiddlewareFactory } from '#pikku'
16
+ content = `import { pikkuMiddlewareFactory } from '#pikku/function'
17
17
 
18
18
  export const ${name} = pikkuMiddlewareFactory(
19
19
  (param: string) =>
@@ -28,7 +28,7 @@ export const ${name} = pikkuMiddlewareFactory(
28
28
  break;
29
29
  case 'simple':
30
30
  default:
31
- content = `import { pikkuMiddleware } from '#pikku'
31
+ content = `import { pikkuMiddleware } from '#pikku/function'
32
32
 
33
33
  export const ${name} = pikkuMiddleware(
34
34
  async ({ logger }, _data, next) => {
@@ -1,10 +1,10 @@
1
- export declare const pikkuNewPermission: import("#pikku").PikkuFunctionConfig<{
1
+ export declare const pikkuNewPermission: import("#pikku/function").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
10
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { dirname } from 'path';
3
3
  import { mkdir, writeFile } from 'fs/promises';
4
- import { pikkuSessionlessFunc } from '#pikku';
4
+ import { pikkuSessionlessFunc } from '#pikku/function';
5
5
  import { scaffoldFilePath } from '../../utils/file-writer.js';
6
6
  export const pikkuNewPermission = pikkuSessionlessFunc({
7
7
  func: async ({ logger, config }, { name, type = 'simple' }) => {
@@ -13,7 +13,7 @@ export const pikkuNewPermission = pikkuSessionlessFunc({
13
13
  let content;
14
14
  switch (type) {
15
15
  case 'factory':
16
- content = `import { pikkuPermissionFactory } from '#pikku'
16
+ content = `import { pikkuPermissionFactory } from '#pikku/auth'
17
17
 
18
18
  export const ${name} = pikkuPermissionFactory(
19
19
  (param: string) =>
@@ -26,7 +26,7 @@ export const ${name} = pikkuPermissionFactory(
26
26
  break;
27
27
  case 'simple':
28
28
  default:
29
- content = `import { pikkuPermission } from '#pikku'
29
+ content = `import { pikkuPermission } from '#pikku/auth'
30
30
 
31
31
  export const ${name} = pikkuPermission(
32
32
  async ({ logger }, _data, { session }) => {
@@ -1,10 +1,10 @@
1
- export declare const pikkuNewWiring: import("#pikku").PikkuFunctionConfig<{
1
+ export declare const pikkuNewWiring: import("#pikku/function").PikkuFunctionConfig<{
2
2
  name: string;
3
3
  type?: string;
4
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
5
5
  name: string;
6
6
  type?: string;
7
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
8
8
  name: string;
9
9
  type?: string;
10
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
10
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,12 +1,12 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { dirname } from 'path';
3
3
  import { mkdir, writeFile } from 'fs/promises';
4
- import { pikkuSessionlessFunc } from '#pikku';
4
+ import { pikkuSessionlessFunc } from '#pikku/function';
5
5
  import { scaffoldFilePath } from '../../utils/file-writer.js';
6
6
  function getWiringTemplate(type, name) {
7
7
  switch (type) {
8
8
  case 'http':
9
- return `import { wireHTTP } from '#pikku'
9
+ return `import { wireHTTP } from '#pikku/http'
10
10
  // import { myFunc } from '../functions/${name}.functions.js'
11
11
 
12
12
  wireHTTP({
@@ -17,7 +17,7 @@ wireHTTP({
17
17
  })
18
18
  `;
19
19
  case 'channel':
20
- return `import { wireChannel } from '#pikku'
20
+ return `import { wireChannel } from '#pikku/channel'
21
21
  // import { onConnect, onMessage, onDisconnect } from '../functions/${name}.functions.js'
22
22
 
23
23
  wireChannel({
@@ -30,7 +30,7 @@ wireChannel({
30
30
  })
31
31
  `;
32
32
  case 'scheduler':
33
- return `import { wireScheduler } from '#pikku'
33
+ return `import { wireScheduler } from '#pikku/scheduler'
34
34
  // import { myTask } from '../functions/${name}.functions.js'
35
35
 
36
36
  wireScheduler({
@@ -40,7 +40,7 @@ wireScheduler({
40
40
  })
41
41
  `;
42
42
  case 'queue':
43
- return `import { wireQueueWorker } from '#pikku'
43
+ return `import { wireQueueWorker } from '#pikku/queue'
44
44
  // import { processItem } from '../functions/${name}.functions.js'
45
45
 
46
46
  wireQueueWorker({
@@ -49,7 +49,7 @@ wireQueueWorker({
49
49
  })
50
50
  `;
51
51
  case 'mcp':
52
- return `import { wireMCPResource } from '#pikku'
52
+ return `import { wireMCPResource } from '#pikku/mcp'
53
53
  // import { myResource } from '../functions/${name}.functions.js'
54
54
 
55
55
  wireMCPResource({
@@ -60,7 +60,7 @@ wireMCPResource({
60
60
  })
61
61
  `;
62
62
  case 'cli':
63
- return `import { wireCLI, pikkuCLICommand } from '#pikku'
63
+ return `import { wireCLI, pikkuCLICommand } from '#pikku/cli'
64
64
  // import { myCommand } from '../functions/${name}.functions.js'
65
65
 
66
66
  wireCLI({
@@ -74,7 +74,7 @@ wireCLI({
74
74
  })
75
75
  `;
76
76
  case 'trigger':
77
- return `import { wireTrigger } from '#pikku'
77
+ return `import { wireTrigger } from '#pikku/trigger'
78
78
  // import { handleEvent } from '../functions/${name}.functions.js'
79
79
 
80
80
  wireTrigger({
@@ -18,16 +18,16 @@
18
18
  * command has no way to check that, so pointing it at a stage's API and a local
19
19
  * database provisions nobody usefully.
20
20
  */
21
- export declare const personaSync: import("#pikku").PikkuFunctionConfig<{
21
+ export declare const personaSync: import("#pikku/function").PikkuFunctionConfig<{
22
22
  environment: string;
23
23
  apiUrl?: string;
24
24
  dryRun?: boolean;
25
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
25
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
26
26
  environment: string;
27
27
  apiUrl?: string;
28
28
  dryRun?: boolean;
29
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
29
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
30
30
  environment: string;
31
31
  apiUrl?: string;
32
32
  dryRun?: boolean;
33
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
33
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { createHttpPersonas } from '@pikku/core/persona';
3
3
  import { personaEnvironmentRefusal } from '@pikku/core/persona';
4
4
  import { resolvePersonas } from '../../utils/resolve-personas.js';
@@ -11,7 +11,7 @@
11
11
  * proves nothing — what it produces is findings, and the absence of them is
12
12
  * only ever "not this time, not with this seed".
13
13
  */
14
- export declare const personaRun: import("#pikku").PikkuFunctionConfig<{
14
+ export declare const personaRun: import("#pikku/function").PikkuFunctionConfig<{
15
15
  environment: string;
16
16
  persona: string;
17
17
  disposition?: string;
@@ -25,7 +25,7 @@ export declare const personaRun: import("#pikku").PikkuFunctionConfig<{
25
25
  allowApproval?: boolean;
26
26
  skipRoleCheck?: boolean;
27
27
  out?: string;
28
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
28
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
29
29
  environment: string;
30
30
  persona: string;
31
31
  disposition?: string;
@@ -39,7 +39,7 @@ export declare const personaRun: import("#pikku").PikkuFunctionConfig<{
39
39
  allowApproval?: boolean;
40
40
  skipRoleCheck?: boolean;
41
41
  out?: string;
42
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
42
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
43
43
  environment: string;
44
44
  persona: string;
45
45
  disposition?: string;
@@ -53,6 +53,6 @@ export declare const personaRun: import("#pikku").PikkuFunctionConfig<{
53
53
  allowApproval?: boolean;
54
54
  skipRoleCheck?: boolean;
55
55
  out?: string;
56
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
56
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
57
57
  /** Who this app is for, and what each of them wants, without running anything. */
58
- export declare const personaList: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
58
+ export declare const personaList: 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,11 +1,11 @@
1
1
  import { resolve, dirname } from 'node:path';
2
2
  import { mkdirSync, writeFileSync } from 'node:fs';
3
- import { pikkuSessionlessFunc } from '#pikku';
3
+ import { pikkuSessionlessFunc } from '#pikku/function';
4
4
  import { createHttpPersonas, personaEnvironmentRefusal, roleMismatchMessage, verifyPersonaRoles, } from '@pikku/core/persona';
5
- import { personaVirtualUserTarget, catalogueClassification, DISPOSITIONS, prepareVirtualUserRun, runVirtualUser, } from '@pikku/core/virtual-user';
5
+ import { personaVirtualUserTarget, runVirtualUser, catalogueClassification, DISPOSITIONS, prepareVirtualUserRun, } from '@pikku/core/virtual-user';
6
6
  import { resolvePersonas } from '../../utils/resolve-personas.js';
7
7
  import { resolveEnvironment } from './environment.js';
8
- import { createDevAIAgentRunner } from './dev-ai-runner.js';
8
+ import { createDevAgentRunner } from './dev-agent-runner.js';
9
9
  import { formatVirtualUserReport } from './virtual-user-formatter.js';
10
10
  const dispositionNames = Object.keys(DISPOSITIONS);
11
11
  /**
@@ -84,12 +84,12 @@ export const personaRun = pikkuSessionlessFunc({
84
84
  if (!resolvedModel) {
85
85
  throw new Error('No model to think with — pass --model, or set scenarios.model in pikku.config.json.');
86
86
  }
87
- const aiAgentRunner = await createDevAIAgentRunner({
87
+ const agentRunner = await createDevAgentRunner({
88
88
  logger,
89
89
  projectRoot: config.rootDir,
90
90
  variables,
91
91
  });
92
- if (!aiAgentRunner) {
92
+ if (!agentRunner) {
93
93
  throw new Error('No AI provider is configured. Set OPENAI_BASE_URL + OPENAI_API_KEY (or LITELLM_PROXY_URL + LITELLM_API_KEY).');
94
94
  }
95
95
  // Shared with the scaffolded `runVirtualUser` RPC, which does the same
@@ -153,7 +153,7 @@ export const personaRun = pikkuSessionlessFunc({
153
153
  model: resolvedModel,
154
154
  agents: agents.map((agent) => agent.name),
155
155
  }),
156
- llm: (params) => aiAgentRunner.run(params),
156
+ llm: (params) => agentRunner.run(params),
157
157
  model: resolvedModel,
158
158
  seed: seed ? Number(seed) : undefined,
159
159
  allowApprovalRequired: allowApproval ?? false,
@@ -1,4 +1,4 @@
1
1
  export type BootstrapInput = {
2
2
  allImports: string[];
3
3
  };
4
- export declare const pikkuBootstrap: import("#pikku").PikkuFunctionConfig<BootstrapInput, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<BootstrapInput, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<BootstrapInput, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
4
+ export declare const pikkuBootstrap: import("#pikku/function").PikkuFunctionConfig<BootstrapInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<BootstrapInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<BootstrapInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
+ import { rm } from 'node:fs/promises';
2
3
  import { join, dirname } from 'node:path';
3
- import { pikkuSessionlessFunc } from '#pikku';
4
+ import { pikkuSessionlessFunc } from '#pikku/function';
4
5
  import { getFileImportRelativePath } from '../../utils/file-import-path.js';
5
6
  import { writeFileInDir } from '../../utils/file-writer.js';
6
7
  export const pikkuBootstrap = pikkuSessionlessFunc({
@@ -35,7 +36,7 @@ export const pikkuBootstrap = pikkuSessionlessFunc({
35
36
  const localImports = safeLocalImportTargets.map((to) => `import '${getFileImportRelativePath(config.bootstrapFile, to, config.packageMappings, config.forceRelativeImports)}'`);
36
37
  const addonImports = addonBootstraps.map((packagePath) => `import '${packagePath}'`);
37
38
  const outDir = dirname(config.bootstrapFile);
38
- const metaServiceFile = join(outDir, 'pikku-meta-service.gen.ts');
39
+ const metaServiceFile = join(outDir, 'services', 'pikku-meta-service.gen.ts');
39
40
  const escapedOutDir = outDir.replace(/\\/g, '/').replace(/'/g, "\\'");
40
41
  const metaServiceContent = [
41
42
  `import { LocalMetaService } from '@pikku/core/services/local-meta'`,
@@ -48,6 +49,10 @@ export const pikkuBootstrap = pikkuSessionlessFunc({
48
49
  ``,
49
50
  ].join('\n');
50
51
  await writeFileInDir(logger, metaServiceFile, metaServiceContent);
52
+ // The meta service used to sit loose at the root of the output dir. A
53
+ // project generated before it moved under `services/` still has that file,
54
+ // and tsc compiles every file in the output tree.
55
+ await rm(join(outDir, 'pikku-meta-service.gen.ts'), { force: true });
51
56
  const allBootstrapImports = [
52
57
  ...localImports,
53
58
  ...wireAddonFileImports,
@@ -1 +1 @@
1
- export declare const pikkuSummary: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuSummary: 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,5 +1,5 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
2
- import { PikkuError } from '@pikku/core';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
+ import { PikkuError } from '@pikku/core/errors';
3
3
  import { CommandSummary } from '../../utils/command-summary.js';
4
4
  // A blocking-diagnostics failure is expected (the gate did its job) — throw a
5
5
  // PikkuError so the workflow runner logs the message alone, not a stack trace.
@@ -1 +1 @@
1
- export declare const rolesAudit: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const rolesAudit: 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,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { loadDeclaredRoles, openScopeServiceForRoles, reportStaleRoles, } from './roles-shared.js';
3
3
  export const rolesAudit = pikkuSessionlessFunc({
4
4
  remote: true,
@@ -7,10 +7,10 @@
7
7
  * whole point of the additive sync: deleting a `defineSystemRole` declaration
8
8
  * leaves people holding the role until somebody decides otherwise here.
9
9
  */
10
- export declare const rolesPrune: import("#pikku").PikkuFunctionConfig<{
10
+ export declare const rolesPrune: import("#pikku/function").PikkuFunctionConfig<{
11
11
  yes?: boolean;
12
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
12
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
13
13
  yes?: boolean;
14
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
14
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
15
15
  yes?: boolean;
16
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
16
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { loadDeclaredRoles, openScopeServiceForRoles, reportStaleRoles, } from './roles-shared.js';
3
3
  /**
4
4
  * Removes system roles that are no longer declared in code, cascading them out
@@ -7,7 +7,7 @@
7
7
  * making the driver's optional isolation and diagnostics safe to call
8
8
  * unconditionally.
9
9
  */
10
- import type { ScenarioBrowserFailure, ScenarioBrowserProvider } from '@pikku/core/scenario';
10
+ import type { ScenarioArtifact, ScenarioBrowserFailure, ScenarioBrowserProvider } from '@pikku/core/scenario';
11
11
  import type { ResolvedPersona } from '@pikku/core/services';
12
12
  /** The default driver, used when a project names no other. */
13
13
  export declare const DEFAULT_BROWSER_DRIVER = "@pikku/playwright";
@@ -15,7 +15,6 @@ export interface ScenarioBrowserDriverOptions {
15
15
  secret: string;
16
16
  actors: Record<string, ResolvedPersona>;
17
17
  signInPath?: string;
18
- failureDir?: string;
19
18
  capture?: ScenarioCaptureOptions;
20
19
  config: unknown;
21
20
  }
@@ -41,6 +40,7 @@ export interface ScenarioBrowserDriver {
41
40
  */
42
41
  browserConfigFromEnv?: (overrides: {
43
42
  appUrl?: string;
43
+ appUrls?: Record<string, string>;
44
44
  apiUrl: string;
45
45
  }) => unknown;
46
46
  }
@@ -54,8 +54,10 @@ export interface ScenarioCaptureOptions {
54
54
  dir: string;
55
55
  /** The invocation these artifacts belong to. */
56
56
  runId: string;
57
- /** Record a video per scenario. */
58
- video?: boolean;
57
+ /** Write the screenshots a scenario asks for by name. */
58
+ screenshots?: boolean;
59
+ /** Which scenarios keep their recording. */
60
+ video?: 'off' | 'failed' | 'all';
59
61
  /** Re-encode with ffmpeg when available. Defaults on — the footage is nearly static. */
60
62
  compress?: boolean;
61
63
  }
@@ -64,15 +66,16 @@ export interface ResolveScenarioBrowserProviderOptions {
64
66
  environment: string;
65
67
  apiUrl: string;
66
68
  appUrl?: string;
69
+ /** Base url per app, for a product whose personas sign into more than one. */
70
+ appUrls?: Record<string, string>;
67
71
  secret: string;
68
72
  actors: Record<string, ResolvedPersona>;
69
73
  signInPath?: string;
70
- /** Where failure screenshots are written. */
71
- failureDir: string;
72
74
  /**
73
- * Artifacts for this run — named screenshots, and optionally a video per
74
- * scenario. Undefined leaves capture off, which is the default: most runs
75
- * ask a pass/fail question and writing video to answer it is waste.
75
+ * Artifacts for this run — named screenshots, failure screenshots, and a
76
+ * video per scenario kept according to its retention. Undefined leaves
77
+ * capture off entirely, which is what a driver used outside
78
+ * `pikku scenario run` gets.
76
79
  */
77
80
  capture?: ScenarioCaptureOptions;
78
81
  /** The scenarios that declared browser steps, named in the missing-driver error. */
@@ -93,15 +96,18 @@ export interface ResolveScenarioBrowserProviderOptions {
93
96
  * because a run against a placeholder URL is worse than one that refuses to
94
97
  * start.
95
98
  */
96
- export declare const resolveScenarioBrowserProvider: ({ environment, apiUrl, appUrl, secret, actors, signInPath, failureDir, capture, browserScenarios, driver, importDriver, }: ResolveScenarioBrowserProviderOptions) => Promise<ScenarioBrowserProvider>;
99
+ export declare const resolveScenarioBrowserProvider: ({ environment, apiUrl, appUrl, appUrls, secret, actors, signInPath, capture, browserScenarios, driver, importDriver, }: ResolveScenarioBrowserProviderOptions) => Promise<ScenarioBrowserProvider>;
97
100
  /**
98
- * The three calls the run loop makes, safe against a run with no browser and
99
- * against a driver that implements neither optional member.
101
+ * The calls the run loop makes, safe against a run with no browser and against
102
+ * a driver that implements none of the optional members.
100
103
  */
101
104
  export interface ScenarioBrowserLifecycle {
102
105
  reset(): Promise<void>;
103
106
  beginScenario(scenario: string): void;
107
+ endScenario(outcome: 'passed' | 'failed'): void;
104
108
  captureFailure(label: string): Promise<ScenarioBrowserFailure[]>;
109
+ /** What the run filed, complete only once `close()` has been called. */
110
+ artifacts(): ScenarioArtifact[];
105
111
  close(): Promise<void>;
106
112
  }
107
113
  export declare const scenarioBrowserLifecycle: (provider: ScenarioBrowserProvider | undefined) => ScenarioBrowserLifecycle;
@@ -12,7 +12,7 @@ export const DEFAULT_BROWSER_DRIVER = '@pikku/playwright';
12
12
  * because a run against a placeholder URL is worse than one that refuses to
13
13
  * start.
14
14
  */
15
- export const resolveScenarioBrowserProvider = async ({ environment, apiUrl, appUrl, secret, actors, signInPath, failureDir, capture, browserScenarios, driver = DEFAULT_BROWSER_DRIVER, importDriver = (specifier) => import(specifier), }) => {
15
+ export const resolveScenarioBrowserProvider = async ({ environment, apiUrl, appUrl, appUrls, secret, actors, signInPath, capture, browserScenarios, driver = DEFAULT_BROWSER_DRIVER, importDriver = (specifier) => import(specifier), }) => {
16
16
  const module = await importDriver(driver).catch(() => {
17
17
  const install = driver === DEFAULT_BROWSER_DRIVER
18
18
  ? `Run 'yarn add -D ${driver} @playwright/test'`
@@ -20,19 +20,29 @@ export const resolveScenarioBrowserProvider = async ({ environment, apiUrl, appU
20
20
  throw new Error(`Scenarios ${browserScenarios.join(', ')} declare browser steps but '${driver}' could not be loaded. ` +
21
21
  `${install}, or run with --no-browser to skip them.`);
22
22
  });
23
- const config = (module.browserConfigFromEnv?.({ appUrl, apiUrl }) ?? {
24
- appUrl,
25
- apiUrl,
26
- });
23
+ const overrides = { appUrl, apiUrl, ...(appUrls ? { appUrls } : {}) };
24
+ const config = (module.browserConfigFromEnv?.(overrides) ??
25
+ overrides);
27
26
  if (!config.appUrl || config.appUrlSource === 'default') {
28
27
  throw new Error(`Scenario environment '${environment}' has browser steps but no 'appUrl', and '${driver}' resolved none from the environment. ` +
29
28
  `Add it to environments.${environment} in pikku.config.json, pass --app-url for a target that only exists at run time, or run with --no-browser to skip them.`);
30
29
  }
30
+ // An actor whose app has no url would browse the fallback: the wrong app's
31
+ // pages, loading fine, asserting nothing about the app the scenario meant.
32
+ // Cheaper to refuse now than to read a green run that proved one app twice.
33
+ const unmapped = [
34
+ ...new Set(Object.values(actors)
35
+ .map((persona) => persona.app)
36
+ .filter((app) => !!app && !config.appUrls?.[app])),
37
+ ];
38
+ if (unmapped.length > 0 && Object.keys(config.appUrls ?? {}).length > 0) {
39
+ throw new Error(`No app url for ${unmapped.map((app) => `'${app}'`).join(', ')}, which ${unmapped.length > 1 ? 'personas sign' : 'a persona signs'} into. ` +
40
+ `Pass --app-url ${unmapped[0]}=<url> (repeatable, comma-separated) or add it to environments.${environment}.appUrls in pikku.config.json.`);
41
+ }
31
42
  const options = {
32
43
  secret,
33
44
  actors,
34
45
  signInPath,
35
- failureDir,
36
46
  capture,
37
47
  config,
38
48
  };
@@ -56,6 +66,9 @@ export const scenarioBrowserLifecycle = (provider) => ({
56
66
  beginScenario: (scenario) => {
57
67
  provider?.beginScenario?.(scenario);
58
68
  },
69
+ endScenario: (outcome) => {
70
+ provider?.endScenario?.(outcome);
71
+ },
59
72
  captureFailure: async (label) => {
60
73
  try {
61
74
  return (await provider?.captureFailure?.(label)) ?? [];
@@ -66,6 +79,7 @@ export const scenarioBrowserLifecycle = (provider) => ({
66
79
  return [];
67
80
  }
68
81
  },
82
+ artifacts: () => provider?.artifacts?.() ?? [],
69
83
  close: async () => {
70
84
  await provider?.close();
71
85
  },
@@ -1,62 +1,16 @@
1
1
  /**
2
- * The scenario run report, and how it is rendered.
2
+ * How a scenario run is rendered to a terminal.
3
3
  *
4
4
  * Everything a run prints goes through here, so the shape of the output is one
5
5
  * file rather than log calls scattered through the command. The report itself
6
- * is plain serialisable data — no Maps, no meta handles — which is what makes a
7
- * second formatter (JSON, JUnit) a matter of writing one function rather than
8
- * unpicking the runner.
6
+ * is plain serialisable data — no Maps, no meta handles — declared in
7
+ * `@pikku/core` because the same shapes are what a run is stored as and what
8
+ * the console reads back, which is also what makes a second formatter (JSON,
9
+ * JUnit) a matter of writing one function rather than unpicking the runner.
9
10
  */
10
- import type { ScenarioBrowserFailure } from '@pikku/core/scenario';
11
+ import type { ScenarioFailureDetail, ScenarioRunReport, ScenarioStepRow } from '@pikku/core/scenario';
11
12
  /** The longest gherkin keyword ("Given"), so sentences line up under each other. */
12
13
  declare const KEYWORD_WIDTH = 5;
13
- /** One step of a run, already joined to the prose that declared it. */
14
- export interface ScenarioStepRow {
15
- sentence: string;
16
- status: string;
17
- durationMs?: number;
18
- error?: string;
19
- }
20
- /** Everything known about why one scenario failed. */
21
- export interface ScenarioFailureDetail {
22
- /** The rendered sentence of the failing step; absent if no step failed. */
23
- sentence?: string;
24
- message: string;
25
- stack?: string;
26
- /**
27
- * True when the failure was a deliberate one (a PikkuError). Its message is
28
- * the whole story, so the stack is noise.
29
- */
30
- expected?: boolean;
31
- browser?: ScenarioBrowserFailure[];
32
- }
33
- export interface ScenarioResult {
34
- name: string;
35
- status: 'passed' | 'failed';
36
- durationMs: number;
37
- output?: unknown;
38
- error?: string;
39
- steps?: ScenarioStepRow[];
40
- failure?: ScenarioFailureDetail;
41
- }
42
- /** One scenario that was not run, and why. */
43
- export interface ScenarioSkip {
44
- name: string;
45
- reason: string;
46
- }
47
- export interface ScenarioRunReport {
48
- environment: string;
49
- results: ScenarioResult[];
50
- /**
51
- * Scenarios not run at all, each carrying why. A skip is only useful if the
52
- * reader can tell a browser scenario held back by `--no-browser` from one the
53
- * project itself quarantined, so the reason travels with the name rather than
54
- * being assumed by the formatter.
55
- */
56
- skipped: ScenarioSkip[];
57
- /** Feature-level hook failures, which belong to no single scenario. */
58
- hookFailures: string[];
59
- }
60
14
  export interface ScenarioReportLine {
61
15
  level: 'info' | 'error';
62
16
  text: string;
@@ -1,7 +1,7 @@
1
- import type { ScenarioStepPhase, ScenarioSurface } from '@pikku/core/scenario';
2
- import type { WorkflowStepMeta } from '@pikku/core/workflow/types';
3
- import type { FunctionsMeta } from '@pikku/core';
4
- import type { ScenarioFailureDetail, ScenarioStepRow } from './scenario-formatter.js';
1
+ import type { ScenarioSurface, ScenarioStepPhase } from '@pikku/core/scenario';
2
+ import type { WorkflowStepMeta } from '@pikku/core/workflow';
3
+ import type { FunctionsMeta } from '@pikku/core/services';
4
+ import type { ScenarioFailureDetail, ScenarioStepRow } from '@pikku/core/scenario';
5
5
  export interface ScenarioStepProse {
6
6
  phase: ScenarioStepPhase;
7
7
  description: string;
@@ -1,54 +1,51 @@
1
1
  import type { ScenarioSurface } from '@pikku/core/scenario';
2
- export declare const scenarioList: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
3
- export declare const scenarioRun: import("#pikku").PikkuFunctionConfig<{
2
+ export declare const scenarioList: 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>;
3
+ export declare const scenarioRun: import("#pikku/function").PikkuFunctionConfig<{
4
4
  environment: string;
5
5
  flows?: string;
6
6
  features?: string;
7
7
  tags?: string;
8
8
  excludeTags?: string;
9
9
  coverage?: boolean;
10
- browser?: boolean;
11
10
  run?: ScenarioSurface;
12
11
  strict?: boolean;
13
12
  spawn?: boolean;
14
13
  keepAlive?: boolean;
15
14
  trace?: boolean;
16
15
  screenshots?: boolean;
17
- video?: boolean;
16
+ video?: "off" | "failed" | "all";
18
17
  apiUrl?: string;
19
18
  appUrl?: string;
20
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
19
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
21
20
  environment: string;
22
21
  flows?: string;
23
22
  features?: string;
24
23
  tags?: string;
25
24
  excludeTags?: string;
26
25
  coverage?: boolean;
27
- browser?: boolean;
28
26
  run?: ScenarioSurface;
29
27
  strict?: boolean;
30
28
  spawn?: boolean;
31
29
  keepAlive?: boolean;
32
30
  trace?: boolean;
33
31
  screenshots?: boolean;
34
- video?: boolean;
32
+ video?: "off" | "failed" | "all";
35
33
  apiUrl?: string;
36
34
  appUrl?: string;
37
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
35
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
38
36
  environment: string;
39
37
  flows?: string;
40
38
  features?: string;
41
39
  tags?: string;
42
40
  excludeTags?: string;
43
41
  coverage?: boolean;
44
- browser?: boolean;
45
42
  run?: ScenarioSurface;
46
43
  strict?: boolean;
47
44
  spawn?: boolean;
48
45
  keepAlive?: boolean;
49
46
  trace?: boolean;
50
47
  screenshots?: boolean;
51
- video?: boolean;
48
+ video?: "off" | "failed" | "all";
52
49
  apiUrl?: string;
53
50
  appUrl?: string;
54
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
51
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;