@pikku/cli 0.12.145 → 0.12.152

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 (551) hide show
  1. package/console-app/assets/HelpPanel-CxjgE40i.js +1 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-BIPJyOId.js → abnfDiagram-VCTEODGH-UPW1PlxM.js} +1 -1
  3. package/console-app/assets/architecture-7GRP2DOG-BQN972Vc.js +1 -0
  4. package/console-app/assets/architectureDiagram-5GKGNRK7-B3XFrvZk.js +36 -0
  5. package/console-app/assets/blockDiagram-I7D4REHJ-Ca0v9UJQ.js +129 -0
  6. package/console-app/assets/c4Diagram-7LVT6UL2-CLewVsj_.js +38 -0
  7. package/console-app/assets/channel-B8xtOmL3.js +1 -0
  8. package/console-app/assets/chunk-4HAMMTFA-BwhbhOD9.js +62 -0
  9. package/console-app/assets/{chunk-NSK5VX7P-VK0slsok.js → chunk-75Z2AOVW-C7nAgNk0.js} +1 -1
  10. package/console-app/assets/chunk-DU6HZSFF-D4yYAcHt.js +127 -0
  11. package/console-app/assets/{chunk-2GRJ4B5K-pBREt5-Y.js → chunk-F27PBJKO-UHllOPps.js} +1 -1
  12. package/console-app/assets/{chunk-KEIR6QF5-BICK3FdT.js → chunk-FOHPRMQF-CoA4358r.js} +9 -9
  13. package/console-app/assets/chunk-GMAD6QVW-C0l_vm7T.js +72 -0
  14. package/console-app/assets/chunk-GVQU2GXP-h-H2Oird.js +1 -0
  15. package/console-app/assets/{chunk-5RXB4S5H-wo8Xtqiv.js → chunk-IMKFNOWR-DJ_W9CSg.js} +2 -2
  16. package/console-app/assets/chunk-L3NEJ4N5-Ce9oniwE.js +1 -0
  17. package/console-app/assets/chunk-OSK3NFVY-CdGE5qxS.js +10 -0
  18. package/console-app/assets/chunk-P2QGCYS3-DK1pHDdz.js +1 -0
  19. package/console-app/assets/{chunk-KBJHAD2P-PiPaopal.js → chunk-POPQ4Y6H-DjevEFNo.js} +1 -1
  20. package/console-app/assets/{chunk-4I5QYGJK-SmJ1Rqsn.js → chunk-PWAF6VOD-BVF5N1No.js} +1 -1
  21. package/console-app/assets/chunk-SHT3W25Y-BX8We-wN.js +168 -0
  22. package/console-app/assets/{chunk-6Q2QTUOP-B6uqaxr0.js → chunk-SVP7TREG-Cl0GgAPC.js} +1 -1
  23. package/console-app/assets/{chunk-GF5L2VYU-Cw7tsTe6.js → chunk-TICWLB2K-IWZAWDhu.js} +2 -2
  24. package/console-app/assets/chunk-XXDRQBXY-CGWcS5Ol.js +1 -0
  25. package/console-app/assets/classDiagram-ZZMXUADV-OGsmOlmO.js +1 -0
  26. package/console-app/assets/classDiagram-v2-VYDZK3BY-OGsmOlmO.js +1 -0
  27. package/console-app/assets/cose-bilkent-JH36ORCC-GsQ0JAnL.js +1 -0
  28. package/console-app/assets/cynefin-OW5HDTMX-hZsAZp_5.js +1 -0
  29. package/console-app/assets/{cynefinDiagram-MW4NZA55-BzFWEf8Y.js → cynefinDiagram-5FMLGOSQ-CsyMovx1.js} +1 -1
  30. package/console-app/assets/cytoscape.esm-B-1iW2ft.js +321 -0
  31. package/console-app/assets/dagre-BP8XEFz-.js +1 -0
  32. package/console-app/assets/dagre-GXQ25YYZ-Jg5285rx.js +4 -0
  33. package/console-app/assets/{diagram-7IWD3JNH-C58VaHJt.js → diagram-S7CK7UJ4-n9JiR8HK.js} +4 -4
  34. package/console-app/assets/{diagram-UB23O5K3-CmRNd5vm.js → diagram-UQ7AKVKN-Cde-dgbI.js} +1 -1
  35. package/console-app/assets/{diagram-B4RE2ZJO-B3w3TcXn.js → diagram-VSXAHHWV-CPZUg4FP.js} +1 -1
  36. package/console-app/assets/{diagram-Q27KOJAE-7oaP3D-d.js → diagram-VX7I27RA-B2rCDWvn.js} +1 -1
  37. package/console-app/assets/{diagram-LBJQPF4R-L1ZkDsab.js → diagram-Z3DM3KII-UwO0hte3.js} +1 -1
  38. package/console-app/assets/{ebnfDiagram-BXEA7PRR-D0rxzLaa.js → ebnfDiagram-PWID7BFC-BGJ_PBlS.js} +1 -1
  39. package/console-app/assets/erDiagram-RLTQ6QDP-CKsTScr3.js +99 -0
  40. package/console-app/assets/eventmodeling-NTZA5JFV-CnZOTLz3.js +1 -0
  41. package/console-app/assets/flowDiagram-HODETNUW-TYMCrte8.js +1 -0
  42. package/console-app/assets/ganttDiagram-EL5Y4UJY-koeTkIEA.js +292 -0
  43. package/console-app/assets/gitGraph-4MIJSDKK-DyRPbcM4.js +1 -0
  44. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-JaW7OYCY.js → gitGraphDiagram-WWUBYQGX-DSIejrYw.js} +1 -1
  45. package/console-app/assets/graphlib-BpQ_697T.js +1 -0
  46. package/console-app/assets/index-BbJGr-r1.css +1 -0
  47. package/console-app/assets/index-Du9_fRSw.js +262 -0
  48. package/console-app/assets/info-A6RAGUB7-C63f9an_.js +1 -0
  49. package/console-app/assets/{infoDiagram-6WML65LV-DIbMcTbW.js → infoDiagram-27XIBGKW-Dz5gMcUF.js} +1 -1
  50. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-mozqgfxi.js → ishikawaDiagram-5VMMS53U-m-nTAZTH.js} +1 -1
  51. package/console-app/assets/{journeyDiagram-NVQOT4AX-CKDrjPz5.js → journeyDiagram-3NMN7TZE-C7mjFY7i.js} +2 -2
  52. package/console-app/assets/{kanban-definition-27J2QSJJ-B9shPbST.js → kanban-definition-UXKFOSKX-Cm7PqOOP.js} +2 -2
  53. package/console-app/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
  54. package/console-app/assets/{line-DLrnl2PN.js → line-RZNRGurC.js} +1 -1
  55. package/console-app/assets/linear-C2IGWMlF.js +1 -0
  56. package/console-app/assets/{mermaid-parser.core-ElI_yw4f.js → mermaid-parser.core-DN1yDqgB.js} +3 -3
  57. package/console-app/assets/mermaid.core-DDRs3TbC.js +44 -0
  58. package/console-app/assets/{mindmap-definition-FAOFIHXS-BTvmLZE7.js → mindmap-definition-YA3MSWOX-o6riOwlF.js} +1 -1
  59. package/console-app/assets/packet-AYTQ26CC-B89F6gXG.js +1 -0
  60. package/console-app/assets/{pegDiagram-VL7TDLO6-1hBiUSmO.js → pegDiagram-XKGWAZYB-BQ1AAIaV.js} +1 -1
  61. package/console-app/assets/pie-WAS4IAKB-CzuwQlQz.js +1 -0
  62. package/console-app/assets/{pieDiagram-7S7Q4E2Y-vvgYfdFq.js → pieDiagram-E7YTZNPT-DlcGHWGT.js} +1 -1
  63. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-B_emxK6O.js → quadrantDiagram-AXDQQJYC-DdITwqw-.js} +1 -1
  64. package/console-app/assets/radar-RG4KPBEZ-DlJ29jAN.js +1 -0
  65. package/console-app/assets/railroad-74A4TZTK-BL49fdM8.js +1 -0
  66. package/console-app/assets/railroad-abnf-HS5TGJTU-D9Ej_sin.js +1 -0
  67. package/console-app/assets/railroad-ebnf-LZEXJU2U-CjzlC3qv.js +1 -0
  68. package/console-app/assets/railroad-peg-WCYAUIDC-BPa6lIrj.js +1 -0
  69. package/console-app/assets/{railroadDiagram-AXF67PYL-IXXj_KlB.js → railroadDiagram-O6MQD6OU-BNgQGtF5.js} +1 -1
  70. package/console-app/assets/{requirementDiagram-LRYGKXZP-B15ZEbec.js → requirementDiagram-BXWQKSXE-48lE_WeD.js} +2 -2
  71. package/console-app/assets/{sankeyDiagram-W5VNT64P-w-sj_WN8.js → sankeyDiagram-P5KCCOFB-WmTardCP.js} +1 -1
  72. package/console-app/assets/{sequenceDiagram-SI44F4Z6-BP1UgEbX.js → sequenceDiagram-WJ2MYXX4-Bd5cHDMs.js} +1 -1
  73. package/console-app/assets/src-BTXg_NtK.js +1 -0
  74. package/console-app/assets/{stateDiagram-OKZ733FA-DE4L-y3n.js → stateDiagram-D77RDMKH-DBoCkqGv.js} +1 -1
  75. package/console-app/assets/stateDiagram-v2-MP3YSRHH-BLbaZawL.js +1 -0
  76. package/console-app/assets/swimlanes-42K2YHIH-lecUPBaK.js +1 -0
  77. package/console-app/assets/swimlanesDiagram-VR7AAH4N-CM_5HS_7.js +8 -0
  78. package/console-app/assets/{timeline-definition-Z64GVDOM-Cc8M2qee.js → timeline-definition-24CTP7MA-CWq0OWm1.js} +1 -1
  79. package/console-app/assets/treeView-Q6P3EWNA-C7lEeqUz.js +1 -0
  80. package/console-app/assets/treemap-WGGIJYW6-Bkx2DAoI.js +1 -0
  81. package/console-app/assets/{vennDiagram-T6HMQDX7-dpGyGzMg.js → vennDiagram-4TSXK5OY-Bw_kGRL3.js} +1 -1
  82. package/console-app/assets/wardley-WFR3VGLG-V0zki2L0.js +1 -0
  83. package/console-app/assets/{wardleyDiagram-T6FBY63Y-CBvRf8GJ.js → wardleyDiagram-VM6X3IG4-C5vrwEHM.js} +1 -1
  84. package/console-app/assets/{xychartDiagram-ELKLHX3M-UlPqx-ve.js → xychartDiagram-S5SC5T6Z-B9uA0moC.js} +3 -3
  85. package/console-app/index.html +2 -3
  86. package/dist/.pikku/addon/index.d.ts +1 -1
  87. package/dist/.pikku/addon/index.js +1 -1
  88. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  89. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  90. package/dist/.pikku/agent/index.d.ts +1 -1
  91. package/dist/.pikku/agent/index.js +1 -1
  92. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +6 -6
  93. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  94. package/dist/.pikku/analytics/index.d.ts +7 -0
  95. package/dist/.pikku/analytics/index.js +7 -0
  96. package/dist/.pikku/analytics/pikku-analytics-types.gen.d.ts +5 -0
  97. package/dist/.pikku/analytics/pikku-analytics-types.gen.js +4 -0
  98. package/dist/.pikku/auth/auth.types.d.ts +1 -1
  99. package/dist/.pikku/auth/auth.types.js +1 -1
  100. package/dist/.pikku/auth/index.d.ts +1 -1
  101. package/dist/.pikku/auth/index.js +1 -1
  102. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
  103. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  104. package/dist/.pikku/channel/index.d.ts +1 -1
  105. package/dist/.pikku/channel/index.js +1 -1
  106. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
  107. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  108. package/dist/.pikku/cli/index.d.ts +1 -1
  109. package/dist/.pikku/cli/index.js +1 -1
  110. package/dist/.pikku/cli/pikku-cli-channel.d.ts +7 -7
  111. package/dist/.pikku/cli/pikku-cli-channel.js +36 -1
  112. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  113. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  114. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  115. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  116. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +207 -0
  117. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +2 -2
  118. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  119. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  120. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +207 -0
  121. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  122. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  123. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  124. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  125. package/dist/.pikku/error/index.d.ts +1 -1
  126. package/dist/.pikku/error/index.js +1 -1
  127. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  128. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  129. package/dist/.pikku/function/index.d.ts +1 -1
  130. package/dist/.pikku/function/index.js +1 -1
  131. package/dist/.pikku/function/pikku-function-types.gen.d.ts +8 -7
  132. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  133. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  134. package/dist/.pikku/function/pikku-functions-meta.gen.json +253 -26
  135. package/dist/.pikku/function/pikku-functions.gen.js +9 -1
  136. package/dist/.pikku/gateway/index.d.ts +1 -1
  137. package/dist/.pikku/gateway/index.js +1 -1
  138. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  139. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  140. package/dist/.pikku/http/index.d.ts +1 -1
  141. package/dist/.pikku/http/index.js +1 -1
  142. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  143. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  144. package/dist/.pikku/mcp/index.d.ts +1 -1
  145. package/dist/.pikku/mcp/index.js +1 -1
  146. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  147. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  148. package/dist/.pikku/middleware/index.d.ts +1 -1
  149. package/dist/.pikku/middleware/index.js +1 -1
  150. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  151. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  152. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  153. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  154. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  155. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  156. package/dist/.pikku/pikku-services.gen.d.ts +5 -1
  157. package/dist/.pikku/pikku-services.gen.js +4 -0
  158. package/dist/.pikku/queue/index.d.ts +1 -1
  159. package/dist/.pikku/queue/index.js +1 -1
  160. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  161. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  162. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  163. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  164. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  165. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  166. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +11 -0
  167. package/dist/.pikku/scenarios/index.d.ts +1 -1
  168. package/dist/.pikku/scenarios/index.js +1 -1
  169. package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +1 -1
  170. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  171. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  172. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  173. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  174. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  175. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  176. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  177. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  178. package/dist/.pikku/scheduler/index.d.ts +1 -1
  179. package/dist/.pikku/scheduler/index.js +1 -1
  180. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  181. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  182. package/dist/.pikku/schemas/register.gen.js +35 -1
  183. package/dist/.pikku/schemas/schemas/FabricChangesAskInput.schema.json +1 -0
  184. package/dist/.pikku/schemas/schemas/FabricChangesAskOutput.schema.json +1 -0
  185. package/dist/.pikku/schemas/schemas/FabricChangesClaimInput.schema.json +1 -0
  186. package/dist/.pikku/schemas/schemas/FabricChangesClaimOutput.schema.json +1 -0
  187. package/dist/.pikku/schemas/schemas/FabricChangesDoneInput.schema.json +1 -0
  188. package/dist/.pikku/schemas/schemas/FabricChangesDoneOutput.schema.json +1 -0
  189. package/dist/.pikku/schemas/schemas/FabricChangesFileInput.schema.json +1 -0
  190. package/dist/.pikku/schemas/schemas/FabricChangesFileOutput.schema.json +1 -0
  191. package/dist/.pikku/schemas/schemas/FabricChangesListInput.schema.json +1 -0
  192. package/dist/.pikku/schemas/schemas/FabricChangesListOutput.schema.json +1 -0
  193. package/dist/.pikku/schemas/schemas/FabricChangesShotInput.schema.json +1 -0
  194. package/dist/.pikku/schemas/schemas/FabricChangesShotOutput.schema.json +1 -0
  195. package/dist/.pikku/schemas/schemas/FabricChangesShowInput.schema.json +1 -0
  196. package/dist/.pikku/schemas/schemas/FabricChangesShowOutput.schema.json +1 -0
  197. package/dist/.pikku/schemas/schemas/FabricDeployApplyOutput.schema.json +1 -1
  198. package/dist/.pikku/schemas/schemas/FabricFindingsListOutput.schema.json +1 -1
  199. package/dist/.pikku/schemas/schemas/FabricProjectsListOutput.schema.json +1 -1
  200. package/dist/.pikku/schemas/schemas/FabricPublishOutput.schema.json +1 -1
  201. package/dist/.pikku/schemas/schemas/FabricRollbackOutput.schema.json +1 -1
  202. package/dist/.pikku/schemas/schemas/FabricSecretsDeleteOutput.schema.json +1 -1
  203. package/dist/.pikku/schemas/schemas/FabricSecretsRotateOutput.schema.json +1 -1
  204. package/dist/.pikku/schemas/schemas/PikkuAnalyticsOutput.schema.json +1 -0
  205. package/dist/.pikku/schemas/schemas/PikkuFeatureFlagsScaffoldOutput.schema.json +1 -0
  206. package/dist/.pikku/schemas/schemas/PikkuFlagsInput.schema.json +1 -0
  207. package/dist/.pikku/scopes/index.d.ts +2 -1
  208. package/dist/.pikku/scopes/index.js +2 -1
  209. package/dist/.pikku/scopes/pikku-flags-meta.gen.json +1 -0
  210. package/dist/.pikku/scopes/pikku-flags.gen.d.ts +41 -0
  211. package/dist/.pikku/scopes/pikku-flags.gen.js +34 -0
  212. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  213. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  214. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +2 -1
  215. package/dist/.pikku/scopes/pikku-scope-types.gen.js +2 -1
  216. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  217. package/dist/.pikku/secrets/index.d.ts +1 -1
  218. package/dist/.pikku/secrets/index.js +1 -1
  219. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  220. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  221. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  222. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  223. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  224. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  225. package/dist/.pikku/setup/index.d.ts +1 -1
  226. package/dist/.pikku/setup/index.js +1 -1
  227. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +2 -2
  228. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  229. package/dist/.pikku/trigger/index.d.ts +1 -1
  230. package/dist/.pikku/trigger/index.js +1 -1
  231. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  232. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  233. package/dist/.pikku/variables/index.d.ts +1 -1
  234. package/dist/.pikku/variables/index.js +1 -1
  235. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  236. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  237. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  238. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  239. package/dist/.pikku/workflow/index.d.ts +1 -1
  240. package/dist/.pikku/workflow/index.js +1 -1
  241. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +42 -6
  242. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  243. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  244. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  245. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  246. package/dist/bin/pikku-bin.mjs +2 -2
  247. package/dist/src/deploy/analyzer/analyzer.d.ts +1 -1
  248. package/dist/src/deploy/analyzer/analyzer.js +40 -2
  249. package/dist/src/deploy/analyzer/grouping.d.ts +41 -7
  250. package/dist/src/deploy/analyzer/grouping.js +76 -2
  251. package/dist/src/deploy/build-pipeline.js +4 -0
  252. package/dist/src/fabric/fabric-commands.d.ts +360 -138
  253. package/dist/src/fabric/fabric-commands.js +166 -0
  254. package/dist/src/fabric/functions/add.function.d.ts +3 -3
  255. package/dist/src/fabric/functions/addon-verify.function.d.ts +9 -9
  256. package/dist/src/fabric/functions/changes-ask.function.d.ts +34 -0
  257. package/dist/src/fabric/functions/changes-ask.function.js +30 -0
  258. package/dist/src/fabric/functions/changes-claim.function.d.ts +50 -0
  259. package/dist/src/fabric/functions/changes-claim.function.js +43 -0
  260. package/dist/src/fabric/functions/changes-done.function.d.ts +55 -0
  261. package/dist/src/fabric/functions/changes-done.function.js +59 -0
  262. package/dist/src/fabric/functions/changes-file.function.d.ts +64 -0
  263. package/dist/src/fabric/functions/changes-file.function.js +56 -0
  264. package/dist/src/fabric/functions/changes-list.function.d.ts +60 -0
  265. package/dist/src/fabric/functions/changes-list.function.js +82 -0
  266. package/dist/src/fabric/functions/changes-shot.function.d.ts +66 -0
  267. package/dist/src/fabric/functions/changes-shot.function.js +56 -0
  268. package/dist/src/fabric/functions/changes-show.function.d.ts +41 -0
  269. package/dist/src/fabric/functions/changes-show.function.js +80 -0
  270. package/dist/src/fabric/functions/db-schema.function.d.ts +3 -3
  271. package/dist/src/fabric/functions/deploy-list.function.d.ts +3 -3
  272. package/dist/src/fabric/functions/deploy-units.function.d.ts +3 -3
  273. package/dist/src/fabric/functions/deploy.function.d.ts +12 -12
  274. package/dist/src/fabric/functions/deploy.function.js +6 -5
  275. package/dist/src/fabric/functions/domains-add.function.d.ts +7 -7
  276. package/dist/src/fabric/functions/domains-list.function.d.ts +3 -3
  277. package/dist/src/fabric/functions/domains-remove.function.d.ts +3 -3
  278. package/dist/src/fabric/functions/errors.function.d.ts +3 -3
  279. package/dist/src/fabric/functions/findings-clear.function.d.ts +3 -3
  280. package/dist/src/fabric/functions/findings-flush.function.d.ts +3 -3
  281. package/dist/src/fabric/functions/findings-list.function.d.ts +3 -3
  282. package/dist/src/fabric/functions/init.function.d.ts +3 -3
  283. package/dist/src/fabric/functions/link.function.d.ts +3 -3
  284. package/dist/src/fabric/functions/link.function.js +3 -2
  285. package/dist/src/fabric/functions/llm-key.function.d.ts +9 -9
  286. package/dist/src/fabric/functions/login.function.d.ts +3 -3
  287. package/dist/src/fabric/functions/logs.function.d.ts +3 -3
  288. package/dist/src/fabric/functions/logs.function.js +2 -1
  289. package/dist/src/fabric/functions/metrics.function.d.ts +3 -3
  290. package/dist/src/fabric/functions/projects-list.function.d.ts +3 -3
  291. package/dist/src/fabric/functions/publish.function.d.ts +3 -3
  292. package/dist/src/fabric/functions/report.function.d.ts +15 -15
  293. package/dist/src/fabric/functions/rollback.function.d.ts +9 -9
  294. package/dist/src/fabric/functions/secrets-delete.function.d.ts +3 -3
  295. package/dist/src/fabric/functions/secrets-list.function.d.ts +3 -3
  296. package/dist/src/fabric/functions/secrets-rotate.function.d.ts +3 -3
  297. package/dist/src/fabric/functions/secrets-set.function.d.ts +3 -3
  298. package/dist/src/fabric/functions/smoke.function.d.ts +3 -3
  299. package/dist/src/fabric/functions/status.function.d.ts +3 -3
  300. package/dist/src/fabric/functions/trace.function.d.ts +3 -3
  301. package/dist/src/fabric/functions/validate.function.d.ts +7 -7
  302. package/dist/src/fabric/functions/variables-get.function.d.ts +3 -3
  303. package/dist/src/fabric/functions/variables-set.function.d.ts +6 -6
  304. package/dist/src/fabric/lib/changes.d.ts +38 -0
  305. package/dist/src/fabric/lib/changes.js +70 -0
  306. package/dist/src/fabric/lib/errors.d.ts +21 -0
  307. package/dist/src/fabric/lib/errors.js +21 -0
  308. package/dist/src/fabric/lib/finding.d.ts +3 -3
  309. package/dist/src/fabric/lib/git.d.ts +3 -2
  310. package/dist/src/fabric/lib/git.js +10 -8
  311. package/dist/src/fabric/lib/output.d.ts +20 -0
  312. package/dist/src/fabric/lib/output.js +32 -7
  313. package/dist/src/functions/commands/all.d.ts +1 -1
  314. package/dist/src/functions/commands/audit.d.ts +1 -1
  315. package/dist/src/functions/commands/binary.d.ts +3 -3
  316. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  317. package/dist/src/functions/commands/bootstrap.js +3 -0
  318. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  319. package/dist/src/functions/commands/db-baseline.d.ts +1 -1
  320. package/dist/src/functions/commands/db-check.d.ts +1 -1
  321. package/dist/src/functions/commands/db-codegen.d.ts +1 -1
  322. package/dist/src/functions/commands/db-export.d.ts +1 -1
  323. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  324. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  325. package/dist/src/functions/commands/db-reset.d.ts +3 -3
  326. package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
  327. package/dist/src/functions/commands/deploy-apply.js +35 -3
  328. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  329. package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
  330. package/dist/src/functions/commands/deploy-plan.js +1 -0
  331. package/dist/src/functions/commands/dev-agent-runner.d.ts +9 -7
  332. package/dist/src/functions/commands/dev-agent-runner.js +56 -12
  333. package/dist/src/functions/commands/dev.d.ts +3 -3
  334. package/dist/src/functions/commands/dev.js +60 -6
  335. package/dist/src/functions/commands/dist.d.ts +3 -3
  336. package/dist/src/functions/commands/dist.js +2 -9
  337. package/dist/src/functions/commands/doc.d.ts +3 -3
  338. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  339. package/dist/src/functions/commands/enable.d.ts +9 -9
  340. package/dist/src/functions/commands/import-n8n.d.ts +3 -3
  341. package/dist/src/functions/commands/info.d.ts +4 -4
  342. package/dist/src/functions/commands/init-or-warn.d.ts +19 -0
  343. package/dist/src/functions/commands/init-or-warn.js +25 -0
  344. package/dist/src/functions/commands/knowledge-index.d.ts +6 -6
  345. package/dist/src/functions/commands/knowledge-plan.d.ts +15 -15
  346. package/dist/src/functions/commands/knowledge-reconcile.d.ts +6 -6
  347. package/dist/src/functions/commands/knowledge-validate.d.ts +6 -6
  348. package/dist/src/functions/commands/login.d.ts +7 -7
  349. package/dist/src/functions/commands/meta.d.ts +34 -34
  350. package/dist/src/functions/commands/new-addon.d.ts +3 -3
  351. package/dist/src/functions/commands/new-function.d.ts +3 -3
  352. package/dist/src/functions/commands/new-middleware.d.ts +3 -3
  353. package/dist/src/functions/commands/new-permission.d.ts +3 -3
  354. package/dist/src/functions/commands/new-wiring.d.ts +3 -3
  355. package/dist/src/functions/commands/persona-sync.d.ts +3 -3
  356. package/dist/src/functions/commands/persona.d.ts +7 -7
  357. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  358. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  359. package/dist/src/functions/commands/roles-audit.d.ts +1 -1
  360. package/dist/src/functions/commands/roles-prune.d.ts +3 -3
  361. package/dist/src/functions/commands/scenario.d.ts +7 -7
  362. package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
  363. package/dist/src/functions/commands/scopes-prune.d.ts +3 -3
  364. package/dist/src/functions/commands/semver.d.ts +1 -1
  365. package/dist/src/functions/commands/serve.d.ts +3 -3
  366. package/dist/src/functions/commands/serve.js +40 -3
  367. package/dist/src/functions/commands/skills.d.ts +6 -6
  368. package/dist/src/functions/commands/update.d.ts +1 -1
  369. package/dist/src/functions/commands/validate.d.ts +6 -6
  370. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  371. package/dist/src/functions/commands/versions-init.d.ts +3 -3
  372. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  373. package/dist/src/functions/commands/watch.d.ts +3 -3
  374. package/dist/src/functions/db/zod-codegen.d.ts +19 -19
  375. package/dist/src/functions/knowledge/schemas.d.ts +5 -5
  376. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  377. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  378. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  379. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  380. package/dist/src/functions/surface/build-surface-doc.js +1 -1
  381. package/dist/src/functions/surface/surface-doc.types.d.ts +1 -1
  382. package/dist/src/functions/surface/surface-editorial.js +5 -0
  383. package/dist/src/functions/validate/pikku-barrel-checks.js +2 -22
  384. package/dist/src/functions/validate/validate.d.ts +2 -2
  385. package/dist/src/functions/validate/websocket-deps-checks.d.ts +1 -1
  386. package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
  387. package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
  388. package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
  389. package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
  390. package/dist/src/functions/wirings/analytics/pikku-command-analytics.d.ts +11 -0
  391. package/dist/src/functions/wirings/analytics/pikku-command-analytics.js +66 -0
  392. package/dist/src/functions/wirings/analytics/serialize-analytics.d.ts +30 -0
  393. package/dist/src/functions/wirings/analytics/serialize-analytics.js +141 -0
  394. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +3 -3
  395. package/dist/src/functions/wirings/auth/pikku-command-auth.js +2 -6
  396. package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
  397. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +15 -36
  398. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  399. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  400. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  401. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  402. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  403. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  404. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  405. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  406. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  407. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  408. package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -1
  409. package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.d.ts +1 -0
  410. package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.js +36 -0
  411. package/dist/src/functions/wirings/flags/pikku-command-flags.d.ts +7 -0
  412. package/dist/src/functions/wirings/flags/pikku-command-flags.js +36 -0
  413. package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.d.ts +13 -0
  414. package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.js +73 -0
  415. package/dist/src/functions/wirings/flags/serialize-flags-types.d.ts +14 -0
  416. package/dist/src/functions/wirings/flags/serialize-flags-types.js +68 -0
  417. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  418. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +3 -3
  419. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
  420. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  421. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +2 -2
  422. package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +2 -1
  423. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  424. package/dist/src/functions/wirings/functions/pikku-command-services.js +9 -2
  425. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  426. package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
  427. package/dist/src/functions/wirings/functions/serialize-function-types.js +9 -4
  428. package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +3 -3
  429. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  430. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
  431. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  432. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  433. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  434. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  435. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  436. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  437. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  438. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  439. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +4 -3
  440. package/dist/src/functions/wirings/package/pikku-command-package-types.js +14 -1
  441. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  442. package/dist/src/functions/wirings/package/serialize-package-types.d.ts +1 -0
  443. package/dist/src/functions/wirings/package/serialize-package-types.js +15 -0
  444. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  445. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +3 -3
  446. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  447. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  448. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  449. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  450. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  451. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  452. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  453. package/dist/src/functions/wirings/remote-jobs/pikku-command-remote-jobs.d.ts +1 -1
  454. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +3 -3
  455. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  456. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  457. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  458. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  459. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
  460. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  461. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  462. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  463. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +3 -3
  464. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  465. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +3 -3
  466. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  467. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  468. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
  469. package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
  470. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  471. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  472. package/dist/src/functions/workflows/all.workflow.js +34 -9
  473. package/dist/src/services.js +7 -0
  474. package/dist/src/utils/analytics-schemas-file.d.ts +6 -0
  475. package/dist/src/utils/analytics-schemas-file.js +9 -0
  476. package/dist/src/utils/file-import-path.js +4 -1
  477. package/dist/src/utils/pikku-cli-config.d.ts +2 -2
  478. package/dist/src/utils/pikku-cli-config.js +28 -0
  479. package/dist/src/utils/remove-legacy-scaffold-file.js +4 -0
  480. package/dist/src/utils/resolve-from-project.d.ts +5 -0
  481. package/dist/src/utils/resolve-from-project.js +8 -2
  482. package/dist/src/utils/tsc-check.d.ts +11 -15
  483. package/dist/src/utils/tsc-check.js +97 -86
  484. package/dist/tsconfig.tsbuildinfo +1 -1
  485. package/package.json +32 -25
  486. package/snippets.json +1 -1
  487. package/surface.json +743 -27
  488. package/CHANGELOG.md +0 -9620
  489. package/console-app/assets/HelpPanel-nYO2hRY5.js +0 -1
  490. package/console-app/assets/architecture-TIHT7OUA-B-c05-x5.js +0 -1
  491. package/console-app/assets/architectureDiagram-T3A2C74G-BAH1O4B7.js +0 -36
  492. package/console-app/assets/blockDiagram-VBNYF7ZC-T3kmcPgj.js +0 -132
  493. package/console-app/assets/c4Diagram-5PPSVZJV-DRva89Br.js +0 -10
  494. package/console-app/assets/channel-DJ3jfSNX.js +0 -1
  495. package/console-app/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
  496. package/console-app/assets/chunk-7Z6QIM7H-uxzNGOHh.js +0 -10
  497. package/console-app/assets/chunk-I66GZJ75-DksrbEtn.js +0 -127
  498. package/console-app/assets/chunk-JQJVKLGR-BnRvPhDK.js +0 -156
  499. package/console-app/assets/chunk-QR6OTTB3-CgQotuzQ.js +0 -62
  500. package/console-app/assets/chunk-RYQCIY6F-Cei0abOq.js +0 -1
  501. package/console-app/assets/chunk-UBXNYLIW-B55XJk4O.js +0 -1
  502. package/console-app/assets/chunk-W5SLKNZC-gFa01tuI.js +0 -1
  503. package/console-app/assets/chunk-WRU74C26-C3ESZQ-F.js +0 -70
  504. package/console-app/assets/chunk-XXDRQBXY-D0tL6SVk.js +0 -1
  505. package/console-app/assets/classDiagram-JCYQIIEL-BqEwCDi8.js +0 -1
  506. package/console-app/assets/classDiagram-v2-OCEON4UE-BqEwCDi8.js +0 -1
  507. package/console-app/assets/cose-bilkent-JH36ORCC-CUxqwjs-.js +0 -1
  508. package/console-app/assets/cynefin-VYW2F7L2-Dh1yOBBs.js +0 -1
  509. package/console-app/assets/cytoscape.esm-B-NFISlW.js +0 -321
  510. package/console-app/assets/dagre-DKjebq_c.js +0 -1
  511. package/console-app/assets/dagre-VZM6K2ZE-BllFBMe9.js +0 -4
  512. package/console-app/assets/erDiagram-JOGREHBK-Bg0FPLS0.js +0 -85
  513. package/console-app/assets/eventmodeling-45OFAUF4-CVovwmpS.js +0 -1
  514. package/console-app/assets/flowDiagram-UKHOOZJN-DwRgEyXD.js +0 -1
  515. package/console-app/assets/ganttDiagram-PKOTCBZU-BBxxHrPG.js +0 -292
  516. package/console-app/assets/gitGraph-TEB2WS4Q-Cn1MjFvM.js +0 -1
  517. package/console-app/assets/graphlib-IlWVLY3o.js +0 -1
  518. package/console-app/assets/index-C8MC-uMB.css +0 -1
  519. package/console-app/assets/index-Deds7K2I.js +0 -290
  520. package/console-app/assets/info-DKCQHKI2-C2R7hV-y.js +0 -1
  521. package/console-app/assets/isUndefined-T4snU1Mx.js +0 -1
  522. package/console-app/assets/linear-BQOZezXu.js +0 -1
  523. package/console-app/assets/map-BmPfXn7V.js +0 -1
  524. package/console-app/assets/mermaid.core-B02bSmuz.js +0 -42
  525. package/console-app/assets/packet-7NZHBO7P-CkYMF0Cd.js +0 -1
  526. package/console-app/assets/pie-RZYD4A2V-BFMvieVM.js +0 -1
  527. package/console-app/assets/radar-I7S5WNFK-C_2tp7_w.js +0 -1
  528. package/console-app/assets/railroad-3IZDKUUU-DwlFJLv5.js +0 -1
  529. package/console-app/assets/railroad-abnf-AHOZXSZD-Cyu_rpdZ.js +0 -1
  530. package/console-app/assets/railroad-ebnf-EBAXGLYW-BLiwK-H7.js +0 -1
  531. package/console-app/assets/railroad-peg-LSFZ7HO6-BUDTDYmP.js +0 -1
  532. package/console-app/assets/src-BI35UZf8.js +0 -1
  533. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BsP8TwKV.js +0 -1
  534. package/console-app/assets/swimlanes-SLNWSIFB-DvAJxCGQ.js +0 -2
  535. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BAXO3Id2.js +0 -8
  536. package/console-app/assets/treeView-QDETBFTQ-DnlS0s0_.js +0 -1
  537. package/console-app/assets/treemap-6X3UGDF4-CiUoxlJe.js +0 -1
  538. package/console-app/assets/wardley-OPB4EBWU-DrTySJtR.js +0 -1
  539. package/dist/.pikku/console/index.d.ts +0 -1
  540. package/dist/.pikku/console/index.js +0 -1
  541. package/dist/.pikku/console/pikku-node-types.gen.d.ts +0 -6
  542. package/dist/.pikku/console/pikku-node-types.gen.js +0 -1
  543. package/dist/.pikku/pikku-meta-service.gen.d.ts +0 -7
  544. package/dist/.pikku/pikku-meta-service.gen.js +0 -9
  545. package/dist/.pikku/pikku-types.gen.d.ts +0 -17
  546. package/dist/.pikku/pikku-types.gen.js +0 -28
  547. package/dist/.pikku/workflow/pikku-personas.gen.d.ts +0 -15
  548. package/dist/.pikku/workflow/pikku-personas.gen.js +0 -17
  549. package/dist/src/functions/surface/collect-surface.d.ts +0 -58
  550. package/dist/src/functions/surface/collect-surface.js +0 -613
  551. /package/console-app/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  export declare const pikkuTriggerTypes: import("#pikku/function").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
- }, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
3
+ }, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
6
6
  bootstrap?: boolean;
7
- }, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
7
+ }, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
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
+ export declare const pikkuTrigger: import("#pikku/function").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuVariables: 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
+ export declare const pikkuVariables: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuVirtualUserFunctions: 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
+ export declare const pikkuVirtualUserFunctions: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuWebhook: 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
+ export declare const pikkuWebhook: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuWorkflowRoutes: 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
+ export declare const pikkuWorkflowRoutes: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
@@ -1,5 +1,5 @@
1
1
  type WorkflowCommandInput = {
2
2
  bootstrap?: boolean;
3
3
  };
4
- export declare const pikkuWorkflow: import("#pikku/function").PikkuFunctionConfig<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
4
+ export declare const pikkuWorkflow: import("#pikku/function").PikkuFunctionConfig<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunction<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
5
5
  export {};
@@ -16,6 +16,13 @@ const scaffoldFiles = (config) => {
16
16
  });
17
17
  if (config.scaffold?.rpc && config.publicRpcFile)
18
18
  files.push({ file: config.publicRpcFile, generator: 'pikkuPublicRPC' });
19
+ if (config.scaffold?.analytics && config.analyticsFile)
20
+ files.push({ file: config.analyticsFile, generator: 'pikkuAnalytics' });
21
+ if (config.scaffold?.featureFlags && config.featureFlagsFile)
22
+ files.push({
23
+ file: config.featureFlagsFile,
24
+ generator: 'pikkuFeatureFlagsScaffold',
25
+ });
19
26
  if (config.scaffold?.console && config.consoleFunctionsFile)
20
27
  files.push({
21
28
  file: config.consoleFunctionsFile,
@@ -66,14 +73,15 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
66
73
  await workflow.do('Bootstrap inspect', async () => {
67
74
  await getInspectorState(false, true, true);
68
75
  });
69
- // Both before the function types: the function leaf imports ScopeId from
70
- // the scopes codegen, so any later import of '#pikku/function' — the
71
- // inspector reading a project's zod schemas, for one — fails until these
72
- // two files exist.
76
+ // All before the function types: the function leaf imports ScopeId and
77
+ // FeatureFlagName from these, so any later import of '#pikku/function' —
78
+ // the inspector reading a project's zod schemas, for one — fails until
79
+ // they exist.
73
80
  await workflow.do('Bootstrap scope definition types', 'pikkuScopeDefinitionTypes', null);
74
81
  await workflow.do('Bootstrap error types', 'pikkuErrorTypes', null);
75
82
  await workflow.do('Bootstrap scopes', 'pikkuScopes', { bootstrap: true });
76
83
  await workflow.do('Bootstrap roles', 'pikkuRoles', { bootstrap: true });
84
+ await workflow.do('Bootstrap flags', 'pikkuFlags', { bootstrap: true });
77
85
  await workflow.do('Bootstrap personas', 'pikkuPersonas', {
78
86
  bootstrap: true,
79
87
  });
@@ -140,6 +148,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
140
148
  await Promise.all([
141
149
  workflow.do('Secret definition types', 'pikkuSecretDefinitionTypes', null),
142
150
  workflow.do('Scope definition types', 'pikkuScopeDefinitionTypes', null),
151
+ workflow.do('Analytics definition types', 'pikkuAnalyticsDefinitionTypes', null),
143
152
  workflow.do('Variable definition types', 'pikkuVariableDefinitionTypes', null),
144
153
  ]);
145
154
  await workflow.do('Function types split', 'pikkuFunctionTypesSplit', {});
@@ -204,6 +213,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
204
213
  await Promise.all([
205
214
  workflow.do('Graph wirings', 'pikkuGraphWirings', null),
206
215
  workflow.do('Public RPC', 'pikkuPublicRPC', null),
216
+ workflow.do('Analytics ingest', 'pikkuAnalytics', null),
217
+ workflow.do('Feature flag wire', 'pikkuFeatureFlagsScaffold', null),
207
218
  workflow.do('Console functions', 'pikkuConsoleFunctions', null),
208
219
  workflow.do('Virtual user functions', 'pikkuVirtualUserFunctions', null),
209
220
  workflow.do('Events scaffold', 'pikkuEventsScaffold', null),
@@ -214,6 +225,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
214
225
  workflow.do('Credentials', 'pikkuCredentials', null),
215
226
  workflow.do('Scopes', 'pikkuScopes', {}),
216
227
  workflow.do('Roles', 'pikkuRoles', {}),
228
+ workflow.do('Flags', 'pikkuFlags', {}),
217
229
  workflow.do('Personas', 'pikkuPersonas', {}),
218
230
  workflow.do('Variables', 'pikkuVariables', null),
219
231
  workflow.do('Addon types', 'pikkuAddonTypes', null),
@@ -234,14 +246,29 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
234
246
  // Re-inspect above — are reflected in pikku-secrets-meta.gen.json. Without
235
247
  // this the declaration only lands on a second `pikku` run, and a cold
236
248
  // project deploys without ever being asked for the value.
249
+ //
250
+ // Middleware is in the same boat and fails far louder: pikkuAuth writes
251
+ // auth-middleware.gen.ts, whose top-level addGlobalMiddleware registers the
252
+ // better-auth session bridge. The Middleware pass above ran before that file
253
+ // existed, so pikku-middleware.gen.ts — the only thing that side-effect
254
+ // imports it — leaves it out, and a first-ever build ships with NO session
255
+ // middleware at all: every session-requiring function answers
256
+ // 'Authentication required' however the caller authenticated. It corrects
257
+ // itself on the next run, which is why it only ever bites a clean checkout
258
+ // (a CI deploy that wipes generated scaffolds, most of all).
237
259
  const stateAfterScaffold = await getInspectorState();
238
260
  if (stateAfterScaffold.auth.definition ||
239
261
  stateAfterScaffold.personas.definitions.length > 0) {
240
- await Promise.all([
262
+ const [, , , middlewareAfterScaffold] = await Promise.all([
241
263
  workflow.do('Secrets (post-scaffold)', 'pikkuSecrets', null),
242
264
  workflow.do('Credentials (post-scaffold)', 'pikkuCredentials', null),
243
265
  workflow.do('Variables (post-scaffold)', 'pikkuVariables', null),
266
+ workflow.do('Middleware (post-scaffold)', 'pikkuMiddleware', null),
244
267
  ]);
268
+ if (middlewareAfterScaffold &&
269
+ !allImports.includes(config.middlewareFile)) {
270
+ allImports.push(config.middlewareFile);
271
+ }
245
272
  }
246
273
  const schemas = await workflow.do('Schemas', 'pikkuSchemas', null);
247
274
  if (schemas) {
@@ -415,10 +442,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
415
442
  // (like assertSingleCoreVersion) so it reliably fails the run.
416
443
  if (config.tsc || config.tscSummary) {
417
444
  const errorCount = await workflow.do('Type check', async () => {
418
- const { result, diagnostics, formatHost } = runProjectTypecheck(config.tsconfig, config.rootDir);
419
- logger.info(config.tsc
420
- ? renderTscFull(diagnostics, config.rootDir, formatHost)
421
- : renderTscSummary(result));
445
+ const result = runProjectTypecheck(config.tsconfig, config.rootDir);
446
+ logger.info(config.tsc ? renderTscFull(result) : renderTscSummary(result));
422
447
  return result.errorCount;
423
448
  });
424
449
  if (errorCount > 0) {
@@ -249,6 +249,13 @@ export const createSingletonServices = async (config) => {
249
249
  config.workflowRoutesFile,
250
250
  config.publicRpcFile,
251
251
  config.publicAgentFile,
252
+ // The analytics ingest is generated into the scaffold dir and nothing
253
+ // imports it — it is a wiring, not a module anyone calls — so without
254
+ // this the route is written and never registered: no HTTP wiring, no
255
+ // entry in the fetch client, an endpoint that 404s.
256
+ config.analyticsFile,
257
+ // Same for the feature flag read wire.
258
+ config.featureFlagsFile,
252
259
  // The auth scaffold (catch-all routes + session middleware) and its
253
260
  // sibling secrets file (defineSecret per provider) are generated into the
254
261
  // scaffold dir, which may live outside srcDirectories (e.g. a project's
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The schemas module always sits beside the ingest that imports it, so there is
3
+ * nothing to configure: a settable path could be moved out from under the
4
+ * generated `./analytics.schemas.gen.js` import and nothing would write it.
5
+ */
6
+ export declare const analyticsSchemasFile: (analyticsFile: string | undefined) => string | undefined;
@@ -0,0 +1,9 @@
1
+ import { dirname, join } from 'node:path';
2
+ /**
3
+ * The schemas module always sits beside the ingest that imports it, so there is
4
+ * nothing to configure: a settable path could be moved out from under the
5
+ * generated `./analytics.schemas.gen.js` import and nothing would write it.
6
+ */
7
+ export const analyticsSchemasFile = (analyticsFile) => analyticsFile
8
+ ? join(dirname(analyticsFile), 'analytics.schemas.gen.ts')
9
+ : undefined;
@@ -19,7 +19,10 @@ forceRelative = false) => {
19
19
  }
20
20
  const posixPath = filePath.replace(/\\/g, '/');
21
21
  if (posixPath.includes('node_modules/')) {
22
- const nodeModulesIndex = posixPath.indexOf('node_modules/');
22
+ // An isolated store (bun's node_modules/.bun, pnpm's node_modules/.pnpm)
23
+ // nests a second node_modules inside the first, so the package specifier
24
+ // follows the last separator rather than the first.
25
+ const nodeModulesIndex = posixPath.lastIndexOf('node_modules/');
23
26
  filePath = posixPath.substring(nodeModulesIndex + 'node_modules/'.length);
24
27
  if (filePath.startsWith('@types/')) {
25
28
  filePath = filePath.substring('@types/'.length);
@@ -24,7 +24,7 @@ export { PikkuCLIConfigError };
24
24
  * exact leak the split exists to prevent, silently, and only in a deployed
25
25
  * bundle. Nothing downstream can detect it, so it is rejected here.
26
26
  */
27
- export declare const assertSchemaDirectoriesAreDistinct: (config: Pick<PikkuCLIConfig, "schemaDirectory" | "scenarioSchemaDirectory">) => void;
27
+ export declare const assertSchemaDirectoriesAreDistinct: (config: Pick<PikkuCLIConfig, 'schemaDirectory' | 'scenarioSchemaDirectory'>) => void;
28
28
  /**
29
29
  * The `metaLocale` a project gets when its config does not name one.
30
30
  *
@@ -51,5 +51,5 @@ export declare const normalizeMetaLocale: (metaLocale: unknown) => string;
51
51
  * stored `/app/` matches nothing at all — a frontend that silently never
52
52
  * appears rather than an error anyone can act on.
53
53
  */
54
- export declare const resolveFrontendConfig: (frontend: NonNullable<PikkuCLIInput["frontend"]>, configDir: string) => NonNullable<PikkuCLIConfig["frontend"]>;
54
+ export declare const resolveFrontendConfig: (frontend: NonNullable<PikkuCLIInput['frontend']>, configDir: string) => NonNullable<PikkuCLIConfig['frontend']>;
55
55
  export declare const validateCLIConfig: (cliConfig: PikkuCLIConfig, required: Array<keyof PikkuCLIConfig>) => void;
@@ -383,6 +383,8 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
383
383
  // setting it here wins and the pikkuDir-derived default is skipped.
384
384
  const SCAFFOLD_OUTPUT_FIELDS = {
385
385
  rpc: 'publicRpcFile',
386
+ analytics: 'analyticsFile',
387
+ featureFlags: 'featureFlagsFile',
386
388
  agent: 'publicAgentFile',
387
389
  console: 'consoleFunctionsFile',
388
390
  scenarios: 'scenariosFunctionsFile',
@@ -425,6 +427,12 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
425
427
  if (result.scaffold?.workflow && !result.workflowRoutesSchemasFile) {
426
428
  result.workflowRoutesSchemasFile = join(resolvedScaffoldDir, 'workflow', 'workflow-routes.schemas.gen.ts');
427
429
  }
430
+ if (result.scaffold?.analytics && !result.analyticsFile) {
431
+ result.analyticsFile = join(resolvedScaffoldDir, 'analytics', 'analytics.gen.ts');
432
+ }
433
+ if (result.scaffold?.featureFlags && !result.featureFlagsFile) {
434
+ result.featureFlagsFile = join(resolvedScaffoldDir, 'feature-flags', 'feature-flags.gen.ts');
435
+ }
428
436
  if (result.scaffold?.rpc && !result.publicRpcFile) {
429
437
  result.publicRpcFile = join(resolvedScaffoldDir, 'rpc', 'rpc-public.gen.ts');
430
438
  }
@@ -713,6 +721,18 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
713
721
  if (!result.credentialsMetaJsonFile) {
714
722
  result.credentialsMetaJsonFile = join(credentialsDir, 'pikku-credentials-meta.gen.json');
715
723
  }
724
+ // Analytics definer leaf. Written whatever `scaffold.analytics` says: the
725
+ // declaration is how a project names what it measures, and the scaffold
726
+ // only decides whether an ingest wire is generated for it.
727
+ if (!result.analyticsTypesFile) {
728
+ result.analyticsTypesFile = join(result.outDir, 'analytics', 'pikku-analytics-types.gen.ts');
729
+ }
730
+ // The declared events, for the console's catalog. Written on the same terms
731
+ // as the definer leaf and for the same reason: what a project measures is
732
+ // readable whether or not an ingest wire was scaffolded for it.
733
+ if (!result.analyticsMetaJsonFile) {
734
+ result.analyticsMetaJsonFile = join(result.outDir, 'analytics', 'pikku-analytics-meta.gen.json');
735
+ }
716
736
  // Scopes (ScopeId union + declared scope set)
717
737
  const scopesDir = join(result.outDir, 'scopes');
718
738
  if (!result.scopeTypesFile) {
@@ -732,6 +752,14 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
732
752
  if (!result.rolesMetaJsonFile) {
733
753
  result.rolesMetaJsonFile = join(scopesDir, 'pikku-roles-meta.gen.json');
734
754
  }
755
+ // Feature flags. Beside the scopes their `anyOf` names, for the same reason
756
+ // roles sit there: a flag is unreadable without them.
757
+ if (!result.flagsFile) {
758
+ result.flagsFile = join(scopesDir, 'pikku-flags.gen.ts');
759
+ }
760
+ if (!result.flagsMetaJsonFile) {
761
+ result.flagsMetaJsonFile = join(scopesDir, 'pikku-flags-meta.gen.json');
762
+ }
735
763
  // Personas. Beside the roles they are checked against, for the same reason
736
764
  // roles sit beside their scopes.
737
765
  if (!result.personasFile) {
@@ -2,6 +2,7 @@ import { rm } from 'node:fs/promises';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { basename, dirname, join } from 'node:path';
4
4
  import { remoteJobsSchemasFile } from './remote-jobs-schemas-file.js';
5
+ import { analyticsSchemasFile } from './analytics-schemas-file.js';
5
6
  const scaffoldFiles = (config) => {
6
7
  const authDir = config.authFile ? dirname(config.authFile) : undefined;
7
8
  return [
@@ -12,6 +13,9 @@ const scaffoldFiles = (config) => {
12
13
  config.workflowRoutesSchemasFile,
13
14
  config.publicRpcFile,
14
15
  config.publicRpcSchemasFile,
16
+ config.analyticsFile,
17
+ analyticsSchemasFile(config.analyticsFile),
18
+ config.featureFlagsFile,
15
19
  config.remoteRpcWorkersFile,
16
20
  config.remoteRpcSchemasFile,
17
21
  config.remoteJobsFile,
@@ -9,6 +9,11 @@
9
9
  * skew surfaces as a missing subpath export from a package the project never
10
10
  * imported. Resolving against the project's own package.json keeps one core in
11
11
  * play.
12
+ *
13
+ * Only an absolute path is a copy in the project. A runtime that hands a bare
14
+ * specifier straight back — bun does this for the modules it implements itself,
15
+ * `ws` among them — has resolved nothing from the project, and saying so lets
16
+ * the caller fall back rather than import the runtime's own copy by accident.
12
17
  */
13
18
  export declare const resolveFromProject: (rootDir: string, specifier: string) => string | undefined;
14
19
  /**
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'node:module';
2
- import { join } from 'node:path';
2
+ import { isAbsolute, join } from 'node:path';
3
3
  /**
4
4
  * Resolves a package as the *project* would, not as the CLI would.
5
5
  *
@@ -11,10 +11,16 @@ import { join } from 'node:path';
11
11
  * skew surfaces as a missing subpath export from a package the project never
12
12
  * imported. Resolving against the project's own package.json keeps one core in
13
13
  * play.
14
+ *
15
+ * Only an absolute path is a copy in the project. A runtime that hands a bare
16
+ * specifier straight back — bun does this for the modules it implements itself,
17
+ * `ws` among them — has resolved nothing from the project, and saying so lets
18
+ * the caller fall back rather than import the runtime's own copy by accident.
14
19
  */
15
20
  export const resolveFromProject = (rootDir, specifier) => {
16
21
  try {
17
- return createRequire(join(rootDir, 'package.json')).resolve(specifier);
22
+ const resolved = createRequire(join(rootDir, 'package.json')).resolve(specifier);
23
+ return isAbsolute(resolved) ? resolved : undefined;
18
24
  }
19
25
  catch {
20
26
  return undefined;
@@ -1,4 +1,3 @@
1
- import ts from 'typescript';
2
1
  import { PikkuError } from '@pikku/core/errors';
3
2
  export declare class PikkuTypecheckFailedError extends PikkuError {
4
3
  }
@@ -17,12 +16,13 @@ export interface TscCheckResult {
17
16
  diagnostics: TscDiagnostic[];
18
17
  }
19
18
  /**
20
- * Turn raw tsc diagnostics into a filtered, structured result. Pure — it takes
21
- * already-computed diagnostics so it can be unit-tested without a program.
22
- * Anything under node_modules or outside the project root is dropped so the
23
- * output stays focused on the user's own code (and not lib .d.ts noise).
19
+ * Turn raw `tsc --pretty false` output into a filtered, structured result.
20
+ * Pure — it takes already-captured output so it can be unit-tested without
21
+ * running a compiler. Anything under node_modules or outside the project root
22
+ * is dropped so the output stays focused on the user's own code (and not lib
23
+ * .d.ts noise).
24
24
  */
25
- export declare const collectTscDiagnostics: (diagnostics: readonly ts.Diagnostic[], rootDir: string) => TscCheckResult;
25
+ export declare const parseTscOutput: (output: string, rootDir: string) => TscCheckResult;
26
26
  /**
27
27
  * Compact, token-frugal render of a type-check result: a one-line header plus
28
28
  * one line per diagnostic (no code frames), capped. Used by `--tsc-summary` so
@@ -30,17 +30,13 @@ export declare const collectTscDiagnostics: (diagnostics: readonly ts.Diagnostic
30
30
  */
31
31
  export declare const renderTscSummary: (result: TscCheckResult, maxLines?: number) => string;
32
32
  /**
33
- * Full render: tsc's own formatter with code frames, filtered to project files.
33
+ * Full render: every project diagnostic, uncapped, one per line.
34
34
  */
35
- export declare const renderTscFull: (diagnostics: readonly ts.Diagnostic[], rootDir: string, formatHost: ts.FormatDiagnosticsHost) => string;
35
+ export declare const renderTscFull: (result: TscCheckResult) => string;
36
36
  /**
37
37
  * Run a real `tsc --noEmit` over the project's own tsconfig — the correct
38
38
  * source of truth (lib, paths, strict), unlike the inspector's stripped-down
39
- * traversal program. Returns both a structured result and the raw diagnostics
40
- * so the caller can pick the compact (`--tsc-summary`) or full (`--tsc`) render.
39
+ * traversal program. Returns the structured result so the caller can pick the
40
+ * compact (`--tsc-summary`) or full (`--tsc`) render.
41
41
  */
42
- export declare const runProjectTypecheck: (tsconfigPath: string, rootDir: string) => {
43
- result: TscCheckResult;
44
- diagnostics: ts.Diagnostic[];
45
- formatHost: ts.FormatDiagnosticsHost;
46
- };
42
+ export declare const runProjectTypecheck: (tsconfigPath: string, rootDir: string) => TscCheckResult;
@@ -1,33 +1,18 @@
1
- import ts from 'typescript';
2
- import { dirname, isAbsolute, join, relative } from 'node:path';
1
+ import { spawnSync } from 'node:child_process';
2
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
3
3
  import { createRequire } from 'node:module';
4
4
  import { PikkuError } from '@pikku/core/errors';
5
- // Type-check with the PROJECT's own TypeScript when it has one — the CLI's
6
- // bundled compiler can be a different major (e.g. TS 6 vs a project on TS 5)
7
- // and produce diagnostics the project's real `tsc` never would (seen as
8
- // phantom TS2591 "Cannot find name 'process'" on a tsconfig that is clean
9
- // under the project's compiler). Falls back to the CLI's typescript.
10
- const loadProjectTs = (rootDir) => {
11
- try {
12
- return createRequire(join(rootDir, 'noop.cjs'))('typescript');
13
- }
14
- catch {
15
- return ts;
16
- }
17
- };
18
5
  // A type-check failure is expected (the --tsc gate did its job) — throw a
19
6
  // PikkuError so the runner logs the message alone, not a stack trace.
20
7
  export class PikkuTypecheckFailedError extends PikkuError {
21
8
  }
22
- const CATEGORY = {
23
- [ts.DiagnosticCategory.Error]: 'error',
24
- [ts.DiagnosticCategory.Warning]: 'warning',
25
- [ts.DiagnosticCategory.Suggestion]: 'suggestion',
26
- [ts.DiagnosticCategory.Message]: 'message',
27
- };
28
9
  const MAX_MESSAGE_LENGTH = 200;
29
10
  const DEFAULT_MAX_LINES = 50;
30
11
  const NO_FILE = '(project)';
12
+ const MAX_OUTPUT_BYTES = 64 * 1024 * 1024;
13
+ // `<file>(<line>,<col>): <category> TS<code>: <message>`, with the location
14
+ // absent on project-wide diagnostics such as TS18003 (no inputs found).
15
+ const DIAGNOSTIC_LINE = /^(?:(.+?)\((\d+),(\d+)\): )?(error|warning|message|suggestion) TS(\d+): (.*)$/;
31
16
  const isProjectFile = (fileName, rootDir) => {
32
17
  if (fileName.includes('/node_modules/'))
33
18
  return false;
@@ -35,40 +20,94 @@ const isProjectFile = (fileName, rootDir) => {
35
20
  return !rel.startsWith('..') && !isAbsolute(rel);
36
21
  };
37
22
  /**
38
- * Turn raw tsc diagnostics into a filtered, structured result. Pure — it takes
39
- * already-computed diagnostics so it can be unit-tested without a program.
40
- * Anything under node_modules or outside the project root is dropped so the
41
- * output stays focused on the user's own code (and not lib .d.ts noise).
23
+ * Locate the compiler to type-check with, preferring the PROJECT's own — a
24
+ * different major than the project's produces diagnostics its real `tsc` never
25
+ * would (seen as phantom TS2591 "Cannot find name 'process'" on a tsconfig that
26
+ * is clean under the project's compiler). Falls back to the CLI's typescript.
27
+ *
28
+ * Resolved through `typescript/package.json` rather than `node_modules/.bin`
29
+ * so it works on every platform, and run with `process.execPath` so a project
30
+ * on TypeScript 7 — which ships a binary but no importable compiler API — is
31
+ * driven exactly like one on 5 or 6.
32
+ */
33
+ const resolveTsc = (rootDir) => {
34
+ const fromProject = createRequire(join(rootDir, 'noop.cjs'));
35
+ try {
36
+ return join(dirname(fromProject.resolve('typescript/package.json')), 'bin', 'tsc');
37
+ }
38
+ catch {
39
+ const own = createRequire(import.meta.url);
40
+ return join(dirname(own.resolve('typescript/package.json')), 'bin', 'tsc');
41
+ }
42
+ };
43
+ /**
44
+ * Turn raw `tsc --pretty false` output into a filtered, structured result.
45
+ * Pure — it takes already-captured output so it can be unit-tested without
46
+ * running a compiler. Anything under node_modules or outside the project root
47
+ * is dropped so the output stays focused on the user's own code (and not lib
48
+ * .d.ts noise).
42
49
  */
43
- export const collectTscDiagnostics = (diagnostics, rootDir) => {
50
+ export const parseTscOutput = (output, rootDir) => {
44
51
  const files = new Set();
45
52
  const collected = [];
46
53
  let errorCount = 0;
47
54
  let warningCount = 0;
48
- for (const d of diagnostics) {
49
- let file = NO_FILE;
50
- let line = 0;
51
- let column = 0;
52
- if (d.file) {
53
- if (!isProjectFile(d.file.fileName, rootDir))
54
- continue;
55
- file = relative(rootDir, d.file.fileName);
56
- const lc = d.file.getLineAndCharacterOfPosition(d.start ?? 0);
57
- line = lc.line + 1;
58
- column = lc.character + 1;
55
+ let current = null;
56
+ const flush = () => {
57
+ if (!current)
58
+ return;
59
+ if (current.message.length > MAX_MESSAGE_LENGTH) {
60
+ current.message = `${current.message.slice(0, MAX_MESSAGE_LENGTH - 1)}…`;
59
61
  }
60
- const category = CATEGORY[d.category];
61
- if (category === 'error')
62
+ if (current.category === 'error')
62
63
  errorCount++;
63
- else if (category === 'warning')
64
+ else if (current.category === 'warning')
64
65
  warningCount++;
65
- let message = ts.flattenDiagnosticMessageText(d.messageText, ' ');
66
- if (message.length > MAX_MESSAGE_LENGTH) {
67
- message = `${message.slice(0, MAX_MESSAGE_LENGTH - 1)}…`;
66
+ files.add(current.file);
67
+ collected.push(current);
68
+ current = null;
69
+ };
70
+ for (const raw of output.split('\n')) {
71
+ const line = raw.replace(/\r$/, '');
72
+ const match = DIAGNOSTIC_LINE.exec(line);
73
+ if (match) {
74
+ flush();
75
+ const [, fileName, lineNo, columnNo, category, code, message] = match;
76
+ if (fileName) {
77
+ const absolute = isAbsolute(fileName)
78
+ ? fileName
79
+ : resolve(rootDir, fileName);
80
+ // Skip the whole diagnostic, elaborations included.
81
+ if (!isProjectFile(absolute, rootDir))
82
+ continue;
83
+ current = {
84
+ file: relative(rootDir, absolute),
85
+ line: Number(lineNo),
86
+ column: Number(columnNo),
87
+ code: Number(code),
88
+ category: category,
89
+ message: message ?? '',
90
+ };
91
+ }
92
+ else {
93
+ current = {
94
+ file: NO_FILE,
95
+ line: 0,
96
+ column: 0,
97
+ code: Number(code),
98
+ category: category,
99
+ message: message ?? '',
100
+ };
101
+ }
102
+ continue;
103
+ }
104
+ // Indented lines continue the previous message (tsc's elaborations);
105
+ // anything else — blank lines, the trailing "Found N errors" — is noise.
106
+ if (current && /^\s+\S/.test(line)) {
107
+ current.message = `${current.message} ${line.trim()}`;
68
108
  }
69
- files.add(file);
70
- collected.push({ file, line, column, code: d.code, category, message });
71
109
  }
110
+ flush();
72
111
  collected.sort((a, b) => a.file === b.file ? a.line - b.line : a.file < b.file ? -1 : 1);
73
112
  return {
74
113
  errorCount,
@@ -107,53 +146,25 @@ export const renderTscSummary = (result, maxLines = DEFAULT_MAX_LINES) => {
107
146
  return lines.join('\n');
108
147
  };
109
148
  /**
110
- * Full render: tsc's own formatter with code frames, filtered to project files.
149
+ * Full render: every project diagnostic, uncapped, one per line.
111
150
  */
112
- export const renderTscFull = (diagnostics, rootDir, formatHost) => {
113
- const filtered = diagnostics.filter((d) => !d.file || isProjectFile(d.file.fileName, rootDir));
114
- if (filtered.length === 0)
151
+ export const renderTscFull = (result) => {
152
+ if (result.diagnostics.length === 0)
115
153
  return 'Type check passed — no errors.';
116
- return ts.formatDiagnosticsWithColorAndContext(filtered, formatHost);
154
+ return result.diagnostics
155
+ .map((d) => {
156
+ const at = d.line > 0 ? `${d.file}:${d.line}:${d.column}` : d.file;
157
+ return `${at} TS${d.code} ${d.message}`;
158
+ })
159
+ .join('\n');
117
160
  };
118
161
  /**
119
162
  * Run a real `tsc --noEmit` over the project's own tsconfig — the correct
120
163
  * source of truth (lib, paths, strict), unlike the inspector's stripped-down
121
- * traversal program. Returns both a structured result and the raw diagnostics
122
- * so the caller can pick the compact (`--tsc-summary`) or full (`--tsc`) render.
164
+ * traversal program. Returns the structured result so the caller can pick the
165
+ * compact (`--tsc-summary`) or full (`--tsc`) render.
123
166
  */
124
167
  export const runProjectTypecheck = (tsconfigPath, rootDir) => {
125
- const tsImpl = loadProjectTs(rootDir);
126
- const formatHost = {
127
- getCanonicalFileName: (f) => f,
128
- getCurrentDirectory: () => rootDir,
129
- getNewLine: () => tsImpl.sys.newLine,
130
- };
131
- const configFile = tsImpl.readConfigFile(tsconfigPath, tsImpl.sys.readFile);
132
- if (configFile.error) {
133
- const diagnostics = [configFile.error];
134
- return {
135
- result: collectTscDiagnostics(diagnostics, rootDir),
136
- diagnostics,
137
- formatHost,
138
- };
139
- }
140
- const parsed = tsImpl.parseJsonConfigFileContent(configFile.config, tsImpl.sys, dirname(tsconfigPath));
141
- const program = tsImpl.createProgram({
142
- rootNames: parsed.fileNames,
143
- options: {
144
- ...parsed.options,
145
- noEmit: true,
146
- incremental: false,
147
- tsBuildInfoFile: undefined,
148
- },
149
- });
150
- const diagnostics = [
151
- ...parsed.errors,
152
- ...tsImpl.getPreEmitDiagnostics(program),
153
- ];
154
- return {
155
- result: collectTscDiagnostics(diagnostics, rootDir),
156
- diagnostics,
157
- formatHost,
158
- };
168
+ const run = spawnSync(process.execPath, [resolveTsc(rootDir), '-p', tsconfigPath, '--noEmit', '--pretty', 'false'], { cwd: rootDir, encoding: 'utf8', maxBuffer: MAX_OUTPUT_BYTES });
169
+ return parseTscOutput(`${run.stdout ?? ''}\n${run.stderr ?? ''}`, rootDir);
159
170
  };