@pikku/cli 0.12.120 → 0.12.121

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 (225) hide show
  1. package/CHANGELOG.md +192 -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 +1 -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-types.gen.d.ts +1 -1
  105. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  106. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
  107. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  108. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  109. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  110. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  111. package/dist/.pikku/error/index.d.ts +1 -1
  112. package/dist/.pikku/error/index.js +1 -1
  113. package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
  114. package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
  115. package/dist/.pikku/function/index.d.ts +1 -1
  116. package/dist/.pikku/function/index.js +1 -1
  117. package/dist/.pikku/function/pikku-function-types.gen.d.ts +1 -1
  118. package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
  119. package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
  120. package/dist/.pikku/function/pikku-functions-meta.gen.json +1 -1
  121. package/dist/.pikku/function/pikku-functions.gen.js +1 -1
  122. package/dist/.pikku/gateway/index.d.ts +1 -1
  123. package/dist/.pikku/gateway/index.js +1 -1
  124. package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
  125. package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
  126. package/dist/.pikku/http/index.d.ts +1 -1
  127. package/dist/.pikku/http/index.js +1 -1
  128. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  129. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  130. package/dist/.pikku/mcp/index.d.ts +1 -1
  131. package/dist/.pikku/mcp/index.js +1 -1
  132. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  133. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  134. package/dist/.pikku/middleware/index.d.ts +1 -1
  135. package/dist/.pikku/middleware/index.js +1 -1
  136. package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
  137. package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
  138. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  139. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  140. package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
  141. package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
  142. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  143. package/dist/.pikku/queue/index.d.ts +1 -1
  144. package/dist/.pikku/queue/index.js +1 -1
  145. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  146. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  147. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
  148. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  149. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  150. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
  151. package/dist/.pikku/scenarios/index.d.ts +1 -1
  152. package/dist/.pikku/scenarios/index.js +1 -1
  153. package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
  154. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
  155. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  156. package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
  157. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
  158. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  159. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  160. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  161. package/dist/.pikku/scheduler/index.d.ts +1 -1
  162. package/dist/.pikku/scheduler/index.js +1 -1
  163. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  164. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  165. package/dist/.pikku/schemas/register.gen.js +1 -1
  166. package/dist/.pikku/scopes/index.d.ts +1 -1
  167. package/dist/.pikku/scopes/index.js +1 -1
  168. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  169. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  170. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  171. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  172. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  173. package/dist/.pikku/secrets/index.d.ts +1 -1
  174. package/dist/.pikku/secrets/index.js +1 -1
  175. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  176. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  177. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  178. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  179. package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
  180. package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
  181. package/dist/.pikku/setup/index.d.ts +1 -1
  182. package/dist/.pikku/setup/index.js +1 -1
  183. package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
  184. package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
  185. package/dist/.pikku/trigger/index.d.ts +1 -1
  186. package/dist/.pikku/trigger/index.js +1 -1
  187. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  188. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  189. package/dist/.pikku/variables/index.d.ts +1 -1
  190. package/dist/.pikku/variables/index.js +1 -1
  191. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  192. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  193. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  194. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  195. package/dist/.pikku/workflow/index.d.ts +1 -1
  196. package/dist/.pikku/workflow/index.js +1 -1
  197. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
  198. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  199. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
  200. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  201. package/dist/bin/pikku-bin.mjs +2 -2
  202. package/dist/src/fabric/functions/validate.function.js +22 -2
  203. package/dist/src/functions/wirings/agent/serialize-public-agent.js +7 -19
  204. package/dist/src/functions/wirings/console/serialize-console-functions.js +3 -12
  205. package/dist/src/functions/wirings/emails/serialize-emails.d.ts +10 -0
  206. package/dist/src/functions/wirings/emails/serialize-emails.js +30 -173
  207. package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +158 -438
  208. package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +7 -7
  209. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +11 -148
  210. package/dist/src/utils/pikku-cli-config.d.ts +18 -0
  211. package/dist/src/utils/pikku-cli-config.js +39 -0
  212. package/package.json +6 -6
  213. package/surface.json +1 -1
  214. package/console-app/assets/architecture-TIHT7OUA-i2kvkWiG.js +0 -1
  215. package/console-app/assets/channel-BjjIBjrV.js +0 -1
  216. package/console-app/assets/chunk-XXDRQBXY-COHoQA_g.js +0 -1
  217. package/console-app/assets/classDiagram-JCYQIIEL-BkQzFYJq.js +0 -1
  218. package/console-app/assets/classDiagram-v2-OCEON4UE-BkQzFYJq.js +0 -1
  219. package/console-app/assets/eventmodeling-45OFAUF4-Cge15uFd.js +0 -1
  220. package/console-app/assets/flowDiagram-UKHOOZJN-DN8OJeAP.js +0 -1
  221. package/console-app/assets/railroad-abnf-AHOZXSZD-DQHwBMhW.js +0 -1
  222. package/console-app/assets/railroad-ebnf-EBAXGLYW-cu_kDg2r.js +0 -1
  223. package/console-app/assets/railroad-peg-LSFZ7HO6-CJh8d3dM.js +0 -1
  224. package/console-app/assets/stateDiagram-v2-UEYNNEHI-BCi_SQzZ.js +0 -1
  225. package/console-app/assets/swimlanesDiagram-ULZ7WXOC-C01TBFdM.js +0 -8
@@ -1,5 +1,5 @@
1
1
  import { pikkuSessionlessFunc } from '#pikku/function';
2
- import { ErrorCode } from '@pikku/inspector';
2
+ import { ErrorCode, resolveCoreType } from '@pikku/inspector';
3
3
  import { writeFileInDir } from '../../../utils/file-writer.js';
4
4
  import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
5
5
  import { serializeWorkflowTypes } from './serialize-workflow-types.js';
@@ -42,14 +42,14 @@ export const pikkuWorkflow = pikkuSessionlessFunc({
42
42
  // deployed server.
43
43
  const { appNames, scenarioNames, appFiles, scenarioFiles } = partitionScenarioWorkflows(allWorkflowNames, workflows.files, workflows.graphMeta);
44
44
  if (hasWorkflows) {
45
+ const fallbackType = visitState.typesLookup
46
+ ? resolveCoreType(visitState.typesLookup, visitState.singletonServicesTypeImportMap)
47
+ : undefined;
45
48
  const singletonServices = visitState.serviceAggregation.allSingletonServices.length > 0
46
49
  ? visitState.serviceAggregation.allSingletonServices
47
- : visitState.typesLookup?.get('SingletonServices')?.[0]
48
- ? visitState.typesLookup
49
- .get('SingletonServices')[0]
50
- .getProperties()
51
- .map((symbol) => symbol.getName())
52
- : [];
50
+ : (fallbackType
51
+ ?.getProperties()
52
+ .map((symbol) => symbol.getName()) ?? []);
53
53
  const hasWorkflowState = singletonServices.includes('workflowService');
54
54
  if (!hasWorkflowState) {
55
55
  logger.critical(ErrorCode.WORKFLOW_ORCHESTRATOR_NOT_CONFIGURED, 'Workflows detected but workflowService service not configured. Please add workflowService to your singleton services');
@@ -36,7 +36,10 @@ export const Acknowledged = z.object({ ok: z.literal(true) })
36
36
  import { pikkuSessionlessFunc } from '${leaf('function')}'
37
37
  import { wireHTTPRoutes } from '${leaf('http')}'
38
38
  import { MissingServiceError } from '@pikku/core/errors'
39
- import { assertWorkflowRunOwner } from '@pikku/core/workflow'
39
+ import {
40
+ assertWorkflowRunOwner,
41
+ streamWorkflowRunStatus,
42
+ } from '@pikku/core/workflow'
40
43
  import {
41
44
  WorkflowStart,
42
45
  WorkflowRunRef,
@@ -103,78 +106,7 @@ export const workflowStatusStream = pikkuSessionlessFunc({
103
106
  func: async ({ workflowRunService }, { runId }, { channel, session }) => {
104
107
  assertWorkflowRunService(workflowRunService)
105
108
  if (!channel) return
106
-
107
- const terminalStatuses = new Set(['completed', 'failed', 'cancelled'])
108
- let lastHash = ''
109
- let initSent = false
110
-
111
- const poll = async () => {
112
- const run = await workflowRunService.getRun(runId)
113
- if (!run) {
114
- channel.close()
115
- return false
116
- }
117
- assertWorkflowRunOwner(run.wire, session)
118
-
119
- const steps = await workflowRunService.getRunSteps(runId)
120
-
121
- if (!initSent && run.deterministic) {
122
- const statusByStep = new Map(
123
- steps.map((s: { stepName: string; status: string }) => [
124
- s.stepName,
125
- s.status,
126
- ])
127
- )
128
- channel.send({
129
- type: 'init',
130
- deterministic: true,
131
- steps: (run.plannedSteps ?? []).map(
132
- (s: { stepName: string }) => ({
133
- stepName: s.stepName,
134
- status: statusByStep.get(s.stepName) ?? 'pending',
135
- })
136
- ),
137
- })
138
- initSent = true
139
- }
140
-
141
- const hash = JSON.stringify({
142
- s: run.status,
143
- steps: steps.map((s: { stepName: string; status: string }) => [s.stepName, s.status]),
144
- })
145
-
146
- if (hash !== lastHash) {
147
- lastHash = hash
148
- channel.send({
149
- type: 'update',
150
- status: run.status,
151
- steps: steps.map((s: { stepName: string; status: string }) => ({
152
- stepName: s.stepName,
153
- status: s.status,
154
- })),
155
- })
156
- }
157
-
158
- if (terminalStatuses.has(run.status)) {
159
- channel.send({ type: 'done' })
160
- channel.close()
161
- return false
162
- }
163
- return true
164
- }
165
-
166
- const shouldContinue = await poll()
167
- if (!shouldContinue) return
168
-
169
- await new Promise<void>((resolve) => {
170
- const interval = setInterval(async () => {
171
- const cont = await poll()
172
- if (!cont) {
173
- clearInterval(interval)
174
- resolve()
175
- }
176
- }, 500)
177
- })
109
+ await streamWorkflowRunStatus({ workflowRunService, runId, channel, session })
178
110
  },
179
111
  })
180
112
 
@@ -189,81 +121,12 @@ export const workflowStatusStreamFull = pikkuSessionlessFunc({
189
121
  func: async ({ workflowRunService }, { runId }, { channel, session }) => {
190
122
  assertWorkflowRunService(workflowRunService)
191
123
  if (!channel) return
192
-
193
- const terminalStatuses = new Set(['completed', 'failed', 'cancelled'])
194
- let lastHash = ''
195
- let initSent = false
196
-
197
- const poll = async () => {
198
- const run = await workflowRunService.getRun(runId)
199
- if (!run) {
200
- channel.close()
201
- return false
202
- }
203
- assertWorkflowRunOwner(run.wire, session)
204
-
205
- const steps = await workflowRunService.getRunSteps(runId)
206
-
207
- if (!initSent && run.deterministic) {
208
- const statusByStep = new Map(
209
- steps.map((s: { stepName: string; status: string }) => [
210
- s.stepName,
211
- s.status,
212
- ])
213
- )
214
- channel.send({
215
- type: 'init',
216
- deterministic: true,
217
- steps: (run.plannedSteps ?? []).map(
218
- (s: { stepName: string }) => ({
219
- stepName: s.stepName,
220
- status: statusByStep.get(s.stepName) ?? 'pending',
221
- })
222
- ),
223
- })
224
- initSent = true
225
- }
226
-
227
- const hash = JSON.stringify({
228
- s: run.status,
229
- o: run.output,
230
- steps: steps.map((s: { stepName: string; status: string }) => [s.stepName, s.status]),
231
- })
232
-
233
- if (hash !== lastHash) {
234
- lastHash = hash
235
- channel.send({
236
- type: 'update',
237
- status: run.status,
238
- output: run.output,
239
- error: run.error,
240
- steps: steps.map((s: { stepName: string; status: string; childRunId?: string }) => ({
241
- stepName: s.stepName,
242
- status: s.status,
243
- ...(s.childRunId ? { childRunId: s.childRunId } : {}),
244
- })),
245
- })
246
- }
247
-
248
- if (terminalStatuses.has(run.status)) {
249
- channel.send({ type: 'done' })
250
- channel.close()
251
- return false
252
- }
253
- return true
254
- }
255
-
256
- const shouldContinue = await poll()
257
- if (!shouldContinue) return
258
-
259
- await new Promise<void>((resolve) => {
260
- const interval = setInterval(async () => {
261
- const cont = await poll()
262
- if (!cont) {
263
- clearInterval(interval)
264
- resolve()
265
- }
266
- }, 500)
124
+ await streamWorkflowRunStatus({
125
+ workflowRunService,
126
+ runId,
127
+ channel,
128
+ session,
129
+ detailed: true,
267
130
  })
268
131
  },
269
132
  })
@@ -25,4 +25,22 @@ export { PikkuCLIConfigError };
25
25
  * bundle. Nothing downstream can detect it, so it is rejected here.
26
26
  */
27
27
  export declare const assertSchemaDirectoriesAreDistinct: (config: Pick<PikkuCLIConfig, "schemaDirectory" | "scenarioSchemaDirectory">) => void;
28
+ /**
29
+ * The `locale` a project gets when its config does not name one.
30
+ *
31
+ * English, and it stays English for almost every project — the field changes
32
+ * what the Console reads back to a human, not who the product is for.
33
+ */
34
+ export declare const DEFAULT_LOCALE = "en";
35
+ /**
36
+ * `locale` is handed on to codegen and the Console as a language tag, so a
37
+ * value they cannot interpret is worse than none: it degrades quietly to "some
38
+ * language" a long way from the line that is wrong. `Intl.getCanonicalLocales`
39
+ * is the BCP-47 grammar Node already ships, and it catches the mistake people
40
+ * actually make — `de_DE` with a POSIX underscore where BCP-47 wants `de-DE`.
41
+ *
42
+ * It returns the canonical spelling rather than what was typed, so `EN-gb` and
43
+ * `en-GB` are one value downstream instead of two that never compare equal.
44
+ */
45
+ export declare const normalizeLocale: (locale: unknown) => string;
28
46
  export declare const validateCLIConfig: (cliConfig: PikkuCLIConfig, required: Array<keyof PikkuCLIConfig>) => void;
@@ -80,6 +80,44 @@ export const assertSchemaDirectoriesAreDistinct = (config) => {
80
80
  throw new PikkuCLIConfigError(`scenarioSchemaDirectory must not be the same directory as schemaDirectory (both resolve to ${resolve(schemaDirectory)}). Scenario schemas are written with their own register, which would replace the application one.`);
81
81
  }
82
82
  };
83
+ /**
84
+ * The `locale` a project gets when its config does not name one.
85
+ *
86
+ * English, and it stays English for almost every project — the field changes
87
+ * what the Console reads back to a human, not who the product is for.
88
+ */
89
+ export const DEFAULT_LOCALE = 'en';
90
+ /**
91
+ * `locale` is handed on to codegen and the Console as a language tag, so a
92
+ * value they cannot interpret is worse than none: it degrades quietly to "some
93
+ * language" a long way from the line that is wrong. `Intl.getCanonicalLocales`
94
+ * is the BCP-47 grammar Node already ships, and it catches the mistake people
95
+ * actually make — `de_DE` with a POSIX underscore where BCP-47 wants `de-DE`.
96
+ *
97
+ * It returns the canonical spelling rather than what was typed, so `EN-gb` and
98
+ * `en-GB` are one value downstream instead of two that never compare equal.
99
+ */
100
+ export const normalizeLocale = (locale) => {
101
+ if (locale === undefined || locale === null) {
102
+ return DEFAULT_LOCALE;
103
+ }
104
+ if (typeof locale === 'string') {
105
+ try {
106
+ const [canonical] = Intl.getCanonicalLocales(locale.trim());
107
+ if (canonical) {
108
+ return canonical;
109
+ }
110
+ }
111
+ catch {
112
+ // Falls through to the shared error below — the reader needs the same
113
+ // explanation whether the tag was malformed or the wrong type entirely.
114
+ }
115
+ }
116
+ throw new PikkuCLIConfigError(`locale in pikku.config.json is not a language tag: ${JSON.stringify(locale)}. ` +
117
+ `Use a BCP-47 code — "en", "de", "pt-BR" — with a hyphen rather than an underscore. ` +
118
+ `It sets the language of the meta the Console renders back to your team (function and step descriptions, feature and scenario names). ` +
119
+ `Identifiers stay English regardless, and the language the app speaks to its users is defaultLocale in active.json, not this.`);
120
+ };
83
121
  const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields, exitProcess = false, outDirOverride) => {
84
122
  if (!configFile) {
85
123
  configFile = await findConfigFile();
@@ -714,6 +752,7 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
714
752
  if (!isAbsolute(result.tsconfig)) {
715
753
  result.tsconfig = join(result.rootDir, result.tsconfig);
716
754
  }
755
+ result.locale = normalizeLocale(result.locale);
717
756
  assertSchemaDirectoriesAreDistinct(result);
718
757
  if (result.addon) {
719
758
  const packageJsonPath = join(result.rootDir, 'package.json');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/cli",
3
- "version": "0.12.120",
3
+ "version": "0.12.121",
4
4
  "description": "Pikku CLI — code generation, dev server, migrations and deployment",
5
5
  "author": "yasser.fadl@gmail.com",
6
6
  "license": "BUSL-1.1",
@@ -31,20 +31,20 @@
31
31
  "@jridgewell/trace-mapping": "^0.3.31",
32
32
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.3.4",
33
33
  "@pikku/ai-vercel": "^0.12.13",
34
- "@pikku/better-auth": "^0.12.30",
34
+ "@pikku/better-auth": "^0.12.31",
35
35
  "@pikku/bun-server": "^0.12.9",
36
36
  "@pikku/code-edit": "^0.12.1",
37
37
  "@pikku/deploy": "^0.12.1",
38
38
  "@pikku/deploy-cloudflare": "^0.12.13",
39
39
  "@pikku/fetch": "^0.12.9",
40
- "@pikku/inspector": "^0.12.64",
40
+ "@pikku/inspector": "^0.12.65",
41
41
  "@pikku/knowledge": "^0.12.7",
42
42
  "@pikku/kysely": "^0.13.22",
43
43
  "@pikku/n8n-import": "^0.0.7",
44
44
  "@pikku/node-http-server": "^0.12.11",
45
45
  "@pikku/openapi-parser": "^0.12.20",
46
46
  "@pikku/schedule": "^0.12.7",
47
- "@pikku/skills": "^0.12.16",
47
+ "@pikku/skills": "^0.12.17",
48
48
  "@types/cookie": "^1.0.0",
49
49
  "@types/json-schema": "^7.0.15",
50
50
  "ai": "^7.0.66",
@@ -67,14 +67,14 @@
67
67
  "zod-to-ts": "^2.1.0"
68
68
  },
69
69
  "peerDependencies": {
70
- "@pikku/core": "^0.12.94",
70
+ "@pikku/core": "^0.12.95",
71
71
  "@pikku/playwright": "^0.12.79",
72
72
  "@pikku/ws": "^0.12.9",
73
73
  "better-auth": "^1.6.0",
74
74
  "ws": "^8.21.3"
75
75
  },
76
76
  "devDependencies": {
77
- "@pikku/core": "^0.12.94",
77
+ "@pikku/core": "^0.12.95",
78
78
  "@pikku/playwright": "^0.12.79",
79
79
  "@pikku/ws": "^0.12.9",
80
80
  "@playwright/test": "^1.50.0",
package/surface.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.12.120",
2
+ "version": "0.12.121",
3
3
  "entryPoints": [
4
4
  {
5
5
  "id": "app",
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-BICK3FdT.js";import{M as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createArchitectureServices};
@@ -1 +0,0 @@
1
- import{at as e,ot as t}from"./chunk-I66GZJ75-CE6Jk-ML.js";var n=(n,r)=>t.lang.round(e.parse(n)[r]);export{n as t};
@@ -1 +0,0 @@
1
- import{p as e}from"./index-Cx39I_BR.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CyNQB37R.js";var n=t((t,n)=>{let r;return n===`sandbox`&&(r=e(`#i`+t)),e(n===`sandbox`?r.nodes()[0].contentDocument.body:`body`).select(`[id="${t}"]`)},`getDiagramElement`);export{n as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import"./chunk-NSK5VX7P-BB0gp55h.js";import"./chunk-4I5QYGJK-Bf8ARw9p.js";import"./chunk-WRU74C26-Dej4aDDK.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-DN_ayb-W.js";import"./chunk-2GRJ4B5K-CU6Szqvt.js";import"./chunk-XXDRQBXY-COHoQA_g.js";import"./chunk-KBJHAD2P-DdHZUbE2.js";import"./chunk-W5SLKNZC-DQ0C1K0m.js";import"./chunk-QR6OTTB3-BhAzJcX6.js";import"./chunk-7Z6QIM7H-YJMK1J3W.js";import{i as t,n,r,t as i}from"./chunk-GF5L2VYU-Co4slpk_.js";import"./mermaid.core-DvVwOMEV.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import"./chunk-NSK5VX7P-BB0gp55h.js";import"./chunk-4I5QYGJK-Bf8ARw9p.js";import"./chunk-WRU74C26-Dej4aDDK.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-DN_ayb-W.js";import"./chunk-2GRJ4B5K-CU6Szqvt.js";import"./chunk-XXDRQBXY-COHoQA_g.js";import"./chunk-KBJHAD2P-DdHZUbE2.js";import"./chunk-W5SLKNZC-DQ0C1K0m.js";import"./chunk-QR6OTTB3-BhAzJcX6.js";import"./chunk-7Z6QIM7H-YJMK1J3W.js";import{i as t,n,r,t as i}from"./chunk-GF5L2VYU-Co4slpk_.js";import"./mermaid.core-DvVwOMEV.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-BICK3FdT.js";import{O as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createEventModelingServices};
@@ -1 +0,0 @@
1
- import"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import"./chunk-NSK5VX7P-BB0gp55h.js";import"./chunk-4I5QYGJK-Bf8ARw9p.js";import"./chunk-WRU74C26-Dej4aDDK.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-DN_ayb-W.js";import"./chunk-2GRJ4B5K-CU6Szqvt.js";import"./chunk-XXDRQBXY-COHoQA_g.js";import"./chunk-KBJHAD2P-DdHZUbE2.js";import"./chunk-W5SLKNZC-DQ0C1K0m.js";import"./chunk-QR6OTTB3-BhAzJcX6.js";import"./chunk-7Z6QIM7H-YJMK1J3W.js";import{n as e}from"./chunk-JQJVKLGR-BjkITZJq.js";import"./mermaid.core-DvVwOMEV.js";export{e as diagram};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-BICK3FdT.js";import{m as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createRailroadAbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-BICK3FdT.js";import{f as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createRailroadEbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-BICK3FdT.js";import{u as e}from"./mermaid-parser.core-Bkwm3osM.js";export{e as createRailroadPegServices};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import"./chunk-NSK5VX7P-BB0gp55h.js";import"./chunk-4I5QYGJK-Bf8ARw9p.js";import"./chunk-WRU74C26-Dej4aDDK.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-DN_ayb-W.js";import"./chunk-2GRJ4B5K-CU6Szqvt.js";import"./chunk-XXDRQBXY-COHoQA_g.js";import"./chunk-KBJHAD2P-DdHZUbE2.js";import"./chunk-W5SLKNZC-DQ0C1K0m.js";import"./chunk-QR6OTTB3-BhAzJcX6.js";import"./chunk-7Z6QIM7H-YJMK1J3W.js";import{i as t,n,r,t as i}from"./chunk-5RXB4S5H-CuRjyaQR.js";import"./mermaid.core-DvVwOMEV.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1,8 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CyNQB37R.js";import"./chunk-I66GZJ75-CE6Jk-ML.js";import"./chunk-NSK5VX7P-BB0gp55h.js";import"./chunk-4I5QYGJK-Bf8ARw9p.js";import"./chunk-WRU74C26-Dej4aDDK.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-DN_ayb-W.js";import"./chunk-2GRJ4B5K-CU6Szqvt.js";import"./chunk-XXDRQBXY-COHoQA_g.js";import"./chunk-KBJHAD2P-DdHZUbE2.js";import"./chunk-W5SLKNZC-DQ0C1K0m.js";import"./chunk-QR6OTTB3-BhAzJcX6.js";import"./chunk-7Z6QIM7H-YJMK1J3W.js";import{r as t,t as n}from"./chunk-JQJVKLGR-BjkITZJq.js";import"./mermaid.core-DvVwOMEV.js";var r=n({defaultLayout:`swimlane`,styles:e(e=>`${t(e)}
2
- .swimlane.cluster rect {
3
- stroke: ${e.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,`getStyles`)});export{r as diagram};