@pikku/cli 0.12.127 → 0.12.133

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 (289) hide show
  1. package/CHANGELOG.md +322 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-BY2LM8wi.js → abnfDiagram-N423BO3Z-BQPUva28.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-G_ldr-C2.js +1 -0
  4. package/console-app/assets/{architectureDiagram-T3A2C74G-CeqjY3Kw.js → architectureDiagram-T3A2C74G-Cjzy66o9.js} +1 -1
  5. package/console-app/assets/{blockDiagram-VBNYF7ZC-BW5174xj.js → blockDiagram-VBNYF7ZC-DVasSXpX.js} +1 -1
  6. package/console-app/assets/{c4Diagram-5PPSVZJV-B7zXAFL0.js → c4Diagram-5PPSVZJV-FB0YMoOr.js} +1 -1
  7. package/console-app/assets/channel-CuDpOUYn.js +1 -0
  8. package/console-app/assets/{chunk-2GRJ4B5K-BfRYzQ4t.js → chunk-2GRJ4B5K-BLGsmyy4.js} +1 -1
  9. package/console-app/assets/{chunk-4I5QYGJK-DBA7-Nu4.js → chunk-4I5QYGJK-DCgTj78f.js} +1 -1
  10. package/console-app/assets/{chunk-5RXB4S5H-D03lNzwi.js → chunk-5RXB4S5H-CX9hS68x.js} +1 -1
  11. package/console-app/assets/{chunk-6Q2QTUOP-DloGRHJZ.js → chunk-6Q2QTUOP-xrgFRP4Y.js} +1 -1
  12. package/console-app/assets/{chunk-7Z6QIM7H-DH3uHtl2.js → chunk-7Z6QIM7H-CbBMe7ej.js} +1 -1
  13. package/console-app/assets/{chunk-GF5L2VYU-Cu252lza.js → chunk-GF5L2VYU-BXraqZ7w.js} +1 -1
  14. package/console-app/assets/{chunk-I66GZJ75-DH54FcuO.js → chunk-I66GZJ75-CbpQtX8e.js} +1 -1
  15. package/console-app/assets/{chunk-JQJVKLGR-CeFuTL-V.js → chunk-JQJVKLGR-Cp9FHSH6.js} +1 -1
  16. package/console-app/assets/{chunk-KBJHAD2P-B-prFo0-.js → chunk-KBJHAD2P-Brvmen34.js} +1 -1
  17. package/console-app/assets/{chunk-NSK5VX7P-C10iA4GS.js → chunk-NSK5VX7P-Bo-dbDZD.js} +1 -1
  18. package/console-app/assets/{chunk-QR6OTTB3-Cd8apAsA.js → chunk-QR6OTTB3-B5Al5KEo.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-rfPUp2Fj.js → chunk-RYQCIY6F-WOZyn5It.js} +1 -1
  20. package/console-app/assets/{chunk-UBXNYLIW-D25wqJBc.js → chunk-UBXNYLIW-D9OoHV5X.js} +1 -1
  21. package/console-app/assets/{chunk-W5SLKNZC-CJvxkxuK.js → chunk-W5SLKNZC-BNTcVpi3.js} +1 -1
  22. package/console-app/assets/{chunk-WRU74C26-B9Wju92P.js → chunk-WRU74C26-DXijYjrx.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-DRMEt0Gf.js +1 -0
  24. package/console-app/assets/classDiagram-JCYQIIEL-Bjgk6QkN.js +1 -0
  25. package/console-app/assets/classDiagram-v2-OCEON4UE-Bjgk6QkN.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-CwA1VCP5.js → cose-bilkent-JH36ORCC-CPN5VkQC.js} +1 -1
  27. package/console-app/assets/{cynefin-VYW2F7L2-C_qsD7eR.js → cynefin-VYW2F7L2-CuBPO3Z0.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-MW4NZA55-CkSLreFW.js → cynefinDiagram-MW4NZA55-BYc2PGXv.js} +1 -1
  29. package/console-app/assets/{dagre-WqgBlKb7.js → dagre-7HV9Jfb_.js} +1 -1
  30. package/console-app/assets/{dagre-VZM6K2ZE-0ssqLoHs.js → dagre-VZM6K2ZE-BpPyuM7i.js} +1 -1
  31. package/console-app/assets/{diagram-7IWD3JNH-DmRL3lmL.js → diagram-7IWD3JNH-DTH9ID9z.js} +1 -1
  32. package/console-app/assets/{diagram-B4RE2ZJO-Bsr9wG4I.js → diagram-B4RE2ZJO-DwZb9gPm.js} +1 -1
  33. package/console-app/assets/{diagram-LBJQPF4R-DdMw1FSY.js → diagram-LBJQPF4R-DfvBayzk.js} +1 -1
  34. package/console-app/assets/{diagram-Q27KOJAE-TPx5TB2B.js → diagram-Q27KOJAE-hksFpSxs.js} +1 -1
  35. package/console-app/assets/{diagram-UB23O5K3-e_1zSlZR.js → diagram-UB23O5K3-5hEVCouO.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-BXEA7PRR-BACajh2b.js → ebnfDiagram-BXEA7PRR-D0v6RJvf.js} +1 -1
  37. package/console-app/assets/{erDiagram-JOGREHBK-CojomKqL.js → erDiagram-JOGREHBK-DGps-M4l.js} +1 -1
  38. package/console-app/assets/eventmodeling-45OFAUF4-DWRslJcU.js +1 -0
  39. package/console-app/assets/flowDiagram-UKHOOZJN-CE3qN_pH.js +1 -0
  40. package/console-app/assets/{ganttDiagram-PKOTCBZU-yoOX4Xj2.js → ganttDiagram-PKOTCBZU-Dok7ME1t.js} +1 -1
  41. package/console-app/assets/{gitGraph-TEB2WS4Q-BcUY5hIc.js → gitGraph-TEB2WS4Q-8492lYYh.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-BtuIPjuB.js → gitGraphDiagram-DS77QQ5N-sPOnBy5f.js} +1 -1
  43. package/console-app/assets/{index-CzWW052c.js → index-DqNqujdF.js} +184 -184
  44. package/console-app/assets/{info-DKCQHKI2-B-iR9PUz.js → info-DKCQHKI2-U4uEmX4H.js} +1 -1
  45. package/console-app/assets/{infoDiagram-6WML65LV-CuXKIFH2.js → infoDiagram-6WML65LV-CNV12_Nx.js} +1 -1
  46. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CSueMFD6.js → ishikawaDiagram-WSZJBQD7-CcnTBGLj.js} +1 -1
  47. package/console-app/assets/{journeyDiagram-NVQOT4AX-kvnKStZp.js → journeyDiagram-NVQOT4AX-MX-UQBJ7.js} +1 -1
  48. package/console-app/assets/{kanban-definition-27J2QSJJ-CGGDEz30.js → kanban-definition-27J2QSJJ-BXh1Eu4D.js} +1 -1
  49. package/console-app/assets/{line-mtMM5-xO.js → line-2B2dlQbw.js} +1 -1
  50. package/console-app/assets/{linear-CLSje0O_.js → linear-DAVRH-Dp.js} +1 -1
  51. package/console-app/assets/{mermaid-parser.core-Cx6yvn3j.js → mermaid-parser.core-DxPo1qbR.js} +3 -3
  52. package/console-app/assets/{mermaid.core-BebGyklS.js → mermaid.core-DpvXaF3y.js} +4 -4
  53. package/console-app/assets/{mindmap-definition-FAOFIHXS-C2_WUUJ9.js → mindmap-definition-FAOFIHXS-wIEKn4qe.js} +1 -1
  54. package/console-app/assets/{packet-7NZHBO7P-Dh5yNCA8.js → packet-7NZHBO7P-CXySycDQ.js} +1 -1
  55. package/console-app/assets/{pegDiagram-VL7TDLO6-XgUxesi8.js → pegDiagram-VL7TDLO6-CDGkzO6q.js} +1 -1
  56. package/console-app/assets/{pie-RZYD4A2V-D2x2RAXI.js → pie-RZYD4A2V-9woSahH7.js} +1 -1
  57. package/console-app/assets/{pieDiagram-7S7Q4E2Y-Bbor0KbG.js → pieDiagram-7S7Q4E2Y-DLoZWnVF.js} +1 -1
  58. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-DZmnMHpM.js → quadrantDiagram-CIZ2JOQS-NBGRoga7.js} +1 -1
  59. package/console-app/assets/{radar-I7S5WNFK-CPeriDtN.js → radar-I7S5WNFK-BYhW66ZA.js} +1 -1
  60. package/console-app/assets/{railroad-3IZDKUUU-2iKAyaie.js → railroad-3IZDKUUU-BqHXlwF5.js} +1 -1
  61. package/console-app/assets/railroad-abnf-AHOZXSZD-BfGOy69e.js +1 -0
  62. package/console-app/assets/railroad-ebnf-EBAXGLYW-BbGv9WfS.js +1 -0
  63. package/console-app/assets/railroad-peg-LSFZ7HO6-CCiPI8BL.js +1 -0
  64. package/console-app/assets/{railroadDiagram-AXF67PYL-DVEqCXoo.js → railroadDiagram-AXF67PYL-FYQaHJ6A.js} +1 -1
  65. package/console-app/assets/{requirementDiagram-LRYGKXZP-CSgSNL8p.js → requirementDiagram-LRYGKXZP-ihhW1kgC.js} +1 -1
  66. package/console-app/assets/{sankeyDiagram-W5VNT64P-CFk11odN.js → sankeyDiagram-W5VNT64P-Dw2EbW8v.js} +1 -1
  67. package/console-app/assets/{sequenceDiagram-SI44F4Z6-Cb5u6FsJ.js → sequenceDiagram-SI44F4Z6-C6i_U4QX.js} +1 -1
  68. package/console-app/assets/{src-LceHEY_Q.js → src-DF-84qwJ.js} +1 -1
  69. package/console-app/assets/{stateDiagram-OKZ733FA-DM1jWlkU.js → stateDiagram-OKZ733FA-xH4wcMO4.js} +1 -1
  70. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BJln5PLd.js +1 -0
  71. package/console-app/assets/{swimlanes-SLNWSIFB-DD6MchlE.js → swimlanes-SLNWSIFB-CkFlU1Qc.js} +1 -1
  72. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-CSLhmtbh.js +8 -0
  73. package/console-app/assets/{timeline-definition-Z64GVDOM-zu5cNnVv.js → timeline-definition-Z64GVDOM-BQE9-7mm.js} +1 -1
  74. package/console-app/assets/{treeView-QDETBFTQ-D_4IbvCG.js → treeView-QDETBFTQ-C4hse2Wn.js} +1 -1
  75. package/console-app/assets/{treemap-6X3UGDF4-DNc6bjUc.js → treemap-6X3UGDF4-Bi7ORgq6.js} +1 -1
  76. package/console-app/assets/{vennDiagram-T6HMQDX7-DfqoG28f.js → vennDiagram-T6HMQDX7-DbUdNREA.js} +1 -1
  77. package/console-app/assets/{wardley-OPB4EBWU-BqpI2Lx-.js → wardley-OPB4EBWU-BHqXIxRe.js} +1 -1
  78. package/console-app/assets/{wardleyDiagram-T6FBY63Y-CLIZSvNi.js → wardleyDiagram-T6FBY63Y-1VOvM_bb.js} +1 -1
  79. package/console-app/assets/{xychartDiagram-ELKLHX3M-Cni-XXa6.js → xychartDiagram-ELKLHX3M-C3DVfSR9.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 +1 -1
  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 +36 -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-contracts-meta.gen.json +21 -0
  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 +122 -1
  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 +137 -6
  123. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  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/rpc/pikku-rpc-wirings-meta.internal.gen.json +7 -0
  154. package/dist/.pikku/scenarios/index.d.ts +1 -1
  155. package/dist/.pikku/scenarios/index.js +1 -1
  156. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -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 +27 -1
  169. package/dist/.pikku/schemas/schemas/FabricSecretsDeleteInput.schema.json +1 -0
  170. package/dist/.pikku/schemas/schemas/FabricSecretsDeleteOutput.schema.json +1 -0
  171. package/dist/.pikku/schemas/schemas/KnowledgePlanDeferInput.schema.json +1 -0
  172. package/dist/.pikku/schemas/schemas/KnowledgePlanDeferOutput.schema.json +1 -0
  173. package/dist/.pikku/schemas/schemas/KnowledgePlanProgressInput.schema.json +1 -0
  174. package/dist/.pikku/schemas/schemas/KnowledgePlanProgressOutput.schema.json +1 -0
  175. package/dist/.pikku/schemas/schemas/KnowledgePlanSchemaInput.schema.json +1 -0
  176. package/dist/.pikku/schemas/schemas/KnowledgePlanSchemaOutput.schema.json +1 -0
  177. package/dist/.pikku/schemas/schemas/KnowledgePlanSetInput.schema.json +1 -0
  178. package/dist/.pikku/schemas/schemas/KnowledgePlanSetOutput.schema.json +1 -0
  179. package/dist/.pikku/schemas/schemas/KnowledgePlanShowInput.schema.json +1 -0
  180. package/dist/.pikku/schemas/schemas/KnowledgePlanShowOutput.schema.json +1 -0
  181. package/dist/.pikku/schemas/schemas/PikkuDistInput.schema.json +1 -0
  182. package/dist/.pikku/schemas/schemas/PikkuNewAddonInput.schema.json +1 -1
  183. package/dist/.pikku/scopes/index.d.ts +1 -1
  184. package/dist/.pikku/scopes/index.js +1 -1
  185. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  186. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  187. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  188. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  189. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  190. package/dist/.pikku/secrets/index.d.ts +1 -1
  191. package/dist/.pikku/secrets/index.js +1 -1
  192. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  193. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  194. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  195. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  196. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  197. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  198. package/dist/.pikku/setup/index.d.ts +1 -1
  199. package/dist/.pikku/setup/index.js +1 -1
  200. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  201. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  202. package/dist/.pikku/trigger/index.d.ts +1 -1
  203. package/dist/.pikku/trigger/index.js +1 -1
  204. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  205. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  206. package/dist/.pikku/variables/index.d.ts +1 -1
  207. package/dist/.pikku/variables/index.js +1 -1
  208. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  209. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  210. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  211. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  212. package/dist/.pikku/workflow/index.d.ts +1 -1
  213. package/dist/.pikku/workflow/index.js +1 -1
  214. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  215. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  216. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  217. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  218. package/dist/bin/pikku-bin.mjs +2 -2
  219. package/dist/src/cli.wiring.js +63 -1
  220. package/dist/src/deploy/analyzer/analyzer.js +42 -6
  221. package/dist/src/deploy/build-pipeline.js +92 -4
  222. package/dist/src/deploy/codegen/per-unit-codegen.d.ts +10 -0
  223. package/dist/src/deploy/codegen/per-unit-codegen.js +12 -1
  224. package/dist/src/deploy/server-entry.js +14 -1
  225. package/dist/src/fabric/fabric-commands.d.ts +25 -0
  226. package/dist/src/fabric/fabric-commands.js +13 -0
  227. package/dist/src/fabric/functions/secrets-delete.function.d.ts +36 -0
  228. package/dist/src/fabric/functions/secrets-delete.function.js +51 -0
  229. package/dist/src/functions/commands/dev.js +2 -1
  230. package/dist/src/functions/commands/dist.d.ts +28 -0
  231. package/dist/src/functions/commands/dist.js +58 -0
  232. package/dist/src/functions/commands/knowledge-plan.d.ts +112 -0
  233. package/dist/src/functions/commands/knowledge-plan.js +35 -0
  234. package/dist/src/functions/commands/new-addon.d.ts +30 -0
  235. package/dist/src/functions/commands/new-addon.js +81 -3
  236. package/dist/src/functions/commands/persona-sync.d.ts +5 -4
  237. package/dist/src/functions/commands/persona-sync.js +6 -5
  238. package/dist/src/functions/commands/persona.js +6 -2
  239. package/dist/src/functions/db/local-db.d.ts +1 -1
  240. package/dist/src/functions/db/local-db.js +5 -5
  241. package/dist/src/functions/db/postgres/postgres-introspector.js +1 -1
  242. package/dist/src/functions/db/sqlite/dev-seed.d.ts +1 -1
  243. package/dist/src/functions/db/sqlite/sqlite-introspector.d.ts +1 -1
  244. package/dist/src/functions/db/sqlite/sqlite-introspector.js +1 -1
  245. package/dist/src/functions/db/sqlite/sqlite-kysely.d.ts +1 -1
  246. package/dist/src/functions/knowledge/render.d.ts +6 -1
  247. package/dist/src/functions/knowledge/render.js +74 -0
  248. package/dist/src/functions/knowledge/schemas.d.ts +45 -0
  249. package/dist/src/functions/knowledge/schemas.js +11 -1
  250. package/dist/src/functions/surface/surface-editorial.js +12 -12
  251. package/dist/src/functions/validate/auth-plugin-checks.js +3 -2
  252. package/dist/src/functions/validate/persona-checks.js +2 -1
  253. package/dist/src/functions/validate/shared-checks.js +1 -1
  254. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.d.ts +1 -1
  255. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.js +2 -2
  256. package/dist/src/utils/persona-credentials.d.ts +0 -2
  257. package/dist/src/utils/persona-credentials.js +1 -8
  258. package/dist/tsconfig.tsbuildinfo +1 -1
  259. package/package.json +11 -10
  260. package/snippets.json +1 -1
  261. package/surface.json +1245 -4866
  262. package/console-app/assets/architecture-TIHT7OUA-CWwmvxZF.js +0 -1
  263. package/console-app/assets/channel-pOkwZ_Ot.js +0 -1
  264. package/console-app/assets/chunk-XXDRQBXY-BU_UP6f5.js +0 -1
  265. package/console-app/assets/classDiagram-JCYQIIEL-CLBKUuxj.js +0 -1
  266. package/console-app/assets/classDiagram-v2-OCEON4UE-CLBKUuxj.js +0 -1
  267. package/console-app/assets/eventmodeling-45OFAUF4-DkN2KCrT.js +0 -1
  268. package/console-app/assets/flowDiagram-UKHOOZJN-DL0M9lBc.js +0 -1
  269. package/console-app/assets/railroad-abnf-AHOZXSZD-D26xz4MM.js +0 -1
  270. package/console-app/assets/railroad-ebnf-EBAXGLYW-CCAiMPWc.js +0 -1
  271. package/console-app/assets/railroad-peg-LSFZ7HO6-BA1zcisq.js +0 -1
  272. package/console-app/assets/stateDiagram-v2-UEYNNEHI-COVnPYic.js +0 -1
  273. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-B5q8iRCQ.js +0 -8
  274. package/dist/src/functions/db/db-migrator.d.ts +0 -63
  275. package/dist/src/functions/db/db-migrator.js +0 -136
  276. package/dist/src/functions/db/migration-identifiers.d.ts +0 -58
  277. package/dist/src/functions/db/migration-identifiers.js +0 -262
  278. package/dist/src/functions/db/postgres/postgres-migrator.d.ts +0 -15
  279. package/dist/src/functions/db/postgres/postgres-migrator.js +0 -40
  280. package/dist/src/functions/db/schema-sql.d.ts +0 -43
  281. package/dist/src/functions/db/schema-sql.js +0 -135
  282. package/dist/src/functions/db/sqlite/sqlite-migrator.d.ts +0 -11
  283. package/dist/src/functions/db/sqlite/sqlite-migrator.js +0 -41
  284. package/dist/src/functions/db/sqlite/sqlite-runtime-bun.d.ts +0 -2
  285. package/dist/src/functions/db/sqlite/sqlite-runtime-bun.js +0 -62
  286. package/dist/src/functions/db/sqlite/sqlite-runtime-node.d.ts +0 -2
  287. package/dist/src/functions/db/sqlite/sqlite-runtime-node.js +0 -78
  288. package/dist/src/functions/db/sqlite/sqlite-runtime.d.ts +0 -20
  289. package/dist/src/functions/db/sqlite/sqlite-runtime.js +0 -13
@@ -26,12 +26,12 @@ export const LEAF_EDITORIAL = {
26
26
  },
27
27
  variables: {
28
28
  step: 'enhance it',
29
- skill: 'pikku-config',
29
+ skill: 'pikku-services',
30
30
  summary: 'Configuration a function reads through the variables service, declared once so a deployment can be checked for what it is missing.',
31
31
  },
32
32
  secrets: {
33
33
  step: 'enhance it',
34
- skill: 'pikku-config',
34
+ skill: 'pikku-services',
35
35
  summary: 'Secrets a function can use without ever holding, declared here and resolved by the secrets service at runtime.',
36
36
  },
37
37
  credentials: {
@@ -46,52 +46,52 @@ export const LEAF_EDITORIAL = {
46
46
  },
47
47
  http: {
48
48
  step: 'wire it up',
49
- skill: 'pikku-http',
49
+ skill: 'pikku-wiring',
50
50
  summary: 'Wires a function to an HTTP route, with the path parameters checked against the function input.',
51
51
  },
52
52
  channel: {
53
53
  step: 'wire it up',
54
- skill: 'pikku-websocket',
54
+ skill: 'pikku-wiring',
55
55
  summary: 'Wires a function to a websocket channel, its message routes and its pub/sub topics.',
56
56
  },
57
57
  queue: {
58
58
  step: 'wire it up',
59
- skill: 'pikku-queue',
59
+ skill: 'pikku-wiring',
60
60
  summary: 'Wires a function as a queue worker, so a job on the queue runs the same handler an HTTP route would.',
61
61
  },
62
62
  scheduler: {
63
63
  step: 'wire it up',
64
- skill: 'pikku-schedule',
64
+ skill: 'pikku-wiring',
65
65
  summary: 'Wires a function to a cron expression to run it on a schedule.',
66
66
  },
67
67
  trigger: {
68
68
  step: 'wire it up',
69
- skill: 'pikku-trigger',
69
+ skill: 'pikku-wiring',
70
70
  summary: 'Wires a function to an event a source emits, rather than to a caller that asks for it.',
71
71
  },
72
72
  gateway: {
73
73
  step: 'wire it up',
74
- skill: 'pikku-gateway-slack',
74
+ skill: 'pikku-wiring',
75
75
  summary: 'Wires a function behind a gateway that receives requests on behalf of another system.',
76
76
  },
77
77
  mcp: {
78
78
  step: 'wire it up',
79
- skill: 'pikku-mcp',
79
+ skill: 'pikku-wiring',
80
80
  summary: 'Wires a function as an MCP tool, resource or prompt for a model to call.',
81
81
  },
82
82
  cli: {
83
83
  step: 'wire it up',
84
- skill: 'pikku-cli',
84
+ skill: 'pikku-wiring',
85
85
  summary: 'Wires a function as a command, with its flags and arguments derived from the function input.',
86
86
  },
87
87
  auth: {
88
88
  step: 'guard it',
89
- skill: ['pikku-security', 'pikku-permissions'],
89
+ skill: 'pikku-auth',
90
90
  summary: 'Who may call a function, and what the call is made with: permissions that see the request, auth gates that run before it, and the credentials a function borrows rather than holds.',
91
91
  },
92
92
  scopes: {
93
93
  step: 'guard it',
94
- skill: 'pikku-permissions',
94
+ skill: 'pikku-auth',
95
95
  summary: 'The scopes a caller can hold and the roles that grant them, gating a call outside the permission pool.',
96
96
  },
97
97
  workflow: {
@@ -131,8 +131,9 @@ export const runAuthPluginChecks = async (root, config) => {
131
131
  continue;
132
132
  if (configuresPlugin(text, 'better-auth/plugins', 'admin'))
133
133
  adminFiles.push(file);
134
- // `pikkuBan` is the current export; `ban` is the deprecated alias, which
135
- // configures exactly the same plugin and so must satisfy the check too.
134
+ // `pikkuBan` is the export. `ban` was its alias until it was removed, and
135
+ // an app written against an older version still configures exactly the same
136
+ // plugin under that name, so it must satisfy the check too.
136
137
  if (configuresPlugin(text, '@pikku/better-auth', 'pikkuBan') ||
137
138
  configuresPlugin(text, '@pikku/better-auth', 'ban'))
138
139
  bansAnywhere = true;
@@ -85,7 +85,8 @@ const countPersonas = async (root, config, sourceFiles) => {
85
85
  * scaffold wires, and a hand-rolled `/sign-in/actor` route is the one a project
86
86
  * that does not use better-auth ends up with. Both terminate at the same
87
87
  * endpoint, so either satisfies the check. The deprecated `actor()` alias is
88
- * matched too — it is the same plugin under its old name.
88
+ * matched too — an app on an older version wires the same plugin under that
89
+ * name, which was removed from the library.
89
90
  */
90
91
  const hasActorSignIn = async (sourceFiles) => {
91
92
  for (const file of sourceFiles) {
@@ -368,7 +368,7 @@ export async function runSharedProjectChecks(root) {
368
368
  e('auth-dev-db-missing', 'Auth middleware is registered, but there is no db/sqlite directory and createConfig does not set sqliteDb — `pikku db migrate` has no database to create', join(fnDir, 'src', 'config.ts'), 'Add db/sqlite/ with numbered migrations, or set sqliteDb in createConfig');
369
369
  }
370
370
  if (missingAuthTables.length > 0) {
371
- e('auth-schema-missing-tables', `Auth middleware is registered, but no SQL migration creates: ${missingAuthTables.join(', ')} — better-auth queries these tables on every request`, migrationsDir, lines(`Add a migration under db/${dbEngine}/ that creates the better-auth core schema:`, ' user, session, account, verification', 'The pikku-better-auth skill generates one for the dialect you are on.'));
371
+ e('auth-schema-missing-tables', `Auth middleware is registered, but no SQL migration creates: ${missingAuthTables.join(', ')} — better-auth queries these tables on every request`, migrationsDir, lines(`Add a migration under db/${dbEngine}/ that creates the better-auth core schema:`, ' user, session, account, verification', 'The pikku-auth skill generates one for the dialect you are on.'));
372
372
  }
373
373
  // ── generated types must stay generated ──────────────────────────────
374
374
  const dbTypesPath = join(fnDir, 'src', 'types', 'db.types.ts');
@@ -19,6 +19,6 @@ export interface EventsGenOutput {
19
19
  *
20
20
  * Both routes call `eventHub.subscribe`/`unsubscribe` with the channel id;
21
21
  * publish-side ergonomics (envelope shape) are documented in the
22
- * pikku-realtime skill.
22
+ * pikku-wiring skill.
23
23
  */
24
24
  export declare const serializeEventsScaffold: (leaf: (name: string) => string) => EventsGenOutput;
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * Both routes call `eventHub.subscribe`/`unsubscribe` with the channel id;
17
17
  * publish-side ergonomics (envelope shape) are documented in the
18
- * pikku-realtime skill.
18
+ * pikku-wiring skill.
19
19
  */
20
20
  export const serializeEventsScaffold = (leaf) => {
21
21
  const schemas = `/**
@@ -37,7 +37,7 @@ import { TopicRef } from './events.schemas.gen.js'
37
37
  *
38
38
  * await eventHub.publish('todo-created', null, { topic: 'todo-created', data: { todo } })
39
39
  *
40
- * The pikku-realtime skill covers a thin \`publishEvent\` helper to remove
40
+ * The pikku-wiring skill covers a thin \`publishEvent\` helper to remove
41
41
  * the duplication; pick whichever style your project prefers.
42
42
  */
43
43
 
@@ -14,8 +14,6 @@ export declare const ACTOR_SECRET_VARIABLE = "SCENARIO_ACTOR_SECRET";
14
14
  * list is the whole of what this run can be.
15
15
  */
16
16
  export declare const PERSONA_SECRETS_VARIABLE = "PIKKU_PERSONA_SECRETS";
17
- /** Opt in to creating persona accounts the target does not already have. */
18
- export declare const CREATE_MISSING_VARIABLE = "PIKKU_PERSONA_CREATE_MISSING";
19
17
  export type PersonaCredentials = Pick<HttpPersonasConfig, 'secret' | 'operator'>;
20
18
  /**
21
19
  * `id=secret,id=secret` into a lookup. A value containing `=` is kept whole —
@@ -12,8 +12,6 @@ export const ACTOR_SECRET_VARIABLE = 'SCENARIO_ACTOR_SECRET';
12
12
  * list is the whole of what this run can be.
13
13
  */
14
14
  export const PERSONA_SECRETS_VARIABLE = 'PIKKU_PERSONA_SECRETS';
15
- /** Opt in to creating persona accounts the target does not already have. */
16
- export const CREATE_MISSING_VARIABLE = 'PIKKU_PERSONA_CREATE_MISSING';
17
15
  /**
18
16
  * `id=secret,id=secret` into a lookup. A value containing `=` is kept whole —
19
17
  * base64url never produces one, but a hand-written credential might.
@@ -65,12 +63,7 @@ export const personaSecretResolver = (secrets) => {
65
63
  export const resolvePersonaCredentials = async (variables, what) => {
66
64
  const token = await variables.get(OPERATOR_TOKEN_VARIABLE);
67
65
  if (token) {
68
- // `variables.get` JSON-parses, so `PIKKU_PERSONA_CREATE_MISSING=true`
69
- // arrives as the boolean `true` and never equalled the string. The
70
- // operator token survives the same parse only because a JWT is not
71
- // valid JSON.
72
- const createMissing = String(await variables.get(CREATE_MISSING_VARIABLE)) === 'true';
73
- return { operator: { token, createMissing } };
66
+ return { operator: { token } };
74
67
  }
75
68
  const personaSecrets = await variables.get(PERSONA_SECRETS_VARIABLE);
76
69
  if (personaSecrets) {
@@ -1 +1 @@
1
- {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/deploy/build-pipeline.ts","../src/deploy/frontend-assets.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/bundler/bun-bundler.ts","../src/deploy/bundler/bundler.interface.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/node-bundler.ts","../src/deploy/bundler/service-module-map.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/add.function.ts","../src/fabric/functions/addon-verify.function.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/findings-clear.function.ts","../src/fabric/functions/findings-flush.function.ts","../src/fabric/functions/findings-list.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/projects-list.function.ts","../src/fabric/functions/publish.function.ts","../src/fabric/functions/report.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-rotate.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/smoke.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate.function.ts","../src/fabric/functions/variables-get.function.ts","../src/fabric/functions/variables-set.function.ts","../src/fabric/lib/blank-comments.ts","../src/fabric/lib/blank-scenario-meta.ts","../src/fabric/lib/config.ts","../src/fabric/lib/console-url.ts","../src/fabric/lib/deployment.ts","../src/fabric/lib/finding-spool.ts","../src/fabric/lib/finding.ts","../src/fabric/lib/frontend-typecheck.ts","../src/fabric/lib/git.ts","../src/fabric/lib/http.ts","../src/fabric/lib/not-implemented.ts","../src/fabric/lib/output.ts","../src/fabric/lib/prompt.ts","../src/fabric/lib/report-environment.ts","../src/fabric/lib/sealed-box.ts","../src/fabric/lib/stage.ts","../src/fabric/lib/variable-value.ts","../src/fabric/sdk/http-map.gen.d.ts","../src/fabric/sdk/pikku-fetch.gen.ts","../src/fabric/sdk/pikku-rpc.gen.ts","../src/fabric/sdk/rpc-map.gen.d.ts","../src/functions/commands/all.ts","../src/functions/commands/audit.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/bun-coverage-loader.ts","../src/functions/commands/db-audit.ts","../src/functions/commands/db-baseline.ts","../src/functions/commands/db-check.ts","../src/functions/commands/db-codegen.ts","../src/functions/commands/db-export.ts","../src/functions/commands/db-generate.ts","../src/functions/commands/db-migrate.ts","../src/functions/commands/db-reset.ts","../src/functions/commands/db-shared.ts","../src/functions/commands/deploy-apply.ts","../src/functions/commands/deploy-info.ts","../src/functions/commands/deploy-plan.ts","../src/functions/commands/dev-agent-runner.ts","../src/functions/commands/dev.ts","../src/functions/commands/doc.ts","../src/functions/commands/emails-init.ts","../src/functions/commands/enable.ts","../src/functions/commands/environment.ts","../src/functions/commands/import-n8n.ts","../src/functions/commands/info.ts","../src/functions/commands/knowledge-index.ts","../src/functions/commands/knowledge-validate.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/login.ts","../src/functions/commands/meta.ts","../src/functions/commands/new-addon.ts","../src/functions/commands/new-function.ts","../src/functions/commands/new-middleware.ts","../src/functions/commands/new-permission.ts","../src/functions/commands/new-wiring.ts","../src/functions/commands/persona-sync.ts","../src/functions/commands/persona.ts","../src/functions/commands/pikku-command-bootstrap.ts","../src/functions/commands/pikku-command-summary.ts","../src/functions/commands/roles-audit.ts","../src/functions/commands/roles-prune.ts","../src/functions/commands/roles-shared.ts","../src/functions/commands/scenario-browser.ts","../src/functions/commands/scenario-formatter.ts","../src/functions/commands/scenario-ladder.ts","../src/functions/commands/scenario-plan.ts","../src/functions/commands/scenario.ts","../src/functions/commands/scopes-audit.ts","../src/functions/commands/scopes-prune.ts","../src/functions/commands/scopes-shared.ts","../src/functions/commands/semver-render.ts","../src/functions/commands/semver.ts","../src/functions/commands/serve-console.ts","../src/functions/commands/serve-frontend.ts","../src/functions/commands/serve.ts","../src/functions/commands/skills.ts","../src/functions/commands/start-coverage.ts","../src/functions/commands/update-render.ts","../src/functions/commands/update.ts","../src/functions/commands/validate.ts","../src/functions/commands/versions-check.ts","../src/functions/commands/versions-init.ts","../src/functions/commands/versions-update.ts","../src/functions/commands/virtual-user-formatter.ts","../src/functions/commands/watch.ts","../src/functions/db/annotation-parser.ts","../src/functions/db/better-auth-schema.ts","../src/functions/db/check-enums.ts","../src/functions/db/db-codegen.ts","../src/functions/db/db-introspector.ts","../src/functions/db/db-migrator.ts","../src/functions/db/local-db.ts","../src/functions/db/migration-identifiers.ts","../src/functions/db/migration-provenance.ts","../src/functions/db/schema-sql.ts","../src/functions/db/zod-codegen.ts","../src/functions/db/postgres/pglite-kysely.ts","../src/functions/db/postgres/postgres-introspector.ts","../src/functions/db/postgres/postgres-migrator.ts","../src/functions/db/sqlite/dev-seed.ts","../src/functions/db/sqlite/sqlite-introspector.ts","../src/functions/db/sqlite/sqlite-kysely.ts","../src/functions/db/sqlite/sqlite-migrator.ts","../src/functions/db/sqlite/sqlite-runtime-bun.ts","../src/functions/db/sqlite/sqlite-runtime-node.ts","../src/functions/db/sqlite/sqlite-runtime.ts","../src/functions/knowledge/render.ts","../src/functions/knowledge/schemas.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/surface/build-surface-doc.ts","../src/functions/surface/collect-snippets.ts","../src/functions/surface/collect-surface-usage.ts","../src/functions/surface/collect-surface.ts","../src/functions/surface/generate-surface-doc.ts","../src/functions/surface/render-surface-doc.ts","../src/functions/surface/shipped-surface-doc.ts","../src/functions/surface/surface-doc.types.ts","../src/functions/surface/surface-editorial.ts","../src/functions/surface/write-surface-usage.ts","../src/functions/validate/addon-package-checks.ts","../src/functions/validate/auth-plugin-checks.ts","../src/functions/validate/bootstrap-checks.ts","../src/functions/validate/persona-checks.ts","../src/functions/validate/pikku-barrel-checks.ts","../src/functions/validate/scenario-file-checks.ts","../src/functions/validate/shared-checks.ts","../src/functions/validate/type-identity-checks.ts","../src/functions/validate/validate-registry.ts","../src/functions/validate/validate.ts","../src/functions/validate/websocket-deps-checks.ts","../src/functions/validate/workspace-exports-checks.ts","../src/functions/wirings/agent/pikku-command-agent-types.ts","../src/functions/wirings/agent/pikku-command-agent.ts","../src/functions/wirings/agent/pikku-command-public-agent.ts","../src/functions/wirings/agent/serialize-agent-map.ts","../src/functions/wirings/agent/serialize-agent-types.ts","../src/functions/wirings/agent/serialize-model-aliases.ts","../src/functions/wirings/agent/serialize-public-agent.ts","../src/functions/wirings/agent-scorer/pikku-command-agent-scorer.ts","../src/functions/wirings/agent-scorer/serialize-scorer-names.ts","../src/functions/wirings/auth/pikku-command-auth.ts","../src/functions/wirings/auth/serialize-auth-gen.ts","../src/functions/wirings/auth/serialize-auth-guards.ts","../src/functions/wirings/auth/serialize-auth-meta.ts","../src/functions/wirings/auth/serialize-auth-types.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-entrypoint-guard.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/console/pikku-command-console-functions.ts","../src/functions/wirings/console/pikku-command-nodes-meta.ts","../src/functions/wirings/console/serialize-console-functions.ts","../src/functions/wirings/credentials/pikku-command-credentials.ts","../src/functions/wirings/credentials/serialize-credentials-types.ts","../src/functions/wirings/emails/pikku-command-emails.ts","../src/functions/wirings/emails/serialize-emails.ts","../src/functions/wirings/errors/pikku-command-error-types.ts","../src/functions/wirings/errors/serialize-error-types.ts","../src/functions/wirings/functions/pikku-command-addon-types.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-leaf-indexes.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-addon-refs.ts","../src/functions/wirings/functions/serialize-addon-types.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-leaf-index.ts","../src/functions/wirings/gateway/pikku-command-gateway-types.ts","../src/functions/wirings/gateway/pikku-command-gateway.ts","../src/functions/wirings/gateway/serialize-gateway-meta.ts","../src/functions/wirings/gateway/serialize-gateway-types.ts","../src/functions/wirings/graph/pikku-command-graph-wirings.ts","../src/functions/wirings/graph/serialize-graph-wirings.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/middleware/serialize-middleware-types.ts","../src/functions/wirings/package/pikku-command-package-types.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package-types.ts","../src/functions/wirings/package/serialize-package.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/personas/personas-secrets-file.ts","../src/functions/wirings/personas/pikku-command-personas.ts","../src/functions/wirings/personas/serialize-personas-secrets.ts","../src/functions/wirings/personas/serialize-personas-types.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/realtime/pikku-command-events-scaffold.ts","../src/functions/wirings/realtime/pikku-command-realtime.ts","../src/functions/wirings/realtime/serialize-events-scaffold.ts","../src/functions/wirings/realtime/serialize-realtime-client.ts","../src/functions/wirings/roles/pikku-command-roles.ts","../src/functions/wirings/roles/serialize-roles-types.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-react-query.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-react-query-hooks.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scenarios/register-scenario-instrumentation.ts","../src/functions/wirings/scenarios/scenario-partition.ts","../src/functions/wirings/scenarios/scenario-schema-partition.ts","../src/functions/wirings/scenarios/serialize-feature-meta.ts","../src/functions/wirings/scenarios/serialize-scenario-meta.ts","../src/functions/wirings/scenarios/serialize-scenario-registration.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/scopes/pikku-command-scopes.ts","../src/functions/wirings/scopes/serialize-scopes-client.ts","../src/functions/wirings/scopes/serialize-scopes-types.ts","../src/functions/wirings/secrets/pikku-command-secrets.ts","../src/functions/wirings/secrets/serialize-secrets-types.ts","../src/functions/wirings/setup/serialize-setup-types.ts","../src/functions/wirings/triggers/pikku-command-trigger-types.ts","../src/functions/wirings/triggers/pikku-command-trigger.ts","../src/functions/wirings/triggers/serialize-trigger-meta.ts","../src/functions/wirings/triggers/serialize-trigger-types.ts","../src/functions/wirings/user-admin/pikku-command-user-admin-functions.ts","../src/functions/wirings/user-admin/serialize-user-admin-functions.ts","../src/functions/wirings/variables/pikku-command-variables.ts","../src/functions/wirings/variables/serialize-variables-types.ts","../src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.ts","../src/functions/wirings/virtual-user/serialize-virtual-user-functions.ts","../src/functions/wirings/webhook/pikku-command-webhook.ts","../src/functions/wirings/webhook/serialize-webhook.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-personas.ts","../src/functions/wirings/workflow/serialize-scenario-step-map.ts","../src/functions/wirings/workflow/serialize-scenario-types.ts","../src/functions/wirings/workflow/serialize-workflow-bootstrap-map.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-routes.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/workflows/all.workflow.ts","../src/middleware/log-command-info-and-time.ts","../src/server/actor-sign-in.ts","../src/server/bun-server-runner.ts","../src/server/content-signing-jwt.ts","../src/server/dev-server-runner.interface.ts","../src/server/node-server-runner.ts","../src/server/server-ready.ts","../src/server/spawn-dev-server.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/assert-single-core-version.ts","../src/utils/check-required-types.ts","../src/utils/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/detect-better-auth.ts","../src/utils/device-auth.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/frontend.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/is-deploy-codegen.ts","../src/utils/leaf-import-path.ts","../src/utils/meta-diff.ts","../src/utils/model-alias-override.ts","../src/utils/parse-cli-filters.ts","../src/utils/persona-credentials.ts","../src/utils/pikku-cli-config-error.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/precise-coverage-map.ts","../src/utils/remove-legacy-scaffold-file.ts","../src/utils/resolve-from-project.ts","../src/utils/resolve-personas.ts","../src/utils/resolve-scaffold-feature.ts","../src/utils/schema-diff.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../src/utils/surface-diff.ts","../src/utils/surface.ts","../src/utils/tsc-check.ts","../.pikku/pikku-bootstrap-scenarios.gen.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/addon/index.ts","../.pikku/addon/pikku-addon-types.gen.ts","../.pikku/agent/index.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/agent/pikku-model-aliases.gen.ts","../.pikku/agent/pikku-scorer-names.gen.d.ts","../.pikku/auth/auth.types.ts","../.pikku/auth/index.ts","../.pikku/auth/pikku-auth-types.gen.ts","../.pikku/channel/index.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/index.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-contracts-meta.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/error/index.ts","../.pikku/error/pikku-error-types.gen.ts","../.pikku/function/index.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions.gen.ts","../.pikku/gateway/index.ts","../.pikku/gateway/pikku-gateway-types.gen.ts","../.pikku/http/index.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/mcp/index.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/middleware/index.ts","../.pikku/middleware/pikku-middleware-types.gen.ts","../.pikku/node/pikku-node-types.gen.ts","../.pikku/queue/index.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts","../.pikku/scenarios/index.ts","../.pikku/scenarios/pikku-personas.gen.ts","../.pikku/scenarios/pikku-scenario-functions-meta.gen.ts","../.pikku/scenarios/pikku-scenario-functions.gen.ts","../.pikku/scenarios/pikku-scenario-types.gen.ts","../.pikku/scenarios/pikku-scenario-wirings-meta.gen.ts","../.pikku/scenarios/pikku-scenario-wirings.gen.ts","../.pikku/scenarios/schemas/register.gen.ts","../.pikku/scheduler/index.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/scopes/index.ts","../.pikku/scopes/pikku-personas.gen.ts","../.pikku/scopes/pikku-roles.gen.ts","../.pikku/scopes/pikku-scope-types.gen.ts","../.pikku/scopes/pikku-scopes.gen.ts","../.pikku/secrets/index.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/services/pikku-meta-service.gen.ts","../.pikku/setup/index.ts","../.pikku/setup/pikku-setup-types.gen.ts","../.pikku/trigger/index.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/index.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.gen.ts","../.pikku/workflow/index.ts","../.pikku/workflow/pikku-scenario-step-map.gen.d.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/bun-sqlite.d.ts","../types/config.d.ts"],"version":"6.0.3"}
1
+ {"root":["../bin/pikku.ts","../src/cli.wiring.ts","../src/services.ts","../src/deploy/build-pipeline.ts","../src/deploy/frontend-assets.ts","../src/deploy/server-entry.ts","../src/deploy/analyzer/analyzer.ts","../src/deploy/analyzer/index.ts","../src/deploy/bundler/bun-bundler.ts","../src/deploy/bundler/bundler.interface.ts","../src/deploy/bundler/bundler.ts","../src/deploy/bundler/dep-extractor.ts","../src/deploy/bundler/index.ts","../src/deploy/bundler/node-bundler.ts","../src/deploy/bundler/service-module-map.ts","../src/deploy/bundler/types.ts","../src/deploy/codegen/index.ts","../src/deploy/codegen/per-unit-codegen.ts","../src/deploy/plan/executor.ts","../src/deploy/plan/formatter.ts","../src/deploy/plan/index.ts","../src/deploy/plan/planner.ts","../src/deploy/plan/provider.ts","../src/deploy/plan/types.ts","../src/fabric/fabric-commands.ts","../src/fabric/functions/add.function.ts","../src/fabric/functions/addon-verify.function.ts","../src/fabric/functions/db-schema.function.ts","../src/fabric/functions/deploy-list.function.ts","../src/fabric/functions/deploy-units.function.ts","../src/fabric/functions/deploy.function.ts","../src/fabric/functions/domains-add.function.ts","../src/fabric/functions/domains-list.function.ts","../src/fabric/functions/domains-remove.function.ts","../src/fabric/functions/errors.function.ts","../src/fabric/functions/findings-clear.function.ts","../src/fabric/functions/findings-flush.function.ts","../src/fabric/functions/findings-list.function.ts","../src/fabric/functions/init.function.ts","../src/fabric/functions/link.function.ts","../src/fabric/functions/llm-key.function.ts","../src/fabric/functions/login.function.ts","../src/fabric/functions/logs.function.ts","../src/fabric/functions/metrics.function.ts","../src/fabric/functions/projects-list.function.ts","../src/fabric/functions/publish.function.ts","../src/fabric/functions/report.function.ts","../src/fabric/functions/rollback.function.ts","../src/fabric/functions/secrets-delete.function.ts","../src/fabric/functions/secrets-list.function.ts","../src/fabric/functions/secrets-rotate.function.ts","../src/fabric/functions/secrets-set.function.ts","../src/fabric/functions/smoke.function.ts","../src/fabric/functions/status.function.ts","../src/fabric/functions/trace.function.ts","../src/fabric/functions/validate.function.ts","../src/fabric/functions/variables-get.function.ts","../src/fabric/functions/variables-set.function.ts","../src/fabric/lib/blank-comments.ts","../src/fabric/lib/blank-scenario-meta.ts","../src/fabric/lib/config.ts","../src/fabric/lib/console-url.ts","../src/fabric/lib/deployment.ts","../src/fabric/lib/finding-spool.ts","../src/fabric/lib/finding.ts","../src/fabric/lib/frontend-typecheck.ts","../src/fabric/lib/git.ts","../src/fabric/lib/http.ts","../src/fabric/lib/not-implemented.ts","../src/fabric/lib/output.ts","../src/fabric/lib/prompt.ts","../src/fabric/lib/report-environment.ts","../src/fabric/lib/sealed-box.ts","../src/fabric/lib/stage.ts","../src/fabric/lib/variable-value.ts","../src/fabric/sdk/http-map.gen.d.ts","../src/fabric/sdk/pikku-fetch.gen.ts","../src/fabric/sdk/pikku-rpc.gen.ts","../src/fabric/sdk/rpc-map.gen.d.ts","../src/functions/commands/all.ts","../src/functions/commands/audit.ts","../src/functions/commands/binary.ts","../src/functions/commands/bootstrap.ts","../src/functions/commands/bun-coverage-loader.ts","../src/functions/commands/db-audit.ts","../src/functions/commands/db-baseline.ts","../src/functions/commands/db-check.ts","../src/functions/commands/db-codegen.ts","../src/functions/commands/db-export.ts","../src/functions/commands/db-generate.ts","../src/functions/commands/db-migrate.ts","../src/functions/commands/db-reset.ts","../src/functions/commands/db-shared.ts","../src/functions/commands/deploy-apply.ts","../src/functions/commands/deploy-info.ts","../src/functions/commands/deploy-plan.ts","../src/functions/commands/dev-agent-runner.ts","../src/functions/commands/dev.ts","../src/functions/commands/dist.ts","../src/functions/commands/doc.ts","../src/functions/commands/emails-init.ts","../src/functions/commands/enable.ts","../src/functions/commands/environment.ts","../src/functions/commands/import-n8n.ts","../src/functions/commands/info.ts","../src/functions/commands/knowledge-index.ts","../src/functions/commands/knowledge-plan.ts","../src/functions/commands/knowledge-validate.ts","../src/functions/commands/load-user-project.ts","../src/functions/commands/login.ts","../src/functions/commands/meta.ts","../src/functions/commands/new-addon.ts","../src/functions/commands/new-function.ts","../src/functions/commands/new-middleware.ts","../src/functions/commands/new-permission.ts","../src/functions/commands/new-wiring.ts","../src/functions/commands/persona-sync.ts","../src/functions/commands/persona.ts","../src/functions/commands/pikku-command-bootstrap.ts","../src/functions/commands/pikku-command-summary.ts","../src/functions/commands/roles-audit.ts","../src/functions/commands/roles-prune.ts","../src/functions/commands/roles-shared.ts","../src/functions/commands/scenario-browser.ts","../src/functions/commands/scenario-formatter.ts","../src/functions/commands/scenario-ladder.ts","../src/functions/commands/scenario-plan.ts","../src/functions/commands/scenario.ts","../src/functions/commands/scopes-audit.ts","../src/functions/commands/scopes-prune.ts","../src/functions/commands/scopes-shared.ts","../src/functions/commands/semver-render.ts","../src/functions/commands/semver.ts","../src/functions/commands/serve-console.ts","../src/functions/commands/serve-frontend.ts","../src/functions/commands/serve.ts","../src/functions/commands/skills.ts","../src/functions/commands/start-coverage.ts","../src/functions/commands/update-render.ts","../src/functions/commands/update.ts","../src/functions/commands/validate.ts","../src/functions/commands/versions-check.ts","../src/functions/commands/versions-init.ts","../src/functions/commands/versions-update.ts","../src/functions/commands/virtual-user-formatter.ts","../src/functions/commands/watch.ts","../src/functions/db/annotation-parser.ts","../src/functions/db/better-auth-schema.ts","../src/functions/db/check-enums.ts","../src/functions/db/db-codegen.ts","../src/functions/db/db-introspector.ts","../src/functions/db/local-db.ts","../src/functions/db/migration-provenance.ts","../src/functions/db/zod-codegen.ts","../src/functions/db/postgres/pglite-kysely.ts","../src/functions/db/postgres/postgres-introspector.ts","../src/functions/db/sqlite/dev-seed.ts","../src/functions/db/sqlite/sqlite-introspector.ts","../src/functions/db/sqlite/sqlite-kysely.ts","../src/functions/knowledge/render.ts","../src/functions/knowledge/schemas.ts","../src/functions/runtimes/fetch/index.ts","../src/functions/runtimes/nextjs/pikku-command-nextjs.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-worker-rpc-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts","../src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts","../src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.ts","../src/functions/runtimes/tanstack-start/serialize-tanstack-start-shim.ts","../src/functions/runtimes/websocket/pikku-command-websocket-typed.ts","../src/functions/runtimes/websocket/serialize-websocket-wrapper.ts","../src/functions/surface/build-surface-doc.ts","../src/functions/surface/collect-snippets.ts","../src/functions/surface/collect-surface-usage.ts","../src/functions/surface/collect-surface.ts","../src/functions/surface/generate-surface-doc.ts","../src/functions/surface/render-surface-doc.ts","../src/functions/surface/shipped-surface-doc.ts","../src/functions/surface/surface-doc.types.ts","../src/functions/surface/surface-editorial.ts","../src/functions/surface/write-surface-usage.ts","../src/functions/validate/addon-package-checks.ts","../src/functions/validate/auth-plugin-checks.ts","../src/functions/validate/bootstrap-checks.ts","../src/functions/validate/persona-checks.ts","../src/functions/validate/pikku-barrel-checks.ts","../src/functions/validate/scenario-file-checks.ts","../src/functions/validate/shared-checks.ts","../src/functions/validate/type-identity-checks.ts","../src/functions/validate/validate-registry.ts","../src/functions/validate/validate.ts","../src/functions/validate/websocket-deps-checks.ts","../src/functions/validate/workspace-exports-checks.ts","../src/functions/wirings/agent/pikku-command-agent-types.ts","../src/functions/wirings/agent/pikku-command-agent.ts","../src/functions/wirings/agent/pikku-command-public-agent.ts","../src/functions/wirings/agent/serialize-agent-map.ts","../src/functions/wirings/agent/serialize-agent-types.ts","../src/functions/wirings/agent/serialize-model-aliases.ts","../src/functions/wirings/agent/serialize-public-agent.ts","../src/functions/wirings/agent-scorer/pikku-command-agent-scorer.ts","../src/functions/wirings/agent-scorer/serialize-scorer-names.ts","../src/functions/wirings/auth/pikku-command-auth.ts","../src/functions/wirings/auth/serialize-auth-gen.ts","../src/functions/wirings/auth/serialize-auth-guards.ts","../src/functions/wirings/auth/serialize-auth-meta.ts","../src/functions/wirings/auth/serialize-auth-types.ts","../src/functions/wirings/channels/pikku-channels.ts","../src/functions/wirings/channels/pikku-command-channel-types.ts","../src/functions/wirings/channels/pikku-command-channels-map.ts","../src/functions/wirings/channels/pikku-command-channels.ts","../src/functions/wirings/channels/serialize-channel-types.ts","../src/functions/wirings/channels/serialize-typed-channel-map.ts","../src/functions/wirings/cli/pikku-command-cli-entry.ts","../src/functions/wirings/cli/pikku-command-cli-types.ts","../src/functions/wirings/cli/pikku-command-cli.ts","../src/functions/wirings/cli/serialize-channel-cli-client.ts","../src/functions/wirings/cli/serialize-channel-cli.ts","../src/functions/wirings/cli/serialize-cli-entrypoint-guard.ts","../src/functions/wirings/cli/serialize-cli-types.ts","../src/functions/wirings/cli/serialize-local-cli-bootstrap.ts","../src/functions/wirings/console/pikku-command-console-functions.ts","../src/functions/wirings/console/pikku-command-nodes-meta.ts","../src/functions/wirings/console/serialize-console-functions.ts","../src/functions/wirings/credentials/pikku-command-credentials.ts","../src/functions/wirings/credentials/serialize-credentials-types.ts","../src/functions/wirings/emails/pikku-command-emails.ts","../src/functions/wirings/emails/serialize-emails.ts","../src/functions/wirings/errors/pikku-command-error-types.ts","../src/functions/wirings/errors/serialize-error-types.ts","../src/functions/wirings/functions/pikku-command-addon-types.ts","../src/functions/wirings/functions/pikku-command-function-types-split.ts","../src/functions/wirings/functions/pikku-command-functions.ts","../src/functions/wirings/functions/pikku-command-leaf-indexes.ts","../src/functions/wirings/functions/pikku-command-services.ts","../src/functions/wirings/functions/schemas.ts","../src/functions/wirings/functions/serialize-addon-refs.ts","../src/functions/wirings/functions/serialize-addon-types.ts","../src/functions/wirings/functions/serialize-function-imports.ts","../src/functions/wirings/functions/serialize-function-types.ts","../src/functions/wirings/functions/serialize-leaf-index.ts","../src/functions/wirings/gateway/pikku-command-gateway-types.ts","../src/functions/wirings/gateway/pikku-command-gateway.ts","../src/functions/wirings/gateway/serialize-gateway-meta.ts","../src/functions/wirings/gateway/serialize-gateway-types.ts","../src/functions/wirings/graph/pikku-command-graph-wirings.ts","../src/functions/wirings/graph/serialize-graph-wirings.ts","../src/functions/wirings/http/pikku-command-http-map.ts","../src/functions/wirings/http/pikku-command-http-routes.ts","../src/functions/wirings/http/pikku-command-http-types.ts","../src/functions/wirings/http/pikku-command-openapi.ts","../src/functions/wirings/http/pikku-http-routes.ts","../src/functions/wirings/http/serialize-fetch-wrapper.ts","../src/functions/wirings/http/serialize-http-types.ts","../src/functions/wirings/http/serialize-typed-http-map.ts","../src/functions/wirings/mcp/pikku-command-mcp-json.ts","../src/functions/wirings/mcp/pikku-command-mcp-types.ts","../src/functions/wirings/mcp/pikku-command-mcp.ts","../src/functions/wirings/mcp/serialize-mcp-types.ts","../src/functions/wirings/middleware/pikku-command-middleware.ts","../src/functions/wirings/middleware/serialize-middleware-imports.ts","../src/functions/wirings/middleware/serialize-middleware-types.ts","../src/functions/wirings/package/pikku-command-package-types.ts","../src/functions/wirings/package/pikku-command-package.ts","../src/functions/wirings/package/serialize-package-types.ts","../src/functions/wirings/package/serialize-package.ts","../src/functions/wirings/permissions/pikku-command-permissions.ts","../src/functions/wirings/permissions/serialize-permissions-imports.ts","../src/functions/wirings/personas/personas-secrets-file.ts","../src/functions/wirings/personas/pikku-command-personas.ts","../src/functions/wirings/personas/serialize-personas-secrets.ts","../src/functions/wirings/personas/serialize-personas-types.ts","../src/functions/wirings/queue/pikku-command-queue-map.ts","../src/functions/wirings/queue/pikku-command-queue-service.ts","../src/functions/wirings/queue/pikku-command-queue-types.ts","../src/functions/wirings/queue/pikku-command-queue.ts","../src/functions/wirings/queue/pikku-queue-map.ts","../src/functions/wirings/queue/pikku-queue.ts","../src/functions/wirings/queue/serialize-queue-map.ts","../src/functions/wirings/queue/serialize-queue-meta.ts","../src/functions/wirings/queue/serialize-queue-types.ts","../src/functions/wirings/queue/serialize-queue-wrapper.ts","../src/functions/wirings/realtime/pikku-command-events-scaffold.ts","../src/functions/wirings/realtime/pikku-command-realtime.ts","../src/functions/wirings/realtime/serialize-events-scaffold.ts","../src/functions/wirings/realtime/serialize-realtime-client.ts","../src/functions/wirings/roles/pikku-command-roles.ts","../src/functions/wirings/roles/serialize-roles-types.ts","../src/functions/wirings/rpc/pikku-command-public-rpc.ts","../src/functions/wirings/rpc/pikku-command-react-query.ts","../src/functions/wirings/rpc/pikku-command-remote-rpc.ts","../src/functions/wirings/rpc/pikku-command-rpc-client.ts","../src/functions/wirings/rpc/pikku-command-rpc-map.ts","../src/functions/wirings/rpc/pikku-command-rpc.ts","../src/functions/wirings/rpc/serialize-public-rpc.ts","../src/functions/wirings/rpc/serialize-react-query-hooks.ts","../src/functions/wirings/rpc/serialize-remote-rpc.ts","../src/functions/wirings/rpc/serialize-rpc-wrapper.ts","../src/functions/wirings/rpc/serialize-typed-rpc-map.ts","../src/functions/wirings/scenarios/register-scenario-instrumentation.ts","../src/functions/wirings/scenarios/scenario-partition.ts","../src/functions/wirings/scenarios/scenario-schema-partition.ts","../src/functions/wirings/scenarios/serialize-feature-meta.ts","../src/functions/wirings/scenarios/serialize-scenario-meta.ts","../src/functions/wirings/scenarios/serialize-scenario-registration.ts","../src/functions/wirings/scheduler/pikku-command-scheduler-types.ts","../src/functions/wirings/scheduler/pikku-command-scheduler.ts","../src/functions/wirings/scheduler/serialize-scheduler-meta.ts","../src/functions/wirings/scheduler/serialize-scheduler-types.ts","../src/functions/wirings/scopes/pikku-command-scopes.ts","../src/functions/wirings/scopes/serialize-scopes-client.ts","../src/functions/wirings/scopes/serialize-scopes-types.ts","../src/functions/wirings/secrets/pikku-command-secrets.ts","../src/functions/wirings/secrets/serialize-secrets-types.ts","../src/functions/wirings/setup/serialize-setup-types.ts","../src/functions/wirings/triggers/pikku-command-trigger-types.ts","../src/functions/wirings/triggers/pikku-command-trigger.ts","../src/functions/wirings/triggers/serialize-trigger-meta.ts","../src/functions/wirings/triggers/serialize-trigger-types.ts","../src/functions/wirings/user-admin/pikku-command-user-admin-functions.ts","../src/functions/wirings/user-admin/serialize-user-admin-functions.ts","../src/functions/wirings/variables/pikku-command-variables.ts","../src/functions/wirings/variables/serialize-variables-types.ts","../src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.ts","../src/functions/wirings/virtual-user/serialize-virtual-user-functions.ts","../src/functions/wirings/webhook/pikku-command-webhook.ts","../src/functions/wirings/webhook/serialize-webhook.ts","../src/functions/wirings/workflow/pikku-command-workflow-routes.ts","../src/functions/wirings/workflow/pikku-command-workflow.ts","../src/functions/wirings/workflow/serialize-personas.ts","../src/functions/wirings/workflow/serialize-scenario-step-map.ts","../src/functions/wirings/workflow/serialize-scenario-types.ts","../src/functions/wirings/workflow/serialize-workflow-bootstrap-map.ts","../src/functions/wirings/workflow/serialize-workflow-map.ts","../src/functions/wirings/workflow/serialize-workflow-meta.ts","../src/functions/wirings/workflow/serialize-workflow-registration.ts","../src/functions/wirings/workflow/serialize-workflow-routes.ts","../src/functions/wirings/workflow/serialize-workflow-types.ts","../src/functions/workflows/all.workflow.ts","../src/middleware/log-command-info-and-time.ts","../src/server/actor-sign-in.ts","../src/server/bun-server-runner.ts","../src/server/content-signing-jwt.ts","../src/server/dev-server-runner.interface.ts","../src/server/node-server-runner.ts","../src/server/server-ready.ts","../src/server/spawn-dev-server.ts","../src/services/cli-logger-forwarder.service.ts","../src/services/cli-logger.service.ts","../src/utils/assert-single-core-version.ts","../src/utils/check-required-types.ts","../src/utils/cli-session.ts","../src/utils/command-summary.ts","../src/utils/contract-versions.ts","../src/utils/detect-better-auth.ts","../src/utils/device-auth.ts","../src/utils/file-import-path.ts","../src/utils/file-imports-serializer.ts","../src/utils/file-writer.ts","../src/utils/frontend.ts","../src/utils/generate-bootstrap-file.ts","../src/utils/get-cli-version.ts","../src/utils/is-deploy-codegen.ts","../src/utils/leaf-import-path.ts","../src/utils/meta-diff.ts","../src/utils/model-alias-override.ts","../src/utils/parse-cli-filters.ts","../src/utils/persona-credentials.ts","../src/utils/pikku-cli-config-error.ts","../src/utils/pikku-cli-config.ts","../src/utils/pikku-files-and-methods.ts","../src/utils/precise-coverage-map.ts","../src/utils/remove-legacy-scaffold-file.ts","../src/utils/resolve-from-project.ts","../src/utils/resolve-personas.ts","../src/utils/resolve-scaffold-feature.ts","../src/utils/schema-diff.ts","../src/utils/serialize-import-map.ts","../src/utils/serialize-meta-ts.ts","../src/utils/serialize-schemas.ts","../src/utils/strip-verbose-meta.ts","../src/utils/surface-diff.ts","../src/utils/surface.ts","../src/utils/tsc-check.ts","../.pikku/pikku-bootstrap-scenarios.gen.ts","../.pikku/pikku-bootstrap.gen.ts","../.pikku/pikku-services.gen.ts","../.pikku/addon/index.ts","../.pikku/addon/pikku-addon-types.gen.ts","../.pikku/agent/index.ts","../.pikku/agent/pikku-agent-map.gen.d.ts","../.pikku/agent/pikku-agent-types.gen.ts","../.pikku/agent/pikku-model-aliases.gen.ts","../.pikku/agent/pikku-scorer-names.gen.d.ts","../.pikku/auth/auth.types.ts","../.pikku/auth/index.ts","../.pikku/auth/pikku-auth-types.gen.ts","../.pikku/channel/index.ts","../.pikku/channel/pikku-channel-types.gen.ts","../.pikku/cli/index.ts","../.pikku/cli/pikku-cli-channel.ts","../.pikku/cli/pikku-cli-client.gen.ts","../.pikku/cli/pikku-cli-contracts-meta.gen.ts","../.pikku/cli/pikku-cli-types.gen.ts","../.pikku/cli/pikku-cli-wirings-meta.gen.ts","../.pikku/cli/pikku-cli-wirings.gen.ts","../.pikku/cli/pikku-cli.gen.ts","../.pikku/error/index.ts","../.pikku/error/pikku-error-types.gen.ts","../.pikku/function/index.ts","../.pikku/function/pikku-function-types.gen.ts","../.pikku/function/pikku-functions-meta.gen.ts","../.pikku/function/pikku-functions.gen.ts","../.pikku/gateway/index.ts","../.pikku/gateway/pikku-gateway-types.gen.ts","../.pikku/http/index.ts","../.pikku/http/pikku-http-types.gen.ts","../.pikku/mcp/index.ts","../.pikku/mcp/pikku-mcp-types.gen.ts","../.pikku/middleware/index.ts","../.pikku/middleware/pikku-middleware-types.gen.ts","../.pikku/node/pikku-node-types.gen.ts","../.pikku/queue/index.ts","../.pikku/queue/pikku-queue-types.gen.ts","../.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts","../.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts","../.pikku/queue/pikku-queue-workers-wirings.gen.ts","../.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts","../.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts","../.pikku/scenarios/index.ts","../.pikku/scenarios/pikku-personas.gen.ts","../.pikku/scenarios/pikku-scenario-functions-meta.gen.ts","../.pikku/scenarios/pikku-scenario-functions.gen.ts","../.pikku/scenarios/pikku-scenario-types.gen.ts","../.pikku/scenarios/pikku-scenario-wirings-meta.gen.ts","../.pikku/scenarios/pikku-scenario-wirings.gen.ts","../.pikku/scenarios/schemas/register.gen.ts","../.pikku/scheduler/index.ts","../.pikku/scheduler/pikku-scheduler-types.gen.ts","../.pikku/schemas/register.gen.ts","../.pikku/scopes/index.ts","../.pikku/scopes/pikku-personas.gen.ts","../.pikku/scopes/pikku-roles.gen.ts","../.pikku/scopes/pikku-scope-types.gen.ts","../.pikku/scopes/pikku-scopes.gen.ts","../.pikku/secrets/index.ts","../.pikku/secrets/pikku-secret-types.gen.ts","../.pikku/secrets/pikku-secrets.gen.ts","../.pikku/services/pikku-meta-service.gen.ts","../.pikku/setup/index.ts","../.pikku/setup/pikku-setup-types.gen.ts","../.pikku/trigger/index.ts","../.pikku/trigger/pikku-trigger-types.gen.ts","../.pikku/variables/index.ts","../.pikku/variables/pikku-variable-types.gen.ts","../.pikku/variables/pikku-variables.gen.ts","../.pikku/workflow/index.ts","../.pikku/workflow/pikku-scenario-step-map.gen.d.ts","../.pikku/workflow/pikku-workflow-map.gen.d.ts","../.pikku/workflow/pikku-workflow-types.gen.ts","../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts","../.pikku/workflow/pikku-workflow-wirings.gen.ts","../types/application-types.d.ts","../types/bun-sqlite.d.ts","../types/config.d.ts"],"version":"6.0.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/cli",
3
- "version": "0.12.127",
3
+ "version": "0.12.133",
4
4
  "description": "Pikku CLI — code generation, dev server, migrations and deployment",
5
5
  "author": "yasser.fadl@gmail.com",
6
6
  "license": "BUSL-1.1",
@@ -31,20 +31,21 @@
31
31
  "@jridgewell/trace-mapping": "^0.3.31",
32
32
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.4",
33
33
  "@pikku/ai-vercel": "^0.12.13",
34
- "@pikku/better-auth": "^0.12.34",
35
- "@pikku/bun-server": "^0.12.10",
34
+ "@pikku/better-auth": "^0.12.36",
35
+ "@pikku/bun-server": "^0.12.11",
36
36
  "@pikku/code-edit": "^0.12.1",
37
- "@pikku/deploy": "^0.12.2",
37
+ "@pikku/deploy": "^0.12.5",
38
38
  "@pikku/deploy-cloudflare": "^0.12.13",
39
39
  "@pikku/fetch": "^0.12.10",
40
- "@pikku/inspector": "^0.12.69",
41
- "@pikku/knowledge": "^0.12.7",
40
+ "@pikku/inspector": "^0.12.71",
41
+ "@pikku/knowledge": "^0.12.9",
42
42
  "@pikku/kysely": "^0.13.23",
43
+ "@pikku/migrator-sql": "^0.12.3",
43
44
  "@pikku/n8n-import": "^0.0.7",
44
- "@pikku/node-http-server": "^0.12.12",
45
+ "@pikku/node-http-server": "^0.12.13",
45
46
  "@pikku/openapi-parser": "^0.12.20",
46
47
  "@pikku/schedule": "^0.12.7",
47
- "@pikku/skills": "^0.12.21",
48
+ "@pikku/skills": "^0.12.25",
48
49
  "@types/cookie": "^1.0.0",
49
50
  "@types/json-schema": "^7.0.15",
50
51
  "ai": "^7.0.66",
@@ -67,14 +68,14 @@
67
68
  "zod-to-ts": "^2.1.0"
68
69
  },
69
70
  "peerDependencies": {
70
- "@pikku/core": "^0.12.100",
71
+ "@pikku/core": "^0.12.102",
71
72
  "@pikku/playwright": "^0.12.81",
72
73
  "@pikku/ws": "^0.12.9",
73
74
  "better-auth": "^1.6.0",
74
75
  "ws": "^8.21.3"
75
76
  },
76
77
  "devDependencies": {
77
- "@pikku/core": "^0.12.100",
78
+ "@pikku/core": "^0.12.102",
78
79
  "@pikku/playwright": "^0.12.81",
79
80
  "@pikku/ws": "^0.12.9",
80
81
  "@playwright/test": "^1.50.0",
package/snippets.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "aiAgentStream": "// Streaming endpoint — sends text-delta, tool-call, and usage events as they arrive.\nwireHTTP({\n method: 'post',\n route: '/agents/shop/stream',\n func: agentStream('shopAssistant'),\n auth: true,\n})",
15
15
  "aiAgentStreamClient": "export async function agentStreamExamples() {\n pikkuRPC.setServerUrl('http://localhost:4000')\n pikkuRPC.setAuthorizationJWT('user-jwt-token')\n\n const stream = await pikkuRPC.agent.stream('shopAssistant', {\n message: 'Add the cheapest USB hub to my basket',\n threadId: 'thread-123',\n resourceId: 'user-456',\n })\n return stream\n}",
16
16
  "auditDispatch": "await audit?.audit({\n type: 'order.created',\n source: 'explicit',\n occurredAt: new Date().toISOString(),\n metadata: { orderId, userId },\n})",
17
- "betterAuthConfig": "export const auth = pikkuBetterAuth(\n async ({ kysely, secrets, variables, emailService }) => {\n // `.reveal()` at the sink, not earlier: getSecret hands back a nominal\n // SecretValue that no concretely-typed parameter accepts, so every disclosure\n // is one greppable call. Better Auth wants the raw string, and this is where\n // it stops being a secret in the type system.\n const BETTER_AUTH_SECRET = (\n await secrets.getSecret('BETTER_AUTH_SECRET')\n ).reveal()\n // Genuinely optional: unset simply disables /api/auth/sign-in/actor (scenarios\n // off for this deployment) — the actor plugin refuses all sign-ins\n // without it.\n const SCENARIO_ACTOR_SECRET = await secrets\n .getSecret('SCENARIO_ACTOR_SECRET')\n .then((value) => value?.reveal())\n .catch(() => undefined)\n // Fabric operator admin: the RSA public key the control plane's token is\n // verified against. The Fabric deployer pushes FABRIC_AUTH_PUBLIC_KEY onto\n // every stage; locally it's simply absent, which disables /sign-in/fabric.\n // Asymmetric — the app verifies, it can never forge an operator login.\n const FABRIC_AUTH_PUBLIC_KEY = await variables.get('FABRIC_AUTH_PUBLIC_KEY')\n\n return betterAuth({\n secret: BETTER_AUTH_SECRET,\n database: { db: kysely, type: 'sqlite' },\n emailAndPassword: {\n enabled: true,\n // Without this, `requestPasswordReset` succeeds on the client and silently\n // sends nothing — the \"Forgot password?\" flow looks wired and dead-ends.\n // Better Auth builds `url` from its baseURL + the client's redirectTo, so\n // the app only supplies the message. Errors are logged, never swallowed:\n // a reset the user never receives must be visible in the logs.\n sendResetPassword: async ({ user, url }) => {\n await emailService.send({\n to: user.email,\n template: {\n name: 'reset-password',\n data: { email: user.email, resetUrl: url },\n },\n })\n },\n },\n // Stateless session: CLI splits out betterAuthStatelessSession so non-auth\n // units verify the signed cookie instead of bundling better-auth. pikku #737.\n session: { cookieCache: { enabled: true } },\n advanced: { database: { generateId: 'uuid' } },\n // Scenario actors: synthetic users (user.actor = true, see\n // db/sqlite/0002-user-actor.sql) signed in by pikkuScenario via\n // POST /api/auth/sign-in/actor { email, secret }. Never signs in real users.\n //\n // pikkuBan(): adds the banned/banExpires/banReason columns (see\n // db/sqlite/0003-admin.sql) and the session hook that refuses a banned\n // user a session. better-auth's own admin() is refused by the inspector:\n // it authorizes on a `user.role` column while pikku authorizes on scopes,\n // and everything else it offered — list, create, ban, remove, revoke\n // sessions, set password — is scoped RPCs in @pikku/addon-admin.\n //\n // pikkuFabric(): exposes /api/auth/sign-in/fabric — the Fabric control plane\n // mints a short-lived RS256 token and signs in as a synthetic `fabric: true`\n // admin operator (db/sqlite/0004-fabric.sql), so the console Users tab can\n // list/impersonate real users without the operator being one of them. It\n // verifies against FABRIC_AUTH_PUBLIC_KEY; a missing key disables the\n // endpoint.\n plugins: [\n pikkuActor({ secret: SCENARIO_ACTOR_SECRET }),\n pikkuBan(),\n pikkuFabric({ publicKey: FABRIC_AUTH_PUBLIC_KEY }),\n ],\n })\n }\n)",
17
+ "betterAuthConfig": "export const auth = pikkuBetterAuth(\n async ({\n kysely,\n secrets,\n variables,\n emailService,\n scopeService,\n logger,\n }) => {\n // `.reveal()` at the sink, not earlier: getSecret hands back a nominal\n // SecretValue that no concretely-typed parameter accepts, so every disclosure\n // is one greppable call. Better Auth wants the raw string, and this is where\n // it stops being a secret in the type system.\n const BETTER_AUTH_SECRET = (\n await secrets.getSecret('BETTER_AUTH_SECRET')\n ).reveal()\n // Genuinely optional: unset simply disables /api/auth/sign-in/actor (scenarios\n // off for this deployment) — the actor plugin refuses all sign-ins\n // without it.\n const SCENARIO_ACTOR_SECRET = await secrets\n .getSecret('SCENARIO_ACTOR_SECRET')\n .then((value) => value?.reveal())\n .catch(() => undefined)\n // Fabric operator admin: the RSA public key the control plane's token is\n // verified against. The Fabric deployer pushes FABRIC_AUTH_PUBLIC_KEY onto\n // every stage; locally it's simply absent, which disables /sign-in/fabric.\n // Asymmetric — the app verifies, it can never forge an operator login.\n const FABRIC_AUTH_PUBLIC_KEY = await variables.get('FABRIC_AUTH_PUBLIC_KEY')\n\n return betterAuth({\n secret: BETTER_AUTH_SECRET,\n database: { db: kysely, type: 'sqlite' },\n emailAndPassword: {\n enabled: true,\n // Without this, `requestPasswordReset` succeeds on the client and silently\n // sends nothing — the \"Forgot password?\" flow looks wired and dead-ends.\n // Better Auth builds `url` from its baseURL + the client's redirectTo, so\n // the app only supplies the message. Errors are logged, never swallowed:\n // a reset the user never receives must be visible in the logs.\n sendResetPassword: async ({ user, url }) => {\n await emailService.send({\n to: user.email,\n template: {\n name: 'reset-password',\n data: { email: user.email, resetUrl: url },\n },\n })\n },\n },\n // Stateless session: CLI splits out betterAuthStatelessSession so non-auth\n // units verify the signed cookie instead of bundling better-auth. pikku #737.\n session: { cookieCache: { enabled: true } },\n advanced: { database: { generateId: 'uuid' } },\n // Scenario actors: synthetic users (user.actor = true, see\n // db/sqlite/0002-user-actor.sql) signed in by pikkuScenario via\n // POST /api/auth/sign-in/actor { email, secret }. Never signs in real users.\n //\n // pikkuBan(): adds the banned/banExpires/banReason columns (see\n // db/sqlite/0003-admin.sql) and the session hook that refuses a banned\n // user a session. better-auth's own admin() is refused by the inspector:\n // it authorizes on a `user.role` column while pikku authorizes on scopes,\n // and everything else it offered — list, create, ban, remove, revoke\n // sessions, set password — is scoped RPCs in @pikku/addon-admin.\n //\n // pikkuFabric(): exposes /api/auth/sign-in/fabric — the Fabric control plane\n // mints a short-lived RS256 token and signs in as a synthetic `fabric: true`\n // admin operator (db/sqlite/0004-fabric.sql), so the console Users tab can\n // list/impersonate real users without the operator being one of them. It\n // verifies against FABRIC_AUTH_PUBLIC_KEY; a missing key disables the\n // endpoint.\n //\n // `personas` is what provisions the scenario actors. The plugin creates a\n // declared persona's account the first time an operator asks to act as an\n // address the stage has no row for, so a deploy carries its actors with it\n // without a bootstrap step. This does NOT belong in `pikkuServerLifecycle`'s\n // afterStart: that hook only ever runs under `pikku dev` and `pikku serve`,\n // so a deployed stage would provision nobody.\n plugins: [\n pikkuActor({ secret: SCENARIO_ACTOR_SECRET }),\n pikkuBan(),\n pikkuFabric({\n publicKey: FABRIC_AUTH_PUBLIC_KEY,\n scopeService,\n logger,\n personas: {\n personas: personaConfigs,\n environments: personaEnvironments,\n },\n }),\n ],\n })\n }\n)",
18
18
  "cancelOrder": "export const cancelOrder = pikkuFunc({\n expose: true,\n description: 'Cancel a pending order and restore stock.',\n input: CancelOrderInput,\n // Authorization is declared, not written. `scopes` is what the role\n // entitles the caller to and is AND-ed; `permissions` is what is true of\n // this particular row and is OR-ed across keys. Both run before the body,\n // so the function below only ever sees a caller who is allowed to be there.\n //\n // The `support` role holds `orders:cancel` without owning the order, so it\n // passes on the scope; a customer passes on ownership. Neither case needs a\n // branch in the body.\n scopes: ['orders:cancel'],\n permissions: {\n owner: isOrderOwner,\n },\n // `node` describes this function as a step someone can drop into a visual\n // flow: what to call it, where it files, and whether it starts a flow\n // ('trigger'), continues one ('action') or ends it ('end'). Without it the\n // function still works everywhere else — it just does not appear as a node.\n node: {\n displayName: 'Cancel Order',\n category: 'Orders',\n type: 'action',\n },\n func: async ({ kysely, queueService }, { orderId }, { session }) => {\n const order = await kysely\n .selectFrom('order')\n .select(['orderId', 'userId', 'status'])\n .where('orderId', '=', orderId)\n .executeTakeFirst()\n\n if (!order) throw new Error('Order not found')\n if (!['pending', 'paid'].includes(order.status)) {\n throw new Error(`Cannot cancel order in status: ${order.status}`)\n }\n\n // Restore stock\n const items = await kysely\n .selectFrom('orderItem')\n .select(['itemId', 'quantity'])\n .where('orderId', '=', orderId)\n .execute()\n\n const now = new Date().toISOString()\n for (const item of items) {\n await kysely\n .updateTable('item')\n .set((eb) => ({\n stock: eb('stock', '+', item.quantity),\n updatedAt: now,\n }))\n .where('itemId', '=', item.itemId)\n .execute()\n }\n\n await kysely\n .updateTable('order')\n .set({ status: 'cancelled', updatedAt: now })\n .where('orderId', '=', orderId)\n .execute()\n\n await queueService.add('audit-event', {\n entityType: 'order',\n entityId: orderId,\n action: 'cancelled',\n actorId: session.userId,\n })\n },\n})",
19
19
  "channelLifecycle": "export const onConnect = pikkuChannelConnectionFunc(\n async ({ logger }, _, { channel }) => {\n logger.info({ event: 'ws_connected', channelId: channel.channelId })\n }\n)\n\nexport const onDisconnect = pikkuChannelDisconnectionFunc(\n async ({ logger }, _, { channel }) => {\n logger.info({ event: 'ws_disconnected', channelId: channel.channelId })\n }\n)",
20
20
  "channelMiddleware": "export const traceAgentStream = pikkuChannelMiddleware<any, AgentStreamEvent>(\n async ({ logger }, event, next) => {\n logger.debug({ event: 'agent_stream', type: event.type })\n await next(event)\n }\n)",