@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,22 +1,21 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { resolve, join } from 'node:path';
3
3
  import { mkdirSync, writeFileSync } from 'node:fs';
4
- import { pikkuSessionlessFunc } from '#pikku';
4
+ import { pikkuSessionlessFunc } from '#pikku/function';
5
5
  import { InMemoryWorkflowService } from '@pikku/core/services';
6
+ import { FileScenarioRunStore } from '@pikku/core/services';
6
7
  import { createHttpPersonas } from '@pikku/core/persona';
7
- import { PikkuScenarioService } from '@pikku/core/scenario';
8
- import { pikkuState, getAllPackageStates } from '@pikku/core/ecosystem';
9
- import { resolveFeatureScenarios } from '@pikku/core/scenario';
8
+ import { PikkuScenarioService, resolveFeatureScenarios, SCENARIO_SURFACES, } from '@pikku/core/scenario';
9
+ import { pikkuState, getAllPackageStates } from '@pikku/core/state';
10
10
  import { loadScenarioBootstrap } from './load-user-project.js';
11
11
  import { collectScenarioStepProse, scenarioBrowserSteps, scenarioFailureFromSteps, scenarioStepRows, scenarioStepsWithoutBinding, scenarioSurfaceCoverage, } from './scenario-ladder.js';
12
- import { SCENARIO_SURFACES } from '@pikku/core/scenario';
13
12
  import { formatScenarioReport } from './scenario-formatter.js';
14
13
  import { resolveScenarioBrowserProvider, scenarioBrowserLifecycle, } from './scenario-browser.js';
15
14
  import { resolvePersonas } from '../../utils/resolve-personas.js';
16
15
  import { spawnDevServer } from '../../server/spawn-dev-server.js';
17
16
  import { buildScenarioPlan } from './scenario-plan.js';
18
17
  import { resolveEnvironment } from './environment.js';
19
- import { createDevAIAgentRunner } from './dev-ai-runner.js';
18
+ import { createDevAgentRunner } from './dev-agent-runner.js';
20
19
  const isScenario = (wf) => wf?.scenario === true;
21
20
  const listScenarios = (state) => Object.entries(state.workflows?.meta ?? {})
22
21
  .filter(([, wf]) => isScenario(wf))
@@ -88,7 +87,7 @@ export const scenarioList = pikkuSessionlessFunc({
88
87
  },
89
88
  });
90
89
  export const scenarioRun = pikkuSessionlessFunc({
91
- func: async ({ logger, config, getInspectorState, variables }, { environment, flows, features, tags, excludeTags, coverage, browser = true, run: runSurface = 'default', strict = false, spawn = false, keepAlive = false, trace = false, screenshots = false, video = false, apiUrl, appUrl, }) => {
90
+ func: async ({ logger, config, getInspectorState, variables }, { environment, flows, features, tags, excludeTags, coverage, run: runSurface = 'default', strict = false, spawn = false, keepAlive = false, trace = false, screenshots = false, video = 'failed', apiUrl, appUrl, }) => {
92
91
  if (!SCENARIO_SURFACES.includes(runSurface)) {
93
92
  throw new Error(`Unknown --run surface '${runSurface}'. Expected one of: ${SCENARIO_SURFACES.join(', ')}.`);
94
93
  }
@@ -191,49 +190,44 @@ export const scenarioRun = pikkuSessionlessFunc({
191
190
  scenarioBrowserSteps(state.workflows?.meta?.[name], functionsMeta),
192
191
  ])
193
192
  .filter(([, steps]) => steps.length > 0));
194
- // `--no-browser` is the blunt form of `--run default`: a machine with no
195
- // browser takes the server-side path rather than skipping the scenario.
196
- const effectiveSurface = browser === false && runSurface === 'browser' ? 'default' : runSurface;
197
193
  const unrunnableStepsByFlow = new Map([...scenarioNames]
198
194
  .map((name) => [
199
195
  name,
200
- scenarioStepsWithoutBinding(state.workflows?.meta?.[name], functionsMeta, effectiveSurface),
196
+ scenarioStepsWithoutBinding(state.workflows?.meta?.[name], functionsMeta, runSurface),
201
197
  ])
202
198
  .filter(([, steps]) => steps.length > 0));
203
- // Two reasons a scenario is held back, both reported as SKIP rather than
204
- // failed. `--no-browser` is the direct replacement for cucumber's `@console`
205
- // tag, so a standard run stays green on a machine with no browser; a `skip`
206
- // on the scenario itself is the project quarantining it, and the plan has
207
- // already cleared that reason for anything named directly with `--flows`.
208
- const skipReasonFor = (entry) => {
209
- if (entry.skip)
210
- return entry.skip;
211
- const unrunnable = unrunnableStepsByFlow.get(entry.scenarioName);
212
- if (unrunnable?.length) {
213
- return `no ${effectiveSurface} or default binding: ${unrunnable.join(', ')}`;
214
- }
215
- return undefined;
216
- };
217
- const skipped = [];
199
+ // A `skip` is the project quarantining a scenario on purpose and stays
200
+ // green; no binding for the run surface is a misconfigured run and fails.
201
+ const quarantined = [];
202
+ const unrunnable = [];
218
203
  groups = groups
219
204
  .map((group) => ({
220
205
  ...group,
221
206
  entries: group.entries.filter((entry) => {
222
- const reason = skipReasonFor(entry);
223
- if (!reason)
224
- return true;
225
- skipped.push({ name: entry.scenarioName, reason });
226
- return false;
207
+ if (entry.skip) {
208
+ quarantined.push({ name: entry.scenarioName, reason: entry.skip });
209
+ return false;
210
+ }
211
+ const steps = unrunnableStepsByFlow.get(entry.scenarioName);
212
+ if (steps?.length) {
213
+ unrunnable.push({
214
+ name: entry.scenarioName,
215
+ reason: `no ${runSurface} or default binding: ${steps.join(', ')}`,
216
+ });
217
+ return false;
218
+ }
219
+ return true;
227
220
  }),
228
221
  }))
229
222
  .filter((group) => group.entries.length > 0);
223
+ const skipped = [...quarantined, ...unrunnable];
230
224
  const workflowService = new InMemoryWorkflowService();
231
225
  const scenarioService = workflowService.setRunExtension((engine) => new PikkuScenarioService(engine));
232
226
  scenarioService.setScenarioEnvironment({
233
227
  apiUrl: env.apiUrl,
234
228
  appUrl: env.appUrl,
235
229
  });
236
- scenarioService.setRunSurface(effectiveSurface);
230
+ scenarioService.setRunSurface(runSurface);
237
231
  // Scenario steps run here, not on the target — everything they touch of the
238
232
  // app goes over HTTP through an actor, which is what `guardRpc` below
239
233
  // enforces. `actor.converse` is the exception, and the reason this is not
@@ -242,8 +236,8 @@ export const scenarioRun = pikkuSessionlessFunc({
242
236
  // before it says anything. Built the same way `pikku dev` builds its own,
243
237
  // and only when the project declares agents, so a project with no agents
244
238
  // does not have to have AI env set to run scenarios.
245
- const aiAgentRunner = Object.keys(state.agents?.agentsMeta ?? {}).length > 0
246
- ? await createDevAIAgentRunner({
239
+ const agentRunner = Object.keys(state.agents?.agentsMeta ?? {}).length > 0
240
+ ? await createDevAgentRunner({
247
241
  logger,
248
242
  projectRoot: config.rootDir,
249
243
  variables,
@@ -253,7 +247,7 @@ export const scenarioRun = pikkuSessionlessFunc({
253
247
  logger,
254
248
  workflowService,
255
249
  workflowRunService: workflowService,
256
- ...(aiAgentRunner ? { aiAgentRunner } : {}),
250
+ ...(agentRunner ? { agentRunner } : {}),
257
251
  });
258
252
  const refuseInternal = (rpcName) => {
259
253
  throw new Error(`Scenario tried to run '${rpcName}' as an internal step. Every workflow.do ` +
@@ -283,30 +277,32 @@ export const scenarioRun = pikkuSessionlessFunc({
283
277
  // Only a browser run launches one. Under `--run default` a step with a
284
278
  // browser binding takes its default path instead, so there is nothing to
285
279
  // drive and nothing to pay for.
286
- const needsBrowser = effectiveSurface === 'browser' &&
280
+ const needsBrowser = runSurface === 'browser' &&
287
281
  groups.some((group) => group.entries.some((entry) => browserStepsByFlow.has(entry.scenarioName)));
288
- const failureDir = join(resolve(config.rootDir, config.outDir), 'scenario-failures');
289
282
  // Artifacts are filed under the run, not the scenario, so one run's output
290
- // is one folder to open, keep or delete. `--video` implies capture is on:
291
- // recording without somewhere to put it is not a thing anyone wants.
283
+ // is one folder to open, keep or delete.
292
284
  const captureDir = join(resolve(config.rootDir, config.outDir), 'scenario-runs');
293
285
  // One id for the whole invocation, distinct from a scenario's own runId:
294
286
  // reviewing artifacts means opening what `pikku scenario run` just produced,
295
287
  // not hunting for one scenario's folder among many.
296
288
  const captureRunId = randomUUID();
297
- const capture = screenshots || video
298
- ? { dir: captureDir, runId: captureRunId, video, compress: true }
299
- : undefined;
289
+ const capture = {
290
+ dir: captureDir,
291
+ runId: captureRunId,
292
+ screenshots,
293
+ video,
294
+ compress: true,
295
+ };
300
296
  const browserLifecycle = scenarioBrowserLifecycle(needsBrowser
301
297
  ? await (async () => {
302
298
  const provider = await resolveScenarioBrowserProvider({
303
299
  environment,
304
300
  apiUrl: env.apiUrl,
305
301
  appUrl: env.appUrl,
302
+ appUrls: env.appUrls,
306
303
  secret,
307
304
  actors: scenarioActors,
308
305
  signInPath: env.signInPath,
309
- failureDir,
310
306
  capture,
311
307
  browserScenarios: [...browserStepsByFlow.keys()],
312
308
  driver: config.scenarios?.browserDriver,
@@ -316,6 +312,21 @@ export const scenarioRun = pikkuSessionlessFunc({
316
312
  })()
317
313
  : undefined);
318
314
  const results = [];
315
+ // Opened before the first scenario and written to as each one finishes, so
316
+ // a suite that dies on its fortieth still leaves the thirty-nine behind —
317
+ // and the console can show a run while it is still going.
318
+ const runStore = new FileScenarioRunStore({ dir: captureDir });
319
+ const startedAtIso = new Date().toISOString();
320
+ await runStore.start({
321
+ runId: captureRunId,
322
+ environment,
323
+ surface: runSurface,
324
+ status: 'running',
325
+ startedAt: startedAtIso,
326
+ results: [],
327
+ skipped,
328
+ hookFailures: [],
329
+ });
319
330
  /**
320
331
  * The step ladder is read back off the recorded run, so it needs no live
321
332
  * step events — it is the same data the console renders. Joining it to the
@@ -378,7 +389,22 @@ export const scenarioRun = pikkuSessionlessFunc({
378
389
  });
379
390
  };
380
391
  const hookFailures = [];
381
- const runEntry = async (label, scenarioName, data) => {
392
+ /**
393
+ * What a result carries beyond its own outcome: which registration ran,
394
+ * which feature grouped it, and the tags it was selected by. Snapshotted
395
+ * into the record because a run read back next week is describing a suite
396
+ * whose source has moved on.
397
+ */
398
+ const identify = (result, scenarioName, feature) => {
399
+ const tags = state.workflows?.meta?.[scenarioName]?.tags;
400
+ return {
401
+ ...result,
402
+ scenarioName,
403
+ ...(feature ? { feature } : {}),
404
+ ...(tags?.length ? { tags } : {}),
405
+ };
406
+ };
407
+ const runEntry = async (label, scenarioName, data, feature) => {
382
408
  const startedAt = Date.now();
383
409
  // Before the scenario, not after it: the last scenario's window is left
384
410
  // open for headed debugging, while this one still starts clean.
@@ -452,6 +478,11 @@ export const scenarioRun = pikkuSessionlessFunc({
452
478
  browser: await browserLifecycle.captureFailure(label),
453
479
  };
454
480
  }
481
+ // Told here, acted on at the next scenario's reset — that is what closes
482
+ // these windows and finalises the video this outcome decides the fate of.
483
+ browserLifecycle.endScenario(result.status);
484
+ Object.assign(result, identify(result, scenarioName, feature));
485
+ await runStore.recordScenario(captureRunId, result);
455
486
  if (coverageActive) {
456
487
  const report = await invokeCoverage('pikkuScenarioTakeLiveCoverage');
457
488
  if (report) {
@@ -484,17 +515,19 @@ export const scenarioRun = pikkuSessionlessFunc({
484
515
  // Setup failed, so nothing in the group ran. Reporting them as failed
485
516
  // rather than skipped is the honest reading: they did not pass.
486
517
  for (const entry of group.entries) {
487
- results.push({
518
+ const result = identify({
488
519
  name: label(entry),
489
520
  status: 'failed',
490
521
  durationMs: 0,
491
522
  error: `feature '${groupName}' before hook failed: ${beforeError?.message ?? beforeError}`,
492
- });
523
+ }, entry.scenarioName, groupName);
524
+ results.push(result);
525
+ await runStore.recordScenario(captureRunId, result);
493
526
  }
494
527
  }
495
528
  else {
496
529
  for (const entry of group.entries) {
497
- await runEntry(label(entry), entry.scenarioName, entry.data);
530
+ await runEntry(label(entry), entry.scenarioName, entry.data, groupName);
498
531
  }
499
532
  }
500
533
  }
@@ -510,10 +543,23 @@ export const scenarioRun = pikkuSessionlessFunc({
510
543
  }
511
544
  }
512
545
  await browserLifecycle.close();
513
- // Reported after the browser has closed, because video is only finalised
514
- // when its context is. A capture nobody can find is a capture nobody
515
- // looks at, and looking at them is the entire point of the flags.
516
- if (capture) {
546
+ // Collected after the browser has closed, because a video is only finalised
547
+ // when its context is and renamed again by the encode that close() runs.
548
+ // This is the first moment the answer is complete.
549
+ const artifacts = browserLifecycle.artifacts();
550
+ await runStore.attachArtifacts(captureRunId, artifacts);
551
+ const failed = results.filter((r) => r.status === 'failed');
552
+ await runStore.finish(captureRunId, {
553
+ status: failed.length > 0 || hookFailures.length > 0 ? 'failed' : 'passed',
554
+ finishedAt: new Date().toISOString(),
555
+ skipped,
556
+ hookFailures,
557
+ });
558
+ // A capture nobody can find is a capture nobody looks at, and looking at
559
+ // them is the entire point of the flags. Announced only when the run
560
+ // actually filed something: every run leaves a record behind, and most of
561
+ // them have no images or footage to go with it.
562
+ if (artifacts.length > 0) {
517
563
  logger.info(`Captures → ${join(capture.dir, capture.runId)}`);
518
564
  }
519
565
  if (coverage && Object.keys(scenarioCoverage).length > 0) {
@@ -542,14 +588,14 @@ export const scenarioRun = pikkuSessionlessFunc({
542
588
  const surfaceCoverage = { onSurface: 0, total: 0 };
543
589
  const unwitnessed = new Set();
544
590
  for (const name of scenarioNames) {
545
- const scenario = scenarioSurfaceCoverage(state.workflows?.meta?.[name], functionsMeta, effectiveSurface);
591
+ const scenario = scenarioSurfaceCoverage(state.workflows?.meta?.[name], functionsMeta, runSurface);
546
592
  surfaceCoverage.onSurface += scenario.onSurface;
547
593
  surfaceCoverage.total += scenario.total;
548
594
  for (const step of scenario.unwitnessed)
549
595
  unwitnessed.add(step);
550
596
  }
551
- if (effectiveSurface !== 'default' && surfaceCoverage.total > 0) {
552
- const line = `${surfaceCoverage.onSurface}/${surfaceCoverage.total} steps ran on ${effectiveSurface}`;
597
+ if (runSurface !== 'default' && surfaceCoverage.total > 0) {
598
+ const line = `${surfaceCoverage.onSurface}/${surfaceCoverage.total} steps ran on ${runSurface}`;
553
599
  if (unwitnessed.size === 0) {
554
600
  logger.info(line);
555
601
  }
@@ -558,9 +604,15 @@ export const scenarioRun = pikkuSessionlessFunc({
558
604
  write(`${line} — asserted server-side only: ${[...unwitnessed].join(', ')}`);
559
605
  }
560
606
  }
561
- const failed = results.filter((r) => r.status === 'failed');
607
+ // Exiting 0 here makes "62 held back" and "62 passed" indistinguishable
608
+ // to CI, which is how a whole browser suite went unrun.
609
+ if (unrunnable.length > 0) {
610
+ logger.error(`${unrunnable.length} scenario(s) could not run on '${runSurface}' — no binding for that surface and no default to fall back to. ` +
611
+ `Run them on the surface they are written for (--run browser), or hold them back explicitly with --exclude-tags.`);
612
+ }
562
613
  if (failed.length > 0 ||
563
614
  hookFailures.length > 0 ||
615
+ unrunnable.length > 0 ||
564
616
  (strict && unwitnessed.size > 0)) {
565
617
  process.exitCode = 1;
566
618
  }
@@ -1 +1 @@
1
- export declare const scopesAudit: 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 scopesAudit: 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 { loadDeclaredScopes, openScopeService, reportStaleScopes, } from './scopes-shared.js';
3
3
  export const scopesAudit = pikkuSessionlessFunc({
4
4
  remote: true,
@@ -5,10 +5,10 @@
5
5
  * This revokes access, so it never runs implicitly — not at boot, not as part
6
6
  * of `pikku all`. Without `--yes` it only reports the blast radius.
7
7
  */
8
- export declare const scopesPrune: import("#pikku").PikkuFunctionConfig<{
8
+ export declare const scopesPrune: import("#pikku/function").PikkuFunctionConfig<{
9
9
  yes?: boolean;
10
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
10
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
11
11
  yes?: boolean;
12
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
12
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
13
13
  yes?: boolean;
14
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
14
+ }, 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 { loadDeclaredScopes, openScopeService, reportStaleScopes, } from './scopes-shared.js';
3
3
  /**
4
4
  * Removes scopes that are no longer declared in code, cascading them out of
@@ -0,0 +1,2 @@
1
+ import type { SemverResult } from './semver.js';
2
+ export declare const renderSemver: (_services: unknown, result: SemverResult) => void;
@@ -0,0 +1,60 @@
1
+ import { added, changed, dim, removed, table } from '../../fabric/lib/output.js';
2
+ const STATUS_COLOUR = {
3
+ added,
4
+ removed,
5
+ modified: changed,
6
+ };
7
+ const verdictColour = (verdict) => verdict === 'major'
8
+ ? removed(verdict)
9
+ : verdict === 'minor'
10
+ ? changed(verdict)
11
+ : dim(verdict);
12
+ export const renderSemver = (_services, result) => {
13
+ if (result.mode === 'emit') {
14
+ // No `--out`: the snapshot itself is the output, so it can be redirected.
15
+ if (!result.written) {
16
+ console.log(JSON.stringify(result.surface));
17
+ return;
18
+ }
19
+ const counts = [
20
+ `${Object.keys(result.surface.functions).length} functions`,
21
+ `${Object.keys(result.surface.schemas).length} schemas`,
22
+ ].join(', ');
23
+ console.log(`Surface snapshot written to ${result.written} ${dim(counts)}`);
24
+ return;
25
+ }
26
+ const lines = [''];
27
+ if (result.changes.length === 0) {
28
+ lines.push(`${verdictColour('patch')} no surface change against ${result.baseline}`, dim(' only internals moved'), '');
29
+ lines.push(dim(` written to ${result.written}`));
30
+ console.log(lines.join('\n'));
31
+ return;
32
+ }
33
+ const rows = result.changes.map((change) => [
34
+ change.breaking ? removed('breaking') : dim('compatible'),
35
+ change.kind,
36
+ STATUS_COLOUR[change.status](change.status),
37
+ change.id,
38
+ change.reasons[0] ?? '',
39
+ ]);
40
+ lines.push(table(['', 'Kind', 'Status', 'Id', 'Reason'], rows));
41
+ // Only the first reason fits the table; a function whose schema moved in
42
+ // several ways gets the rest listed underneath so nothing is lost to layout.
43
+ for (const change of result.changes) {
44
+ if (change.reasons.length <= 1)
45
+ continue;
46
+ lines.push('', `${change.kind} ${change.id}`);
47
+ for (const reason of change.reasons) {
48
+ lines.push(dim(` ${reason}`));
49
+ }
50
+ }
51
+ const { breaking, added: addedCount, removed: removedCount, modified, } = result.summary;
52
+ const summary = [
53
+ `${breaking} breaking`,
54
+ `${addedCount} added`,
55
+ `${removedCount} removed`,
56
+ `${modified} modified`,
57
+ ].join(' ');
58
+ lines.push('', '─'.repeat(40), `${verdictColour(result.verdict)} against ${result.baseline}`, dim(` ${summary}`), dim(` written to ${result.written}`));
59
+ console.log(lines.join('\n'));
60
+ };
@@ -0,0 +1,25 @@
1
+ import { type Surface } from '../../utils/surface.js';
2
+ import { type SurfaceChanges } from '../../utils/surface-diff.js';
3
+ /**
4
+ * `pikku semver` — what does this build owe the clients of another one?
5
+ *
6
+ * The baseline is deliberately external: a deployed environment, not the
7
+ * previous commit. Comparing against production is what makes the answer
8
+ * actionable, and pointing `--against` somewhere else is how you ask the same
9
+ * question about staging.
10
+ */
11
+ export type SemverInput = {
12
+ against?: string;
13
+ emit?: boolean;
14
+ out?: string;
15
+ failOn?: string;
16
+ };
17
+ export type SemverResult = {
18
+ mode: 'emit';
19
+ surface: Surface;
20
+ written: string | null;
21
+ } | ({
22
+ mode: 'compare';
23
+ written: string;
24
+ } & SurfaceChanges);
25
+ export declare const pikkuSemver: import("#pikku/function").PikkuFunctionConfig<SemverInput, SemverResult, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<SemverInput, SemverResult, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<SemverInput, SemverResult, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -0,0 +1,50 @@
1
+ import { mkdirSync, writeFileSync } from 'fs';
2
+ import { dirname, join, resolve } from 'path';
3
+ import { pikkuSessionlessFunc } from '#pikku/function';
4
+ import { loadManifest } from '../../utils/contract-versions.js';
5
+ import { loadSurface, readSurface } from '../../utils/surface.js';
6
+ import { computeSurfaceDiff, } from '../../utils/surface-diff.js';
7
+ const FAIL_LEVELS = ['major', 'minor', 'patch'];
8
+ // Ordered by severity, so `--fail-on minor` also fails on major.
9
+ const SEVERITY = { patch: 0, minor: 1, major: 2 };
10
+ async function currentSurface(rootDir, outDir) {
11
+ const manifest = await loadManifest(join(rootDir, 'versions.pikku.json'));
12
+ return readSurface(outDir, manifest);
13
+ }
14
+ function writeJson(path, value) {
15
+ mkdirSync(dirname(path), { recursive: true });
16
+ writeFileSync(path, JSON.stringify(value, null, 2) + '\n', 'utf-8');
17
+ }
18
+ export const pikkuSemver = pikkuSessionlessFunc({
19
+ func: async ({ config }, input) => {
20
+ const outDir = resolve(config.rootDir, config.outDir);
21
+ const out = input?.out ? resolve(config.rootDir, input.out) : null;
22
+ if (input?.emit === true) {
23
+ const surface = await currentSurface(config.rootDir, outDir);
24
+ if (out)
25
+ writeJson(out, surface);
26
+ return { mode: 'emit', surface, written: out };
27
+ }
28
+ const against = input?.against;
29
+ if (!against) {
30
+ throw new Error("Nothing to compare against. Pass `--against <path|url>` — a `.pikku` directory, a snapshot file, or a snapshot URL — or `--emit` to produce this build's snapshot.");
31
+ }
32
+ const [before, after] = await Promise.all([
33
+ loadSurface(against),
34
+ currentSurface(config.rootDir, outDir),
35
+ ]);
36
+ const changes = computeSurfaceDiff(before, after, against);
37
+ const changesPath = out ?? join(outDir, 'changes.gen.json');
38
+ writeJson(changesPath, changes);
39
+ const failOn = input?.failOn;
40
+ if (failOn) {
41
+ if (!FAIL_LEVELS.includes(failOn)) {
42
+ throw new Error(`--fail-on must be one of ${FAIL_LEVELS.join(', ')}, got '${failOn}'.`);
43
+ }
44
+ if (SEVERITY[changes.verdict] >= SEVERITY[failOn]) {
45
+ throw new Error(`Release is ${changes.verdict} against ${against}, at or above --fail-on ${failOn}. See ${changesPath}.`);
46
+ }
47
+ }
48
+ return { mode: 'compare', written: changesPath, ...changes };
49
+ },
50
+ });
@@ -1,13 +1,13 @@
1
- export declare const serve: import("#pikku").PikkuFunctionConfig<{
1
+ export declare const serve: import("#pikku/function").PikkuFunctionConfig<{
2
2
  port?: string;
3
3
  console?: boolean;
4
4
  model?: string;
5
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
5
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
6
6
  port?: string;
7
7
  console?: boolean;
8
8
  model?: string;
9
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
9
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
10
10
  port?: string;
11
11
  console?: boolean;
12
12
  model?: string;
13
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
13
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,10 +1,13 @@
1
1
  import { join, resolve } from 'path';
2
- import { pikkuSessionlessFunc } from '#pikku';
3
- import { ConsoleLogger, LocalEmailService, InMemoryQueueService, InMemoryWorkflowService, InMemoryTriggerService, InMemoryAIRunStateService, QueueWebhookService, } from '@pikku/core/services';
4
- import { KyselyAIStorageService, KyselyAIRunStateService, KyselyAgentRunService, } from '@pikku/kysely';
5
- import { stopSingletonServices } from '@pikku/core';
6
- import { pikkuState } from '@pikku/core/ecosystem';
7
- import { wireAIScorerQueueWorkers } from '@pikku/core/ai-scorer';
2
+ import { pikkuSessionlessFunc } from '#pikku/function';
3
+ import { InMemoryQueueService, QueueWebhookService } from '@pikku/core/services';
4
+ import { ConsoleLogger, LocalEmailService, InMemoryAgentRunStateService, } from '@pikku/core/services';
5
+ import { InMemoryTriggerService } from '@pikku/core/services';
6
+ import { InMemoryWorkflowService } from '@pikku/core/services';
7
+ import { KyselyAgentStorageService, KyselyAgentRunStateService, KyselyAgentRunService, } from '@pikku/kysely';
8
+ import { stopSingletonServices } from '@pikku/core/utils';
9
+ import { pikkuState } from '@pikku/core/state';
10
+ import { wireAgentScorerQueueWorkers } from '@pikku/core/agent-scorer';
8
11
  import { LocalMetaService } from '@pikku/core/services/local-meta';
9
12
  import { LocalContent, } from '@pikku/core/services/local-content';
10
13
  import { InMemorySchedulerService } from '@pikku/schedule';
@@ -12,7 +15,7 @@ import { resolveDb, createKysely, parseDatabaseUrl, } from '../db/local-db.js';
12
15
  import { loadUserBootstrap, loadUserModule } from './load-user-project.js';
13
16
  import { registerScenarioInstrumentation } from '../wirings/scenarios/register-scenario-instrumentation.js';
14
17
  import { resolveScaffoldFeature } from '../../utils/resolve-scaffold-feature.js';
15
- import { createDevAIAgentRunner } from './dev-ai-runner.js';
18
+ import { createDevAgentRunner } from './dev-agent-runner.js';
16
19
  import { resolveConsoleMount } from './serve-console.js';
17
20
  import { serverReadyLine } from '../../server/server-ready.js';
18
21
  import { createEphemeralContentSigningJWT } from '../../server/content-signing-jwt.js';
@@ -75,24 +78,24 @@ export const serve = pikkuSessionlessFunc({
75
78
  ? new LocalContent(localContentConfig, logger, contentSigningJWT)
76
79
  : undefined;
77
80
  const schedulerService = new InMemorySchedulerService();
78
- const aiStorage = kysely
79
- ? new KyselyAIStorageService(kysely)
81
+ const agentStorage = kysely
82
+ ? new KyselyAgentStorageService(kysely)
80
83
  : undefined;
81
- const aiRunState = kysely
82
- ? new KyselyAIRunStateService(kysely)
83
- : new InMemoryAIRunStateService();
84
+ const agentRunState = kysely
85
+ ? new KyselyAgentRunStateService(kysely)
86
+ : new InMemoryAgentRunStateService();
84
87
  const agentRunService = kysely
85
88
  ? new KyselyAgentRunService(kysely)
86
89
  : undefined;
87
- if (aiStorage)
88
- await aiStorage.init();
89
- if ('init' in aiRunState && typeof aiRunState.init === 'function') {
90
- await aiRunState.init();
90
+ if (agentStorage)
91
+ await agentStorage.init();
92
+ if ('init' in agentRunState && typeof agentRunState.init === 'function') {
93
+ await agentRunState.init();
91
94
  }
92
95
  const devLogger = new ConsoleLogger();
93
96
  const hasAgents = Object.keys(inspectorState.agents.agentsMeta).length > 0;
94
- const aiAgentRunner = hasAgents
95
- ? await createDevAIAgentRunner({
97
+ const agentRunner = hasAgents
98
+ ? await createDevAgentRunner({
96
99
  logger,
97
100
  projectRoot: config.rootDir,
98
101
  variables,
@@ -102,7 +105,7 @@ export const serve = pikkuSessionlessFunc({
102
105
  const serveQueueService = new InMemoryQueueService();
103
106
  const inMemoryServices = {
104
107
  logger: devLogger,
105
- ...(aiAgentRunner ? { aiAgentRunner } : {}),
108
+ ...(agentRunner ? { agentRunner } : {}),
106
109
  emailService: new LocalEmailService(),
107
110
  metaService: new LocalMetaService(pikkuDir),
108
111
  schedulerService,
@@ -111,8 +114,8 @@ export const serve = pikkuSessionlessFunc({
111
114
  workflowService,
112
115
  workflowRunService: workflowService,
113
116
  triggerService: new InMemoryTriggerService(),
114
- aiStorage,
115
- aiRunState,
117
+ agentStorage,
118
+ agentRunState,
116
119
  agentRunService,
117
120
  eventHub,
118
121
  ...(kysely ? { kysely } : {}),
@@ -128,7 +131,7 @@ export const serve = pikkuSessionlessFunc({
128
131
  };
129
132
  pikkuState(null, 'package', 'singletonServices', resolvedServices);
130
133
  resolvedServices.workflowService?.wireQueueWorkers?.();
131
- wireAIScorerQueueWorkers();
134
+ wireAgentScorerQueueWorkers();
132
135
  const { serverLifecycleFactory } = inspectorState.filesAndMethods;
133
136
  const loadLifecycle = async () => {
134
137
  if (!serverLifecycleFactory)
@@ -1,26 +1,26 @@
1
- export declare const pikkuSkillsList: import("#pikku").PikkuFunctionConfig<{
1
+ export declare const pikkuSkillsList: import("#pikku/function").PikkuFunctionConfig<{
2
2
  target?: string;
3
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
3
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
4
4
  target?: string;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
6
6
  target?: string;
7
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
8
- export declare const pikkuSkillsInstall: import("#pikku").PikkuFunctionConfig<{
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
8
+ export declare const pikkuSkillsInstall: import("#pikku/function").PikkuFunctionConfig<{
9
9
  agent?: string;
10
10
  only?: string;
11
11
  core?: boolean;
12
12
  fabric?: boolean;
13
13
  update?: boolean;
14
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
14
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
15
15
  agent?: string;
16
16
  only?: string;
17
17
  core?: boolean;
18
18
  fabric?: boolean;
19
19
  update?: boolean;
20
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
20
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
21
21
  agent?: string;
22
22
  only?: string;
23
23
  core?: boolean;
24
24
  fabric?: boolean;
25
25
  update?: boolean;
26
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
26
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;