@pikku/cli 0.12.105 → 0.12.109

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 (803) hide show
  1. package/CHANGELOG.md +7433 -0
  2. package/console-app/assets/abnfDiagram-N423BO3Z-Bz2Ycfpe.js +1 -0
  3. package/console-app/assets/arc-D8VmsdJb.js +1 -0
  4. package/console-app/assets/architecture-TIHT7OUA-5QhJKy4P.js +1 -0
  5. package/console-app/assets/architectureDiagram-T3A2C74G-CvAkxhy0.js +36 -0
  6. package/console-app/assets/{blockDiagram-677ZJIJ3-CMNoQhwm.js → blockDiagram-VBNYF7ZC-CuVOo2PB.js} +5 -5
  7. package/console-app/assets/c4Diagram-5PPSVZJV-4Vg8SxCa.js +10 -0
  8. package/console-app/assets/channel-DoE3nnYB.js +1 -0
  9. package/console-app/assets/{chunk-32BRIVSS-DC3ZGIPN.js → chunk-2GRJ4B5K-CKKR4_dC.js} +1 -1
  10. package/console-app/assets/{chunk-HOUHSVGY-DMorD8Ib.js → chunk-4I5QYGJK-C-m_kVjm.js} +1 -1
  11. package/console-app/assets/chunk-5RXB4S5H-CyUGtd0h.js +231 -0
  12. package/console-app/assets/{chunk-MOJQB5TN-6BhXmDyj.js → chunk-6Q2QTUOP-BuzItInf.js} +1 -1
  13. package/console-app/assets/chunk-7Z6QIM7H-BGiBPuWt.js +10 -0
  14. package/console-app/assets/{chunk-V7JOEXUC-JMjbqEgu.js → chunk-GF5L2VYU-D8jaliB9.js} +3 -3
  15. package/console-app/assets/chunk-I66GZJ75-C-Lq_UXl.js +127 -0
  16. package/console-app/assets/chunk-JQJVKLGR-D7viK-tf.js +156 -0
  17. package/console-app/assets/{chunk-VR4S4FIN-BcHHugM0.js → chunk-KBJHAD2P-BS9N9gG4.js} +1 -1
  18. package/console-app/assets/{chunk-KEIR6QF5-DNzq6p3w.js → chunk-KEIR6QF5-BICK3FdT.js} +32 -32
  19. package/console-app/assets/chunk-NSK5VX7P-Fi_H0vaS.js +2 -0
  20. package/console-app/assets/{chunk-ZGVPDNZ5-CENGdlFJ.js → chunk-QR6OTTB3-BJdg-tcL.js} +3 -3
  21. package/console-app/assets/chunk-RYQCIY6F-CVbGA6YZ.js +1 -0
  22. package/console-app/assets/chunk-UBXNYLIW-BF-sAqEK.js +1 -0
  23. package/console-app/assets/{chunk-C7G6YPKG-BVtRZIEZ.js → chunk-W5SLKNZC-CXrJJ0BX.js} +1 -1
  24. package/console-app/assets/{chunk-Q4XR5HBZ-i4zkt4cc.js → chunk-WRU74C26-CGzysGBy.js} +7 -7
  25. package/console-app/assets/chunk-XXDRQBXY-BDALKVU4.js +1 -0
  26. package/console-app/assets/classDiagram-JCYQIIEL-BgrrHQtN.js +1 -0
  27. package/console-app/assets/classDiagram-v2-OCEON4UE-BgrrHQtN.js +1 -0
  28. package/console-app/assets/cose-bilkent-JH36ORCC-BvFZIDHb.js +1 -0
  29. package/console-app/assets/cynefin-VYW2F7L2-DRQ8xGmN.js +1 -0
  30. package/console-app/assets/cynefinDiagram-MW4NZA55-BwxQ4C1z.js +62 -0
  31. package/console-app/assets/cytoscape.esm-B-NFISlW.js +321 -0
  32. package/console-app/assets/dagre-J22zmNeE.js +1 -0
  33. package/console-app/assets/dagre-VZM6K2ZE-DPtUyvjD.js +4 -0
  34. package/console-app/assets/defaultLocale-BFoDCU3G.js +1 -0
  35. package/console-app/assets/{diagram-OA4YK3LP-BmjCoGBZ.js → diagram-7IWD3JNH-DGAzJ2Ln.js} +3 -3
  36. package/console-app/assets/{diagram-FQU43EPY-C667dC19.js → diagram-B4RE2ZJO-D14cIfto.js} +1 -1
  37. package/console-app/assets/diagram-LBJQPF4R-CUscJ_pO.js +24 -0
  38. package/console-app/assets/diagram-Q27KOJAE-CehBHMt3.js +24 -0
  39. package/console-app/assets/diagram-UB23O5K3-BvazI_qH.js +41 -0
  40. package/console-app/assets/dist-CsdsWTxp.js +1 -0
  41. package/console-app/assets/ebnfDiagram-BXEA7PRR-CBZPYFwZ.js +1 -0
  42. package/console-app/assets/{erDiagram-Q63AITRT-BAtdfbq3.js → erDiagram-JOGREHBK-BN3FevvT.js} +3 -3
  43. package/console-app/assets/eventmodeling-45OFAUF4-D2SxzJUl.js +1 -0
  44. package/console-app/assets/flowDiagram-UKHOOZJN-CQXuJ0z2.js +1 -0
  45. package/console-app/assets/ganttDiagram-PKOTCBZU-03mWH2kB.js +292 -0
  46. package/console-app/assets/gitGraph-TEB2WS4Q-By2486wn.js +1 -0
  47. package/console-app/assets/{gitGraphDiagram-IHSO6WYX-D9fpmYRm.js → gitGraphDiagram-DS77QQ5N-CCzKPRBJ.js} +4 -4
  48. package/console-app/assets/graphlib-IlWVLY3o.js +1 -0
  49. package/console-app/assets/index-snBzz_U8.js +290 -0
  50. package/console-app/assets/index-suVNAhyL.css +1 -0
  51. package/console-app/assets/info-DKCQHKI2-C_vsavqC.js +1 -0
  52. package/console-app/assets/infoDiagram-6WML65LV-BKvU8du7.js +2 -0
  53. package/console-app/assets/init-C-OQMol4.js +1 -0
  54. package/console-app/assets/isUndefined-T4snU1Mx.js +1 -0
  55. package/console-app/assets/{ishikawaDiagram-FXEZZL3T-CWHvEncb.js → ishikawaDiagram-WSZJBQD7-CnF0qm0n.js} +3 -3
  56. package/console-app/assets/{journeyDiagram-5HDEW3XC-DKH8UvEq.js → journeyDiagram-NVQOT4AX-DxKe9OZ7.js} +3 -3
  57. package/console-app/assets/{kanban-definition-HUTT4EX6-BODtp_fB.js → kanban-definition-27J2QSJJ-CB8lgPxU.js} +6 -6
  58. package/console-app/assets/{katex-Vhh-h91d.js → katex-CXMH3UgJ.js} +3 -3
  59. package/console-app/assets/{line-Do9j3HRL.js → line-DFNLso1I.js} +1 -1
  60. package/console-app/assets/linear-D1cspVtk.js +1 -0
  61. package/console-app/assets/map-BmPfXn7V.js +1 -0
  62. package/console-app/assets/{mermaid-parser.core-CYJsdwMO.js → mermaid-parser.core-BtmN233C.js} +3 -3
  63. package/console-app/assets/mermaid.core-37H5_HoB.js +42 -0
  64. package/console-app/assets/{mindmap-definition-LN4V7U3C-D7IWNYnf.js → mindmap-definition-FAOFIHXS-Czf82JOB.js} +3 -3
  65. package/console-app/assets/{ordinal-hYBb2elL.js → ordinal-BDEzSJ7C.js} +1 -1
  66. package/console-app/assets/packet-7NZHBO7P-CErYxAQM.js +1 -0
  67. package/console-app/assets/path-fybaL0A-.js +1 -0
  68. package/console-app/assets/pegDiagram-VL7TDLO6-CRKX6HOt.js +1 -0
  69. package/console-app/assets/pie-RZYD4A2V-YmMmh6Nq.js +1 -0
  70. package/console-app/assets/pieDiagram-7S7Q4E2Y-Cot0Fu5q.js +39 -0
  71. package/console-app/assets/{quadrantDiagram-ABIIQ3AL-CI840rae.js → quadrantDiagram-CIZ2JOQS-DPEonVYT.js} +2 -2
  72. package/console-app/assets/radar-I7S5WNFK-Pf_KiQJM.js +1 -0
  73. package/console-app/assets/railroad-3IZDKUUU-BYoOMoQY.js +1 -0
  74. package/console-app/assets/railroad-abnf-AHOZXSZD-CCRXsRRD.js +1 -0
  75. package/console-app/assets/railroad-ebnf-EBAXGLYW-DVRSVgn8.js +1 -0
  76. package/console-app/assets/railroad-peg-LSFZ7HO6-COUBoNH3.js +1 -0
  77. package/console-app/assets/railroadDiagram-AXF67PYL-Di8N9tHD.js +1 -0
  78. package/console-app/assets/{requirementDiagram-TGXJPOKE-CyHrMdrC.js → requirementDiagram-LRYGKXZP-2yZZ753q.js} +2 -2
  79. package/console-app/assets/rolldown-runtime-BcKkbAw3.js +1 -0
  80. package/console-app/assets/{rough.esm-CSKSodPl.js → rough.esm-Dy-Kn_BL.js} +1 -1
  81. package/console-app/assets/{sankeyDiagram-HTMAVEWB-DL0eJ1aK.js → sankeyDiagram-W5VNT64P-BwYA-xq1.js} +2 -2
  82. package/console-app/assets/sequenceDiagram-SI44F4Z6-odIxlx8J.js +162 -0
  83. package/console-app/assets/src-CxJwpjvz.js +1 -0
  84. package/console-app/assets/stateDiagram-OKZ733FA-Du2S0qU9.js +1 -0
  85. package/console-app/assets/stateDiagram-v2-UEYNNEHI-CTXOGDRR.js +1 -0
  86. package/console-app/assets/swimlanes-SLNWSIFB-JZ3swzI2.js +2 -0
  87. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-DRrggQgK.js +8 -0
  88. package/console-app/assets/timeline-definition-Z64GVDOM-CsppAEWi.js +120 -0
  89. package/console-app/assets/treeView-QDETBFTQ-DkkO8peQ.js +1 -0
  90. package/console-app/assets/treemap-6X3UGDF4-hjLkPCJI.js +1 -0
  91. package/console-app/assets/vennDiagram-T6HMQDX7-BOfgM1xp.js +34 -0
  92. package/console-app/assets/wardley-OPB4EBWU-C5ZtGfBa.js +1 -0
  93. package/console-app/assets/{wardleyDiagram-EHGQE667-Cw2M8s0p.js → wardleyDiagram-T6FBY63Y-ymf3Vm6A.js} +36 -36
  94. package/console-app/assets/{xychartDiagram-FW5EYKEG-BxMLZdbF.js → xychartDiagram-ELKLHX3M-DdxXIoKz.js} +4 -4
  95. package/console-app/index.html +4 -2
  96. package/dist/.pikku/addon/index.d.ts +7 -0
  97. package/dist/.pikku/addon/index.js +7 -0
  98. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +7 -0
  99. package/dist/.pikku/addon/pikku-addon-types.gen.js +7 -0
  100. package/dist/.pikku/agent/index.d.ts +7 -0
  101. package/dist/.pikku/agent/index.js +7 -0
  102. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +9 -8
  103. package/dist/.pikku/agent/pikku-agent-types.gen.js +2 -3
  104. package/dist/.pikku/agent/pikku-model-aliases.gen.js +2 -2
  105. package/dist/.pikku/auth/index.d.ts +8 -0
  106. package/dist/.pikku/auth/index.js +8 -0
  107. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +118 -0
  108. package/dist/.pikku/auth/pikku-auth-types.gen.js +92 -0
  109. package/dist/.pikku/channel/index.d.ts +7 -0
  110. package/dist/.pikku/channel/index.js +7 -0
  111. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +7 -9
  112. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -9
  113. package/dist/.pikku/cli/index.d.ts +7 -0
  114. package/dist/.pikku/cli/index.js +7 -0
  115. package/dist/.pikku/cli/pikku-cli-channel.d.ts +1 -1
  116. package/dist/.pikku/cli/pikku-cli-channel.js +6 -5
  117. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +2 -2
  118. package/dist/.pikku/cli/pikku-cli-client.gen.js +2 -2
  119. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  120. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  121. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +4 -3
  122. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  123. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  124. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -60
  125. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  126. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  127. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  128. package/dist/.pikku/cli/pikku-cli.gen.js +2 -2
  129. package/dist/.pikku/console/index.d.ts +1 -0
  130. package/dist/.pikku/console/index.js +1 -0
  131. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  132. package/dist/.pikku/error/index.d.ts +7 -0
  133. package/dist/.pikku/error/index.js +7 -0
  134. package/dist/.pikku/error/pikku-error-types.gen.d.ts +7 -0
  135. package/dist/.pikku/error/pikku-error-types.gen.js +7 -0
  136. package/dist/.pikku/function/index.d.ts +7 -0
  137. package/dist/.pikku/function/index.js +7 -0
  138. package/dist/.pikku/function/pikku-function-types.gen.d.ts +28 -262
  139. package/dist/.pikku/function/pikku-function-types.gen.js +2 -237
  140. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  141. package/dist/.pikku/function/pikku-functions-meta.gen.json +124 -102
  142. package/dist/.pikku/function/pikku-functions.gen.js +7 -5
  143. package/dist/.pikku/gateway/index.d.ts +7 -0
  144. package/dist/.pikku/gateway/index.js +7 -0
  145. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +36 -0
  146. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +25 -0
  147. package/dist/.pikku/http/index.d.ts +7 -0
  148. package/dist/.pikku/http/index.js +7 -0
  149. package/dist/.pikku/http/pikku-http-types.gen.d.ts +6 -24
  150. package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
  151. package/dist/.pikku/mcp/index.d.ts +7 -0
  152. package/dist/.pikku/mcp/index.js +7 -0
  153. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +6 -4
  154. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  155. package/dist/.pikku/middleware/index.d.ts +7 -0
  156. package/dist/.pikku/middleware/index.js +7 -0
  157. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +117 -0
  158. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +108 -0
  159. package/dist/.pikku/node/index.d.ts +1 -0
  160. package/dist/.pikku/node/index.js +1 -0
  161. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  162. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  163. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  164. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  165. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  166. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  167. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  168. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  169. package/dist/.pikku/pikku-types.gen.js +1 -1
  170. package/dist/.pikku/queue/index.d.ts +7 -0
  171. package/dist/.pikku/queue/index.js +7 -0
  172. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
  173. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  174. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  175. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  176. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  177. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +2 -2
  178. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +3 -2
  179. package/dist/.pikku/scenarios/index.d.ts +7 -0
  180. package/dist/.pikku/scenarios/index.js +7 -0
  181. package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +17 -0
  182. package/dist/.pikku/scenarios/pikku-personas.gen.js +17 -0
  183. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +2 -2
  184. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  185. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +310 -0
  186. package/dist/.pikku/scenarios/pikku-scenario-types.gen.js +71 -0
  187. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +2 -2
  188. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  189. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  190. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  191. package/dist/.pikku/scheduler/index.d.ts +7 -0
  192. package/dist/.pikku/scheduler/index.js +7 -0
  193. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +4 -3
  194. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  195. package/dist/.pikku/schemas/register.gen.js +4 -4
  196. package/dist/.pikku/scopes/index.d.ts +7 -0
  197. package/dist/.pikku/scopes/index.js +7 -0
  198. package/dist/.pikku/scopes/pikku-personas.gen.d.ts +4 -13
  199. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  200. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +2 -2
  201. package/dist/.pikku/scopes/pikku-roles.gen.js +1 -1
  202. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +3 -5
  203. package/dist/.pikku/scopes/pikku-scope-types.gen.js +3 -3
  204. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +2 -2
  205. package/dist/.pikku/scopes/pikku-scopes.gen.js +1 -1
  206. package/dist/.pikku/secrets/index.d.ts +8 -0
  207. package/dist/.pikku/secrets/index.js +8 -0
  208. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -3
  209. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  210. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +8 -12
  211. package/dist/.pikku/secrets/pikku-secrets.gen.js +7 -9
  212. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +7 -0
  213. package/dist/.pikku/services/pikku-meta-service.gen.js +9 -0
  214. package/dist/.pikku/setup/index.d.ts +7 -0
  215. package/dist/.pikku/setup/index.js +7 -0
  216. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +66 -0
  217. package/dist/.pikku/setup/pikku-setup-types.gen.js +87 -0
  218. package/dist/.pikku/trigger/index.d.ts +7 -0
  219. package/dist/.pikku/trigger/index.js +7 -0
  220. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +8 -8
  221. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  222. package/dist/.pikku/variables/index.d.ts +8 -0
  223. package/dist/.pikku/variables/index.js +8 -0
  224. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -2
  225. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  226. package/dist/.pikku/variables/pikku-variables.gen.d.ts +8 -11
  227. package/dist/.pikku/variables/pikku-variables.gen.js +8 -10
  228. package/dist/.pikku/workflow/index.d.ts +7 -0
  229. package/dist/.pikku/workflow/index.js +7 -0
  230. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +97 -74
  231. package/dist/.pikku/workflow/pikku-personas.gen.d.ts +1 -3
  232. package/dist/.pikku/workflow/pikku-personas.gen.js +2 -2
  233. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +22 -264
  234. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -64
  235. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  236. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +0 -1
  237. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  238. package/dist/bin/pikku-bin.mjs +2 -2
  239. package/dist/src/cli.wiring.js +19 -45
  240. package/dist/src/deploy/analyzer/analyzer.js +34 -12
  241. package/dist/src/deploy/build-pipeline.d.ts +13 -0
  242. package/dist/src/deploy/build-pipeline.js +22 -0
  243. package/dist/src/deploy/server-entry.js +1 -1
  244. package/dist/src/fabric/fabric-commands.d.ts +104 -104
  245. package/dist/src/fabric/functions/add.function.d.ts +4 -4
  246. package/dist/src/fabric/functions/add.function.js +1 -1
  247. package/dist/src/fabric/functions/addon-verify.function.d.ts +4 -4
  248. package/dist/src/fabric/functions/addon-verify.function.js +1 -1
  249. package/dist/src/fabric/functions/db-schema.function.d.ts +4 -4
  250. package/dist/src/fabric/functions/db-schema.function.js +1 -1
  251. package/dist/src/fabric/functions/deploy-list.function.d.ts +4 -4
  252. package/dist/src/fabric/functions/deploy-list.function.js +1 -1
  253. package/dist/src/fabric/functions/deploy-units.function.d.ts +4 -4
  254. package/dist/src/fabric/functions/deploy-units.function.js +1 -1
  255. package/dist/src/fabric/functions/deploy.function.d.ts +8 -8
  256. package/dist/src/fabric/functions/deploy.function.js +1 -1
  257. package/dist/src/fabric/functions/domains-add.function.d.ts +4 -4
  258. package/dist/src/fabric/functions/domains-add.function.js +1 -1
  259. package/dist/src/fabric/functions/domains-list.function.d.ts +4 -4
  260. package/dist/src/fabric/functions/domains-list.function.js +1 -1
  261. package/dist/src/fabric/functions/domains-remove.function.d.ts +4 -4
  262. package/dist/src/fabric/functions/domains-remove.function.js +1 -1
  263. package/dist/src/fabric/functions/errors.function.d.ts +4 -4
  264. package/dist/src/fabric/functions/errors.function.js +1 -1
  265. package/dist/src/fabric/functions/init.function.d.ts +4 -4
  266. package/dist/src/fabric/functions/init.function.js +1 -1
  267. package/dist/src/fabric/functions/link.function.d.ts +4 -4
  268. package/dist/src/fabric/functions/link.function.js +1 -1
  269. package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
  270. package/dist/src/fabric/functions/llm-key.function.js +1 -1
  271. package/dist/src/fabric/functions/login.function.d.ts +4 -4
  272. package/dist/src/fabric/functions/login.function.js +1 -1
  273. package/dist/src/fabric/functions/logs.function.d.ts +4 -4
  274. package/dist/src/fabric/functions/logs.function.js +1 -1
  275. package/dist/src/fabric/functions/metrics.function.d.ts +4 -4
  276. package/dist/src/fabric/functions/metrics.function.js +1 -1
  277. package/dist/src/fabric/functions/publish.function.d.ts +4 -4
  278. package/dist/src/fabric/functions/publish.function.js +1 -1
  279. package/dist/src/fabric/functions/rollback.function.d.ts +4 -4
  280. package/dist/src/fabric/functions/rollback.function.js +1 -1
  281. package/dist/src/fabric/functions/secrets-list.function.d.ts +4 -4
  282. package/dist/src/fabric/functions/secrets-list.function.js +1 -1
  283. package/dist/src/fabric/functions/secrets-rotate.function.d.ts +4 -4
  284. package/dist/src/fabric/functions/secrets-rotate.function.js +1 -1
  285. package/dist/src/fabric/functions/secrets-set.function.d.ts +4 -4
  286. package/dist/src/fabric/functions/secrets-set.function.js +1 -1
  287. package/dist/src/fabric/functions/smoke.function.d.ts +4 -4
  288. package/dist/src/fabric/functions/smoke.function.js +13 -13
  289. package/dist/src/fabric/functions/status.function.d.ts +4 -4
  290. package/dist/src/fabric/functions/status.function.js +1 -1
  291. package/dist/src/fabric/functions/trace.function.d.ts +4 -4
  292. package/dist/src/fabric/functions/trace.function.js +1 -1
  293. package/dist/src/fabric/functions/validate.function.d.ts +4 -4
  294. package/dist/src/fabric/functions/validate.function.js +114 -31
  295. package/dist/src/fabric/lib/git.d.ts +23 -0
  296. package/dist/src/fabric/lib/git.js +39 -0
  297. package/dist/src/functions/commands/all.d.ts +1 -1
  298. package/dist/src/functions/commands/all.js +1 -1
  299. package/dist/src/functions/commands/audit.d.ts +11 -1
  300. package/dist/src/functions/commands/audit.js +26 -14
  301. package/dist/src/functions/commands/binary.d.ts +4 -4
  302. package/dist/src/functions/commands/binary.js +1 -1
  303. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  304. package/dist/src/functions/commands/bootstrap.js +4 -3
  305. package/dist/src/functions/commands/bun-coverage-loader.js +4 -1
  306. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  307. package/dist/src/functions/commands/db-audit.js +1 -1
  308. package/dist/src/functions/commands/db-baseline.d.ts +1 -1
  309. package/dist/src/functions/commands/db-baseline.js +1 -1
  310. package/dist/src/functions/commands/db-check.d.ts +1 -1
  311. package/dist/src/functions/commands/db-check.js +1 -1
  312. package/dist/src/functions/commands/db-codegen.d.ts +1 -1
  313. package/dist/src/functions/commands/db-codegen.js +1 -1
  314. package/dist/src/functions/commands/db-export.d.ts +1 -1
  315. package/dist/src/functions/commands/db-export.js +1 -1
  316. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  317. package/dist/src/functions/commands/db-generate.js +1 -1
  318. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  319. package/dist/src/functions/commands/db-migrate.js +1 -1
  320. package/dist/src/functions/commands/db-reset.d.ts +4 -4
  321. package/dist/src/functions/commands/db-reset.js +1 -1
  322. package/dist/src/functions/commands/deploy-apply.d.ts +4 -4
  323. package/dist/src/functions/commands/deploy-apply.js +14 -2
  324. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  325. package/dist/src/functions/commands/deploy-info.js +1 -1
  326. package/dist/src/functions/commands/deploy-plan.d.ts +4 -4
  327. package/dist/src/functions/commands/deploy-plan.js +6 -2
  328. package/dist/src/functions/commands/dev-agent-runner.d.ts +2 -1
  329. package/dist/src/functions/commands/dev-agent-runner.js +48 -13
  330. package/dist/src/functions/commands/dev.d.ts +4 -4
  331. package/dist/src/functions/commands/dev.js +10 -10
  332. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  333. package/dist/src/functions/commands/emails-init.js +19 -6
  334. package/dist/src/functions/commands/enable.d.ts +8 -8
  335. package/dist/src/functions/commands/enable.js +12 -26
  336. package/dist/src/functions/commands/environment.d.ts +27 -0
  337. package/dist/src/functions/commands/environment.js +36 -2
  338. package/dist/src/functions/commands/import-n8n.d.ts +4 -4
  339. package/dist/src/functions/commands/import-n8n.js +1 -1
  340. package/dist/src/functions/commands/info.d.ts +4 -4
  341. package/dist/src/functions/commands/info.js +1 -1
  342. package/dist/src/functions/commands/knowledge-index.d.ts +4 -4
  343. package/dist/src/functions/commands/knowledge-index.js +1 -1
  344. package/dist/src/functions/commands/knowledge-validate.d.ts +4 -4
  345. package/dist/src/functions/commands/knowledge-validate.js +1 -1
  346. package/dist/src/functions/commands/login.d.ts +9 -9
  347. package/dist/src/functions/commands/login.js +1 -1
  348. package/dist/src/functions/commands/meta.d.ts +37 -37
  349. package/dist/src/functions/commands/meta.js +1 -1
  350. package/dist/src/functions/commands/new-addon.d.ts +5 -4
  351. package/dist/src/functions/commands/new-addon.js +27 -25
  352. package/dist/src/functions/commands/new-function.d.ts +4 -4
  353. package/dist/src/functions/commands/new-function.js +4 -4
  354. package/dist/src/functions/commands/new-middleware.d.ts +4 -4
  355. package/dist/src/functions/commands/new-middleware.js +3 -3
  356. package/dist/src/functions/commands/new-permission.d.ts +4 -4
  357. package/dist/src/functions/commands/new-permission.js +3 -3
  358. package/dist/src/functions/commands/new-wiring.d.ts +4 -4
  359. package/dist/src/functions/commands/new-wiring.js +8 -8
  360. package/dist/src/functions/commands/persona-sync.d.ts +4 -4
  361. package/dist/src/functions/commands/persona-sync.js +3 -3
  362. package/dist/src/functions/commands/persona.d.ts +5 -5
  363. package/dist/src/functions/commands/persona.js +3 -4
  364. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  365. package/dist/src/functions/commands/pikku-command-bootstrap.js +7 -2
  366. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  367. package/dist/src/functions/commands/pikku-command-summary.js +2 -2
  368. package/dist/src/functions/commands/roles-audit.d.ts +1 -1
  369. package/dist/src/functions/commands/roles-audit.js +1 -1
  370. package/dist/src/functions/commands/roles-prune.d.ts +4 -4
  371. package/dist/src/functions/commands/roles-prune.js +1 -1
  372. package/dist/src/functions/commands/roles-shared.d.ts +1 -1
  373. package/dist/src/functions/commands/roles-shared.js +1 -1
  374. package/dist/src/functions/commands/scenario-browser.d.ts +19 -13
  375. package/dist/src/functions/commands/scenario-browser.js +20 -6
  376. package/dist/src/functions/commands/scenario-formatter.d.ts +6 -52
  377. package/dist/src/functions/commands/scenario-ladder.d.ts +4 -5
  378. package/dist/src/functions/commands/scenario-ladder.js +1 -1
  379. package/dist/src/functions/commands/scenario-plan.d.ts +2 -2
  380. package/dist/src/functions/commands/scenario-plan.js +1 -1
  381. package/dist/src/functions/commands/scenario.d.ts +8 -8
  382. package/dist/src/functions/commands/scenario.js +73 -23
  383. package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
  384. package/dist/src/functions/commands/scopes-audit.js +1 -1
  385. package/dist/src/functions/commands/scopes-prune.d.ts +4 -4
  386. package/dist/src/functions/commands/scopes-prune.js +1 -1
  387. package/dist/src/functions/commands/scopes-shared.d.ts +1 -1
  388. package/dist/src/functions/commands/scopes-shared.js +1 -1
  389. package/dist/src/functions/commands/semver.d.ts +1 -1
  390. package/dist/src/functions/commands/semver.js +1 -1
  391. package/dist/src/functions/commands/serve.d.ts +4 -4
  392. package/dist/src/functions/commands/serve.js +9 -8
  393. package/dist/src/functions/commands/skills.d.ts +8 -8
  394. package/dist/src/functions/commands/skills.js +1 -1
  395. package/dist/src/functions/commands/start-coverage.d.ts +1 -1
  396. package/dist/src/functions/commands/start-coverage.js +2 -2
  397. package/dist/src/functions/commands/update.d.ts +1 -1
  398. package/dist/src/functions/commands/update.js +1 -1
  399. package/dist/src/functions/commands/validate.d.ts +4 -4
  400. package/dist/src/functions/commands/validate.js +1 -1
  401. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  402. package/dist/src/functions/commands/versions-check.js +1 -1
  403. package/dist/src/functions/commands/versions-init.d.ts +4 -4
  404. package/dist/src/functions/commands/versions-init.js +1 -1
  405. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  406. package/dist/src/functions/commands/versions-update.js +1 -1
  407. package/dist/src/functions/commands/virtual-user-formatter.d.ts +1 -1
  408. package/dist/src/functions/commands/watch.d.ts +4 -4
  409. package/dist/src/functions/commands/watch.js +1 -1
  410. package/dist/src/functions/db/annotation-parser.d.ts +11 -3
  411. package/dist/src/functions/db/better-auth-schema.js +1 -1
  412. package/dist/src/functions/db/db-codegen.js +4 -2
  413. package/dist/src/functions/db/local-db.js +3 -3
  414. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  415. package/dist/src/functions/runtimes/fetch/index.js +1 -1
  416. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  417. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +1 -1
  418. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  419. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +7 -7
  420. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  421. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.js +1 -1
  422. package/dist/src/functions/surface/build-surface-doc.d.ts +22 -0
  423. package/dist/src/functions/surface/build-surface-doc.js +151 -0
  424. package/dist/src/functions/surface/collect-surface-usage.d.ts +16 -0
  425. package/dist/src/functions/surface/collect-surface-usage.js +35 -0
  426. package/dist/src/functions/surface/collect-surface.d.ts +19 -1
  427. package/dist/src/functions/surface/collect-surface.js +104 -16
  428. package/dist/src/functions/surface/generate-surface-doc.d.ts +1 -0
  429. package/dist/src/functions/surface/generate-surface-doc.js +46 -0
  430. package/dist/src/functions/surface/shipped-surface-doc.d.ts +16 -0
  431. package/dist/src/functions/surface/shipped-surface-doc.js +44 -0
  432. package/dist/src/functions/surface/surface-doc.types.d.ts +69 -0
  433. package/dist/src/functions/surface/surface-doc.types.js +1 -0
  434. package/dist/src/functions/surface/surface-editorial.d.ts +25 -0
  435. package/dist/src/functions/surface/surface-editorial.js +101 -0
  436. package/dist/src/functions/surface/write-surface-usage.d.ts +12 -0
  437. package/dist/src/functions/surface/write-surface-usage.js +18 -0
  438. package/dist/src/functions/validate/pikku-barrel-checks.d.ts +12 -0
  439. package/dist/src/functions/validate/pikku-barrel-checks.js +97 -0
  440. package/dist/src/functions/validate/shared-checks.d.ts +10 -0
  441. package/dist/src/functions/validate/shared-checks.js +17 -3
  442. package/dist/src/functions/validate/validate-registry.js +10 -0
  443. package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
  444. package/dist/src/functions/wirings/agent/pikku-command-agent-types.js +3 -2
  445. package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
  446. package/dist/src/functions/wirings/agent/pikku-command-agent.js +4 -4
  447. package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
  448. package/dist/src/functions/wirings/agent/pikku-command-public-agent.js +4 -5
  449. package/dist/src/functions/wirings/agent/serialize-agent-map.d.ts +1 -1
  450. package/dist/src/functions/wirings/agent/serialize-agent-types.d.ts +1 -1
  451. package/dist/src/functions/wirings/agent/serialize-agent-types.js +17 -12
  452. package/dist/src/functions/wirings/agent/serialize-model-aliases.js +1 -1
  453. package/dist/src/functions/wirings/agent/serialize-public-agent.d.ts +1 -1
  454. package/dist/src/functions/wirings/agent/serialize-public-agent.js +14 -13
  455. package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
  456. package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.js +4 -4
  457. package/dist/src/functions/wirings/agent-scorer/serialize-scorer-names.d.ts +1 -1
  458. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +4 -4
  459. package/dist/src/functions/wirings/auth/pikku-command-auth.js +5 -4
  460. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
  461. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +3 -8
  462. package/dist/src/functions/wirings/auth/serialize-auth-guards.d.ts +12 -0
  463. package/dist/src/functions/wirings/auth/serialize-auth-guards.js +168 -0
  464. package/dist/src/functions/wirings/auth/serialize-auth-types.d.ts +4 -4
  465. package/dist/src/functions/wirings/auth/serialize-auth-types.js +4 -4
  466. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  467. package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
  468. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  469. package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +6 -3
  470. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  471. package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +1 -1
  472. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  473. package/dist/src/functions/wirings/channels/pikku-command-channels.js +2 -2
  474. package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +3 -1
  475. package/dist/src/functions/wirings/channels/serialize-channel-types.js +18 -25
  476. package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -3
  477. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  478. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +2 -2
  479. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  480. package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +3 -3
  481. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  482. package/dist/src/functions/wirings/cli/pikku-command-cli.js +2 -2
  483. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +1 -1
  484. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +3 -3
  485. package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +2 -2
  486. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +11 -5
  487. package/dist/src/functions/wirings/cli/serialize-cli-types.d.ts +1 -1
  488. package/dist/src/functions/wirings/cli/serialize-cli-types.js +8 -3
  489. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +1 -1
  490. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  491. package/dist/src/functions/wirings/console/pikku-command-console-functions.js +6 -5
  492. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  493. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +2 -2
  494. package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -1
  495. package/dist/src/functions/wirings/console/serialize-console-functions.js +20 -4
  496. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  497. package/dist/src/functions/wirings/credentials/pikku-command-credentials.js +2 -2
  498. package/dist/src/functions/wirings/credentials/serialize-credentials-types.d.ts +1 -1
  499. package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +4 -6
  500. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  501. package/dist/src/functions/wirings/emails/pikku-command-emails.js +3 -3
  502. package/dist/src/functions/wirings/emails/serialize-emails.js +114 -44
  503. package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -0
  504. package/dist/src/functions/wirings/errors/pikku-command-error-types.js +17 -0
  505. package/dist/src/functions/wirings/errors/serialize-error-types.d.ts +9 -0
  506. package/dist/src/functions/wirings/errors/serialize-error-types.js +16 -0
  507. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  508. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +20 -8
  509. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +4 -4
  510. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +17 -3
  511. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  512. package/dist/src/functions/wirings/functions/pikku-command-functions.js +2 -2
  513. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +14 -0
  514. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +119 -0
  515. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  516. package/dist/src/functions/wirings/functions/pikku-command-services.js +18 -3
  517. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  518. package/dist/src/functions/wirings/functions/schemas.js +1 -1
  519. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +13 -0
  520. package/dist/src/functions/wirings/functions/serialize-addon-types.js +20 -2
  521. package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -1
  522. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +7 -2
  523. package/dist/src/functions/wirings/functions/serialize-function-types.js +47 -361
  524. package/dist/src/functions/wirings/functions/serialize-leaf-index.d.ts +17 -0
  525. package/dist/src/functions/wirings/functions/serialize-leaf-index.js +27 -0
  526. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +7 -0
  527. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.js +24 -0
  528. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  529. package/dist/src/functions/wirings/gateway/pikku-command-gateway.js +1 -1
  530. package/dist/src/functions/wirings/gateway/serialize-gateway-meta.d.ts +1 -1
  531. package/dist/src/functions/wirings/gateway/serialize-gateway-types.d.ts +6 -0
  532. package/dist/src/functions/wirings/gateway/serialize-gateway-types.js +55 -0
  533. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
  534. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.js +3 -4
  535. package/dist/src/functions/wirings/graph/serialize-graph-wirings.d.ts +1 -1
  536. package/dist/src/functions/wirings/graph/serialize-graph-wirings.js +2 -2
  537. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  538. package/dist/src/functions/wirings/http/pikku-command-http-map.js +3 -3
  539. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  540. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +2 -2
  541. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  542. package/dist/src/functions/wirings/http/pikku-command-http-types.js +7 -3
  543. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  544. package/dist/src/functions/wirings/http/pikku-command-openapi.js +1 -1
  545. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  546. package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
  547. package/dist/src/functions/wirings/http/serialize-http-types.d.ts +3 -1
  548. package/dist/src/functions/wirings/http/serialize-http-types.js +20 -36
  549. package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +6 -2
  550. package/dist/src/functions/wirings/http/serialize-typed-http-map.js +5 -4
  551. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  552. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +1 -1
  553. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  554. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +5 -2
  555. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  556. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +7 -3
  557. package/dist/src/functions/wirings/mcp/serialize-mcp-types.d.ts +3 -1
  558. package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +17 -9
  559. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  560. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +1 -1
  561. package/dist/src/functions/wirings/middleware/serialize-middleware-types.d.ts +9 -0
  562. package/dist/src/functions/wirings/middleware/serialize-middleware-types.js +176 -0
  563. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +3 -3
  564. package/dist/src/functions/wirings/package/pikku-command-package-types.js +1 -1
  565. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  566. package/dist/src/functions/wirings/package/pikku-command-package.js +1 -1
  567. package/dist/src/functions/wirings/package/serialize-package-types.js +2 -7
  568. package/dist/src/functions/wirings/package/serialize-package.js +1 -1
  569. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  570. package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +1 -1
  571. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +4 -4
  572. package/dist/src/functions/wirings/personas/pikku-command-personas.js +2 -2
  573. package/dist/src/functions/wirings/personas/serialize-personas-secrets.d.ts +5 -0
  574. package/dist/src/functions/wirings/personas/serialize-personas-secrets.js +6 -0
  575. package/dist/src/functions/wirings/personas/serialize-personas-types.d.ts +2 -2
  576. package/dist/src/functions/wirings/personas/serialize-personas-types.js +4 -27
  577. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  578. package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +1 -1
  579. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  580. package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +1 -1
  581. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  582. package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +4 -2
  583. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  584. package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
  585. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  586. package/dist/src/functions/wirings/queue/pikku-queue-map.js +1 -1
  587. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  588. package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
  589. package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +1 -1
  590. package/dist/src/functions/wirings/queue/serialize-queue-map.js +1 -1
  591. package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
  592. package/dist/src/functions/wirings/queue/serialize-queue-types.d.ts +3 -1
  593. package/dist/src/functions/wirings/queue/serialize-queue-types.js +8 -6
  594. package/dist/src/functions/wirings/queue/serialize-queue-wrapper.js +1 -1
  595. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  596. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.js +3 -6
  597. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  598. package/dist/src/functions/wirings/realtime/pikku-command-realtime.js +1 -1
  599. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.d.ts +1 -1
  600. package/dist/src/functions/wirings/realtime/serialize-events-scaffold.js +6 -11
  601. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +4 -4
  602. package/dist/src/functions/wirings/roles/pikku-command-roles.js +3 -3
  603. package/dist/src/functions/wirings/roles/serialize-roles-types.d.ts +1 -1
  604. package/dist/src/functions/wirings/roles/serialize-roles-types.js +2 -2
  605. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  606. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +6 -7
  607. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  608. package/dist/src/functions/wirings/rpc/pikku-command-react-query.js +1 -1
  609. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  610. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +6 -6
  611. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  612. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +1 -1
  613. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
  614. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +1 -1
  615. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  616. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +2 -2
  617. package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
  618. package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +5 -5
  619. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.d.ts +1 -1
  620. package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -3
  621. package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +1 -1
  622. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +1 -1
  623. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.d.ts +4 -5
  624. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.js +8 -10
  625. package/dist/src/functions/wirings/scenarios/scenario-partition.d.ts +1 -1
  626. package/dist/src/functions/wirings/scenarios/scenario-schema-partition.d.ts +1 -1
  627. package/dist/src/functions/wirings/scenarios/serialize-feature-meta.d.ts +1 -1
  628. package/dist/src/functions/wirings/scenarios/serialize-scenario-meta.js +4 -4
  629. package/dist/src/functions/wirings/scenarios/serialize-scenario-registration.js +1 -1
  630. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  631. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +5 -2
  632. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  633. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
  634. package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
  635. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.d.ts +3 -1
  636. package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +10 -6
  637. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +4 -4
  638. package/dist/src/functions/wirings/scopes/pikku-command-scopes.js +10 -4
  639. package/dist/src/functions/wirings/scopes/serialize-scopes-client.d.ts +16 -0
  640. package/dist/src/functions/wirings/scopes/serialize-scopes-client.js +72 -0
  641. package/dist/src/functions/wirings/scopes/serialize-scopes-types.d.ts +1 -1
  642. package/dist/src/functions/wirings/scopes/serialize-scopes-types.js +3 -3
  643. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  644. package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +2 -2
  645. package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +1 -1
  646. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +14 -21
  647. package/dist/src/functions/wirings/setup/serialize-setup-types.d.ts +7 -0
  648. package/dist/src/functions/wirings/setup/serialize-setup-types.js +111 -0
  649. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +4 -4
  650. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +2 -2
  651. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  652. package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +1 -1
  653. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +1 -1
  654. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +4 -4
  655. package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +3 -1
  656. package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +19 -13
  657. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.d.ts +1 -1
  658. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.js +18 -18
  659. package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.d.ts +10 -9
  660. package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.js +67 -56
  661. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  662. package/dist/src/functions/wirings/variables/pikku-command-variables.js +2 -2
  663. package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +1 -1
  664. package/dist/src/functions/wirings/variables/serialize-variables-types.js +13 -17
  665. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
  666. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.js +4 -4
  667. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.d.ts +1 -1
  668. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +7 -6
  669. package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
  670. package/dist/src/functions/wirings/webhook/pikku-command-webhook.js +6 -6
  671. package/dist/src/functions/wirings/webhook/serialize-webhook.d.ts +1 -1
  672. package/dist/src/functions/wirings/webhook/serialize-webhook.js +4 -3
  673. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  674. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.js +4 -5
  675. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  676. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +14 -5
  677. package/dist/src/functions/wirings/workflow/serialize-personas.d.ts +1 -1
  678. package/dist/src/functions/wirings/workflow/serialize-personas.js +3 -3
  679. package/dist/src/functions/wirings/workflow/serialize-scenario-step-map.d.ts +1 -2
  680. package/dist/src/functions/wirings/workflow/serialize-scenario-types.d.ts +2 -0
  681. package/dist/src/functions/wirings/workflow/serialize-scenario-types.js +511 -0
  682. package/dist/src/functions/wirings/workflow/serialize-workflow-bootstrap-map.d.ts +1 -1
  683. package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +2 -3
  684. package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +1 -1
  685. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +4 -4
  686. package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +0 -4
  687. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.d.ts +1 -1
  688. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +11 -11
  689. package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
  690. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +28 -438
  691. package/dist/src/functions/workflows/all.workflow.d.ts +1 -1
  692. package/dist/src/functions/workflows/all.workflow.js +77 -22
  693. package/dist/src/middleware/log-command-info-and-time.d.ts +1 -1
  694. package/dist/src/server/bun-server-runner.d.ts +1 -1
  695. package/dist/src/server/content-signing-jwt.js +1 -1
  696. package/dist/src/server/dev-server-runner.interface.d.ts +1 -1
  697. package/dist/src/server/node-server-runner.d.ts +1 -1
  698. package/dist/src/services/cli-logger.service.d.ts +1 -1
  699. package/dist/src/services/cli-logger.service.js +1 -1
  700. package/dist/src/services.d.ts +9 -6
  701. package/dist/src/services.js +22 -6
  702. package/dist/src/utils/file-writer.d.ts +2 -0
  703. package/dist/src/utils/file-writer.js +37 -1
  704. package/dist/src/utils/is-deploy-codegen.d.ts +21 -0
  705. package/dist/src/utils/is-deploy-codegen.js +23 -0
  706. package/dist/src/utils/leaf-import-path.d.ts +16 -0
  707. package/dist/src/utils/leaf-import-path.js +15 -0
  708. package/dist/src/utils/parse-cli-filters.js +15 -35
  709. package/dist/src/utils/pikku-cli-config.d.ts +11 -0
  710. package/dist/src/utils/pikku-cli-config.js +90 -16
  711. package/dist/src/utils/precise-coverage-map.d.ts +1 -1
  712. package/dist/src/utils/remove-legacy-scaffold-file.d.ts +1 -1
  713. package/dist/src/utils/remove-legacy-scaffold-file.js +11 -3
  714. package/dist/src/utils/resolve-personas.d.ts +3 -3
  715. package/dist/src/utils/resolve-personas.js +2 -2
  716. package/dist/src/utils/resolve-scaffold-feature.d.ts +7 -6
  717. package/dist/src/utils/resolve-scaffold-feature.js +11 -31
  718. package/dist/src/utils/serialize-meta-ts.js +1 -1
  719. package/dist/src/utils/serialize-schemas.d.ts +1 -1
  720. package/dist/src/utils/serialize-schemas.js +1 -1
  721. package/dist/src/utils/surface.js +1 -1
  722. package/dist/src/utils/tsc-check.d.ts +1 -1
  723. package/dist/src/utils/tsc-check.js +1 -1
  724. package/dist/tsconfig.tsbuildinfo +1 -1
  725. package/package.json +48 -47
  726. package/surface.json +4464 -0
  727. package/console-app/assets/abnfDiagram-VRR7QNED-QRjCVsso.js +0 -1
  728. package/console-app/assets/arc-CloGjkHW.js +0 -1
  729. package/console-app/assets/architecture-TIHT7OUA-Cz78Qi5H.js +0 -1
  730. package/console-app/assets/architectureDiagram-ZJ3FMSHR-Dl10fVqw.js +0 -36
  731. package/console-app/assets/c4Diagram-LMCZKHZV-C2pWYCa6.js +0 -10
  732. package/console-app/assets/channel-Bm4o-pNB.js +0 -1
  733. package/console-app/assets/chunk-52WLFC77-DuAheIlc.js +0 -10
  734. package/console-app/assets/chunk-EX3LRPZG-CWXF7N33.js +0 -231
  735. package/console-app/assets/chunk-FWX5IMBZ-UN3i5qMG.js +0 -2
  736. package/console-app/assets/chunk-ICXQ74PX-BiuzWyj2.js +0 -2
  737. package/console-app/assets/chunk-OGEWGWER-BNi3Gsmc.js +0 -1
  738. package/console-app/assets/chunk-PUDLZKDR-DNWGCeoL.js +0 -156
  739. package/console-app/assets/chunk-RYQCIY6F-DvRUzuDz.js +0 -1
  740. package/console-app/assets/chunk-VAUOI2AC-D4_whP-t.js +0 -1
  741. package/console-app/assets/chunk-WYO6CB5R-COKjEQwP.js +0 -127
  742. package/console-app/assets/chunk-XXDRQBXY-mkAF2YHU.js +0 -1
  743. package/console-app/assets/chunk-ZIRB5QZD-H-kepumB.js +0 -32
  744. package/console-app/assets/classDiagram-OUVF2IWQ-B2cEvfK0.js +0 -1
  745. package/console-app/assets/classDiagram-v2-EOCWNBFH-B2cEvfK0.js +0 -1
  746. package/console-app/assets/cose-bilkent-JH36ORCC-D6F1MghO.js +0 -1
  747. package/console-app/assets/cynefin-VYW2F7L2-BIhff1Ln.js +0 -1
  748. package/console-app/assets/cynefinDiagram-TSTJHNR4-DrlBq_QP.js +0 -62
  749. package/console-app/assets/cytoscape.esm-h6BdjjI9.js +0 -321
  750. package/console-app/assets/dagre-CXRCoUWR.js +0 -1
  751. package/console-app/assets/dagre-VKFMJZFB-Cm2eP0ez.js +0 -4
  752. package/console-app/assets/defaultLocale-C8Fc0cco.js +0 -1
  753. package/console-app/assets/diagram-G47NLZAW-3K3OPEuG.js +0 -24
  754. package/console-app/assets/diagram-NH7WQ7WH-CUK-d5iT.js +0 -24
  755. package/console-app/assets/diagram-WEI45ONY-D33qA2d9.js +0 -41
  756. package/console-app/assets/dist-jqlCD26w.js +0 -1
  757. package/console-app/assets/ebnfDiagram-CCIWWBDH-DUHkt7z6.js +0 -1
  758. package/console-app/assets/eventmodeling-45OFAUF4-iK6rmyk3.js +0 -1
  759. package/console-app/assets/flowDiagram-23GEKE2U-CSYhKO9Y.js +0 -1
  760. package/console-app/assets/ganttDiagram-NO4QXBWP-64_vh9rj.js +0 -292
  761. package/console-app/assets/gitGraph-TEB2WS4Q-DlFJY0cQ.js +0 -1
  762. package/console-app/assets/graphlib-B8gBHxth.js +0 -1
  763. package/console-app/assets/index-Byf4wkdP.js +0 -261
  764. package/console-app/assets/index-CTO5cTAD.css +0 -1
  765. package/console-app/assets/info-DKCQHKI2-DhyT_-b1.js +0 -1
  766. package/console-app/assets/infoDiagram-FWYZ7A6U-ufTemVSR.js +0 -2
  767. package/console-app/assets/init-D6jRqBbL.js +0 -1
  768. package/console-app/assets/linear-5Z8stnH-.js +0 -1
  769. package/console-app/assets/map-DsCK-0Cs.js +0 -1
  770. package/console-app/assets/mermaid.core-DwI4IdKs.js +0 -11
  771. package/console-app/assets/packet-7NZHBO7P-comMLvz_.js +0 -1
  772. package/console-app/assets/path-BWPyau1x.js +0 -1
  773. package/console-app/assets/pegDiagram-2B236MQR-CbqiI_m5.js +0 -1
  774. package/console-app/assets/pie-RZYD4A2V-VZXoX73g.js +0 -1
  775. package/console-app/assets/pieDiagram-ENE6RG2P-SA-sCnrt.js +0 -39
  776. package/console-app/assets/radar-I7S5WNFK-W0UH9BdP.js +0 -1
  777. package/console-app/assets/railroad-3IZDKUUU-_HEtbruA.js +0 -1
  778. package/console-app/assets/railroad-abnf-AHOZXSZD-ghLnUEfg.js +0 -1
  779. package/console-app/assets/railroad-ebnf-EBAXGLYW-D8JHCZD5.js +0 -1
  780. package/console-app/assets/railroad-peg-LSFZ7HO6-C9eC4l2D.js +0 -1
  781. package/console-app/assets/railroadDiagram-RFXS5EU6-Cm2SfP9Z.js +0 -1
  782. package/console-app/assets/sequenceDiagram-DBY2YBRQ-B2AvEvXu.js +0 -162
  783. package/console-app/assets/src-72nNqhBu.js +0 -1
  784. package/console-app/assets/stateDiagram-2N3HPSRC-vgyc-CMC.js +0 -1
  785. package/console-app/assets/stateDiagram-v2-6OUMAXLB-B2WCkCZh.js +0 -1
  786. package/console-app/assets/swimlanes-5IMT3BWC-GiOMMhZh.js +0 -2
  787. package/console-app/assets/swimlanesDiagram-G3AALYLV-CkCbtoLb.js +0 -8
  788. package/console-app/assets/timeline-definition-FHXFAJF6-DTJQsTn8.js +0 -120
  789. package/console-app/assets/treeView-QDETBFTQ-aizmbgl7.js +0 -1
  790. package/console-app/assets/treemap-6X3UGDF4-DIBl6bfV.js +0 -1
  791. package/console-app/assets/vennDiagram-L72KCM5P-C4Ngu7VX.js +0 -34
  792. package/console-app/assets/wardley-OPB4EBWU-BqdXyJTm.js +0 -1
  793. package/dist/src/functions/db/coercion-plugin.d.ts +0 -7
  794. package/dist/src/functions/db/coercion-plugin.js +0 -103
  795. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +0 -1
  796. package/dist/src/functions/wirings/console/pikku-command-node-types.js +0 -21
  797. package/dist/src/functions/wirings/console/serialize-node-types.d.ts +0 -1
  798. package/dist/src/functions/wirings/console/serialize-node-types.js +0 -11
  799. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +0 -7
  800. package/dist/src/functions/wirings/functions/pikku-command-function-types.js +0 -43
  801. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +0 -4
  802. package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +0 -36
  803. /package/dist/.pikku/schemas/schemas/{PikkuFunctionTypesInput.schema.json → PikkuGatewayTypesInput.schema.json} +0 -0
@@ -0,0 +1,72 @@
1
+ import { flattenScopeDefinitions } from '@pikku/core/scope';
2
+ const quote = (value) => `'${value.replace(/'/g, "\\'")}'`;
3
+ /**
4
+ * Generates the browser-side scope client: the `ScopeId` union and a
5
+ * `hasScopes` that decides whether held grants satisfy a requirement.
6
+ *
7
+ * The cascade is emitted inline rather than imported, so the file a frontend
8
+ * bundles has no imports at all. `@pikku/core` is a server package — it pulls
9
+ * AsyncLocalStorage and the wiring runtime behind it — so a UI reaching for
10
+ * `@pikku/core/scope` to render a permission drags the server into the bundle.
11
+ * `serialize-scopes-client.test.ts` checks this copy against core's over a
12
+ * shared case table.
13
+ */
14
+ export const serializeScopesClient = ({ definitions, }) => {
15
+ const flat = flattenScopeDefinitions(definitions);
16
+ const ids = flat.map((s) => s.id);
17
+ const hasChildren = (id) => ids.some((other) => other.startsWith(`${id}:`));
18
+ const requirable = [
19
+ ...ids,
20
+ ...ids.filter(hasChildren).map((id) => `${id}:*`),
21
+ ].sort();
22
+ const union = requirable.length > 0
23
+ ? `\n${requirable.map((id) => ` | ${quote(id)}`).join('\n')}`
24
+ : ' never';
25
+ return `/**
26
+ * This file was generated by the @pikku/cli
27
+ */
28
+
29
+ /**
30
+ * Every scope a function can require.
31
+ *
32
+ * A \`:*\` entry requires the scope and all of its descendants. A held grant of
33
+ * \`admin:*\` satisfies any \`admin:...\` requirement.
34
+ */
35
+ export type ScopeId =${union}
36
+
37
+ const SEPARATOR = ':'
38
+ const WILDCARD = '*'
39
+
40
+ const satisfyingGrants = (scope: string): string[] => {
41
+ const segments = scope.split(SEPARATOR)
42
+ const grants = [scope, \`\${scope}\${SEPARATOR}\${WILDCARD}\`]
43
+ for (let i = 0; i < segments.length; i++) {
44
+ grants.push([...segments.slice(0, i), WILDCARD].join(SEPARATOR))
45
+ }
46
+ for (let i = 1; i < segments.length; i++) {
47
+ grants.push(segments.slice(0, i).join(SEPARATOR))
48
+ }
49
+ return grants
50
+ }
51
+
52
+ const holds = (held: ReadonlySet<string>, scope: string): boolean =>
53
+ satisfyingGrants(scope).some((grant) => held.has(grant))
54
+
55
+ /**
56
+ * Whether \`held\` satisfies every scope in \`required\`.
57
+ *
58
+ * Fails closed: absent grants satisfy nothing. An empty \`required\` is
59
+ * satisfied by anything.
60
+ */
61
+ export const hasScopes = (
62
+ required: readonly string[] | undefined,
63
+ held: Iterable<string> | undefined
64
+ ): boolean => {
65
+ if (!required || required.length === 0) {
66
+ return true
67
+ }
68
+ const grants = new Set(held ?? [])
69
+ return required.every((scope) => holds(grants, scope))
70
+ }
71
+ `;
72
+ };
@@ -1,4 +1,4 @@
1
- import type { ScopeDefinitions } from '@pikku/core/ecosystem/scope';
1
+ import type { ScopeDefinitions } from '@pikku/core/scope';
2
2
  export interface SerializeScopesOptions {
3
3
  definitions: ScopeDefinitions;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { flattenScopeDefinitions } from '@pikku/core/ecosystem/scope';
1
+ import { flattenScopeDefinitions } from '@pikku/core/scope';
2
2
  const quote = (value) => `'${value.replace(/'/g, "\\'")}'`;
3
3
  /**
4
4
  * Generates the `ScopeId` union and scope metadata from `defineScope`
@@ -30,8 +30,8 @@ export const serializeScopesTypes = ({ definitions, }) => {
30
30
  return `/**
31
31
  * This file was generated by the @pikku/cli
32
32
  */
33
- import type { FlatScope, ScopeDefinitionsMeta } from '@pikku/core/ecosystem/scope'
34
- import { flattenScopeDefinitions } from '@pikku/core/ecosystem/scope'
33
+ import type { FlatScope, ScopeDefinitionsMeta } from '@pikku/core/scope'
34
+ import { flattenScopeDefinitions } from '@pikku/core/scope'
35
35
  import definitions from './pikku-scopes-meta.gen.json' with { type: 'json' }
36
36
 
37
37
  /**
@@ -1 +1 @@
1
- export declare const pikkuSecrets: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuSecrets: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,8 +1,8 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { writeFileInDir } from '../../../utils/file-writer.js';
3
3
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
4
4
  import { serializeSecretsTypes } from './serialize-secrets-types.js';
5
- import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/ecosystem/secret';
5
+ import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
6
6
  export const pikkuSecrets = pikkuSessionlessFunc({
7
7
  func: async ({ logger, config, getInspectorState }) => {
8
8
  const { secretsFile, secretsMetaJsonFile, packageMappings } = config;
@@ -1,4 +1,4 @@
1
- import type { SecretDefinitions } from '@pikku/core/ecosystem/secret';
1
+ import type { SecretDefinitions } from '@pikku/core/secret';
2
2
  import type { SchemaRef } from '@pikku/inspector';
3
3
  export interface SerializeSecretsOptions {
4
4
  definitions: SecretDefinitions;
@@ -1,4 +1,4 @@
1
- import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/ecosystem/secret';
1
+ import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
2
2
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
3
3
  /**
4
4
  * A display name is the human-facing label a developer wrote, so an apostrophe
@@ -31,22 +31,28 @@ export const serializeSecretsTypes = ({ definitions, schemaLookup, secretsFile,
31
31
  schemaImports.set(schemaRef.sourceFile, new Set());
32
32
  }
33
33
  schemaImports.get(schemaRef.sourceFile).add(schemaRef.variableName);
34
- mapEntries.push(` '${meta.secretId}': z.infer<typeof ${schemaRef.variableName}>`);
35
- metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: ${literal(meta.displayName)} }`);
34
+ mapEntries.push(` '${meta.secretId}'${meta.optional ? '?' : ''}: z.infer<typeof ${schemaRef.variableName}>`);
35
+ metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: ${literal(meta.displayName)}${meta.optional ? ', optional: true' : ''} }`);
36
36
  }
37
37
  }
38
38
  }
39
39
  const imports = [];
40
40
  imports.push(`import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services'
41
- import type { CredentialMeta } from '@pikku/core/ecosystem/services'`);
41
+ import type { CredentialMeta } from '@pikku/core/services'`);
42
42
  imports.push(`import type { SecretService } from '@pikku/core/services'`);
43
- imports.push(`import type { SecretDefinitionsMeta } from '@pikku/core/secret'`);
44
- imports.push(`import secretsMeta from './pikku-secrets-meta.gen.json' with { type: 'json' }`);
43
+ imports.push(`/**
44
+ * Side-effect import of the metadata sidecar, so that tsc emits the .json
45
+ * alongside this file. An addon publishes only its compiled output, and a host
46
+ * reads that .json off disk to discover the addon's declared secrets — an
47
+ * uncopied sidecar leaves them invisible to the host. Nothing binds it: the
48
+ * sidecar is not part of \`#pikku/secrets\`.
49
+ */
50
+ import './pikku-secrets-meta.gen.json' with { type: 'json' }`);
45
51
  if (needsZod) {
46
52
  imports.push(`import type { z } from 'zod'`);
47
53
  }
48
54
  if (needsOAuth2Types) {
49
- imports.push(`import type { OAuth2AppCredential, OAuth2Token } from '@pikku/core/ecosystem/oauth2'`);
55
+ imports.push(`import type { OAuth2AppCredential, OAuth2Token } from '@pikku/core/oauth2'`);
50
56
  }
51
57
  for (const [sourceFile, variableNames] of schemaImports) {
52
58
  const importPath = getFileImportRelativePath(secretsFile, sourceFile, packageMappings);
@@ -55,23 +61,10 @@ import type { CredentialMeta } from '@pikku/core/ecosystem/services'`);
55
61
  }
56
62
  return `${imports.join('\n')}
57
63
 
58
- /**
59
- * Every secret declared in this package.
60
- *
61
- * Read from the metadata sidecar rather than inlined, so that the import above
62
- * forces tsc to emit the .json alongside this file. An addon publishes only its
63
- * compiled output, and a host reads that .json to discover the addon's declared
64
- * secrets — an uncopied sidecar leaves them invisible to the host.
65
- */
66
- export const SECRETS_META: SecretDefinitionsMeta =
67
- secretsMeta as SecretDefinitionsMeta
68
-
69
- export interface CredentialsMap {
64
+ export type CredentialsMap = {
70
65
  ${mapEntries.join('\n')}
71
66
  }
72
67
 
73
- export type SecretId = keyof CredentialsMap
74
-
75
68
  const CREDENTIALS_META: Record<string, CredentialMeta> = {
76
69
  ${metaEntries.join(',\n')}
77
70
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generates the setup surface — the three factories a project declares exactly
3
+ * once, at the point the application is brought up. Grouping them apart from
4
+ * the function types keeps `#pikku/function` to what a feature imports every
5
+ * day and `#pikku/setup` to what bootstrap imports and never touches again.
6
+ */
7
+ export declare const serializeSetupTypes: (functionTypesImportPath: string, configTypeImport: string, configTypeName: string | undefined, requiredServicesTypeImport: string) => string;
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Generates the setup surface — the three factories a project declares exactly
3
+ * once, at the point the application is brought up. Grouping them apart from
4
+ * the function types keeps `#pikku/function` to what a feature imports every
5
+ * day and `#pikku/setup` to what bootstrap imports and never touches again.
6
+ */
7
+ export const serializeSetupTypes = (functionTypesImportPath, configTypeImport, configTypeName, requiredServicesTypeImport) => {
8
+ return `/**
9
+ * Config and service factory definitions, declared once per application
10
+ */
11
+
12
+ import { pikkuState as __pikkuState } from '@pikku/core/state'
13
+ import { CreateWireServices } from '@pikku/core/types'
14
+ import type { SingletonServices } from '${functionTypesImportPath}'
15
+ ${configTypeImport}
16
+ ${requiredServicesTypeImport}
17
+ ${!configTypeName ? 'export type Config = any' : configTypeName === 'Config' ? 'export type { Config }' : `export type { ${configTypeName} as Config }`}
18
+
19
+ /**
20
+ * Creates a Pikku config factory.
21
+ * Use this to define your application's configuration factory.
22
+ *
23
+ * @param func - Config factory function that returns your application's config
24
+ * @returns The config factory function
25
+ *
26
+ * @example
27
+ * \`\`\`typescript
28
+ * export const createConfig = pikkuConfig(async () => {
29
+ * return {
30
+ * apiUrl: process.env.API_URL || 'http://localhost:3000',
31
+ * dbUrl: process.env.DATABASE_URL
32
+ * }
33
+ * })
34
+ * \`\`\`
35
+ */
36
+ export const pikkuConfig = (
37
+ func: (variables?: any, ...args: any[]) => Promise<Config>
38
+ ) => func
39
+
40
+ /**
41
+ * Creates a Pikku singleton services factory.
42
+ * Use this to define services that are created once and shared across all requests.
43
+ *
44
+ * @param func - Singleton services factory function
45
+ * @returns The singleton services factory function
46
+ *
47
+ * @example
48
+ * \`\`\`typescript
49
+ * export const createSingletonServices = pikkuServices(async (config, existingServices) => {
50
+ * return {
51
+ * config,
52
+ * logger: new CustomLogger(),
53
+ * db: await createDatabaseConnection(config.dbUrl)
54
+ * }
55
+ * })
56
+ * \`\`\`
57
+ */
58
+ export const pikkuServices = (
59
+ func: (config: Config, existingServices: Partial<SingletonServices>) => Promise<Partial<Omit<RequiredSingletonServices, 'auth'>>>
60
+ ) => {
61
+ return async (config: Config, existingServices: Partial<SingletonServices> = {}) => {
62
+ const createdServices = await func(config, existingServices)
63
+ const services = { ...existingServices, ...createdServices }
64
+ const authFactory = __pikkuState(null, 'package', 'authFactory')
65
+ if (authFactory) {
66
+ let authInstance: Promise<unknown> | undefined
67
+ ;(services as any).auth = () => {
68
+ authInstance ??= Promise.resolve()
69
+ .then(() => authFactory(services as any))
70
+ .catch((error) => {
71
+ authInstance = undefined
72
+ throw error
73
+ })
74
+ return authInstance
75
+ }
76
+ }
77
+ const resolved = services as RequiredSingletonServices
78
+ __pikkuState(null, 'package', 'singletonServices', resolved as any)
79
+ return resolved
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Creates a Pikku wire services factory.
85
+ * Use this to define services that are created per-request/session.
86
+ *
87
+ * @param func - Wire services factory function
88
+ * @returns The wire services factory function
89
+ *
90
+ * @example
91
+ * \`\`\`typescript
92
+ * export const createWireServices = pikkuWireServices(async (services, wire) => {
93
+ * const session = await wire.session?.get()
94
+ * return {
95
+ * userCache: new UserCache(session?.userId)
96
+ * }
97
+ * })
98
+ * \`\`\`
99
+ */
100
+ export const pikkuWireServices = (
101
+ func: (
102
+ services: SingletonServices,
103
+ wire: any
104
+ ) => Promise<RequiredWireServices>
105
+ ): CreateWireServices => {
106
+ const factories = __pikkuState(null, 'package', 'factories')
107
+ __pikkuState(null, 'package', 'factories', { ...factories, createWireServices: func as any })
108
+ return func as unknown as CreateWireServices
109
+ }
110
+ `;
111
+ };
@@ -1,7 +1,7 @@
1
- export declare const pikkuTriggerTypes: import("#pikku").PikkuFunctionConfig<{
1
+ export declare const pikkuTriggerTypes: import("#pikku/function").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
- }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
3
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
6
6
  bootstrap?: boolean;
7
- }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { writeFileInDir } from '../../../utils/file-writer.js';
3
3
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -12,7 +12,7 @@ export const pikkuTriggerTypes = pikkuSessionlessFunc({
12
12
  throw new Error('SingletonServices type not found');
13
13
  }
14
14
  const singletonServicesTypeImport = `import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(triggersTypesFile, singletonServicesType.typePath, packageMappings)}'`;
15
- const content = serializeTriggerTypes(singletonServicesTypeImport, singletonServicesType.type);
15
+ const content = serializeTriggerTypes(singletonServicesTypeImport, singletonServicesType.type, { addon: !!config.addon });
16
16
  await writeFileInDir(logger, triggersTypesFile, content);
17
17
  },
18
18
  middleware: [
@@ -1 +1 @@
1
- export declare const pikkuTrigger: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuTrigger: import("#pikku/function").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,4 +1,4 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
2
  import { serializeFileImports } from '../../../utils/file-imports-serializer.js';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
@@ -1,4 +1,4 @@
1
- import type { TriggerMeta, TriggerSourceMeta } from '@pikku/core/ecosystem/trigger';
1
+ import type { TriggerMeta, TriggerSourceMeta } from '@pikku/core/trigger';
2
2
  export declare const serializeTriggerMeta: (triggerMeta: TriggerMeta) => TriggerMeta;
3
3
  export declare const serializeTriggerMetaTS: (triggerMeta: TriggerMeta, jsonImportPath: string, supportsImportAttributes: boolean) => string;
4
4
  export declare const serializeTriggerSourceMeta: (sourceMeta: TriggerSourceMeta) => TriggerSourceMeta;
@@ -6,8 +6,8 @@ export const serializeTriggerMetaTS = (triggerMeta, jsonImportPath, supportsImpo
6
6
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
7
7
  : `import metaData from '${jsonImportPath}'`;
8
8
  const serializedOutput = [];
9
- serializedOutput.push("import { pikkuState } from '@pikku/core/ecosystem'");
10
- serializedOutput.push("import { TriggerMeta } from '@pikku/core/ecosystem/trigger'");
9
+ serializedOutput.push("import { pikkuState } from '@pikku/core/state'");
10
+ serializedOutput.push("import { TriggerMeta } from '@pikku/core/trigger'");
11
11
  serializedOutput.push(importStatement);
12
12
  serializedOutput.push('');
13
13
  serializedOutput.push("pikkuState(null, 'trigger', 'meta', metaData as TriggerMeta)");
@@ -26,8 +26,8 @@ export const serializeTriggerSourceMetaTS = (sourceMeta, jsonImportPath, support
26
26
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
27
27
  : `import metaData from '${jsonImportPath}'`;
28
28
  const serializedOutput = [];
29
- serializedOutput.push("import { pikkuState } from '@pikku/core/ecosystem'");
30
- serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/ecosystem/trigger'");
29
+ serializedOutput.push("import { pikkuState } from '@pikku/core/state'");
30
+ serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/trigger'");
31
31
  serializedOutput.push(importStatement);
32
32
  serializedOutput.push('');
33
33
  serializedOutput.push("pikkuState(null, 'trigger', 'sourceMeta', metaData as TriggerSourceMeta)");
@@ -1,4 +1,6 @@
1
1
  /**
2
2
  * Generates type definitions for trigger wirings
3
3
  */
4
- export declare const serializeTriggerTypes: (singletonServicesTypeImport: string, singletonServicesTypeName: string) => string;
4
+ export declare const serializeTriggerTypes: (singletonServicesTypeImport: string, singletonServicesTypeName: string, { addon }?: {
5
+ addon?: boolean;
6
+ }) => string;
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * Generates type definitions for trigger wirings
3
3
  */
4
- export const serializeTriggerTypes = (singletonServicesTypeImport, singletonServicesTypeName) => {
4
+ export const serializeTriggerTypes = (singletonServicesTypeImport, singletonServicesTypeName, { addon = false } = {}) => {
5
5
  return `/**
6
6
  * Trigger-specific type definitions for tree-shaking optimization
7
7
  */
8
8
 
9
- import { wireTrigger as wireTriggerCore, wireTriggerSource as wireTriggerSourceCore } from '@pikku/core/trigger'
10
- import { CorePikkuTriggerFunction, CorePikkuTriggerFunctionConfig, CoreTrigger } from '@pikku/core/ecosystem/trigger'
11
- import type { CoreNodeConfig } from '@pikku/core/ecosystem/node'
9
+ ${addon ? '' : `import { wireTrigger as wireTriggerCore, wireTriggerSource as wireTriggerSourceCore } from '@pikku/core/trigger'\n`}import {
10
+ CorePikkuTriggerFunction,
11
+ CorePikkuTriggerFunctionConfig,${addon ? '' : `\n CoreTrigger,`}
12
+ } from '@pikku/core/trigger'
13
+ import type { CoreNodeConfig } from '@pikku/core/node'
12
14
  ${singletonServicesTypeImport}
13
15
  import type { StandardSchemaV1 } from '@standard-schema/spec'
14
16
 
@@ -21,7 +23,7 @@ ${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices =
21
23
  * @template TInput - Input type (configuration passed when wired)
22
24
  * @template TOutput - Output type produced when trigger fires
23
25
  */
24
- export type PikkuTriggerFunction<
26
+ type PikkuTriggerFunction<
25
27
  TInput = unknown,
26
28
  TOutput = unknown
27
29
  > = CorePikkuTriggerFunction<TInput, TOutput, SingletonServices>
@@ -29,7 +31,7 @@ export type PikkuTriggerFunction<
29
31
  /**
30
32
  * Configuration object for creating a trigger function with metadata
31
33
  */
32
- export type PikkuTriggerFunctionConfig<
34
+ type PikkuTriggerFunctionConfig<
33
35
  TInput = unknown,
34
36
  TOutput = unknown,
35
37
  InputSchema extends StandardSchemaV1 | undefined = undefined,
@@ -46,7 +48,7 @@ type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output> ? Outp
46
48
  * Use this when you want to define input/output schemas using Zod.
47
49
  * Types are automatically inferred from the schemas.
48
50
  */
49
- export type PikkuTriggerFunctionConfigWithSchema<
51
+ type PikkuTriggerFunctionConfigWithSchema<
50
52
  InputSchema extends StandardSchemaV1,
51
53
  OutputSchema extends StandardSchemaV1 | undefined = undefined
52
54
  > = {
@@ -66,22 +68,23 @@ export type PikkuTriggerFunctionConfigWithSchema<
66
68
  * Type definition for trigger wirings.
67
69
  * Declares a trigger name and its target pikku function.
68
70
  */
69
- export type TriggerWiring = CoreTrigger
70
-
71
- /**
71
+ ${addon ? '' : `type TriggerWiring = CoreTrigger\n`}
72
+ ${addon
73
+ ? ''
74
+ : `/**
72
75
  * A trigger source with the subscription function, using project-specific services.
73
76
  *
74
77
  * @template TInput - Input type passed to the trigger function
75
78
  * @template TOutput - Output type produced when trigger fires
76
79
  */
77
- export type TriggerSource<
80
+ type TriggerSource<
78
81
  TInput = unknown,
79
82
  TOutput = unknown
80
83
  > = {
81
84
  name: string
82
85
  func: PikkuTriggerFunctionConfig<TInput, TOutput>
83
86
  } & (unknown extends TInput ? { input?: TInput } : { input: TInput })
84
-
87
+ `}
85
88
  /**
86
89
  * Creates a trigger function configuration.
87
90
  * Use this to define trigger functions that set up subscriptions.
@@ -135,6 +138,9 @@ export function pikkuTriggerFunc(triggerOrConfig: any) {
135
138
  return triggerOrConfig
136
139
  }
137
140
 
141
+ ${addon
142
+ ? ''
143
+ : `
138
144
  /**
139
145
  * Registers a trigger with the Pikku framework.
140
146
  * Declares a trigger name and its target pikku function.
@@ -160,5 +166,5 @@ export const wireTriggerSource = <TInput = unknown, TOutput = unknown>(
160
166
  ) => {
161
167
  wireTriggerSourceCore(source as any)
162
168
  }
163
- `;
169
+ `}`;
164
170
  };
@@ -1 +1 @@
1
- export declare const pikkuUserAdminFunctions: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuUserAdminFunctions: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
@@ -1,9 +1,8 @@
1
- import { pikkuSessionlessFunc } from '#pikku';
2
- import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
1
+ import { pikkuSessionlessFunc } from '#pikku/function';
2
+ import { getLeafImportPath } from '../../../utils/leaf-import-path.js';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
5
  import { serializeUserAdminFunctions } from './serialize-user-admin-functions.js';
6
- import { resolveScaffoldFeature } from '../../../utils/resolve-scaffold-feature.js';
7
6
  export const pikkuUserAdminFunctions = pikkuSessionlessFunc({
8
7
  func: async ({ logger, config, getInspectorState }) => {
9
8
  if (!config.scaffold?.userAdmin ||
@@ -16,27 +15,28 @@ export const pikkuUserAdminFunctions = pikkuSessionlessFunc({
16
15
  return false;
17
16
  }
18
17
  const { definition } = (await getInspectorState()).auth;
19
- // These functions are thin wrappers over better-auth's admin() endpoints.
20
- // Without that plugin the endpoints do not exist, so the scaffold would
21
- // generate four RPCs that throw on every call and four scopes that grant
22
- // nothing. Fail the codegen instead of shipping that.
18
+ // Every one of these functions drives better-auth's internal adapter, so
19
+ // without a better-auth instance the scaffold would generate RPCs that
20
+ // throw on every call and scopes that grant nothing. Fail the codegen
21
+ // instead of shipping that.
23
22
  if (!definition) {
24
23
  throw new Error(`"scaffold.userAdmin" is enabled but no pikkuBetterAuth(...) was found in the project.\n` +
25
- `User management wraps better-auth's admin() endpoints, so there is nothing to wrap.\n` +
24
+ `User management works through better-auth's internal adapter, so there is nothing to manage.\n` +
26
25
  `Fix: set up Better Auth before scaffolding user management, or remove ` +
27
26
  `"scaffold.userAdmin" from pikku.config.json.`);
28
27
  }
29
- if (!definition.plugins.includes('admin')) {
30
- throw new Error(`"scaffold.userAdmin" is enabled but better-auth is configured without the admin() plugin.\n` +
31
- `Ban, delete, session-revocation and set-password are implemented by that plugin — without it ` +
32
- `the generated functions would fail on every call.\n` +
33
- `Fix: add admin() to the plugins array in ${definition.sourceFile}:\n` +
34
- ` import { admin } from 'better-auth/plugins'\n` +
35
- ` betterAuth({ plugins: [admin()] })\n` +
36
- `Then re-run codegen. Or remove "scaffold.userAdmin" from pikku.config.json.`);
28
+ // Ban is the one capability with a schema requirement of its own, and it is
29
+ // only one of the six a warning rather than a failure, so an app that
30
+ // never bans anyone is not forced to carry the columns.
31
+ if (!definition.plugins.includes('ban')) {
32
+ logger.warn(`"scaffold.userAdmin" is enabled but better-auth is configured without the ban() plugin, ` +
33
+ `so the banned/banReason/banExpires columns do not exist and setUserBanned will fail.\n` +
34
+ `Fix: add ban() to the plugins array in ${definition.sourceFile}:\n` +
35
+ ` import { ban } from '@pikku/better-auth'\n` +
36
+ ` betterAuth({ plugins: [ban()] })`);
37
37
  }
38
- const pathToPikkuTypes = getFileImportRelativePath(config.userAdminFunctionsFile, config.typesDeclarationFile, config.packageMappings);
39
- const { schemas, functions } = serializeUserAdminFunctions(pathToPikkuTypes, resolveScaffoldFeature('userAdmin', config.scaffold.userAdmin).auth);
38
+ const leaf = (name) => getLeafImportPath(config.userAdminFunctionsFile, name, config);
39
+ const { schemas, functions } = serializeUserAdminFunctions(leaf);
40
40
  await writeFileInDir(logger, config.userAdminSchemasFile, schemas);
41
41
  await writeFileInDir(logger, config.userAdminFunctionsFile, functions);
42
42
  return true;
@@ -4,16 +4,17 @@ export interface UserAdminGenOutput {
4
4
  }
5
5
  /**
6
6
  * Generate the user-management functions into the project scaffold: the
7
- * directory read plus the writes that wrap better-auth's `admin()` endpoints.
7
+ * directory read plus the writes that administer it.
8
8
  *
9
- * Scaffolded rather than shipped in an addon because managing users is ordinary
10
- * application behaviour: an app should not have to install the console which
11
- * exists to be served alongside a running dev server just to list or ban its
12
- * own users. The console UI calls these same functions when it is present.
9
+ * Superseded by `@pikku/addon-admin`, which ships these same functions plus
10
+ * roles, credentials and the audit trail, and which an app can wire without
11
+ * installing the console. Kept for hosts still on the scaffold; the scope tree
12
+ * below must stay byte-identical to the addon's, or an app with both fails
13
+ * codegen on conflicting declarations.
13
14
  *
14
- * Each function is gated on its own `admin:users:*` scope. The writes are only
15
- * meaningful where `admin()` is wired, which is why this file is generated only
16
- * in that case.
15
+ * Each function is gated on its own `admin:users:*` scope, and works through
16
+ * better-auth's internal adapter. Banning additionally needs the `ban()` plugin
17
+ * from `@pikku/better-auth` for the columns it writes to exist.
17
18
  *
18
19
  * Emitted as two files. The schemas are zod, and the inspector reads a zod
19
20
  * schema by importing the module that declares it — which it cannot do for the
@@ -21,4 +22,4 @@ export interface UserAdminGenOutput {
21
22
  * rewrites. Keeping the schemas in a sibling module that imports nothing but
22
23
  * zod sidesteps that entirely.
23
24
  */
24
- export declare const serializeUserAdminFunctions: (pathToPikkuTypes: string, requireAuth?: boolean) => UserAdminGenOutput;
25
+ export declare const serializeUserAdminFunctions: (leaf: (name: string) => string) => UserAdminGenOutput;