@pikku/cli 0.12.121 → 0.12.123

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 (243) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-Dfq94a7u.js → abnfDiagram-N423BO3Z-BR5_-R36.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-B-7dd9iF.js +1 -0
  4. package/console-app/assets/{architectureDiagram-T3A2C74G-C9MjP0IU.js → architectureDiagram-T3A2C74G-PWMb8XVe.js} +1 -1
  5. package/console-app/assets/{blockDiagram-VBNYF7ZC-CGgHSlOO.js → blockDiagram-VBNYF7ZC-BRFlIAtN.js} +1 -1
  6. package/console-app/assets/{c4Diagram-5PPSVZJV-3kzckivq.js → c4Diagram-5PPSVZJV-DnxGac5c.js} +1 -1
  7. package/console-app/assets/channel-eaKvL3e5.js +1 -0
  8. package/console-app/assets/{chunk-2GRJ4B5K-UZ1q29J_.js → chunk-2GRJ4B5K-B09NFK9f.js} +1 -1
  9. package/console-app/assets/{chunk-4I5QYGJK-bq4iSS6S.js → chunk-4I5QYGJK-Di1FL5uh.js} +1 -1
  10. package/console-app/assets/{chunk-5RXB4S5H-BCeU8nXq.js → chunk-5RXB4S5H-BkFSNR63.js} +1 -1
  11. package/console-app/assets/{chunk-6Q2QTUOP-DpsTVhit.js → chunk-6Q2QTUOP-L6D94YxI.js} +1 -1
  12. package/console-app/assets/{chunk-7Z6QIM7H-I6XKkv2A.js → chunk-7Z6QIM7H-DfzYcuKW.js} +1 -1
  13. package/console-app/assets/{chunk-GF5L2VYU-aYODFCZ6.js → chunk-GF5L2VYU-CA5m-Xs7.js} +1 -1
  14. package/console-app/assets/{chunk-I66GZJ75-CWdPrY4a.js → chunk-I66GZJ75-Hl61byF7.js} +1 -1
  15. package/console-app/assets/{chunk-JQJVKLGR-D5bHP4bt.js → chunk-JQJVKLGR-CgLeeXhv.js} +1 -1
  16. package/console-app/assets/{chunk-KBJHAD2P-B-Spac9o.js → chunk-KBJHAD2P-9mRl0jD6.js} +1 -1
  17. package/console-app/assets/{chunk-NSK5VX7P-0jZVLBhi.js → chunk-NSK5VX7P-D7NmS_w1.js} +1 -1
  18. package/console-app/assets/{chunk-QR6OTTB3-BurXFOtV.js → chunk-QR6OTTB3-KdKTpLyy.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-C4zacxhH.js → chunk-RYQCIY6F-DeEpMb3d.js} +1 -1
  20. package/console-app/assets/{chunk-UBXNYLIW-7RthekQ-.js → chunk-UBXNYLIW-DKYUw71c.js} +1 -1
  21. package/console-app/assets/{chunk-W5SLKNZC-rq3UcMTy.js → chunk-W5SLKNZC-B2fxVl1I.js} +1 -1
  22. package/console-app/assets/{chunk-WRU74C26-DUX-oZjQ.js → chunk-WRU74C26-CHP8CDJx.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-CJZ5XPXr.js +1 -0
  24. package/console-app/assets/classDiagram-JCYQIIEL-CSV3IvA1.js +1 -0
  25. package/console-app/assets/classDiagram-v2-OCEON4UE-CSV3IvA1.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-DZn35HFs.js → cose-bilkent-JH36ORCC-Bv8nl8zW.js} +1 -1
  27. package/console-app/assets/{cynefin-VYW2F7L2-mZlOMKNi.js → cynefin-VYW2F7L2-CSj7rmbq.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-MW4NZA55-uUAfUoag.js → cynefinDiagram-MW4NZA55-C3xwJ3tQ.js} +1 -1
  29. package/console-app/assets/{dagre-DfTmIhGN.js → dagre-DUPxteSi.js} +1 -1
  30. package/console-app/assets/{dagre-VZM6K2ZE-7oTddCss.js → dagre-VZM6K2ZE-B_2qJCCS.js} +1 -1
  31. package/console-app/assets/{diagram-7IWD3JNH-D6TR4TlN.js → diagram-7IWD3JNH-IH1BOccH.js} +1 -1
  32. package/console-app/assets/{diagram-B4RE2ZJO-BZwUFLzC.js → diagram-B4RE2ZJO-BVvJvAvO.js} +1 -1
  33. package/console-app/assets/{diagram-LBJQPF4R-B4Ug2xRo.js → diagram-LBJQPF4R-CyDL-OzR.js} +1 -1
  34. package/console-app/assets/{diagram-Q27KOJAE-Fpr_Cahs.js → diagram-Q27KOJAE-BwUGm_12.js} +1 -1
  35. package/console-app/assets/{diagram-UB23O5K3-d0X7PA-5.js → diagram-UB23O5K3-TPo3mAAN.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-BXEA7PRR-DExP954c.js → ebnfDiagram-BXEA7PRR-D3zthE3L.js} +1 -1
  37. package/console-app/assets/{erDiagram-JOGREHBK-WdnXmG8f.js → erDiagram-JOGREHBK-DrJSdPyj.js} +1 -1
  38. package/console-app/assets/eventmodeling-45OFAUF4-TV8Whj2Z.js +1 -0
  39. package/console-app/assets/flowDiagram-UKHOOZJN-C0682uBh.js +1 -0
  40. package/console-app/assets/{ganttDiagram-PKOTCBZU-ADJHCyvl.js → ganttDiagram-PKOTCBZU-xWWCXZUc.js} +1 -1
  41. package/console-app/assets/{gitGraph-TEB2WS4Q-BPcXt1vK.js → gitGraph-TEB2WS4Q-DqccwZ0r.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-DFhenfUX.js → gitGraphDiagram-DS77QQ5N-BrQMGv-z.js} +1 -1
  43. package/console-app/assets/{index-BwP6EcJr.js → index-BP1o9ux1.js} +178 -178
  44. package/console-app/assets/{info-DKCQHKI2-BsE7egna.js → info-DKCQHKI2-DYYsb_ec.js} +1 -1
  45. package/console-app/assets/{infoDiagram-6WML65LV-BmVqXMw0.js → infoDiagram-6WML65LV-B659BK5Z.js} +1 -1
  46. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CdFTPIY5.js → ishikawaDiagram-WSZJBQD7-nAST6NVR.js} +1 -1
  47. package/console-app/assets/{journeyDiagram-NVQOT4AX-DC8CKdJk.js → journeyDiagram-NVQOT4AX-DvMfDp0L.js} +1 -1
  48. package/console-app/assets/{kanban-definition-27J2QSJJ-Bo7kRcLN.js → kanban-definition-27J2QSJJ-XSWRq0KN.js} +1 -1
  49. package/console-app/assets/{line-5nUqh22u.js → line-BhOX1huR.js} +1 -1
  50. package/console-app/assets/{linear-82KoPtTH.js → linear-DmCFkJVF.js} +1 -1
  51. package/console-app/assets/{mermaid-parser.core-R240ylPw.js → mermaid-parser.core-3dL4TN1f.js} +3 -3
  52. package/console-app/assets/{mermaid.core-BZ3jSM6D.js → mermaid.core-DaXl8RjK.js} +4 -4
  53. package/console-app/assets/{mindmap-definition-FAOFIHXS-x1K54VeO.js → mindmap-definition-FAOFIHXS-BVSaEdh8.js} +1 -1
  54. package/console-app/assets/{packet-7NZHBO7P-CE2Lun0t.js → packet-7NZHBO7P-DmXSSPjQ.js} +1 -1
  55. package/console-app/assets/{pegDiagram-VL7TDLO6-CpGZYdUz.js → pegDiagram-VL7TDLO6-Cd94zu6b.js} +1 -1
  56. package/console-app/assets/{pie-RZYD4A2V-Hf5MOyY8.js → pie-RZYD4A2V-BfIstVk8.js} +1 -1
  57. package/console-app/assets/{pieDiagram-7S7Q4E2Y-0J5H7r7g.js → pieDiagram-7S7Q4E2Y-Jxlih0Om.js} +1 -1
  58. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-DWtYi8O-.js → quadrantDiagram-CIZ2JOQS-DMa-9Zmv.js} +1 -1
  59. package/console-app/assets/{radar-I7S5WNFK-BgtvrX4w.js → radar-I7S5WNFK-BhvNZ__k.js} +1 -1
  60. package/console-app/assets/{railroad-3IZDKUUU-CeR0NhLL.js → railroad-3IZDKUUU-C7yHVxVy.js} +1 -1
  61. package/console-app/assets/railroad-abnf-AHOZXSZD-BbrGgpop.js +1 -0
  62. package/console-app/assets/railroad-ebnf-EBAXGLYW-BMxBKnfa.js +1 -0
  63. package/console-app/assets/railroad-peg-LSFZ7HO6-i24YvrZ1.js +1 -0
  64. package/console-app/assets/{railroadDiagram-AXF67PYL-CUIn_gPf.js → railroadDiagram-AXF67PYL-DsBXjXIE.js} +1 -1
  65. package/console-app/assets/{requirementDiagram-LRYGKXZP-Ds9Aqcts.js → requirementDiagram-LRYGKXZP-C5JX79TM.js} +1 -1
  66. package/console-app/assets/{sankeyDiagram-W5VNT64P-CKhuya4d.js → sankeyDiagram-W5VNT64P-DFGcEBC2.js} +1 -1
  67. package/console-app/assets/{sequenceDiagram-SI44F4Z6-DKgOmdzz.js → sequenceDiagram-SI44F4Z6-BUa6ak9R.js} +1 -1
  68. package/console-app/assets/{src-DwHVY--Z.js → src-BJFofs4v.js} +1 -1
  69. package/console-app/assets/{stateDiagram-OKZ733FA-CPIfaZie.js → stateDiagram-OKZ733FA-DFbCY_t8.js} +1 -1
  70. package/console-app/assets/stateDiagram-v2-UEYNNEHI-Ds7kyy87.js +1 -0
  71. package/console-app/assets/{swimlanes-SLNWSIFB-8q3lK4RS.js → swimlanes-SLNWSIFB-Cl9G39FU.js} +1 -1
  72. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BAuvqF_W.js +8 -0
  73. package/console-app/assets/{timeline-definition-Z64GVDOM-CHHi2Rpq.js → timeline-definition-Z64GVDOM-ClWBr3pJ.js} +1 -1
  74. package/console-app/assets/{treeView-QDETBFTQ-DrLHlsII.js → treeView-QDETBFTQ-DIQ61Y8k.js} +1 -1
  75. package/console-app/assets/{treemap-6X3UGDF4-C3saYKuK.js → treemap-6X3UGDF4-KbZtNSyG.js} +1 -1
  76. package/console-app/assets/{vennDiagram-T6HMQDX7-CdyzNiAu.js → vennDiagram-T6HMQDX7-BY367OUV.js} +1 -1
  77. package/console-app/assets/{wardley-OPB4EBWU-BSrymyse.js → wardley-OPB4EBWU-BZc1RNrx.js} +1 -1
  78. package/console-app/assets/{wardleyDiagram-T6FBY63Y-CCW6rhEo.js → wardleyDiagram-T6FBY63Y-D45un7IA.js} +1 -1
  79. package/console-app/assets/{xychartDiagram-ELKLHX3M-BQvPaxzg.js → xychartDiagram-ELKLHX3M-Ci5YwcnQ.js} +1 -1
  80. package/console-app/index.html +1 -1
  81. package/dist/.pikku/addon/index.d.ts +1 -1
  82. package/dist/.pikku/addon/index.js +1 -1
  83. package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
  84. package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
  85. package/dist/.pikku/agent/index.d.ts +1 -1
  86. package/dist/.pikku/agent/index.js +1 -1
  87. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
  88. package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
  89. package/dist/.pikku/auth/index.d.ts +1 -1
  90. package/dist/.pikku/auth/index.js +1 -1
  91. package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
  92. package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
  93. package/dist/.pikku/channel/index.d.ts +1 -1
  94. package/dist/.pikku/channel/index.js +1 -1
  95. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  96. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  97. package/dist/.pikku/cli/index.d.ts +1 -1
  98. package/dist/.pikku/cli/index.js +1 -1
  99. package/dist/.pikku/cli/pikku-cli-channel.js +11 -1
  100. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  101. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  102. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  103. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  104. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +49 -0
  105. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  106. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  107. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  108. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +49 -0
  109. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  110. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  111. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  112. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  113. package/dist/.pikku/error/index.d.ts +1 -1
  114. package/dist/.pikku/error/index.js +1 -1
  115. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  116. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  117. package/dist/.pikku/function/index.d.ts +1 -1
  118. package/dist/.pikku/function/index.js +1 -1
  119. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  120. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  121. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  122. package/dist/.pikku/function/pikku-functions-meta.gen.json +39 -1
  123. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  124. package/dist/.pikku/gateway/index.d.ts +1 -1
  125. package/dist/.pikku/gateway/index.js +1 -1
  126. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  127. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  128. package/dist/.pikku/http/index.d.ts +1 -1
  129. package/dist/.pikku/http/index.js +1 -1
  130. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  131. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  132. package/dist/.pikku/mcp/index.d.ts +1 -1
  133. package/dist/.pikku/mcp/index.js +1 -1
  134. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  135. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  136. package/dist/.pikku/middleware/index.d.ts +1 -1
  137. package/dist/.pikku/middleware/index.js +1 -1
  138. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  139. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  140. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  141. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  142. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  143. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  144. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  145. package/dist/.pikku/queue/index.d.ts +1 -1
  146. package/dist/.pikku/queue/index.js +1 -1
  147. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  148. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  149. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  150. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  151. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  152. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  153. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +2 -0
  154. package/dist/.pikku/scenarios/index.d.ts +1 -1
  155. package/dist/.pikku/scenarios/index.js +1 -1
  156. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  157. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  158. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  159. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +3 -3
  160. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  161. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  162. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  163. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  164. package/dist/.pikku/scheduler/index.d.ts +1 -1
  165. package/dist/.pikku/scheduler/index.js +1 -1
  166. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  167. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  168. package/dist/.pikku/schemas/register.gen.js +9 -1
  169. package/dist/.pikku/schemas/schemas/FabricVariablesGetInput.schema.json +1 -0
  170. package/dist/.pikku/schemas/schemas/FabricVariablesGetOutput.schema.json +1 -0
  171. package/dist/.pikku/schemas/schemas/FabricVariablesSetInput.schema.json +1 -0
  172. package/dist/.pikku/schemas/schemas/FabricVariablesSetOutput.schema.json +1 -0
  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-personas.gen.js +1 -1
  176. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  177. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  178. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  179. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  180. package/dist/.pikku/secrets/index.d.ts +1 -1
  181. package/dist/.pikku/secrets/index.js +1 -1
  182. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  183. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  184. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  185. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  186. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  187. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  188. package/dist/.pikku/setup/index.d.ts +1 -1
  189. package/dist/.pikku/setup/index.js +1 -1
  190. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  191. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  192. package/dist/.pikku/trigger/index.d.ts +1 -1
  193. package/dist/.pikku/trigger/index.js +1 -1
  194. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  195. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  196. package/dist/.pikku/variables/index.d.ts +1 -1
  197. package/dist/.pikku/variables/index.js +1 -1
  198. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  199. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  200. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  201. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  202. package/dist/.pikku/workflow/index.d.ts +1 -1
  203. package/dist/.pikku/workflow/index.js +1 -1
  204. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  205. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  206. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  207. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  208. package/dist/bin/pikku-bin.mjs +2 -2
  209. package/dist/src/fabric/fabric-commands.d.ts +52 -0
  210. package/dist/src/fabric/fabric-commands.js +25 -0
  211. package/dist/src/fabric/functions/deploy.function.js +4 -2
  212. package/dist/src/fabric/functions/variables-get.function.d.ts +36 -0
  213. package/dist/src/fabric/functions/variables-get.function.js +46 -0
  214. package/dist/src/fabric/functions/variables-set.function.d.ts +32 -0
  215. package/dist/src/fabric/functions/variables-set.function.js +41 -0
  216. package/dist/src/fabric/lib/deployment.d.ts +14 -0
  217. package/dist/src/fabric/lib/deployment.js +24 -0
  218. package/dist/src/fabric/lib/variable-value.d.ts +15 -0
  219. package/dist/src/fabric/lib/variable-value.js +22 -0
  220. package/dist/src/functions/commands/scenario-formatter.js +6 -3
  221. package/dist/src/functions/commands/scenario-ladder.d.ts +8 -1
  222. package/dist/src/functions/commands/scenario-ladder.js +56 -12
  223. package/dist/src/functions/commands/scenario.js +1 -1
  224. package/dist/src/functions/wirings/workflow/serialize-scenario-types.js +2 -2
  225. package/dist/src/services/cli-logger-forwarder.service.d.ts +2 -0
  226. package/dist/src/services/cli-logger-forwarder.service.js +10 -0
  227. package/dist/src/services/cli-logger.service.d.ts +21 -0
  228. package/dist/src/services/cli-logger.service.js +41 -4
  229. package/dist/tsconfig.tsbuildinfo +1 -1
  230. package/package.json +6 -6
  231. package/surface.json +1 -1
  232. package/console-app/assets/architecture-TIHT7OUA-CA-Di-O3.js +0 -1
  233. package/console-app/assets/channel-UOxM22B3.js +0 -1
  234. package/console-app/assets/chunk-XXDRQBXY-gIL1rRSY.js +0 -1
  235. package/console-app/assets/classDiagram-JCYQIIEL-BwV1w5At.js +0 -1
  236. package/console-app/assets/classDiagram-v2-OCEON4UE-BwV1w5At.js +0 -1
  237. package/console-app/assets/eventmodeling-45OFAUF4-DXnDrAdV.js +0 -1
  238. package/console-app/assets/flowDiagram-UKHOOZJN-UixAvy5Z.js +0 -1
  239. package/console-app/assets/railroad-abnf-AHOZXSZD-BEVU16-y.js +0 -1
  240. package/console-app/assets/railroad-ebnf-EBAXGLYW-WT4rrGXf.js +0 -1
  241. package/console-app/assets/railroad-peg-LSFZ7HO6-BnObCMjn.js +0 -1
  242. package/console-app/assets/stateDiagram-v2-UEYNNEHI-DHcCmJ1C.js +0 -1
  243. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-B1uT0NiL.js +0 -8
@@ -0,0 +1 @@
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string" }, "exists": { "type": "boolean" }, "value": {} }, "required": ["name", "exists", "value"], "additionalProperties": false }
@@ -0,0 +1 @@
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string" }, "branch": { "type": "string" }, "value": { "type": "string" } }, "required": ["name", "branch", "value"], "additionalProperties": false }
@@ -0,0 +1 @@
1
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string" }, "success": { "type": "boolean" } }, "required": ["name", "success"], "additionalProperties": false }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121
2
+ * This file was generated by @pikku/cli@0.12.123
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.121') {
15
- process.stderr.write(`\n Update available 0.12.121 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.123') {
15
+ process.stderr.write(`\n Update available 0.12.123 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
16
16
  }
17
17
  } catch {}
18
18
  }
@@ -629,6 +629,58 @@ export declare const fabricCommands: {
629
629
  }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>, import("../../.pikku/middleware/pikku-middleware-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
630
630
  };
631
631
  };
632
+ variables: {
633
+ description: string;
634
+ subcommands: {
635
+ set: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
636
+ name: string;
637
+ branch: string;
638
+ value: string;
639
+ }, {
640
+ name: string;
641
+ success: boolean;
642
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
643
+ name: string;
644
+ branch: string;
645
+ value: string;
646
+ }, {
647
+ name: string;
648
+ success: boolean;
649
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
650
+ name: string;
651
+ branch: string;
652
+ value: string;
653
+ }, {
654
+ name: string;
655
+ success: boolean;
656
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>, import("../../.pikku/middleware/pikku-middleware-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
657
+ get: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
658
+ name: string;
659
+ branch: string;
660
+ json?: boolean | undefined;
661
+ }, {
662
+ name: string;
663
+ exists: boolean;
664
+ value: unknown;
665
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
666
+ name: string;
667
+ branch: string;
668
+ json?: boolean | undefined;
669
+ }, {
670
+ name: string;
671
+ exists: boolean;
672
+ value: unknown;
673
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
674
+ name: string;
675
+ branch: string;
676
+ json?: boolean | undefined;
677
+ }, {
678
+ name: string;
679
+ exists: boolean;
680
+ value: unknown;
681
+ }, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>, import("../../.pikku/middleware/pikku-middleware-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
682
+ };
683
+ };
632
684
  logs: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
633
685
  branch?: string | undefined;
634
686
  deployment?: string | undefined;
@@ -32,6 +32,8 @@ import { FabricRollback } from './functions/rollback.function.js';
32
32
  import { FabricSecretsSet } from './functions/secrets-set.function.js';
33
33
  import { FabricSecretsList } from './functions/secrets-list.function.js';
34
34
  import { FabricSecretsRotate } from './functions/secrets-rotate.function.js';
35
+ import { FabricVariablesSet } from './functions/variables-set.function.js';
36
+ import { FabricVariablesGet } from './functions/variables-get.function.js';
35
37
  import { FabricLogs } from './functions/logs.function.js';
36
38
  import { FabricMetrics } from './functions/metrics.function.js';
37
39
  import { FabricTrace } from './functions/trace.function.js';
@@ -260,6 +262,29 @@ export const fabricCommands = defineCLICommands({
260
262
  }),
261
263
  },
262
264
  },
265
+ variables: {
266
+ description: 'Manage stage-scoped variables',
267
+ subcommands: {
268
+ set: pikkuCLICommand({
269
+ parameters: '<name>',
270
+ func: FabricVariablesSet,
271
+ description: 'Set a stage-scoped variable',
272
+ options: {
273
+ branch: { description: 'Target branch', short: 'b' },
274
+ value: { description: 'Variable value, read as JSON when it parses' },
275
+ },
276
+ }),
277
+ get: pikkuCLICommand({
278
+ parameters: '<name>',
279
+ func: FabricVariablesGet,
280
+ description: 'Read a stage-scoped variable back',
281
+ options: {
282
+ branch: { description: 'Target branch', short: 'b' },
283
+ json: { description: 'Machine-readable output', default: false },
284
+ },
285
+ }),
286
+ },
287
+ },
263
288
  logs: pikkuCLICommand({
264
289
  func: FabricLogs,
265
290
  description: 'Stream or fetch logs',
@@ -5,7 +5,7 @@ import { getFabricRPC } from '../lib/http.js';
5
5
  import { assertNamedBranchDeploySafety, resolveRef } from '../lib/git.js';
6
6
  import { promptConfirm } from '../lib/prompt.js';
7
7
  import { added, changed, removed, dim, table } from '../lib/output.js';
8
- import { blockedReason, blockedSummary, changesAreEmpty, classifyStatus, describeDeployment, destructiveMigrations, isApprovable, readDeploymentStatus, readWorkers, stateLabel, waitForDeployment, } from '../lib/deployment.js';
8
+ import { blockedReason, blockedSummary, missingConfigHints, changesAreEmpty, classifyStatus, describeDeployment, destructiveMigrations, isApprovable, readDeploymentStatus, readWorkers, stateLabel, waitForDeployment, } from '../lib/deployment.js';
9
9
  const DEFAULT_TIMEOUT_SECONDS = 900;
10
10
  export const FabricDeployInput = z.object({
11
11
  branch: z.string().optional(),
@@ -359,7 +359,9 @@ export const renderDeployApply = (_s, result) => {
359
359
  console.log(dim(`Approve it with \`pikku fabric deploy apply --deployment-id ${deploymentId} --sync --auto-approve\`.`));
360
360
  }
361
361
  else if (reason === 'needs_config') {
362
- console.log(dim('Set the values with `pikku fabric secrets set <name>`.'));
362
+ for (const hint of missingConfigHints(result.missingSecrets, result.missingVariables)) {
363
+ console.log(dim(hint));
364
+ }
363
365
  }
364
366
  return;
365
367
  }
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare const FabricVariablesGetInput: z.ZodObject<{
3
+ name: z.ZodString;
4
+ branch: z.ZodString;
5
+ json: z.ZodOptional<z.ZodBoolean>;
6
+ }, z.core.$strip>;
7
+ export declare const FabricVariablesGetOutput: z.ZodObject<{
8
+ name: z.ZodString;
9
+ exists: z.ZodBoolean;
10
+ value: z.ZodUnknown;
11
+ }, z.core.$strip>;
12
+ export declare const FabricVariablesGet: import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
13
+ name: string;
14
+ branch: string;
15
+ json?: boolean | undefined;
16
+ }, {
17
+ name: string;
18
+ exists: boolean;
19
+ value: unknown;
20
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
21
+ name: string;
22
+ branch: string;
23
+ json?: boolean | undefined;
24
+ }, {
25
+ name: string;
26
+ exists: boolean;
27
+ value: unknown;
28
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
29
+ name: string;
30
+ branch: string;
31
+ json?: boolean | undefined;
32
+ }, {
33
+ name: string;
34
+ exists: boolean;
35
+ value: unknown;
36
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>;
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
3
+ import { resolveApiContext } from '../lib/config.js';
4
+ import { getFabricRPC } from '../lib/http.js';
5
+ import { resolveStageId } from '../lib/stage.js';
6
+ export const FabricVariablesGetInput = z.object({
7
+ name: z.string(),
8
+ branch: z.string(),
9
+ json: z.boolean().optional(),
10
+ });
11
+ export const FabricVariablesGetOutput = z.object({
12
+ name: z.string(),
13
+ exists: z.boolean(),
14
+ value: z.unknown(),
15
+ });
16
+ export const FabricVariablesGet = pikkuSessionlessFunc({
17
+ description: 'Read a stage-scoped variable back, so you can see the shape it was stored in rather than the shape you meant.',
18
+ input: FabricVariablesGetInput,
19
+ output: FabricVariablesGetOutput,
20
+ func: async (_services, { name, branch, json }) => {
21
+ const ctx = await resolveApiContext();
22
+ if (!ctx.token)
23
+ throw new Error('Not logged in. Run `pikku fabric login` first.');
24
+ if (!ctx.projectId)
25
+ throw new Error('No fabric project linked. Run `pikku fabric link` first.');
26
+ const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
27
+ const stageId = await resolveStageId(rpc, ctx.projectId, branch);
28
+ const { exists, value } = await rpc.invoke('getStageConsoleVariable', {
29
+ stageId,
30
+ variableId: name,
31
+ });
32
+ if (json) {
33
+ console.log(JSON.stringify({ branch, name, exists, value }, null, 2));
34
+ }
35
+ else if (!exists) {
36
+ console.log(`[fabric] ${name} is not set on ${branch}`);
37
+ }
38
+ else {
39
+ // `JSON.stringify` rather than the bare value, because the shape is the
40
+ // thing worth seeing: `true` and `"true"` print identically otherwise, and
41
+ // telling them apart is usually why you are looking.
42
+ console.log(JSON.stringify(value));
43
+ }
44
+ return { name, exists, value };
45
+ },
46
+ });
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ export declare const FabricVariablesSetInput: z.ZodObject<{
3
+ name: z.ZodString;
4
+ branch: z.ZodString;
5
+ value: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export declare const FabricVariablesSetOutput: z.ZodObject<{
8
+ name: z.ZodString;
9
+ success: z.ZodBoolean;
10
+ }, z.core.$strip>;
11
+ export declare const FabricVariablesSet: import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
12
+ name: string;
13
+ branch: string;
14
+ value: string;
15
+ }, {
16
+ name: string;
17
+ success: boolean;
18
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
19
+ name: string;
20
+ branch: string;
21
+ value: string;
22
+ }, {
23
+ name: string;
24
+ success: boolean;
25
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
26
+ name: string;
27
+ branch: string;
28
+ value: string;
29
+ }, {
30
+ name: string;
31
+ success: boolean;
32
+ }, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>;
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
3
+ import { resolveApiContext } from '../lib/config.js';
4
+ import { getFabricRPC } from '../lib/http.js';
5
+ import { resolveStageId } from '../lib/stage.js';
6
+ import { parseVariableValue } from '../lib/variable-value.js';
7
+ export const FabricVariablesSetInput = z.object({
8
+ name: z.string(),
9
+ branch: z.string(),
10
+ value: z.string(),
11
+ });
12
+ export const FabricVariablesSetOutput = z.object({
13
+ name: z.string(),
14
+ success: z.boolean(),
15
+ });
16
+ export const FabricVariablesSet = pikkuSessionlessFunc({
17
+ description: 'Set a stage-scoped variable — the deployed counterpart of a line in .env. Not a secret: the value is stored in plain form and is readable back.',
18
+ input: FabricVariablesSetInput,
19
+ output: FabricVariablesSetOutput,
20
+ func: async (_services, { name, branch, value }) => {
21
+ const ctx = await resolveApiContext();
22
+ if (!ctx.token)
23
+ throw new Error('Not logged in. Run `pikku fabric login` first.');
24
+ if (!ctx.projectId)
25
+ throw new Error('No fabric project linked. Run `pikku fabric link` first.');
26
+ const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
27
+ const stageId = await resolveStageId(rpc, ctx.projectId, branch);
28
+ // Deliberately not sealed, and deliberately not prompted for. A variable is
29
+ // configuration — a port, a URL, a feature switch — and treating it like a
30
+ // secret would mean it could not be read back, which is most of the value of
31
+ // having it separate from `secrets` in the first place. Anything that would
32
+ // hurt to print belongs in `pikku fabric secrets set`.
33
+ const { success } = await rpc.invoke('setStageConsoleVariable', {
34
+ stageId,
35
+ variableId: name,
36
+ value: parseVariableValue(value),
37
+ });
38
+ console.log(`[fabric] ${name} set on ${branch}.`);
39
+ return { name, success };
40
+ },
41
+ });
@@ -8,6 +8,20 @@ export declare function blockedReason(statusReason: string | null): BlockedReaso
8
8
  export declare function isApprovable(reason: BlockedReason): boolean;
9
9
  export declare function stateLabel(status: string, statusReason: string | null): string;
10
10
  export declare function blockedSummary(reason: BlockedReason): string;
11
+ /**
12
+ * What to tell someone whose deploy is blocked on config they have not set.
13
+ *
14
+ * Secrets and variables go missing in the same way and are set by two different
15
+ * commands: `pikku fabric secrets set` seals a value the stage can never read
16
+ * back, `pikku fabric variables set` writes one it can. Naming one command for
17
+ * both sends anyone blocked on the other kind to a command that refuses their
18
+ * value, which reads as the command being broken rather than as the wrong one.
19
+ */
20
+ export declare function missingConfigHints(missingSecrets: readonly {
21
+ name: string;
22
+ }[] | undefined, missingVariables: readonly {
23
+ name: string;
24
+ }[] | undefined): string[];
11
25
  export interface DeploymentStatus {
12
26
  status: string;
13
27
  statusReason: string | null;