@pikku/cli 0.12.118 → 0.12.120

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 (248) hide show
  1. package/CHANGELOG.md +205 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-WNIAg_Oa.js → abnfDiagram-N423BO3Z-Df3BCQUl.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-i2kvkWiG.js +1 -0
  4. package/console-app/assets/{architectureDiagram-T3A2C74G-DM698mgf.js → architectureDiagram-T3A2C74G-BlV2VA0B.js} +1 -1
  5. package/console-app/assets/{blockDiagram-VBNYF7ZC-DPfy9K5S.js → blockDiagram-VBNYF7ZC-BZ7GFw7a.js} +1 -1
  6. package/console-app/assets/{c4Diagram-5PPSVZJV-DhLbbBbX.js → c4Diagram-5PPSVZJV-uXLYnA16.js} +1 -1
  7. package/console-app/assets/channel-BjjIBjrV.js +1 -0
  8. package/console-app/assets/{chunk-2GRJ4B5K-C1RQ1gvs.js → chunk-2GRJ4B5K-CU6Szqvt.js} +1 -1
  9. package/console-app/assets/{chunk-4I5QYGJK-BkzSdNc_.js → chunk-4I5QYGJK-Bf8ARw9p.js} +1 -1
  10. package/console-app/assets/{chunk-5RXB4S5H-DZpBpdcU.js → chunk-5RXB4S5H-CuRjyaQR.js} +1 -1
  11. package/console-app/assets/{chunk-6Q2QTUOP-mZObxdld.js → chunk-6Q2QTUOP-DMFott3W.js} +1 -1
  12. package/console-app/assets/{chunk-7Z6QIM7H-C0HbxZEa.js → chunk-7Z6QIM7H-YJMK1J3W.js} +1 -1
  13. package/console-app/assets/{chunk-GF5L2VYU-DXPVwWqW.js → chunk-GF5L2VYU-Co4slpk_.js} +1 -1
  14. package/console-app/assets/{chunk-I66GZJ75-pVpq9ckD.js → chunk-I66GZJ75-CE6Jk-ML.js} +1 -1
  15. package/console-app/assets/{chunk-JQJVKLGR-DJQ8K4wK.js → chunk-JQJVKLGR-BjkITZJq.js} +1 -1
  16. package/console-app/assets/{chunk-KBJHAD2P-B8XuxRCO.js → chunk-KBJHAD2P-DdHZUbE2.js} +1 -1
  17. package/console-app/assets/{chunk-NSK5VX7P-cYzQU4bD.js → chunk-NSK5VX7P-BB0gp55h.js} +1 -1
  18. package/console-app/assets/{chunk-QR6OTTB3-CNoTFsqn.js → chunk-QR6OTTB3-BhAzJcX6.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-DoKRUO_N.js → chunk-RYQCIY6F-BaRFYCcu.js} +1 -1
  20. package/console-app/assets/{chunk-UBXNYLIW-BqcIoUpU.js → chunk-UBXNYLIW-DN_ayb-W.js} +1 -1
  21. package/console-app/assets/{chunk-W5SLKNZC-p0Qalbjj.js → chunk-W5SLKNZC-DQ0C1K0m.js} +1 -1
  22. package/console-app/assets/{chunk-WRU74C26-DUMn96Dr.js → chunk-WRU74C26-Dej4aDDK.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-COHoQA_g.js +1 -0
  24. package/console-app/assets/classDiagram-JCYQIIEL-BkQzFYJq.js +1 -0
  25. package/console-app/assets/classDiagram-v2-OCEON4UE-BkQzFYJq.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-BCh3BlPI.js → cose-bilkent-JH36ORCC-CaCBDIGn.js} +1 -1
  27. package/console-app/assets/{cynefin-VYW2F7L2-ZfghUZsD.js → cynefin-VYW2F7L2-DvNj3Ktd.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-MW4NZA55-DcV3QXCe.js → cynefinDiagram-MW4NZA55-2M1I4KVc.js} +1 -1
  29. package/console-app/assets/{dagre-BPFWXLBN.js → dagre-BX6AcUT6.js} +1 -1
  30. package/console-app/assets/{dagre-VZM6K2ZE-DETshBO-.js → dagre-VZM6K2ZE-CeiMExQ0.js} +1 -1
  31. package/console-app/assets/{diagram-7IWD3JNH-CsLX3P2o.js → diagram-7IWD3JNH-DFb1QCit.js} +1 -1
  32. package/console-app/assets/{diagram-B4RE2ZJO-o2zcxm5S.js → diagram-B4RE2ZJO-CcmxcWm0.js} +1 -1
  33. package/console-app/assets/{diagram-LBJQPF4R-BD2zKU21.js → diagram-LBJQPF4R-DpxWXRoq.js} +1 -1
  34. package/console-app/assets/{diagram-Q27KOJAE-DHaacyna.js → diagram-Q27KOJAE-Cu_MNubg.js} +1 -1
  35. package/console-app/assets/{diagram-UB23O5K3-pSLCMUyV.js → diagram-UB23O5K3-B-R4JZVn.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-BXEA7PRR-BDzawX3O.js → ebnfDiagram-BXEA7PRR-C26G-5vz.js} +1 -1
  37. package/console-app/assets/{erDiagram-JOGREHBK-CyYnPmbN.js → erDiagram-JOGREHBK-DJaz9wds.js} +1 -1
  38. package/console-app/assets/eventmodeling-45OFAUF4-Cge15uFd.js +1 -0
  39. package/console-app/assets/flowDiagram-UKHOOZJN-DN8OJeAP.js +1 -0
  40. package/console-app/assets/{ganttDiagram-PKOTCBZU-3fhCBbPA.js → ganttDiagram-PKOTCBZU-BmHvLxmw.js} +1 -1
  41. package/console-app/assets/{gitGraph-TEB2WS4Q-CdLRkVux.js → gitGraph-TEB2WS4Q-gjOfZX1j.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-CC1epdKw.js → gitGraphDiagram-DS77QQ5N-Cn2aQfgw.js} +1 -1
  43. package/console-app/assets/{index-BRmokG9t.js → index-Cx39I_BR.js} +184 -184
  44. package/console-app/assets/{index-GruDnAhJ.css → index-Mq-YbqNO.css} +1 -1
  45. package/console-app/assets/{info-DKCQHKI2-BJs8WkzC.js → info-DKCQHKI2-Dxvvr3Du.js} +1 -1
  46. package/console-app/assets/{infoDiagram-6WML65LV-uoOwoIeI.js → infoDiagram-6WML65LV-CU2DYprj.js} +1 -1
  47. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-vCUJhwTi.js → ishikawaDiagram-WSZJBQD7-CEIhGAXe.js} +1 -1
  48. package/console-app/assets/{journeyDiagram-NVQOT4AX-D2QcIlLG.js → journeyDiagram-NVQOT4AX-vDLEtm6u.js} +1 -1
  49. package/console-app/assets/{kanban-definition-27J2QSJJ-JwwKowmR.js → kanban-definition-27J2QSJJ-rfZdVBY0.js} +1 -1
  50. package/console-app/assets/{line-h2oRreYF.js → line-CK7XHoXo.js} +1 -1
  51. package/console-app/assets/{linear-Dz002X_a.js → linear-DeA9Np_F.js} +1 -1
  52. package/console-app/assets/{mermaid-parser.core-DTgmT0AA.js → mermaid-parser.core-Bkwm3osM.js} +3 -3
  53. package/console-app/assets/{mermaid.core-1jSEDr-j.js → mermaid.core-DvVwOMEV.js} +4 -4
  54. package/console-app/assets/{mindmap-definition-FAOFIHXS-C3Txxhj4.js → mindmap-definition-FAOFIHXS-DYMAQz7X.js} +1 -1
  55. package/console-app/assets/{packet-7NZHBO7P-BGG7zIK2.js → packet-7NZHBO7P-CtoDJZ2L.js} +1 -1
  56. package/console-app/assets/{pegDiagram-VL7TDLO6--g1r_rov.js → pegDiagram-VL7TDLO6-BRxy7Znf.js} +1 -1
  57. package/console-app/assets/{pie-RZYD4A2V-C5OepMH7.js → pie-RZYD4A2V-NEqmtqwU.js} +1 -1
  58. package/console-app/assets/{pieDiagram-7S7Q4E2Y-DGD_LzGm.js → pieDiagram-7S7Q4E2Y-eekm9APm.js} +1 -1
  59. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-CyBQQlD2.js → quadrantDiagram-CIZ2JOQS-BSew_APH.js} +1 -1
  60. package/console-app/assets/{radar-I7S5WNFK-CaBOAO95.js → radar-I7S5WNFK-BgvnQqhv.js} +1 -1
  61. package/console-app/assets/{railroad-3IZDKUUU-2aTWN4Pw.js → railroad-3IZDKUUU-DqG1o6ll.js} +1 -1
  62. package/console-app/assets/railroad-abnf-AHOZXSZD-DQHwBMhW.js +1 -0
  63. package/console-app/assets/railroad-ebnf-EBAXGLYW-cu_kDg2r.js +1 -0
  64. package/console-app/assets/railroad-peg-LSFZ7HO6-CJh8d3dM.js +1 -0
  65. package/console-app/assets/{railroadDiagram-AXF67PYL-3Nr0rlTp.js → railroadDiagram-AXF67PYL-Rb5V_7ZT.js} +1 -1
  66. package/console-app/assets/{requirementDiagram-LRYGKXZP-BN7sEwSa.js → requirementDiagram-LRYGKXZP-BONrWtQh.js} +1 -1
  67. package/console-app/assets/{sankeyDiagram-W5VNT64P-CXZR46wO.js → sankeyDiagram-W5VNT64P-CUPWhFm-.js} +1 -1
  68. package/console-app/assets/{sequenceDiagram-SI44F4Z6-DNtmdJ4U.js → sequenceDiagram-SI44F4Z6-DXwluQXT.js} +1 -1
  69. package/console-app/assets/{src-x1E3pJJ-.js → src-CyNQB37R.js} +1 -1
  70. package/console-app/assets/{stateDiagram-OKZ733FA-B_GyYdl_.js → stateDiagram-OKZ733FA-DXopCa6U.js} +1 -1
  71. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BCi_SQzZ.js +1 -0
  72. package/console-app/assets/{swimlanes-SLNWSIFB-D4N7VdF7.js → swimlanes-SLNWSIFB-C_oImvSp.js} +1 -1
  73. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-C01TBFdM.js +8 -0
  74. package/console-app/assets/{timeline-definition-Z64GVDOM-DU5rsOWQ.js → timeline-definition-Z64GVDOM-BEx4FmJK.js} +1 -1
  75. package/console-app/assets/{treeView-QDETBFTQ-DaKM_9sB.js → treeView-QDETBFTQ-DIQFLe_6.js} +1 -1
  76. package/console-app/assets/{treemap-6X3UGDF4-BabsKtZY.js → treemap-6X3UGDF4-Dz8_vGjV.js} +1 -1
  77. package/console-app/assets/{vennDiagram-T6HMQDX7-Dniftpq0.js → vennDiagram-T6HMQDX7-_sMSuxYe.js} +1 -1
  78. package/console-app/assets/{wardley-OPB4EBWU-BWffQNys.js → wardley-OPB4EBWU-BkFD9f0r.js} +1 -1
  79. package/console-app/assets/{wardleyDiagram-T6FBY63Y-CQ74fVdn.js → wardleyDiagram-T6FBY63Y-DhqBDV2O.js} +1 -1
  80. package/console-app/assets/{xychartDiagram-ELKLHX3M-D-XxbGIL.js → xychartDiagram-ELKLHX3M-D8Jav5f0.js} +1 -1
  81. package/console-app/index.html +2 -2
  82. package/dist/.pikku/addon/index.d.ts +1 -1
  83. package/dist/.pikku/addon/index.js +1 -1
  84. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  85. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  86. package/dist/.pikku/agent/index.d.ts +1 -1
  87. package/dist/.pikku/agent/index.js +1 -1
  88. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  89. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  90. package/dist/.pikku/auth/index.d.ts +1 -1
  91. package/dist/.pikku/auth/index.js +1 -1
  92. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
  93. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  94. package/dist/.pikku/channel/index.d.ts +1 -1
  95. package/dist/.pikku/channel/index.js +1 -1
  96. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  97. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  98. package/dist/.pikku/cli/index.d.ts +1 -1
  99. package/dist/.pikku/cli/index.js +1 -1
  100. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  101. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  102. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  103. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  104. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  105. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  106. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  107. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  108. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +2 -9
  109. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  110. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  111. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  112. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  113. package/dist/.pikku/error/index.d.ts +1 -1
  114. package/dist/.pikku/error/index.js +1 -1
  115. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  116. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  117. package/dist/.pikku/function/index.d.ts +1 -1
  118. package/dist/.pikku/function/index.js +1 -1
  119. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  120. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  121. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  122. package/dist/.pikku/function/pikku-functions-meta.gen.json +8 -6
  123. package/dist/.pikku/function/pikku-functions.gen.js +1 -3
  124. package/dist/.pikku/gateway/index.d.ts +1 -1
  125. package/dist/.pikku/gateway/index.js +1 -1
  126. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  127. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  128. package/dist/.pikku/http/index.d.ts +1 -1
  129. package/dist/.pikku/http/index.js +1 -1
  130. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  131. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  132. package/dist/.pikku/mcp/index.d.ts +1 -1
  133. package/dist/.pikku/mcp/index.js +1 -1
  134. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  135. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  136. package/dist/.pikku/middleware/index.d.ts +1 -1
  137. package/dist/.pikku/middleware/index.js +1 -1
  138. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  139. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  140. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  141. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  142. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  143. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  144. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  145. package/dist/.pikku/queue/index.d.ts +1 -1
  146. package/dist/.pikku/queue/index.js +1 -1
  147. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  148. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  149. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  150. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  151. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  152. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  153. package/dist/.pikku/scenarios/index.d.ts +1 -1
  154. package/dist/.pikku/scenarios/index.js +1 -1
  155. package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +11 -0
  156. package/dist/.pikku/scenarios/pikku-personas.gen.js +12 -1
  157. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  158. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  159. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  160. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  161. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  162. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  163. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  164. package/dist/.pikku/scheduler/index.d.ts +1 -1
  165. package/dist/.pikku/scheduler/index.js +1 -1
  166. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  167. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  168. package/dist/.pikku/schemas/register.gen.js +1 -1
  169. package/dist/.pikku/schemas/schemas/PersonaSyncInput.schema.json +1 -1
  170. package/dist/.pikku/scopes/index.d.ts +1 -1
  171. package/dist/.pikku/scopes/index.js +1 -1
  172. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  173. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  174. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  175. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  176. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  177. package/dist/.pikku/secrets/index.d.ts +1 -1
  178. package/dist/.pikku/secrets/index.js +1 -1
  179. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  180. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  181. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  182. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  183. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  184. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  185. package/dist/.pikku/setup/index.d.ts +1 -1
  186. package/dist/.pikku/setup/index.js +1 -1
  187. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  188. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  189. package/dist/.pikku/trigger/index.d.ts +1 -1
  190. package/dist/.pikku/trigger/index.js +1 -1
  191. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  192. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  193. package/dist/.pikku/variables/index.d.ts +1 -1
  194. package/dist/.pikku/variables/index.js +1 -1
  195. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  196. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  197. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  198. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  199. package/dist/.pikku/workflow/index.d.ts +1 -1
  200. package/dist/.pikku/workflow/index.js +1 -1
  201. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  202. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  203. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  204. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  205. package/dist/bin/pikku-bin.mjs +2 -2
  206. package/dist/src/cli.wiring.js +1 -9
  207. package/dist/src/fabric/lib/git.js +31 -1
  208. package/dist/src/functions/commands/dev.js +2 -0
  209. package/dist/src/functions/commands/persona-sync.d.ts +14 -22
  210. package/dist/src/functions/commands/persona-sync.js +29 -107
  211. package/dist/src/functions/commands/serve.js +2 -0
  212. package/dist/src/functions/validate/auth-plugin-checks.d.ts +16 -0
  213. package/dist/src/functions/validate/auth-plugin-checks.js +165 -0
  214. package/dist/src/functions/validate/persona-checks.js +1 -1
  215. package/dist/src/functions/validate/shared-checks.js +12 -0
  216. package/dist/src/functions/validate/websocket-deps-checks.d.ts +30 -0
  217. package/dist/src/functions/validate/websocket-deps-checks.js +42 -0
  218. package/dist/src/functions/wirings/personas/serialize-personas-secrets.d.ts +1 -1
  219. package/dist/src/functions/wirings/personas/serialize-personas-secrets.js +1 -1
  220. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +10 -0
  221. package/dist/src/functions/wirings/scopes/pikku-command-scopes.js +20 -3
  222. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +72 -26
  223. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +1 -1
  224. package/dist/src/functions/wirings/workflow/serialize-personas.d.ts +2 -1
  225. package/dist/src/functions/wirings/workflow/serialize-personas.js +20 -1
  226. package/dist/src/server/actor-sign-in.d.ts +5 -0
  227. package/dist/src/server/actor-sign-in.js +27 -0
  228. package/dist/src/server/node-server-runner.d.ts +11 -0
  229. package/dist/src/server/node-server-runner.js +33 -8
  230. package/dist/src/services.js +3 -1
  231. package/dist/src/utils/resolve-from-project.d.ts +29 -0
  232. package/dist/src/utils/resolve-from-project.js +45 -0
  233. package/dist/tsconfig.tsbuildinfo +1 -1
  234. package/package.json +18 -10
  235. package/snippets.json +1 -1
  236. package/surface.json +3 -3
  237. package/console-app/assets/architecture-TIHT7OUA-CIT-Nug2.js +0 -1
  238. package/console-app/assets/channel-DQC6cL1c.js +0 -1
  239. package/console-app/assets/chunk-XXDRQBXY-Dgz5VbWO.js +0 -1
  240. package/console-app/assets/classDiagram-JCYQIIEL-1ASFocNV.js +0 -1
  241. package/console-app/assets/classDiagram-v2-OCEON4UE-1ASFocNV.js +0 -1
  242. package/console-app/assets/eventmodeling-45OFAUF4-BYJ0A5k-.js +0 -1
  243. package/console-app/assets/flowDiagram-UKHOOZJN-CVn87uiP.js +0 -1
  244. package/console-app/assets/railroad-abnf-AHOZXSZD-TU7k5gB_.js +0 -1
  245. package/console-app/assets/railroad-ebnf-EBAXGLYW-DbArPBkM.js +0 -1
  246. package/console-app/assets/railroad-peg-LSFZ7HO6-TzB93z4K.js +0 -1
  247. package/console-app/assets/stateDiagram-v2-UEYNNEHI-D7V_HITc.js +0 -1
  248. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-C4XcIHKT.js +0 -8
package/CHANGELOG.md CHANGED
@@ -1,3 +1,208 @@
1
+ ## 0.12.120
2
+
3
+ ### Patch Changes
4
+
5
+ - 29309e2: Send what a persona currently declares alongside the schedule row that is actually running it. A cadence is enabled once and then outlives the declaration it was written from: someone edits `personas.ts`, redeploys, and the row keeps running last month's goals and disposition with nothing anywhere to say so. `listVirtualUserSchedules` now resolves each row's persona out of `personaConfigs` and returns its goals and disposition as `declared`, so the difference is readable rather than inferred.
6
+
7
+ Which fields differ is deliberately not computed here. It is a question about how to render two values, and a codegen step that answered it would fix the answer for every client — including the ones that want to show both sides rather than a flag.
8
+
9
+ - 2caea1d: Make the virtual user scaffold typecheck in the project it is generated into.
10
+
11
+ Three shapes in `virtual-user.gen.ts` were written against what the scaffold
12
+ knows rather than what an application actually has, and every one of them was
13
+ an error the moment a real project turned `scaffold.virtualUser` on:
14
+
15
+ - `startVirtualUserRun` asked for `config: { nodeEnv?: string }`. An
16
+ application's `Config` is its own interface and need not declare `nodeEnv` at
17
+ all — and a target type whose properties are all optional shares none with
18
+ such a config, so TypeScript rejected the whole call. It takes `unknown` and
19
+ reads `nodeEnv` off it.
20
+ - It also asked for `rpc.invoke(name: string, …)`. A project's generated
21
+ `invoke` is generic over its own map's keys and `string` is not one of them.
22
+ The parameter now names the one function the scaffold dispatches.
23
+ - `listVirtualUserSchedules` passed `input: null`, which is not one of the two
24
+ things an input may be. The field is omitted.
25
+
26
+ It also signed in at the wrong door. `createPersonas` was called without a
27
+ sign-in or RPC path, so a run against an application that mounts auth anywhere
28
+ but the root — `/api/auth` is the usual place — signed in against a 404 and
29
+ spent its whole budget reasoning about why every call failed. It now reads
30
+ `SCENARIO_SIGN_IN_PATH` and `SCENARIO_RPC_PATH`, the same two variables a
31
+ scenario run reads, because a virtual user goes through exactly the doors a
32
+ scenario does.
33
+
34
+ ## 0.12.119
35
+
36
+ ### Patch Changes
37
+
38
+ - c7b9e8e: Make `@pikku/ws` and `ws` optional peer dependencies instead of dependencies, and resolve them from the project rather than from the CLI.
39
+
40
+ `@pikku/ws` peers on a `@pikku/core` range, so a copy sitting in the CLI's own tree gets paired with the CLI's core rather than the project's — the skew surfaced as `Cannot find module '@pikku/core/ecosystem'` from a package the project never imported. As an optional peer resolved against the project's `package.json`, there is one core in play, and a Bun project (which serves WebSockets natively through `@pikku/bun-server`) no longer installs a Node WebSocket stack it cannot use.
41
+
42
+ `pikku dev` and `pikku serve` under Node now start over plain HTTP when the packages are absent, logging why, and `pikku validate` reports `websocket-deps-missing` as an error for a project that wires channels without them.
43
+
44
+ - 0b1bf53: `pikku dev` turns actor quick login on and mints its secret; `pikku serve` never
45
+ does
46
+
47
+ Which command is running is the thing that knows whether "sign in as <persona>"
48
+ should work, so the two server commands now say so rather than leaving it to
49
+ whatever the environment happens to contain.
50
+
51
+ `pikku dev` sets `PIKKU_DEV_ACTOR_SIGN_IN` before it loads the project and, if no
52
+ actor secret is set, mints a cryptographically random one for the run under both
53
+ `SCENARIO_ACTOR_SECRET` and the `VITE_`-prefixed copy the dev frontend can
54
+ actually read — only prefixed variables reach `import.meta.env`, and the switcher
55
+ runs in the browser. Requiring every contributor to hand-manage a secret for a
56
+ server that is trusted with the database anyway bought nothing and cost setup
57
+ friction on every machine. An explicitly-set secret always wins: a project
58
+ pointing its scenario runs and its dev server at one value has to keep that
59
+ value. The minted one lives only in this process's environment, so it is gone
60
+ when the server stops and yesterday's cannot sign anything in today. Both cases
61
+ are logged, naming where the secret came from — the previous silence is what made
62
+ a missing control unanswerable from outside the container. Where the two names
63
+ disagree the command says so instead of picking one quietly, because that
64
+ disagreement presents as "the switcher signs in nowhere".
65
+
66
+ `pikku serve` is the production server command and does the opposite: it clears
67
+ the marker outright, so an inherited environment cannot switch passwordless
68
+ sign-in on behind the operator, and it warns when it had something to clear. What
69
+ it deliberately leaves alone is `PIKKU_ALLOW_ACTOR_SIGN_IN` — scenario suites have
70
+ to be able to run against a deployed stage, and that opt-in is the supported way
71
+ to say so.
72
+
73
+ `pikku validate`'s fix hint for a project with personas but no actor sign-in no
74
+ longer tells people to control the endpoint by withholding the secret, which is
75
+ no longer how it is controlled, and the `pikku-better-auth` skill documents the
76
+ gate, the two escape hatches, and the two distinct refusals.
77
+
78
+ - 0b1bf53: Stop the fabric git probes answering about the wrong repository. `git push` from a worktree exports `GIT_DIR` to every hook, and a hook's children inherit it — `GIT_DIR` outranks the process's directory, so `isGitRepo`/`isTracked` and the deploy safety checks reported the hook's repository no matter which `cwd` they were given. `fabric validate` run from a pre-push hook then failed `fabric-config-untracked` against files it never looked at. Each probe picks its repository by `cwd`, so the inherited pointer is dropped along with the other repository-location variables.
79
+ - 0b1bf53: Provision the app a persona signs into as a grant, not just a declaration.
80
+
81
+ `CorePersona.app` decided where a browser run navigated and nothing else, so
82
+ "which frontend may this person reach" was a fact only the test runner held and
83
+ the deployment could not enforce. It is now a scope: the CLI derives an `app`
84
+ tree from the apps the personas name, and `provisionPersonas` grants
85
+ `app:<name>` alongside the roles.
86
+
87
+ Carried as a scope rather than a per-app column so it resolves at the session
88
+ boundary like every other grant — revocable at runtime from the console, not
89
+ inherited by a restricted API key, and one query for which apps a user may
90
+ reach instead of a migration per frontend. A single-frontend product declares
91
+ nothing and is unaffected.
92
+
93
+ `app` is reserved as a scope root: a `defineScope` call that also declares it
94
+ now fails the build rather than shadowing the derived tree.
95
+
96
+ - 0b1bf53: Personas are provisioned by the deployment, not by the CLI
97
+
98
+ Signing a persona in was what created their account: the actor endpoint upserted
99
+ an `actor: true` row on first sign-in and nothing else did. That is now the wrong
100
+ way round — creating an actor row is a power the endpoint only has under
101
+ `pikku dev`, so a stage whose sign-in is shut could not be provisioned at all,
102
+ and one whose sign-in is open would have had to accept identity minting as the
103
+ price of running scenarios.
104
+
105
+ The obvious fix was to have `pikku persona sync <environment>` write the rows
106
+ itself, and that fix is wrong in a way worth naming: the CLI has no connection to
107
+ a deployed environment's database. It resolves one from the local project config,
108
+ so `pikku persona sync staging` would read staging's API and write whatever
109
+ database the checkout happens to point at — right for a developer's own stage,
110
+ silently wrong everywhere else.
111
+
112
+ So provisioning happens where the database already is. `@pikku/better-auth`
113
+ exports `provisionPersonas`, which an app calls from its server lifecycle:
114
+
115
+ ```ts
116
+ import { provisionPersonas } from '@pikku/better-auth'
117
+ import {
118
+ personaConfigs,
119
+ personaEnvironments,
120
+ } from '#pikku/pikku-personas.gen.js'
121
+
122
+ await provisionPersonas(singletonServices, {
123
+ personas: personaConfigs,
124
+ environments: personaEnvironments,
125
+ })
126
+ ```
127
+
128
+ It creates each missing account through better-auth's own adapter, applies the
129
+ roles the persona declares, and is additive — it never revokes. A deploy carries
130
+ its personas with it, and no credential has to travel to reach a database.
131
+
132
+ Two properties carry over, and one is new:
133
+
134
+ - **A real user's address is refused**, rather than being granted the persona's
135
+ roles. If a row exists for that address without `actor`, provisioning stops and
136
+ names the persona, because the alternative is silently handing somebody else's
137
+ account an `admin` grant.
138
+ - **The environment rule still decides who is provisioned.** The same
139
+ `personaEnvironmentRefusal` that decides who may _run_ against an environment
140
+ decides who gets an account in it — two rules would drift, and the one that
141
+ drifted would leave an account standing in production for a persona the engine
142
+ then refuses to sign in. The generated personas file now carries
143
+ `personaEnvironments` so the rule can be applied inside the bundle; only the
144
+ `production` flag is projected into it, because an environment's `apiUrl` and
145
+ paths belong to the machine running `pikku scenario`.
146
+ - **A persona you delete leaves an account behind, and now you hear about it.**
147
+ Additive provisioning has a hole: the account keeps every role it was granted,
148
+ and the actor endpoint authenticates on the `actor` column alone without
149
+ consulting the declaration, so an `admin` persona nobody declares any more is
150
+ still a live way in wherever that endpoint is open. Provisioning warns about
151
+ every actor account no declared persona claims; `orphans: 'ban'` shuts them
152
+ through the same `banned` column the console's ban RPC writes, revoking their
153
+ sessions and leaving the row, its grants and its history intact — and lifting
154
+ the ban again by itself if the persona comes back. `report` stays the default
155
+ because a rolling deploy provisions from the new declaration while the old
156
+ replica is still serving the previous one.
157
+ - **`pikku persona sync <environment>` now reports rather than writes.** It
158
+ prints who the environment will provision, with which roles, and why anyone was
159
+ skipped — which is what tells you _before_ a deploy whether the accounts you
160
+ expect will appear. It needs no `SCENARIO_ACTOR_SECRET` and no database.
161
+
162
+ - 0b1bf53: Refuse better-auth's `admin()` plugin, and point at `ban()`.
163
+
164
+ `admin()` authorizes its endpoints against a `user.role` column while pikku
165
+ authorizes on scopes, so wiring it means running two authorization models and
166
+ projecting one onto the other — coarsely, since any single `admin:users:*` scope
167
+ has to project to `role='admin'` and thereby unlocks every one of its endpoints
168
+ underneath. Pikku dropped that projection when user management moved to
169
+ `@pikku/addon-admin`'s scoped RPCs, so nothing reads the column any more.
170
+
171
+ The inspector now throws when `admin()` appears in a `betterAuth({ plugins })`
172
+ array, naming the replacement:
173
+
174
+ ```ts
175
+ import { ban } from '@pikku/better-auth'
176
+ betterAuth({ plugins: [ban()] })
177
+ ```
178
+
179
+ `ban()` keeps the one capability `admin()` had that pikku cannot supply from
180
+ outside better-auth: the `banned`/`banReason`/`banExpires` columns and the
181
+ session hook that refuses a banned user a session.
182
+
183
+ `pikku validate` reports the same thing without a prebuild, and additionally
184
+ warns about the quieter half of the migration — an app that dropped `admin()`
185
+ and never wired `ban()`, which keeps its ban columns and its ban UI while
186
+ silently enforcing nothing.
187
+
188
+ Both resolve the plugin's provenance before applying the policy: the entry has
189
+ to be better-auth's `admin`, imported from `better-auth/plugins` — by name, by
190
+ alias or through a namespace — and actually present in the `plugins` array. A
191
+ project's own helper called `admin` passes, and an import left behind after the
192
+ call was removed configures nothing.
193
+
194
+ - Updated dependencies [0b1bf53]
195
+ - Updated dependencies [0b1bf53]
196
+ - Updated dependencies [0b1bf53]
197
+ - Updated dependencies [8519a73]
198
+ - Updated dependencies [0b1bf53]
199
+ - Updated dependencies [0b1bf53]
200
+ - Updated dependencies [0b1bf53]
201
+ - @pikku/better-auth@0.12.30
202
+ - @pikku/skills@0.12.16
203
+ - @pikku/core@0.12.94
204
+ - @pikku/inspector@0.12.64
205
+
1
206
  ## 0.12.118
2
207
 
3
208
  ### Patch Changes
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-DTgmT0AA.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-x1E3pJJ-.js";import"./chunk-I66GZJ75-pVpq9ckD.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-mZObxdld.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-1jSEDr-j.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{m as e,t}from"./mermaid-parser.core-Bkwm3osM.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-DMFott3W.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-DvVwOMEV.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
@@ -0,0 +1 @@
1
+ import"./chunk-KEIR6QF5-BICK3FdT.js";import{M as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createArchitectureServices};