@pikku/cli 0.12.120 → 0.12.122

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 (241) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/console-app/assets/{abnfDiagram-N423BO3Z-Df3BCQUl.js → abnfDiagram-N423BO3Z-Dfq94a7u.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-CA-Di-O3.js +1 -0
  4. package/console-app/assets/{architectureDiagram-T3A2C74G-BlV2VA0B.js → architectureDiagram-T3A2C74G-C9MjP0IU.js} +1 -1
  5. package/console-app/assets/{blockDiagram-VBNYF7ZC-BZ7GFw7a.js → blockDiagram-VBNYF7ZC-CGgHSlOO.js} +1 -1
  6. package/console-app/assets/{c4Diagram-5PPSVZJV-uXLYnA16.js → c4Diagram-5PPSVZJV-3kzckivq.js} +1 -1
  7. package/console-app/assets/channel-UOxM22B3.js +1 -0
  8. package/console-app/assets/{chunk-2GRJ4B5K-CU6Szqvt.js → chunk-2GRJ4B5K-UZ1q29J_.js} +1 -1
  9. package/console-app/assets/{chunk-4I5QYGJK-Bf8ARw9p.js → chunk-4I5QYGJK-bq4iSS6S.js} +1 -1
  10. package/console-app/assets/{chunk-5RXB4S5H-CuRjyaQR.js → chunk-5RXB4S5H-BCeU8nXq.js} +1 -1
  11. package/console-app/assets/{chunk-6Q2QTUOP-DMFott3W.js → chunk-6Q2QTUOP-DpsTVhit.js} +1 -1
  12. package/console-app/assets/{chunk-7Z6QIM7H-YJMK1J3W.js → chunk-7Z6QIM7H-I6XKkv2A.js} +1 -1
  13. package/console-app/assets/{chunk-GF5L2VYU-Co4slpk_.js → chunk-GF5L2VYU-aYODFCZ6.js} +1 -1
  14. package/console-app/assets/{chunk-I66GZJ75-CE6Jk-ML.js → chunk-I66GZJ75-CWdPrY4a.js} +1 -1
  15. package/console-app/assets/{chunk-JQJVKLGR-BjkITZJq.js → chunk-JQJVKLGR-D5bHP4bt.js} +1 -1
  16. package/console-app/assets/{chunk-KBJHAD2P-DdHZUbE2.js → chunk-KBJHAD2P-B-Spac9o.js} +1 -1
  17. package/console-app/assets/{chunk-NSK5VX7P-BB0gp55h.js → chunk-NSK5VX7P-0jZVLBhi.js} +1 -1
  18. package/console-app/assets/{chunk-QR6OTTB3-BhAzJcX6.js → chunk-QR6OTTB3-BurXFOtV.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-BaRFYCcu.js → chunk-RYQCIY6F-C4zacxhH.js} +1 -1
  20. package/console-app/assets/{chunk-UBXNYLIW-DN_ayb-W.js → chunk-UBXNYLIW-7RthekQ-.js} +1 -1
  21. package/console-app/assets/{chunk-W5SLKNZC-DQ0C1K0m.js → chunk-W5SLKNZC-rq3UcMTy.js} +1 -1
  22. package/console-app/assets/{chunk-WRU74C26-Dej4aDDK.js → chunk-WRU74C26-DUX-oZjQ.js} +1 -1
  23. package/console-app/assets/chunk-XXDRQBXY-gIL1rRSY.js +1 -0
  24. package/console-app/assets/classDiagram-JCYQIIEL-BwV1w5At.js +1 -0
  25. package/console-app/assets/classDiagram-v2-OCEON4UE-BwV1w5At.js +1 -0
  26. package/console-app/assets/{cose-bilkent-JH36ORCC-CaCBDIGn.js → cose-bilkent-JH36ORCC-DZn35HFs.js} +1 -1
  27. package/console-app/assets/{cynefin-VYW2F7L2-DvNj3Ktd.js → cynefin-VYW2F7L2-mZlOMKNi.js} +1 -1
  28. package/console-app/assets/{cynefinDiagram-MW4NZA55-2M1I4KVc.js → cynefinDiagram-MW4NZA55-uUAfUoag.js} +1 -1
  29. package/console-app/assets/{dagre-BX6AcUT6.js → dagre-DfTmIhGN.js} +1 -1
  30. package/console-app/assets/{dagre-VZM6K2ZE-CeiMExQ0.js → dagre-VZM6K2ZE-7oTddCss.js} +1 -1
  31. package/console-app/assets/{diagram-7IWD3JNH-DFb1QCit.js → diagram-7IWD3JNH-D6TR4TlN.js} +1 -1
  32. package/console-app/assets/{diagram-B4RE2ZJO-CcmxcWm0.js → diagram-B4RE2ZJO-BZwUFLzC.js} +1 -1
  33. package/console-app/assets/{diagram-LBJQPF4R-DpxWXRoq.js → diagram-LBJQPF4R-B4Ug2xRo.js} +1 -1
  34. package/console-app/assets/{diagram-Q27KOJAE-Cu_MNubg.js → diagram-Q27KOJAE-Fpr_Cahs.js} +1 -1
  35. package/console-app/assets/{diagram-UB23O5K3-B-R4JZVn.js → diagram-UB23O5K3-d0X7PA-5.js} +1 -1
  36. package/console-app/assets/{ebnfDiagram-BXEA7PRR-C26G-5vz.js → ebnfDiagram-BXEA7PRR-DExP954c.js} +1 -1
  37. package/console-app/assets/{erDiagram-JOGREHBK-DJaz9wds.js → erDiagram-JOGREHBK-WdnXmG8f.js} +1 -1
  38. package/console-app/assets/eventmodeling-45OFAUF4-DXnDrAdV.js +1 -0
  39. package/console-app/assets/flowDiagram-UKHOOZJN-UixAvy5Z.js +1 -0
  40. package/console-app/assets/{ganttDiagram-PKOTCBZU-BmHvLxmw.js → ganttDiagram-PKOTCBZU-ADJHCyvl.js} +1 -1
  41. package/console-app/assets/{gitGraph-TEB2WS4Q-gjOfZX1j.js → gitGraph-TEB2WS4Q-BPcXt1vK.js} +1 -1
  42. package/console-app/assets/{gitGraphDiagram-DS77QQ5N-Cn2aQfgw.js → gitGraphDiagram-DS77QQ5N-DFhenfUX.js} +1 -1
  43. package/console-app/assets/{index-Cx39I_BR.js → index-BwP6EcJr.js} +3 -3
  44. package/console-app/assets/{info-DKCQHKI2-Dxvvr3Du.js → info-DKCQHKI2-BsE7egna.js} +1 -1
  45. package/console-app/assets/{infoDiagram-6WML65LV-CU2DYprj.js → infoDiagram-6WML65LV-BmVqXMw0.js} +1 -1
  46. package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CEIhGAXe.js → ishikawaDiagram-WSZJBQD7-CdFTPIY5.js} +1 -1
  47. package/console-app/assets/{journeyDiagram-NVQOT4AX-vDLEtm6u.js → journeyDiagram-NVQOT4AX-DC8CKdJk.js} +1 -1
  48. package/console-app/assets/{kanban-definition-27J2QSJJ-rfZdVBY0.js → kanban-definition-27J2QSJJ-Bo7kRcLN.js} +1 -1
  49. package/console-app/assets/{line-CK7XHoXo.js → line-5nUqh22u.js} +1 -1
  50. package/console-app/assets/{linear-DeA9Np_F.js → linear-82KoPtTH.js} +1 -1
  51. package/console-app/assets/{mermaid-parser.core-Bkwm3osM.js → mermaid-parser.core-R240ylPw.js} +3 -3
  52. package/console-app/assets/{mermaid.core-DvVwOMEV.js → mermaid.core-BZ3jSM6D.js} +4 -4
  53. package/console-app/assets/{mindmap-definition-FAOFIHXS-DYMAQz7X.js → mindmap-definition-FAOFIHXS-x1K54VeO.js} +1 -1
  54. package/console-app/assets/{packet-7NZHBO7P-CtoDJZ2L.js → packet-7NZHBO7P-CE2Lun0t.js} +1 -1
  55. package/console-app/assets/{pegDiagram-VL7TDLO6-BRxy7Znf.js → pegDiagram-VL7TDLO6-CpGZYdUz.js} +1 -1
  56. package/console-app/assets/{pie-RZYD4A2V-NEqmtqwU.js → pie-RZYD4A2V-Hf5MOyY8.js} +1 -1
  57. package/console-app/assets/{pieDiagram-7S7Q4E2Y-eekm9APm.js → pieDiagram-7S7Q4E2Y-0J5H7r7g.js} +1 -1
  58. package/console-app/assets/{quadrantDiagram-CIZ2JOQS-BSew_APH.js → quadrantDiagram-CIZ2JOQS-DWtYi8O-.js} +1 -1
  59. package/console-app/assets/{radar-I7S5WNFK-BgvnQqhv.js → radar-I7S5WNFK-BgtvrX4w.js} +1 -1
  60. package/console-app/assets/{railroad-3IZDKUUU-DqG1o6ll.js → railroad-3IZDKUUU-CeR0NhLL.js} +1 -1
  61. package/console-app/assets/railroad-abnf-AHOZXSZD-BEVU16-y.js +1 -0
  62. package/console-app/assets/railroad-ebnf-EBAXGLYW-WT4rrGXf.js +1 -0
  63. package/console-app/assets/railroad-peg-LSFZ7HO6-BnObCMjn.js +1 -0
  64. package/console-app/assets/{railroadDiagram-AXF67PYL-Rb5V_7ZT.js → railroadDiagram-AXF67PYL-CUIn_gPf.js} +1 -1
  65. package/console-app/assets/{requirementDiagram-LRYGKXZP-BONrWtQh.js → requirementDiagram-LRYGKXZP-Ds9Aqcts.js} +1 -1
  66. package/console-app/assets/{sankeyDiagram-W5VNT64P-CUPWhFm-.js → sankeyDiagram-W5VNT64P-CKhuya4d.js} +1 -1
  67. package/console-app/assets/{sequenceDiagram-SI44F4Z6-DXwluQXT.js → sequenceDiagram-SI44F4Z6-DKgOmdzz.js} +1 -1
  68. package/console-app/assets/{src-CyNQB37R.js → src-DwHVY--Z.js} +1 -1
  69. package/console-app/assets/{stateDiagram-OKZ733FA-DXopCa6U.js → stateDiagram-OKZ733FA-CPIfaZie.js} +1 -1
  70. package/console-app/assets/stateDiagram-v2-UEYNNEHI-DHcCmJ1C.js +1 -0
  71. package/console-app/assets/{swimlanes-SLNWSIFB-C_oImvSp.js → swimlanes-SLNWSIFB-8q3lK4RS.js} +1 -1
  72. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-B1uT0NiL.js +8 -0
  73. package/console-app/assets/{timeline-definition-Z64GVDOM-BEx4FmJK.js → timeline-definition-Z64GVDOM-CHHi2Rpq.js} +1 -1
  74. package/console-app/assets/{treeView-QDETBFTQ-DIQFLe_6.js → treeView-QDETBFTQ-DrLHlsII.js} +1 -1
  75. package/console-app/assets/{treemap-6X3UGDF4-Dz8_vGjV.js → treemap-6X3UGDF4-C3saYKuK.js} +1 -1
  76. package/console-app/assets/{vennDiagram-T6HMQDX7-_sMSuxYe.js → vennDiagram-T6HMQDX7-CdyzNiAu.js} +1 -1
  77. package/console-app/assets/{wardley-OPB4EBWU-BkFD9f0r.js → wardley-OPB4EBWU-BSrymyse.js} +1 -1
  78. package/console-app/assets/{wardleyDiagram-T6FBY63Y-DhqBDV2O.js → wardleyDiagram-T6FBY63Y-CCW6rhEo.js} +1 -1
  79. package/console-app/assets/{xychartDiagram-ELKLHX3M-D8Jav5f0.js → xychartDiagram-ELKLHX3M-BQvPaxzg.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 +1 -1
  160. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  161. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  162. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  163. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  164. package/dist/.pikku/scheduler/index.d.ts +1 -1
  165. package/dist/.pikku/scheduler/index.js +1 -1
  166. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  167. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  168. package/dist/.pikku/schemas/register.gen.js +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/validate.function.js +22 -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/variable-value.d.ts +15 -0
  217. package/dist/src/fabric/lib/variable-value.js +22 -0
  218. package/dist/src/functions/wirings/agent/serialize-public-agent.js +7 -19
  219. package/dist/src/functions/wirings/console/serialize-console-functions.js +3 -12
  220. package/dist/src/functions/wirings/emails/serialize-emails.d.ts +10 -0
  221. package/dist/src/functions/wirings/emails/serialize-emails.js +30 -173
  222. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +158 -438
  223. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +7 -7
  224. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +11 -148
  225. package/dist/src/utils/pikku-cli-config.d.ts +18 -0
  226. package/dist/src/utils/pikku-cli-config.js +39 -0
  227. package/dist/tsconfig.tsbuildinfo +1 -1
  228. package/package.json +6 -6
  229. package/surface.json +1 -1
  230. package/console-app/assets/architecture-TIHT7OUA-i2kvkWiG.js +0 -1
  231. package/console-app/assets/channel-BjjIBjrV.js +0 -1
  232. package/console-app/assets/chunk-XXDRQBXY-COHoQA_g.js +0 -1
  233. package/console-app/assets/classDiagram-JCYQIIEL-BkQzFYJq.js +0 -1
  234. package/console-app/assets/classDiagram-v2-OCEON4UE-BkQzFYJq.js +0 -1
  235. package/console-app/assets/eventmodeling-45OFAUF4-Cge15uFd.js +0 -1
  236. package/console-app/assets/flowDiagram-UKHOOZJN-DN8OJeAP.js +0 -1
  237. package/console-app/assets/railroad-abnf-AHOZXSZD-DQHwBMhW.js +0 -1
  238. package/console-app/assets/railroad-ebnf-EBAXGLYW-cu_kDg2r.js +0 -1
  239. package/console-app/assets/railroad-peg-LSFZ7HO6-CJh8d3dM.js +0 -1
  240. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BCi_SQzZ.js +0 -1
  241. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-C01TBFdM.js +0 -8
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file was generated by @pikku/cli@0.12.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120
2
+ * This file was generated by @pikku/cli@0.12.122
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.120') {
15
- process.stderr.write(`\n Update available 0.12.120 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
14
+ if (latest !== '0.12.122') {
15
+ process.stderr.write(`\n Update available 0.12.122 → ${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',
@@ -1143,10 +1143,30 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
1143
1143
  if (!ent.isDirectory())
1144
1144
  continue;
1145
1145
  const appPath = join(appsRoot, ent.name);
1146
- const settings = await readJsonSafe(join(appPath, 'project.inlang', 'settings.json'));
1146
+ const settingsPath = join(appPath, 'project.inlang', 'settings.json');
1147
+ const settings = await readJsonSafe(settingsPath);
1147
1148
  if (!settings)
1148
1149
  continue;
1149
- const catalogue = await readJsonSafe(join(appPath, 'messages', `${settings.baseLocale ?? 'en'}.json`));
1150
+ // `baseLocale` names the message SOURCE — the catalogue every other
1151
+ // locale is cloned from and translated against — not the language the
1152
+ // app is served in. Pointing it at the product's language looks right,
1153
+ // because the app does come up in that language, and quietly makes the
1154
+ // project single-language forever: there is no en.json to add a locale
1155
+ // from, and repointing it later re-authors every key. The setting that
1156
+ // decides what a first-time visitor opens in is active.json's
1157
+ // defaultLocale, which is a separate file for exactly this reason.
1158
+ const baseLocale = settings.baseLocale ?? 'en';
1159
+ if (baseLocale !== 'en') {
1160
+ const declared = Array.isArray(settings.locales)
1161
+ ? settings.locales.filter((l) => typeof l === 'string')
1162
+ : [];
1163
+ w(`app-base-locale-not-english-${ent.name}`, `apps/${ent.name}/project.inlang/settings.json sets baseLocale to "${baseLocale}" — that names the message source, not the language the app is served in, so this app has no English catalogue to add a second language from`, settingsPath, lines('Serving the app in a language is a different setting from authoring the messages in one:', ` 1. settings.json: { "baseLocale": "en", "locales": ["en", "${baseLocale}"] }`, ` 2. src/i18n/active.json: { "defaultLocale": "${baseLocale}" } (or: fabric i18n --default-locale ${baseLocale})`, `Keys and their English values stay in messages/en.json; messages/${baseLocale}.json holds the ${baseLocale} values.`, ...(declared.length && !declared.includes('en')
1164
+ ? [
1165
+ `Note this is a re-key, not a rename: messages/${baseLocale}.json is currently the source, so its keys have to survive the move.`,
1166
+ ]
1167
+ : []), 'Identifiers are unaffected either way — functions, components, types, tables and columns are English in every project.'));
1168
+ }
1169
+ const catalogue = await readJsonSafe(join(appPath, 'messages', `${baseLocale}.json`));
1150
1170
  if (!catalogue)
1151
1171
  continue;
1152
1172
  for (const [key, value] of Object.entries(catalogue)) {
@@ -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
+ });
@@ -0,0 +1,15 @@
1
+ /**
2
+ * How a `--value` typed at a shell prompt becomes the value a running stage sees.
3
+ *
4
+ * `setStageConsoleVariable` takes `unknown`, so the choice of what to store is
5
+ * the CLI's to make, and the only defensible answer is whatever
6
+ * `LocalVariablesService` would have produced from the same text in a `.env`
7
+ * file. That service reads `JSON.parse(raw)` and falls back to the raw string
8
+ * when the parse throws, so this does the same.
9
+ *
10
+ * The alternative — store every value as a string — is what makes a variable
11
+ * behave differently in a deploy than it does locally, and the failure it causes
12
+ * is silent: `DEMO_ACCESS=true` compared against the boolean `true` is simply
13
+ * false, and the feature it gates stays off with nothing in the log to say why.
14
+ */
15
+ export declare const parseVariableValue: (raw: string) => unknown;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * How a `--value` typed at a shell prompt becomes the value a running stage sees.
3
+ *
4
+ * `setStageConsoleVariable` takes `unknown`, so the choice of what to store is
5
+ * the CLI's to make, and the only defensible answer is whatever
6
+ * `LocalVariablesService` would have produced from the same text in a `.env`
7
+ * file. That service reads `JSON.parse(raw)` and falls back to the raw string
8
+ * when the parse throws, so this does the same.
9
+ *
10
+ * The alternative — store every value as a string — is what makes a variable
11
+ * behave differently in a deploy than it does locally, and the failure it causes
12
+ * is silent: `DEMO_ACCESS=true` compared against the boolean `true` is simply
13
+ * false, and the feature it gates stays off with nothing in the log to say why.
14
+ */
15
+ export const parseVariableValue = (raw) => {
16
+ try {
17
+ return JSON.parse(raw);
18
+ }
19
+ catch {
20
+ return raw;
21
+ }
22
+ };