@pikku/cli 0.12.154 → 0.12.156

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 (286) hide show
  1. package/console-app/assets/{HelpPanel-BPFBvwZj.js → HelpPanel-DaE02BQE.js} +1 -1
  2. package/console-app/assets/{abnfDiagram-VCTEODGH-DDuocZ0S.js → abnfDiagram-VCTEODGH-CExRuljg.js} +1 -1
  3. package/console-app/assets/architecture-7GRP2DOG-DMiKIh61.js +1 -0
  4. package/console-app/assets/{architectureDiagram-5GKGNRK7-bFIt59Dq.js → architectureDiagram-5GKGNRK7-uKjmdPIQ.js} +1 -1
  5. package/console-app/assets/{blockDiagram-I7D4REHJ-Bge8309x.js → blockDiagram-I7D4REHJ-DNgIFbT4.js} +1 -1
  6. package/console-app/assets/{c4Diagram-7LVT6UL2-BdJOmC5x.js → c4Diagram-7LVT6UL2-0vP9sLld.js} +1 -1
  7. package/console-app/assets/channel-D3pFDQ-Y.js +1 -0
  8. package/console-app/assets/{chunk-4HAMMTFA-Cenx-5I1.js → chunk-4HAMMTFA-BJ59eqJI.js} +1 -1
  9. package/console-app/assets/{chunk-75Z2AOVW-CAGQ08f_.js → chunk-75Z2AOVW-Bge6xoqX.js} +1 -1
  10. package/console-app/assets/{chunk-DU6HZSFF-Bhji7Bhy.js → chunk-DU6HZSFF-CkmYNhC5.js} +1 -1
  11. package/console-app/assets/{chunk-F27PBJKO-D7gTX3dk.js → chunk-F27PBJKO-C44ef28t.js} +1 -1
  12. package/console-app/assets/{chunk-GMAD6QVW-DkRx7Brv.js → chunk-GMAD6QVW-Bmqdx1l0.js} +1 -1
  13. package/console-app/assets/{chunk-GVQU2GXP-DEWdO9pP.js → chunk-GVQU2GXP-AQp_KNx4.js} +1 -1
  14. package/console-app/assets/{chunk-IMKFNOWR-C1Vtain1.js → chunk-IMKFNOWR-Ca3GoHnO.js} +1 -1
  15. package/console-app/assets/{chunk-L3NEJ4N5-B_nm0es0.js → chunk-L3NEJ4N5-C_GhayZt.js} +1 -1
  16. package/console-app/assets/{chunk-OSK3NFVY-C0EPlVq0.js → chunk-OSK3NFVY-DGzfF4JV.js} +1 -1
  17. package/console-app/assets/{chunk-P2QGCYS3-qs_HwIoO.js → chunk-P2QGCYS3-N8xMDiFw.js} +1 -1
  18. package/console-app/assets/{chunk-POPQ4Y6H-CJWbAVy_.js → chunk-POPQ4Y6H-CdhIikwj.js} +1 -1
  19. package/console-app/assets/{chunk-PWAF6VOD-CmyETkG4.js → chunk-PWAF6VOD-CdTJmOYg.js} +1 -1
  20. package/console-app/assets/{chunk-SHT3W25Y-Coqn0qc9.js → chunk-SHT3W25Y-Ctj8zSAF.js} +1 -1
  21. package/console-app/assets/{chunk-SVP7TREG-D1E3L3Ry.js → chunk-SVP7TREG-DTNKveWo.js} +1 -1
  22. package/console-app/assets/{chunk-TICWLB2K-bsfeT6VF.js → chunk-TICWLB2K-Df6e0LIf.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-CPBzG1Ie.js +1 -0
  24. package/console-app/assets/classDiagram-ZZMXUADV-Bh5HK4MN.js +1 -0
  25. package/console-app/assets/classDiagram-v2-VYDZK3BY-Bh5HK4MN.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-H5-jGbyx.js → cose-bilkent-JH36ORCC-DBd_emhQ.js} +1 -1
  27. package/console-app/assets/{cynefin-OW5HDTMX-CljdWyve.js → cynefin-OW5HDTMX-3aBVpBMI.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-5FMLGOSQ-DmDd9Ruh.js → cynefinDiagram-5FMLGOSQ-5BZzBehJ.js} +1 -1
  29. package/console-app/assets/{dagre-ChLSY7zR.js → dagre-DATELzSq.js} +1 -1
  30. package/console-app/assets/{dagre-GXQ25YYZ-DT48xQuH.js → dagre-GXQ25YYZ-orKIUXIt.js} +1 -1
  31. package/console-app/assets/{diagram-S7CK7UJ4-DKPk5LKU.js → diagram-S7CK7UJ4-CwwxVQ_N.js} +1 -1
  32. package/console-app/assets/{diagram-UQ7AKVKN-BWnhjDbO.js → diagram-UQ7AKVKN-CcEJxIEU.js} +1 -1
  33. package/console-app/assets/{diagram-VSXAHHWV-1XCGd7TX.js → diagram-VSXAHHWV-DGfXNB6v.js} +1 -1
  34. package/console-app/assets/{diagram-VX7I27RA-8dIoEZIX.js → diagram-VX7I27RA-Kqkord1q.js} +1 -1
  35. package/console-app/assets/{diagram-Z3DM3KII-CgFhlsHg.js → diagram-Z3DM3KII-Dy5rfOxu.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-PWID7BFC-j8nbgcPz.js → ebnfDiagram-PWID7BFC-y1bmj1ry.js} +1 -1
  37. package/console-app/assets/{erDiagram-RLTQ6QDP-fQNmZd6-.js → erDiagram-RLTQ6QDP-CNk_w5Ib.js} +1 -1
  38. package/console-app/assets/eventmodeling-NTZA5JFV-DLjVcr4S.js +1 -0
  39. package/console-app/assets/flowDiagram-HODETNUW-CCiyVZIU.js +1 -0
  40. package/console-app/assets/{ganttDiagram-EL5Y4UJY-D8pzapyN.js → ganttDiagram-EL5Y4UJY-DdVaRGRy.js} +1 -1
  41. package/console-app/assets/{gitGraph-4MIJSDKK-BvRsGeLo.js → gitGraph-4MIJSDKK-DpSAepQv.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-WWUBYQGX-C_qwjJL5.js → gitGraphDiagram-WWUBYQGX-CIhGnwZW.js} +1 -1
  43. package/console-app/assets/{graphlib-9R2fmYel.js → graphlib-CRp93vEd.js} +1 -1
  44. package/console-app/assets/{index-DMQFSpKy.js → index-B34OoL_f.js} +139 -136
  45. package/console-app/assets/{info-A6RAGUB7-BIjzE3Zr.js → info-A6RAGUB7-DckDPZ56.js} +1 -1
  46. package/console-app/assets/{infoDiagram-27XIBGKW-DbFqdvGy.js → infoDiagram-27XIBGKW-DMk6mpjP.js} +1 -1
  47. package/console-app/assets/{ishikawaDiagram-5VMMS53U-D5ei52Uz.js → ishikawaDiagram-5VMMS53U-Dqr5CEc9.js} +1 -1
  48. package/console-app/assets/{journeyDiagram-3NMN7TZE-DOVQGQxF.js → journeyDiagram-3NMN7TZE-Kv0orI9j.js} +1 -1
  49. package/console-app/assets/{kanban-definition-UXKFOSKX-D8cjrKvj.js → kanban-definition-UXKFOSKX-BrYb0IpS.js} +1 -1
  50. package/console-app/assets/{line-S23S00r8.js → line-D2jQ449E.js} +1 -1
  51. package/console-app/assets/{linear-C2q7Mgrm.js → linear-BKu0S9-y.js} +1 -1
  52. package/console-app/assets/{mermaid-parser.core-DFVvyiUd.js → mermaid-parser.core-DhWf8x6B.js} +3 -3
  53. package/console-app/assets/{mermaid.core-C85pnBPI.js → mermaid.core-RkgzUTr1.js} +4 -4
  54. package/console-app/assets/{mindmap-definition-YA3MSWOX-Bqn28yl9.js → mindmap-definition-YA3MSWOX-BKATx3X1.js} +1 -1
  55. package/console-app/assets/{packet-AYTQ26CC-Cj1kD_Xa.js → packet-AYTQ26CC-Dek-5xov.js} +1 -1
  56. package/console-app/assets/{pegDiagram-XKGWAZYB-DJ12pyU4.js → pegDiagram-XKGWAZYB-CkEJ5MeF.js} +1 -1
  57. package/console-app/assets/{pie-WAS4IAKB-BUmyuH7f.js → pie-WAS4IAKB-BIoN9DHQ.js} +1 -1
  58. package/console-app/assets/{pieDiagram-E7YTZNPT-jTvMRCtY.js → pieDiagram-E7YTZNPT-CEPQgMPk.js} +1 -1
  59. package/console-app/assets/{quadrantDiagram-AXDQQJYC-D826kpcV.js → quadrantDiagram-AXDQQJYC-eJxMa_50.js} +1 -1
  60. package/console-app/assets/{radar-RG4KPBEZ-CYbTAeXH.js → radar-RG4KPBEZ-BwJnovJ0.js} +1 -1
  61. package/console-app/assets/{railroad-74A4TZTK-mfMkjDWk.js → railroad-74A4TZTK-D1_fi4Md.js} +1 -1
  62. package/console-app/assets/railroad-abnf-HS5TGJTU-D-_q3UaA.js +1 -0
  63. package/console-app/assets/railroad-ebnf-LZEXJU2U-kh7JN-2k.js +1 -0
  64. package/console-app/assets/railroad-peg-WCYAUIDC-rrwoksLW.js +1 -0
  65. package/console-app/assets/{railroadDiagram-O6MQD6OU-CGlOEAk5.js → railroadDiagram-O6MQD6OU-BpOx1Ffe.js} +1 -1
  66. package/console-app/assets/{requirementDiagram-BXWQKSXE-DY_zQ4Qu.js → requirementDiagram-BXWQKSXE-D-IEFxpk.js} +1 -1
  67. package/console-app/assets/{sankeyDiagram-P5KCCOFB-B4QJZukx.js → sankeyDiagram-P5KCCOFB-SdALSgLt.js} +1 -1
  68. package/console-app/assets/{sequenceDiagram-WJ2MYXX4-DTERMwcf.js → sequenceDiagram-WJ2MYXX4-Burhioru.js} +1 -1
  69. package/console-app/assets/{src-CRoiE_Pf.js → src-BI-J79xw.js} +1 -1
  70. package/console-app/assets/{stateDiagram-D77RDMKH-BLnCP1RM.js → stateDiagram-D77RDMKH-BhWb5zb7.js} +1 -1
  71. package/console-app/assets/stateDiagram-v2-MP3YSRHH-OjHOAFS5.js +1 -0
  72. package/console-app/assets/{swimlanes-42K2YHIH-CwYZgjxi.js → swimlanes-42K2YHIH-BoaeXC6b.js} +1 -1
  73. package/console-app/assets/swimlanesDiagram-VR7AAH4N-CkKXVcij.js +8 -0
  74. package/console-app/assets/{timeline-definition-24CTP7MA-BEv4uhRy.js → timeline-definition-24CTP7MA-uuBDVcEL.js} +1 -1
  75. package/console-app/assets/{treeView-Q6P3EWNA-CHhQVPzu.js → treeView-Q6P3EWNA-BRZawPMp.js} +1 -1
  76. package/console-app/assets/{treemap-WGGIJYW6-DSnq4EZT.js → treemap-WGGIJYW6-WSINjp5g.js} +1 -1
  77. package/console-app/assets/{vennDiagram-4TSXK5OY-CHT6P8GK.js → vennDiagram-4TSXK5OY-K6UjE9uq.js} +1 -1
  78. package/console-app/assets/{wardley-WFR3VGLG-yPMtiazL.js → wardley-WFR3VGLG-BMecQ-Z6.js} +1 -1
  79. package/console-app/assets/{wardleyDiagram-VM6X3IG4-Df2U4u0X.js → wardleyDiagram-VM6X3IG4-9blTcGMt.js} +1 -1
  80. package/console-app/assets/{xychartDiagram-S5SC5T6Z-D4bRAEWS.js → xychartDiagram-S5SC5T6Z-DSnHhis6.js} +1 -1
  81. package/console-app/index.html +1 -1
  82. package/dist/.pikku/addon/index.d.ts +1 -1
  83. package/dist/.pikku/addon/index.js +1 -1
  84. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  85. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  86. package/dist/.pikku/agent/index.d.ts +1 -1
  87. package/dist/.pikku/agent/index.js +1 -1
  88. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  89. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  90. package/dist/.pikku/analytics/index.d.ts +1 -1
  91. package/dist/.pikku/analytics/index.js +1 -1
  92. package/dist/.pikku/analytics/pikku-analytics-types.gen.d.ts +1 -1
  93. package/dist/.pikku/analytics/pikku-analytics-types.gen.js +1 -1
  94. package/dist/.pikku/auth/index.d.ts +1 -1
  95. package/dist/.pikku/auth/index.js +1 -1
  96. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
  97. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  98. package/dist/.pikku/channel/index.d.ts +1 -1
  99. package/dist/.pikku/channel/index.js +1 -1
  100. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  101. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  102. package/dist/.pikku/cli/index.d.ts +1 -1
  103. package/dist/.pikku/cli/index.js +1 -1
  104. package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
  105. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  106. package/dist/.pikku/cli/pikku-cli-client.gen.js +15 -5
  107. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  108. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  109. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +1 -1
  110. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  111. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  112. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  113. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +1 -1
  114. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  115. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  116. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  117. package/dist/.pikku/cli/pikku-cli.gen.js +15 -6
  118. package/dist/.pikku/error/index.d.ts +1 -1
  119. package/dist/.pikku/error/index.js +1 -1
  120. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  121. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  122. package/dist/.pikku/function/index.d.ts +1 -1
  123. package/dist/.pikku/function/index.js +1 -1
  124. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  125. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  126. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  127. package/dist/.pikku/function/pikku-functions-meta.gen.json +35 -35
  128. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  129. package/dist/.pikku/gateway/index.d.ts +1 -1
  130. package/dist/.pikku/gateway/index.js +1 -1
  131. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  132. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  133. package/dist/.pikku/http/index.d.ts +1 -1
  134. package/dist/.pikku/http/index.js +1 -1
  135. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  136. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  137. package/dist/.pikku/mcp/index.d.ts +1 -1
  138. package/dist/.pikku/mcp/index.js +1 -1
  139. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  140. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  141. package/dist/.pikku/middleware/index.d.ts +1 -1
  142. package/dist/.pikku/middleware/index.js +1 -1
  143. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  144. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  145. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  146. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  147. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  148. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  149. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  150. package/dist/.pikku/queue/index.d.ts +1 -1
  151. package/dist/.pikku/queue/index.js +1 -1
  152. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  153. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  154. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  155. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  156. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  157. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  158. package/dist/.pikku/scenarios/index.d.ts +1 -1
  159. package/dist/.pikku/scenarios/index.js +1 -1
  160. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  161. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  162. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  163. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  164. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  165. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  166. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  167. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  168. package/dist/.pikku/scheduler/index.d.ts +1 -1
  169. package/dist/.pikku/scheduler/index.js +1 -1
  170. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  171. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  172. package/dist/.pikku/schemas/register.gen.js +1 -1
  173. package/dist/.pikku/scopes/index.d.ts +1 -1
  174. package/dist/.pikku/scopes/index.js +1 -1
  175. package/dist/.pikku/scopes/pikku-flags.gen.d.ts +1 -1
  176. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  177. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  178. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  179. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  180. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  181. package/dist/.pikku/secrets/index.d.ts +1 -1
  182. package/dist/.pikku/secrets/index.js +1 -1
  183. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  184. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  185. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  186. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  187. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  188. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  189. package/dist/.pikku/setup/index.d.ts +1 -1
  190. package/dist/.pikku/setup/index.js +1 -1
  191. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  192. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  193. package/dist/.pikku/trigger/index.d.ts +1 -1
  194. package/dist/.pikku/trigger/index.js +1 -1
  195. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  196. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  197. package/dist/.pikku/variables/index.d.ts +1 -1
  198. package/dist/.pikku/variables/index.js +1 -1
  199. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  200. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  201. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  202. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  203. package/dist/.pikku/workflow/index.d.ts +1 -1
  204. package/dist/.pikku/workflow/index.js +1 -1
  205. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  206. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  207. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  208. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  209. package/dist/bin/pikku-bin.mjs +2 -2
  210. package/dist/bin/pikku.js +32 -2
  211. package/dist/src/fabric/fabric-commands.js +3 -1
  212. package/dist/src/fabric/functions/add.function.js +4 -3
  213. package/dist/src/fabric/functions/changes-file.function.js +2 -1
  214. package/dist/src/fabric/functions/changes-shot.function.js +3 -2
  215. package/dist/src/fabric/functions/db-schema.function.js +3 -2
  216. package/dist/src/fabric/functions/deploy-list.function.js +3 -2
  217. package/dist/src/fabric/functions/deploy-units.function.js +3 -2
  218. package/dist/src/fabric/functions/deploy.function.js +4 -4
  219. package/dist/src/fabric/functions/domains-add.function.js +4 -3
  220. package/dist/src/fabric/functions/domains-list.function.js +3 -2
  221. package/dist/src/fabric/functions/domains-remove.function.js +5 -4
  222. package/dist/src/fabric/functions/errors.function.js +3 -2
  223. package/dist/src/fabric/functions/findings-flush.function.js +2 -1
  224. package/dist/src/fabric/functions/init.function.js +3 -2
  225. package/dist/src/fabric/functions/link.function.js +10 -10
  226. package/dist/src/fabric/functions/login.function.js +4 -3
  227. package/dist/src/fabric/functions/logs.function.js +2 -2
  228. package/dist/src/fabric/functions/metrics.function.js +3 -2
  229. package/dist/src/fabric/functions/projects-list.function.js +2 -1
  230. package/dist/src/fabric/functions/publish.function.js +7 -6
  231. package/dist/src/fabric/functions/report.function.js +4 -3
  232. package/dist/src/fabric/functions/rollback.function.js +3 -2
  233. package/dist/src/fabric/functions/secrets-delete.function.js +5 -4
  234. package/dist/src/fabric/functions/secrets-list.function.js +3 -2
  235. package/dist/src/fabric/functions/secrets-rotate.function.js +4 -3
  236. package/dist/src/fabric/functions/secrets-set.function.js +11 -4
  237. package/dist/src/fabric/functions/smoke.function.js +4 -3
  238. package/dist/src/fabric/functions/status.function.js +3 -2
  239. package/dist/src/fabric/functions/trace.function.js +3 -2
  240. package/dist/src/fabric/functions/variables-get.function.js +3 -2
  241. package/dist/src/fabric/functions/variables-set.function.js +3 -2
  242. package/dist/src/fabric/lib/changes.js +3 -2
  243. package/dist/src/fabric/lib/config.js +2 -1
  244. package/dist/src/fabric/lib/deployment.js +2 -1
  245. package/dist/src/fabric/lib/git.d.ts +10 -1
  246. package/dist/src/fabric/lib/git.js +10 -1
  247. package/dist/src/fabric/lib/prompt.d.ts +14 -5
  248. package/dist/src/fabric/lib/prompt.js +78 -15
  249. package/dist/src/fabric/lib/sealed-box.js +3 -2
  250. package/dist/src/fabric/lib/stage.js +3 -2
  251. package/dist/src/functions/commands/audit.js +4 -2
  252. package/dist/src/functions/commands/watch.js +5 -2
  253. package/dist/src/functions/wirings/agent/serialize-public-agent.js +2 -0
  254. package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +18 -4
  255. package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +16 -5
  256. package/dist/src/functions/wirings/credentials/pikku-command-credentials.js +26 -2
  257. package/dist/src/functions/wirings/credentials/serialize-credentials-types.d.ts +6 -2
  258. package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +9 -3
  259. package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +26 -5
  260. package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +1 -1
  261. package/dist/src/functions/wirings/functions/serialize-addon-types.js +46 -1
  262. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +7 -2
  263. package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +13 -1
  264. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.d.ts +13 -0
  265. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +48 -8
  266. package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +9 -4
  267. package/dist/src/functions/workflows/all.workflow.js +8 -0
  268. package/dist/src/services.js +1 -0
  269. package/dist/src/utils/pikku-cli-config-error.d.ts +8 -3
  270. package/dist/src/utils/pikku-cli-config-error.js +8 -3
  271. package/dist/src/utils/pikku-cli-config.js +1 -1
  272. package/dist/tsconfig.tsbuildinfo +1 -1
  273. package/package.json +8 -8
  274. package/surface.json +10 -20
  275. package/console-app/assets/architecture-7GRP2DOG-ClxOnHTX.js +0 -1
  276. package/console-app/assets/channel-c0xM4cPi.js +0 -1
  277. package/console-app/assets/chunk-XXDRQBXY-BkM8vXTQ.js +0 -1
  278. package/console-app/assets/classDiagram-ZZMXUADV-yCAU184A.js +0 -1
  279. package/console-app/assets/classDiagram-v2-VYDZK3BY-yCAU184A.js +0 -1
  280. package/console-app/assets/eventmodeling-NTZA5JFV-bHToGR6p.js +0 -1
  281. package/console-app/assets/flowDiagram-HODETNUW-Dd1RiDsS.js +0 -1
  282. package/console-app/assets/railroad-abnf-HS5TGJTU-nuNyByRg.js +0 -1
  283. package/console-app/assets/railroad-ebnf-LZEXJU2U-BztHKlS5.js +0 -1
  284. package/console-app/assets/railroad-peg-WCYAUIDC-Bw7jp-js.js +0 -1
  285. package/console-app/assets/stateDiagram-v2-MP3YSRHH-Bv8nfhYK.js +0 -1
  286. package/console-app/assets/swimlanesDiagram-VR7AAH4N-BtAfsGDG.js +0 -8
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/state';
5
5
  import '../function/pikku-functions-meta.gen.js';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import type { PikkuScenarioWire, ScenarioStepOptions } from '@pikku/core/scenario';
5
5
  import type { PikkuWorkflowWire } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/state';
5
5
  import '../workflow/pikku-workflow-wirings-meta.gen.js';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export {};
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export declare const empty: null;
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export const empty = null;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scheduler` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scheduler` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Scheduler-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { addSchema } from '@pikku/core/schema';
5
5
  import * as BinaryInput from './schemas/BinaryInput.schema.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scopes` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/scopes` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineScope } from '@pikku/core/scope';
5
5
  export { defineSystemRole } from '@pikku/core/role';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineScope } from '@pikku/core/scope';
5
5
  export { defineSystemRole } from '@pikku/core/role';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * This file was generated by the @pikku/cli
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/secrets` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/secrets` resolves here.
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineSecret } from '@pikku/core/secret';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineSecret } from '@pikku/core/secret';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  import type { SecretService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export declare class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { LocalMetaService } from '@pikku/core/services/local-meta';
5
5
  export class PikkuMetaService extends LocalMetaService {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/setup` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/setup` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Config and service factory definitions, declared once per application
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Config and service factory definitions, declared once per application
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/trigger` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/trigger` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Trigger-specific type definitions for tree-shaking optimization
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/variables` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/variables` resolves here.
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineVariable } from '@pikku/core/variable';
@@ -1,4 +1,4 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  export { defineVariable } from '@pikku/core/variable';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService } from '@pikku/core/services';
5
5
  import type { VariablesService } from '@pikku/core/services';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { TypedVariablesService as CoreTypedVariablesService, } from '@pikku/core/services';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  /**
5
5
  * Subpath entry — `#pikku/workflow` resolves here.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import type { PikkuWorkflowGraphConfig, PikkuWorkflowGraphResult } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { WorkflowCancelledException } from '@pikku/core/workflow';
5
5
  import { pikkuWorkflowGraph as corePikkuWorkflowGraph } from '@pikku/core/workflow';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { pikkuState } from '@pikku/core/state';
5
5
  import allWorkflowMeta from './meta/allWorkflow.gen.json' with { type: 'json' };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.154
2
+ * This file was generated by @pikku/cli@0.12.156
3
3
  */
4
4
  import { addWorkflow } from '@pikku/core/workflow';
5
5
  import './pikku-workflow-wirings-meta.gen.js';
@@ -11,8 +11,8 @@ async function checkForUpdate() {
11
11
  })
12
12
  if (!res.ok) return
13
13
  const { version: latest } = await res.json()
14
- if (latest !== '0.12.154') {
15
- process.stderr.write(`\n Update available 0.12.154 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.156') {
15
+ process.stderr.write(`\n Update available 0.12.156 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
16
16
  }
17
17
  } catch {}
18
18
  }
package/dist/bin/pikku.js CHANGED
@@ -6,6 +6,7 @@ process.on('warning', (w) => {
6
6
  process.stderr.write(`${w.name}: ${w.message}\n`);
7
7
  });
8
8
  import { existsSync, readFileSync } from 'fs';
9
+ import { CLIError, formatCLIError, wantsStackTrace } from '@pikku/core/cli';
9
10
  import { fileURLToPath, pathToFileURL } from 'url';
10
11
  import { dirname, join } from 'path';
11
12
  const __filename = fileURLToPath(import.meta.url);
@@ -65,6 +66,36 @@ async function checkForUpdate() {
65
66
  // never block the CLI for a network check
66
67
  }
67
68
  }
69
+ /**
70
+ * The one place every failure ends up, however it got out.
71
+ *
72
+ * `formatCLIError` decides what is printed: an error raised deliberately shows
73
+ * its message alone, anything unexpected keeps its stack, and `--verbose` /
74
+ * `PIKKU_DEBUG` shows the stack either way. Nothing here strips frames — a
75
+ * `TypeError` with no frames is a bug nobody can diagnose.
76
+ */
77
+ const reportFatal = (error) => {
78
+ // The runner already printed this one and only threw it to carry the exit
79
+ // code out; printing it again is the doubled error users kept reporting.
80
+ if (error instanceof CLIError)
81
+ process.exit(error.exitCode);
82
+ // stderr is asynchronous when it is a pipe, so `process.exit` on the next
83
+ // line can kill the process before the bytes leave — truncating the one
84
+ // diagnostic this function exists to print, exactly when it is redirected
85
+ // into a log. The exit runs from the write callback instead, with `exitCode`
86
+ // set first so a stream that is already gone (callback never fires) still
87
+ // ends the process with the right code once the loop drains.
88
+ process.exitCode = 1;
89
+ process.stderr.write(`${formatCLIError(error, { verbose: wantsStackTrace(process.argv.slice(2)) })}\n`, () => process.exit(1));
90
+ };
91
+ /**
92
+ * Without these, anything thrown outside the await below — a listener, a
93
+ * floating promise in a watcher, a timer — reaches node's default handler and
94
+ * prints an unformatted dump. Installed before the CLI is imported so a failure
95
+ * during module evaluation is caught too.
96
+ */
97
+ process.on('uncaughtException', reportFatal);
98
+ process.on('unhandledRejection', reportFatal);
68
99
  // Use the generated Pikku CLI
69
100
  const pikkuCliPath = join(__dirname, '../.pikku/cli/pikku-cli.gen.js');
70
101
  if (existsSync(pikkuCliPath)) {
@@ -77,8 +108,7 @@ if (existsSync(pikkuCliPath)) {
77
108
  process.exit(process.exitCode ?? 0);
78
109
  }
79
110
  catch (error) {
80
- console.error('Failed to run Pikku CLI:', error.message);
81
- process.exit(1);
111
+ reportFatal(error);
82
112
  }
83
113
  }
84
114
  else {
@@ -259,7 +259,9 @@ export const fabricCommands = defineCLICommands({
259
259
  description: 'Set a stage-scoped secret',
260
260
  options: {
261
261
  branch: { description: 'Target branch', short: 'b' },
262
- value: { description: 'Secret value (prompted if omitted)' },
262
+ value: {
263
+ description: 'Secret value (prompted if omitted, or read from stdin when piped)',
264
+ },
263
265
  force: {
264
266
  description: 'Overwrite without confirmation',
265
267
  default: false,
@@ -6,6 +6,7 @@ import { tmpdir } from 'node:os';
6
6
  import { execFileSync } from 'node:child_process';
7
7
  import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
8
8
  import { resolveApiContext } from '../lib/config.js';
9
+ import { FabricPreconditionError } from '../lib/errors.js';
9
10
  export const FabricAddInput = z.object({
10
11
  id: z.string(),
11
12
  dir: z.string().optional(),
@@ -97,12 +98,12 @@ export const FabricAdd = pikkuSessionlessFunc({
97
98
  // 1. resolve a presigned download URL (public read)
98
99
  const metaRes = await fetch(`${ctx.apiUrl}/registry/packages/${encodeURIComponent(id)}/download`);
99
100
  if (!metaRes.ok)
100
- throw new Error(`download lookup failed → ${metaRes.status}: ${await metaRes.text()}`);
101
+ throw new FabricPreconditionError(`download lookup failed → ${metaRes.status}: ${await metaRes.text()}`);
101
102
  const { url } = (await metaRes.json());
102
103
  // 2. fetch the artifact
103
104
  const dl = await fetch(url);
104
105
  if (!dl.ok)
105
- throw new Error(`artifact fetch failed → ${dl.status}`);
106
+ throw new FabricPreconditionError(`artifact fetch failed → ${dl.status}`);
106
107
  const artifact = Buffer.from(await dl.arrayBuffer());
107
108
  const root = resolveProjectRoot();
108
109
  const addonDir = dir ?? (await readAddonDirFromConfig(root)) ?? 'addons';
@@ -120,7 +121,7 @@ export const FabricAdd = pikkuSessionlessFunc({
120
121
  await rm(tmp, { force: true });
121
122
  const pkg = JSON.parse(await readFile(join(staging, 'package.json'), 'utf8'));
122
123
  if (!pkg.name)
123
- throw new Error('artifact package.json is missing a "name" field');
124
+ throw new FabricPreconditionError('artifact package.json is missing a "name" field');
124
125
  const version = pkg.version ?? '0.0.0';
125
126
  // shadcn copy: folder is the last segment of the (scoped) package name
126
127
  const folder = pkg.name.split('/').pop();
@@ -1,6 +1,7 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { z } from 'zod';
3
3
  import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
4
+ import { FabricPreconditionError } from '../lib/errors.js';
4
5
  import { changesContext, requireProjectId } from '../lib/changes.js';
5
6
  import { resolveStageId } from '../lib/stage.js';
6
7
  import { dim, safe } from '../lib/output.js';
@@ -34,7 +35,7 @@ export const FabricChangesFile = pikkuSessionlessFunc({
34
35
  output: FabricChangesFileOutput,
35
36
  func: async (_services, input) => {
36
37
  if (input.body && input.bodyFile)
37
- throw new Error('Pass --body or --body-file, not both.');
38
+ throw new FabricPreconditionError('Pass --body or --body-file, not both.');
38
39
  const { rpc, projectId } = await changesContext(input.apiUrl, input.projectId);
39
40
  const stageId = input.stageId ??
40
41
  (await resolveStageId(rpc, requireProjectId(projectId), input.branch));
@@ -1,6 +1,7 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { z } from 'zod';
3
3
  import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
4
+ import { FabricPreconditionError } from '../lib/errors.js';
4
5
  import { changesContext, imageContentType, } from '../lib/changes.js';
5
6
  import { dim, safe } from '../lib/output.js';
6
7
  export const FabricChangesShotInput = z.object({
@@ -28,13 +29,13 @@ export const FabricChangesShot = pikkuSessionlessFunc({
28
29
  output: FabricChangesShotOutput,
29
30
  func: async (_services, input) => {
30
31
  if (!input.image && !input.imageBase64)
31
- throw new Error('Pass --image <path> or --image-base64 <data>.');
32
+ throw new FabricPreconditionError('Pass --image <path> or --image-base64 <data>.');
32
33
  let contentType = input.contentType;
33
34
  let imageBase64 = input.imageBase64;
34
35
  if (input.image) {
35
36
  const inferred = imageContentType(input.image);
36
37
  if (!inferred && !contentType)
37
- throw new Error(`Cannot tell the image type from “${input.image}” — pass --content-type.`);
38
+ throw new FabricPreconditionError(`Cannot tell the image type from “${input.image}” — pass --content-type.`);
38
39
  contentType ??= inferred;
39
40
  imageBase64 = (await readFile(input.image)).toString('base64');
40
41
  }
@@ -4,6 +4,7 @@ import { resolveApiContext } from '../lib/config.js';
4
4
  import { getFabricRPC } from '../lib/http.js';
5
5
  import { resolveStageId } from '../lib/stage.js';
6
6
  import { table, dim } from '../lib/output.js';
7
+ import { FabricPreconditionError } from '../lib/errors.js';
7
8
  export const FabricDbSchemaInput = z.object({
8
9
  branch: z.string().default('main'),
9
10
  });
@@ -18,9 +19,9 @@ export const FabricDbSchema = pikkuSessionlessFunc({
18
19
  func: async (_services, { branch }) => {
19
20
  const ctx = await resolveApiContext();
20
21
  if (!ctx.token)
21
- throw new Error('Not logged in. Run `pikku fabric login` first.');
22
+ throw new FabricPreconditionError('Not logged in. Run `pikku fabric login` first.');
22
23
  if (!ctx.projectId)
23
- throw new Error('No fabric project linked. Run `pikku fabric link` first.');
24
+ throw new FabricPreconditionError('No fabric project linked. Run `pikku fabric link` first.');
24
25
  const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
25
26
  const stageId = await resolveStageId(rpc, ctx.projectId, branch);
26
27
  const { schema } = await rpc.invoke('getStageDatabaseSchema', { stageId });
@@ -4,6 +4,7 @@ import { resolveApiContext } from '../lib/config.js';
4
4
  import { getFabricRPC } from '../lib/http.js';
5
5
  import { resolveStageId } from '../lib/stage.js';
6
6
  import { table, statusColor, dim } from '../lib/output.js';
7
+ import { FabricPreconditionError } from '../lib/errors.js';
7
8
  export const FabricDeployListInput = z.object({
8
9
  branch: z.string().default('main'),
9
10
  });
@@ -18,9 +19,9 @@ export const FabricDeployList = pikkuSessionlessFunc({
18
19
  func: async (_services, { branch }) => {
19
20
  const ctx = await resolveApiContext();
20
21
  if (!ctx.token)
21
- throw new Error('Not logged in. Run `pikku fabric login` first.');
22
+ throw new FabricPreconditionError('Not logged in. Run `pikku fabric login` first.');
22
23
  if (!ctx.projectId)
23
- throw new Error('No fabric project linked. Run `pikku fabric link` first.');
24
+ throw new FabricPreconditionError('No fabric project linked. Run `pikku fabric link` first.');
24
25
  const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
25
26
  const stageId = await resolveStageId(rpc, ctx.projectId, branch);
26
27
  const { deployments } = await rpc.invoke('listDeployments', { stageId });
@@ -4,6 +4,7 @@ import { resolveApiContext } from '../lib/config.js';
4
4
  import { getFabricRPC } from '../lib/http.js';
5
5
  import { resolveStageId } from '../lib/stage.js';
6
6
  import { table, statusColor, dim } from '../lib/output.js';
7
+ import { FabricPreconditionError } from '../lib/errors.js';
7
8
  export const FabricDeployUnitsInput = z.object({
8
9
  branch: z.string().default('main'),
9
10
  });
@@ -18,9 +19,9 @@ export const FabricDeployUnits = pikkuSessionlessFunc({
18
19
  func: async (_services, { branch }) => {
19
20
  const ctx = await resolveApiContext();
20
21
  if (!ctx.token)
21
- throw new Error('Not logged in. Run `pikku fabric login` first.');
22
+ throw new FabricPreconditionError('Not logged in. Run `pikku fabric login` first.');
22
23
  if (!ctx.projectId)
23
- throw new Error('No fabric project linked. Run `pikku fabric link` first.');
24
+ throw new FabricPreconditionError('No fabric project linked. Run `pikku fabric link` first.');
24
25
  const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
25
26
  const stageId = await resolveStageId(rpc, ctx.projectId, branch);
26
27
  const { workers } = await rpc.invoke('listDeploymentWorkers', { stageId });