@pikku/cli 0.12.110 → 0.12.112

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 (252) hide show
  1. package/CHANGELOG.md +271 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-Bz2Ycfpe.js → abnfDiagram-N423BO3Z-Bltf5dmS.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-DgRqRaqo.js +1 -0
  4. package/console-app/assets/{architectureDiagram-T3A2C74G-CvAkxhy0.js → architectureDiagram-T3A2C74G-BTtx6R7-.js} +1 -1
  5. package/console-app/assets/{blockDiagram-VBNYF7ZC-CuVOo2PB.js → blockDiagram-VBNYF7ZC-DgeTIOaM.js} +1 -1
  6. package/console-app/assets/{c4Diagram-5PPSVZJV-4Vg8SxCa.js → c4Diagram-5PPSVZJV-CaswnNob.js} +1 -1
  7. package/console-app/assets/channel-37lNznWk.js +1 -0
  8. package/console-app/assets/{chunk-2GRJ4B5K-CKKR4_dC.js → chunk-2GRJ4B5K-OnpnkpQT.js} +1 -1
  9. package/console-app/assets/{chunk-4I5QYGJK-C-m_kVjm.js → chunk-4I5QYGJK-CWmfNXFr.js} +1 -1
  10. package/console-app/assets/{chunk-5RXB4S5H-CyUGtd0h.js → chunk-5RXB4S5H-M8QmKeuk.js} +1 -1
  11. package/console-app/assets/{chunk-6Q2QTUOP-BuzItInf.js → chunk-6Q2QTUOP-C_h5lS68.js} +1 -1
  12. package/console-app/assets/{chunk-7Z6QIM7H-BGiBPuWt.js → chunk-7Z6QIM7H-DSnVb09k.js} +1 -1
  13. package/console-app/assets/{chunk-GF5L2VYU-D8jaliB9.js → chunk-GF5L2VYU-BkX038sq.js} +1 -1
  14. package/console-app/assets/{chunk-I66GZJ75-C-Lq_UXl.js → chunk-I66GZJ75-b3yMIljX.js} +1 -1
  15. package/console-app/assets/{chunk-JQJVKLGR-D7viK-tf.js → chunk-JQJVKLGR-Bihcz4nv.js} +1 -1
  16. package/console-app/assets/{chunk-KBJHAD2P-BS9N9gG4.js → chunk-KBJHAD2P-CS7eflbk.js} +1 -1
  17. package/console-app/assets/{chunk-NSK5VX7P-Fi_H0vaS.js → chunk-NSK5VX7P-CfigFGDQ.js} +1 -1
  18. package/console-app/assets/{chunk-QR6OTTB3-BJdg-tcL.js → chunk-QR6OTTB3-BBy8NfTW.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-CVbGA6YZ.js → chunk-RYQCIY6F-BCfZVQef.js} +1 -1
  20. package/console-app/assets/{chunk-UBXNYLIW-BF-sAqEK.js → chunk-UBXNYLIW-DkMKDHW4.js} +1 -1
  21. package/console-app/assets/{chunk-W5SLKNZC-CXrJJ0BX.js → chunk-W5SLKNZC-BSLytTSJ.js} +1 -1
  22. package/console-app/assets/{chunk-WRU74C26-CGzysGBy.js → chunk-WRU74C26-Dic7ZP8H.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-B1prMCvW.js +1 -0
  24. package/console-app/assets/classDiagram-JCYQIIEL-BDCX9ZLm.js +1 -0
  25. package/console-app/assets/classDiagram-v2-OCEON4UE-BDCX9ZLm.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-BvFZIDHb.js → cose-bilkent-JH36ORCC-CEpWcE3M.js} +1 -1
  27. package/console-app/assets/{cynefin-VYW2F7L2-DRQ8xGmN.js → cynefin-VYW2F7L2-irPiPhgz.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-MW4NZA55-BwxQ4C1z.js → cynefinDiagram-MW4NZA55-CIkqQ912.js} +1 -1
  29. package/console-app/assets/{dagre-J22zmNeE.js → dagre-FZyyw3H3.js} +1 -1
  30. package/console-app/assets/{dagre-VZM6K2ZE-DPtUyvjD.js → dagre-VZM6K2ZE-Dxnnu7Rh.js} +1 -1
  31. package/console-app/assets/{diagram-7IWD3JNH-DGAzJ2Ln.js → diagram-7IWD3JNH-DaT47sVs.js} +1 -1
  32. package/console-app/assets/{diagram-B4RE2ZJO-D14cIfto.js → diagram-B4RE2ZJO-Dmht03tx.js} +1 -1
  33. package/console-app/assets/{diagram-LBJQPF4R-CUscJ_pO.js → diagram-LBJQPF4R-B--jwILh.js} +1 -1
  34. package/console-app/assets/{diagram-Q27KOJAE-CehBHMt3.js → diagram-Q27KOJAE-D9H0euUr.js} +1 -1
  35. package/console-app/assets/{diagram-UB23O5K3-BvazI_qH.js → diagram-UB23O5K3-DloUQ8tO.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-BXEA7PRR-CBZPYFwZ.js → ebnfDiagram-BXEA7PRR-gaOXzNBU.js} +1 -1
  37. package/console-app/assets/{erDiagram-JOGREHBK-BN3FevvT.js → erDiagram-JOGREHBK-3X9eTLsh.js} +1 -1
  38. package/console-app/assets/eventmodeling-45OFAUF4-BarrKD55.js +1 -0
  39. package/console-app/assets/flowDiagram-UKHOOZJN-B6RiRjcD.js +1 -0
  40. package/console-app/assets/{ganttDiagram-PKOTCBZU-03mWH2kB.js → ganttDiagram-PKOTCBZU-khAFwSBy.js} +1 -1
  41. package/console-app/assets/{gitGraph-TEB2WS4Q-By2486wn.js → gitGraph-TEB2WS4Q-Bb7uENmk.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-CCzKPRBJ.js → gitGraphDiagram-DS77QQ5N-OkSBM0h0.js} +1 -1
  43. package/console-app/assets/{index-snBzz_U8.js → index-Bn1BoT3w.js} +184 -184
  44. package/console-app/assets/{info-DKCQHKI2-C_vsavqC.js → info-DKCQHKI2-BH5dbX2B.js} +1 -1
  45. package/console-app/assets/{infoDiagram-6WML65LV-BKvU8du7.js → infoDiagram-6WML65LV-IbUl8J2C.js} +1 -1
  46. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CnF0qm0n.js → ishikawaDiagram-WSZJBQD7-CX0gA3de.js} +1 -1
  47. package/console-app/assets/{journeyDiagram-NVQOT4AX-DxKe9OZ7.js → journeyDiagram-NVQOT4AX--k2etXu8.js} +1 -1
  48. package/console-app/assets/{kanban-definition-27J2QSJJ-CB8lgPxU.js → kanban-definition-27J2QSJJ-D1FvtPpN.js} +1 -1
  49. package/console-app/assets/{line-DFNLso1I.js → line-JLMY_DDK.js} +1 -1
  50. package/console-app/assets/{linear-D1cspVtk.js → linear-CSvLB3cd.js} +1 -1
  51. package/console-app/assets/{mermaid-parser.core-BtmN233C.js → mermaid-parser.core-CwwjcAjz.js} +3 -3
  52. package/console-app/assets/{mermaid.core-37H5_HoB.js → mermaid.core-hmS_M4K5.js} +4 -4
  53. package/console-app/assets/{mindmap-definition-FAOFIHXS-Czf82JOB.js → mindmap-definition-FAOFIHXS-rTDa_CTp.js} +1 -1
  54. package/console-app/assets/{packet-7NZHBO7P-CErYxAQM.js → packet-7NZHBO7P-DBUJcYfI.js} +1 -1
  55. package/console-app/assets/{pegDiagram-VL7TDLO6-CRKX6HOt.js → pegDiagram-VL7TDLO6-D42PxXnS.js} +1 -1
  56. package/console-app/assets/{pie-RZYD4A2V-YmMmh6Nq.js → pie-RZYD4A2V-dM0uFAE4.js} +1 -1
  57. package/console-app/assets/{pieDiagram-7S7Q4E2Y-Cot0Fu5q.js → pieDiagram-7S7Q4E2Y-wCln1ucl.js} +1 -1
  58. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-DPEonVYT.js → quadrantDiagram-CIZ2JOQS-DrRwS1g5.js} +1 -1
  59. package/console-app/assets/{radar-I7S5WNFK-Pf_KiQJM.js → radar-I7S5WNFK-BW0V-EGR.js} +1 -1
  60. package/console-app/assets/{railroad-3IZDKUUU-BYoOMoQY.js → railroad-3IZDKUUU-FiTHaDbb.js} +1 -1
  61. package/console-app/assets/railroad-abnf-AHOZXSZD-lmUjOixE.js +1 -0
  62. package/console-app/assets/railroad-ebnf-EBAXGLYW-ZjdA7OHp.js +1 -0
  63. package/console-app/assets/railroad-peg-LSFZ7HO6-VHSlvwI8.js +1 -0
  64. package/console-app/assets/{railroadDiagram-AXF67PYL-Di8N9tHD.js → railroadDiagram-AXF67PYL-9ef7j5U7.js} +1 -1
  65. package/console-app/assets/{requirementDiagram-LRYGKXZP-2yZZ753q.js → requirementDiagram-LRYGKXZP-Cu90DbEZ.js} +1 -1
  66. package/console-app/assets/{sankeyDiagram-W5VNT64P-BwYA-xq1.js → sankeyDiagram-W5VNT64P-Bhxmyxaw.js} +1 -1
  67. package/console-app/assets/{sequenceDiagram-SI44F4Z6-odIxlx8J.js → sequenceDiagram-SI44F4Z6-CBsbRTz8.js} +1 -1
  68. package/console-app/assets/{src-CxJwpjvz.js → src-BR8qR3lM.js} +1 -1
  69. package/console-app/assets/{stateDiagram-OKZ733FA-Du2S0qU9.js → stateDiagram-OKZ733FA-Dr0frETZ.js} +1 -1
  70. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BSXWhCvf.js +1 -0
  71. package/console-app/assets/{swimlanes-SLNWSIFB-JZ3swzI2.js → swimlanes-SLNWSIFB-CXMjvd_a.js} +1 -1
  72. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BUdsPDKC.js +8 -0
  73. package/console-app/assets/{timeline-definition-Z64GVDOM-CsppAEWi.js → timeline-definition-Z64GVDOM-DpmEZPV0.js} +1 -1
  74. package/console-app/assets/{treeView-QDETBFTQ-DkkO8peQ.js → treeView-QDETBFTQ-CjmuinMk.js} +1 -1
  75. package/console-app/assets/{treemap-6X3UGDF4-hjLkPCJI.js → treemap-6X3UGDF4-BP_fU6Cn.js} +1 -1
  76. package/console-app/assets/{vennDiagram-T6HMQDX7-BOfgM1xp.js → vennDiagram-T6HMQDX7-DgZS7iuW.js} +1 -1
  77. package/console-app/assets/{wardley-OPB4EBWU-C5ZtGfBa.js → wardley-OPB4EBWU-CgMPoouN.js} +1 -1
  78. package/console-app/assets/{wardleyDiagram-T6FBY63Y-ymf3Vm6A.js → wardleyDiagram-T6FBY63Y-6y-xxP1R.js} +1 -1
  79. package/console-app/assets/{xychartDiagram-ELKLHX3M-DdxXIoKz.js → xychartDiagram-ELKLHX3M-DOeIQjYI.js} +1 -1
  80. package/console-app/index.html +1 -1
  81. package/dist/.pikku/addon/index.d.ts +1 -1
  82. package/dist/.pikku/addon/index.js +1 -1
  83. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  84. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  85. package/dist/.pikku/agent/index.d.ts +1 -1
  86. package/dist/.pikku/agent/index.js +1 -1
  87. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  88. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  89. package/dist/.pikku/auth/index.d.ts +1 -1
  90. package/dist/.pikku/auth/index.js +1 -1
  91. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +9 -2
  92. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  93. package/dist/.pikku/channel/index.d.ts +1 -1
  94. package/dist/.pikku/channel/index.js +1 -1
  95. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  96. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  97. package/dist/.pikku/cli/index.d.ts +1 -1
  98. package/dist/.pikku/cli/index.js +1 -1
  99. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  100. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  101. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  102. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  103. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  104. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  105. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  106. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  107. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  108. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  109. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  110. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  111. package/dist/.pikku/error/index.d.ts +1 -1
  112. package/dist/.pikku/error/index.js +1 -1
  113. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  114. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  115. package/dist/.pikku/function/index.d.ts +1 -1
  116. package/dist/.pikku/function/index.js +1 -1
  117. package/dist/.pikku/function/pikku-function-types.gen.d.ts +12 -2
  118. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  119. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  120. package/dist/.pikku/function/pikku-functions-meta.gen.json +3 -3
  121. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  122. package/dist/.pikku/gateway/index.d.ts +1 -1
  123. package/dist/.pikku/gateway/index.js +1 -1
  124. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  125. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  126. package/dist/.pikku/http/index.d.ts +1 -1
  127. package/dist/.pikku/http/index.js +1 -1
  128. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  129. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  130. package/dist/.pikku/mcp/index.d.ts +1 -1
  131. package/dist/.pikku/mcp/index.js +1 -1
  132. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  133. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  134. package/dist/.pikku/middleware/index.d.ts +1 -1
  135. package/dist/.pikku/middleware/index.js +1 -1
  136. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +9 -2
  137. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  138. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  139. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  140. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  141. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  142. package/dist/.pikku/pikku-services.gen.d.ts +2 -1
  143. package/dist/.pikku/pikku-services.gen.js +1 -0
  144. package/dist/.pikku/queue/index.d.ts +1 -1
  145. package/dist/.pikku/queue/index.js +1 -1
  146. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  147. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  148. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  149. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  150. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  151. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  152. package/dist/.pikku/scenarios/index.d.ts +1 -1
  153. package/dist/.pikku/scenarios/index.js +1 -1
  154. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  155. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  156. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  157. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  158. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  159. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  160. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  161. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  162. package/dist/.pikku/scheduler/index.d.ts +1 -1
  163. package/dist/.pikku/scheduler/index.js +1 -1
  164. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  165. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  166. package/dist/.pikku/schemas/register.gen.js +1 -1
  167. package/dist/.pikku/scopes/index.d.ts +1 -1
  168. package/dist/.pikku/scopes/index.js +1 -1
  169. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  170. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  171. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  172. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  173. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  174. package/dist/.pikku/secrets/index.d.ts +1 -1
  175. package/dist/.pikku/secrets/index.js +1 -1
  176. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  177. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  178. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  179. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  180. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  181. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  182. package/dist/.pikku/setup/index.d.ts +1 -1
  183. package/dist/.pikku/setup/index.js +1 -1
  184. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  185. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  186. package/dist/.pikku/trigger/index.d.ts +1 -1
  187. package/dist/.pikku/trigger/index.js +1 -1
  188. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  189. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  190. package/dist/.pikku/variables/index.d.ts +1 -1
  191. package/dist/.pikku/variables/index.js +1 -1
  192. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  193. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  194. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  195. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  196. package/dist/.pikku/workflow/index.d.ts +1 -1
  197. package/dist/.pikku/workflow/index.js +1 -1
  198. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  199. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  200. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  201. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  202. package/dist/bin/pikku-bin.mjs +2 -2
  203. package/dist/src/deploy/analyzer/analyzer.d.ts +1 -1
  204. package/dist/src/deploy/analyzer/index.d.ts +0 -1
  205. package/dist/src/deploy/build-pipeline.d.ts +2 -2
  206. package/dist/src/deploy/bundler/types.d.ts +1 -1
  207. package/dist/src/deploy/codegen/per-unit-codegen.d.ts +1 -1
  208. package/dist/src/deploy/plan/executor.d.ts +1 -1
  209. package/dist/src/deploy/plan/planner.d.ts +1 -1
  210. package/dist/src/deploy/plan/provider.d.ts +1 -1
  211. package/dist/src/deploy/server-entry.d.ts +1 -1
  212. package/dist/src/fabric/fabric-commands.d.ts +3 -3
  213. package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
  214. package/dist/src/functions/commands/db-generate.js +1 -1
  215. package/dist/src/functions/commands/deploy-apply.d.ts +1 -1
  216. package/dist/src/functions/commands/new-addon.js +14 -12
  217. package/dist/src/functions/commands/persona.js +6 -0
  218. package/dist/src/functions/db/better-auth-schema.js +5 -0
  219. package/dist/src/functions/db/local-db.d.ts +11 -3
  220. package/dist/src/functions/db/local-db.js +17 -8
  221. package/dist/src/functions/wirings/auth/serialize-auth-guards.d.ts +1 -1
  222. package/dist/src/functions/wirings/auth/serialize-auth-guards.js +9 -2
  223. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
  224. package/dist/src/functions/wirings/functions/serialize-function-types.js +11 -1
  225. package/dist/src/functions/wirings/middleware/serialize-middleware-types.d.ts +1 -1
  226. package/dist/src/functions/wirings/middleware/serialize-middleware-types.js +10 -2
  227. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +485 -102
  228. package/dist/src/utils/pikku-cli-config-error.d.ts +9 -0
  229. package/dist/src/utils/pikku-cli-config-error.js +9 -0
  230. package/dist/src/utils/pikku-cli-config.d.ts +2 -3
  231. package/dist/src/utils/pikku-cli-config.js +2 -3
  232. package/dist/src/utils/resolve-scaffold-feature.d.ts +6 -0
  233. package/dist/src/utils/resolve-scaffold-feature.js +22 -2
  234. package/dist/tsconfig.tsbuildinfo +1 -1
  235. package/package.json +8 -7
  236. package/surface.json +4 -26
  237. package/console-app/assets/architecture-TIHT7OUA-5QhJKy4P.js +0 -1
  238. package/console-app/assets/channel-DoE3nnYB.js +0 -1
  239. package/console-app/assets/chunk-XXDRQBXY-BDALKVU4.js +0 -1
  240. package/console-app/assets/classDiagram-JCYQIIEL-BgrrHQtN.js +0 -1
  241. package/console-app/assets/classDiagram-v2-OCEON4UE-BgrrHQtN.js +0 -1
  242. package/console-app/assets/eventmodeling-45OFAUF4-D2SxzJUl.js +0 -1
  243. package/console-app/assets/flowDiagram-UKHOOZJN-CQXuJ0z2.js +0 -1
  244. package/console-app/assets/railroad-abnf-AHOZXSZD-CCRXsRRD.js +0 -1
  245. package/console-app/assets/railroad-ebnf-EBAXGLYW-DVRSVgn8.js +0 -1
  246. package/console-app/assets/railroad-peg-LSFZ7HO6-COUBoNH3.js +0 -1
  247. package/console-app/assets/stateDiagram-v2-UEYNNEHI-CTXOGDRR.js +0 -1
  248. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-DRrggQgK.js +0 -8
  249. package/dist/src/deploy/analyzer/manifest.d.ts +0 -170
  250. package/dist/src/deploy/analyzer/manifest.js +0 -8
  251. package/dist/src/deploy/provider-adapter.d.ts +0 -176
  252. package/dist/src/deploy/provider-adapter.js +0 -10
package/CHANGELOG.md CHANGED
@@ -1,3 +1,274 @@
1
+ ## 0.12.112
2
+
3
+ ### Patch Changes
4
+
5
+ - 05e47cf: fix(persona): give `persona run` a singleton agent runner, so `talkTo` works
6
+
7
+ `pikku persona run` built a dev agent runner and handed it to the virtual-user
8
+ engine as `llm`, which covers the persona's own thinking and nothing else. The
9
+ `talkTo` tool does not go through that handle: `HttpPersona.converse` asks
10
+ `getSingletonServices()` for an `agentRunner`, and the CLI had never put one
11
+ there. So a persona whose scopes reached one of the app's agents threw
12
+ `AIProviderNotConfiguredError` on its first turn and took the whole run with
13
+ it, while the same project ran fine as a persona holding no agent scopes —
14
+ which reads as the app being broken for its privileged users rather than as a
15
+ missing wire in the runner.
16
+
17
+ The runner is now registered on the singleton services before the run starts.
18
+ Nothing else about the run changes; a project with no agents behaves exactly as
19
+ it did.
20
+
21
+ - 05e47cf: feat(virtual-user): make a run's history readable
22
+
23
+ There was no way to ask what the virtual users had been doing. The scaffold
24
+ generated a way to start a run and a way to read one back by id, and
25
+ `VirtualUserRunStore.list()` — which takes a persona filter — had no caller at
26
+ all. The console's Virtual Users screen was built entirely from static meta, so
27
+ it could say who a persona was and what they could reach, and nothing about
28
+ whether anybody had ever turned them loose.
29
+
30
+ The scaffold now also generates `listVirtualUserRuns` and
31
+ `getVirtualUserRunSteps`, both behind the existing `virtualUser:read` scope —
32
+ the transcript is strictly more sensitive than the summary it belongs to, since
33
+ it carries the live ids and payloads the run actually sent.
34
+
35
+ The console reads the same two things through the console addon
36
+ (`console:getVirtualUserRuns`, `console:getVirtualUserRunSteps`) off the host's
37
+ own `virtualUserRunStore`, under a new `pikku:console:virtualUsers:read` scope.
38
+ Going through the store rather than the scaffolded RPCs means a project's runs
39
+ show up whether or not it turned `scaffold.virtualUser` on — wiring the store is
40
+ all a run has ever needed. A host with no store answers with an empty list
41
+ rather than an error: it has no runs, which is a true answer.
42
+
43
+ Each persona now shows its recent runs under the declaration — status, when,
44
+ steps and mutations, findings, disposition and seed — and opening one fetches
45
+ its transcript. The steps are fetched only on open, because the history is read
46
+ far more often than any single run is.
47
+
48
+ - 05e47cf: feat(virtual-user): keep the transcript a run already produced
49
+
50
+ The engine returns `intents` and `steps` on every run — what the user set out
51
+ to do, and every turn it took getting there — and `VirtualUserRunOutcome` kept
52
+ neither. The record held counts and findings, so the one question anybody
53
+ actually asks of a completed run ("what did it _do_?") had no answer anywhere,
54
+ even though the answer had been computed and thrown away a moment earlier.
55
+
56
+ `VirtualUserRunOutcome` now carries both, and `VirtualUserRunStore` gains a
57
+ `steps(runId, options?)` read. Intents ride on the run record: there are a
58
+ handful of them and every read of the run wants them. Steps get their own
59
+ `virtualUserRunStep` table, because a run at a 500-step budget carries more
60
+ transcript than every other column together and `list()` would pay for it on
61
+ every row.
62
+
63
+ Three things the kysely store had to get right, all of them driver differences
64
+ rather than design:
65
+
66
+ - steps are inserted in chunks of 50, because a bare sqlite driver binds at
67
+ most 999 variables per statement and ten columns times a 500-step budget is
68
+ five thousand — an un-chunked insert fails on long runs, which are the
69
+ interesting ones;
70
+ - `ok` is stored as 0 or 1, since a bare driver cannot bind a boolean at all
71
+ and `SerializePlugin` is not installed everywhere;
72
+ - `response` is stored JSON-encoded, because a truncated API response usually
73
+ starts with a brace and `SerializePlugin` would otherwise read it back as an
74
+ object rather than the string the engine saw.
75
+
76
+ Completing a run that does not exist no longer writes steps: there is no
77
+ foreign key to refuse them and nothing would ever read or reap them.
78
+
79
+ **This adds a table to the `virtualUser` schema**, and the runtime creates
80
+ nothing: a database that already has `virtualUserRun` gets the store's own
81
+ refusal at startup until `pikku db generate` writes the migration and
82
+ `pikku db migrate` applies it. Landing it now costs nothing, because
83
+ `scaffold.virtualUser` is not yet switched on anywhere.
84
+
85
+ - 05e47cf: feat(virtual-user): put each persona on its own clock
86
+
87
+ A budget says where one run stops. Nothing said how often a persona should use
88
+ the application, so in practice each one ran whenever somebody remembered — and
89
+ what actually tells you about a product is the same user coming back over a
90
+ fortnight.
91
+
92
+ Each persona now gets a row rather than a bigger budget. `virtualUserSchedule`
93
+ holds `enabled`, the disposition and goals to run with, an interval **range**,
94
+ and `nextRunAt`. `tickVirtualUserSchedules` acts on whichever rows are due:
95
+
96
+ ```ts
97
+ wireScheduler({
98
+ name: 'virtualUsers',
99
+ schedule: '0 * * * *',
100
+ func: tickVirtualUserSchedules,
101
+ })
102
+ ```
103
+
104
+ The tick is generated and wired by nobody, deliberately. A scaffolded
105
+ `wireScheduler` would start spending an application's model budget the moment
106
+ somebody ran `pikku all`, on a host that may not run schedulers at all. Tick
107
+ resolution bounds how late a due persona is, never how often it runs.
108
+
109
+ Three things it does that are easy to leave out:
110
+
111
+ - The next due time is written **before** the run is dispatched, so a tick that
112
+ dies halfway cannot hand the same persona to the next one. A dispatch that
113
+ throws waits a full interval instead of retrying every minute for a week.
114
+ That write is a compare-and-set against the `nextRunAt` the tick read, so it
115
+ is also how a tick _wins_ the persona: two processes on the same cron see the
116
+ same due row, and only the one whose claim lands dispatches.
117
+ - A persona whose previous run is still `running` is skipped, not queued. Two
118
+ copies of the same user acting at once is a different test, and its findings
119
+ do not reproduce.
120
+ - A run still `running` after two hours is failed. Without that, one restart
121
+ mid-run blocks that persona's schedule permanently — which is where the
122
+ stranded-record cost of not using a queue finally gets paid.
123
+
124
+ Reschedule-on-completion was the other candidate and is worse in exactly one
125
+ way, fatally: a crash between finishing and scheduling ends the persona forever,
126
+ and the evidence is an absence.
127
+
128
+ New: `VirtualUserScheduleStore` in core (with the tick, `isDue` and `nextRunAt`
129
+ as pure functions), `KyselyVirtualUserScheduleStore` and its own schema —
130
+ its own rather than a third table in `virtualUserSchema`, and owned by its own
131
+ store, so a project that records runs and never wants them unattended carries no
132
+ cadence table. `scaffold.virtualUser` gains `setVirtualUserSchedule`,
133
+ `listVirtualUserSchedules` and the tick, behind a new `virtualUser:schedule`
134
+ scope: starting a run spends money once with a caller watching, while writing a
135
+ schedule spends it repeatedly with nobody there.
136
+
137
+ The console's Virtual Users screen gains a **Run now** button beside a persona's
138
+ run history, gated on `pikku:console:virtualUsers:run`. It dispatches the
139
+ project's own `runVirtualUser` rather than starting a run itself, so a run the
140
+ application would refuse — an acted-upon persona, a non-accountable disposition
141
+ in production — is still refused.
142
+
143
+ - Updated dependencies [3c0012c]
144
+ - Updated dependencies [05e47cf]
145
+ - Updated dependencies [cfd364a]
146
+ - Updated dependencies [05e47cf]
147
+ - Updated dependencies [05e47cf]
148
+ - Updated dependencies [05e47cf]
149
+ - @pikku/core@0.12.90
150
+ - @pikku/kysely@0.13.21
151
+
152
+ ## 0.12.111
153
+
154
+ ### Patch Changes
155
+
156
+ - 274cab3: The singleton intersection moves to the leaves that name it, the runtime stops
157
+ creating schema, and `db generate` writes only the runtime tables a project's
158
+ services own
159
+
160
+ `WiredSingletonServices` was exported from the generated function leaf so the
161
+ auth leaf could import it. Nothing outside a generated leaf ever names it —
162
+ emit declarations for a project of any size and it appears in none of them —
163
+ so the auth and middleware leaves derive the intersection themselves and the
164
+ function leaf keeps it private. `WiredServices` stays exported: 147 `.d.ts`
165
+ files name it, and unexporting it asks every wired module to name each member
166
+ service through a specifier it does not have.
167
+
168
+ `ensurePikkuSchema` is gone. `requirePikkuSchema` replaces it: a service calls
169
+ it at boot, it looks, and it issues no DDL at all. `pikku db generate` writes
170
+ the declaration down as a migration and `pikku db migrate` applies it, and
171
+ those two are now the only way pikku's runtime tables come into existence. A
172
+ service that finds them missing says so and stops, naming both commands.
173
+ Half-present is no longer a distinct case — the remedy is the same migration
174
+ either way. `audit` and `virtual-user` join `pikkuSchemas` as a consequence:
175
+ boot was the only thing that had ever created them.
176
+
177
+ `pikku db generate` applied all of `pikkuSchemas`, so a project with no agents,
178
+ no channels and no workflows still had `agent_threads`, `channels` and
179
+ `workflow_runs` written into its migrations, and then carried them forever. A
180
+ schema now names the services that own it, and generation gates on
181
+ `requiredServices` — the set the inspector already builds for service
182
+ tree-shaking. The gate is one-sided: a schema that names no owner is always
183
+ written, because the session and secret stores and the deployment record are
184
+ reached by the runtime itself and nothing in a project's source implies them.
185
+ Declared scopes now imply `scopeService`, which nothing destructures because
186
+ the generated auth layer is what reaches it.
187
+
188
+ Drift keeps asking the unscoped question. A table already in a database has to
189
+ stay recognisable as a runtime table after the service that needed it is
190
+ dropped — scoping it there would report those tables as unexplained.
191
+
192
+ Every project in this repo that had been relying on boot-time creation now says
193
+ where its tables come from. `createConfig` moves into its own `config.ts` in the
194
+ templates — `pikku db` looks for it there — and the three postgres templates plus
195
+ the workflow verifier declare `postgresUrl` and run `pikku db generate && pikku
196
+ db migrate` before the server starts, from the single connection string their
197
+ runtime opens. The e2e harness cannot: its databases are in-memory sqlite built
198
+ inside the services factory, so nothing outside the process can migrate them. It
199
+ applies the schemas it owns with `applyPikkuSchemas` instead — the same DDL, run
200
+ by the one process that has the database.
201
+
202
+ - 58cb0f8: Scaffold an addon whose exports point at the leaf its codegen actually writes
203
+
204
+ `pikku all` roots an addon's generated tree at `.pikku/addon/`, but `pikku new
205
+ addon` still wrote the pre-split targets: `./.pikku/*` resolved to
206
+ `./dist/.pikku/*` and the internal RPC map to `./dist/.pikku/rpc/...`, neither of
207
+ which exists in the published package. The subpaths a consumer writes are
208
+ unchanged — only the targets gain the `addon` segment.
209
+
210
+ The addon manifest reference in the `pikku-addon` skill described the same
211
+ package.json one migration further back, with `imports` and `exports` naming the
212
+ source tree and `files: ["dist", ".pikku"]` shipping `.ts` files Node cannot
213
+ load. It now documents the built layout, and why `imports` and tsconfig `paths`
214
+ deliberately point at different trees.
215
+
216
+ The plain scaffold — no `--secret`, `--oauth` or `--credential` — built its API
217
+ service with `new XService(variables)` against a class declaring no constructor,
218
+ so `pikku new addon <name>` produced a package that did not typecheck until the
219
+ author deleted the argument. Only the authenticating variants take one.
220
+
221
+ - 32616af: Give the deploy pipeline one shared contract instead of a copy per adapter
222
+
223
+ `DeploymentManifest`, `DeploymentUnit`, `EntryGenerationContext` and
224
+ `ProviderAdapter` were hand-copied into eleven source files across the four
225
+ provider adapters and the CLI — three copies inside `@pikku/deploy-cloudflare`
226
+ alone. Nothing compared the copies, so they had already drifted: several typed
227
+ `role` as a bare `string`, and none carried the manifest's addon-scoping fields.
228
+
229
+ They now live in a new zero-dependency `@pikku/deploy` package that every
230
+ adapter and the CLI import, and each adapter declares `implements
231
+ ProviderAdapter` so the compiler checks it against the contract it claims to
232
+ satisfy. That check immediately caught a real disagreement: the deploy result's
233
+ `workersDeployed` and `resourcesCreated` were `string[]` from Cloudflare — the
234
+ shape the result file and the generated SDK types already record — but
235
+ `Array<{ name: string }>` from the standalone adapter. Both are now `string[]`.
236
+
237
+ The Lambda and Azure adapters also derived their esbuild externals from a
238
+ hand-written list of 25 node builtins, so anything outside it (`async_hooks`,
239
+ `perf_hooks`, `timers`, `http2`, …) was bundled instead of resolved from the
240
+ runtime. They now use `nodeBuiltinExternals()`, which reads `builtinModules`
241
+ from the running Node and cannot fall behind it.
242
+
243
+ - c858555: fix(cli): a scaffold feature refuses the removed `auth` key instead of ignoring it
244
+
245
+ `scaffold.<feature>` stopped taking `auth` when a scaffold flag became a
246
+ statement about whether a surface is generated rather than about who may call
247
+ it. The key was removed from the type, but a `pikku.config.json` still carrying
248
+ it loaded clean and was silently dropped — a config that reads as if it closed
249
+ the console to anonymous callers while configuring nothing at all.
250
+
251
+ It is now refused at config load, by name, with the reason and the fix. Any
252
+ other unrecognised key is refused too, so a typo'd `paths` fails at load rather
253
+ than generating a file at the default location. `null` and arrays are refused
254
+ with the same message a bare string already got, rather than crashing on a
255
+ property read.
256
+
257
+ These arrive as `PikkuCLIConfigError`, so the message reaches the developer
258
+ verbatim rather than as "failed to load config file".
259
+
260
+ - Updated dependencies [274cab3]
261
+ - Updated dependencies [58cb0f8]
262
+ - Updated dependencies [32616af]
263
+ - Updated dependencies [32616af]
264
+ - Updated dependencies [6848cd9]
265
+ - @pikku/kysely@0.13.20
266
+ - @pikku/inspector@0.12.63
267
+ - @pikku/skills@0.12.13
268
+ - @pikku/deploy@0.12.1
269
+ - @pikku/deploy-cloudflare@0.12.13
270
+ - @pikku/core@0.12.89
271
+
1
272
  ## 0.12.110
2
273
 
3
274
  ### Patch Changes
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-BtmN233C.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-CxJwpjvz.js";import"./chunk-I66GZJ75-C-Lq_UXl.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-BuzItInf.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-37H5_HoB.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-CwwjcAjz.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-BR8qR3lM.js";import"./chunk-I66GZJ75-b3yMIljX.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-C_h5lS68.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-hmS_M4K5.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-CwwjcAjz.js";export{e as createArchitectureServices};