@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,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DvVwOMEV.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-CyNQB37R.js","assets/rolldown-runtime-BcKkbAw3.js","assets/chunk-I66GZJ75-CE6Jk-ML.js","assets/chunk-NSK5VX7P-BB0gp55h.js","assets/dist-CsdsWTxp.js","assets/chunk-4I5QYGJK-Bf8ARw9p.js","assets/chunk-WRU74C26-Dej4aDDK.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-UBXNYLIW-DN_ayb-W.js","assets/chunk-W5SLKNZC-DQ0C1K0m.js","assets/chunk-QR6OTTB3-BhAzJcX6.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-7Z6QIM7H-YJMK1J3W.js","assets/line-CK7XHoXo.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BZ3jSM6D.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-DwHVY--Z.js","assets/rolldown-runtime-BcKkbAw3.js","assets/chunk-I66GZJ75-CWdPrY4a.js","assets/chunk-NSK5VX7P-0jZVLBhi.js","assets/dist-CsdsWTxp.js","assets/chunk-4I5QYGJK-bq4iSS6S.js","assets/chunk-WRU74C26-DUX-oZjQ.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-UBXNYLIW-7RthekQ-.js","assets/chunk-W5SLKNZC-rq3UcMTy.js","assets/chunk-QR6OTTB3-BurXFOtV.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-7Z6QIM7H-I6XKkv2A.js","assets/line-5nUqh22u.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js"])))=>i.map(i=>d[i]);
2
2
  import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./rolldown-runtime-BcKkbAw3.js";import{$ as s,A as c,B as l,C as u,F as d,G as f,H as p,J as m,K as h,L as g,M as _,N as v,O as y,P as b,R as x,S,T as C,U as w,V as T,W as E,X as D,Y as O,Z as k,_ as ee,at as te,b as ne,c as re,ct as ie,d as ae,dt as oe,et as se,ft as ce,g as le,gt as ue,h as de,ht as fe,i as pe,it as me,j as he,k as ge,l as _e,lt as ve,mt as ye,n as be,nt as xe,o as Se,ot as Ce,p as we,pt as Te,q as Ee,r as De,rt as Oe,s as ke,st as Ae,t as je,tt as Me,u as Ne,ut as Pe,v as Fe,w as Ie,x as Le,y as Re,z as ze}from"./isUndefined-T4snU1Mx.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Be=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ee=/\/+/g;function te(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function ne(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function re(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,re(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+te(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(ee,`$&/`)+`/`),re(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ee,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+te(a,u),c+=re(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+te(a,u++),c+=re(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return re(ne(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ie(e,t,n){if(e==null)return e;var r=[],i=0;return re(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ae(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var oe=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},se={map:ie,forEach:function(e,t,n){ie(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ie(e,function(){t++}),t},toArray:function(e){return ie(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=se,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ae}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,oe)}catch(e){oe(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.8`})),Ve=o(((e,t)=>{t.exports=Be()})),A=a(Ve(),1),He={},Ue=[`en`,`de`,`ar`,`zh`],We=`PARAGLIDE_LOCALE`,Ge=3456e4,Ke=[`cookie`,`globalVariable`,`baseLocale`],qe=[];globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var Je,Ye=!1,j=()=>{let e=Ke;typeof window<`u`&&window.location?.href&&(e=_t(window.location.href));let t=Xe(e,typeof window<`u`?window.location?.href:void 0);if(t)return Ye||(Je=t,Ye=!0,$e(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found`)};function Xe(e,t){let n;for(let t of e){if(t===`cookie`)n=dt();else if(t===`baseLocale`)n=`en`;else if(t===`globalVariable`&&Je!==void 0)n=Je;else if(yt(t)&&vt.has(t)){let e=vt.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return nt(t)}}let e=tt(n);if(e)return e}}var Ze=e=>{j=e},Qe=e=>{e?window.location.href=e:window.location.reload()},$e=(e,t)=>{let n={reload:!0,...t},r;try{r=j()}catch{}let i=[],a=Ke;typeof window<`u`&&window.location?.href&&(a=_t(window.location.href));for(let t of a)if(t===`globalVariable`)Je=e;else if(t===`cookie`){if(typeof document>`u`||typeof window>`u`)continue;let t=`${We}=${e}; path=/; max-age=${Ge}`;document.cookie=t,lt()}else if(t===`baseLocale`)continue;else if(yt(t)&&vt.has(t)){let n=vt.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Qe(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()},et=()=>typeof window<`u`?window.location.origin:`http://fallback.com`;function tt(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of Ue)if(e.toLowerCase()===t)return e}function nt(e){let t=tt(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${Ue.join(`, `)}`)}function rt(e){return e}function it(e,t){return e.exec(t.href)}var at=We.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),ot=RegExp(`(?:^|;\\s*)${at}=([^;]*)`),st=Symbol(),ct=st;function lt(){ct=st}function ut(){typeof queueMicrotask==`function`?queueMicrotask(lt):Promise.resolve().then(lt)}function dt(){if(typeof document>`u`)return;if(ct!==st)return ct;let e=document.cookie.match(ot)?.[1];return ct=tt(e),ut(),ct}function ft(e){return pt(e)}function pt(e){let t=rt(typeof e==`string`?new URL(e,et()):new URL(e)),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&tt(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),rt(t)}var mt,ht;function gt(e){if(qe.length===0)return;let t=typeof e==`string`?e:e.href;if(mt===t)return ht;let n=rt(new URL(t,`http://example.com`)),r=ft(n),i=r.href===n.href?[n]:[n,r],a;for(let e of i){for(let t of qe)if(it(new He(t.match,e.href),e)){a=t;break}if(a)break}return mt=t,ht=a,a}function _t(e){let t=gt(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:Ke}var vt=new Map;function yt(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}var bt=Ue,xt=`en`,St=new Set([`ar`,`he`,`fa`,`ur`]);function Ct(e=xt){return St.has(e.split(`-`)[0])?`rtl`:`ltr`}var wt=`console-locale`,Tt=e=>bt.includes(e);function Et(e){try{window.localStorage?.setItem(wt,e)}catch{}}function Dt(){try{let e=window.localStorage?.getItem(wt);return e&&Tt(e)?e:null}catch{return null}}function Ot(e){let t=e.split(`/`)[1];if(bt.includes(t))return t;let n=typeof window<`u`?Dt():null;if(n)return n;if(typeof navigator<`u`){let e=navigator.language?.split(`-`)[0];if(bt.includes(e))return e}return xt}var kt=xt,At=new Set;Ze(()=>kt);function jt(e){if(e!==kt){kt=e,Mt(e),Et(e);for(let e of At)e()}}function Mt(e){typeof document>`u`||(document.documentElement.lang=e,document.documentElement.dir=Ct(e))}if(typeof window<`u`){let e=Ot(window.location.pathname);kt=e,Mt(e)}function Nt(e){return At.add(e),()=>At.delete(e)}function Pt(){let e=(0,A.useSyncExternalStore)(Nt,()=>kt,()=>kt);return{locale:e,dir:Ct(e),setLocale:jt}}function Ft(){if(typeof process<`u`&&{}.I18N_DEBUG===`1`)return!0;if(typeof window>`u`)return!1;let e=new URLSearchParams(window.location.search);return e.has(`i18n-debug`)?e.get(`i18n-debug`)!==`0`:window.localStorage?.getItem(`i18n-debug`)===`1`}function It(e){return Ft()?e.replace(/\S/g,`█`):e}var Lt=null,Rt=new Set,zt=()=>{for(let e of Rt)e()},Bt=!1;function Vt(){typeof window>`u`||Bt||(Bt=!0,window.addEventListener(`beforeinstallprompt`,e=>{e.preventDefault(),Lt=e,zt()}),window.addEventListener(`appinstalled`,()=>{Lt=null,zt()}))}function eee(){return Lt}function Ht(e){return Rt.add(e),()=>{Rt.delete(e)}}async function Ut(){let e=Lt;if(!e)return!1;Lt=null,zt(),await e.prompt();let{outcome:t}=await e.userChoice;return t===`accepted`}var tee=[`standalone`,`minimal-ui`,`fullscreen`,`window-controls-overlay`];function Wt(){return typeof window>`u`?!1:navigator.standalone===!0||tee.some(e=>matchMedia(`(display-mode: ${e})`).matches)}function Gt(){if(typeof window>`u`)return!1;let e=navigator.userAgent;return/iPhone|iPad|iPod/.test(e)||/Macintosh/.test(e)&&navigator.maxTouchPoints>1}var Kt=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),qt=o(((e,t)=>{t.exports=Kt()})),Jt=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&te(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&te(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,ee=k.port2;k.port1.onmessage=D,O=function(){ee.postMessage(null)}}else O=function(){_(D,0)};function te(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,te(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),nee=o(((e,t)=>{t.exports=Jt()})),ree=o((e=>{var t=Ve();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.8`})),iee=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ree()})),aee=o((e=>{var t=nee(),n=Ve(),r=iee();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),w=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),E=Symbol.for(`react.activity`),D=Symbol.for(`react.memo_cache_sentinel`),O=Symbol.iterator;function k(e){return typeof e!=`object`||!e?null:(e=O&&e[O]||e[`@@iterator`],typeof e==`function`?e:null)}var ee=Symbol.for(`react.client.reference`);function te(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ee?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case E:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case w:return t=e.displayName||null,t===null?te(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return te(e(t))}catch{}}return null}var ne=Array.isArray,re=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ie=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ae={pending:!1,data:null,method:null,action:null},oe=[],se=-1;function ce(e){return{current:e}}function le(e){0>se||(e.current=oe[se],oe[se]=null,se--)}function ue(e,t){se++,oe[se]=e.current,e.current=t}var de=ce(null),fe=ce(null),pe=ce(null),me=ce(null);function he(e,t){switch(ue(pe,t),ue(fe,e),ue(de,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Ec(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Ec(t),e=Dc(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}le(de),ue(de,e)}function ge(){le(de),le(fe),le(pe)}function _e(e){e.memoizedState!==null&&ue(me,e);var t=de.current,n=Dc(t,e.type);t!==n&&(ue(fe,e),ue(de,n))}function ve(e){fe.current===e&&(le(de),le(fe)),me.current===e&&(le(me),dl._currentValue=ae)}var ye,be;function xe(e){if(ye===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ye=t&&t[1]||``,be=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+ye+e+be}var Se=!1;function Ce(e,t){if(!e||Se)return``;Se=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -215,7 +215,7 @@ Consider installing the package or pass your own 'workerFactory' to ELK's constr
215
215
  \${}
216
216
  }`,{label:`interface`,detail:`definition`,type:`keyword`}),j2("type ${name} = ${type}",{label:`type`,detail:`definition`,type:`keyword`}),j2(`enum \${name} {
217
217
  \${}
218
- }`,{label:`enum`,detail:`definition`,type:`keyword`})]),OXn=new Gln,kXn=new Set([`Script`,`Block`,`FunctionExpression`,`FunctionDeclaration`,`ArrowFunction`,`MethodDeclaration`,`ForStatement`]);function AXn(e){return(t,n)=>{let r=t.node.getChild(`VariableDefinition`);return r&&n(r,e),!0}}var jXn=[`FunctionDeclaration`],MXn={FunctionDeclaration:AXn(`function`),ClassDeclaration:AXn(`class`),ClassExpression:()=>!0,EnumDeclaration:AXn(`constant`),TypeAliasDeclaration:AXn(`type`),NamespaceDeclaration:AXn(`namespace`),VariableDefinition(e,t){e.matchContext(jXn)||t(e,`variable`)},TypeDefinition(e,t){t(e,`type`)},__proto__:null};function NXn(e,t){let n=OXn.get(t);if(n)return n;let r=[],i=!0;function a(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(Q1.IncludeAnonymous).iterate(t=>{if(i)i=!1;else if(t.name){let e=MXn[t.name];if(e&&e(t,a)||kXn.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of NXn(e,t.node))r.push(n);return!1}}),OXn.set(t,r),r}var PXn=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,FXn=[`TemplateString`,`String`,`RegExp`,`LineComment`,`BlockComment`,`VariableDefinition`,`TypeDefinition`,`Label`,`PropertyDefinition`,`PropertyName`,`PrivatePropertyDefinition`,`PrivatePropertyName`,`JSXText`,`JSXAttributeValue`,`JSXOpenTag`,`JSXCloseTag`,`JSXSelfClosingTag`,`.`,`?.`];function IXn(e){let t=eXn(e.state).resolveInner(e.pos,-1);if(FXn.indexOf(t.name)>-1)return null;let n=t.name==`VariableName`||t.to-t.from<20&&PXn.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let n=t;n;n=n.parent)kXn.has(n.name)&&(r=r.concat(NXn(e.state.doc,n)));return{options:r,from:n?t.from:e.pos,validFor:PXn}}var K3=$Yn.define({name:`javascript`,parser:yGn.configure({props:[dXn.add({IfStatement:gXn({except:/^\s*({|else\b)/}),TryStatement:gXn({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hXn,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:pXn({closing:`}`}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":gXn({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),_Xn.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":vXn,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name==`JSXSelfClosingTag`)return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){let t=e.firstChild?.nextSibling,n=e.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?e.to:n.from}}})]}),languageData:{closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]},commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:`$`}}),LXn={test:e=>/^JSX/.test(e.name),facet:XYn({commentTokens:{block:{open:`{/*`,close:`*/}`}}})},RXn=K3.configure({dialect:`ts`},`typescript`),zXn=K3.configure({dialect:`jsx`,props:[ZYn.add(e=>e.isTop?[LXn]:void 0)]}),BXn=K3.configure({dialect:`jsx ts`,props:[ZYn.add(e=>e.isTop?[LXn]:void 0)]},`typescript`),VXn=e=>({label:e,type:`keyword`}),HXn=`break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield`.split(` `).map(VXn),UXn=HXn.concat([`declare`,`implements`,`private`,`protected`,`public`].map(VXn));function WXn(e={}){let t=e.jsx?e.typescript?BXn:zXn:e.typescript?RXn:K3,n=e.typescript?DXn.concat(UXn):EXn.concat(HXn);return new uXn(t,[K3.data.of({autocomplete:cTn(FXn,sTn(n))}),K3.data.of({autocomplete:IXn}),e.jsx?JXn:[]])}function GXn(e){for(;;){if(e.name==`JSXOpenTag`||e.name==`JSXSelfClosingTag`||e.name==`JSXFragmentTag`)return e;if(e.name==`JSXEscape`||!e.parent)return null;e=e.parent}}function KXn(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name==`JSXIdentifier`||r.name==`JSXBuiltin`||r.name==`JSXNamespacedName`||r.name==`JSXMemberExpression`)return e.sliceString(r.from,Math.min(r.to,n));return``}var qXn=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),JXn=W3.inputHandler.of((e,t,n,r,i)=>{if((qXn?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=`>`&&r!=`/`||!K3.isActiveAt(e.state,t,-1))return!1;let a=i(),{state:o}=a,s=o.changeByRange(e=>{let{head:t}=e,n=eXn(o).resolveInner(t-1,-1),i;if(n.name==`JSXStartTag`&&(n=n.parent),!(o.doc.sliceString(t-1,t)!=r||n.name==`JSXAttributeValue`&&n.to>t)){if(r==`>`&&n.name==`JSXFragmentTag`)return{range:e,changes:{from:t,insert:`</>`}};if(r==`/`&&n.name==`JSXStartCloseTag`){let e=n.parent,r=e.parent;if(r&&e.from==t-2&&((i=KXn(o.doc,r.firstChild,t))||r.firstChild?.name==`JSXFragmentTag`)){let e=`${i}>`;return{range:Q.cursor(t+e.length,-1),changes:{from:t,insert:e}}}}else if(r==`>`){let r=GXn(n);if(r&&r.name==`JSXOpenTag`&&!/^\/?>|^<\//.test(o.doc.sliceString(t,t+2))&&(i=KXn(o.doc,r,t)))return{range:e,changes:{from:t,insert:`</${i}>`}}}}return{range:e}});return!s.changes.empty&&(e.dispatch([a,o.update(s,{userEvent:`input.complete`,scrollIntoView:!0})]),!0)});function YXn(){let{meta:e}=MB();return(0,A.useMemo)(()=>{let t={};for(let n of e.functions??[])for(let e of n.tags??[])t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].functionCount++;for(let[,n]of Object.entries(e.agentsMeta??{}))for(let e of n.tags??[])t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1});let n=e.middlewareGroupsMeta?.tagGroups??{};for(let e of Object.keys(n))t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].hasMiddleware=!0;let r=e.permissionsGroupsMeta?.tagGroups??{};for(let e of Object.keys(r))t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].hasPermissions=!0;return Object.values(t).sort((e,t)=>e.tag.localeCompare(t.tag))},[e])}function XXn(){let e=YXn();return(0,A.useMemo)(()=>e.map(e=>{let t=[];e.functionCount>0&&t.push(`${e.functionCount} func${e.functionCount>1?`s`:``}`),e.hasMiddleware&&t.push(`middleware`),e.hasPermissions&&t.push(`permissions`);let n=t.length>0?` (${t.join(`, `)})`:``;return{value:e.tag,label:`${e.tag}${n}`}}),[e])}function ZXn(e,t,n){let r=W_();return Ji({queryKey:[`function-source`,e,t],queryFn:async()=>await r.invoke(`console:readFunctionSource`,{sourceFile:e,exportedName:t}),enabled:!!e&&!!t&&n})}function QXn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,changes:r})=>e.invoke(`console:updateFunctionConfig`,{sourceFile:t,exportedName:n,changes:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`functions`]}),t.invalidateQueries({queryKey:[`function-source`]}),t.invalidateQueries({queryKey:[`allMeta`]})}})}function $Xn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,body:r})=>e.invoke(`console:updateFunctionBody`,{sourceFile:t,exportedName:n,body:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`functions`]}),t.invalidateQueries({queryKey:[`function-body`]}),t.invalidateQueries({queryKey:[`function-source`]}),t.invalidateQueries({queryKey:[`allMeta`]})}})}function eZn(){let e=W_(),t=Ri();return Yi({mutationFn:({templateName:t,source:n})=>e.invoke(`console:updateEmailTemplate`,{templateName:t,source:n}),onSuccess:()=>{t.invalidateQueries({queryKey:[`emails`]})}})}function tZn(e,t,n){let r=W_();return Ji({queryKey:[`agent-source`,e,t],queryFn:async()=>await r.invoke(`console:readAgentSource`,{sourceFile:e,exportedName:t}),enabled:!!e&&!!t&&n})}function nZn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,changes:r})=>e.invoke(`console:updateAgentConfig`,{sourceFile:t,exportedName:n,changes:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`allMeta`]}),t.invalidateQueries({queryKey:[`agent-source`]})}})}var rZn=({functionName:e,sourceFile:t,exportedName:n,onClose:r})=>{let{data:i,isLoading:a}=ZXn(t,n,!0),o=QXn(),s=XXn(),c=$Xn(),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(``),[h,g]=(0,A.useState)([]),[_,v]=(0,A.useState)(!1),[y,b]=(0,A.useState)(!1),[x,S]=(0,A.useState)(!1),[C,w]=(0,A.useState)(!1),[T,E]=(0,A.useState)(!1),[D,O]=(0,A.useState)(``),[k,ee]=(0,A.useState)(!1);(0,A.useEffect)(()=>{if(i){let e=i.config||{};u(e.title||``),f(e.description||``),m(e.summary||``),g(e.tags||[]),v(e.expose===!0),b(e.remote===!0),S(e.mcp===!0),w(e.readonly===!0),E(e.approvalRequired===!0),O(i.body||``)}},[i]);let te=(0,A.useCallback)(async()=>{let e=i?.config||{},a={};l!==(e.title||``)&&(a.title=l||null),d!==(e.description||``)&&(a.description=d||null),p!==(e.summary||``)&&(a.summary=p||null);let s=e.tags||[];if(JSON.stringify(h)!==JSON.stringify(s)&&(a.tags=h.length>0?h:null),_!==(e.expose===!0)&&(a.expose=_||null),y!==(e.remote===!0)&&(a.remote=y||null),x!==(e.mcp===!0)&&(a.mcp=x||null),C!==(e.readonly===!0)&&(a.readonly=C||null),T!==(e.approvalRequired===!0)&&(a.approvalRequired=T||null),Object.keys(a).length===0&&D===(i?.body||``)){r();return}try{Object.keys(a).length>0&&await o.mutateAsync({sourceFile:t,exportedName:n,changes:a}),D!==(i?.body||``)&&await c.mutateAsync({sourceFile:t,exportedName:n,body:D}),ee(!0),setTimeout(()=>r(),1200)}catch{}},[i,l,d,p,h,_,y,x,C,T,D,t,n,o,c,r]),ne=o.isPending||c.isPending,re=o.error||c.error;return a?null:(0,M.jsxs)(M.Fragment,{children:[ne&&(0,M.jsx)(N,{style:{position:`absolute`,inset:0,background:`var(--mantine-color-body)`,opacity:.6,zIndex:10,pointerEvents:`all`}}),(0,M.jsxs)($m,{gap:`md`,children:[re&&(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(re.message)}),(0,M.jsx)(ZQ,{children:V(`Metadata`)}),(0,M.jsx)(ry,{label:V(`Title`),value:l,onChange:e=>u(e.currentTarget.value),size:`sm`}),(0,M.jsx)(iy,{label:V(`Description`),value:d,onChange:e=>f(e.currentTarget.value),autosize:!0,minRows:2,maxRows:6,size:`sm`}),(0,M.jsx)(ry,{label:V(`Summary`),value:p,onChange:e=>m(e.currentTarget.value),size:`sm`}),(0,M.jsx)(sy,{label:V(`Tags`),data:s,value:h,onChange:g,searchable:!0,clearable:!0,size:`sm`,placeholder:V(`Search tags...`)}),(0,M.jsx)(ZQ,{children:V(`Flags`)}),(0,M.jsxs)(gu,{gap:`lg`,children:[(0,M.jsx)(cy,{label:V(`expose`),checked:_,onChange:e=>v(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`remote`),checked:y,onChange:e=>b(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`mcp`),checked:x,onChange:e=>S(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`readonly`),checked:C,onChange:e=>w(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`approvalRequired`),checked:T,onChange:e=>E(e.currentTarget.checked),size:`sm`})]}),i?.body!=null&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:V(`Function Body`)}),(0,M.jsx)(fWn,{value:D,onChange:O,extensions:[WXn({typescript:!0})],theme:`dark`,basicSetup:{lineNumbers:!0,foldGutter:!1,highlightActiveLine:!0},style:{fontSize:`13px`,border:`1px solid var(--app-border)`,borderRadius:`4px`,overflow:`hidden`}})]})]}),(0,M.jsx)(v6t,{children:(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:r,disabled:ne,leftSection:(0,M.jsx)(uB,{size:14}),size:`sm`,children:V(`Cancel`)}),(0,M.jsx)(qv,{onClick:te,loading:ne,disabled:k,color:k?`green`:void 0,leftSection:k?(0,M.jsx)(nz,{size:14}):(0,M.jsx)(Bz,{size:14}),size:`sm`,children:V(k?`Saved`:ne?`Saving…`:`Save & Rebuild`)})]})})]})},iZn=({functionName:e,metadata:t})=>{let{data:n,isLoading:r}=qQ(e),i=t||n||{};if(r&&!t)return(0,M.jsx)($d,{py:`xl`,children:(0,M.jsx)(fu,{size:`sm`})});let a=i.services?.services||[],o=i.middleware||[],s=i.permissions||[],c=i.expose===!0,l=i.sessionless!==!0;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[eH[i.funcWrapper]&&(0,M.jsx)(sH,{type:`funcWrapper`,value:i.funcWrapper}),l&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),s.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`}),c&&(0,M.jsx)(sH,{type:`flag`,flag:`exposed`}),i.internal===!0&&(0,M.jsx)(sH,{type:`flag`,flag:`internal`})]}),(0,M.jsx)(e$,{description:i.summary||i.description,services:a,wires:i.wires,middleware:o,permissions:s,tags:i.tags||[],errors:i.errors||[],functionName:e,inputSchemaName:i.inputSchemaName,outputSchemaName:i.outputSchemaName})]})},aZn=({functionName:e,metadata:t})=>{Pt();let[n,r]=(0,A.useState)(!1),{activePanel:i,panels:a,closePanel:o,goBack:s}=qB(),{data:c}=qQ(e),l=t||c||{},u=!!l.sourceFile&&!!l.exportedName,d=i?a.get(i):null;return(0,M.jsxs)(h6t,{children:[(0,M.jsx)(g6t,{title:V(d?.title??e),onBack:d&&d.history.length>0?s:void 0,onClose:()=>i&&o(i),children:u&&!n&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>r(!0),title:X.functions_edit_function(),"aria-label":X.functions_edit_function(),children:(0,M.jsx)(kIt,{size:14})})}),(0,M.jsx)(_6t,{children:(0,M.jsx)(N,{px:`md`,children:n&&u?(0,M.jsx)(rZn,{functionName:e,sourceFile:l.sourceFile,exportedName:l.exportedName,onClose:()=>r(!1)}):(0,M.jsx)(iZn,{functionName:e,metadata:t})})})]})},oZn=[`yellow`,`violet`,`blue`,`teal`,`grape`,`cyan`,`pink`,`orange`,`lime`,`indigo`],sZn=e=>{let t=0;for(let n=0;n<e.length;n++)t=Math.imul(t,31)+e.charCodeAt(n)|0;return Math.abs(t)},cZn=[[/shop|buy|cart|checkout|customer|order/,VIt],[/support|agent|help|service|desk/,lIt],[/admin|manager|owner|exec|lead|boss/,HFt],[/dev|engineer|tech|build/,lB],[/pay|bill|finance|account/,$Ft],[/doctor|nurse|clinic|patient|health/,WIt],[/teach|student|tutor|learn/,cIt],[/ship|deliver|courier|logistics|driver/,YIt],[/company|org|business|enterprise/,UFt]],lZn=[iB,nIt,jz,UFt],uZn=(e,t,n)=>{let r=oZn[sZn(e)%oZn.length],i=`${e} ${t??``} ${n??``}`.toLowerCase();return{color:r,Icon:cZn.find(([e])=>e.test(i))?.[1]??lZn[sZn(e)%lZn.length]}},dZn=({personaKey:e,jobTitle:t,name:n,avatarUrl:r,size:i=48})=>{let[a,o]=(0,A.useState)(),{color:s,Icon:c}=uZn(e,t,n),l=Math.max(2,Math.round(i*.06)),u=!!r&&a!==r;return(0,M.jsx)(N,{style:{padding:l,borderRadius:`50%`,flexShrink:0,background:`var(--mantine-color-${s}-light)`},children:(0,M.jsx)(N,{style:{width:i,height:i,borderRadius:`50%`,overflow:`hidden`,display:`grid`,placeItems:`center`,background:`var(--mantine-color-${s}-filled)`,color:`var(--mantine-color-white)`},children:u?(0,M.jsx)(`img`,{"data-testid":`persona-avatar-${e}`,src:r,alt:``,width:i,height:i,onError:()=>o(r),style:{width:i,height:i,objectFit:`cover`}}):(0,M.jsx)(c,{size:Math.round(i*.46),strokeWidth:1.9})})})},fZn=({roles:e})=>e.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_no_roles_explained()}):(0,M.jsx)($m,{gap:8,children:e.map(e=>(0,M.jsxs)(N,{"data-testid":`persona-role-${e.name}`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:8,padding:`8px 12px`},children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:V(e.displayName??e.name)}),e.displayName&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,children:V(e.name)}),!e.declared&&(0,M.jsx)(Yv,{variant:`light`,color:`red`,radius:`sm`,tt:`none`,fw:500,children:X.personas_role_undeclared()})]}),e.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,mt:2,children:V(e.description)}),e.scopes.length>0?(0,M.jsx)(gu,{gap:4,wrap:`wrap`,mt:6,children:e.scopes.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,styles:{label:{fontFamily:`var(--mantine-font-family-monospace)`}},children:V(e)},e))}):(0,M.jsx)(B,{size:`xs`,c:`dimmed`,mt:6,children:e.declared?X.personas_role_no_scopes():X.personas_role_undeclared_explained()})]},e.name))}),pZn=8,mZn=({persona:e,onOpenScenario:t,onOpenVirtualUser:n})=>{Pt();let[r,i]=(0,A.useState)(!1),a=r?e.scenarios:e.scenarios.slice(0,pZn);return(0,M.jsxs)($m,{gap:`lg`,pt:`xs`,"data-testid":`persona-detail-${e.key}`,children:[(0,M.jsxs)(gu,{gap:14,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(dZn,{personaKey:e.key,jobTitle:e.jobTitle,name:e.name,avatarUrl:e.avatarUrl,size:56}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`lg`,"data-testid":`persona-field-name`,children:V(e.name)}),e.jobTitle&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,"data-testid":`persona-field-role`,children:V(e.jobTitle)}),(0,M.jsx)(B,{ff:`monospace`,size:`xs`,c:`dimmed`,"data-testid":`persona-field-email`,children:V(e.email)}),(0,M.jsxs)(gu,{gap:6,mt:6,wrap:`wrap`,children:[(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.key)}),e.disposition&&(0,M.jsx)(Yv,{variant:`light`,color:`cyan`,radius:`sm`,tt:`none`,fw:500,children:V(e.disposition)}),!e.runnable&&(0,M.jsx)(Yv,{"data-testid":`persona-detail-target-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),children:X.personas_target()})]})]})]}),!e.runnable&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_target_explained()}),(e.description||e.personality)&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_about()}),e.description&&(0,M.jsx)(B,{size:`sm`,children:V(e.description)}),e.personality&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,"data-testid":`persona-field-personality`,children:V(`“${e.personality}”`)})]})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsxs)(gu,{gap:8,align:`baseline`,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_roles()}),e.scopes.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.scopes.length===1?X.personas_scope_count_one():X.personas_scope_count({count:e.scopes.length})})]}),(0,M.jsx)(fZn,{roles:e.roles})]}),e.goals.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_goals()}),e.goals.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(wh,{variant:`light`,color:`grape`,size:`sm`,radius:`sm`,children:(0,M.jsx)(qIt,{size:12})}),(0,M.jsx)(B,{size:`sm`,children:V(e)})]},e))]})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_signin()}),e.accounts.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_no_accounts()}):e.accounts.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(wh,{variant:`light`,color:`blue`,size:`sm`,radius:`sm`,children:(0,M.jsx)(vz,{size:12})}),(0,M.jsx)(B,{size:`sm`,children:e.provider?X.personas_account_provider({provider:e.provider}):X.personas_account_password()}),e.name!==`primary`&&(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.name)})]},e.name)),(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,mt:4,children:[(0,M.jsx)(wh,{variant:`light`,color:`teal`,size:`sm`,radius:`sm`,children:(0,M.jsx)(_z,{size:12})}),e.environments?(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.environments.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e)},e))}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.personas_environments_default()})]})]}),e.fixtures.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_fixtures()}),e.fixtures.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(DIt,{size:12,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,children:V(e)})]},e))]})]}),e.tags.length>0&&(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.tags.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e)},e))}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_appears_in({features:e.features.length===1?X.personas_feature_count_one():X.personas_feature_count({count:e.features.length}),scenarios:e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})}),e.scenarios.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_not_cast()}):a.map(e=>{let n=(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`cyan`,size:`sm`,radius:`sm`,children:(0,M.jsx)(zz,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:V(e.displayName)}),t&&(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]});return t?(0,M.jsx)(ru,{"data-testid":`persona-scenario-${e.name}`,onClick:()=>t(e.name),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:n},e.name):(0,M.jsx)(N,{"data-testid":`persona-scenario-${e.name}`,py:2,children:n},e.name)}),e.scenarios.length>pZn&&(0,M.jsx)(Jv,{component:`button`,type:`button`,size:`xs`,"data-testid":`persona-scenarios-toggle`,onClick:()=>i(e=>!e),style:{alignSelf:`flex-start`},children:r?X.personas_scenarios_show_fewer():X.personas_scenarios_show_all({count:e.scenarios.length})})]}),n&&e.runnable&&(0,M.jsx)(ru,{"data-testid":`persona-virtual-user-${e.key}`,onClick:()=>n(e.key),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`violet`,size:`sm`,radius:`sm`,children:(0,M.jsx)($It,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:X.personas_open_virtual_user()}),(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]})}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.sourceFile?X.personas_declared_in({file:e.sourceFile}):X.personas_defined_in()})]})},hZn=({kind:e,size:t=48})=>{let n=e===`platform`?Hz:Pz,r=Math.max(2,Math.round(t*.06)),i=e===`platform`?`violet`:`grape`;return(0,M.jsx)(N,{style:{padding:r,borderRadius:Math.round(t*.3),flexShrink:0,background:`var(--mantine-color-${i}-light)`},children:(0,M.jsx)(N,{"data-testid":`subject-avatar-${e}`,style:{width:t,height:t,borderRadius:Math.round(t*.24),display:`grid`,placeItems:`center`,background:`var(--mantine-color-${i}-filled)`,color:`var(--mantine-color-white)`},children:(0,M.jsx)(n,{size:Math.round(t*.46),strokeWidth:1.9})})})},gZn=({subject:e,onOpenScenario:t})=>{Pt();let n=e.kind===`platform`?X.subjects_platform_name():V(e.name);return(0,M.jsxs)($m,{gap:`lg`,pt:`xs`,"data-testid":`subject-detail-${e.key}`,children:[(0,M.jsxs)(gu,{gap:14,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(hZn,{kind:e.kind,size:56}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`lg`,"data-testid":`subject-field-name`,children:n}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:e.kind===`platform`?X.subjects_platform_role():X.subjects_addon_role()}),(0,M.jsxs)(gu,{gap:6,mt:6,wrap:`wrap`,children:[(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.key)}),(0,M.jsx)(Yv,{"data-testid":`subject-detail-not-a-person-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),children:X.subjects_not_a_person()})]})]})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.subjects_not_a_person_explained()}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_about()}),(0,M.jsx)(B,{size:`sm`,children:e.kind===`platform`?X.subjects_platform_blurb():X.subjects_addon_blurb({addon:e.addon})})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsxs)(gu,{gap:8,align:`baseline`,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.subjects_section_steps()}),e.steps.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.steps.length===1?X.subjects_step_count_one():X.subjects_step_count({count:e.steps.length})})]}),e.steps.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.subjects_no_steps_explained()}):e.steps.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(wh,{variant:`light`,color:`violet`,size:`sm`,radius:`sm`,children:(0,M.jsx)(aIt,{size:12})}),(0,M.jsxs)($m,{gap:0,style:{minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,children:V(e.displayName)}),e.sourceFile&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,lineClamp:1,children:V(e.sourceFile)})]})]},e.name))]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_appears_in({features:e.features.length===1?X.personas_feature_count_one():X.personas_feature_count({count:e.features.length}),scenarios:e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})}),e.scenarios.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_not_cast()}):e.scenarios.map(e=>{let n=(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`cyan`,size:`sm`,radius:`sm`,children:(0,M.jsx)(zz,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:V(e.displayName)}),t&&(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]});return t?(0,M.jsx)(ru,{"data-testid":`subject-scenario-${e.name}`,onClick:()=>t(e.name),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:n},e.name):(0,M.jsx)(N,{"data-testid":`subject-scenario-${e.name}`,py:2,children:n},e.name)})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.kind===`platform`?X.subjects_platform_declared():X.subjects_addon_declared({addon:e.addon})})]})},_Zn=e=>[`addon-install-result`,e],vZn=(e,t,n)=>{e.setQueryData(_Zn(t),n)},yZn=(e,t)=>e.getQueryData(_Zn(t)),bZn=({icon:e,label:t,value:n})=>(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`sm`,children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(wh,{size:34,radius:`md`,variant:`default`,color:`gray`,children:(0,M.jsx)(e,{size:16})}),(0,M.jsxs)($m,{gap:0,children:[(0,M.jsx)(B,{size:`lg`,fw:700,ff:`monospace`,lh:1,children:V(String(n))}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:t})]})]})}),xZn={auth:{icon:vz,color:`violet`},payments:{icon:$Ft,color:`green`},database:{icon:lz,color:`blue`},agents:{icon:QR,color:`orange`},ai:{icon:QR,color:`orange`},email:{icon:kz,color:`cyan`},storage:{icon:Hz,color:`grape`},analytics:{icon:eB,color:`teal`},observability:{icon:RFt,color:`red`},observe:{icon:RFt,color:`red`},realtime:{icon:Iz,color:`cyan`},search:{icon:Vz,color:`yellow`},devtools:{icon:lB,color:`gray`}},SZn={icon:jz,color:`gray`};function CZn(e){return e?xZn[e.toLowerCase()]??SZn:SZn}function wZn(e){return e.replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function TZn(e){return/^@pikku(fabric)?\//.test(e)}function EZn(e){return e.categories?.[0]}function DZn(e){return Object.entries(e).filter(([e])=>!!e).map(([e,t])=>({id:e,label:wZn(e),count:t})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label))}var OZn=e=>{let t=e.replace(`@pikku/addon-`,``).replace(/^@[^/]+\//,``).toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``);if(!t)throw Error(`Unable to derive namespace from package name: ${e}`);return t},kZn=e=>/^[a-z0-9-]+$/.test(e),AZn=e=>Object.values(e??{}).reduce((e,t)=>e+Object.keys(t??{}).length,0),jZn=({addon:e,kind:t=`addon`,editable:n,onInstalled:r})=>{Pt();let i=W_(),a=Ri(),[o,s]=(0,A.useState)(`overview`),c=t===`api`,[l,u]=(0,A.useState)(c?``:OZn(e.name)),d=c||kZn(l),{data:f}=Ji({queryKey:[`installed-addons`],queryFn:async()=>await i.invoke(`console:getInstalledAddons`)??[],staleTime:6e4}),p=c?`@pikku/addon-${OZn(e.name)}`:e.name,m=(f??[]).filter(e=>e.packageName===p).map(e=>e.namespace),h=m.length>0,g=Yi({mutationFn:async t=>c?i.invoke(`console:installOpenapiAddon`,{name:OZn(e.name),swaggerUrl:e.swaggerUrl}):i.invoke(`console:installAddon`,{packageName:e.name,namespace:t?.trim()||OZn(e.name),version:e.version}),onSuccess:t=>{a.invalidateQueries({queryKey:[`installed-addons`]}),a.invalidateQueries({queryKey:[`allMeta`]}),c||vZn(a,e.name,t),r?.(e.name)}}),_=g.error?g.error instanceof Error?g.error.message:String(g.error):null,{data:v}=Ji({queryKey:[`addon`,`community`,e.id],queryFn:async()=>await i.invoke(`console:getAddonCommunityPackage`,{id:e.id}),enabled:!c}),{data:y}=Ji({queryKey:[`api`,`detail`,e.id],queryFn:async()=>await i.invoke(`console:getOpenapiDetail`,{name:e.name}),enabled:c}),b=!c&&TZn(e.name),{icon:x,color:S}=CZn(EZn(e)),C=v?.functions??e.functions??{},w=Object.keys(C),T=v?.secrets??{},E=v?.variables??{},D=v?.channels??{},O=Object.entries(v?.httpRoutes??{}).flatMap(([e,t])=>Object.keys(t??{}).map(t=>({method:e,route:t}))),k=Object.keys(T),ee=Object.keys(E),te=Object.keys(D),ne=c?[{icon:_z,label:X.packages_surface_operations(),value:y?.totalOperations??e.totalOperations??0}]:[{icon:Zz,label:X.packages_surface_functions(),value:w.length},{icon:_z,label:X.packages_surface_http(),value:AZn(v?.httpRoutes)},{icon:Iz,label:X.packages_surface_channels(),value:Object.keys(v?.channels??{}).length},{icon:vz,label:X.packages_surface_secrets(),value:Object.keys(v?.secrets??{}).length},{icon:LIt,label:X.packages_surface_variables(),value:Object.keys(v?.variables??{}).length},{icon:QR,label:X.packages_surface_agents(),value:Object.keys(v?.agents??e.agents??{}).length}],re=v?.displayName??e.displayName??e.name,ie=v?.description??e.description,ae=v?.tags??e.tags??[],oe=v?.author??e.author,se=v?.version??e.version,ce=v?.icon??e.icon,le=ce&&ce.startsWith(`<`)?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(ce)}`:ce,ue=c?y?.swaggerUrl??e.swaggerUrl??`https://pikku.dev/docs/external-packages`:`https://pikku.dev/docs/external-packages`,de=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,mb:`sm`,children:X.packages_whats_included()}),(0,M.jsx)(Um,{cols:{base:2,sm:3},spacing:`sm`,children:ne.map(e=>(0,M.jsx)(bZn,{icon:e.icon,label:e.label,value:e.value},String(e.label)))}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,mt:`xl`,mb:`sm`,children:X.packages_published_by()}),(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(pye,{radius:`md`,color:b?`blue`:`gray`,children:(oe??e.name).slice(0,1).toUpperCase()}),(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:V(oe??e.name)}),b&&(0,M.jsx)(Uz,{size:14,color:`var(--mantine-color-blue-5)`})]})]})]});return(0,M.jsxs)($m,{gap:0,"data-testid":`addon-detail-${e.name}`,children:[(0,M.jsxs)(N,{p:`lg`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,align:`flex-start`,children:[le?(0,M.jsx)(`img`,{src:le,width:56,height:56,alt:e.displayName,style:{objectFit:`contain`,borderRadius:12}}):(0,M.jsx)(wh,{size:56,radius:`md`,variant:`light`,color:S,children:(0,M.jsx)(x,{size:28})}),(0,M.jsxs)($m,{gap:4,style:{flex:1,minWidth:0},children:[(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[(0,M.jsx)(Zv,{order:3,fw:700,children:V(re||e.name)}),c?oe&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,children:V(oe)}):b?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,leftSection:(0,M.jsx)(Uz,{size:11}),children:X.packages_official()}):(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:X.packages_community()})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e.name)})]})]}),ie&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:`md`,children:V(ie)}),ae.length>0&&(0,M.jsx)(gu,{gap:6,mt:`sm`,children:ae.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,ff:`monospace`,fw:400,children:V(e)},e))}),!c&&m.length>0&&(0,M.jsxs)(gu,{gap:`xs`,mt:`lg`,align:`center`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_installed_as()}),m.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`green`,tt:`none`,ff:`monospace`,fw:400,children:V(e)},e))]}),!h&&!c&&n&&(0,M.jsx)(ry,{mt:m.length>0?`sm`:`lg`,label:X.packages_install_name_label(),description:X.packages_install_name_description(),value:l,onChange:e=>u(e.currentTarget.value),"data-testid":`addon-install-name`,error:l.length>0&&!d?X.packages_install_name_invalid():null,styles:{input:{fontFamily:`monospace`}}}),(0,M.jsxs)(gu,{gap:`sm`,mt:!h&&!c&&n?`sm`:`lg`,children:[h?(0,M.jsx)(qv,{variant:`light`,color:`green`,leftSection:(0,M.jsx)($R,{size:15}),disabled:!0,children:c?X.packages_imported_to_project():X.packages_added_to_project()}):n&&(0,M.jsx)(qv,{leftSection:(0,M.jsx)(uz,{size:15}),loading:g.isPending,disabled:!d,"data-testid":`addon-install-submit`,onClick:()=>g.mutate(c?void 0:l),children:c?X.packages_import_to_project():X.packages_add_to_project()}),(0,M.jsx)(qv,{component:`a`,href:ue,target:`_blank`,rel:`noopener noreferrer`,variant:`default`,leftSection:(0,M.jsx)(dz,{size:15}),children:X.packages_docs()})]}),_&&(0,M.jsx)(ty,{mt:`sm`,color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:15}),"data-testid":`addon-install-error`,children:(0,M.jsx)(B,{size:`sm`,children:c?X.packages_import_error({name:e.displayName||e.name,message:_}):X.packages_install_error({name:e.displayName||e.name,message:_})})}),(0,M.jsx)($v,{my:`md`}),(0,M.jsxs)(gu,{gap:`xl`,children:[(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_version()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(se??`—`)})]}),v?.license&&(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_license()}),(0,M.jsx)(B,{size:`sm`,children:V(v.license)})]}),oe&&(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_author()}),(0,M.jsx)(B,{size:`sm`,children:V(oe)})]})]})]}),c?(0,M.jsx)(N,{p:`lg`,style:{borderTop:`1px solid var(--mantine-color-default-border)`},children:de}):(0,M.jsxs)(uy,{value:o,onChange:s,children:[(0,M.jsx)(N,{style:{borderBottom:`1px solid var(--mantine-color-default-border)`,borderTop:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsxs)(uy.List,{style:{borderBottom:`none`,paddingLeft:`var(--mantine-spacing-md)`},children:[(0,M.jsx)(uy.Tab,{value:`overview`,children:X.packages_tab_overview()}),(0,M.jsx)(uy.Tab,{value:`functions`,children:V(`${X.packages_tab_functions()} (${w.length})`)}),O.length>0&&(0,M.jsx)(uy.Tab,{value:`http`,children:V(`${X.packages_surface_http()} (${O.length})`)}),te.length>0&&(0,M.jsx)(uy.Tab,{value:`channels`,children:V(`${X.packages_surface_channels()} (${te.length})`)}),k.length>0&&(0,M.jsx)(uy.Tab,{value:`secrets`,children:V(`${X.packages_surface_secrets()} (${k.length})`)}),ee.length>0&&(0,M.jsx)(uy.Tab,{value:`variables`,children:V(`${X.packages_surface_variables()} (${ee.length})`)})]})}),(0,M.jsx)(uy.Panel,{value:`overview`,p:`lg`,children:de}),(0,M.jsx)(uy.Panel,{value:`functions`,p:`lg`,children:w.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_no_functions()}):(0,M.jsx)(MZn,{children:w.map((e,t)=>{let n=C[e];return(0,M.jsxs)(NZn,{first:t===0,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.title??e)}),n?.title&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]}),n?.category&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(n.category)})]},e)})})}),O.length>0&&(0,M.jsx)(uy.Panel,{value:`http`,p:`lg`,children:(0,M.jsx)(MZn,{children:O.map(({method:e,route:t},n)=>(0,M.jsx)(NZn,{first:n===0,children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,w:64,ta:`center`,children:V(e.toUpperCase())}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t)})]})},`${e} ${t}`))})}),te.length>0&&(0,M.jsx)(uy.Panel,{value:`channels`,p:`lg`,children:(0,M.jsx)(MZn,{children:te.map((e,t)=>(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsx)(B,{size:`sm`,fw:500,ff:`monospace`,children:V(e)})},e))})}),k.length>0&&(0,M.jsx)(uy.Panel,{value:`secrets`,p:`lg`,children:(0,M.jsx)(MZn,{children:k.map((e,t)=>{let n=T[e];return(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.displayName??e)}),n?.secretId&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(n.secretId)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]})},e)})})}),ee.length>0&&(0,M.jsx)(uy.Panel,{value:`variables`,p:`lg`,children:(0,M.jsx)(MZn,{children:ee.map((e,t)=>{let n=E[e];return(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.displayName??e)}),n?.variableId&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(n.variableId)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]})},e)})})})]})]})},MZn=({children:e})=>(0,M.jsx)($m,{gap:0,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:e}),NZn=({first:e,children:t})=>(0,M.jsx)(gu,{justify:`space-between`,px:`md`,py:`xs`,wrap:`nowrap`,style:{borderTop:e?void 0:`1px solid var(--mantine-color-default-border)`},children:t}),PZn=e=>{let t=[];return e.split(/```[^\n]*\n?/).forEach((e,n)=>{if(n%2==1){let n=e.replace(/\n$/,``);n.trim()&&t.push({kind:`code`,text:n});return}for(let n of e.split(/\n\s*\n/)){let e=n.replace(/\s*\n\s*/g,` `).trim();e&&t.push({kind:`prose`,text:e})}}),t},FZn=e=>e.via===`core`?X.surface_origin_core({subpath:e.subpath}):e.via===`package`?X.surface_origin_package({packageName:e.packageName}):X.surface_origin_generated(),IZn={"create a function":X.surface_step_create_a_function,"enhance it":X.surface_step_enhance_it,"wire it up":X.surface_step_wire_it_up,"guard it":X.surface_step_guard_it,"orchestrate it":X.surface_step_orchestrate_it,"test it":X.surface_step_test_it},LZn={app:X.surface_entry_app,addon:X.surface_entry_addon},RZn={whiteSpace:`pre-wrap`,wordBreak:`break-word`},zZn={whiteSpace:`pre-wrap`},BZn=({symbol:e,specifier:t,usage:n})=>(0,M.jsxs)($m,{gap:`md`,p:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{fw:600,ff:`monospace`,children:V(e.name)}),(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(e.kind)})]}),e.deprecated&&(0,M.jsx)(ty,{color:`yellow`,title:X.surface_deprecated(),children:V(e.deprecated)}),e.docs?(0,M.jsx)($m,{gap:`sm`,children:PZn(e.docs).map((e,t)=>e.kind===`code`?(0,M.jsx)(tf,{block:!0,style:zZn,children:e.text},t):(0,M.jsx)(B,{size:`sm`,children:V(e.text)},t))}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.surface_undocumented()}),(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.surface_import_hint()}),(0,M.jsx)(tf,{block:!0,style:RZn,children:`import { ${e.name} } from '${t}'`})]}),(0,M.jsx)($v,{}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(FZn(e.origin))}),n&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.surface_used_in()}),n.imports===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.surface_unused()}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:n.imports===1?X.surface_imports_count_one():X.surface_imports_count({count:n.imports})}),(0,M.jsx)($m,{gap:2,children:n.files.map(e=>(0,M.jsx)(B,{size:`xs`,ff:`monospace`,style:RZn,children:V(e)},e))})]})]})]}),VZn=({id:e,size:t=20})=>{let n=W_(),{data:r}=Ji({queryKey:[`addon`,`icon`,e],queryFn:()=>n.invoke(`console:getAddonIcon`,{alias:e})});if(!r)return(0,M.jsx)(N,{style:{width:t,height:t}});let i=`data:image/svg+xml,${encodeURIComponent(r)}`;return(0,M.jsx)(`img`,{src:i,alt:``,width:t,height:t,style:{display:`block`}})},HZn=[{id:`startWorkflow`,name:`Start Workflow`,description:`Start another workflow`,icon:Nz},{id:`branch`,name:`If`,description:`Route items to different branches (true/false)`,icon:Xz},{id:`switch`,name:`Switch`,description:`Route items depending on defined expression or rules`,icon:gz},{id:`fanout`,name:`Loop Over Items (Split in Batches)`,description:`Split data into batches and iterate over each batch`,icon:Rz},{id:`parallel`,name:`Parallel`,description:`Execute multiple branches concurrently`,icon:cB},{id:`sleep`,name:`Wait`,description:`Wait before continuing with execution`,icon:oz},{id:`return`,name:`Return`,description:`Return a value from the workflow`,icon:QFt},{id:`cancel`,name:`Stop and Error`,description:`Throw an error in the workflow`,icon:iz}],UZn=[{id:`http`,name:`HTTP`,description:`REST API endpoints and webhooks`,icon:_z},{id:`channel`,name:`Channel`,description:`Real-time WebSocket communication`,icon:Iz},{id:`cli`,name:`CLI`,description:`Command-line interface commands`,icon:Qz},{id:`mcp`,name:`MCP`,description:`AI assistant tools (Model Context Protocol)`,icon:QR},{id:`scheduler`,name:`Scheduler`,description:`Time-based scheduled tasks`,icon:GFt},{id:`queue`,name:`Queue`,description:`Background job processing`,icon:Ez}],WZn={http:[{id:`httpSetHeader`,name:`Set Header`,description:`Set an HTTP response header`},{id:`httpSetStatus`,name:`Set Status`,description:`Set HTTP response status code`},{id:`httpRedirect`,name:`Redirect`,description:`Redirect to another URL`},{id:`httpSetCookie`,name:`Set Cookie`,description:`Set a response cookie`}],channel:[{id:`channelSend`,name:`Send Message`,description:`Send a message to the channel`},{id:`channelBroadcast`,name:`Broadcast`,description:`Broadcast to all channel subscribers`},{id:`channelClose`,name:`Close Connection`,description:`Close the WebSocket connection`}],mcp:[{id:`mcpDisableTool`,name:`Disable Tool`,description:`Disable an MCP tool`},{id:`mcpEnableTool`,name:`Enable Tool`,description:`Enable an MCP tool`}],session:[{id:`sessionGet`,name:`Get Session`,description:`Get the current user session`},{id:`sessionSet`,name:`Set Session`,description:`Set/update the user session`},{id:`sessionClear`,name:`Clear Session`,description:`Clear the user session`}]},GZn=({icon:e,title:t,description:n,onClick:r,showArrow:i=!0})=>{let[a,o]=(0,A.useState)(!1);return(0,M.jsx)(ru,{onClick:r,p:`md`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:PB.drawerButton,style:{backgroundColor:a?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(N,{className:PB.drawerIconBox,children:(0,M.jsx)(e,{size:20})}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:t}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n})]})]}),i&&(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-default-border)`})]})})},q3=({title:e,iconId:t,onClick:n})=>(0,M.jsx)(ru,{onClick:n,p:`md`,className:PB.drawerButton,children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(WR,{size:16}),t&&(0,M.jsx)(VZn,{id:t,size:16}),(0,M.jsx)(B,{size:`sm`,fw:600,children:e})]})}),KZn=({icon:e,name:t,description:n,onClick:r})=>{let[i,a]=(0,A.useState)(!1);return(0,M.jsx)(ru,{onClick:r,p:`md`,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),className:PB.drawerButton,style:{backgroundColor:i?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[e&&(0,M.jsx)(N,{className:PB.drawerIconBox,children:(0,M.jsx)(e,{size:20})}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:t}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n})]})]})})},qZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Flow`),onClick:e}),(0,M.jsx)($m,{gap:0,children:HZn.map(e=>(0,M.jsx)(KZn,{icon:e.icon,name:V(e.name),description:V(e.description)},e.id))})]}),JZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Triggers`),onClick:e}),(0,M.jsx)($m,{gap:0,children:UZn.map(e=>(0,M.jsx)(KZn,{icon:e.icon,name:V(e.name),description:V(e.description)},e.id))})]}),YZn=[{key:`http`,title:`HTTP`,icon:_z},{key:`channel`,title:`Channel`,icon:Iz},{key:`mcp`,title:`MCP`,icon:QR},{key:`session`,title:`Session`,icon:eLt}],XZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Wire`),onClick:e}),(0,M.jsx)($m,{gap:0,children:YZn.map(({key:e,title:t})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(N,{px:`md`,py:`xs`,bg:`var(--mantine-color-default-hover)`,children:(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,children:V(t)})}),WZn[e].map(e=>(0,M.jsx)(KZn,{name:V(e.name),description:V(e.description)},e.id))]},e))})]}),ZZn=({onBack:e})=>{let{isLoading:t,isError:n}=K4t();return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Transform`),onClick:e}),t&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load transforms`)})}),!t&&!n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No transforms available`)})})]})},QZn=({onBack:e})=>{let{data:t,isLoading:n,isError:r}=G4t(),{data:i}=K4t(),a=A.useMemo(()=>{if(!t)return[];let e=new Set;if(i)for(let t of i)for(let n of Object.keys(t.functions??{}))e.add(n);return Object.values(t).filter(t=>!e.has(t.name))},[t,i]);return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Functions`),onClick:e}),n&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),r&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load functions`)})}),a.length===0&&!n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No functions available`)})}),a.length>0&&(0,M.jsx)($m,{gap:0,children:a.map(e=>(0,M.jsx)(KZn,{icon:sz,name:V(e.name),description:V(e.summary||e.description||``)},e.name))})]})},$Zn=({addon:e,onSelect:t})=>{let[n,r]=(0,A.useState)(!1),i=Object.keys(e.functions??{}).length;return(0,M.jsx)(ru,{onClick:t,p:`md`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:PB.drawerButton,style:{backgroundColor:n?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,className:PB.flexGrow,children:[(0,M.jsx)(VZn,{id:e.id,size:20}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.displayName)}),(0,M.jsx)(sH,{type:`dynamic`,badge:`functions`,value:i})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)})]})]}),(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-default-border)`})]})})},eQn=({onBack:e,onSelectAddon:t})=>{let{data:n,isLoading:r,isError:i}=K4t(),a=A.useMemo(()=>n?n.filter(e=>e.id!==`pikku`):[],[n]);return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Addons`),onClick:e}),r&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),i&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load addons`)})}),a.length===0&&!r&&!i&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No addons available`)})}),a.length>0&&(0,M.jsx)($m,{gap:0,children:a.map(e=>(0,M.jsx)($Zn,{addon:e,onSelect:()=>t(e)},e.id))})]})},tQn=({addon:e,onBack:t})=>{let n=Object.entries(e.functions??{}),r=Object.keys(e.secrets??{});return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(e.displayName),iconId:e.id,onClick:t}),(0,M.jsxs)(N,{p:`md`,className:PB.drawerButton,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)}),r.length>0&&(0,M.jsxs)(N,{mt:`sm`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,mb:`xs`,children:V(`Secrets`)}),(0,M.jsx)($m,{gap:`xs`,children:r.map(e=>(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(yz,{size:14,color:`var(--mantine-color-default-border)`}),(0,M.jsx)(B,{size:`sm`,children:V(e)})]},e))})]})]}),(0,M.jsx)($m,{gap:0,children:n.map(([e,t])=>(0,M.jsx)(KZn,{name:V(t?.displayName??e),description:V(t?.description??``)},e))})]})},nQn=()=>{let[e,t]=(0,A.useState)(`main`);return e===`functions`?(0,M.jsx)(QZn,{onBack:()=>t(`main`)}):e===`flow`?(0,M.jsx)(qZn,{onBack:()=>t(`main`)}):e===`triggers`?(0,M.jsx)(JZn,{onBack:()=>t(`main`)}):e===`wire`?(0,M.jsx)(XZn,{onBack:()=>t(`main`)}):e===`transform`?(0,M.jsx)(ZZn,{onBack:()=>t(`main`)}):e===`addons`?(0,M.jsx)(eQn,{onBack:()=>t(`main`),onSelectAddon:e=>t({type:`addonDetail`,addon:e})}):typeof e==`object`&&e.type===`addonDetail`?(0,M.jsx)(tQn,{addon:e.addon,onBack:()=>t(`addons`)}):(0,M.jsxs)(N,{children:[(0,M.jsx)(N,{p:`md`,className:PB.drawerButton,children:(0,M.jsx)(B,{size:`sm`,fw:600,children:V(`Add a node`)})}),(0,M.jsxs)($m,{gap:0,children:[(0,M.jsx)(GZn,{icon:sz,title:V(`Function`),description:V(`Call an internal function or RPC`),onClick:()=>t(`functions`)}),(0,M.jsx)(GZn,{icon:gz,title:V(`Flow`),description:V(`Branch, merge or loop the flow, etc.`),onClick:()=>t(`flow`)}),(0,M.jsx)(GZn,{icon:oB,title:V(`Transform`),description:V(`Edit, filter, and transform data`),onClick:()=>t(`transform`)}),(0,M.jsx)(GZn,{icon:Pz,title:V(`Addons`),description:V(`Third-party services and APIs`),onClick:()=>t(`addons`)}),(0,M.jsx)(GZn,{icon:Iz,title:V(`Triggers`),description:V(`HTTP, WebSocket, CLI, MCP, Queue, Scheduler`),onClick:()=>t(`triggers`)}),(0,M.jsx)(GZn,{icon:WFt,title:V(`Wire`),description:V(`HTTP headers, session, channel, MCP tools`),onClick:()=>t(`wire`)})]})]})},rQn=e=>{switch(e.type){case`addStep`:return(0,M.jsx)(nQn,{});default:return null}},J3=()=>(Pt(),(0,M.jsx)(B,{c:`dimmed`,size:`sm`,ta:`center`,children:X.common_not_available()})),iQn=({type:e,isHoverable:t,onMouseEnter:n,onMouseLeave:r})=>(0,M.jsx)(sH,{type:`workflowInputType`,value:e,className:t?PB.clickableText:void 0,onMouseEnter:n,onMouseLeave:r}),aQn=e=>{if(e==null)return{type:`$static`,displayValue:(0,M.jsx)(B,{c:`dimmed`,size:`sm`,children:V(`null`)})};if(typeof e==`object`&&e.$template){let t=e.$template,n=[];for(let e=0;e<t.parts.length;e++)if(t.parts[e]&&n.push((0,M.jsx)(B,{span:!0,size:`sm`,ff:`monospace`,children:V(t.parts[e])},`part-${e}`)),e<t.expressions.length){let r=t.expressions[e];if(typeof r==`object`&&r.$ref){let t=r.$ref===`trigger`?`$trigger`:`$ref`,i=r.path?`.${r.path}`:``;n.push((0,M.jsx)(sH,{type:`label`,color:rH[t]?.color||`gray`,children:V(r.$ref+i)},`expr-${e}`))}else n.push((0,M.jsx)(sH,{type:`label`,color:rH.$expression?.color||`cyan`,children:V(String(r))},`expr-${e}`))}return{type:`$template`,displayValue:(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:n})}}if(typeof e==`object`&&e.$ref){let t=e.$ref===`trigger`||e.$ref===`$item`,n=e.$ref===`trigger`?`$trigger`:`$ref`,r=e.path?`.${e.path}`:``;return{type:n,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$ref+r)}),isHoverable:!t,hoverRef:e.$ref}}return typeof e==`object`&&e.$state?{type:`$state`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$state)})}:typeof e==`object`&&e.$expression?{type:`$expression`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$expression)})}:typeof e==`object`?{type:`$static`,displayValue:(0,M.jsx)(YQ,{code:JSON.stringify(e,null,2),language:`json`})}:{type:`$static`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e))})}},oQn=({stepId:e})=>{let t=pY(e);return t?.flow||t?.rpcName,(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Options`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.options?(0,M.jsx)(YQ,{code:JSON.stringify(t.options,null,2),language:`json`}):(0,M.jsx)(J3,{})})})]})},sQn=({stepId:e})=>{let t=pY(e),{findNodeByOutputVar:n,setReferencedNode:r}=dY(),i=t?.input,a=i&&Object.keys(i).length>0,o=e=>{if(e){let t=n(e);r(t||null)}else r(null)};return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Input Parameters`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:a?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Parameter`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Value`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(i).map(([e,t])=>{let n=aQn(t);return(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(iQn,{type:n.type,isHoverable:n.isHoverable,onMouseEnter:n.isHoverable&&n.hoverRef?()=>o(n.hoverRef):void 0,onMouseLeave:n.isHoverable?()=>o(null):void 0})}),(0,M.jsx)(mh.Td,{children:n.displayValue})]},e)})})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},cQn=e=>e?e.type===`array`&&e.items?`${cQn(e.items)}[]`:e.$ref?e.$ref.replace(`#/definitions/`,``):e.type||`unknown`:`unknown`,lQn=({stepId:e,showOutputs:t=!1})=>{let n=pY(e),r=n?.outputs,i=n?.outputVar,a=n?.rpcName,o=r&&typeof r==`object`&&Object.keys(r).length>0,{data:s,isLoading:c}=J4t(a);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output Schema`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:c?(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(fu,{size:`sm`})}):s?.properties?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Property`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(s.properties).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)}),s.required?.includes(e)&&(0,M.jsx)(sH,{type:`flag`,flag:`required`})]})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(cQn(t))})})]},e))})]})}):s?(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(d6t,{schema:s})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output Variable`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:i?(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{ff:`monospace`,children:V(i)}),c&&(0,M.jsx)(fu,{size:`sm`})]}):(0,M.jsx)(J3,{})})})]}),t&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Outputs`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:o?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Output`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Source`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(r).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsxs)(mh.Td,{children:[t?.from&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(t.from)}),t.name&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.name)}),t.expression&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.expression)}),t.path&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`.`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.path)})]})]}),!t?.from&&(0,M.jsx)(tf,{children:JSON.stringify(t,null,2)})]})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})]})},uQn=({stepId:e})=>{let t=pY(e),n=t?.flow;return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(n===`branch`?`Branches`:n===`switch`?`Cases`:n===`parallel`?`Children`:n===`fanout`?`Fanout`:`Flow`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:n===`branch`&&t?.branches?(0,M.jsx)($m,{gap:`xs`,children:t.branches.map((e,t)=>(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(t===0?`if`:`else if`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.condition?.expression||`true`)})]}),e.entry&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.entry)})]})]},t))}):n===`switch`&&t?.cases?(0,M.jsxs)($m,{gap:`xs`,children:[t.cases.map((e,t)=>(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(`case`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e.value))})]}),e.entry&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.entry)})]})]},t)),t.defaultEntry&&(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsx)(gu,{gap:`xs`,mb:`xs`,children:(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(`default`)})}),(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.defaultEntry)})]})]})]}):n===`parallel`&&t?.children?(0,M.jsx)($m,{gap:`xs`,children:t.children.map((e,t)=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e)},t))}):n===`fanout`?(0,M.jsxs)($m,{gap:`xs`,children:[t?.sourceVar&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Source:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.sourceVar)})]}),t?.itemVar&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Item:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.itemVar)})]}),t?.mode&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Mode:`)}),(0,M.jsx)(sH,{type:`label`,children:V(t.mode)})]}),t?.childEntry&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Child Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.childEntry)})]})]}):(0,M.jsx)(J3,{})})})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Next Step`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.next?(0,M.jsx)(B,{ff:`monospace`,children:V(t.next)}):(0,M.jsx)(J3,{})})})]})]})},dQn=({value:e})=>{if(e==null)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,fs:`italic`,children:V(`null`)});if(typeof e==`string`)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`teal.4`,children:V(`"${e}"`)});if(typeof e==`number`)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`orange.4`,children:e});if(typeof e==`boolean`)return(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e?`green`:`red`,children:V(String(e))});if(Array.isArray(e))return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`[${e.length}]`)});if(typeof e==`object`){let t=Object.keys(e).length;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`{${t}}`)})}return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e))})},fQn=({name:e,value:t,depth:n})=>{let r=typeof t==`object`&&!!t&&!Array.isArray(t),i=Array.isArray(t),a=r&&Object.keys(t).length>0||i&&t.length>0,[o,s]=(0,A.useState)(n<1&&a),c=r?Object.entries(t):i?t.map((e,t)=>[String(t),e]):[];return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(mh.Tr,{onClick:()=>a&&s(e=>!e),style:{cursor:a?`pointer`:`default`},children:[(0,M.jsx)(mh.Td,{style:{paddingLeft:n*20+8},children:(0,M.jsxs)(N,{style:{display:`flex`,alignItems:`center`,gap:4},children:[a?o?(0,M.jsx)(ez,{size:12,color:`var(--app-text-dim)`}):(0,M.jsx)(tz,{size:12,color:`var(--app-text-dim)`}):(0,M.jsx)(N,{w:12}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,c:`var(--app-text)`,children:V(e)})]})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(dQn,{value:t})})]}),a&&o&&c.map(([e,t])=>(0,M.jsx)(fQn,{name:e,value:t,depth:n+1},e))]})},pQn=({data:e})=>{if(e==null)return(0,M.jsx)(B,{c:`dimmed`,size:`sm`,fs:`italic`,children:V(`null`)});if(typeof e!=`object`)return(0,M.jsx)(dQn,{value:e});let t=Array.isArray(e)?e.map((e,t)=>[String(t),e]):Object.entries(e);return t.length===0?(0,M.jsx)(B,{c:`dimmed`,size:`sm`,fs:`italic`,children:V(Array.isArray(e)?`[ ]`:`{ }`)}):(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`sm`,styles:{th:{color:`var(--app-text-dim)`,fontFamily:`var(--mantine-font-family-monospace)`,fontSize:9,fontWeight:600,letterSpacing:`0.08em`,textTransform:`uppercase`,borderBottom:`1px solid var(--app-border)`},td:{borderBottom:`1px solid var(--app-border)`}},children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`Field`}),(0,M.jsx)(mh.Th,{children:`Value`})]})}),(0,M.jsx)(mh.Tbody,{children:t.map(([e,t])=>(0,M.jsx)(fQn,{name:e,value:t,depth:0},e))})]})},mQn=e=>e?new Date(e).toLocaleString():`—`,hQn=(e,t)=>{if(!e||!t)return null;let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`},gQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);if(!t)return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(QQ,{children:V(`Execution`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]});let n=t.succeededAt||t.failedAt,r=hQn(t.runningAt||t.createdAt,n);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QQ,{children:V(`Execution`)}),(0,M.jsx)(sH,{type:`status`,value:t.status,variant:`filled`})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Timing`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsx)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:(0,M.jsxs)(mh.Tbody,{children:[(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Created`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.createdAt))})})]}),t.runningAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Started`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.runningAt))})})]}),t.succeededAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Succeeded`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.succeededAt))})})]}),t.failedAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Failed`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.failedAt))})})]}),r&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Duration`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,children:V(r)})})]}),(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Attempts`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(t.attemptCount))})})]})]})})})})]})]})},_Qn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Input Data`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.data?(0,M.jsx)(pQn,{data:t.data}):(0,M.jsx)(J3,{})})})]})},vQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Output Data`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.result?(0,M.jsx)(pQn,{data:t.result}):(0,M.jsx)(J3,{})})})]})},yQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return t?.error?(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(QQ,{children:V(`Error`)}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Message`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`red`,children:V(typeof t.error.message==`string`?t.error.message:JSON.stringify(t.error.message,null,2))})})})]}),t.error.code&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Code`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(sH,{type:`label`,color:`red`,children:V(t.error.code)})})})]}),t.error.stack&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Stack Trace`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(YQ,{code:t.error.stack,language:`text`})})})]})]}):(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Error`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},bQn=({stepId:e})=>{let{data:t}=sXt(lY()?.selectedRunId??null),n=A.useMemo(()=>!t||!Array.isArray(t)?[]:t.filter(t=>t.stepName===e),[t,e]);return n.length<=1?(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Retry History`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{c:`dimmed`,size:`sm`,ta:`center`,children:V(`No retries`)})})})]}):(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QQ,{children:V(`Retry History`)}),(0,M.jsx)(sH,{type:`label`,children:V(`${n.length} attempts`)})]}),(0,M.jsx)(yye,{active:n.length-1,bulletSize:24,lineWidth:2,children:n.map((e,t)=>{let n=e.status===`succeeded`?(0,M.jsx)(nz,{size:14}):e.status===`failed`?(0,M.jsx)(tB,{size:14}):e.status===`running`?(0,M.jsx)(Nz,{size:14}):(0,M.jsx)(oz,{size:14});return(0,M.jsxs)(yye.Item,{bullet:n,color:hRt[e.status]?.color||`gray`,title:V(`Attempt ${e.attemptCount}`),children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`status`,value:e.status}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(mQn(e.createdAt))})]}),e.error&&(0,M.jsx)(B,{size:`sm`,c:`red`,mt:4,children:V(typeof e.error.message==`string`?e.error.message:JSON.stringify(e.error.message,null,2))})]},t)})})]})},xQn=[`WORKFLOW_SUSPENDED`,`RPC_NOT_FOUND`],SQn=(e,t)=>e===`suspended`&&!!t&&(t.code===void 0||xQn.includes(t.code)),CQn=e=>e?.code===`RPC_NOT_FOUND`?{title:`Waiting on a missing function`,hint:`Deploy the function below, then resume the run.`}:{title:`Waiting to be resumed`,hint:`This run is paused and will continue once it is resumed.`},wQn=e=>e?typeof e.message==`string`?e.message:JSON.stringify(e.message??e,null,2):``,TQn={http:`/apis?tab=http`,channel:`/apis?tab=channels`,mcp:`/apis?tab=mcp`,gateway:`/apis?tab=gateways`,cli:`/apis?tab=cli`,rpc:`/apis?tab=http`,scheduler:`/jobs?tab=schedulers`,queue:`/jobs?tab=queues`,trigger:`/jobs?tab=triggers`,triggerSource:`/jobs?tab=triggers`,agent:`/apis/agents`},EQn=({workflowId:e})=>{let{workflow:t}=dY();return(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(hz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)}),t?.graphHash&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`#${t.graphHash}`)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t?.summary||`No summary`)})]})},DQn=({wiredTo:e})=>{let t=Uv();return e.transports.length===0&&e.jobs.length===0?null:(0,M.jsxs)($m,{gap:`sm`,children:[e.transports.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wired To`)}),(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.transports.map(e=>(0,M.jsx)(Jv,{component:t,to:TQn[e.type]||`#`,underline:`never`,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(e.type),className:PB.clickableText,children:V(e.name)})},e.id))})]}),e.jobs.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Jobs`)}),(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.jobs.map(e=>(0,M.jsx)(Jv,{component:t,to:TQn[e.type]||`#`,underline:`never`,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(e.type),className:PB.clickableText,children:V(e.name)})},e.id))})]})]})},OQn=({workflowId:e})=>{let{workflow:t}=dY(),n=t?.middleware||[],r=t?.permissions||[],i=t?.tags||[];return(0,M.jsxs)($m,{gap:`lg`,children:[r.length>0&&(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})}),t?.wiredTo&&(0,M.jsx)(DQn,{wiredTo:t.wiredTo}),t?.pikkuFuncId&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Handler Function`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.pikkuFuncId)})]}),(0,M.jsx)(e$,{description:t?.description,middleware:n,permissions:r,tags:i})]})},kQn=({workflowId:e})=>{let{workflow:t,setFocusedNode:n}=dY(),r=t?.nodes,i=r&&Object.keys(r).length>0;return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Nodes`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:i?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,highlightOnHover:!0,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(r).map(([e,t])=>(0,M.jsxs)(mh.Tr,{onMouseEnter:()=>n(e),onMouseLeave:()=>n(null),children:[(0,M.jsxs)(mh.Td,{children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(t.stepName||e)}),t.stepName&&t.stepName!==e&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e)})]}),(0,M.jsxs)(mh.Td,{children:[t.flow&&(0,M.jsx)(sH,{type:`label`,children:V(t.flow)}),t.rpcName&&(0,M.jsx)(sH,{type:`label`,color:`green`,children:V(`RPC`)})]})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},AQn=({workflowId:e})=>{let{workflow:t,setFocusedNode:n}=dY(),r=lY(),{openWorkflowStep:i}=qB(),a=t?.nodes,o=r?.stepStates,s=a?Object.entries(a).filter(([e])=>o?.has(e)):[];return s.length===0?null:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Nodes`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,highlightOnHover:!0,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Status`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Runs`})]})}),(0,M.jsx)(mh.Tbody,{children:s.map(([e,t])=>{let r=o.get(e);return(0,M.jsxs)(mh.Tr,{className:PB.clickableText,onMouseEnter:()=>n(e),onMouseLeave:()=>n(null),onClick:()=>i(e,t.flow||`rpc`),children:[(0,M.jsxs)(mh.Td,{children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(t.stepName||e)}),t.stepName&&t.stepName!==e&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e)})]}),(0,M.jsxs)(mh.Td,{children:[t.flow&&(0,M.jsx)(sH,{type:`label`,children:V(t.flow)}),t.rpcName&&(0,M.jsx)(sH,{type:`label`,color:`green`,children:V(t.rpcName)})]}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(sH,{type:`status`,value:r.status})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(r.attemptCount))})})]},e)})})]})})})]})},jQn=({workflowId:e})=>{let{workflow:t}=dY(),n=t?.context,r=n&&Object.keys(n).length>0;return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`State Variables`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:r?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Variable`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Default`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(n).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(sH,{type:`label`,children:V(t.type||`unknown`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(t.default===void 0?`—`:String(t.default))})})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},MQn=e=>e?new Date(e).toLocaleString():`—`,NQn=(e,t)=>{if(!e||!t)return null;let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`},PQn=({input:e})=>(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Input`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(pQn,{data:e})})})]}),FQn=({workflowId:e})=>{let t=lY()?.runData;if(!t)return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Run`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]});let n=t.status===`completed`||t.status===`failed`||t.status===`cancelled`?t.updatedAt:void 0,r=NQn(t.createdAt,n);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(ZQ,{children:V(`Run`)}),(0,M.jsx)(sH,{type:`status`,value:t.status,variant:`filled`})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Details`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsx)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:(0,M.jsxs)(mh.Tbody,{children:[(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Run ID`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.id)})})]}),(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Started`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(MQn(t.createdAt))})})]}),n&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Ended`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(MQn(n))})})]}),r&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Duration`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,children:V(r)})})]}),t.wire&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Wire`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(t.wire.type),children:V(t.wire.type)}),t.wire.id&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.wire.id)})]})})]}),t.graphHash&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Graph Hash`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.graphHash)})})]})]})})})})]}),(0,M.jsx)(AQn,{workflowId:e}),t.input&&(0,M.jsx)(PQn,{input:t.input}),t.output&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(pQn,{data:t.output})})})]}),SQn(t.status,t.error)&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(CQn(t.error).title)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(wQn(t.error))}),CQn(t.error).hint&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(CQn(t.error).hint)})]})})})]}),t.error&&!SQn(t.status,t.error)&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Error`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`red`,children:V(typeof t.error.message==`string`?t.error.message:JSON.stringify(t.error.message??t.error,null,2))})})})]})]})},IQn=a(o(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define(`cronstrue`,[],r):typeof e==`object`?e.cronstrue=r():n.cronstrue=r()})(globalThis,()=>(()=>{var e={949(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.CronParser=void 0;var r=n(515);t.CronParser=function(){function e(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=!1),this.expression=e,this.dayOfWeekStartIndexZero=t,this.monthStartIndexZero=n}return e.prototype.parse=function(){var e,t=this.expression??``;if(t===`@reboot`)return e=[`@reboot`,``,``,``,``,``,``],e;if(t.startsWith(`@`)){var n=this.parseSpecial(this.expression);e=this.extractParts(n)}else e=this.extractParts(this.expression);return this.normalize(e),this.validate(e),e},e.prototype.parseSpecial=function(e){var t={"@yearly":`0 0 1 1 *`,"@annually":`0 0 1 1 *`,"@monthly":`0 0 1 * *`,"@weekly":`0 0 * * 0`,"@daily":`0 0 * * *`,"@midnight":`0 0 * * *`,"@hourly":`0 * * * *`,"@reboot":`@reboot`}[e];if(!t)throw Error(`Unknown special expression.`);return t},e.prototype.extractParts=function(e){if(!this.expression)throw Error(`cron expression is empty`);for(var t=e.trim().split(/[ ]+/),n=0;n<t.length;n++)if(t[n].includes(`,`)){var r=t[n].split(`,`).map(function(e){return e.trim()}).filter(function(e){return e!==``}).map(function(e){return isNaN(Number(e))?e:Number(e)}).filter(function(e){return e!==null&&e!==``});r.length===0&&r.push(`*`),r.sort(function(e,t){return e!==null&&t!==null?e-t:0}),t[n]=r.map(function(e){return e===null?``:e.toString()}).join(`,`)}if(t.length<5)throw Error(`Expression has only ${t.length} part${t.length==1?``:`s`}. At least 5 parts are required.`);if(t.length==5)t.unshift(``),t.push(``);else if(t.length==6)/\d{4}$/.test(t[5])||t[4]==`?`||t[2]==`?`?t.unshift(``):t.push(``);else if(t.length>7)throw Error(`Expression has ${t.length} parts; too many!`);return t},e.prototype.normalize=function(e){var t=this;if(e[3]=e[3].replace(`?`,`*`),e[5]=e[5].replace(`?`,`*`),e[2]=e[2].replace(`?`,`*`),e[0].indexOf(`0/`)==0&&(e[0]=e[0].replace(`0/`,`*/`)),e[1].indexOf(`0/`)==0&&(e[1]=e[1].replace(`0/`,`*/`)),e[2].indexOf(`0/`)==0&&(e[2]=e[2].replace(`0/`,`*/`)),e[3].indexOf(`1/`)==0&&(e[3]=e[3].replace(`1/`,`*/`)),e[4].indexOf(`1/`)==0&&(e[4]=e[4].replace(`1/`,`*/`)),e[6].indexOf(`1/`)==0&&(e[6]=e[6].replace(`1/`,`*/`)),e[5]=e[5].replace(/(^\d)|([^#/\s]\d)/g,function(e){var n=e.replace(/\D/,``),r=n;return t.dayOfWeekStartIndexZero?n==`7`&&(r=`0`):r=(parseInt(n)-1).toString(),e.replace(n,r)}),e[5]==`L`&&(e[5]=`6`),e[3]==`?`&&(e[3]=`*`),e[3].indexOf(`W`)>-1&&(e[3].indexOf(`,`)>-1||e[3].indexOf(`-`)>-1))throw Error(`The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.`);var n={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var r in n)e[5]=e[5].replace(new RegExp(r,`gi`),n[r].toString());e[4]=e[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(e){var n=e.replace(/\D/,``),r=n;return t.monthStartIndexZero&&(r=(parseInt(n)+1).toString()),e.replace(n,r)});var i={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var a in i)e[4]=e[4].replace(new RegExp(a,`gi`),i[a].toString());e[0]==`0`&&(e[0]=``),!/\*|\-|\,|\//.test(e[2])&&(/\*|\//.test(e[1])||/\*|\//.test(e[0]))&&(e[2]+=`-${e[2]}`);for(var o=0;o<e.length;o++)if(e[o].indexOf(`,`)!=-1&&(e[o]=e[o].split(`,`).filter(function(e){return e!==``}).join(`,`)||`*`),e[o]==`*/1`&&(e[o]=`*`),e[o].indexOf(`/`)>-1&&!/^\*|\-|\,/.test(e[o])){var s=null;switch(o){case 4:s=`12`;break;case 5:s=`6`;break;case 6:s=`9999`;break;default:s=null}if(s!==null){var c=e[o].split(`/`);e[o]=`${c[0]}-${s}/${c[1]}`}}},e.prototype.validate=function(e){var t=`0-9,\\-*/`;this.validateOnlyExpectedCharactersFound(e[0],t),this.validateOnlyExpectedCharactersFound(e[1],t),this.validateOnlyExpectedCharactersFound(e[2],t),this.validateOnlyExpectedCharactersFound(e[3],`0-9,\\-*/LW`),this.validateOnlyExpectedCharactersFound(e[4],t),this.validateOnlyExpectedCharactersFound(e[5],`0-9,\\-*/L#`),this.validateOnlyExpectedCharactersFound(e[6],t),this.validateAnyRanges(e)},e.prototype.validateAnyRanges=function(e){r.default.secondRange(e[0]),r.default.minuteRange(e[1]),r.default.hourRange(e[2]),r.default.dayOfMonthRange(e[3]),r.default.monthRange(e[4],this.monthStartIndexZero),r.default.dayOfWeekRange(e[5],this.dayOfWeekStartIndexZero)},e.prototype.validateOnlyExpectedCharactersFound=function(e,t){var n=e.match(RegExp(`[^${t}]+`,`gi`));if(n&&n.length)throw Error(`Expression contains invalid values: '${n.toString()}'`)},e}()},333(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionDescriptor=void 0;var r=n(823),i=n(949);t.ExpressionDescriptor=function(){function e(t,n){if(this.expression=t,this.options=n,this.expressionParts=[,,,,,],!this.options.locale&&e.defaultLocale&&(this.options.locale=e.defaultLocale),!e.locales[this.options.locale]){var r=Object.keys(e.locales)[0];console.warn(`Locale '${this.options.locale}' could not be found; falling back to '${r}'.`),this.options.locale=r}this.i18n=e.locales[this.options.locale],n.use24HourTimeFormat===void 0&&(n.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return e.toString=function(t,n){var r=n===void 0?{}:n,i=r.throwExceptionOnParseError,a=i===void 0||i,o=r.verbose,s=o!==void 0&&o,c=r.dayOfWeekStartIndexZero,l=c===void 0||c,u=r.monthStartIndexZero,d=u!==void 0&&u,f=r.use24HourTimeFormat,p=r.trimHoursLeadingZero,m=p!==void 0&&p,h=r.locale,g=h===void 0?null:h,_=r.logicalAndDayFields,v={throwExceptionOnParseError:a,verbose:s,dayOfWeekStartIndexZero:l,monthStartIndexZero:d,use24HourTimeFormat:f,trimHoursLeadingZero:m,locale:g,logicalAndDayFields:_!==void 0&&_};return v.tzOffset&&console.warn(`'tzOffset' option has been deprecated and is no longer supported.`),new e(t,v).getFullDescription()},e.initialize=function(t,n){n===void 0&&(n=`en`),e.specialCharacters=[`/`,`-`,`,`,`*`],e.defaultLocale=n,t.load(e.locales)},e.prototype.getFullDescription=function(){var e,t=``;try{var n=new i.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=n.parse(),this.expressionParts[0]===`@reboot`)return(e=this.i18n).atReboot?.call(e)||`Run once, at startup`;var r=this.getTimeOfDayDescription(),a=this.getDayOfMonthDescription(),o=this.getMonthDescription(),s=this.getDayOfWeekDescription(),c=this.getYearDescription();t+=r+a+s+o+c,t=this.transformVerbosity(t,!!this.options.verbose),t=t.charAt(0).toLocaleUpperCase()+t.substr(1)}catch(e){if(!this.options.throwExceptionOnParseError)t=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw`${e}`}return t},e.prototype.getTimeOfDayDescription=function(){var t=this.expressionParts[0],n=this.expressionParts[1],i=this.expressionParts[2],a=``;if(!r.StringUtilities.containsAny(n,e.specialCharacters)&&!r.StringUtilities.containsAny(i,e.specialCharacters)&&!r.StringUtilities.containsAny(t,e.specialCharacters))a+=this.i18n.atSpace()+this.formatTime(i,n,t);else if(!t&&n.indexOf(`-`)>-1&&!(n.indexOf(`,`)>-1)&&!(n.indexOf(`/`)>-1)&&!r.StringUtilities.containsAny(i,e.specialCharacters)){var o=n.split(`-`);a+=r.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(i,o[0],``),this.formatTime(i,o[1],``))}else if(!t&&i.indexOf(`,`)>-1&&i.indexOf(`-`)==-1&&i.indexOf(`/`)==-1&&!r.StringUtilities.containsAny(n,e.specialCharacters)){var s=i.split(`,`);a+=this.i18n.at();for(var c=0;c<s.length;c++)a&&(a+=` `),a+=this.formatTime(s[c],n,``),c<s.length-2&&(a+=`,`),c==s.length-2&&(a+=this.i18n.spaceAnd())}else{var l=this.getSecondsDescription(),u=this.getMinutesDescription(),d=this.getHoursDescription();if(a+=l,a&&u&&(a+=`, `),a+=u,u===d)return a;a&&d&&(a+=`, `),a+=d}return a},e.prototype.getSecondsDescription=function(){var e=this;return this.getSegmentDescription(this.expressionParts[0],this.i18n.everySecond(),function(e){return e},function(t){return r.StringUtilities.format(e.i18n.everyX0Seconds(t),t)},function(t){return e.i18n.secondsX0ThroughX1PastTheMinute()},function(t){return t==`0`?``:parseInt(t)<20?e.i18n.atX0SecondsPastTheMinute(t):e.i18n.atX0SecondsPastTheMinuteGt20()||e.i18n.atX0SecondsPastTheMinute(t)})},e.prototype.getMinutesDescription=function(){var e=this,t=this.expressionParts[0],n=this.expressionParts[2];return this.getSegmentDescription(this.expressionParts[1],this.i18n.everyMinute(),function(e){return e},function(t){return r.StringUtilities.format(e.i18n.everyX0Minutes(t),t)},function(t){return e.i18n.minutesX0ThroughX1PastTheHour()},function(r){var i;try{return r==`0`&&n.indexOf(`/`)==-1&&t==``?e.i18n.everyHour():r==`0`?(i=e.i18n).onTheHour?.call(i)||e.i18n.atX0MinutesPastTheHour(r):parseInt(r)<20?e.i18n.atX0MinutesPastTheHour(r):e.i18n.atX0MinutesPastTheHourGt20()||e.i18n.atX0MinutesPastTheHour(r)}catch{return e.i18n.atX0MinutesPastTheHour(r)}})},e.prototype.getHoursDescription=function(){var e=this,t=this.expressionParts[2],n=0,i=[];t.split(`/`)[0].split(`,`).forEach(function(e){var t=e.split(`-`);t.length===2&&i.push({value:t[1],index:n+1}),n+=t.length});var a=0;return this.getSegmentDescription(t,this.i18n.everyHour(),function(t){var n=i.find(function(e){return e.value===t&&e.index===a})&&e.expressionParts[1]!==`0`;return a++,n?e.formatTime(t,`59`,``):e.formatTime(t,`0`,``)},function(t){return r.StringUtilities.format(e.i18n.everyX0Hours(t),t)},function(t){return e.i18n.betweenX0AndX1()},function(t){return e.i18n.atX0()})},e.prototype.getDayOfWeekDescription=function(){var e=this,t=this.i18n.daysOfTheWeek(),n=null;return n=this.expressionParts[5]==`*`?``:this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(n,r){var i=n;n.indexOf(`#`)>-1?i=n.substring(0,n.indexOf(`#`)):n.indexOf(`L`)>-1&&(i=i.replace(`L`,``));var a=parseInt(i),o=e.i18n.daysOfTheWeekInCase?e.i18n.daysOfTheWeekInCase(r)[a]:t[a];if(n.indexOf(`#`)>-1){var s=null,c=n.substring(n.indexOf(`#`)+1),l=n.substring(0,n.indexOf(`#`));switch(c){case`1`:s=e.i18n.first(l);break;case`2`:s=e.i18n.second(l);break;case`3`:s=e.i18n.third(l);break;case`4`:s=e.i18n.fourth(l);break;case`5`:s=e.i18n.fifth(l)}o=s+` `+o}return o},function(t){return parseInt(t)==1?``:r.StringUtilities.format(e.i18n.commaEveryX0DaysOfTheWeek(t),t)},function(t){var n=t.substring(0,t.indexOf(`-`));return e.expressionParts[3]==`*`?e.i18n.commaX0ThroughX1(n):e.i18n.commaAndX0ThroughX1(n)},function(t){var n=null;if(t.indexOf(`#`)>-1){var r=t.substring(t.indexOf(`#`)+1),i=t.substring(0,t.indexOf(`#`));n=e.i18n.commaOnThe(r,i).trim()+e.i18n.spaceX0OfTheMonth()}else n=t.indexOf(`L`)>-1?e.i18n.commaOnTheLastX0OfTheMonth(t.replace(`L`,``)):e.expressionParts[3]==`*`||e.options.logicalAndDayFields?e.i18n.commaOnlyOnX0(t):e.i18n.commaAndOnX0();return n}),n},e.prototype.getMonthDescription=function(){var e=this,t=this.i18n.monthsOfTheYear();return this.getSegmentDescription(this.expressionParts[4],``,function(n,r){return r&&e.i18n.monthsOfTheYearInCase?e.i18n.monthsOfTheYearInCase(r)[parseInt(n)-1]:t[parseInt(n)-1]},function(t){return parseInt(t)==1?``:r.StringUtilities.format(e.i18n.commaEveryX0Months(t),t)},function(t){return e.i18n.commaMonthX0ThroughMonthX1()||e.i18n.commaX0ThroughX1()},function(t){return e.i18n.commaOnlyInMonthX0?e.i18n.commaOnlyInMonthX0():e.i18n.commaOnlyInX0()})},e.prototype.getDayOfMonthDescription=function(){var e=this,t=null,n=this.expressionParts[3];switch(n){case`L`:t=this.i18n.commaOnTheLastDayOfTheMonth();break;case`WL`:case`LW`:t=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var i=n.match(/(\d{1,2}W)|(W\d{1,2})/);if(i){var a=parseInt(i[0].replace(`W`,``)),o=a==1?this.i18n.firstWeekday():r.StringUtilities.format(this.i18n.weekdayNearestDayX0(),a.toString());t=r.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),o);break}var s=n.match(/L-(\d{1,2})/);if(s){var c=s[1];t=r.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(c),c);break}if(n==`*`&&this.expressionParts[5]!=`*`)return``;t=this.getSegmentDescription(n,this.i18n.commaEveryDay(),function(t){return t==`L`?e.i18n.lastDay():e.i18n.dayX0?r.StringUtilities.format(e.i18n.dayX0(),t):t},function(t){return t==`1`?e.i18n.commaEveryDay():e.i18n.commaEveryX0Days(t)},function(t){return e.i18n.commaBetweenDayX0AndX1OfTheMonth(t)},function(t){return e.i18n.commaOnDayX0OfTheMonth(t)})}return t},e.prototype.getYearDescription=function(){var e=this;return this.getSegmentDescription(this.expressionParts[6],``,function(e){return/^\d+$/.test(e)?new Date(parseInt(e),1).getFullYear().toString():e},function(t){return r.StringUtilities.format(e.i18n.commaEveryX0Years(t),t)},function(t){return e.i18n.commaYearX0ThroughYearX1()||e.i18n.commaX0ThroughX1()},function(t){return e.i18n.commaOnlyInYearX0?e.i18n.commaOnlyInYearX0():e.i18n.commaOnlyInX0()})},e.prototype.getSegmentDescription=function(e,t,n,i,a,o){var s=null,c=e.indexOf(`/`)>-1,l=e.indexOf(`-`)>-1,u=e.indexOf(`,`)>-1;if(!e)s=``;else if(e===`*`)s=t;else if(!c&&!l&&!u)s=r.StringUtilities.format(o(e),n(e));else if(u){for(var d=e.split(`,`),f=``,p=this.i18n.spaceAnd(),m=0;m<d.length;m++)if(m>0&&d.length>2&&(f+=`,`,m<d.length-1&&(f+=` `)),m>0&&d.length>1&&(m==d.length-1||d.length==2)&&(f+=p==`,`&&d.length>2?` `:`${p} `),d[m].indexOf(`/`)>-1||d[m].indexOf(`-`)>-1){var h=d[m].indexOf(`-`)>-1&&d[m].indexOf(`/`)==-1,g=this.getSegmentDescription(d[m],t,n,i,h?this.i18n.commaX0ThroughX1:a,o);h&&(g=g.replace(`, `,``)),f+=g}else if(!c)f+=n(d[m]);else{var _=this.getSegmentDescription(d[m],t,n,i,a,o);_&&_.startsWith(`, `)&&(_=_.substring(2)),f+=_}s=c?f:r.StringUtilities.format(o(e),f)}else if(c){var d=e.split(`/`);if(s=r.StringUtilities.format(i(d[1]),d[1]),d[0].indexOf(`-`)>-1){var v=this.generateRangeSegmentDescription(d[0],a,n);v.indexOf(`, `)!=0&&(s+=`, `),s+=v}else if(d[0].indexOf(`*`)==-1){var y=r.StringUtilities.format(o(d[0]),n(d[0]));y=y.replace(`, `,``),s+=r.StringUtilities.format(this.i18n.commaStartingX0(),y)}}else l&&(s=this.generateRangeSegmentDescription(e,a,n));return s},e.prototype.generateRangeSegmentDescription=function(e,t,n){var i=``,a=e.split(`-`),o=n(a[0],1),s=n(a[1],2),c=t(e);return i+=r.StringUtilities.format(c,o,s),i},e.prototype.formatTime=function(e,t,n){var r=0,i=0,a=parseInt(e)+r,o=parseInt(t)+i;o>=60?(o-=60,a+=1):o<0&&(o+=60,--a),a>=24?a-=24:a<0&&(a=24+a);var s=``,c=!1;this.options.use24HourTimeFormat||(c=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),s=c?`${this.getPeriod(a)} `:` ${this.getPeriod(a)}`,a>12&&(a-=12),a===0&&(a=12));var l=``;n&&(l=`:${(`00`+n).substring(n.length)}`);var u=a.toString(),d=(`00`+u).substring(u.length),f=o.toString(),p=(`00`+f).substring(f.length),m=this.options.trimHoursLeadingZero?u:d;return`${c?s:``}${m}:${p}${l}${c?``:s}`},e.prototype.transformVerbosity=function(e,t){if(!t&&(e=e.replace(RegExp(`, ${this.i18n.everyMinute()}`,`g`),``),e=e.replace(RegExp(`, ${this.i18n.everyHour()}`,`g`),``),e=e.replace(new RegExp(this.i18n.commaEveryDay(),`g`),``),e=e.replace(/\, ?$/,``),this.i18n.conciseVerbosityReplacements))for(var n=0,r=Object.entries(this.i18n.conciseVerbosityReplacements());n<r.length;n++){var i=r[n],a=i[0],o=i[1];e=e.replace(new RegExp(a,`g`),o)}return e},e.prototype.getPeriod=function(e){return e>=12?this.i18n.pm&&this.i18n.pm()||`PM`:this.i18n.am&&this.i18n.am()||`AM`},e.locales={},e}()},747(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.enLocaleLoader=void 0;var r=n(486);t.enLocaleLoader=function(){function e(){}return e.prototype.load=function(e){e.en=new r.en},e}()},486(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.en=void 0,t.en=function(){function e(){}return e.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},e.prototype.atX0MinutesPastTheHourGt20=function(){return null},e.prototype.commaMonthX0ThroughMonthX1=function(){return null},e.prototype.commaYearX0ThroughYearX1=function(){return null},e.prototype.use24HourTimeFormatByDefault=function(){return!1},e.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return`An error occurred when generating the expression description. Check the cron expression syntax.`},e.prototype.everyMinute=function(){return`every minute`},e.prototype.everyHour=function(){return`every hour`},e.prototype.atSpace=function(){return`At `},e.prototype.everyMinuteBetweenX0AndX1=function(){return`Every minute between %s and %s`},e.prototype.at=function(){return`At`},e.prototype.spaceAnd=function(){return` and`},e.prototype.everySecond=function(){return`every second`},e.prototype.everyX0Seconds=function(){return`every %s seconds`},e.prototype.secondsX0ThroughX1PastTheMinute=function(){return`seconds %s through %s past the minute`},e.prototype.atX0SecondsPastTheMinute=function(){return`at %s seconds past the minute`},e.prototype.everyX0Minutes=function(){return`every %s minutes`},e.prototype.minutesX0ThroughX1PastTheHour=function(){return`minutes %s through %s past the hour`},e.prototype.atX0MinutesPastTheHour=function(){return`at %s minutes past the hour`},e.prototype.everyX0Hours=function(){return`every %s hours`},e.prototype.betweenX0AndX1=function(){return`between %s and %s`},e.prototype.atX0=function(){return`at %s`},e.prototype.commaEveryDay=function(){return`, every day`},e.prototype.commaEveryX0DaysOfTheWeek=function(){return`, every %s days of the week`},e.prototype.commaX0ThroughX1=function(){return`, %s through %s`},e.prototype.commaAndX0ThroughX1=function(){return`, %s through %s`},e.prototype.first=function(){return`first`},e.prototype.second=function(){return`second`},e.prototype.third=function(){return`third`},e.prototype.fourth=function(){return`fourth`},e.prototype.fifth=function(){return`fifth`},e.prototype.commaOnThe=function(){return`, on the `},e.prototype.spaceX0OfTheMonth=function(){return` %s of the month`},e.prototype.lastDay=function(){return`the last day`},e.prototype.commaOnTheLastX0OfTheMonth=function(){return`, on the last %s of the month`},e.prototype.commaOnlyOnX0=function(){return`, only on %s`},e.prototype.commaAndOnX0=function(){return`, and on %s`},e.prototype.commaEveryX0Months=function(){return`, every %s months`},e.prototype.commaOnlyInX0=function(){return`, only in %s`},e.prototype.commaOnTheLastDayOfTheMonth=function(){return`, on the last day of the month`},e.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return`, on the last weekday of the month`},e.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return`, %s days before the last day of the month`},e.prototype.firstWeekday=function(){return`first weekday`},e.prototype.weekdayNearestDayX0=function(){return`weekday nearest day %s`},e.prototype.commaOnTheX0OfTheMonth=function(){return`, on the %s of the month`},e.prototype.commaEveryX0Days=function(){return`, every %s days in a month`},e.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return`, between day %s and %s of the month`},e.prototype.commaOnDayX0OfTheMonth=function(){return`, on day %s of the month`},e.prototype.commaEveryHour=function(){return`, every hour`},e.prototype.commaEveryX0Years=function(){return`, every %s years`},e.prototype.commaStartingX0=function(){return`, starting %s`},e.prototype.daysOfTheWeek=function(){return[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},e.prototype.monthsOfTheYear=function(){return[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},e.prototype.atReboot=function(){return`Run once, at startup`},e.prototype.onTheHour=function(){return`on the hour`},e}()},515(e,t){Object.defineProperty(t,"__esModule",{value:!0});function n(e,t){if(!e)throw Error(t)}t.default=function(){function e(){}return e.secondRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=59,`seconds part must be >= 0 and <= 59`)}},e.minuteRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=59,`minutes part must be >= 0 and <= 59`)}},e.hourRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=23,`hours part must be >= 0 and <= 23`)}},e.dayOfMonthRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=1&&i<=31,`DOM part must be >= 1 and <= 31`)}},e.monthRange=function(e,t){for(var r=e.split(`,`),i=0;i<r.length;i++)if(!isNaN(parseInt(r[i],10))){var a=parseInt(r[i],10);n(a>=1&&a<=12,t?`month part must be >= 0 and <= 11`:`month part must be >= 1 and <= 12`)}},e.dayOfWeekRange=function(e,t){for(var r=e.split(`,`),i=0;i<r.length;i++)if(!isNaN(parseInt(r[i],10))){var a=parseInt(r[i],10);n(a>=0&&a<=6,t?`DOW part must be >= 0 and <= 6`:`DOW part must be >= 1 and <= 7`)}},e}()},823(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.StringUtilities=void 0,t.StringUtilities=function(){function e(){}return e.format=function(e){var t=[...arguments].slice(1);return e.replace(/%s/g,function(e){return t.shift()})},e.containsAny=function(e,t){return t.some(function(t){return e.indexOf(t)>-1})},e}()}},t={};function n(r){var i=t[r];if(i!==void 0)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.toString=void 0;var t=n(333),i=n(747);t.ExpressionDescriptor.initialize(new i.enLocaleLoader),e.default=t.ExpressionDescriptor,e.toString=t.ExpressionDescriptor.toString})(),r})())}))(),1),LQn=({pikkuFuncId:e,label:t})=>{let{data:n}=qQ(e??``),{navigateInPanel:r}=qB();if(!e)return null;let i=n?.name||e;return(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(t||`Handler Function`)}),(0,M.jsx)(gu,{gap:6,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,leftSection:(0,M.jsx)(Sz,{size:10}),style:{cursor:`pointer`},onClick:()=>r(`function`,e,i,n),children:V(i)})})]})},RQn=({wireId:e,metadata:t={}})=>{let n=t?.method?.toUpperCase()||`GET`,r=t?.route||e,i=t?.middleware||[],a=t?.permissions||[],o=t?.auth!==!1;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(_z,{size:20}),(0,M.jsx)(sH,{type:`httpMethod`,value:n,variant:`filled`}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(r)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[o&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),a.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`}),t?.sse&&(0,M.jsx)(sH,{type:`flag`,flag:`sse`})]}),(t?.params&&t.params.length>0||t?.query&&t.query.length>0)&&(0,M.jsxs)(gu,{gap:`xs`,children:[t?.params?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`param`,value:`:${e}`},`p-${e}`)),t?.query?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`query`,value:`?${e}`},`q-${e}`))]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:i,permissions:a,tags:t?.tags||[],errors:t?.errors||[],inputSchemaName:t?.inputSchemaName,outputSchemaName:t?.outputSchemaName})]})},zQn=({wireId:e,metadata:t={}})=>{let{navigateInPanel:n}=qB(),r=t?.middleware||[],i=t?.permissions||[],a=t?.channelMiddleware||[],o=t?.auth!==!1,s=t?.messageWirings;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Iz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.route&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.route)}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`channel`}),o&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),i.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(t?.params&&t.params.length>0||t?.query&&t.query.length>0)&&(0,M.jsxs)(gu,{gap:`xs`,children:[t?.params?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`param`,value:`:${e}`},`p-${e}`)),t?.query?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`query`,value:`?${e}`},`q-${e}`))]}),(0,M.jsxs)(e$,{description:t?.description,middleware:r,permissions:i,tags:t?.tags||[],errors:t?.errors||[],children:[t?.input&&(0,M.jsx)($Q,{label:V(`Input Schema`),schemaName:t.input}),(0,M.jsx)(LQn,{pikkuFuncId:t?.connect?.pikkuFuncId,label:`Connect Handler`}),(0,M.jsx)(LQn,{pikkuFuncId:t?.disconnect?.pikkuFuncId,label:`Disconnect Handler`}),(0,M.jsx)(LQn,{pikkuFuncId:t?.message?.pikkuFuncId,label:`Message Handler`}),a.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Channel Middleware`)}),(0,M.jsx)(gu,{gap:6,children:a.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),s&&Object.keys(s).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Message Wirings`)}),(0,M.jsx)($m,{gap:`sm`,children:Object.entries(s).map(([e,t])=>(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,mb:4,children:V(e)}),(0,M.jsx)(gu,{gap:6,children:Object.entries(t).map(([e,t])=>(0,M.jsx)(sH,{type:`dynamic`,badge:`actions`,value:e,className:t?.pikkuFuncId?PB.clickableText:void 0,onClick:t?.pikkuFuncId?()=>n(`function`,t.pikkuFuncId,e,t):void 0},e))})]},e))})]})]})]})},BQn=({wireId:e,metadata:t={}})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsx)(N,{children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Zz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(e)})]})}),(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`wiringType`,value:`rpc`})}),(0,M.jsx)(e$,{pikkuFuncId:t?.pikkuFuncId})]}),VQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[];return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(oz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`scheduler`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),t?.schedule&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Schedule`)}),(0,M.jsx)(B,{size:`sm`,children:V(IQn.default.toString(t.schedule))}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,mt:2,children:V(t.schedule)})]}),t?.timezone&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Timezone`)}),(0,M.jsx)(B,{size:`sm`,children:V(t.timezone)})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},HQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[],i=t?.config;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Tz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`queue`}),t?.concurrency!==void 0&&(0,M.jsx)(sH,{type:`dynamic`,badge:`concurrency`,value:t.concurrency,variant:`outline`,color:`gray`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[],children:i&&Object.keys(i).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Config`)}),(0,M.jsx)(gu,{gap:6,children:Object.entries(i).map(([e,t])=>(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,children:V(`${e}: ${String(t)}`)},e))})]})})]})},UQn=({options:e})=>{let t=Object.entries(e);return t.length===0?null:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Option`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Description`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Default`})]})}),(0,M.jsx)(mh.Tbody,{children:t.map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(`--${e}${t.short?`, -${t.short}`:``}`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,children:V(t.description||``)})}),(0,M.jsx)(mh.Td,{children:t.required?(0,M.jsx)(sH,{type:`flag`,flag:`required`}):t.default===void 0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`-`)}):(0,M.jsx)(tf,{children:String(t.default)})})]},e))})]})},WQn=({commands:e,depth:t=0})=>{let{navigateInPanel:n}=qB();return(0,M.jsx)($m,{gap:`xs`,children:Object.entries(e).map(([e,r])=>(0,M.jsxs)(N,{ml:t*16,children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:600,children:V(e)}),r.isDefault&&(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`light`,color:`gray`,children:V(`default`)}),r.pikkuFuncId&&(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,className:PB.clickableText,onClick:()=>n(`function`,r.pikkuFuncId,r.pikkuFuncId,r),children:V(r.pikkuFuncId)})]}),r.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mb:4,children:V(r.description)}),r.positionals&&r.positionals.length>0&&(0,M.jsx)(gu,{gap:6,mb:4,children:r.positionals.map(e=>(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:e.required?`red`:`gray`,children:V(`${e.variadic?`...${e.name}`:e.name}${e.required?`*`:``}`)},e.name))}),r.options&&Object.keys(r.options).length>0&&(0,M.jsx)(UQn,{options:r.options}),r.subcommands&&Object.keys(r.subcommands).length>0&&(0,M.jsx)(WQn,{commands:r.subcommands,depth:t+1})]},e))})},GQn=({wireId:e,metadata:t={}})=>{let n=t?.program||e,r=t?.commands,i=t?.options;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Qz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(n)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`cli`}),t?.defaultRenderName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`format`,value:t.defaultRenderName})]}),(0,M.jsxs)(e$,{description:t?.description,children:[i&&Object.keys(i).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Global Options`)}),(0,M.jsx)(UQn,{options:i})]}),r&&Object.keys(r).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Commands`)}),(0,M.jsx)(WQn,{commands:r})]})]})]})},KQn=({wireId:e,metadata:t={}})=>{let n=t?.method||`unknown`,r=t?.middleware||[],i=t?.permissions||[],a=t?.arguments;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(cz,{size:20}),(0,M.jsx)(sH,{type:`mcpType`,value:n,variant:`filled`}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),t?.uri&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`URI`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.uri)})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:r,permissions:i,tags:t?.tags||[],errors:t?.errors||[],inputSchemaName:t?.inputSchemaName,outputSchemaName:t?.outputSchemaName,children:a&&a.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Arguments`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Description`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Required`})]})}),(0,M.jsx)(mh.Tbody,{children:a.map(e=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.name)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,children:V(e.description||``)})}),(0,M.jsx)(mh.Td,{children:e.required&&(0,M.jsx)(sH,{type:`flag`,flag:`required`})})]},e.name))})]})]})})]})},qQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[];return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(dB,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`trigger`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},JQn=({wireId:e,metadata:t={}})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(dB,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`triggerSource`}),t?.packageName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.packageName})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId})]}),YQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[],i=t?.auth!==!1,a=t?.type||`webhook`,o=t?.platform;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Az,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),(o||t?.route||t?.summary)&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V([o,t?.route,t?.summary].filter(Boolean).join(` · `))})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,color:`teal`,children:V(a)}),o&&(0,M.jsx)(sH,{type:`dynamic`,badge:`source`,value:o}),i&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},XQn=({defId:e,def:t})=>{let{meta:n}=MB(),r=n.middlewareGroupsMeta?.instances||{},i=n.middlewareGroupsMeta?.httpGroups||{},a=n.middlewareGroupsMeta?.tagGroups||{},o=Object.entries(r).filter(([,t])=>t.definitionId===e),s=new Set(o.map(([e])=>e)),c=[];for(let[e,t]of Object.entries(i))t.instanceIds?.some(e=>s.has(e))&&c.push({type:`http`,key:e,group:t});for(let[e,t]of Object.entries(a))t.instanceIds?.some(e=>s.has(e))&&c.push({type:`tag`,key:e,group:t});return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(xz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name||t.exportedName||e)})]}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(gu,{gap:4,children:[t.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`}),t.exportedName===null&&(0,M.jsx)(sH,{type:`flag`,flag:`local`}),t.exportedName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`exportedName`,value:t.exportedName}),t.package&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.package})]}),t.services?.services?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Services`)}),(0,M.jsx)(gu,{gap:4,children:t.services.services.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`service`,value:e},e))})]}),t.wires&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wires`)}),t.wires.wires?.length>0?(0,M.jsxs)(gu,{gap:4,children:[t.wires.wires.some(e=>[`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e))&&(0,M.jsx)(sH,{type:`flag`,flag:`session`}),t.wires.wires.filter(e=>![`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e)).map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`wire`,value:e},e))]}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`None`)})]}),o.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Instances (${o.length})`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`ID`}),(0,M.jsx)(mh.Th,{children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:o.map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{ff:`monospace`,fz:`sm`,children:e}),(0,M.jsx)(mh.Td,{children:t.isFactoryCall&&(0,M.jsx)(sH,{type:`flag`,flag:`factoryCall`})})]},e))})]})]})]}),c.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Used in Groups`)}),(0,M.jsx)(gu,{gap:4,children:c.map(e=>(0,M.jsx)(sH,{type:`label`,color:e.type===`http`?`blue`:`green`,leftSection:(0,M.jsx)(xz,{size:10}),children:V(e.type===`http`?`HTTP ${e.key}`:`Tag: ${e.key}`)},`${e.type}::${e.key}`))})]})]})},ZQn=({groupType:e,groupKey:t})=>{let{meta:n}=MB(),{openMiddleware:r}=qB(),i=(e===`http`?n.middlewareGroupsMeta?.httpGroups||{}:n.middlewareGroupsMeta?.tagGroups||{})[t],a=n.middlewareGroupsMeta?.instances||{},o=n.middlewareGroupsMeta?.definitions||{},s=[],c=new Set;for(let e of i?.instanceIds||[]){let t=a[e];t?.definitionId&&!c.has(t.definitionId)&&(c.add(t.definitionId),s.push({defId:t.definitionId,def:o[t.definitionId],instanceId:e,instance:t}))}return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsx)(N,{children:(0,M.jsx)(sH,{type:`label`,color:e===`http`?`blue`:`green`,children:V(e===`http`?`HTTP ${t}`:`Tag: ${t}`)})}),i?.exportName&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Export`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(i.exportName)})]}),s.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Middleware (${s.length})`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`Definition`}),(0,M.jsx)(mh.Th,{children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:s.map(({defId:e,def:t,instance:n})=>(0,M.jsxs)(mh.Tr,{className:PB.clickableText,onClick:()=>r(e,{...t,_id:e}),children:[(0,M.jsx)(mh.Td,{ff:`monospace`,fz:`sm`,children:t?.name||t?.exportedName||e}),(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:4,children:[n?.isFactoryCall&&(0,M.jsx)(sH,{type:`flag`,flag:`factoryCall`}),t?.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`})]})})]},e))})]})]})]})},QQn=({middlewareId:e,metadata:t={}})=>t._groupType?(0,M.jsx)(ZQn,{groupType:t._groupType,groupKey:t._groupKey}):(0,M.jsx)(XQn,{defId:t._id||e,def:t}),$Qn=({defId:e,def:t})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Kz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name||t.exportedName||e)})]}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(gu,{gap:4,children:[t.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`}),t.exportedName===null&&(0,M.jsx)(sH,{type:`flag`,flag:`local`}),t.exportedName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`exportedName`,value:t.exportedName}),t.package&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.package})]}),t.services?.services?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Services`)}),(0,M.jsx)(gu,{gap:4,children:t.services.services.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`service`,value:e},e))})]}),t.wires&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wires`)}),t.wires.wires?.length>0?(0,M.jsxs)(gu,{gap:4,children:[t.wires.wires.some(e=>[`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e))&&(0,M.jsx)(sH,{type:`flag`,flag:`session`}),t.wires.wires.filter(e=>![`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e)).map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`wire`,value:e},e))]}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`None`)})]})]}),e$n=({permissionId:e,metadata:t={}})=>(0,M.jsx)($Qn,{defId:t._id||e,def:t});function t$n(e,t=!0){let n=W_();return Ji({queryKey:[`agent-threads`,e],queryFn:async()=>await n.invoke(`console:getAgentThreads`,{agentName:e,limit:50,offset:0}),enabled:!!e,refetchInterval:t?5e3:!1})}function n$n(e,t=!0){let n=W_();return Ji({queryKey:[`agent-thread-messages`,e],queryFn:async()=>await n.invoke(`console:getAgentThreadMessages`,{threadId:e}),enabled:!!e,refetchInterval:t?5e3:!1})}function r$n(e){let t=W_();return Ji({queryKey:[`agent-thread-runs`,e],queryFn:async()=>await t.invoke(`console:getAgentThreadRuns`,{threadId:e}),enabled:!!e})}function i$n(e){let t=W_();return Ji({queryKey:[`agent-run-scores`,e],queryFn:async()=>await t.invoke(`console:getAgentRunScores`,{runId:e}),enabled:!!e})}function a$n(){let e=W_();return Ji({queryKey:[`scorers`],queryFn:async()=>await e.invoke(`console:getScorers`)})}function o$n(){let e=W_(),t=Ri();return Yi({mutationFn:async t=>await e.invoke(`console:deleteAgentThread`,{threadId:t}),onSuccess:()=>{t.invalidateQueries({queryKey:[`agent-threads`]})}})}var s$n=(0,A.createContext)(void 0),c$n=()=>{let e=(0,A.useContext)(s$n);if(!e)throw Error(`useAgentPlayground must be used within AgentPlaygroundProvider`);return e},l$n=e=>({id:e.id,status:`completed`,createdAt:e.createdAt,label:e.title||e.id.slice(0,8)}),u$n=({children:e,agentId:t})=>{let[n,r]=Gv(),i=n.get(`threadId`),[a,o]=(0,A.useState)(i),[s,c]=(0,A.useState)(),[l,u]=(0,A.useState)(),{data:d,refetch:f}=t$n(t),{data:p}=n$n(a),m=(d||[]).map(l$n),h=(0,A.useCallback)(e=>{o(e),r(t=>{let n=new URLSearchParams(t);return e?n.set(`threadId`,e):n.delete(`threadId`),n},{replace:!0})},[r]);(0,A.useEffect)(()=>{let e=n.get(`threadId`);e!==a&&o(e)},[n]);let g=(0,A.useCallback)(()=>{let e=crypto.randomUUID();h(e)},[h]),[_,v]=(0,A.useState)(()=>crypto.randomUUID());return(0,A.useEffect)(()=>{a===null&&v(crypto.randomUUID())},[a]),(0,M.jsx)(s$n.Provider,{value:{agentId:t,threadId:a,draftThreadId:_,setThreadId:h,threads:m,createNewThread:g,refetchThreads:()=>{f()},dbMessages:p,model:s,setModel:c,temperature:l,setTemperature:u},children:e})};function d$n(){let e=W_();return Ji({queryKey:[`addon-functions`],queryFn:async()=>{let t=await e.invoke(`console:getInstalledAddons`),n=[];return await Promise.all(t.filter(e=>e.namespace!==`console`).map(async t=>{try{let r=(await e.invoke(`console:getAddonInstalledPackage`,{packageName:t.packageName}))?.functions||{};for(let e of Object.keys(r))n.push({namespace:t.namespace,funcId:`${t.namespace}:${e}`})}catch{}})),n}})}var f$n=({wireId:e,sourceFile:t,exportedName:n,metadata:r,onClose:i})=>{let{data:a,isLoading:o}=tZn(t,n,!0),s=nZn(),{meta:c}=MB(),{data:l}=d$n(),u=XXn(),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(``),[h,g]=(0,A.useState)(``),[_,v]=(0,A.useState)(``),[y,b]=(0,A.useState)(null),[x,S]=(0,A.useState)(``),[C,w]=(0,A.useState)(``),[T,E]=(0,A.useState)(null),[D,O]=(0,A.useState)([]),[k,ee]=(0,A.useState)([]),[te,ne]=(0,A.useState)(null);(0,A.useEffect)(()=>{if(a){let e=a.config||{};f(e.description||``),m(e.role||``),g(e.personality||``),v(e.goal||``),b(e.model||null),S(typeof e.maxSteps==`number`?e.maxSteps:``),w(typeof e.temperature==`number`?e.temperature:``),E(e.toolChoice||null),O(r?.tools||[]),ee(r?.tags||[])}},[a]);let re=async()=>{let e=a?.config||{},o={};d!==(e.description||``)&&(o.description=d||null),p!==(e.role||``)&&(o.role=p||null),h!==(e.personality||``)&&(o.personality=h||null),_!==(e.goal||``)&&(o.goal=_||null),y!==(e.model||null)&&(o.model=y||void 0),x!==(typeof e.maxSteps==`number`?e.maxSteps:``)&&(o.maxSteps=typeof x==`number`?x:null),C!==(typeof e.temperature==`number`?e.temperature:``)&&(o.temperature=typeof C==`number`?C:null),T!==(e.toolChoice||null)&&(o.toolChoice=T||null);let c=r?.tools||[];JSON.stringify(D)!==JSON.stringify(c)&&(o.tools=D.length>0?D:null);let l=r?.tags||[];if(JSON.stringify(k)!==JSON.stringify(l)&&(o.tags=k.length>0?k:null),Object.keys(o).length===0){i();return}try{await s.mutateAsync({sourceFile:t,exportedName:n,changes:o}),ne(`Saved and rebuilt successfully`),setTimeout(()=>{ne(null),i()},1500)}catch{}};if(o)return null;let ie=c.functions??[],ae={};for(let e of ie){if(e.functionType!==`user`)continue;let t=e.pikkuFuncId;ae.Local||=[],ae.Local.push(t)}for(let e of l??[])ae[e.namespace]||(ae[e.namespace]=[]),ae[e.namespace].push(e.funcId);let oe=Object.entries(ae).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({group:e,items:t.sort()}));return(0,M.jsxs)($m,{gap:`md`,children:[te&&(0,M.jsx)(ty,{color:`green`,icon:(0,M.jsx)(nz,{size:16}),withCloseButton:!0,onClose:()=>ne(null),children:V(te)}),s.error&&(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(s.error.message)}),(0,M.jsx)(ZQ,{children:V(`Configuration`)}),(0,M.jsx)(iy,{label:V(`Description`),value:d,onChange:e=>f(e.currentTarget.value),autosize:!0,minRows:2,maxRows:4,size:`xs`}),(0,M.jsx)(ry,{label:V(`Model`),description:V(`Provider-qualified, e.g. openai/gpt-4o`),placeholder:V(`provider/model`),value:y??``,onChange:e=>b(e.currentTarget.value||null),size:`xs`}),(0,M.jsxs)(gu,{grow:!0,gap:`xs`,wrap:`wrap`,children:[(0,M.jsx)(ay,{label:V(`Max Steps`),style:{minWidth:100},value:x,onChange:e=>S(typeof e==`number`?e:``),min:1,max:100,size:`xs`}),(0,M.jsx)(ay,{label:V(`Temperature`),style:{minWidth:100},value:C,onChange:e=>w(typeof e==`number`?e:``),min:0,max:2,step:.1,decimalScale:1,size:`xs`}),(0,M.jsx)(oy,{label:V(`Tool Choice`),style:{minWidth:120},data:[`auto`,`required`,`none`],value:T,onChange:E,clearable:!0,size:`xs`})]}),(0,M.jsx)(sy,{label:V(`Tools`),data:oe,value:D,onChange:O,searchable:!0,clearable:!0,size:`xs`,placeholder:V(`Search functions...`)}),(0,M.jsx)(sy,{label:V(`Tags`),data:u,value:k,onChange:ee,searchable:!0,clearable:!0,size:`xs`,placeholder:V(`Search tags...`)}),(0,M.jsx)(ZQ,{children:V(`Role`)}),(0,M.jsx)(iy,{value:p,onChange:e=>m(e.currentTarget.value),placeholder:V(`Who the agent is -- role, expertise, domain context`),autosize:!0,minRows:2,maxRows:6,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsx)(ZQ,{children:V(`Personality`)}),(0,M.jsx)(iy,{value:h,onChange:e=>g(e.currentTarget.value),placeholder:V(`Defines how the agent behaves -- tone, style, constraints`),autosize:!0,minRows:3,maxRows:10,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsx)(ZQ,{children:V(`Goal`)}),(0,M.jsx)(iy,{value:_,onChange:e=>v(e.currentTarget.value),placeholder:V(`Defines what the agent is trying to accomplish`),autosize:!0,minRows:3,maxRows:10,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:i,disabled:s.isPending,leftSection:(0,M.jsx)(uB,{size:14}),size:`xs`,children:V(`Cancel`)}),(0,M.jsx)(qv,{onClick:re,loading:s.isPending,leftSection:(0,M.jsx)(Bz,{size:14}),size:`xs`,children:V(`Save & Rebuild`)})]})]})},p$n=(0,A.createContext)(!0);function Y3(){return(0,A.useContext)(p$n)}var m$n=({wireId:e,metadata:t={}})=>{let{navigateInPanel:n}=qB(),r=(0,A.useContext)(s$n),i=Y3(),[a,o]=(0,A.useState)(!1),s=i&&!!t?.sourceFile&&!!t?.exportedName;if(a&&s)return(0,M.jsx)(f$n,{wireId:e,sourceFile:t.sourceFile,exportedName:t.exportedName,metadata:t,onClose:()=>o(!1)});let c=t?.middleware||[],l=t?.channelMiddleware||[],u=t?.agentMiddleware||[],d=t?.permissions||[],f=t?.tools||[],p=t?.agents||[],m=t?.memory;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QR,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:t?.name||e}),t?.model&&(0,M.jsx)(sH,{type:`dynamic`,badge:`model`,value:t.model})]}),s&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>o(!0),title:`Edit agent`,children:(0,M.jsx)(kIt,{size:14})})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:t.summary})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`agent`}),t?.maxSteps&&(0,M.jsx)(sH,{type:`dynamic`,badge:`maxSteps`,value:t.maxSteps,variant:`outline`,color:`gray`}),t?.toolChoice&&(0,M.jsx)(sH,{type:`dynamic`,badge:`toolChoice`,value:t.toolChoice,variant:`outline`,color:`gray`}),d.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),r&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Playground Overrides`)}),(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(ry,{size:`xs`,label:V(`Model${t?.model?` (default: ${t.model})`:``}`),placeholder:V(t?.model??`provider/model`),value:r.model??``,onChange:e=>r.setModel(e.currentTarget.value||void 0)}),(0,M.jsx)(ay,{size:`xs`,label:V(`Temperature${t?.temperature==null?``:` (default: ${t.temperature})`}`),placeholder:V(t?.temperature==null?`default`:String(t.temperature)),value:r.temperature??``,onChange:e=>r.setTemperature(typeof e==`number`?e:void 0),min:0,max:2,step:.1,decimalScale:1})]})]}),(0,M.jsxs)(e$,{description:t?.description,middleware:c,permissions:d,tags:t?.tags,children:[t?.role&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Role`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.role)})]}),t?.personality&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Personality`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.personality)})]}),t?.goal&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Goal`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.goal)})]}),f.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Tools (${f.length})`)}),(0,M.jsx)(gu,{gap:6,children:f.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`tool`,value:e,className:PB.clickableText,onClick:()=>n(`function`,e,e)},e))})]}),p.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Sub-Agents (${p.length})`)}),(0,M.jsx)(gu,{gap:6,children:p.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`agent`,value:e,className:PB.clickableText,onClick:()=>n(`agent`,e,e)},e))})]}),l.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Channel Middleware`)}),(0,M.jsx)(gu,{gap:6,children:l.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),u.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`AI Middleware`)}),(0,M.jsx)(gu,{gap:6,children:u.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),m&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Memory`)}),(0,M.jsxs)(gu,{gap:6,children:[m.storage&&(0,M.jsx)(sH,{type:`dynamic`,badge:`storage`,value:m.storage,variant:`outline`,color:`gray`}),m.lastMessages!==void 0&&(0,M.jsx)(sH,{type:`dynamic`,badge:`lastMessages`,value:m.lastMessages,variant:`outline`,color:`gray`})]})]}),(0,M.jsx)($Q,{label:V(`Input Schema`),schemaName:t?.inputSchema}),(0,M.jsx)($Q,{label:V(`Output Schema`),schemaName:t?.outputSchema}),(0,M.jsx)($Q,{label:V(`Working Memory Schema`),schemaName:t?.workingMemorySchema})]})]})},h$n=({cmd:e})=>{let[t,n]=(0,A.useState)(!1),[r,i]=(0,A.useState)(!1),a=(0,A.useRef)(null);return(0,A.useEffect)(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]),(0,M.jsxs)(N,{component:`button`,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onClick:()=>{navigator.clipboard?.writeText(e),n(!0),a.current=setTimeout(()=>n(!1),1200)},style:{display:`inline-flex`,alignItems:`center`,gap:10,padding:`8px 10px 8px 13px`,borderRadius:8,border:`0.5px solid ${r?`var(--app-border-hover, var(--app-border))`:`var(--app-border)`}`,background:`var(--app-panel-bg, var(--mantine-color-body))`,fontFamily:`'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:12.5,cursor:`pointer`,transition:`border-color 130ms`,lineHeight:1},children:[(0,M.jsx)(B,{span:!0,c:`var(--app-text-faint, var(--mantine-color-dimmed))`,ff:`inherit`,fz:`inherit`,children:V(`$`)}),(0,M.jsx)(B,{span:!0,c:`var(--app-text, var(--mantine-color-text))`,ff:`inherit`,fz:`inherit`,children:V(e)}),(0,M.jsx)(N,{display:`flex`,style:{alignItems:`center`,color:t?`var(--app-green, var(--mantine-color-green-6))`:`var(--app-text-faint, var(--mantine-color-dimmed))`},children:t?(0,M.jsx)($R,{size:13}):(0,M.jsx)(ZFt,{size:13})})]})},g$n=({icon:e,hero:t,title:n,subtitle:r,code:i,action:a,secondaryAction:o,compact:s=!1})=>{let c=s?48:56,l=!!t||!!e;return(0,M.jsxs)($m,{align:`center`,justify:`center`,gap:0,style:{flex:1,textAlign:`center`,padding:s?`24px 16px`:`44px 16px`},children:[t??(e&&(0,M.jsx)(N,{style:{width:c,height:c,borderRadius:c*.28,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`var(--app-panel-bg, var(--mantine-color-body))`,border:`0.5px solid var(--app-border, var(--mantine-color-default-border))`,boxShadow:`var(--app-shadow-sm, 0 1px 3px rgba(0,0,0,.06))`,flexShrink:0},children:(0,M.jsx)(e,{size:c*.46,strokeWidth:1.5})})),(0,M.jsx)(B,{mt:l?s?14:24:0,fz:s?17:22,fw:650,c:`var(--app-text, var(--mantine-color-text))`,style:{letterSpacing:`-0.01em`},children:n}),r&&(0,M.jsx)(B,{mt:10,fz:15,c:`var(--app-text-dim, var(--mantine-color-dimmed))`,maw:460,lh:1.55,ta:`center`,children:r}),i&&(0,M.jsx)(N,{mt:20,children:(0,M.jsx)(h$n,{cmd:i})}),(a||o)&&(0,M.jsxs)(gu,{mt:i?20:24,gap:12,justify:`center`,children:[a&&(0,M.jsx)(qv,{component:a.href?`a`:`button`,href:a.href,onClick:a.onClick,loading:a.loading,leftSection:a.icon,variant:`filled`,radius:8,size:`sm`,styles:{root:{fontSize:13.5,fontWeight:600}},children:a.label}),o&&(0,M.jsxs)(N,{component:o.href?`a`:`button`,href:o.href,onClick:o.onClick,style:{display:`inline-flex`,alignItems:`center`,gap:6,fontSize:13.5,fontWeight:600,color:`var(--app-text-dim, var(--mantine-color-dimmed))`,padding:`8px 6px`,cursor:`pointer`,background:`none`,border:`none`,textDecoration:`none`,lineHeight:1},children:[o.label,(0,M.jsx)(KR,{size:14})]})]})]})},_$n={scoreTrack:`_scoreTrack_1x6qn_6`,scoreFill:`_scoreFill_1x6qn_14`,scoreReason:`_scoreReason_1x6qn_21`},v$n=({scorerName:e,score:t,reason:n})=>{let r=Math.max(0,Math.min(1,t));return(0,M.jsxs)($m,{gap:4,children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,truncate:!0,children:V(e)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:600,children:V(t.toFixed(2))})]}),(0,M.jsx)(N,{className:_$n.scoreTrack,children:(0,M.jsx)(N,{className:_$n.scoreFill,style:{width:`${r*100}%`}})}),n&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,className:_$n.scoreReason,children:V(n)})]})},y$n=e=>{if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`},b$n=({run:e})=>{Pt();let{data:t}=i$n(e.runId),n=t??[];return(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:`sm`,"data-run-id":e.runId,children:(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,truncate:!0,children:V(e.runId.slice(0,8))}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(y$n(e.createdAt))}),(0,M.jsx)(sH,{type:`status`,value:e.status,variant:`light`})]})]}),e.usageModel&&(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,children:V(e.usageModel)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:X.agent_run_tokens({input:e.usageInputTokens??0,output:e.usageOutputTokens??0})})]}),(0,M.jsx)($v,{}),n.length===0?(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_run_no_grades()}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_run_no_grades_description()})]}):(0,M.jsx)($m,{gap:`sm`,children:n.map((e,t)=>(0,M.jsx)(v$n,{scorerName:e.scorerName,score:e.score,reason:e.reason},`${e.scorerName}-${t}`))})]})})},x$n=()=>{Pt();let e=(0,A.useContext)(s$n),t=e?e.threadId??e.draftThreadId:null,{data:n,isLoading:r}=r$n(t);if(!t)return(0,M.jsx)(g$n,{icon:QR,title:X.agent_runs_no_thread_title(),subtitle:X.agent_runs_no_thread_description(),compact:!0});if(r)return(0,M.jsx)(XB,{});let i=n??[];return i.length===0?(0,M.jsx)(g$n,{icon:sIt,title:X.agent_runs_empty_title(),subtitle:X.agent_runs_empty_description(),compact:!0}):(0,M.jsx)($m,{gap:`sm`,children:i.map(e=>(0,M.jsx)(b$n,{run:e},e.runId))})},S$n=({wireId:e,metadata:t})=>(Pt(),(0,M.jsxs)(uy,{defaultValue:`configuration`,keepMounted:!1,children:[(0,M.jsxs)(uy.List,{px:`md`,children:[(0,M.jsx)(uy.Tab,{value:`configuration`,children:X.agent_panel_tab_configuration()}),(0,M.jsx)(uy.Tab,{value:`runs`,children:X.agent_runs_panel_title()})]}),(0,M.jsx)(uy.Panel,{value:`configuration`,pt:`md`,children:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(m$n,{wireId:e,metadata:t})})}),(0,M.jsx)(uy.Panel,{value:`runs`,pt:`md`,children:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(x$n,{})})})]}));function C$n(e,t){let n=W_();return Ji({queryKey:[`secret-value`,e],queryFn:async()=>await n.invoke(`console:secretGet`,{secretId:e}),enabled:!!e&&t})}function w$n(){let e=W_(),t=Ri();return Yi({mutationFn:({secretId:t,value:n})=>e.invoke(`console:secretSet`,{secretId:t,value:n}),onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`secret-value`,n.secretId]})}})}var T$n={type:`object`,properties:{clientId:{type:`string`,title:`Client ID`},clientSecret:{type:`string`,title:`Client Secret`}},required:[`clientId`]},E$n=({secretId:e,schemaName:t,isOAuth2:n})=>{Pt();let r=Y3(),[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(`form`),[u,d]=(0,A.useState)(``),[f,p]=(0,A.useState)(null),[m,h]=(0,A.useState)(null),{data:g,isLoading:_}=C$n(e,i),{data:v}=q4t(t),y=w$n(),b=v||(n?T$n:void 0),x=!!b,S=g?.exists?g.value:null;if((0,A.useEffect)(()=>{g&&d(S==null?``:JSON.stringify(S,null,2))},[g,S]),!e)return null;let C=e=>{h(e),setTimeout(()=>h(null),3e3)},w=t=>{y.mutate({secretId:e,value:t},{onSuccess:()=>{C(`Secret saved successfully`),s(!1)}})},T=()=>{p(null);let t;try{t=JSON.parse(u)}catch{p(`Invalid JSON`);return}y.mutate({secretId:e,value:t},{onSuccess:()=>{C(`Secret saved successfully`),s(!1)}})};if(!i)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsx)(qv,{variant:`light`,leftSection:(0,M.jsx)(pz,{size:16}),onClick:()=>a(!0),size:`sm`,children:X.secret_editor_retrieve_secret_value()})]});if(_)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsx)(fu,{size:`sm`})]});let E=x?c:`json`;return(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[!o&&r&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>s(!0),title:X.secret_editor_edit_secret_value(),children:(0,M.jsx)(kIt,{size:14})}),x&&(0,M.jsx)(zm,{value:E,onChange:l,data:[{label:X.secret_editor_form(),value:`form`},{label:X.secret_editor_json(),value:`json`}],size:`sm`,style:{width:`auto`}})]})]}),m&&(0,M.jsx)(ty,{icon:(0,M.jsx)(nz,{size:16}),color:`green`,variant:`light`,children:V(m)}),y.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.secret_editor_failed_to_save_secret()}),!g?.exists&&!o&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.secret_editor_no_value_set()}),o?(0,M.jsx)($m,{gap:`sm`,children:E===`form`&&x?(0,M.jsx)(aY,{schema:b,onSubmit:w,submitting:y.isPending,submitLabel:X.secret_editor_save(),initialData:S??void 0,children:(0,M.jsxs)(gu,{mt:`sm`,gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>s(!1),children:X.secret_editor_cancel()}),(0,M.jsx)(qv,{type:`submit`,leftSection:(0,M.jsx)(Bz,{size:16}),loading:y.isPending,children:X.secret_editor_save()})]})}):(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(iy,{value:u,onChange:e=>{d(e.currentTarget.value),p(null)},placeholder:X.secret_editor_json_placeholder(),autosize:!0,minRows:4,maxRows:12,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),f&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:V(f)}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>s(!1),children:X.secret_editor_cancel()}),(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Bz,{size:16}),loading:y.isPending,onClick:T,children:X.secret_editor_save()})]})]})}):(0,M.jsx)($m,{gap:`xs`,children:g?.exists&&(E===`form`&&x?(0,M.jsx)(N,{style:{pointerEvents:`none`,opacity:.8},children:(0,M.jsx)(aY,{schema:b,onSubmit:()=>{},initialData:S??void 0,children:(0,M.jsx)(M.Fragment,{})})}):(0,M.jsx)(tf,{block:!0,style:{whiteSpace:`pre-wrap`,maxHeight:300,overflow:`auto`},children:JSON.stringify(S,null,2)}))})]})};function D$n(e,t){let n=W_();return Ji({queryKey:[`variable-value`,e],queryFn:async()=>await n.invoke(`pikkuConsoleGetVariable`,{variableId:e}),enabled:!!e&&t})}function O$n(){let e=W_(),t=Ri();return Yi({mutationFn:({variableId:t,value:n})=>e.invoke(`pikkuConsoleSetVariable`,{variableId:t,value:n}),onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`variable-value`,n.variableId]})}})}var k$n=({variableId:e,schemaName:t})=>{Pt();let n=Y3(),[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(!1),[s,c]=(0,A.useState)(`form`),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(null),[p,m]=(0,A.useState)(null),{data:h,isLoading:g}=D$n(e,r),{data:_}=q4t(t),v=O$n(),y=!!_,b=h?.exists?h.value:null;if((0,A.useEffect)(()=>{h&&u(b==null?``:JSON.stringify(b,null,2))},[h,b]),!e)return null;let x=e=>{m(e),setTimeout(()=>m(null),3e3)},S=t=>{v.mutate({variableId:e,value:t},{onSuccess:()=>{x(`Variable saved successfully`),o(!1)}})},C=()=>{f(null);let t;try{t=JSON.parse(l)}catch{f(`Invalid JSON`);return}v.mutate({variableId:e,value:t},{onSuccess:()=>{x(`Variable saved successfully`),o(!1)}})};if(!r)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsx)(qv,{variant:`light`,leftSection:(0,M.jsx)(pz,{size:16}),onClick:()=>i(!0),size:`sm`,children:X.variable_editor_retrieve_variable_value()})]});if(g)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsx)(fu,{size:`sm`})]});let w=y?s:`json`;return(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[!a&&n&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>o(!0),title:X.variable_editor_edit_variable_value(),children:(0,M.jsx)(kIt,{size:14})}),y&&(0,M.jsx)(zm,{value:w,onChange:c,data:[{label:X.variable_editor_form(),value:`form`},{label:X.variable_editor_json(),value:`json`}],size:`sm`,style:{width:`auto`}})]})]}),p&&(0,M.jsx)(ty,{icon:(0,M.jsx)(nz,{size:16}),color:`green`,variant:`light`,children:V(p)}),v.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.variable_editor_failed_to_save_variable()}),!h?.exists&&!a&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.variable_editor_no_value_set()}),a?(0,M.jsx)($m,{gap:`sm`,children:w===`form`&&y?(0,M.jsx)(aY,{schema:_,onSubmit:S,submitting:v.isPending,submitLabel:X.variable_editor_save(),initialData:b??void 0,children:(0,M.jsxs)(gu,{mt:`sm`,gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>o(!1),children:X.variable_editor_cancel()}),(0,M.jsx)(qv,{type:`submit`,leftSection:(0,M.jsx)(Bz,{size:16}),loading:v.isPending,children:X.variable_editor_save()})]})}):(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(iy,{value:l,onChange:e=>{u(e.currentTarget.value),f(null)},placeholder:X.variable_editor_json_placeholder(),autosize:!0,minRows:4,maxRows:12,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),d&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:V(d)}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>o(!1),children:X.variable_editor_cancel()}),(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Bz,{size:16}),loading:v.isPending,onClick:C,children:X.variable_editor_save()})]})]})}):(0,M.jsx)($m,{gap:`xs`,children:h?.exists&&(w===`form`&&y?(0,M.jsx)(N,{style:{pointerEvents:`none`,opacity:.8},children:(0,M.jsx)(aY,{schema:_,onSubmit:()=>{},initialData:b??void 0,children:(0,M.jsx)(M.Fragment,{})})}):(0,M.jsx)(tf,{block:!0,style:{whiteSpace:`pre-wrap`,maxHeight:300,overflow:`auto`},children:JSON.stringify(b,null,2)}))})]})},A$n=({secretId:e,metadata:t={}})=>{Pt();let n=!!t?.oauth2;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(vz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.displayName||e)})]}),t?.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsx)(gu,{gap:`xs`,children:n?(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.secret_config_oauth2()}):(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.secret_config_secret()})}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_secret_id()}),(0,M.jsx)(tf,{children:t?.secretId})]}),n&&(0,M.jsxs)(M.Fragment,{children:[t.oauth2.tokenSecretId&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_token_secret_id()}),(0,M.jsx)(tf,{children:t.oauth2.tokenSecretId})]}),t.oauth2.authorizationUrl&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_authorization_url()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.oauth2.authorizationUrl)})]}),t.oauth2.tokenUrl&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_token_url()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.oauth2.tokenUrl)})]}),t.oauth2.scopes?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_scopes()}),(0,M.jsx)(gu,{gap:6,children:t.oauth2.scopes.map(e=>(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(e)},e))})]})]}),(0,M.jsx)($Q,{label:X.secret_config_fields(),schemaName:t?.schema}),t?.installed!==!1&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(E$n,{secretId:t?.secretId,schemaName:t?.schema,isOAuth2:n}),n&&(0,M.jsx)(j$n,{credentialName:t.name})]})]})},j$n=({credentialName:e})=>{Pt();let t=W_(),n=Bv(),r=Ri(),{data:i,isLoading:a}=Ji({queryKey:[`credential-status`,e],queryFn:async()=>(await t.invoke(`admin:credentialStatus`,{names:[e]})).statuses?.[e]===!0}),o=Yi({mutationFn:async()=>{let{data:t,error:r}=await n.client.$fetch(`/credential-oauth/link`,{method:`POST`,body:{providerId:e,callbackURL:window.location.href}});if(r)throw Error(r.message??X.oauth_connection_failed_to_connect());if(!t?.url)throw Error(X.oauth_connection_failed_to_connect());window.location.href=t.url}}),s=Yi({mutationFn:async()=>{await t.invoke(`admin:credentialDelete`,{name:e})},onSuccess:()=>{r.invalidateQueries({queryKey:[`credential-status`,e]})}});return(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.oauth_connection_title()}),(0,M.jsxs)($m,{gap:`sm`,children:[a?(0,M.jsx)(fu,{size:`sm`}):i?(0,M.jsx)(sH,{type:`label`,color:`green`,children:X.oauth_connection_connected()}):(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.oauth_connection_not_connected()}),o.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.oauth_connection_failed_to_connect()}),s.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.oauth_connection_failed_to_disconnect()}),(0,M.jsx)(gu,{gap:`xs`,children:i?(0,M.jsx)(qv,{variant:`light`,color:`red`,size:`sm`,leftSection:(0,M.jsx)(ZIt,{size:14}),loading:s.isPending,onClick:()=>s.mutate(),children:X.oauth_connection_disconnect()}):(0,M.jsx)(qv,{variant:`light`,color:`green`,size:`sm`,leftSection:(0,M.jsx)(Cz,{size:14}),disabled:!n?.user,loading:o.isPending,onClick:()=>o.mutate(),children:X.oauth_connection_connect()})})]})]})},M$n=({variableId:e,metadata:t={}})=>(Pt(),(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(RIt,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.displayName||e)})]}),t?.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`label`,color:`teal`,children:X.variable_config_variable()})}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.variable_config_variable_id()}),(0,M.jsx)(tf,{children:t?.variableId})]}),(0,M.jsx)($Q,{label:X.variable_config_fields(),schemaName:t?.schema}),t?.installed!==!1&&(0,M.jsx)(k$n,{variableId:t?.variableId,schemaName:t?.schema})]})),N$n=({userId:e,metadata:t})=>{let n=W_(),r=Ri(),i=t?.credentialsMeta??[],a=t?.credentials??{},o=i.filter(e=>a[e.name]),s=i.filter(e=>!a[e.name]),c=Yi({mutationFn:async t=>{await n.invoke(`admin:credentialDelete`,{name:t,userId:e})},onSuccess:()=>{r.invalidateQueries({queryKey:[`credential-list-users`]})}});return(0,M.jsxs)($m,{gap:`md`,pt:`md`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:o.length>0?`teal`:`gray`,children:V(`${o.length} of ${i.length} credentials connected`)}),o.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:`xs`,children:V(`Connected`)}),(0,M.jsx)($m,{gap:`xs`,children:o.map(e=>(0,M.jsxs)(gu,{justify:`space-between`,p:`xs`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,children:[e.isOAuth2?(0,M.jsx)(Sz,{size:14,color:`var(--mantine-color-dimmed)`}):(0,M.jsx)(vz,{size:14,color:`var(--mantine-color-dimmed)`}),(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.displayName)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e.isOAuth2?`violet`:`blue`,children:V(e.isOAuth2?`OAuth2`:`API Key`)})]})]}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`subtle`,color:`red`,leftSection:(0,M.jsx)($z,{size:12}),onClick:()=>c.mutate(e.name),loading:c.isPending,children:V(`Revoke`)})]},e.name))})]}),s.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:`xs`,c:`dimmed`,children:V(`Not Connected`)}),(0,M.jsx)($m,{gap:`xs`,children:s.map(e=>(0,M.jsx)(gu,{justify:`space-between`,p:`xs`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`,opacity:.7},children:(0,M.jsxs)(gu,{gap:`xs`,children:[e.isOAuth2?(0,M.jsx)(Sz,{size:14,color:`var(--mantine-color-dimmed)`}):(0,M.jsx)(vz,{size:14,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.displayName)})]})},e.name))})]}),o.length===0&&!s.some(e=>e.isOAuth2)&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`This user hasn't connected any credentials yet.`)}),c.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),children:V(String(c.error?.message||`An error occurred`))})]})},P$n=({field:e,value:t,onChange:n})=>{let{data:r}=C$n(e.key,!0),i=!!r?.exists;return(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.label)}),i&&(0,M.jsx)(B,{size:`xs`,c:`teal`,children:V(`set`)})]}),(0,M.jsx)(hye,{placeholder:V(i?`Leave blank to keep existing`:`Enter ${e.label}`),value:t,onChange:e=>n(e.currentTarget.value),ff:`monospace`,fz:13}),(0,M.jsx)(B,{fz:11,c:`dimmed`,mt:2,ff:`monospace`,children:V(e.key)})]})},F$n=({metadata:e})=>{let t=e,n=`/api/auth/callback/${t.callbackId}`,r=Oa({timeout:1500}),[i,a]=(0,A.useState)(()=>Object.fromEntries(t.fields.map(e=>[e.key,``]))),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(!1),u=w$n(),d=async()=>{let e=t.fields.filter(e=>(i[e.key]??``).trim());if(e.length){s(!0);try{await Promise.all(e.map(e=>u.mutateAsync({secretId:e.key,value:(i[e.key]??``).trim()}))),a(Object.fromEntries(t.fields.map(e=>[e.key,``])))}finally{s(!1)}}},f=async()=>{l(!0);try{await Promise.all(t.fields.map(e=>u.mutateAsync({secretId:e.key,value:null})))}finally{l(!1)}},p=t.fields.some(e=>(i[e.key]??``).trim());return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(vz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Callback URL`)}),(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fz:13,ff:`monospace`,style:{flex:1,wordBreak:`break-all`},children:V(n)}),(0,M.jsx)(Qv,{label:V(r.copied?`Copied!`:`Copy`),children:(0,M.jsx)(Xv,{variant:`subtle`,color:r.copied?`teal`:`gray`,size:`sm`,onClick:()=>r.copy(n),children:r.copied?(0,M.jsx)($R,{size:13}):(0,M.jsx)(ZFt,{size:13})})})]}),(0,M.jsx)(B,{fz:12,c:`dimmed`,mt:4,children:V(`Register this as the authorized redirect URI in your OAuth app.`)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Setup`)}),(0,M.jsx)(Jv,{href:t.setupUrl,target:`_blank`,fz:13,children:(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(dz,{size:13}),V(t.setupLabel)]})})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Secrets`)}),(0,M.jsx)($m,{gap:`sm`,children:t.fields.map(e=>(0,M.jsx)(P$n,{field:e,value:i[e.key]??``,onChange:t=>a(n=>({...n,[e.key]:t}))},e.key))})]}),u.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,children:V(`Failed to save secrets.`)}),(0,M.jsxs)(gu,{justify:`space-between`,children:[(0,M.jsx)(qv,{variant:`subtle`,color:`red`,size:`xs`,leftSection:(0,M.jsx)($z,{size:13}),loading:c,onClick:f,children:V(`Remove`)}),(0,M.jsx)(qv,{size:`sm`,disabled:!p,loading:o,onClick:d,children:V(`Save secrets`)})]})]})},I$n={public:`teal`,private:`orange`,pii:`violet`,secret:`red`},L$n={public:(0,M.jsx)(_z,{size:12}),private:(0,M.jsx)(Kz,{size:12}),pii:(0,M.jsx)(nB,{size:12}),secret:(0,M.jsx)(Dz,{size:12})},R$n=({metadata:e={}})=>{let{tableName:t,columnName:n,type:r,nullable:i,isPrimaryKey:a,foreignKey:o,enumType:s,classification:c,description:l}=e,u=c??`private`;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[a&&(0,M.jsx)(yz,{size:16}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:n==null?null:V(n)})]}),t&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:2,children:V(t)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Yv,{color:I$n[u],variant:`light`,leftSection:L$n[u],children:V(u)}),a&&(0,M.jsx)(Yv,{color:`blue`,variant:`light`,leftSection:(0,M.jsx)(yz,{size:10}),children:V(`Primary Key`)}),i===!1&&(0,M.jsx)(Yv,{color:`gray`,variant:`light`,children:V(`NOT NULL`)})]}),l&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Description`)}),(0,M.jsx)(B,{size:`sm`,children:V(l)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`SQL Type`)}),(0,M.jsx)(tf,{children:V(s??r??`—`)})]}),o&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Foreign Key`)}),(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(Cz,{size:12}),(0,M.jsx)(tf,{children:V(`${o.table}.${o.column}`)})]})]})]})},z$n=({templateName:e,metadata:t})=>{let n=Y4t(e,(0,A.useMemo)(()=>{let e=t?.locales?Object.keys(t.locales):void 0;return t?.defaultLocale||e?.[0]||void 0},[t]),{},!!e);return(0,M.jsxs)(N,{children:[n.isLoading?(0,M.jsx)(XB,{py:`xl`}):null,n.error?(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(n.error instanceof Error?n.error.message:`Failed to render email preview`)}):null,n.data?.subject?(0,M.jsx)(B,{fw:600,mb:`sm`,children:V(n.data.subject)}):null,n.data?.html?(0,M.jsx)(N,{style:{border:`1px solid var(--app-border)`,borderRadius:8,overflow:`hidden`,background:`#fff`},children:(0,M.jsx)(`iframe`,{title:e,srcDoc:n.data.html,style:{width:`100%`,height:560,border:`none`}})}):null]})},B$n={ladderStep:`_ladderStep_rez6e_1`,ladderActor:`_ladderActor_rez6e_15`,ladderSentence:`_ladderSentence_rez6e_16`},V$n={given:()=>X.scenarios_phase_given(),when:()=>X.scenarios_phase_when(),then:()=>X.scenarios_phase_then()},H$n=({step:e,continuation:t,actorName:n,onOpenPersona:r,onSelectStep:i})=>{let a=V$n[e.phase]?.(),o=e.actor;return(0,M.jsxs)(gu,{gap:`sm`,align:`flex-start`,wrap:`nowrap`,"data-testid":`ladder-step-${e.id}`,onClick:()=>i?.(e.id,e.repeat?`fanout`:`scenarioStep`,e.repeat?{stepName:e.id}:{stepName:e.sentence,phase:e.phase,actor:o,actorName:n}),className:B$n.ladderStep,style:{paddingLeft:8+e.depth*24},children:[(0,M.jsx)(N,{style:{width:52,flexShrink:0,textAlign:`right`},children:a&&!t&&!e.repeat&&(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,style:{lineHeight:1.6},children:V(a)})}),e.repeat?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,style:{lineHeight:1.6},children:(0,M.jsx)(`span`,{className:B$n.ladderSentence,children:X.scenarios_repeat({item:e.repeat.itemVar,source:e.repeat.sourceVar})})}):(0,M.jsxs)(B,{size:`sm`,style:{lineHeight:1.6},children:[o?(0,M.jsx)(Jv,{component:`span`,fw:600,"data-testid":`ladder-actor`,"data-persona-key":o,className:B$n.ladderActor,onClick:e=>{e.stopPropagation(),r?.(o)},style:{cursor:r?`pointer`:`default`,marginRight:6},children:V(n??o)}):null,(0,M.jsx)(`span`,{className:B$n.ladderSentence,children:V(e.sentence)})]})]})},U$n=({steps:e,actorNames:t,onOpenPersona:n,onSelectStep:r})=>e.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.scenarios_no_steps()}):(0,M.jsx)($m,{gap:6,children:e.map((i,a)=>(0,M.jsx)(H$n,{step:i,continuation:e[a-1]?.phase===i.phase,actorName:i.actor?t?.get(i.actor):void 0,onOpenPersona:n,onSelectStep:r},i.id))}),W$n=e=>typeof e==`string`?e:JSON.stringify(e),G$n=({rows:e})=>{let t=(0,A.useMemo)(()=>{let t=new Set;for(let n of e)if(n&&typeof n==`object`&&!Array.isArray(n))for(let e of Object.keys(n))t.add(e);return[...t]},[e]);return e.length===0?null:(0,M.jsxs)(N,{"data-testid":`scenario-examples`,children:[(0,M.jsx)(B,{size:`xs`,fw:600,c:`dimmed`,mb:6,children:X.scenarios_examples()}),(0,M.jsx)(N,{style:{overflowX:`auto`},children:(0,M.jsxs)(mh,{withTableBorder:!0,withColumnBorders:!0,fz:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsx)(mh.Tr,{children:t.map(e=>(0,M.jsx)(mh.Th,{children:V(e)},e))})}),(0,M.jsx)(mh.Tbody,{children:e.map((e,n)=>(0,M.jsx)(mh.Tr,{children:t.map(t=>(0,M.jsx)(mh.Td,{ff:`monospace`,children:V(W$n(e?.[t]))},t))},n))})]})})]})},K$n=({reason:e})=>(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,align:`center`,"data-testid":`scenario-skip`,children:[(0,M.jsx)(YFt,{size:13,strokeWidth:2}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenarios_skipped_reason({reason:e})})]}),q$n=e=>{if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`},J$n={completed:{tone:`green`,label:`passed`,Icon:$R},failed:{tone:`red`,label:`failed`,Icon:uB},cancelled:{tone:`red`,label:`cancelled`,Icon:uB},running:{tone:`blue`,label:`running`,Icon:pIt},suspended:{tone:`yellow`,label:`suspended`,Icon:OIt}},Y$n=({scenarioName:e})=>{let{data:t}=iXt(e),n=(0,A.useMemo)(()=>[...t??[]].sort((e,t)=>new Date(t.startedAt??0).getTime()-new Date(e.startedAt??0).getTime())[0],[t]),r=n?J$n[n.status]:void 0;return r?(0,M.jsx)(Yv,{variant:`light`,color:r.tone,radius:`xl`,tt:`none`,fw:500,leftSection:(0,M.jsx)(r.Icon,{size:11,strokeWidth:2.4}),"data-testid":`scenario-status-${e}`,children:V(`${r.label} · ${q$n(n?.startedAt)}`)}):null},X$n=({cast:e,onOpenPersona:t})=>e.length===0?null:(0,M.jsxs)(gu,{gap:10,wrap:`wrap`,"data-testid":`scenario-cast`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.scenarios_cast()}),e.map(e=>(0,M.jsx)(ru,{"data-testid":`scenario-cast-member`,"data-persona-key":e.key,onClick:t?()=>t(e.key):void 0,style:{cursor:t?`pointer`:`default`},children:(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(dZn,{personaKey:e.key,jobTitle:e.jobTitle,name:e.name,size:20}),(0,M.jsx)(B,{size:`sm`,children:V(e.name)}),e.jobTitle&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.jobTitle)})]})},e.key))]}),Z$n=({scenario:e,examples:t,cast:n,workflow:r,onOpenPersona:i,onSelectStep:a})=>(0,M.jsx)(N,{component:`section`,"data-testid":`scenario-section-${e.name}`,style:{borderLeft:`2px solid var(--mantine-color-default-border)`,paddingLeft:20,opacity:e.skip?.6:1},children:(0,M.jsxs)($m,{gap:10,children:[(0,M.jsxs)(gu,{gap:`sm`,align:`baseline`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fw:600,size:`md`,style:{flex:1,minWidth:0},children:V(e.title)}),(0,M.jsx)(Y$n,{scenarioName:e.name})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(e.description)}),e.tags.length>0&&(0,M.jsx)(gu,{gap:6,children:e.tags.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`default`,radius:`sm`,tt:`none`,children:V(e)},e))}),e.skip&&(0,M.jsx)(K$n,{reason:e.skip}),(0,M.jsx)(X$n,{cast:n,onOpenPersona:i}),(0,M.jsx)(U$n,{steps:e.steps,actorNames:new Map(n.map(e=>[e.key,e.name])),onOpenPersona:i,onSelectStep:(e,t,n)=>a?.(r,e,t,n)}),t.length>0&&(0,M.jsx)(G$n,{rows:t})]})}),Q$n=[`given`,`when`,`then`,`step`],$$n=e=>e.source===`scenario`||e.scenario===!0,e1n=e=>e.flow===`branch`&&(!e.branches||e.branches.length===0)&&!e.rpcName,t1n=e=>(/^step_\d+$/.test(e.nodeId)?e.rpcName??e.nodeId:e.nodeId).replace(/\$\{([^}]*)\}/g,`{$1}`),n1n=e=>{let t=e.scenarioStepPhase;return t&&Q$n.includes(t)?t:`step`},r1n=e=>{let t=e.nodes;if(!t)return[];let n=[],r=new Set,i=(e,t)=>{if(!(e1n(e)||e.flow===`return`)){if(e.flow===`fanout`){n.push({id:e.nodeId,phase:`step`,sentence:``,depth:t,repeat:{itemVar:e.itemVar??`item`,sourceVar:e.sourceVar??``}}),a(e.childEntry,t+1);return}n.push({id:e.nodeId,phase:n1n(e),sentence:t1n(e),depth:t,...e.actor?{actor:e.actor}:{}})}},a=(e,n)=>{let a=e;for(;a&&t[a]&&!r.has(a);){r.add(a);let e=t[a];i(e,n),a=e.next}},o=e.entryNodeIds&&e.entryNodeIds.length>0?e.entryNodeIds:[Object.keys(t)[0]];for(let e of o)a(e,0);for(let e of Object.keys(t))r.has(e)||a(e,0);return n},i1n=(e,t)=>({name:e.name,title:e.title??GB(e.name),...e.description||e.summary?{description:e.description??e.summary}:{},tags:[...new Set([...t,...e.tags??[]])].sort(),actors:e.actors??[],...e.skip?{skip:e.skip}:{},steps:r1n(e)});function a1n({workflows:e,features:t}){let n=new Map;for(let t of Object.values(e??{})){let e=t;$$n(e)&&((e.tags??[]).includes(`test-fixture`)||n.set(e.name,e))}let r=new Set,i=[];for(let e of Object.values(t??{})){let t=e,a=t.tags??[],o=[];for(let e of t.entries??[]){let t=n.get(e.scenario);t&&(r.add(e.scenario),o.push({scenario:i1n(t,a),...e.data===void 0?{}:{data:e.data}}))}i.push({id:t.id,name:t.name,...t.description?{description:t.description}:{},tags:a,hasBefore:t.hasBefore??!1,hasAfter:t.hasAfter??!1,unresolvedEntries:t.unresolvedEntries??0,scenarios:o})}i.sort((e,t)=>e.name.localeCompare(t.name));let a=[...n.values()].filter(e=>!r.has(e.name)).map(e=>i1n(e,[])).sort((e,t)=>e.title.localeCompare(t.title)),o=new Set;for(let e of i){for(let t of e.tags)o.add(t);for(let t of e.scenarios)for(let e of t.scenario.tags)o.add(e)}for(let e of a)for(let t of e.tags)o.add(t);return{features:i,ungrouped:a,tags:[...o].sort()}}var o1n=(e,t)=>e.title.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||(e.description?.toLowerCase().includes(t)??!1)||e.steps.some(e=>e.sentence.toLowerCase().includes(t)),s1n=(e,t)=>t.length===0||t.some(t=>e.tags.includes(t));function c1n(e,{query:t,tags:n=[]}){let r=t?.trim().toLowerCase()??``;if(!r&&n.length===0)return e;let i=[];for(let t of e){let e=!r||t.name.toLowerCase().includes(r)||(t.description?.toLowerCase().includes(r)??!1),a=t.scenarios.filter(t=>(e||o1n(t.scenario,r))&&s1n(t.scenario,n));a.length>0&&i.push({...t,scenarios:a})}return i}var l1n=`__ungrouped`;function u1n(e){let{meta:t,loading:n}=MB(),r=(0,A.useMemo)(()=>a1n({workflows:t.workflows,features:t.features}),[t]),i=(0,A.useMemo)(()=>r.ungrouped.length===0?r.features:[...r.features,{id:l1n,name:e,tags:[],hasBefore:!1,hasAfter:!1,unresolvedEntries:0,scenarios:r.ungrouped.map(e=>({scenario:e}))}],[r,e]);return{...r,allFeatures:i,loading:n}}var d1n=[`get`,`list`,`lookup`,`search`,`find`,`read`,`fetch`,`check`,`count`,`query`,`preview`,`describe`,`has`,`is`],f1n=e=>{if(typeof e.readonly==`boolean`)return e.readonly;let t=e.name;return d1n.some(e=>t.startsWith(e)&&(t.length===e.length||t[e.length]===t[e.length]?.toUpperCase()))},p1n=e=>{let t=e.filter(e=>typeof e.readonly==`boolean`).length;return{total:e.length,annotated:t,inferred:e.length-t}},m1n=(e,{readOnly:t=!1,allowApprovalRequired:n=!1,scopes:r}={})=>e.filter(e=>e.approvalRequired&&!n||t&&!f1n(e)?!1:r&&e.scopes?.length?O_e(e.scopes,r):!0),h1n=(e,t)=>e.filter(e=>!!e.scopes?.length&&!O_e(e.scopes,t)),X3={instructions:[`Work towards your current goal the way a competent user would.`,`Read an endpoint schema before you use it, and prefer values that a real person would plausibly enter.`].join(` `),moves:{continue:88,suspend:6,resume:5,abandon:1},temperature:.7,repeatRate:0,reReadRate:.1,emptyMemory:!1,readOnly:!1,invertedOracle:!1},g1n={realistic:X3,careless:{...X3,instructions:[`You are busy and easily distracted. You act on what you half-remember rather than checking first,`,`you sometimes submit the same thing twice because you are not sure it went through,`,`and you are comfortable entering odd-but-legal values — a very long name, an empty optional field, an emoji, a huge page size.`,`Stay within what the schema allows; you are careless, not malicious.`].join(` `),moves:{continue:62,suspend:18,resume:12,abandon:8},temperature:1,repeatRate:.18,reReadRate:.03},newcomer:{...X3,instructions:[`This is your first time in this product. You know nothing about it and hold no ids or names in your head.`,`Find your way from whatever lists or lookups exist, and say plainly when there is no path forward from where you are.`].join(` `),moves:{continue:80,suspend:8,resume:6,abandon:6},temperature:.8,reReadRate:.4,emptyMemory:!0},stale:{...X3,instructions:[`You used this product a while ago and are working from notes you took then.`,`Reach for the ids and names you already have rather than looking them up again — some of them are out of date, and finding out how the product tells you so is the point.`].join(` `),moves:{continue:84,suspend:8,resume:6,abandon:2},temperature:.7,reReadRate:.02},auditor:{...X3,instructions:[`You are reconciling, not achieving. Pick one fact the product reports — a total, a count, a balance, a status —`,`and read it from every endpoint that claims to know it, then say whether they agree.`,`Report a disagreement precisely: which endpoints, which field, which two values.`,`Never change anything.`].join(` `),moves:{continue:92,suspend:4,resume:4,abandon:0},temperature:.4,reReadRate:.5,readOnly:!0},adversarial:{...X3,instructions:[`You are testing whether this product actually enforces the boundaries it claims.`,`Try reaching resources that should not be yours, reusing identifiers you were given for one purpose in another,`,`and calling endpoints that look like they belong to someone with more authority than you.`,`You are probing authorization, not causing damage: never destroy data you can reach, and prefer reads over writes when either would prove the point.`].join(` `),moves:{continue:70,suspend:10,resume:8,abandon:12},temperature:.9,reReadRate:.2,invertedOracle:!0},accountable:{...X3,instructions:[`You are doing this job for real. What you change stays changed, and every call you make is recorded against your name.`,`Work towards your goals as the person you are, using the tools you have been given.`,`Where a specialist agent exists for part of the work, hand that part to it rather than reconstructing it yourself.`,`When you are unsure whether something is wanted, stop and say what you would do and why, rather than doing it and reporting afterwards.`,`Never guess at an identifier, an amount or a recipient — read it from the product first.`].join(` `),moves:{continue:94,suspend:5,resume:1,abandon:0},temperature:.4,repeatRate:0,reReadRate:.25}},_1n=(e=`realistic`,t)=>{let n=g1n[e]??g1n.realistic;if(!t)return n;let{moves:r,instructions:i,...a}=t,o={...n,...Object.fromEntries(Object.entries(a).filter(([,e])=>e!==void 0)),moves:{...n.moves,...Object.fromEntries(Object.entries(r??{}).filter(([,e])=>e!==void 0))}};return i&&(o.instructions=`${n.instructions} ${i}`),o},v1n=(e,t)=>e.filter(e=>!e.personas?.length||e.personas.includes(t)),y1n=(e,t)=>{let n=t&&typeof t==`object`?t:{};return e.replace(/\{(\w+)\}/g,(e,t)=>b1n(n[t])).replace(/\s+/g,` `).trim()},b1n=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),x1n=({phase:e,description:t,template:n,input:r,actor:i,keywordWidth:a})=>{let o=S1n(e),s=[i?`the ${i}`:``,n?y1n(n,r):t].filter(Boolean).join(` `);return a===void 0?[o,s].filter(Boolean).join(` `):`${o.padEnd(a)} ${s}`},S1n=e=>e.charAt(0).toUpperCase()+e.slice(1),C1n=e=>{let t=e?.properties;if(!t||typeof t!=`object`)return;let n=Object.keys(t);return n.length?n:void 0},w1n=(e,t={})=>{let n=[];for(let[r,i]of Object.entries(e??{})){if(i.scenario||i.scenarioStep||i.scenarioStepKind||i.expose!==!0)continue;let e=i.inputSchemaName?t[i.inputSchemaName]:void 0,a=i.outputSchemaName?t[i.outputSchemaName]:void 0;n.push({name:r,description:i.description??i.summary??i.title,readonly:i.readonly,approvalRequired:i.approvalRequired,scopes:i.scopes?.length?[...new Set(i.scopes)]:void 0,tags:i.tags?.length?i.tags:void 0,inputKeys:C1n(e),outputKeys:C1n(a),inputSchema:e,outputSchema:a})}return n},T1n=e=>e.steps?.length?e.steps.flatMap(e=>e.type===`scenarioStep`?[{stepFunc:e.stepFunc,phase:e.phase,actor:e.actor}]:[]):Object.values(e.nodes??{}).flatMap(e=>{let{rpcName:t,scenarioStepPhase:n,actor:r}=e??{};return!t||!n?[]:[{stepFunc:t,phase:n,actor:r}]}),E1n=(e,t={})=>{let n=[];for(let[r,i]of Object.entries(e??{})){if(!i.scenario&&i.source!==`scenario`||i.skip)continue;let e=[];for(let n of T1n(i)){let r=t[n.stepFunc],i=r?.scenarioStepTemplate,a=r?.description??r?.summary;!i&&!a||e.push(x1n({phase:n.phase,description:i??a??``,actor:n.actor}))}n.push({id:r,title:i.title??i.summary??r,description:i.description,steps:e.length?e:void 0,tags:i.tags?.length?i.tags:void 0,personas:i.actors?.length?i.actors:void 0})}return n},D1n=(e,t)=>{let n=new Set;for(let r of e)for(let e of t?.[r]?.scopes??[])n.add(e);return[...n].sort()},O1n=({personas:e,systemRoles:t,functions:n,workflows:r,features:i})=>{let a=w1n(n),{total:o,inferred:s}=p1n(a),c=E1n(r,n),l={};for(let e of Object.values(i??{}))for(let t of e.entries??[])l[t.scenario]=e.name;return Object.values(e??{}).filter(e=>e.runnable!==!1).map(e=>{let n=e.disposition??`realistic`,r=_1n(n,e.tuning),i=e.roles??[],u=D1n(i,t),d=r.invertedOracle,f=m1n(a,{readOnly:r.readOnly,allowApprovalRequired:!1,scopes:r.invertedOracle?void 0:u}),p=v1n(c,e.id),m={},h=new Map,g=0;for(let e of p){let t=l[e.id];t&&(m[e.id]=t,h.set(t,(h.get(t)??0)+1)),g+=e.steps?.length??0}return{id:e.id,name:e.name,description:e.description,persona:{key:e.id,name:e.name,email:e.email,jobTitle:e.jobTitle,personality:e.personality},disposition:n,profile:r,tunedDials:Object.keys(e.tuning??{}),goals:e.goals??[],intents:p,featureByIntent:m,wants:{intents:p.length,features:h.size,steps:g,byFeature:[...h].map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count||e.name.localeCompare(t.name))},tags:e.tags??[],roles:i,scopes:u,environments:e.environments,fixtures:e.fixtures,reach:{total:o,offered:f.length,mutations:f.filter(e=>!f1n(e)).length,offeredNames:f.map(e=>e.name),mutationNames:f.filter(e=>!f1n(e)).map(e=>e.name),inferredNames:a.filter(e=>typeof e.readonly!=`boolean`).map(e=>e.name),withheldByApproval:a.filter(e=>e.approvalRequired).length,withheldByScopes:r.invertedOracle?0:h1n(a,u).length,withheldByReadOnly:r.readOnly?a.filter(e=>!f1n(e)).length:0,inferred:s,showsEverything:d}}}).sort((e,t)=>e.name.localeCompare(t.name))},k1n=e=>{for(let t of[e.rpcName,e.name,e.agent,e.kind])if(typeof t==`string`&&t.length>0)return t;return`step`},A1n=e=>(e.source===`scenario`||e.scenario===!0)&&!(e.tags??[]).includes(`test-fixture`),j1n=(e,t)=>e.map(e=>{let n=t?.[e];return{name:e,displayName:n?.displayName,description:n?.description,scopes:[...n?.scopes??[]].sort(),declared:n!==void 0}}),M1n=e=>{let t=[];e.account&&t.push({name:`primary`,...e.account});for(let[n,r]of Object.entries(e.linkedAccounts??{}))t.push({name:n,...r});return t},N1n=({personas:e,systemRoles:t,workflows:n,features:r})=>{let i=new Map;for(let e of Object.values(r??{}))for(let t of e.entries??[])i.set(t.scenario,e.name);let a=new Map,o=new Map;for(let e of Object.values(n??{})){if(!A1n(e))continue;let t=i.get(e.name);for(let n of e.actors??[]){let r=a.get(n)??[];if(r.push({name:e.name,displayName:e.title??GB(e.name)}),a.set(n,r),t){let e=o.get(n)??new Set;e.add(t),o.set(n,e)}}}return Object.entries(e??{}).map(([e,n])=>{let r=n.roles??[];return{key:e,name:n.name??e,email:n.email,jobTitle:n.jobTitle,description:n.description,avatarUrl:n.avatarUrl,personality:n.personality,goals:n.goals??[],tags:n.tags??[],roles:j1n(r,t),scopes:D1n(r,t),disposition:n.disposition,environments:n.environments,runnable:n.runnable!==!1,accounts:M1n(n),fixtures:n.fixtures??[],sourceFile:n.sourceFile,scenarios:a.get(e)??[],features:[...o.get(e)??[]].sort()}}).sort((e,t)=>e.name.localeCompare(t.name))},P1n=e=>(e.source===`scenario`||e.scenario===!0)&&!(e.tags??[]).includes(`test-fixture`),F1n=(e,t)=>{if(Array.isArray(e)){for(let n of e)F1n(n,t);return t}if(!e||typeof e!=`object`)return t;let n=e;n.type===`scenarioStep`&&typeof n.stepFunc==`string`&&t.add(n.stepFunc);for(let e of Object.values(n))e&&typeof e==`object`&&F1n(e,t);return t},I1n=e=>({name:e.name,displayName:GB(e.name),sourceFile:e.sourceFile}),L1n=({functions:e,workflows:t,features:n})=>{let r=new Map;for(let e of Object.values(n??{}))for(let t of e.entries??[])r.set(t.scenario,e.name);let i=[],a=new Map;for(let t of e??[])if(t?.name){if(t.scenarioStepKind===`platform`)i.push(I1n(t));else if(t.scenarioStepKind===`addon`&&t.scenarioStepAddon){let e=a.get(t.scenarioStepAddon)??[];e.push(I1n(t)),a.set(t.scenarioStepAddon,e)}}let o=new Map;for(let e of Object.values(t??{}))P1n(e)&&o.set(e.name,F1n(e.steps,new Set));let s=e=>{let n=new Set(e.map(e=>e.name)),i=[],a=new Set;for(let e of Object.values(t??{})){if(!P1n(e))continue;let t=o.get(e.name);if(![...n].some(e=>t?.has(e)))continue;i.push({name:e.name,displayName:e.title??GB(e.name)});let s=r.get(e.name);s&&a.add(s)}return i.sort((e,t)=>e.name.localeCompare(t.name)),{scenarios:i,features:[...a].sort()}};return[{kind:`platform`,key:`platform`,name:`platform`,steps:i,...s(i)},...[...a.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({kind:`addon`,key:`addon:${e}`,name:e,addon:e,steps:t,...s(t)}))]};function R1n(){let{meta:e,loading:t}=MB();return{personas:(0,A.useMemo)(()=>N1n({personas:e.personas??{},systemRoles:e.systemRoles??{},workflows:e.workflows??{},features:e.features??{}}),[e.personas,e.systemRoles,e.workflows,e.features]),loading:t}}function z1n(){let{meta:e,loading:t}=MB();return{subjects:(0,A.useMemo)(()=>L1n({functions:e.functions??[],workflows:e.workflows??{},features:e.features??{}}),[e.functions,e.workflows,e.features]),loading:t}}var B1n=({scenarioName:e})=>{let{allFeatures:t}=u1n(X.scenarios_ungrouped()),{personas:n}=R1n(),{meta:r}=MB(),{openWorkflowStep:i,openPersona:a}=qB(),o=(0,A.useMemo)(()=>{for(let n of t){let t=n.scenarios.filter(t=>t.scenario.name===e),r=t[0];if(r)return{scenario:r.scenario,examples:t.map(e=>e.data).filter(e=>e!==void 0)}}},[t,e]),s=(0,A.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]);return o?(0,M.jsx)(Z$n,{scenario:o.scenario,examples:o.examples,cast:o.scenario.actors.map(e=>s.get(e)).filter(e=>!!e),workflow:r.workflows?.[e],onOpenPersona:e=>{let t=s.get(e);t&&a(e,t.name,{persona:t})},onSelectStep:(e,t,n,r)=>i(t,n,{...r,stepType:n})}):(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.scenarios_no_steps()})})},V1n=({rpcName:e})=>{let{data:t}=qQ(e),n=t?.sourceFile,r=t?.exportedName,{data:i,isLoading:a}=ZXn(n,r,!0);return!n||!r?null:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:X.scenarios_step_code()}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,"data-testid":`scenario-step-code`,children:i?.body?(0,M.jsx)(YQ,{code:i.body,language:`typescript`}):(0,M.jsx)(B,{size:`xs`,c:`dimmed`,p:`md`,children:a?X.scenarios_step_code_loading():X.scenarios_step_code_unavailable()})})]})},H1n={given:()=>X.scenarios_phase_given(),when:()=>X.scenarios_phase_when(),then:()=>X.scenarios_phase_then(),step:()=>X.scenarios_phase_step()},U1n=({stepId:e,metadata:t})=>{let n=pY(e),{openFunction:r}=qB(),i=t.phase??`step`,a=n?.rpcName;return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:8,px:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,color:`gray`,"data-testid":`scenario-step-phase`,children:V(H1n[i]?.()??i)}),t.actor&&(0,M.jsx)(sH,{type:`label`,color:`cyan`,"data-testid":`scenario-step-actor`,children:V(t.actorName??t.actor)})]}),(0,M.jsx)(B,{size:`md`,fw:600,style:{lineHeight:1.35},children:V(t.stepName??n?.stepName??e)})]}),(0,M.jsxs)(uy,{defaultValue:`details`,children:[(0,M.jsxs)(uy.List,{px:`md`,children:[(0,M.jsx)(uy.Tab,{value:`details`,"data-testid":`scenario-step-tab-details`,children:X.scenarios_step_tab_details()}),a&&(0,M.jsx)(uy.Tab,{value:`code`,"data-testid":`scenario-step-tab-code`,children:X.scenarios_step_tab_code()})]}),(0,M.jsx)(uy.Panel,{value:`details`,pt:`md`,px:`md`,children:(0,M.jsxs)($m,{gap:`xl`,children:[a&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:X.scenarios_step_definition()}),(0,M.jsx)(Jv,{component:`span`,ff:`monospace`,size:`sm`,"data-testid":`scenario-step-rpc`,onClick:()=>r(a),style:{cursor:`pointer`},children:V(a)})]}),(0,M.jsx)(sQn,{stepId:e}),(0,M.jsx)(lQn,{stepId:e}),(0,M.jsx)(oQn,{stepId:e})]})}),a&&(0,M.jsx)(uy.Panel,{value:`code`,pt:`md`,px:`md`,children:(0,M.jsx)(V1n,{rpcName:a})})]})]})},W1n=({stepId:e,metadata:t})=>{let n=lY(),r=pY(e),i=!!n?.selectedRunId,a=t?.stepType,o=a===`trigger`,s=[`branch`,`switch`,`parallel`,`fanout`,`filter`,`arrayPredicate`].includes(a)?(0,M.jsx)(uQn,{stepId:e}):a===`return`?(0,M.jsx)(lQn,{stepId:e,showOutputs:!0}):(0,M.jsxs)($m,{gap:`xl`,children:[!o&&(0,M.jsx)(sQn,{stepId:e}),(0,M.jsx)(lQn,{stepId:e}),(0,M.jsx)(oQn,{stepId:e})]}),c=(0,M.jsxs)($m,{gap:`xl`,children:[(0,M.jsx)(gQn,{stepId:e}),(0,M.jsx)(_Qn,{stepId:e}),(0,M.jsx)(vQn,{stepId:e}),(0,M.jsx)(yQn,{stepId:e}),(0,M.jsx)(bQn,{stepId:e})]});return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,px:`md`,children:[(0,M.jsx)(hz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,children:r?.stepName||r?.nodeId||e}),(0,M.jsx)(sH,{type:`label`,color:`gray`,children:a})]}),(0,M.jsx)(N,{px:`md`,pt:`md`,children:i?c:s})]})},G1n=({workflowId:e})=>{Pt();let t=lY(),n=lXt(),{schema:r,isLoading:i}=W3t(),a=(0,A.useCallback)(r=>{n.mutate({workflowName:e,input:r},{onSuccess:e=>{e?.runId&&t?.setSelectedRunId(e.runId),t?.setIsCreatingRun(!1)}})},[e,n,t]);return(0,M.jsxs)($m,{gap:`md`,children:[i?(0,M.jsx)(fu,{size:`sm`}):r?(0,M.jsx)(aY,{schema:r,onSubmit:a,submitting:n.isPending}):(0,M.jsx)(gu,{justify:`flex-end`,children:(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Nz,{size:16}),onClick:()=>a({}),loading:n.isPending,children:X.workflows_run()})}),n.isError&&(0,M.jsx)(B,{size:`sm`,c:`red`,children:typeof n.error?.message==`string`?n.error.message:JSON.stringify(n.error?.message??n.error,null,2)||`Failed to start workflow`})]})},K1n=({workflowId:e,renderGraph:t=!0})=>{let n=lY(),{workflow:r}=dY(),i=!!n?.selectedRunId,a=!!n?.isCreatingRun,o=!!r?.nodes&&Object.keys(r.nodes).length>0,s=t&&o;return(r?.source===`scenario`||r?.scenario===!0)&&!i&&!a?(0,M.jsx)(N,{px:`md`,py:`sm`,children:(0,M.jsx)(B1n,{scenarioName:e})}):(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(EQn,{workflowId:e})}),(0,M.jsx)(N,{px:`md`,pt:`md`,children:a?(0,M.jsx)(G1n,{workflowId:e}):i?(0,M.jsx)(FQn,{workflowId:e}):(0,M.jsxs)($m,{gap:`xl`,children:[s&&(0,M.jsx)(U3t,{}),(0,M.jsx)(OQn,{workflowId:e}),!s&&(0,M.jsx)(kQn,{workflowId:e}),(0,M.jsx)(jQn,{workflowId:e})]})})]})},q1n=(e,t={})=>{switch(e.type){case`function`:return[{id:`configuration`,title:`Function`,selfContained:!0,content:(0,M.jsx)(aZn,{functionName:e.id,metadata:e.metadata})}];case`workflowStep`:return[{id:`step`,title:`Step`,content:e.metadata?.stepType===`scenarioStep`?(0,M.jsx)(U1n,{stepId:e.id,metadata:e.metadata}):(0,M.jsx)(W1n,{stepId:e.id,metadata:e.metadata})}];case`workflow`:return[{id:`workflow`,title:`Workflow`,content:(0,M.jsx)(K1n,{workflowId:e.id,renderGraph:t.workflowGraph!==!1})}];case`http`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(RQn,{wireId:e.id,metadata:e.metadata})})}];case`channel`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(zQn,{wireId:e.id,metadata:e.metadata})})}];case`rpc`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(BQn,{wireId:e.id,metadata:e.metadata})})}];case`scheduler`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(VQn,{wireId:e.id,metadata:e.metadata})})}];case`queue`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(HQn,{wireId:e.id,metadata:e.metadata})})}];case`cli`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(GQn,{wireId:e.id,metadata:e.metadata})})}];case`mcp`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(KQn,{wireId:e.id,metadata:e.metadata})})}];case`gateway`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(YQn,{wireId:e.id,metadata:e.metadata})})}];case`trigger`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(qQn,{wireId:e.id,metadata:e.metadata})})}];case`triggerSource`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(JQn,{wireId:e.id,metadata:e.metadata})})}];case`middleware`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(QQn,{middlewareId:e.id,metadata:e.metadata})})}];case`permission`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(e$n,{permissionId:e.id,metadata:e.metadata})})}];case`agent`:return[{id:`agent`,title:`Agent`,content:(0,M.jsx)(S$n,{wireId:e.id,metadata:e.metadata})}];case`secret`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(A$n,{secretId:e.id,metadata:e.metadata})})}];case`variable`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(M$n,{variableId:e.id,metadata:e.metadata})})}];case`credentialUser`:return[{id:`configuration`,title:`Credentials`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(N$n,{userId:e.id,metadata:e.metadata})})}];case`authProvider`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(F$n,{metadata:e.metadata})})}];case`dbColumn`:return[{id:`configuration`,title:`Column`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(R$n,{metadata:e.metadata})})}];case`email`:return[{id:`preview`,title:`Email`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(z$n,{templateName:e.id,metadata:e.metadata})})}];case`persona`:return e.metadata?.subject?[{id:`subject`,title:`Subject`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(gZn,{subject:e.metadata.subject,onOpenScenario:e.metadata.onOpenScenario},e.metadata.subject.key)})}]:e.metadata?.persona?[{id:`persona`,title:`Persona`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(mZn,{persona:e.metadata.persona,onOpenScenario:e.metadata.onOpenScenario,onOpenVirtualUser:e.metadata.onOpenVirtualUser},e.metadata.persona.key)})}]:[];case`addon`:return e.metadata?.addon?[{id:`addon`,title:e.metadata.kind===`api`?`API`:`Addon`,content:(0,M.jsx)(jZn,{addon:e.metadata.addon,kind:e.metadata.kind,editable:!!e.metadata.editable,onInstalled:e.metadata.onInstalled})}]:[];case`workflowCanvas`:return e.metadata?.data?[{id:`workflowCanvas`,title:`Add`,content:rQn(e.metadata.data)}]:[];case`surfaceSymbol`:return e.metadata?.symbol?[{id:`surfaceSymbol`,title:`Export`,content:(0,M.jsx)(BZn,{symbol:e.metadata.symbol,specifier:e.metadata.specifier,usage:e.metadata.usage})}]:[];default:return[]}},J1n=({emptyMessage:e,workflowGraph:t=!0,hideClose:n=!1,hideRootTitle:r=!1})=>{let{panels:i,activePanel:a,closePanel:o,goBack:s}=qB();Pt();let c=a?i.get(a):null,l=(0,A.useMemo)(()=>c?q1n(c.data,{workflowGraph:t}):[],[c,t]);return!c||l.length===0?(0,M.jsx)($d,{h:`100%`,p:`xl`,children:(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:e??X.panel_select_item()})}):(0,M.jsx)(m6t,{hideRootTitle:r,hideClose:n,children:(0,M.jsx)(N,{style:{height:`100%`},children:l.map(e=>e.selfContained?(0,M.jsx)(N,{style:{height:`100%`},children:e.content},e.id):(0,M.jsxs)(h6t,{children:[(0,M.jsx)(g6t,{title:V(c.title),onBack:c.history.length>0?s:void 0,onClose:()=>o(a)}),(0,M.jsx)(_6t,{children:(0,M.jsx)($m,{gap:`xl`,px:`md`,children:e.content})})]},e.id))})})};function Y1n({opened:e,side:t,width:n,role:r,testId:i,children:a}){let o=(0,A.useId)(),{reserve:s}=JLt(),c=sV();(0,A.useEffect)(()=>(s(o,e&&!c?n-8:null,t),()=>s(o,null,t)),[o,e,n,c,t,s]);let[l,u]=(0,A.useState)(null);if((0,A.useEffect)(()=>{u(document.querySelector(`#console-content-portal-root`))},[e]),!e)return null;let d=(0,M.jsx)(`div`,{className:PB.chromePanel,style:{position:`absolute`,top:0,bottom:0,[t===`end`?`insetInlineEnd`:`insetInlineStart`]:0,width:c?`100%`:n,maxWidth:`100%`,display:`flex`,pointerEvents:`auto`,zIndex:3},role:r,"data-testid":i,children:(0,M.jsx)(ZB.Provider,{value:`self`,children:a})});return l?(0,lr.createPortal)(d,l):null}var X1n={sm:380,md:440,lg:620,xl:780};function Z1n({opened:e,onClose:t,title:n,width:r=`md`,footer:i,bodyStyle:a,testId:o,children:s}){let c=typeof r==`number`?r:X1n[r];return(0,M.jsx)(Y1n,{opened:e,side:`end`,width:c,role:`dialog`,testId:o,children:(0,M.jsxs)(uV,{noPadding:!0,fullWidth:!0,style:{display:`flex`,flexDirection:`column`},header:(0,M.jsx)(fV,{panel:!0,title:n,actions:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`input-sm`,"aria-label":X.common_close(),onClick:t,"data-testid":o?`${o}-close`:void 0,children:(0,M.jsx)(uB,{size:16})})}),children:[(0,M.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`,padding:`16px var(--panel-gutter)`,...a},children:s}),i&&(0,M.jsx)(`div`,{style:{flexShrink:0,borderTop:`0.5px solid var(--app-border)`,padding:`12px var(--panel-gutter)`,display:`flex`,justifyContent:`flex-end`,gap:8,background:`var(--app-panel-bg-soft)`},children:i})]})})}function Q1n({emptyMessage:e,workflowGraph:t}){let{panels:n,activePanel:r,closePanel:i}=qB(),a=r?n.get(r):null;return(0,M.jsx)(Z1n,{opened:!!a,onClose:()=>r&&i(r),title:a?V(a.title):void 0,width:450,bodyStyle:{padding:0},testId:`console-detail-panel`,children:(0,M.jsx)(J1n,{emptyMessage:e,workflowGraph:t,hideRootTitle:!0,hideClose:!0})})}function $1n({width:e,testId:t,children:n}){return(0,M.jsx)(Y1n,{opened:!0,side:`start`,width:e,testId:t,children:(0,M.jsx)(dV,{children:n})})}function e0n({width:e,testId:t,children:n}){return(0,M.jsx)(Y1n,{opened:!0,side:`end`,width:e,testId:t,children:(0,M.jsx)(dV,{children:n})})}function t0n({children:e,label:t}){let{host:n,setHasOptions:r,setLabel:i,setOpen:a}=LB();return(0,A.useEffect)(()=>(r(!0),i(t??null),()=>{r(!1),i(null),a(!1)}),[t,r,i,a]),n?(0,lr.createPortal)(e,n):null}var n0n=450,r0n=16,Z3=({children:e,header:t,leftDrawer:n,leftDrawerWidth:r=260,leftDrawerLabel:i,sidePanel:a,sidePanelWidth:o=320,sidePanelLabel:s,emptyPanelMessage:c,hidePanel:l=!1})=>{let{panels:u}=qB(),d=QB()===`self`,f=sV(),p=d&&!l&&u.size>0,m=!d&&!f,h=!!n&&f,g=!!a&&f&&!h;return(0,M.jsxs)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0},children:[t,(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,gap:`var(--mantine-spacing-md)`,padding:`var(--console-body-gutter)`},children:(0,M.jsxs)(N,{style:{flex:1,display:`flex`,minHeight:0},children:[h&&(0,M.jsx)(t0n,{label:i,children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`left-drawer-sheet`,children:n})}),g&&(0,M.jsx)(t0n,{label:s,children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`side-panel-sheet`,children:a})}),n&&!h&&(m?(0,M.jsx)($1n,{width:r+r0n,testId:`console-list-panel`,children:n}):(0,M.jsx)(N,{style:{width:r,flexShrink:0,overflow:`hidden`,marginRight:`var(--mantine-spacing-md)`},children:n})),(0,M.jsx)(N,{className:`${PB.flexColumn} ${PB.overflowAuto}`,style:{flex:1,minWidth:0},children:e}),a&&!g&&(d||f?(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{width:o,flexShrink:0,display:`flex`,flexDirection:`column`,marginLeft:`var(--mantine-spacing-md)`},children:a}):(0,M.jsx)(e0n,{width:o+r0n,testId:`console-side-panel`,children:a})),!d&&!l&&(0,M.jsx)(Q1n,{emptyMessage:c}),d&&!l&&(0,M.jsx)(N,{style:{width:p?n0n:0,marginLeft:p?`var(--mantine-spacing-md)`:0,flexShrink:0,overflow:`hidden`,transition:`width 180ms ease, margin-left 180ms ease`},children:(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{width:n0n,height:`100%`},children:(0,M.jsx)(J1n,{emptyMessage:c})})})]})})]})},i0n=({checked:e,onChange:t,tooltip:n})=>{Pt();let r=n??X.common_show_pikku_internals();return(0,M.jsx)(Qv,{label:r,withArrow:!0,children:(0,M.jsx)(qv,{variant:e?`light`:`default`,color:e?`blue`:`gray`,size:`xs`,px:`xs`,onClick:()=>t(!e),"aria-pressed":e,children:(0,M.jsx)(`img`,{src:VB,alt:`Pikku`,style:{width:14,height:14,objectFit:`contain`,opacity:e?1:.5}})})})},Q3=({icon:e,hero:t,title:n,description:r,code:i,docsHref:a})=>(Pt(),(0,M.jsxs)($m,{align:`center`,justify:`center`,gap:`md`,className:PB.emptyState,py:`xl`,style:{minHeight:`60vh`},children:[t??(e?(0,M.jsx)(e,{size:48,strokeWidth:1}):null),(0,M.jsx)(B,{size:`xl`,fw:600,children:n}),r&&(0,M.jsx)(B,{c:`dimmed`,ta:`center`,maw:500,children:r}),i&&(0,M.jsx)(h$n,{cmd:i}),(0,M.jsx)(Jv,{href:a,target:`_blank`,rel:`noopener noreferrer`,size:`sm`,c:`dimmed`,children:X.empty_state_how_it_works()})]})),$3=({icon:e,title:t,docsHref:n,data:r,columns:i,getKey:a,getRowProps:o,onRowClick:s,searchPlaceholder:c,searchFilter:l,externalSearch:u,emptyMessage:d,emptyTitle:f,emptyDescription:p,emptyHero:m,loading:h=!1,description:g,headerRight:_,onLoadMore:v,hasMore:y=!1,loadingMore:b=!1})=>{let x=oV(),S=$B();Pt();let[C,w]=(0,A.useState)(``),T=(0,A.useRef)(null),E=(0,A.useRef)(v);E.current=v&&y&&!b?v:void 0,(0,A.useEffect)(()=>{let e=T.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&E.current?.()});return t.observe(e),()=>t.disconnect()},[y]);let D=u===void 0?C:u,O=(0,A.useMemo)(()=>{if(!D||!l)return r;let e=D.toLowerCase();return r.filter(t=>l(t,e))},[r,D,l]);return x?(0,M.jsx)(M.Fragment,{children:x}):h?(0,M.jsx)(N,{className:S,children:(0,M.jsx)(XB,{})}):r.length===0?(0,M.jsx)(Q3,{icon:e,hero:m,title:f??V(`No ${t} found`),description:p??V(`No ${t.toLowerCase()} exist yet.`),docsHref:n}):(0,M.jsx)(N,{className:S,children:(0,M.jsxs)($m,{gap:0,className:PB.flexColumn,children:[g&&(0,M.jsx)(N,{px:`md`,py:`xs`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:g}),(l&&u===void 0||_)&&(0,M.jsxs)(N,{px:`md`,style:{height:42,borderBottom:`1px solid var(--mantine-color-default-border)`,display:`flex`,gap:8,alignItems:`center`},children:[l&&u===void 0&&(0,M.jsx)(ry,{placeholder:c??X.common_search(),leftSection:(0,M.jsx)(Vz,{size:14}),value:C,onChange:e=>w(e.target.value),className:PB.flexGrow,size:`sm`}),_]}),O.length===0?(0,M.jsx)(N,{p:`xl`,children:(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:D?V(`No results found for "${D}"`):d??X.common_no_items()})}):(0,M.jsxs)(N,{style:{flex:1,minHeight:0,overflow:`auto`},children:[(0,M.jsxs)(mh,{"data-testid":`data-table`,highlightOnHover:!!s,withRowBorders:!0,className:PB.tableLastRowBorder,children:[(0,M.jsx)(mh.Thead,{style:{position:`sticky`,top:0,zIndex:1,background:`var(--mantine-color-body)`},children:(0,M.jsx)(mh.Tr,{style:{height:42},children:i.map((e,t)=>(0,M.jsx)(mh.Th,{pl:t===0?`md`:void 0,pr:t===i.length-1?`md`:void 0,fw:600,fz:`sm`,style:{...e.width?{width:e.width}:{},...e.maxWidth?{maxWidth:e.maxWidth}:{}},children:e.header},e.key))})}),(0,M.jsx)(mh.Tbody,{children:O.map((e,t)=>(0,M.jsx)(mh.Tr,{...o?.(e,t),"data-interactive":s?`true`:`false`,className:s?PB.clickableText:void 0,style:{height:`3.75rem`},tabIndex:s?0:void 0,onClick:s?()=>s(e):void 0,onKeyDown:s?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),s(e))}:void 0,children:i.map((n,r)=>(0,M.jsx)(mh.Td,{pl:r===0?`md`:void 0,pr:r===i.length-1?`md`:void 0,style:{...n.width?{width:n.width}:{},...n.maxWidth?{maxWidth:n.maxWidth}:{}},children:n.render(e,t)},n.key))},a(e,t)))})]}),y&&(0,M.jsx)(N,{ref:T,py:`md`,children:b&&(0,M.jsx)($d,{children:(0,M.jsx)(fu,{size:`sm`})})})]})]})})};function a0n(e){return Array.isArray(e.tags)&&e.tags.includes(`pikku`)}var o0n=()=>{let e=W_();return Ji({queryKey:[`functions-meta`],queryFn:()=>e.invoke(`console:getFunctionsMeta`)})},s0n=(e,t,n)=>(0,A.useMemo)(()=>{let r=e??[],i=t.toLowerCase();return r.filter(e=>{if(!n&&a0n(e))return!1;if(!i)return!0;let t=e.pikkuFuncName||e.pikkuFuncId;return t?.toLowerCase().includes(i)||e.displayName?.toLowerCase().includes(i)||GB(t).toLowerCase().includes(i)||e.summary?.toLowerCase().includes(i)||e.description?.toLowerCase().includes(i)})},[e,t,n]),c0n={covered:`green`,partial:`yellow`,uncovered:`red`,unknown:`gray`},l0n=({searchQuery:e=``,showPikkuFunctions:t=!1,extraColumns:n=[],testsByFunction:r,emptyHero:i})=>{Pt();let{openFunction:a}=qB(),{functionUsedBy:o}=MB(),{data:s}=o0n(),c=s0n(s,e,t),l=(0,A.useMemo)(()=>!!r||c.some(e=>!!e.tests),[c,r]),u=(0,A.useMemo)(()=>[{key:`name`,header:`NAME`,maxWidth:350,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=e.displayName||GB(t),r=e.summary||e.description;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{fw:500,truncate:!0,children:V(n)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,ff:`monospace`,children:V(`${t}${r?` · ${r}`:``}`)})]})}},{key:`version`,header:`VERSION`,width:80,render:e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(e.version==null?`—`:`v${e.version}`)})},{key:`type`,header:`TYPE`,width:140,render:e=>{let t=eH[e.funcWrapper];return t?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,children:V(t.label)}):null}},{key:`auth`,header:`AUTH`,width:60,render:e=>{let t=e.sessionless!==!0;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:t?`#86efac`:`var(--app-text-dim)`,children:V(t?`Auth`:`—`)})}},{key:`wirings`,header:`WIRINGS`,width:80,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=o.get(t),r=n?n.transports.length+n.jobs.length:0;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:r>0?`var(--app-violet)`:`var(--app-text-dim)`,children:V(r>0?String(r):`—`)})}},...l?[{key:`tests`,header:`TESTS`,width:180,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=e.tests??r?.[t];if(!n)return(0,M.jsx)(ru,{onClick:n=>{n.stopPropagation(),a(t,e)},children:(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(`unknown`)})});let i=n.status,o=n.status===`covered`?`${n.coveredLines}/${n.totalLines}`:n.status===`unknown`?`unknown`:`${Math.round(n.ratio*100)}%`;return(0,M.jsx)(ru,{onClick:r=>{r.stopPropagation(),a(t,{...e,tests:n})},style:{display:`block`,textAlign:`left`},children:(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:c0n[i],children:V(o)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(n.scenarios.length===0?`No tests`:`${n.scenarios.length} linked`)})]})})}}]:[],...n.map(e=>({key:e.label,header:e.label.toUpperCase(),width:e.width,align:e.align,render:t=>e.render(t.pikkuFuncName||t.pikkuFuncId)}))],[o,n,l,a,r]);return(0,M.jsx)($3,{title:`Functions`,icon:Zz,docsHref:`https://pikku.dev/docs/core-features/functions`,data:c,columns:u,getKey:e=>e.pikkuFuncName||e.pikkuFuncId,onRowClick:e=>a(e.pikkuFuncName||e.pikkuFuncId,e),emptyMessage:X.functions_empty_message(),emptyHero:i})},u0n=({extraColumns:e,headerRight:t,testsByFunction:n,emptyHero:r})=>{Pt();let[i]=Gv(),[a,o]=(0,A.useState)(()=>i.get(`search`)??``),[s,c]=(0,A.useState)(!1),{data:l,isLoading:u}=o0n();return(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.functions_title(),description:X.functions_description(),docsHref:`https://pikku.dev/docs/core-features/functions`,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{placeholder:X.functions_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:a,onChange:e=>o(e.target.value),size:`xs`,style:{width:240}}),(0,M.jsx)(i0n,{checked:s,onChange:c,tooltip:X.common_show_pikku_internals()}),t]})}),emptyPanelMessage:X.functions_select_function(),hidePanel:u||!l||l.length===0,children:(0,M.jsx)(l0n,{searchQuery:a,showPikkuFunctions:s,extraColumns:e,testsByFunction:n,emptyHero:r})})})},d0n=(0,A.createContext)(null);function f0n(){let e=(0,A.useContext)(d0n);if(!e)throw Error(`useConsoleNavigator must be used within a navigator provider`);return e}var p0n=({children:e,basePath:t=`/workflow`})=>{let[n]=Gv(),r=z();return(0,M.jsx)(d0n.Provider,{value:{workflowId:n.get(`id`),scenarioId:n.get(`id`),navigateTo:(e,n)=>{r(n?`${t}?id=${encodeURIComponent(n)}`:t)}},children:e})},m0n=(0,A.createContext)(void 0),h0n=()=>{let e=(0,A.useContext)(m0n);if(!e)throw Error(`useCanvasDrawerContext must be used within CanvasDrawerProvider`);return e},g0n=({children:e})=>{let[t,n]=(0,A.useState)(null),r=(0,A.useCallback)(e=>{n({id:`add-step`,data:{type:`addStep`,metadata:e}})},[]),i=(0,A.useCallback)(()=>{n(null)},[]);return(0,M.jsx)(m0n.Provider,{value:{canvasDrawer:t,openAddStep:r,closeCanvasDrawer:i},children:e})},_0n=(0,A.createContext)(void 0),v0n=()=>{let e=(0,A.useContext)(_0n);if(!e)throw Error(`useWorkflowSurface must be used within a WorkflowSurface`);return e},y0n=()=>{let{panels:e,activePanel:t,openWorkflow:n}=qB(),{setFocusedNode:r}=dY(),{workflow:i,workflowName:a}=v0n(),o=(0,A.useRef)(null);return(0,A.useEffect)(()=>{!i||o.current===a||(o.current=a,n(a,i))},[i,a,n]),(0,A.useEffect)(()=>{if(!t){r(null);return}let n=e.get(t);n?.data.type===`workflowStep`?r(n.data.id):r(null)},[t,e,r]),null},b0n=({children:e,workflowId:t=null,workflow:n,readOnly:r=!1})=>{let i=W_(),{data:a,isLoading:o}=Ji({queryKey:oY.meta(t),queryFn:()=>i.invoke(`console:getWorkflowMetaById`,{workflowId:t}),enabled:!!t&&!n}),s=n??a,c=(0,A.useMemo)(()=>{let e=s?.source||`graph`,i=s?.name||s?.wireId||`Workflow`;return{workflow:s,workflowName:i,runsWorkflowName:t??i,workflowId:t,loading:!n&&!!t&&o,readOnly:r,isScenario:e===`scenario`,isComplex:e===`complex`}},[s,t,n,o,r]),l=(0,M.jsx)(mY,{workflow:s,children:(0,M.jsxs)(g0n,{children:[(0,M.jsx)(y0n,{}),e]})});return(0,M.jsx)(_0n.Provider,{value:c,children:(0,M.jsx)(ZV,{children:r?l:(0,M.jsx)(uY,{workflowName:c.runsWorkflowName,currentGraphHash:s?.graphHash,workflowNodes:s?.nodes,children:l})})})},x0n=(0,A.createContext)(null),S0n=({collapse:e,children:t})=>(0,M.jsx)(x0n.Provider,{value:e,children:t}),C0n=()=>(0,A.useContext)(x0n),w0n=240,T0n=40,E0n=16,D0n=({children:e,header:t,lead:n,filters:r,runsPanel:i,runsPanelVisible:a=!0,emptyPanelMessage:o,showTabs:s=!1,hidePanel:c=!1,collapseWhenEmpty:l=!1,storageKey:u=`three-pane`,listLabel:d,detailLabel:f})=>{Pt();let{panels:p}=qB(),m=QB()===`self`,h=sV(),g=!s,[_,v]=Wa({key:`${u}-left-collapsed`,defaultValue:!1}),[y,b]=Wa({key:`${u}-right-collapsed`,defaultValue:!1}),x=!!i&&a,S=m&&!c&&(p.size!==0||g&&!l),C=x&&h,w=x&&(h||!_),T=S&&!y,E=!m&&!h,D=C?i:w?(0,M.jsx)(S0n,{collapse:()=>v(!0),children:i}):(0,M.jsx)(Qv,{label:X.pane_show_list(),position:`right`,children:(0,M.jsxs)(ru,{className:E?PB.paneStubFlush:PB.paneStub,"aria-label":X.pane_show_list(),onClick:()=>v(!1),children:[(0,M.jsx)(CIt,{size:16}),(0,M.jsx)(`span`,{className:PB.paneStubLabel,children:d??X.pane_list()})]})}),O=!!n||!!r,k=!m&&(!x||E||C)?PB.listSurfaceFlush:PB.listSurfaceCard;return(0,M.jsxs)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0},children:[t,(0,M.jsxs)(N,{style:{display:`flex`,flex:1,minHeight:0,gap:`var(--mantine-spacing-md)`,padding:`var(--console-body-gutter)`},children:[C&&(0,M.jsx)(t0n,{label:d??X.pane_list(),children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`pane-list-sheet`,children:D})}),x&&!C&&(E?(0,M.jsx)($1n,{width:(w?w0n:T0n)+E0n,testId:`console-list-panel`,children:D}):(0,M.jsx)(N,{className:PB.paneCollapseTransition,style:{width:w?w0n:T0n,minWidth:w?w0n:T0n,flexShrink:0,overflow:`hidden`},children:w?(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{height:`100%`},children:D}):D})),(0,M.jsxs)(N,{className:k,style:{flex:1,minWidth:0,overflow:`hidden`},children:[O&&(0,M.jsx)(N,{px:8,style:{height:42,flexShrink:0,display:`flex`,alignItems:`center`,gap:8,borderBottom:`1px solid var(--app-border)`},children:(0,M.jsxs)(N,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:8},children:[n,r]})}),(0,M.jsx)(N,{style:{flex:1,minHeight:0,overflow:`hidden`},children:e})]}),!m&&!c&&(0,M.jsx)(Q1n,{emptyMessage:o,workflowGraph:!1}),S&&(0,M.jsx)(N,{className:PB.paneCollapseTransition,style:{width:T?`min(520px, 42vw)`:40,minWidth:T?void 0:40,flexShrink:0,overflow:`hidden`},children:T?(0,M.jsxs)(N,{className:PB.listSurfaceCard,style:{height:`100%`,width:`min(520px, 42vw)`,position:`relative`},children:[(0,M.jsx)(J1n,{emptyMessage:o,workflowGraph:!1,hideClose:!0,hideRootTitle:!!n}),(0,M.jsx)(Qv,{label:X.pane_hide_details(),children:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`sm`,"aria-label":X.pane_hide_details(),onClick:()=>b(!0),style:{position:`absolute`,top:20,right:10,zIndex:2},children:(0,M.jsx)(TIt,{size:16})})})]}):(0,M.jsx)(Qv,{label:X.pane_show_details(),position:`left`,children:(0,M.jsxs)(ru,{className:PB.paneStub,"aria-label":X.pane_show_details(),onClick:()=>b(!1),children:[(0,M.jsx)(EIt,{size:16}),(0,M.jsx)(`span`,{className:PB.paneStubLabel,children:f??X.pane_details()})]})})})]})]})},O0n=({workflowName:e,items:t,onItemSelect:n})=>{let[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),s=(0,A.useMemo)(()=>{if(!a)return t;let e=a.toLowerCase();return t.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[t,a]),c=e=>{i(!1),o(``),n(e)};return(0,M.jsxs)(uu,{opened:r,onChange:i,width:280,position:`bottom-start`,shadow:`md`,zIndex:1e4,children:[(0,M.jsx)(uu.Target,{children:(0,M.jsxs)(ru,{px:`sm`,py:6,style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:320,border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`,background:`var(--mantine-color-default)`},onClick:()=>i(e=>!e),children:[(0,M.jsx)(B,{size:`sm`,fw:600,style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e)}),(0,M.jsx)(ez,{size:14,style:{flexShrink:0}})]})}),(0,M.jsxs)(uu.Dropdown,{p:0,children:[(0,M.jsx)(ry,{placeholder:V(`Search workflows...`),leftSection:(0,M.jsx)(Vz,{size:14}),value:a,onChange:e=>o(e.currentTarget.value),styles:{input:{border:`none`,borderBottom:`1px solid var(--mantine-color-default-border)`,borderRadius:0}}}),(0,M.jsx)(nu.Autosize,{mah:300,children:(0,M.jsxs)($m,{gap:0,children:[s.map(t=>(0,M.jsxs)(ru,{onClick:()=>c(t.name),py:`xs`,px:`sm`,style:{display:`flex`,alignItems:`center`,gap:8,backgroundColor:t.name===e?`var(--mantine-color-green-light)`:void 0},children:[t.name===e?(0,M.jsx)($R,{size:14,color:`var(--mantine-color-green-6)`}):(0,M.jsx)(N,{w:14}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(B,{size:`sm`,fw:t.name===e?500:400,children:V(t.name)}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(t.description)})]})]},t.name)),s.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,py:`md`,children:V(`No results`)})]})})]})]})},k0n={running:`blue`,completed:`green`,failed:`red`,cancelled:`gray`},A0n=e=>new Date(e).toLocaleString(),j0n=({run:e,selected:t,onSelect:n,onDelete:r})=>{let[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(!1);return Pt(),i?(0,M.jsxs)(N,{py:`sm`,px:`sm`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`,backgroundColor:`var(--mantine-color-red-light)`},children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:6,children:X.runs_panel_delete_confirm()}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`compact-xs`,color:`red`,leftSection:(0,M.jsx)($R,{size:12}),onClick:()=>{r?.(e.id),a(!1)},children:X.common_yes()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`default`,leftSection:(0,M.jsx)(uB,{size:12}),onClick:()=>a(!1),children:X.common_no()})]})]}):(0,M.jsx)(N,{py:`sm`,px:`sm`,"data-testid":`run-row`,"data-run-id":e.id,"data-run-status":e.status,"data-selected":t?`true`:`false`,style:{backgroundColor:t?`var(--mantine-color-blue-light)`:void 0,borderBottom:`1px solid var(--mantine-color-default-border)`,cursor:`pointer`},onClick:n,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,align:`center`,children:[(0,M.jsxs)($m,{gap:2,style:{minWidth:0,flex:1},children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,style:{minWidth:0},children:[(0,M.jsx)(Yv,{size:`sm`,color:k0n[e.status]||`gray`,variant:`filled`,circle:!0,children:V(` `)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,truncate:!0,children:V(e.label||e.id.slice(0,8))}),e.wire&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(e.wire.type)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,pl:18,children:V(A0n(e.createdAt))})]}),r&&o&&(0,M.jsx)(Xv,{variant:`subtle`,size:`md`,color:`gray`,onClick:e=>{e.stopPropagation(),a(!0)},title:X.runs_panel_delete_run(),children:(0,M.jsx)(uB,{size:16})})]})})},M0n=({runs:e,selectedId:t,onSelect:n,onClear:r,loading:i=!1,statusFilters:a=[`running`,`completed`,`failed`],title:o,emptyMessage:s,onNewClick:c,newButtonLabel:l,onStatusFilterChange:u,onDelete:d,header:f})=>{let[p,m]=(0,A.useState)(`all`),h=C0n(),g=sV(),_=RB();Pt(),zB(g&&c?{label:l??X.runs_panel_new(),icon:(0,M.jsx)(Fz,{size:16}),onSelect:c}:null);let v=(0,A.useMemo)(()=>p===`all`?e:e.filter(e=>e.status===p),[e,p]),y=e=>{m(e),u?.(e===`all`?void 0:e)},b=[{value:`all`,label:X.runs_panel_filter_all()},...a.map(e=>({value:e,label:V(e.charAt(0).toUpperCase()+e.slice(1))}))];return(0,M.jsxs)($m,{gap:0,className:PB.flexColumn,children:[f,a.length>0&&(0,M.jsx)(N,{px:`sm`,py:`xs`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsx)(zm,{size:`sm`,fullWidth:!0,value:p,onChange:y,data:b})}),(0,M.jsxs)(nu,{className:PB.flexGrow,children:[(c&&!g||h)&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,pl:6,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:[h&&(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`sm`,"aria-label":X.pane_hide_list(),onClick:h,children:(0,M.jsx)(SIt,{size:16})}),c&&!g&&(0,M.jsx)(ru,{py:`sm`,px:`sm`,style:{flex:1,minWidth:0},onClick:c,"data-testid":`runs-panel-new`,children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Fz,{size:16,color:`var(--mantine-color-primary-6)`}),(0,M.jsx)(B,{size:`sm`,fw:500,c:`primary`,children:l??X.runs_panel_new()})]})})]}),i?(0,M.jsx)(N,{p:`md`,ta:`center`,children:(0,M.jsx)(fu,{size:`sm`})}):v.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,py:`md`,children:s??X.runs_panel_empty()}):(0,M.jsx)($m,{gap:0,children:v.map(e=>(0,M.jsx)(j0n,{run:e,selected:e.id===t,onSelect:()=>{n(e.id),_()},onDelete:d},e.id))})]})]})},N0n=()=>{Pt();let{workflowName:e,runsWorkflowName:t}=v0n(),{selectedRunId:n,setSelectedRunId:r,setIsCreatingRun:i}=cY(),{setActivePanel:a}=qB(),o=Y3(),s=W_(),{data:c,isLoading:l,refetch:u}=iXt(t),d=(0,A.useMemo)(()=>!c||!Array.isArray(c)?[]:c,[c]),f=(0,A.useCallback)(async e=>{await s.invoke(`console:deleteWorkflowRun`,{runId:e}),n===e&&r(null),u()},[s,n,r,u]),p=(0,A.useCallback)(()=>{r(null),i(!0),a(`workflow-${e}`)},[r,i,a,e]);return(0,M.jsx)(M0n,{title:`Runs`,runs:d,selectedId:n,onSelect:r,onClear:()=>r(null),loading:l,emptyMessage:X.runs_panel_empty(),statusFilters:[],onNewClick:o?p:void 0,newButtonLabel:o?X.workflow_runs_new():void 0,onDelete:o?f:void 0})},P0n={http:`http`,queue:`queue`,scheduler:`schedule`,trigger:`trigger`,cli:`cli`},F0n={http:e=>`${e.method?.toLowerCase()||`get`}:${e.route||``}`,queue:e=>e.name,schedule:e=>e.cron||e.interval,trigger:e=>e.name,cli:e=>e.command};function I0n(e,t){let n=P0n[t.type];if(!n)return{};if(n===`mcp`||t.type===`mcp`){if(!e.mcp||!t.id)return{mcp:e.mcp};let[n,...r]=t.id.split(`:`),i=r.join(`:`),a={};return e.mcp[n]&&(a[n]=e.mcp[n].filter(e=>(e.name||e.uri)===i)),{mcp:a}}let r=e[n];if(!r)return{};if(!t.id)return{[n]:r};let i=F0n[n];return i?{[n]:r.filter(e=>i(e)===t.id)}:{[n]:r}}var L0n={succeeded:`var(--pikku-status-succeeded, var(--mantine-color-green-5))`,failed:`var(--pikku-status-failed, var(--mantine-color-red-5))`,running:`var(--pikku-status-running, var(--mantine-color-blue-5))`,scheduled:`var(--pikku-status-scheduled, var(--mantine-color-orange-5))`,pending:`var(--pikku-status-pending, var(--mantine-color-gray-4))`,suspended:`var(--pikku-status-suspended, var(--mantine-color-yellow-5))`},R0n=e=>e&&L0n[e]||`var(--mantine-color-gray-3)`,z0n=()=>{let e=lY(),[t,n]=A.useState(!0),r=e?.timeline??[],i=r.length>0,{path:a,lastSeqByStep:o}=(0,A.useMemo)(()=>{if(!i)return{path:[],lastSeqByStep:new Map};let e=new Map;for(let t of r)e.set(t.stepName,t.seq);return{path:mXt(r).path,lastSeqByStep:e}},[r,i]);if(!e||!e.selectedRunId||!i)return null;let s=r.length-1,c=e.timelineSeq===null,l=e.timelineSeq??s,u=pXt(r,l),d=new Map(u.steps.map(e=>[e.stepName,e])),f=r[l],p=f?.stepName,m=a.map(e=>({value:o.get(e)??0})),h=t=>e.setTimelineSeq(t);return(0,M.jsxs)(N,{"data-testid":`workflow-timeline`,style:{flexShrink:0,borderTop:`1px solid var(--mantine-color-default-border)`,background:`var(--mantine-color-body)`},children:[(0,M.jsxs)(gu,{justify:`space-between`,px:`md`,py:6,wrap:`nowrap`,children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(oz,{size:16}),(0,M.jsx)(B,{size:`sm`,fw:600,children:V(`Timeline`)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(c?`Live`:`Step ${l+1} of ${r.length}`)})]}),(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[!c&&(0,M.jsx)(Qv,{label:V(`Follow live`),withinPortal:!0,children:(0,M.jsx)(Xv,{size:`sm`,variant:`subtle`,color:`blue`,onClick:()=>e.setTimelineSeq(null),"aria-label":V(`Follow live`),"data-testid":`timeline-follow-live`,children:(0,M.jsx)(Iz,{size:15})})}),(0,M.jsx)(Xv,{size:`sm`,variant:`subtle`,onClick:()=>n(e=>!e),"aria-label":V(`Toggle timeline`),children:t?(0,M.jsx)(ez,{size:15}):(0,M.jsx)(qFt,{size:15})})]})]}),(0,M.jsx)(rc,{expanded:t,children:(0,M.jsxs)($m,{gap:`xs`,px:`md`,pb:`sm`,children:[(0,M.jsx)(nu,{type:`hover`,scrollbarSize:6,children:(0,M.jsx)(gu,{gap:6,wrap:`nowrap`,py:2,children:a.map(e=>{let t=d.get(e),n=t!==void 0,r=o.get(e)??0;return(0,M.jsxs)(ru,{"data-testid":`timeline-step`,"data-step":e,onClick:()=>h(r),style:{display:`flex`,alignItems:`center`,gap:6,padding:`2px 8px`,borderRadius:6,whiteSpace:`nowrap`,opacity:n?1:.45,border:e===p?`1px solid var(--mantine-color-blue-5)`:`1px solid transparent`,background:e===p?`var(--mantine-color-blue-light)`:`var(--mantine-color-default-hover)`},children:[(0,M.jsx)(N,{style:{width:8,height:8,borderRadius:`50%`,background:R0n(t?.status),flexShrink:0}}),(0,M.jsx)(B,{size:`xs`,children:V(e)})]},e)})})}),(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(Xv,{size:`sm`,variant:`default`,disabled:l<=0,onClick:()=>h(l-1),"aria-label":V(`Previous event`),children:(0,M.jsx)(HIt,{size:14})}),(0,M.jsx)(N,{style:{flex:1},children:(0,M.jsx)(Qm,{min:0,max:s,value:l,marks:m,label:e=>r[e]?.stepName??``,onChange:h,size:`sm`})}),(0,M.jsx)(Xv,{size:`sm`,variant:`default`,disabled:l>=s,onClick:()=>h(l+1),"aria-label":V(`Next event`),children:(0,M.jsx)(UIt,{size:14})})]}),f&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,align:`baseline`,children:[(0,M.jsx)(N,{style:{width:8,height:8,borderRadius:`50%`,background:R0n(p?d.get(p)?.status:void 0),flexShrink:0}}),(0,M.jsx)(B,{size:`sm`,fw:500,children:V(f.stepName)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(f.type)}),f.fromStepName&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(`← ${f.fromStepName}`)})]})]})})]})},B0n=()=>{let{workflow:e,workflowName:t,loading:n,isScenario:r}=v0n(),{setActivePanel:i}=qB(),a=lY(),o=(0,A.useCallback)(()=>{i(`workflow-${t}`)},[i,t]),s=a?.isVersionMismatch&&a?.historicalWorkflow?{...e,...a.historicalWorkflow}:e,c=(0,A.useMemo)(()=>{let e=a?.runData?.wire;return!e||!s?.wires?s:{...s,wires:I0n(s.wires,e)}},[s,a?.runData?.wire]);return n?(0,M.jsx)(XB,{}):e?(0,M.jsxs)(N,{style:{height:`100%`,position:`relative`,display:`flex`,flexDirection:`column`},children:[a?.isVersionMismatch&&(0,M.jsx)(ty,{icon:(0,M.jsx)(MIt,{size:16}),color:`orange`,radius:0,py:`xs`,style:{flexShrink:0},children:(0,M.jsx)(B,{size:`sm`,children:V(`Viewing historical version — workflow definition has changed since this run`)})}),(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:r?(0,M.jsx)(nu,{h:`100%`,type:`auto`,children:(0,M.jsx)(N,{p:`xl`,style:{maxWidth:860,margin:`0 auto`},children:(0,M.jsx)(B1n,{scenarioName:t})})}):(0,M.jsx)(H3t,{workflow:c,onPaneClick:o})}),(0,M.jsx)(z0n,{})]}):(0,M.jsx)(Q3,{icon:hz,title:X.workflows_empty_title(),description:X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/core-features/workflows`})},V0n=`Add a node`,H0n=()=>{let{canvasDrawer:e,closeCanvasDrawer:t}=h0n(),n=JB(),r=QB()===`host`&&!!n,i=(0,A.useMemo)(()=>e?rQn(e.data):null,[e]),a=n?.openPanel,o=n?.panels,s=e?`workflowCanvas-${e.id}`:null;(0,A.useEffect)(()=>{!r||!a||!e||a(`workflowCanvas`,e.id,V0n,{data:e.data})},[r,a,e]);let c=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{if(!r||!s){c.current=!1;return}o?.has(s)?c.current=!0:c.current&&(c.current=!1,t())},[r,s,o,t]),r?null:(0,M.jsxs)(M.Fragment,{children:[e&&(0,M.jsx)(N,{style:{position:`fixed`,top:0,left:0,right:0,bottom:0,zIndex:98},onClick:t}),(0,M.jsx)(ey,{opened:e!==null,onClose:t,position:`right`,size:`md`,withOverlay:!1,withinPortal:!1,closeOnClickOutside:!1,withCloseButton:!1,styles:{inner:{top:`50px`,zIndex:99},content:{height:`100%`},header:{display:`none`},body:{padding:0}},children:i})]})},U0n=({items:e,onItemSelect:t,immersiveDetail:n=!1})=>{let{workflowName:r,isComplex:i}=v0n(),a=lY(),o=i?(0,M.jsx)(Qv,{label:V(`This is a complex workflow. The visual representation may not be accurate.`),multiline:!0,w:260,children:(0,M.jsx)(Yv,{color:`yellow`,variant:`light`,leftSection:(0,M.jsx)(tB,{size:12}),style:{textTransform:`none`},children:V(`Complex`)})}):void 0;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(D0n,{lead:n?void 0:(0,M.jsx)(O0n,{workflowName:r,items:e,onItemSelect:t}),filters:n?void 0:o,storageKey:`workflow`,listLabel:X.pane_runs(),showTabs:n,collapseWhenEmpty:!0,emptyPanelMessage:V(`Select a node to view its details`),runsPanel:a?(0,M.jsx)(N0n,{}):void 0,children:(0,M.jsx)(B0n,{})}),(0,M.jsx)(H0n,{})]})},W0n=({immersiveDetail:e=!1,readOnly:t=!1,entityId:n})=>{let{workflowId:r,navigateTo:i}=f0n();Pt();let a=W_(),o=n??r,{data:s,isLoading:c}=Ji({queryKey:oY.meta(o),queryFn:()=>a.invoke(`console:getWorkflowMetaById`,{workflowId:o}),enabled:!!o}),{meta:l}=MB(),u=(0,A.useMemo)(()=>l.workflows?Object.entries(l.workflows).map(([e,t])=>({name:e,description:t.steps?`${t.steps.length} steps`:void 0})):[],[l.workflows]);return c?(0,M.jsx)(XB,{h:`100vh`}):s?(0,M.jsx)(b0n,{workflowId:o,workflow:s,readOnly:t,children:(0,M.jsx)(U0n,{items:u,onItemSelect:e=>i(`workflows`,e),immersiveDetail:e})}):(0,M.jsx)(Q3,{icon:hz,title:o?V(`Workflow "${o}" not found`):X.workflows_empty_title(),description:o?X.workflows_not_found_description():X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/core-features/workflows`})};function G0n({item:e,onOpen:t,metricSlot:n}){let[r,i]=(0,A.useState)(!1);return Pt(),(0,M.jsxs)(N,{"data-testid":`entity-card-${e.name}`,onClick:()=>t(e.name),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{background:r?`var(--mantine-color-default-hover)`:`var(--app-surface, var(--mantine-color-body))`,border:`1px solid var(--mantine-color-default-border)`,borderRadius:12,cursor:`pointer`,transition:`background 100ms`,padding:`16px 20px`,display:`grid`,gridTemplateColumns:n?`1fr auto`:`1fr`,gap:24,alignItems:`center`},children:[(0,M.jsxs)($m,{gap:4,style:{minWidth:0},children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsxs)($m,{gap:1,style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,fw:600,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e.displayName??GB(e.name))}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e.name)})]}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,style:{flexShrink:0},children:[e.meta?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:11,padding:`2px 8px`,borderRadius:20,background:`var(--mantine-color-default)`,color:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`,whiteSpace:`nowrap`},children:e},e)),e.badges?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:10,fontWeight:600,padding:`2px 7px`,borderRadius:20,letterSpacing:`0.05em`,textTransform:`uppercase`,background:e.tone===`accent`?`var(--mantine-color-blue-light)`:`var(--mantine-color-default)`,color:e.tone===`accent`?`var(--mantine-color-blue-light-color)`:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`},children:e.label},e.label)),e.tags?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:10,padding:`1px 6px`,borderRadius:4,background:`var(--mantine-color-default)`,color:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`},children:e},e))]})]}),(0,M.jsx)(B,{size:`xs`,c:e.description?`dimmed`:`var(--mantine-color-placeholder)`,lineClamp:2,fs:e.description?void 0:`italic`,children:e.description?V(e.description):X.entity_card_no_description()})]}),n&&(0,M.jsx)(N,{style:{flexShrink:0},children:n(e.name)})]})}var K0n=({items:e,onOpen:t,loading:n=!1,emptyHero:r,emptyTitle:i,emptyDescription:a,docsHref:o=`https://pikku.dev/docs`,icon:s=BFt,metricSlot:c})=>(Pt(),n?(0,M.jsxs)($m,{gap:10,p:`md`,children:[(0,M.jsx)(Gm,{height:78,radius:12}),(0,M.jsx)(Gm,{height:78,radius:12}),(0,M.jsx)(Gm,{height:78,radius:12})]}):e.length===0?(0,M.jsx)(Q3,{icon:s,hero:r,title:i??X.entity_card_list_empty_title(),description:a,docsHref:o}):(0,M.jsx)($m,{gap:10,children:e.map(e=>(0,M.jsx)(G0n,{item:e,onOpen:t,metricSlot:c},e.name))})),q0n=({onOpen:e,searchQuery:t=``,emptyHero:n,metricSlot:r,icon:i=hz})=>{let{meta:a,loading:o}=MB(),s=(0,A.useMemo)(()=>{let e=new Set;for(let t of Object.values(a.workflows??{}))(t.source===`scenario`||t.scenario===!0)&&e.add(t.name);return e},[a.workflows]),c=(0,A.useMemo)(()=>{let e=a.workflows??{};return Object.values(e).map(e=>{let t=e.nodes?Object.keys(e.nodes).length:e.steps?.length??0,n=[];e.source===`scenario`?n.push({label:`Scenario`,tone:`accent`}):e.dsl===!0&&n.push({label:`DSL`,tone:`neutral`});let r=[];return t>0&&r.push(`${t} ${t===1?`step`:`steps`}`),e.actors?.length&&r.push(e.actors.join(`, `)),{name:e.name,badges:n,meta:r,description:e.description??e.summary,tags:e.tags}}).sort((e,t)=>e.name.localeCompare(t.name))},[a.workflows]),l=(0,A.useMemo)(()=>{let e=c.filter(e=>!s.has(e.name)),n=t.toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||e.description?.toLowerCase().includes(n)):e},[c,s,t]);return(0,M.jsx)(K0n,{items:l,onOpen:e,loading:o,icon:i,emptyHero:n,emptyTitle:X.workflows_empty_title(),emptyDescription:X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,metricSlot:r})},J0n=({onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i=!1,icon:a=hz})=>{Pt();let{workflowId:o,navigateTo:s}=f0n(),[c]=Gv(),[l,u]=(0,A.useState)(()=>c.get(`search`)??``);return!e&&o?(0,M.jsx)(W0n,{immersiveDetail:i}):(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{hidePanel:!0,header:(0,M.jsx)(lV,{title:X.workflows_title(),description:X.workflows_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{placeholder:X.workflows_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:l,onChange:e=>u(e.target.value),size:`xs`,style:{width:240}}),t]})}),children:(0,M.jsx)(q0n,{onOpen:t=>{e?e(t):s(`workflows`,t)},searchQuery:l,icon:a,emptyHero:n,metricSlot:r})})})},Y0n=({onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i=!1,extraColumns:a,icon:o=hz})=>{let s=(0,A.useContext)(d0n),c=(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{h:`100vh`}),children:(0,M.jsx)(J0n,{onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i,icon:o})});return s?c:(0,M.jsx)(p0n,{children:c})},X0n=e=>{let{tabs:t,title:n,description:r,docsHref:i,emptyPanelMessage:a,searchWidth:o=240,searchParamKey:s=`tab`,activeTab:c,onTabChange:l}=e;Pt();let[u,d]=Gv(),[f,p]=(0,A.useState)(()=>u.get(`search`)??``),m=c??u.get(s),h=t.find(e=>e.value===m)??t[0],g=e=>{if(p(``),l){l(e);return}d({[s]:e})},_=(0,M.jsx)(zm,{size:`xs`,value:h.value,onChange:g,data:t.map(({value:e,label:t})=>({value:e,label:t}))}),v;return v=e.controls===`shell`?(0,M.jsx)(lV,{title:n,description:r,docsHref:i,search:h.searchPlaceholder?{placeholder:h.searchPlaceholder,value:f,onChange:p,width:o}:void 0,selection:{ariaLabel:e.tabAriaLabel,value:h.value,onChange:g,options:e.tabs.map(({value:e,label:t})=>({value:e,label:t}))}}):e.controls===`stacked`?(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(lV,{title:n,description:r,docsHref:i}),_]}):(0,M.jsx)(lV,{title:n,description:r,docsHref:i,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[h.searchPlaceholder&&(0,M.jsx)(ry,{placeholder:h.searchPlaceholder,leftSection:(0,M.jsx)(Vz,{size:14}),value:f,onChange:e=>p(e.target.value),size:`xs`,style:{width:o}}),_]})}),(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{header:v,emptyPanelMessage:a,hidePanel:h.hidePanel??!1,children:h.render(f)})})},Z0n=({searchQuery:e,emptyHero:t})=>{let{meta:n}=MB();Pt();let{openHTTPWire:r}=qB(),i=(0,A.useMemo)(()=>n.httpMeta?[...n.httpMeta].sort((e,t)=>e.route.localeCompare(t.route)):[],[n.httpMeta]),a=(0,A.useMemo)(()=>[{key:`route`,header:`ROUTE`,render:e=>(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(gu,{gap:5,wrap:`nowrap`,mb:2,children:[(0,M.jsx)(sH,{type:`httpMethod`,value:e.method?.toUpperCase()||`GET`,size:`xs`}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,fw:500,truncate:!0,children:e.route})]}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,truncate:!0,children:e.pikkuFuncId})]})}],[]);return(0,M.jsx)($3,{title:`HTTP Routes`,icon:_z,docsHref:`https://pikku.dev/docs/wiring/http`,data:i,columns:a,getKey:e=>`${e.method}::${e.route}`,onRowClick:e=>r(`http::${e.method}::${e.route}`,e),searchPlaceholder:X.http_search_placeholder(),searchFilter:(e,t)=>e.route?.toLowerCase().includes(t)||e.pikkuFuncId?.toLowerCase().includes(t)||e.method?.toLowerCase().includes(t),emptyMessage:X.http_empty_message(),emptyHero:t,externalSearch:e})},Q0n=[`connect`,`disconnect`],$0n=({name:e,channel:t,isActive:n,isExpanded:r,onToggle:i,selected:a,onSelect:o,onChannelSwitch:s})=>{let[c,l]=(0,A.useState)(()=>new Set(Object.keys(t.messageWirings||{}))),u=Object.entries(t.messageWirings||{}),d=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},f=e=>n&&a?.type===`handler`&&a.handler===e,p=(e,t)=>n&&a?.type===`action`&&a.category===e&&a.action===t;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(ru,{onClick:()=>{n?i():(r||i(),s(e))},style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 12px`,fontSize:11,color:`var(--app-text)`,borderLeft:n?`2px solid var(--app-accent-strong)`:`2px solid transparent`,width:`100%`,opacity:n?1:.6,cursor:`pointer`},children:[r?(0,M.jsx)(ez,{size:9,color:`var(--app-text-dim)`}):(0,M.jsx)(tz,{size:9,color:`var(--app-text-dim)`}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,className:PB.flexGrow,children:V(e)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`cyan`,ff:`monospace`,children:V(`ws`)})]}),r&&(0,M.jsxs)(M.Fragment,{children:[Q0n.map(e=>{let n=t[e]!=null,r=f(e);return(0,M.jsxs)(ru,{onClick:()=>n&&o({type:`handler`,handler:e}),style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px 5px 22px`,fontSize:11,color:r||n?`var(--app-text)`:`var(--app-text-dim)`,borderLeft:r?`2px solid var(--app-accent-strong)`:`2px solid transparent`,background:r?`var(--app-surface-accent)`:void 0,width:`100%`,cursor:n?`pointer`:`default`,transition:`all 0.15s`},children:[(0,M.jsx)(N,{className:PB.typeDot,style:{background:e===`connect`?`rgba(6,182,212,0.6)`:`rgba(239,68,68,0.5)`}}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e===`connect`?`onConnect`:`onDisconnect`)})]},e)}),u.map(([e,t])=>{let n=Object.entries(t),r=c.has(e);return(0,M.jsxs)(A.Fragment,{children:[(0,M.jsxs)(ru,{onClick:()=>d(e),style:{display:`flex`,alignItems:`center`,gap:6,padding:`6px 12px 4px 22px`,fontSize:11,color:`var(--app-text)`,width:`100%`,cursor:`pointer`,transition:`all 0.15s`},children:[r?(0,M.jsx)(ez,{size:8}):(0,M.jsx)(tz,{size:8}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(e)}),(0,M.jsx)(Yv,{size:`sm`,ff:`monospace`,tt:`none`,style:{background:`var(--mantine-color-default)`,border:`0.5px solid transparent`,color:`var(--app-text-dim)`},children:V(`routing`)})]}),r&&n.map(([n])=>{let r=p(e,n),i=t[n]?.pikkuFuncId||n;return(0,M.jsx)(ru,{onClick:()=>o({type:`action`,category:e,action:n}),style:{display:`flex`,alignItems:`flex-start`,gap:7,padding:`5px 12px 5px 32px`,borderLeft:r?`2px solid var(--app-accent-strong)`:`2px solid transparent`,background:r?`var(--app-surface-accent)`:void 0,width:`100%`,cursor:`pointer`,transition:`all 0.15s`},children:(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:r?600:400,c:`var(--app-text)`,truncate:!0,children:V(n)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,truncate:!0,style:{fontSize:11},children:V(`${i}()`)})]})},n)})]},e)})]})]})},e2n=({channelName:e,channel:t,allChannelsMeta:n,selected:r,onSelect:i,onChannelSwitch:a,searchQuery:o=``})=>{let[s,c]=(0,A.useState)(()=>new Set([e])),l=(0,A.useMemo)(()=>{let e=Object.entries(n);if(!o)return e;let t=o.toLowerCase();return e.filter(([e])=>e.toLowerCase().includes(t))},[n,o]),u=e=>{c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,M.jsx)(nu,{className:PB.flexGrow,children:l.map(([t,n])=>(0,M.jsx)($0n,{name:t,channel:n,isActive:t===e,isExpanded:s.has(t),onToggle:()=>u(t),selected:r,onSelect:n=>{t!==e&&a(t),i(n)},onChannelSwitch:a},t))})},t2n=({code:e,label:t,language:n=`typescript`})=>(0,M.jsxs)(N,{children:[t&&(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:t}),(0,M.jsx)(YQ,{code:e,language:n,copyLabel:`Copy`,copiedLabel:`Copied`,styles:{pre:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},code:{whiteSpace:`pre-wrap`}}})]}),n2n=(e,t)=>{if(!t)return null;if(t.type===`handler`){let n=e[t.handler];return n?{pikkuFuncId:n.pikkuFuncId,meta:n}:null}let n=e.messageWirings?.[t.category]?.[t.action];return n?{pikkuFuncId:n.pikkuFuncId,meta:n}:null},r2n=(e,t)=>e?t?t.type===`handler`?e.handlers[t.handler]||null:e.actions?.[t.category]?.[t.action]||null:e.overview||null:null,i2n=(e,t)=>t?t.type===`handler`?`${e} / ${t.handler}`:`${e} / ${t.category} / ${t.action}`:e,a2n=e=>e?e.type===`handler`?e.handler:e.action:null,o2n=e=>e?e.type===`handler`?e.handler:`action`:`overview`,s2n=({channelName:e,channel:t,selected:n})=>{let{navigateInPanel:r}=qB();Pt();let i=n2n(t,n),a=i?.pikkuFuncId,{data:o}=qQ(a??``),s=o?.inputSchemaName,c=o?.outputSchemaName,{data:l}=W4t(e),u=(0,A.useMemo)(()=>r2n(l,n),[l,n]),d=o?.name||a,f=i2n(e,n),p=a2n(n);return o2n(n),(0,M.jsxs)(N,{className:PB.flexColumn,children:[(0,M.jsxs)(N,{className:PB.detailHeader,style:{padding:`10px 16px`},children:[(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(f)}),p&&(0,M.jsx)(B,{size:`sm`,fw:600,ff:`monospace`,c:`var(--app-text)`,children:V(p)}),d&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`${d}()`)})]}),(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`cyan`,children:X.channel_badge_channel()}),n?.type===`action`&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(n.category)}),t.tags?.map(e=>(0,M.jsx)(b6t,{children:V(e)},e))]})]}),(0,M.jsxs)(N,{className:PB.flexRow,style:{flex:1,minHeight:0},children:[(0,M.jsxs)(N,{className:PB.splitLeft,children:[(0,M.jsx)(ZQ,{children:X.channel_section_handler()}),a&&(0,M.jsx)(XQ,{label:X.channel_meta_function(),children:(0,M.jsx)(B,{size:`sm`,fw:600,ff:`monospace`,c:`var(--app-text)`,className:PB.clickableText,onClick:()=>r(`function`,a,d||a,o),children:V(d??``)})}),(0,M.jsx)(XQ,{label:X.channel_meta_channel(),children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text)`,children:V(e)})}),n?.type===`handler`&&(0,M.jsx)(XQ,{label:X.channel_meta_type(),children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text)`,children:n.handler===`connect`?X.channel_type_connect():n.handler===`disconnect`?X.channel_type_disconnect():X.channel_type_receive()})}),n?.type===`action`&&(0,M.jsx)(XQ,{label:X.channel_meta_routing(),children:(0,M.jsxs)(N,{style:{background:`var(--app-panel-bg)`,border:`1px solid var(--app-border)`,borderRadius:5,padding:`5px 8px`,fontSize:11},children:[(0,M.jsx)(B,{component:`span`,c:`var(--app-accent)`,size:`sm`,ff:`monospace`,children:V(n.category)}),(0,M.jsx)(B,{component:`span`,c:`dimmed`,size:`sm`,ff:`monospace`,children:V(`: `)}),(0,M.jsx)(B,{component:`span`,c:`green`,size:`sm`,ff:`monospace`,children:V(`"${n.action}"`)})]})}),o?.services&&o.services.services.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_services(),children:(0,M.jsx)(gu,{gap:4,children:o.services.services.map(e=>(0,M.jsx)(x6t,{children:V(e)},e))})}),i?.meta?.middleware&&i.meta.middleware.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_middleware(),children:(0,M.jsx)(gu,{gap:4,children:i.meta.middleware.map((e,t)=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(typeof e==`string`?e:e.type||`middleware`)},t))})}),t.tags&&t.tags.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_tags(),children:(0,M.jsx)(gu,{gap:4,children:t.tags.map((e,t)=>(0,M.jsx)(b6t,{children:V(e)},t))})}),s&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:X.channel_section_input()}),(0,M.jsx)($Q,{schemaName:s})]}),c&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:X.channel_section_output()}),(0,M.jsx)($Q,{schemaName:c})]})]}),(0,M.jsx)(N,{className:PB.flexGrow,style:{display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,M.jsxs)(uy,{defaultValue:`pikku-ws`,style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0},children:[(0,M.jsxs)(uy.List,{children:[(0,M.jsx)(uy.Tab,{value:`pikku-ws`,children:V(`pikku-ws`)}),(0,M.jsx)(uy.Tab,{value:`raw-ws`,children:X.channel_tab_raw_ws()}),(0,M.jsx)(uy.Tab,{value:`cli`,children:X.channel_tab_cli()})]}),(0,M.jsx)(uy.Panel,{value:`pikku-ws`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:u?(0,M.jsx)(t2n,{code:u,language:`typescript`}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.channel_empty_select_handler()})}),(0,M.jsx)(uy.Panel,{value:`raw-ws`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:(0,M.jsx)(t2n,{code:c2n(e,t,n),language:`typescript`})}),(0,M.jsx)(uy.Panel,{value:`cli`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.channel_empty_cli_not_available()})})]})})]})]})};function c2n(e,t,n){let r=[`const ws = new WebSocket('ws://localhost:3000${t.route||`/`}')`,``,`ws.onopen = () => {`];return n?.type===`action`?(r.push(` ws.send(JSON.stringify({`),r.push(` ${n.category}: '${n.action}',`),r.push(` // add your data here`),r.push(` }))`)):r.push(` console.log('Connected to ${e}')`),r.push(`}`),r.push(``),r.push(`ws.onmessage = (e) => {`),r.push(` const data = JSON.parse(e.data)`),r.push(` console.log(data)`),r.push(`}`),r.join(`
218
+ }`,{label:`enum`,detail:`definition`,type:`keyword`})]),OXn=new Gln,kXn=new Set([`Script`,`Block`,`FunctionExpression`,`FunctionDeclaration`,`ArrowFunction`,`MethodDeclaration`,`ForStatement`]);function AXn(e){return(t,n)=>{let r=t.node.getChild(`VariableDefinition`);return r&&n(r,e),!0}}var jXn=[`FunctionDeclaration`],MXn={FunctionDeclaration:AXn(`function`),ClassDeclaration:AXn(`class`),ClassExpression:()=>!0,EnumDeclaration:AXn(`constant`),TypeAliasDeclaration:AXn(`type`),NamespaceDeclaration:AXn(`namespace`),VariableDefinition(e,t){e.matchContext(jXn)||t(e,`variable`)},TypeDefinition(e,t){t(e,`type`)},__proto__:null};function NXn(e,t){let n=OXn.get(t);if(n)return n;let r=[],i=!0;function a(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(Q1.IncludeAnonymous).iterate(t=>{if(i)i=!1;else if(t.name){let e=MXn[t.name];if(e&&e(t,a)||kXn.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of NXn(e,t.node))r.push(n);return!1}}),OXn.set(t,r),r}var PXn=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,FXn=[`TemplateString`,`String`,`RegExp`,`LineComment`,`BlockComment`,`VariableDefinition`,`TypeDefinition`,`Label`,`PropertyDefinition`,`PropertyName`,`PrivatePropertyDefinition`,`PrivatePropertyName`,`JSXText`,`JSXAttributeValue`,`JSXOpenTag`,`JSXCloseTag`,`JSXSelfClosingTag`,`.`,`?.`];function IXn(e){let t=eXn(e.state).resolveInner(e.pos,-1);if(FXn.indexOf(t.name)>-1)return null;let n=t.name==`VariableName`||t.to-t.from<20&&PXn.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let n=t;n;n=n.parent)kXn.has(n.name)&&(r=r.concat(NXn(e.state.doc,n)));return{options:r,from:n?t.from:e.pos,validFor:PXn}}var K3=$Yn.define({name:`javascript`,parser:yGn.configure({props:[dXn.add({IfStatement:gXn({except:/^\s*({|else\b)/}),TryStatement:gXn({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:hXn,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:pXn({closing:`}`}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":gXn({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),_Xn.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":vXn,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name==`JSXSelfClosingTag`)return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){let t=e.firstChild?.nextSibling,n=e.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?e.to:n.from}}})]}),languageData:{closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]},commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:`$`}}),LXn={test:e=>/^JSX/.test(e.name),facet:XYn({commentTokens:{block:{open:`{/*`,close:`*/}`}}})},RXn=K3.configure({dialect:`ts`},`typescript`),zXn=K3.configure({dialect:`jsx`,props:[ZYn.add(e=>e.isTop?[LXn]:void 0)]}),BXn=K3.configure({dialect:`jsx ts`,props:[ZYn.add(e=>e.isTop?[LXn]:void 0)]},`typescript`),VXn=e=>({label:e,type:`keyword`}),HXn=`break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield`.split(` `).map(VXn),UXn=HXn.concat([`declare`,`implements`,`private`,`protected`,`public`].map(VXn));function WXn(e={}){let t=e.jsx?e.typescript?BXn:zXn:e.typescript?RXn:K3,n=e.typescript?DXn.concat(UXn):EXn.concat(HXn);return new uXn(t,[K3.data.of({autocomplete:cTn(FXn,sTn(n))}),K3.data.of({autocomplete:IXn}),e.jsx?JXn:[]])}function GXn(e){for(;;){if(e.name==`JSXOpenTag`||e.name==`JSXSelfClosingTag`||e.name==`JSXFragmentTag`)return e;if(e.name==`JSXEscape`||!e.parent)return null;e=e.parent}}function KXn(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name==`JSXIdentifier`||r.name==`JSXBuiltin`||r.name==`JSXNamespacedName`||r.name==`JSXMemberExpression`)return e.sliceString(r.from,Math.min(r.to,n));return``}var qXn=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),JXn=W3.inputHandler.of((e,t,n,r,i)=>{if((qXn?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=`>`&&r!=`/`||!K3.isActiveAt(e.state,t,-1))return!1;let a=i(),{state:o}=a,s=o.changeByRange(e=>{let{head:t}=e,n=eXn(o).resolveInner(t-1,-1),i;if(n.name==`JSXStartTag`&&(n=n.parent),!(o.doc.sliceString(t-1,t)!=r||n.name==`JSXAttributeValue`&&n.to>t)){if(r==`>`&&n.name==`JSXFragmentTag`)return{range:e,changes:{from:t,insert:`</>`}};if(r==`/`&&n.name==`JSXStartCloseTag`){let e=n.parent,r=e.parent;if(r&&e.from==t-2&&((i=KXn(o.doc,r.firstChild,t))||r.firstChild?.name==`JSXFragmentTag`)){let e=`${i}>`;return{range:Q.cursor(t+e.length,-1),changes:{from:t,insert:e}}}}else if(r==`>`){let r=GXn(n);if(r&&r.name==`JSXOpenTag`&&!/^\/?>|^<\//.test(o.doc.sliceString(t,t+2))&&(i=KXn(o.doc,r,t)))return{range:e,changes:{from:t,insert:`</${i}>`}}}}return{range:e}});return!s.changes.empty&&(e.dispatch([a,o.update(s,{userEvent:`input.complete`,scrollIntoView:!0})]),!0)});function YXn(){let{meta:e}=MB();return(0,A.useMemo)(()=>{let t={};for(let n of e.functions??[])for(let e of n.tags??[])t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].functionCount++;for(let[,n]of Object.entries(e.agentsMeta??{}))for(let e of n.tags??[])t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1});let n=e.middlewareGroupsMeta?.tagGroups??{};for(let e of Object.keys(n))t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].hasMiddleware=!0;let r=e.permissionsGroupsMeta?.tagGroups??{};for(let e of Object.keys(r))t[e]||(t[e]={tag:e,functionCount:0,hasMiddleware:!1,hasPermissions:!1}),t[e].hasPermissions=!0;return Object.values(t).sort((e,t)=>e.tag.localeCompare(t.tag))},[e])}function XXn(){let e=YXn();return(0,A.useMemo)(()=>e.map(e=>{let t=[];e.functionCount>0&&t.push(`${e.functionCount} func${e.functionCount>1?`s`:``}`),e.hasMiddleware&&t.push(`middleware`),e.hasPermissions&&t.push(`permissions`);let n=t.length>0?` (${t.join(`, `)})`:``;return{value:e.tag,label:`${e.tag}${n}`}}),[e])}function ZXn(e,t,n){let r=W_();return Ji({queryKey:[`function-source`,e,t],queryFn:async()=>await r.invoke(`console:readFunctionSource`,{sourceFile:e,exportedName:t}),enabled:!!e&&!!t&&n})}function QXn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,changes:r})=>e.invoke(`console:updateFunctionConfig`,{sourceFile:t,exportedName:n,changes:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`functions`]}),t.invalidateQueries({queryKey:[`function-source`]}),t.invalidateQueries({queryKey:[`allMeta`]})}})}function $Xn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,body:r})=>e.invoke(`console:updateFunctionBody`,{sourceFile:t,exportedName:n,body:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`functions`]}),t.invalidateQueries({queryKey:[`function-body`]}),t.invalidateQueries({queryKey:[`function-source`]}),t.invalidateQueries({queryKey:[`allMeta`]})}})}function eZn(){let e=W_(),t=Ri();return Yi({mutationFn:({templateName:t,source:n})=>e.invoke(`console:updateEmailTemplate`,{templateName:t,source:n}),onSuccess:()=>{t.invalidateQueries({queryKey:[`emails`]})}})}function tZn(e,t,n){let r=W_();return Ji({queryKey:[`agent-source`,e,t],queryFn:async()=>await r.invoke(`console:readAgentSource`,{sourceFile:e,exportedName:t}),enabled:!!e&&!!t&&n})}function nZn(){let e=W_(),t=Ri();return Yi({mutationFn:({sourceFile:t,exportedName:n,changes:r})=>e.invoke(`console:updateAgentConfig`,{sourceFile:t,exportedName:n,changes:r}),onSuccess:()=>{t.invalidateQueries({queryKey:[`allMeta`]}),t.invalidateQueries({queryKey:[`agent-source`]})}})}var rZn=({functionName:e,sourceFile:t,exportedName:n,onClose:r})=>{let{data:i,isLoading:a}=ZXn(t,n,!0),o=QXn(),s=XXn(),c=$Xn(),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(``),[h,g]=(0,A.useState)([]),[_,v]=(0,A.useState)(!1),[y,b]=(0,A.useState)(!1),[x,S]=(0,A.useState)(!1),[C,w]=(0,A.useState)(!1),[T,E]=(0,A.useState)(!1),[D,O]=(0,A.useState)(``),[k,ee]=(0,A.useState)(!1);(0,A.useEffect)(()=>{if(i){let e=i.config||{};u(e.title||``),f(e.description||``),m(e.summary||``),g(e.tags||[]),v(e.expose===!0),b(e.remote===!0),S(e.mcp===!0),w(e.readonly===!0),E(e.approvalRequired===!0),O(i.body||``)}},[i]);let te=(0,A.useCallback)(async()=>{let e=i?.config||{},a={};l!==(e.title||``)&&(a.title=l||null),d!==(e.description||``)&&(a.description=d||null),p!==(e.summary||``)&&(a.summary=p||null);let s=e.tags||[];if(JSON.stringify(h)!==JSON.stringify(s)&&(a.tags=h.length>0?h:null),_!==(e.expose===!0)&&(a.expose=_||null),y!==(e.remote===!0)&&(a.remote=y||null),x!==(e.mcp===!0)&&(a.mcp=x||null),C!==(e.readonly===!0)&&(a.readonly=C||null),T!==(e.approvalRequired===!0)&&(a.approvalRequired=T||null),Object.keys(a).length===0&&D===(i?.body||``)){r();return}try{Object.keys(a).length>0&&await o.mutateAsync({sourceFile:t,exportedName:n,changes:a}),D!==(i?.body||``)&&await c.mutateAsync({sourceFile:t,exportedName:n,body:D}),ee(!0),setTimeout(()=>r(),1200)}catch{}},[i,l,d,p,h,_,y,x,C,T,D,t,n,o,c,r]),ne=o.isPending||c.isPending,re=o.error||c.error;return a?null:(0,M.jsxs)(M.Fragment,{children:[ne&&(0,M.jsx)(N,{style:{position:`absolute`,inset:0,background:`var(--mantine-color-body)`,opacity:.6,zIndex:10,pointerEvents:`all`}}),(0,M.jsxs)($m,{gap:`md`,children:[re&&(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(re.message)}),(0,M.jsx)(ZQ,{children:V(`Metadata`)}),(0,M.jsx)(ry,{label:V(`Title`),value:l,onChange:e=>u(e.currentTarget.value),size:`sm`}),(0,M.jsx)(iy,{label:V(`Description`),value:d,onChange:e=>f(e.currentTarget.value),autosize:!0,minRows:2,maxRows:6,size:`sm`}),(0,M.jsx)(ry,{label:V(`Summary`),value:p,onChange:e=>m(e.currentTarget.value),size:`sm`}),(0,M.jsx)(sy,{label:V(`Tags`),data:s,value:h,onChange:g,searchable:!0,clearable:!0,size:`sm`,placeholder:V(`Search tags...`)}),(0,M.jsx)(ZQ,{children:V(`Flags`)}),(0,M.jsxs)(gu,{gap:`lg`,children:[(0,M.jsx)(cy,{label:V(`expose`),checked:_,onChange:e=>v(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`remote`),checked:y,onChange:e=>b(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`mcp`),checked:x,onChange:e=>S(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`readonly`),checked:C,onChange:e=>w(e.currentTarget.checked),size:`sm`}),(0,M.jsx)(cy,{label:V(`approvalRequired`),checked:T,onChange:e=>E(e.currentTarget.checked),size:`sm`})]}),i?.body!=null&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:V(`Function Body`)}),(0,M.jsx)(fWn,{value:D,onChange:O,extensions:[WXn({typescript:!0})],theme:`dark`,basicSetup:{lineNumbers:!0,foldGutter:!1,highlightActiveLine:!0},style:{fontSize:`13px`,border:`1px solid var(--app-border)`,borderRadius:`4px`,overflow:`hidden`}})]})]}),(0,M.jsx)(v6t,{children:(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:r,disabled:ne,leftSection:(0,M.jsx)(uB,{size:14}),size:`sm`,children:V(`Cancel`)}),(0,M.jsx)(qv,{onClick:te,loading:ne,disabled:k,color:k?`green`:void 0,leftSection:k?(0,M.jsx)(nz,{size:14}):(0,M.jsx)(Bz,{size:14}),size:`sm`,children:V(k?`Saved`:ne?`Saving…`:`Save & Rebuild`)})]})})]})},iZn=({functionName:e,metadata:t})=>{let{data:n,isLoading:r}=qQ(e),i=t||n||{};if(r&&!t)return(0,M.jsx)($d,{py:`xl`,children:(0,M.jsx)(fu,{size:`sm`})});let a=i.services?.services||[],o=i.middleware||[],s=i.permissions||[],c=i.expose===!0,l=i.sessionless!==!0;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[eH[i.funcWrapper]&&(0,M.jsx)(sH,{type:`funcWrapper`,value:i.funcWrapper}),l&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),s.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`}),c&&(0,M.jsx)(sH,{type:`flag`,flag:`exposed`}),i.internal===!0&&(0,M.jsx)(sH,{type:`flag`,flag:`internal`})]}),(0,M.jsx)(e$,{description:i.summary||i.description,services:a,wires:i.wires,middleware:o,permissions:s,tags:i.tags||[],errors:i.errors||[],functionName:e,inputSchemaName:i.inputSchemaName,outputSchemaName:i.outputSchemaName})]})},aZn=({functionName:e,metadata:t})=>{Pt();let[n,r]=(0,A.useState)(!1),{activePanel:i,panels:a,closePanel:o,goBack:s}=qB(),{data:c}=qQ(e),l=t||c||{},u=!!l.sourceFile&&!!l.exportedName,d=i?a.get(i):null;return(0,M.jsxs)(h6t,{children:[(0,M.jsx)(g6t,{title:V(d?.title??e),onBack:d&&d.history.length>0?s:void 0,onClose:()=>i&&o(i),children:u&&!n&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>r(!0),title:X.functions_edit_function(),"aria-label":X.functions_edit_function(),children:(0,M.jsx)(kIt,{size:14})})}),(0,M.jsx)(_6t,{children:(0,M.jsx)(N,{px:`md`,children:n&&u?(0,M.jsx)(rZn,{functionName:e,sourceFile:l.sourceFile,exportedName:l.exportedName,onClose:()=>r(!1)}):(0,M.jsx)(iZn,{functionName:e,metadata:t})})})]})},oZn=[`yellow`,`violet`,`blue`,`teal`,`grape`,`cyan`,`pink`,`orange`,`lime`,`indigo`],sZn=e=>{let t=0;for(let n=0;n<e.length;n++)t=Math.imul(t,31)+e.charCodeAt(n)|0;return Math.abs(t)},cZn=[[/shop|buy|cart|checkout|customer|order/,VIt],[/support|agent|help|service|desk/,lIt],[/admin|manager|owner|exec|lead|boss/,HFt],[/dev|engineer|tech|build/,lB],[/pay|bill|finance|account/,$Ft],[/doctor|nurse|clinic|patient|health/,WIt],[/teach|student|tutor|learn/,cIt],[/ship|deliver|courier|logistics|driver/,YIt],[/company|org|business|enterprise/,UFt]],lZn=[iB,nIt,jz,UFt],uZn=(e,t,n)=>{let r=oZn[sZn(e)%oZn.length],i=`${e} ${t??``} ${n??``}`.toLowerCase();return{color:r,Icon:cZn.find(([e])=>e.test(i))?.[1]??lZn[sZn(e)%lZn.length]}},dZn=({personaKey:e,jobTitle:t,name:n,avatarUrl:r,size:i=48})=>{let[a,o]=(0,A.useState)(),{color:s,Icon:c}=uZn(e,t,n),l=Math.max(2,Math.round(i*.06)),u=!!r&&a!==r;return(0,M.jsx)(N,{style:{padding:l,borderRadius:`50%`,flexShrink:0,background:`var(--mantine-color-${s}-light)`},children:(0,M.jsx)(N,{style:{width:i,height:i,borderRadius:`50%`,overflow:`hidden`,display:`grid`,placeItems:`center`,background:`var(--mantine-color-${s}-filled)`,color:`var(--mantine-color-white)`},children:u?(0,M.jsx)(`img`,{"data-testid":`persona-avatar-${e}`,src:r,alt:``,width:i,height:i,onError:()=>o(r),style:{width:i,height:i,objectFit:`cover`}}):(0,M.jsx)(c,{size:Math.round(i*.46),strokeWidth:1.9})})})},fZn=({roles:e})=>e.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_no_roles_explained()}):(0,M.jsx)($m,{gap:8,children:e.map(e=>(0,M.jsxs)(N,{"data-testid":`persona-role-${e.name}`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:8,padding:`8px 12px`},children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:V(e.displayName??e.name)}),e.displayName&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,children:V(e.name)}),!e.declared&&(0,M.jsx)(Yv,{variant:`light`,color:`red`,radius:`sm`,tt:`none`,fw:500,children:X.personas_role_undeclared()})]}),e.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,mt:2,children:V(e.description)}),e.scopes.length>0?(0,M.jsx)(gu,{gap:4,wrap:`wrap`,mt:6,children:e.scopes.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,styles:{label:{fontFamily:`var(--mantine-font-family-monospace)`}},children:V(e)},e))}):(0,M.jsx)(B,{size:`xs`,c:`dimmed`,mt:6,children:e.declared?X.personas_role_no_scopes():X.personas_role_undeclared_explained()})]},e.name))}),pZn=8,mZn=({persona:e,onOpenScenario:t,onOpenVirtualUser:n})=>{Pt();let[r,i]=(0,A.useState)(!1),a=r?e.scenarios:e.scenarios.slice(0,pZn);return(0,M.jsxs)($m,{gap:`lg`,pt:`xs`,"data-testid":`persona-detail-${e.key}`,children:[(0,M.jsxs)(gu,{gap:14,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(dZn,{personaKey:e.key,jobTitle:e.jobTitle,name:e.name,avatarUrl:e.avatarUrl,size:56}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`lg`,"data-testid":`persona-field-name`,children:V(e.name)}),e.jobTitle&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,"data-testid":`persona-field-role`,children:V(e.jobTitle)}),(0,M.jsx)(B,{ff:`monospace`,size:`xs`,c:`dimmed`,"data-testid":`persona-field-email`,children:V(e.email)}),(0,M.jsxs)(gu,{gap:6,mt:6,wrap:`wrap`,children:[(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.key)}),e.disposition&&(0,M.jsx)(Yv,{variant:`light`,color:`cyan`,radius:`sm`,tt:`none`,fw:500,children:V(e.disposition)}),!e.runnable&&(0,M.jsx)(Yv,{"data-testid":`persona-detail-target-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),children:X.personas_target()})]})]})]}),!e.runnable&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_target_explained()}),(e.description||e.personality)&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_about()}),e.description&&(0,M.jsx)(B,{size:`sm`,children:V(e.description)}),e.personality&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,"data-testid":`persona-field-personality`,children:V(`“${e.personality}”`)})]})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsxs)(gu,{gap:8,align:`baseline`,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_roles()}),e.scopes.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.scopes.length===1?X.personas_scope_count_one():X.personas_scope_count({count:e.scopes.length})})]}),(0,M.jsx)(fZn,{roles:e.roles})]}),e.goals.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_goals()}),e.goals.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(wh,{variant:`light`,color:`grape`,size:`sm`,radius:`sm`,children:(0,M.jsx)(qIt,{size:12})}),(0,M.jsx)(B,{size:`sm`,children:V(e)})]},e))]})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_signin()}),e.accounts.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_no_accounts()}):e.accounts.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(wh,{variant:`light`,color:`blue`,size:`sm`,radius:`sm`,children:(0,M.jsx)(vz,{size:12})}),(0,M.jsx)(B,{size:`sm`,children:e.provider?X.personas_account_provider({provider:e.provider}):X.personas_account_password()}),e.name!==`primary`&&(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.name)})]},e.name)),(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,mt:4,children:[(0,M.jsx)(wh,{variant:`light`,color:`teal`,size:`sm`,radius:`sm`,children:(0,M.jsx)(_z,{size:12})}),e.environments?(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.environments.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e)},e))}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.personas_environments_default()})]})]}),e.fixtures.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_fixtures()}),e.fixtures.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(DIt,{size:12,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,children:V(e)})]},e))]})]}),e.tags.length>0&&(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.tags.map(e=>(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e)},e))}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_appears_in({features:e.features.length===1?X.personas_feature_count_one():X.personas_feature_count({count:e.features.length}),scenarios:e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})}),e.scenarios.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_not_cast()}):a.map(e=>{let n=(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`cyan`,size:`sm`,radius:`sm`,children:(0,M.jsx)(zz,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:V(e.displayName)}),t&&(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]});return t?(0,M.jsx)(ru,{"data-testid":`persona-scenario-${e.name}`,onClick:()=>t(e.name),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:n},e.name):(0,M.jsx)(N,{"data-testid":`persona-scenario-${e.name}`,py:2,children:n},e.name)}),e.scenarios.length>pZn&&(0,M.jsx)(Jv,{component:`button`,type:`button`,size:`xs`,"data-testid":`persona-scenarios-toggle`,onClick:()=>i(e=>!e),style:{alignSelf:`flex-start`},children:r?X.personas_scenarios_show_fewer():X.personas_scenarios_show_all({count:e.scenarios.length})})]}),n&&e.runnable&&(0,M.jsx)(ru,{"data-testid":`persona-virtual-user-${e.key}`,onClick:()=>n(e.key),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`violet`,size:`sm`,radius:`sm`,children:(0,M.jsx)($It,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:X.personas_open_virtual_user()}),(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]})}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.sourceFile?X.personas_declared_in({file:e.sourceFile}):X.personas_defined_in()})]})},hZn=({kind:e,size:t=48})=>{let n=e===`platform`?Hz:Pz,r=Math.max(2,Math.round(t*.06)),i=e===`platform`?`violet`:`grape`;return(0,M.jsx)(N,{style:{padding:r,borderRadius:Math.round(t*.3),flexShrink:0,background:`var(--mantine-color-${i}-light)`},children:(0,M.jsx)(N,{"data-testid":`subject-avatar-${e}`,style:{width:t,height:t,borderRadius:Math.round(t*.24),display:`grid`,placeItems:`center`,background:`var(--mantine-color-${i}-filled)`,color:`var(--mantine-color-white)`},children:(0,M.jsx)(n,{size:Math.round(t*.46),strokeWidth:1.9})})})},gZn=({subject:e,onOpenScenario:t})=>{Pt();let n=e.kind===`platform`?X.subjects_platform_name():V(e.name);return(0,M.jsxs)($m,{gap:`lg`,pt:`xs`,"data-testid":`subject-detail-${e.key}`,children:[(0,M.jsxs)(gu,{gap:14,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(hZn,{kind:e.kind,size:56}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`lg`,"data-testid":`subject-field-name`,children:n}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:e.kind===`platform`?X.subjects_platform_role():X.subjects_addon_role()}),(0,M.jsxs)(gu,{gap:6,mt:6,wrap:`wrap`,children:[(0,M.jsx)(Yv,{variant:`default`,radius:`sm`,tt:`none`,fw:500,children:V(e.key)}),(0,M.jsx)(Yv,{"data-testid":`subject-detail-not-a-person-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),children:X.subjects_not_a_person()})]})]})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.subjects_not_a_person_explained()}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_section_about()}),(0,M.jsx)(B,{size:`sm`,children:e.kind===`platform`?X.subjects_platform_blurb():X.subjects_addon_blurb({addon:e.addon})})]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:8,children:[(0,M.jsxs)(gu,{gap:8,align:`baseline`,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.subjects_section_steps()}),e.steps.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.steps.length===1?X.subjects_step_count_one():X.subjects_step_count({count:e.steps.length})})]}),e.steps.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.subjects_no_steps_explained()}):e.steps.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(wh,{variant:`light`,color:`violet`,size:`sm`,radius:`sm`,children:(0,M.jsx)(aIt,{size:12})}),(0,M.jsxs)($m,{gap:0,style:{minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,children:V(e.displayName)}),e.sourceFile&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,lineClamp:1,children:V(e.sourceFile)})]})]},e.name))]}),(0,M.jsx)($v,{}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(Zv,{order:4,size:`sm`,fw:600,children:X.personas_appears_in({features:e.features.length===1?X.personas_feature_count_one():X.personas_feature_count({count:e.features.length}),scenarios:e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})}),e.scenarios.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_not_cast()}):e.scenarios.map(e=>{let n=(0,M.jsxs)(gu,{gap:10,wrap:`nowrap`,children:[(0,M.jsx)(wh,{variant:`light`,color:`cyan`,size:`sm`,radius:`sm`,children:(0,M.jsx)(zz,{size:13})}),(0,M.jsx)(B,{size:`sm`,style:{flex:1,minWidth:0},children:V(e.displayName)}),t&&(0,M.jsx)(tz,{size:15,color:`var(--mantine-color-dimmed)`})]});return t?(0,M.jsx)(ru,{"data-testid":`subject-scenario-${e.name}`,onClick:()=>t(e.name),style:{borderRadius:8,border:`1px solid var(--mantine-color-default-border)`,padding:`8px 12px`},children:n},e.name):(0,M.jsx)(N,{"data-testid":`subject-scenario-${e.name}`,py:2,children:n},e.name)})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:e.kind===`platform`?X.subjects_platform_declared():X.subjects_addon_declared({addon:e.addon})})]})},_Zn=e=>[`addon-install-result`,e],vZn=(e,t,n)=>{e.setQueryData(_Zn(t),n)},yZn=(e,t)=>e.getQueryData(_Zn(t)),bZn=({icon:e,label:t,value:n})=>(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`sm`,children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(wh,{size:34,radius:`md`,variant:`default`,color:`gray`,children:(0,M.jsx)(e,{size:16})}),(0,M.jsxs)($m,{gap:0,children:[(0,M.jsx)(B,{size:`lg`,fw:700,ff:`monospace`,lh:1,children:V(String(n))}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:t})]})]})}),xZn={auth:{icon:vz,color:`violet`},payments:{icon:$Ft,color:`green`},database:{icon:lz,color:`blue`},agents:{icon:QR,color:`orange`},ai:{icon:QR,color:`orange`},email:{icon:kz,color:`cyan`},storage:{icon:Hz,color:`grape`},analytics:{icon:eB,color:`teal`},observability:{icon:RFt,color:`red`},observe:{icon:RFt,color:`red`},realtime:{icon:Iz,color:`cyan`},search:{icon:Vz,color:`yellow`},devtools:{icon:lB,color:`gray`}},SZn={icon:jz,color:`gray`};function CZn(e){return e?xZn[e.toLowerCase()]??SZn:SZn}function wZn(e){return e.replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function TZn(e){return/^@pikku(fabric)?\//.test(e)}function EZn(e){return e.categories?.[0]}function DZn(e){return Object.entries(e).filter(([e])=>!!e).map(([e,t])=>({id:e,label:wZn(e),count:t})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label))}var OZn=e=>{let t=e.replace(`@pikku/addon-`,``).replace(/^@[^/]+\//,``).toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``);if(!t)throw Error(`Unable to derive namespace from package name: ${e}`);return t},kZn=e=>/^[a-z0-9-]+$/.test(e),AZn=e=>Object.values(e??{}).reduce((e,t)=>e+Object.keys(t??{}).length,0),jZn=({addon:e,kind:t=`addon`,editable:n,onInstalled:r})=>{Pt();let i=W_(),a=Ri(),[o,s]=(0,A.useState)(`overview`),c=t===`api`,[l,u]=(0,A.useState)(c?``:OZn(e.name)),d=c||kZn(l),{data:f}=Ji({queryKey:[`installed-addons`],queryFn:async()=>await i.invoke(`console:getInstalledAddons`)??[],staleTime:6e4}),p=c?`@pikku/addon-${OZn(e.name)}`:e.name,m=(f??[]).filter(e=>e.packageName===p).map(e=>e.namespace),h=m.length>0,g=Yi({mutationFn:async t=>c?i.invoke(`console:installOpenapiAddon`,{name:OZn(e.name),swaggerUrl:e.swaggerUrl}):i.invoke(`console:installAddon`,{packageName:e.name,namespace:t?.trim()||OZn(e.name),version:e.version}),onSuccess:t=>{a.invalidateQueries({queryKey:[`installed-addons`]}),a.invalidateQueries({queryKey:[`allMeta`]}),c||vZn(a,e.name,t),r?.(e.name)}}),_=g.error?g.error instanceof Error?g.error.message:String(g.error):null,{data:v}=Ji({queryKey:[`addon`,`community`,e.id],queryFn:async()=>await i.invoke(`console:getAddonCommunityPackage`,{id:e.id}),enabled:!c}),{data:y}=Ji({queryKey:[`api`,`detail`,e.id],queryFn:async()=>await i.invoke(`console:getOpenapiDetail`,{name:e.name}),enabled:c}),b=!c&&TZn(e.name),{icon:x,color:S}=CZn(EZn(e)),C=v?.functions??e.functions??{},w=Object.keys(C),T=v?.secrets??{},E=v?.variables??{},D=v?.channels??{},O=Object.entries(v?.httpRoutes??{}).flatMap(([e,t])=>Object.keys(t??{}).map(t=>({method:e,route:t}))),k=Object.keys(T),ee=Object.keys(E),te=Object.keys(D),ne=c?[{icon:_z,label:X.packages_surface_operations(),value:y?.totalOperations??e.totalOperations??0}]:[{icon:Zz,label:X.packages_surface_functions(),value:w.length},{icon:_z,label:X.packages_surface_http(),value:AZn(v?.httpRoutes)},{icon:Iz,label:X.packages_surface_channels(),value:Object.keys(v?.channels??{}).length},{icon:vz,label:X.packages_surface_secrets(),value:Object.keys(v?.secrets??{}).length},{icon:LIt,label:X.packages_surface_variables(),value:Object.keys(v?.variables??{}).length},{icon:QR,label:X.packages_surface_agents(),value:Object.keys(v?.agents??e.agents??{}).length}],re=v?.displayName??e.displayName??e.name,ie=v?.description??e.description,ae=v?.tags??e.tags??[],oe=v?.author??e.author,se=v?.version??e.version,ce=v?.icon??e.icon,le=ce&&ce.startsWith(`<`)?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(ce)}`:ce,ue=c?y?.swaggerUrl??e.swaggerUrl??`https://pikku.dev/docs/external-packages`:`https://pikku.dev/docs/external-packages`,de=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,mb:`sm`,children:X.packages_whats_included()}),(0,M.jsx)(Um,{cols:{base:2,sm:3},spacing:`sm`,children:ne.map(e=>(0,M.jsx)(bZn,{icon:e.icon,label:e.label,value:e.value},String(e.label)))}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,mt:`xl`,mb:`sm`,children:X.packages_published_by()}),(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(pye,{radius:`md`,color:b?`blue`:`gray`,children:(oe??e.name).slice(0,1).toUpperCase()}),(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:V(oe??e.name)}),b&&(0,M.jsx)(Uz,{size:14,color:`var(--mantine-color-blue-5)`})]})]})]});return(0,M.jsxs)($m,{gap:0,"data-testid":`addon-detail-${e.name}`,children:[(0,M.jsxs)(N,{p:`lg`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,align:`flex-start`,children:[le?(0,M.jsx)(`img`,{src:le,width:56,height:56,alt:e.displayName,style:{objectFit:`contain`,borderRadius:12}}):(0,M.jsx)(wh,{size:56,radius:`md`,variant:`light`,color:S,children:(0,M.jsx)(x,{size:28})}),(0,M.jsxs)($m,{gap:4,style:{flex:1,minWidth:0},children:[(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[(0,M.jsx)(Zv,{order:3,fw:700,children:V(re||e.name)}),c?oe&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,children:V(oe)}):b?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,leftSection:(0,M.jsx)(Uz,{size:11}),children:X.packages_official()}):(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:X.packages_community()})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e.name)})]})]}),ie&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:`md`,children:V(ie)}),ae.length>0&&(0,M.jsx)(gu,{gap:6,mt:`sm`,children:ae.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,ff:`monospace`,fw:400,children:V(e)},e))}),!c&&m.length>0&&(0,M.jsxs)(gu,{gap:`xs`,mt:`lg`,align:`center`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_installed_as()}),m.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`green`,tt:`none`,ff:`monospace`,fw:400,children:V(e)},e))]}),!h&&!c&&n&&(0,M.jsx)(ry,{mt:m.length>0?`sm`:`lg`,label:X.packages_install_name_label(),description:X.packages_install_name_description(),value:l,onChange:e=>u(e.currentTarget.value),"data-testid":`addon-install-name`,error:l.length>0&&!d?X.packages_install_name_invalid():null,styles:{input:{fontFamily:`monospace`}}}),(0,M.jsxs)(gu,{gap:`sm`,mt:!h&&!c&&n?`sm`:`lg`,children:[h?(0,M.jsx)(qv,{variant:`light`,color:`green`,leftSection:(0,M.jsx)($R,{size:15}),disabled:!0,children:c?X.packages_imported_to_project():X.packages_added_to_project()}):n&&(0,M.jsx)(qv,{leftSection:(0,M.jsx)(uz,{size:15}),loading:g.isPending,disabled:!d,"data-testid":`addon-install-submit`,onClick:()=>g.mutate(c?void 0:l),children:c?X.packages_import_to_project():X.packages_add_to_project()}),(0,M.jsx)(qv,{component:`a`,href:ue,target:`_blank`,rel:`noopener noreferrer`,variant:`default`,leftSection:(0,M.jsx)(dz,{size:15}),children:X.packages_docs()})]}),_&&(0,M.jsx)(ty,{mt:`sm`,color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:15}),"data-testid":`addon-install-error`,children:(0,M.jsx)(B,{size:`sm`,children:c?X.packages_import_error({name:e.displayName||e.name,message:_}):X.packages_install_error({name:e.displayName||e.name,message:_})})}),(0,M.jsx)($v,{my:`md`}),(0,M.jsxs)(gu,{gap:`xl`,children:[(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_version()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(se??`—`)})]}),v?.license&&(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_license()}),(0,M.jsx)(B,{size:`sm`,children:V(v.license)})]}),oe&&(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:700,children:X.packages_meta_author()}),(0,M.jsx)(B,{size:`sm`,children:V(oe)})]})]})]}),c?(0,M.jsx)(N,{p:`lg`,style:{borderTop:`1px solid var(--mantine-color-default-border)`},children:de}):(0,M.jsxs)(uy,{value:o,onChange:s,children:[(0,M.jsx)(N,{style:{borderBottom:`1px solid var(--mantine-color-default-border)`,borderTop:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsxs)(uy.List,{style:{borderBottom:`none`,paddingLeft:`var(--mantine-spacing-md)`},children:[(0,M.jsx)(uy.Tab,{value:`overview`,children:X.packages_tab_overview()}),(0,M.jsx)(uy.Tab,{value:`functions`,children:V(`${X.packages_tab_functions()} (${w.length})`)}),O.length>0&&(0,M.jsx)(uy.Tab,{value:`http`,children:V(`${X.packages_surface_http()} (${O.length})`)}),te.length>0&&(0,M.jsx)(uy.Tab,{value:`channels`,children:V(`${X.packages_surface_channels()} (${te.length})`)}),k.length>0&&(0,M.jsx)(uy.Tab,{value:`secrets`,children:V(`${X.packages_surface_secrets()} (${k.length})`)}),ee.length>0&&(0,M.jsx)(uy.Tab,{value:`variables`,children:V(`${X.packages_surface_variables()} (${ee.length})`)})]})}),(0,M.jsx)(uy.Panel,{value:`overview`,p:`lg`,children:de}),(0,M.jsx)(uy.Panel,{value:`functions`,p:`lg`,children:w.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_no_functions()}):(0,M.jsx)(MZn,{children:w.map((e,t)=>{let n=C[e];return(0,M.jsxs)(NZn,{first:t===0,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.title??e)}),n?.title&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]}),n?.category&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(n.category)})]},e)})})}),O.length>0&&(0,M.jsx)(uy.Panel,{value:`http`,p:`lg`,children:(0,M.jsx)(MZn,{children:O.map(({method:e,route:t},n)=>(0,M.jsx)(NZn,{first:n===0,children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,w:64,ta:`center`,children:V(e.toUpperCase())}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t)})]})},`${e} ${t}`))})}),te.length>0&&(0,M.jsx)(uy.Panel,{value:`channels`,p:`lg`,children:(0,M.jsx)(MZn,{children:te.map((e,t)=>(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsx)(B,{size:`sm`,fw:500,ff:`monospace`,children:V(e)})},e))})}),k.length>0&&(0,M.jsx)(uy.Panel,{value:`secrets`,p:`lg`,children:(0,M.jsx)(MZn,{children:k.map((e,t)=>{let n=T[e];return(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.displayName??e)}),n?.secretId&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(n.secretId)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]})},e)})})}),ee.length>0&&(0,M.jsx)(uy.Panel,{value:`variables`,p:`lg`,children:(0,M.jsx)(MZn,{children:ee.map((e,t)=>{let n=E[e];return(0,M.jsx)(NZn,{first:t===0,children:(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(n?.displayName??e)}),n?.variableId&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(n.variableId)})]}),n?.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:V(n.description)})]})},e)})})})]})]})},MZn=({children:e})=>(0,M.jsx)($m,{gap:0,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-md)`,overflow:`hidden`},children:e}),NZn=({first:e,children:t})=>(0,M.jsx)(gu,{justify:`space-between`,px:`md`,py:`xs`,wrap:`nowrap`,style:{borderTop:e?void 0:`1px solid var(--mantine-color-default-border)`},children:t}),PZn=e=>{let t=[];return e.split(/```[^\n]*\n?/).forEach((e,n)=>{if(n%2==1){let n=e.replace(/\n$/,``);n.trim()&&t.push({kind:`code`,text:n});return}for(let n of e.split(/\n\s*\n/)){let e=n.replace(/\s*\n\s*/g,` `).trim();e&&t.push({kind:`prose`,text:e})}}),t},FZn=e=>e.via===`core`?X.surface_origin_core({subpath:e.subpath}):e.via===`package`?X.surface_origin_package({packageName:e.packageName}):X.surface_origin_generated(),IZn={"create a function":X.surface_step_create_a_function,"enhance it":X.surface_step_enhance_it,"wire it up":X.surface_step_wire_it_up,"guard it":X.surface_step_guard_it,"orchestrate it":X.surface_step_orchestrate_it,"test it":X.surface_step_test_it},LZn={app:X.surface_entry_app,addon:X.surface_entry_addon},RZn={whiteSpace:`pre-wrap`,wordBreak:`break-word`},zZn={whiteSpace:`pre-wrap`},BZn=({symbol:e,specifier:t,usage:n})=>(0,M.jsxs)($m,{gap:`md`,p:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{fw:600,ff:`monospace`,children:V(e.name)}),(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(e.kind)})]}),e.deprecated&&(0,M.jsx)(ty,{color:`yellow`,title:X.surface_deprecated(),children:V(e.deprecated)}),e.docs?(0,M.jsx)($m,{gap:`sm`,children:PZn(e.docs).map((e,t)=>e.kind===`code`?(0,M.jsx)(tf,{block:!0,style:zZn,children:e.text},t):(0,M.jsx)(B,{size:`sm`,children:V(e.text)},t))}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.surface_undocumented()}),(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.surface_import_hint()}),(0,M.jsx)(tf,{block:!0,style:RZn,children:`import { ${e.name} } from '${t}'`})]}),(0,M.jsx)($v,{}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(FZn(e.origin))}),n&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.surface_used_in()}),n.imports===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.surface_unused()}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:n.imports===1?X.surface_imports_count_one():X.surface_imports_count({count:n.imports})}),(0,M.jsx)($m,{gap:2,children:n.files.map(e=>(0,M.jsx)(B,{size:`xs`,ff:`monospace`,style:RZn,children:V(e)},e))})]})]})]}),VZn=({id:e,size:t=20})=>{let n=W_(),{data:r}=Ji({queryKey:[`addon`,`icon`,e],queryFn:()=>n.invoke(`console:getAddonIcon`,{alias:e})});if(!r)return(0,M.jsx)(N,{style:{width:t,height:t}});let i=`data:image/svg+xml,${encodeURIComponent(r)}`;return(0,M.jsx)(`img`,{src:i,alt:``,width:t,height:t,style:{display:`block`}})},HZn=[{id:`startWorkflow`,name:`Start Workflow`,description:`Start another workflow`,icon:Nz},{id:`branch`,name:`If`,description:`Route items to different branches (true/false)`,icon:Xz},{id:`switch`,name:`Switch`,description:`Route items depending on defined expression or rules`,icon:gz},{id:`fanout`,name:`Loop Over Items (Split in Batches)`,description:`Split data into batches and iterate over each batch`,icon:Rz},{id:`parallel`,name:`Parallel`,description:`Execute multiple branches concurrently`,icon:cB},{id:`sleep`,name:`Wait`,description:`Wait before continuing with execution`,icon:oz},{id:`return`,name:`Return`,description:`Return a value from the workflow`,icon:QFt},{id:`cancel`,name:`Stop and Error`,description:`Throw an error in the workflow`,icon:iz}],UZn=[{id:`http`,name:`HTTP`,description:`REST API endpoints and webhooks`,icon:_z},{id:`channel`,name:`Channel`,description:`Real-time WebSocket communication`,icon:Iz},{id:`cli`,name:`CLI`,description:`Command-line interface commands`,icon:Qz},{id:`mcp`,name:`MCP`,description:`AI assistant tools (Model Context Protocol)`,icon:QR},{id:`scheduler`,name:`Scheduler`,description:`Time-based scheduled tasks`,icon:GFt},{id:`queue`,name:`Queue`,description:`Background job processing`,icon:Ez}],WZn={http:[{id:`httpSetHeader`,name:`Set Header`,description:`Set an HTTP response header`},{id:`httpSetStatus`,name:`Set Status`,description:`Set HTTP response status code`},{id:`httpRedirect`,name:`Redirect`,description:`Redirect to another URL`},{id:`httpSetCookie`,name:`Set Cookie`,description:`Set a response cookie`}],channel:[{id:`channelSend`,name:`Send Message`,description:`Send a message to the channel`},{id:`channelBroadcast`,name:`Broadcast`,description:`Broadcast to all channel subscribers`},{id:`channelClose`,name:`Close Connection`,description:`Close the WebSocket connection`}],mcp:[{id:`mcpDisableTool`,name:`Disable Tool`,description:`Disable an MCP tool`},{id:`mcpEnableTool`,name:`Enable Tool`,description:`Enable an MCP tool`}],session:[{id:`sessionGet`,name:`Get Session`,description:`Get the current user session`},{id:`sessionSet`,name:`Set Session`,description:`Set/update the user session`},{id:`sessionClear`,name:`Clear Session`,description:`Clear the user session`}]},GZn=({icon:e,title:t,description:n,onClick:r,showArrow:i=!0})=>{let[a,o]=(0,A.useState)(!1);return(0,M.jsx)(ru,{onClick:r,p:`md`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),className:PB.drawerButton,style:{backgroundColor:a?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(N,{className:PB.drawerIconBox,children:(0,M.jsx)(e,{size:20})}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:t}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n})]})]}),i&&(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-default-border)`})]})})},q3=({title:e,iconId:t,onClick:n})=>(0,M.jsx)(ru,{onClick:n,p:`md`,className:PB.drawerButton,children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(WR,{size:16}),t&&(0,M.jsx)(VZn,{id:t,size:16}),(0,M.jsx)(B,{size:`sm`,fw:600,children:e})]})}),KZn=({icon:e,name:t,description:n,onClick:r})=>{let[i,a]=(0,A.useState)(!1);return(0,M.jsx)(ru,{onClick:r,p:`md`,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),className:PB.drawerButton,style:{backgroundColor:i?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[e&&(0,M.jsx)(N,{className:PB.drawerIconBox,children:(0,M.jsx)(e,{size:20})}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:t}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n})]})]})})},qZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Flow`),onClick:e}),(0,M.jsx)($m,{gap:0,children:HZn.map(e=>(0,M.jsx)(KZn,{icon:e.icon,name:V(e.name),description:V(e.description)},e.id))})]}),JZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Triggers`),onClick:e}),(0,M.jsx)($m,{gap:0,children:UZn.map(e=>(0,M.jsx)(KZn,{icon:e.icon,name:V(e.name),description:V(e.description)},e.id))})]}),YZn=[{key:`http`,title:`HTTP`,icon:_z},{key:`channel`,title:`Channel`,icon:Iz},{key:`mcp`,title:`MCP`,icon:QR},{key:`session`,title:`Session`,icon:eLt}],XZn=({onBack:e})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Wire`),onClick:e}),(0,M.jsx)($m,{gap:0,children:YZn.map(({key:e,title:t})=>(0,M.jsxs)(N,{children:[(0,M.jsx)(N,{px:`md`,py:`xs`,bg:`var(--mantine-color-default-hover)`,children:(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,children:V(t)})}),WZn[e].map(e=>(0,M.jsx)(KZn,{name:V(e.name),description:V(e.description)},e.id))]},e))})]}),ZZn=({onBack:e})=>{let{isLoading:t,isError:n}=K4t();return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Transform`),onClick:e}),t&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load transforms`)})}),!t&&!n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No transforms available`)})})]})},QZn=({onBack:e})=>{let{data:t,isLoading:n,isError:r}=G4t(),{data:i}=K4t(),a=A.useMemo(()=>{if(!t)return[];let e=new Set;if(i)for(let t of i)for(let n of Object.keys(t.functions??{}))e.add(n);return Object.values(t).filter(t=>!e.has(t.name))},[t,i]);return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Functions`),onClick:e}),n&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),r&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load functions`)})}),a.length===0&&!n&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No functions available`)})}),a.length>0&&(0,M.jsx)($m,{gap:0,children:a.map(e=>(0,M.jsx)(KZn,{icon:sz,name:V(e.name),description:V(e.summary||e.description||``)},e.name))})]})},$Zn=({addon:e,onSelect:t})=>{let[n,r]=(0,A.useState)(!1),i=Object.keys(e.functions??{}).length;return(0,M.jsx)(ru,{onClick:t,p:`md`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:PB.drawerButton,style:{backgroundColor:n?`var(--mantine-color-gray-1)`:void 0},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,className:PB.flexGrow,children:[(0,M.jsx)(VZn,{id:e.id,size:20}),(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.displayName)}),(0,M.jsx)(sH,{type:`dynamic`,badge:`functions`,value:i})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)})]})]}),(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-default-border)`})]})})},eQn=({onBack:e,onSelectAddon:t})=>{let{data:n,isLoading:r,isError:i}=K4t(),a=A.useMemo(()=>n?n.filter(e=>e.id!==`pikku`):[],[n]);return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(`Addons`),onClick:e}),r&&(0,M.jsx)(N,{p:`xl`,className:PB.centeredLoader,children:(0,M.jsx)(fu,{size:`sm`})}),i&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(`Failed to load addons`)})}),a.length===0&&!r&&!i&&(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`No addons available`)})}),a.length>0&&(0,M.jsx)($m,{gap:0,children:a.map(e=>(0,M.jsx)($Zn,{addon:e,onSelect:()=>t(e)},e.id))})]})},tQn=({addon:e,onBack:t})=>{let n=Object.entries(e.functions??{}),r=Object.keys(e.secrets??{});return(0,M.jsxs)(N,{children:[(0,M.jsx)(q3,{title:V(e.displayName),iconId:e.id,onClick:t}),(0,M.jsxs)(N,{p:`md`,className:PB.drawerButton,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)}),r.length>0&&(0,M.jsxs)(N,{mt:`sm`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,mb:`xs`,children:V(`Secrets`)}),(0,M.jsx)($m,{gap:`xs`,children:r.map(e=>(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(yz,{size:14,color:`var(--mantine-color-default-border)`}),(0,M.jsx)(B,{size:`sm`,children:V(e)})]},e))})]})]}),(0,M.jsx)($m,{gap:0,children:n.map(([e,t])=>(0,M.jsx)(KZn,{name:V(t?.displayName??e),description:V(t?.description??``)},e))})]})},nQn=()=>{let[e,t]=(0,A.useState)(`main`);return e===`functions`?(0,M.jsx)(QZn,{onBack:()=>t(`main`)}):e===`flow`?(0,M.jsx)(qZn,{onBack:()=>t(`main`)}):e===`triggers`?(0,M.jsx)(JZn,{onBack:()=>t(`main`)}):e===`wire`?(0,M.jsx)(XZn,{onBack:()=>t(`main`)}):e===`transform`?(0,M.jsx)(ZZn,{onBack:()=>t(`main`)}):e===`addons`?(0,M.jsx)(eQn,{onBack:()=>t(`main`),onSelectAddon:e=>t({type:`addonDetail`,addon:e})}):typeof e==`object`&&e.type===`addonDetail`?(0,M.jsx)(tQn,{addon:e.addon,onBack:()=>t(`addons`)}):(0,M.jsxs)(N,{children:[(0,M.jsx)(N,{p:`md`,className:PB.drawerButton,children:(0,M.jsx)(B,{size:`sm`,fw:600,children:V(`Add a node`)})}),(0,M.jsxs)($m,{gap:0,children:[(0,M.jsx)(GZn,{icon:sz,title:V(`Function`),description:V(`Call an internal function or RPC`),onClick:()=>t(`functions`)}),(0,M.jsx)(GZn,{icon:gz,title:V(`Flow`),description:V(`Branch, merge or loop the flow, etc.`),onClick:()=>t(`flow`)}),(0,M.jsx)(GZn,{icon:oB,title:V(`Transform`),description:V(`Edit, filter, and transform data`),onClick:()=>t(`transform`)}),(0,M.jsx)(GZn,{icon:Pz,title:V(`Addons`),description:V(`Third-party services and APIs`),onClick:()=>t(`addons`)}),(0,M.jsx)(GZn,{icon:Iz,title:V(`Triggers`),description:V(`HTTP, WebSocket, CLI, MCP, Queue, Scheduler`),onClick:()=>t(`triggers`)}),(0,M.jsx)(GZn,{icon:WFt,title:V(`Wire`),description:V(`HTTP headers, session, channel, MCP tools`),onClick:()=>t(`wire`)})]})]})},rQn=e=>{switch(e.type){case`addStep`:return(0,M.jsx)(nQn,{});default:return null}},J3=()=>(Pt(),(0,M.jsx)(B,{c:`dimmed`,size:`sm`,ta:`center`,children:X.common_not_available()})),iQn=({type:e,isHoverable:t,onMouseEnter:n,onMouseLeave:r})=>(0,M.jsx)(sH,{type:`workflowInputType`,value:e,className:t?PB.clickableText:void 0,onMouseEnter:n,onMouseLeave:r}),aQn=e=>{if(e==null)return{type:`$static`,displayValue:(0,M.jsx)(B,{c:`dimmed`,size:`sm`,children:V(`null`)})};if(typeof e==`object`&&e.$template){let t=e.$template,n=[];for(let e=0;e<t.parts.length;e++)if(t.parts[e]&&n.push((0,M.jsx)(B,{span:!0,size:`sm`,ff:`monospace`,children:V(t.parts[e])},`part-${e}`)),e<t.expressions.length){let r=t.expressions[e];if(typeof r==`object`&&r.$ref){let t=r.$ref===`trigger`?`$trigger`:`$ref`,i=r.path?`.${r.path}`:``;n.push((0,M.jsx)(sH,{type:`label`,color:rH[t]?.color||`gray`,children:V(r.$ref+i)},`expr-${e}`))}else n.push((0,M.jsx)(sH,{type:`label`,color:rH.$expression?.color||`cyan`,children:V(String(r))},`expr-${e}`))}return{type:`$template`,displayValue:(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:n})}}if(typeof e==`object`&&e.$ref){let t=e.$ref===`trigger`||e.$ref===`$item`,n=e.$ref===`trigger`?`$trigger`:`$ref`,r=e.path?`.${e.path}`:``;return{type:n,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$ref+r)}),isHoverable:!t,hoverRef:e.$ref}}return typeof e==`object`&&e.$state?{type:`$state`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$state)})}:typeof e==`object`&&e.$expression?{type:`$expression`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.$expression)})}:typeof e==`object`?{type:`$static`,displayValue:(0,M.jsx)(YQ,{code:JSON.stringify(e,null,2),language:`json`})}:{type:`$static`,displayValue:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e))})}},oQn=({stepId:e})=>{let t=pY(e);return t?.flow||t?.rpcName,(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Options`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.options?(0,M.jsx)(YQ,{code:JSON.stringify(t.options,null,2),language:`json`}):(0,M.jsx)(J3,{})})})]})},sQn=({stepId:e})=>{let t=pY(e),{findNodeByOutputVar:n,setReferencedNode:r}=dY(),i=t?.input,a=i&&Object.keys(i).length>0,o=e=>{if(e){let t=n(e);r(t||null)}else r(null)};return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Input Parameters`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:a?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Parameter`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Value`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(i).map(([e,t])=>{let n=aQn(t);return(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(iQn,{type:n.type,isHoverable:n.isHoverable,onMouseEnter:n.isHoverable&&n.hoverRef?()=>o(n.hoverRef):void 0,onMouseLeave:n.isHoverable?()=>o(null):void 0})}),(0,M.jsx)(mh.Td,{children:n.displayValue})]},e)})})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},cQn=e=>e?e.type===`array`&&e.items?`${cQn(e.items)}[]`:e.$ref?e.$ref.replace(`#/definitions/`,``):e.type||`unknown`:`unknown`,lQn=({stepId:e,showOutputs:t=!1})=>{let n=pY(e),r=n?.outputs,i=n?.outputVar,a=n?.rpcName,o=r&&typeof r==`object`&&Object.keys(r).length>0,{data:s,isLoading:c}=J4t(a);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output Schema`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:c?(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(fu,{size:`sm`})}):s?.properties?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Property`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(s.properties).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)}),s.required?.includes(e)&&(0,M.jsx)(sH,{type:`flag`,flag:`required`})]})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(cQn(t))})})]},e))})]})}):s?(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(d6t,{schema:s})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output Variable`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:i?(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{ff:`monospace`,children:V(i)}),c&&(0,M.jsx)(fu,{size:`sm`})]}):(0,M.jsx)(J3,{})})})]}),t&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Outputs`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:o?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Output`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Source`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(r).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsxs)(mh.Td,{children:[t?.from&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(t.from)}),t.name&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.name)}),t.expression&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.expression)}),t.path&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`.`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.path)})]})]}),!t?.from&&(0,M.jsx)(tf,{children:JSON.stringify(t,null,2)})]})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})]})},uQn=({stepId:e})=>{let t=pY(e),n=t?.flow;return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(n===`branch`?`Branches`:n===`switch`?`Cases`:n===`parallel`?`Children`:n===`fanout`?`Fanout`:`Flow`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:n===`branch`&&t?.branches?(0,M.jsx)($m,{gap:`xs`,children:t.branches.map((e,t)=>(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(t===0?`if`:`else if`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.condition?.expression||`true`)})]}),e.entry&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.entry)})]})]},t))}):n===`switch`&&t?.cases?(0,M.jsxs)($m,{gap:`xs`,children:[t.cases.map((e,t)=>(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(sH,{type:`label`,children:V(`case`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e.value))})]}),e.entry&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.entry)})]})]},t)),t.defaultEntry&&(0,M.jsxs)(N,{p:`sm`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsx)(gu,{gap:`xs`,mb:`xs`,children:(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(`default`)})}),(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.defaultEntry)})]})]})]}):n===`parallel`&&t?.children?(0,M.jsx)($m,{gap:`xs`,children:t.children.map((e,t)=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e)},t))}):n===`fanout`?(0,M.jsxs)($m,{gap:`xs`,children:[t?.sourceVar&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Source:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.sourceVar)})]}),t?.itemVar&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Item:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.itemVar)})]}),t?.mode&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Mode:`)}),(0,M.jsx)(sH,{type:`label`,children:V(t.mode)})]}),t?.childEntry&&(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Child Entry:`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.childEntry)})]})]}):(0,M.jsx)(J3,{})})})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Next Step`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.next?(0,M.jsx)(B,{ff:`monospace`,children:V(t.next)}):(0,M.jsx)(J3,{})})})]})]})},dQn=({value:e})=>{if(e==null)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,fs:`italic`,children:V(`null`)});if(typeof e==`string`)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`teal.4`,children:V(`"${e}"`)});if(typeof e==`number`)return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`orange.4`,children:e});if(typeof e==`boolean`)return(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e?`green`:`red`,children:V(String(e))});if(Array.isArray(e))return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`[${e.length}]`)});if(typeof e==`object`){let t=Object.keys(e).length;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`{${t}}`)})}return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(e))})},fQn=({name:e,value:t,depth:n})=>{let r=typeof t==`object`&&!!t&&!Array.isArray(t),i=Array.isArray(t),a=r&&Object.keys(t).length>0||i&&t.length>0,[o,s]=(0,A.useState)(n<1&&a),c=r?Object.entries(t):i?t.map((e,t)=>[String(t),e]):[];return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(mh.Tr,{onClick:()=>a&&s(e=>!e),style:{cursor:a?`pointer`:`default`},children:[(0,M.jsx)(mh.Td,{style:{paddingLeft:n*20+8},children:(0,M.jsxs)(N,{style:{display:`flex`,alignItems:`center`,gap:4},children:[a?o?(0,M.jsx)(ez,{size:12,color:`var(--app-text-dim)`}):(0,M.jsx)(tz,{size:12,color:`var(--app-text-dim)`}):(0,M.jsx)(N,{w:12}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,c:`var(--app-text)`,children:V(e)})]})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(dQn,{value:t})})]}),a&&o&&c.map(([e,t])=>(0,M.jsx)(fQn,{name:e,value:t,depth:n+1},e))]})},pQn=({data:e})=>{if(e==null)return(0,M.jsx)(B,{c:`dimmed`,size:`sm`,fs:`italic`,children:V(`null`)});if(typeof e!=`object`)return(0,M.jsx)(dQn,{value:e});let t=Array.isArray(e)?e.map((e,t)=>[String(t),e]):Object.entries(e);return t.length===0?(0,M.jsx)(B,{c:`dimmed`,size:`sm`,fs:`italic`,children:V(Array.isArray(e)?`[ ]`:`{ }`)}):(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`sm`,styles:{th:{color:`var(--app-text-dim)`,fontFamily:`var(--mantine-font-family-monospace)`,fontSize:9,fontWeight:600,letterSpacing:`0.08em`,textTransform:`uppercase`,borderBottom:`1px solid var(--app-border)`},td:{borderBottom:`1px solid var(--app-border)`}},children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`Field`}),(0,M.jsx)(mh.Th,{children:`Value`})]})}),(0,M.jsx)(mh.Tbody,{children:t.map(([e,t])=>(0,M.jsx)(fQn,{name:e,value:t,depth:0},e))})]})},mQn=e=>e?new Date(e).toLocaleString():`—`,hQn=(e,t)=>{if(!e||!t)return null;let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`},gQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);if(!t)return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(QQ,{children:V(`Execution`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]});let n=t.succeededAt||t.failedAt,r=hQn(t.runningAt||t.createdAt,n);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QQ,{children:V(`Execution`)}),(0,M.jsx)(sH,{type:`status`,value:t.status,variant:`filled`})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Timing`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsx)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:(0,M.jsxs)(mh.Tbody,{children:[(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Created`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.createdAt))})})]}),t.runningAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Started`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.runningAt))})})]}),t.succeededAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Succeeded`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.succeededAt))})})]}),t.failedAt&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Failed`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(mQn(t.failedAt))})})]}),r&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Duration`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,children:V(r)})})]}),(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Attempts`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(t.attemptCount))})})]})]})})})})]})]})},_Qn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Input Data`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.data?(0,M.jsx)(pQn,{data:t.data}):(0,M.jsx)(J3,{})})})]})},vQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Output Data`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:t?.result?(0,M.jsx)(pQn,{data:t.result}):(0,M.jsx)(J3,{})})})]})},yQn=({stepId:e})=>{let t=(lY()?.stepStates)?.get(e);return t?.error?(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(QQ,{children:V(`Error`)}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Message`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`red`,children:V(typeof t.error.message==`string`?t.error.message:JSON.stringify(t.error.message,null,2))})})})]}),t.error.code&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Code`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(sH,{type:`label`,color:`red`,children:V(t.error.code)})})})]}),t.error.stack&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Stack Trace`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(YQ,{code:t.error.stack,language:`text`})})})]})]}):(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Error`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},bQn=({stepId:e})=>{let{data:t}=sXt(lY()?.selectedRunId??null),n=A.useMemo(()=>!t||!Array.isArray(t)?[]:t.filter(t=>t.stepName===e),[t,e]);return n.length<=1?(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(QQ,{children:V(`Retry History`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{c:`dimmed`,size:`sm`,ta:`center`,children:V(`No retries`)})})})]}):(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QQ,{children:V(`Retry History`)}),(0,M.jsx)(sH,{type:`label`,children:V(`${n.length} attempts`)})]}),(0,M.jsx)(yye,{active:n.length-1,bulletSize:24,lineWidth:2,children:n.map((e,t)=>{let n=e.status===`succeeded`?(0,M.jsx)(nz,{size:14}):e.status===`failed`?(0,M.jsx)(tB,{size:14}):e.status===`running`?(0,M.jsx)(Nz,{size:14}):(0,M.jsx)(oz,{size:14});return(0,M.jsxs)(yye.Item,{bullet:n,color:hRt[e.status]?.color||`gray`,title:V(`Attempt ${e.attemptCount}`),children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`status`,value:e.status}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(mQn(e.createdAt))})]}),e.error&&(0,M.jsx)(B,{size:`sm`,c:`red`,mt:4,children:V(typeof e.error.message==`string`?e.error.message:JSON.stringify(e.error.message,null,2))})]},t)})})]})},xQn=[`WORKFLOW_SUSPENDED`,`RPC_NOT_FOUND`],SQn=(e,t)=>e===`suspended`&&!!t&&(t.code===void 0||xQn.includes(t.code)),CQn=e=>e?.code===`RPC_NOT_FOUND`?{title:`Waiting on a missing function`,hint:`Deploy the function below, then resume the run.`}:{title:`Waiting to be resumed`,hint:`This run is paused and will continue once it is resumed.`},wQn=e=>e?typeof e.message==`string`?e.message:JSON.stringify(e.message??e,null,2):``,TQn={http:`/apis?tab=http`,channel:`/apis?tab=channels`,mcp:`/apis?tab=mcp`,gateway:`/apis?tab=gateways`,cli:`/apis?tab=cli`,rpc:`/apis?tab=http`,scheduler:`/jobs?tab=schedulers`,queue:`/jobs?tab=queues`,trigger:`/jobs?tab=triggers`,triggerSource:`/jobs?tab=triggers`,agent:`/apis/agents`},EQn=({workflowId:e})=>{let{workflow:t}=dY();return(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(hz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)}),t?.graphHash&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`#${t.graphHash}`)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t?.summary||`No summary`)})]})},DQn=({wiredTo:e})=>{let t=Uv();return e.transports.length===0&&e.jobs.length===0?null:(0,M.jsxs)($m,{gap:`sm`,children:[e.transports.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wired To`)}),(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.transports.map(e=>(0,M.jsx)(Jv,{component:t,to:TQn[e.type]||`#`,underline:`never`,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(e.type),className:PB.clickableText,children:V(e.name)})},e.id))})]}),e.jobs.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Jobs`)}),(0,M.jsx)(gu,{gap:4,wrap:`wrap`,children:e.jobs.map(e=>(0,M.jsx)(Jv,{component:t,to:TQn[e.type]||`#`,underline:`never`,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(e.type),className:PB.clickableText,children:V(e.name)})},e.id))})]})]})},OQn=({workflowId:e})=>{let{workflow:t}=dY(),n=t?.middleware||[],r=t?.permissions||[],i=t?.tags||[];return(0,M.jsxs)($m,{gap:`lg`,children:[r.length>0&&(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})}),t?.wiredTo&&(0,M.jsx)(DQn,{wiredTo:t.wiredTo}),t?.pikkuFuncId&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Handler Function`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.pikkuFuncId)})]}),(0,M.jsx)(e$,{description:t?.description,middleware:n,permissions:r,tags:i})]})},kQn=({workflowId:e})=>{let{workflow:t,setFocusedNode:n}=dY(),r=t?.nodes,i=r&&Object.keys(r).length>0;return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Nodes`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:i?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,highlightOnHover:!0,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(r).map(([e,t])=>(0,M.jsxs)(mh.Tr,{onMouseEnter:()=>n(e),onMouseLeave:()=>n(null),children:[(0,M.jsxs)(mh.Td,{children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(t.stepName||e)}),t.stepName&&t.stepName!==e&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e)})]}),(0,M.jsxs)(mh.Td,{children:[t.flow&&(0,M.jsx)(sH,{type:`label`,children:V(t.flow)}),t.rpcName&&(0,M.jsx)(sH,{type:`label`,color:`green`,children:V(`RPC`)})]})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},AQn=({workflowId:e})=>{let{workflow:t,setFocusedNode:n}=dY(),r=lY(),{openWorkflowStep:i}=qB(),a=t?.nodes,o=r?.stepStates,s=a?Object.entries(a).filter(([e])=>o?.has(e)):[];return s.length===0?null:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Nodes`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,highlightOnHover:!0,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Status`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Runs`})]})}),(0,M.jsx)(mh.Tbody,{children:s.map(([e,t])=>{let r=o.get(e);return(0,M.jsxs)(mh.Tr,{className:PB.clickableText,onMouseEnter:()=>n(e),onMouseLeave:()=>n(null),onClick:()=>i(e,t.flow||`rpc`),children:[(0,M.jsxs)(mh.Td,{children:[(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(t.stepName||e)}),t.stepName&&t.stepName!==e&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e)})]}),(0,M.jsxs)(mh.Td,{children:[t.flow&&(0,M.jsx)(sH,{type:`label`,children:V(t.flow)}),t.rpcName&&(0,M.jsx)(sH,{type:`label`,color:`green`,children:V(t.rpcName)})]}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(sH,{type:`status`,value:r.status})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(String(r.attemptCount))})})]},e)})})]})})})]})},jQn=({workflowId:e})=>{let{workflow:t}=dY(),n=t?.context,r=n&&Object.keys(n).length>0;return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`State Variables`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:r?(0,M.jsx)(Qd.Section,{children:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Variable`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Type`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Default`})]})}),(0,M.jsx)(mh.Tbody,{children:Object.entries(n).map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{fw:500,ff:`monospace`,size:`sm`,children:V(e)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(sH,{type:`label`,children:V(t.type||`unknown`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(t.default===void 0?`—`:String(t.default))})})]},e))})]})}):(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]})},MQn=e=>e?new Date(e).toLocaleString():`—`,NQn=(e,t)=>{if(!e||!t)return null;let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`},PQn=({input:e})=>(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Input`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(pQn,{data:e})})})]}),FQn=({workflowId:e})=>{let t=lY()?.runData;if(!t)return(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Run`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(J3,{})})})]});let n=t.status===`completed`||t.status===`failed`||t.status===`cancelled`?t.updatedAt:void 0,r=NQn(t.createdAt,n);return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(ZQ,{children:V(`Run`)}),(0,M.jsx)(sH,{type:`status`,value:t.status,variant:`filled`})]}),(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Details`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{children:(0,M.jsx)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:(0,M.jsxs)(mh.Tbody,{children:[(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Run ID`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.id)})})]}),(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Started`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(MQn(t.createdAt))})})]}),n&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Ended`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(MQn(n))})})]}),r&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Duration`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,children:V(r)})})]}),t.wire&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Wire`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(sH,{type:`label`,size:`sm`,color:aH(t.wire.type),children:V(t.wire.type)}),t.wire.id&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.wire.id)})]})})]}),t.graphHash&&(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`Graph Hash`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.graphHash)})})]})]})})})})]}),(0,M.jsx)(AQn,{workflowId:e}),t.input&&(0,M.jsx)(PQn,{input:t.input}),t.output&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Output`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(pQn,{data:t.output})})})]}),SQn(t.status,t.error)&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(CQn(t.error).title)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(wQn(t.error))}),CQn(t.error).hint&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(CQn(t.error).hint)})]})})})]}),t.error&&!SQn(t.status,t.error)&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:V(`Error`)}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,children:(0,M.jsx)(Qd.Section,{p:`md`,children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`red`,children:V(typeof t.error.message==`string`?t.error.message:JSON.stringify(t.error.message??t.error,null,2))})})})]})]})},IQn=a(o(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define(`cronstrue`,[],r):typeof e==`object`?e.cronstrue=r():n.cronstrue=r()})(globalThis,()=>(()=>{var e={949(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.CronParser=void 0;var r=n(515);t.CronParser=function(){function e(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=!1),this.expression=e,this.dayOfWeekStartIndexZero=t,this.monthStartIndexZero=n}return e.prototype.parse=function(){var e,t=this.expression??``;if(t===`@reboot`)return e=[`@reboot`,``,``,``,``,``,``],e;if(t.startsWith(`@`)){var n=this.parseSpecial(this.expression);e=this.extractParts(n)}else e=this.extractParts(this.expression);return this.normalize(e),this.validate(e),e},e.prototype.parseSpecial=function(e){var t={"@yearly":`0 0 1 1 *`,"@annually":`0 0 1 1 *`,"@monthly":`0 0 1 * *`,"@weekly":`0 0 * * 0`,"@daily":`0 0 * * *`,"@midnight":`0 0 * * *`,"@hourly":`0 * * * *`,"@reboot":`@reboot`}[e];if(!t)throw Error(`Unknown special expression.`);return t},e.prototype.extractParts=function(e){if(!this.expression)throw Error(`cron expression is empty`);for(var t=e.trim().split(/[ ]+/),n=0;n<t.length;n++)if(t[n].includes(`,`)){var r=t[n].split(`,`).map(function(e){return e.trim()}).filter(function(e){return e!==``}).map(function(e){return isNaN(Number(e))?e:Number(e)}).filter(function(e){return e!==null&&e!==``});r.length===0&&r.push(`*`),r.sort(function(e,t){return e!==null&&t!==null?e-t:0}),t[n]=r.map(function(e){return e===null?``:e.toString()}).join(`,`)}if(t.length<5)throw Error(`Expression has only ${t.length} part${t.length==1?``:`s`}. At least 5 parts are required.`);if(t.length==5)t.unshift(``),t.push(``);else if(t.length==6)/\d{4}$/.test(t[5])||t[4]==`?`||t[2]==`?`?t.unshift(``):t.push(``);else if(t.length>7)throw Error(`Expression has ${t.length} parts; too many!`);return t},e.prototype.normalize=function(e){var t=this;if(e[3]=e[3].replace(`?`,`*`),e[5]=e[5].replace(`?`,`*`),e[2]=e[2].replace(`?`,`*`),e[0].indexOf(`0/`)==0&&(e[0]=e[0].replace(`0/`,`*/`)),e[1].indexOf(`0/`)==0&&(e[1]=e[1].replace(`0/`,`*/`)),e[2].indexOf(`0/`)==0&&(e[2]=e[2].replace(`0/`,`*/`)),e[3].indexOf(`1/`)==0&&(e[3]=e[3].replace(`1/`,`*/`)),e[4].indexOf(`1/`)==0&&(e[4]=e[4].replace(`1/`,`*/`)),e[6].indexOf(`1/`)==0&&(e[6]=e[6].replace(`1/`,`*/`)),e[5]=e[5].replace(/(^\d)|([^#/\s]\d)/g,function(e){var n=e.replace(/\D/,``),r=n;return t.dayOfWeekStartIndexZero?n==`7`&&(r=`0`):r=(parseInt(n)-1).toString(),e.replace(n,r)}),e[5]==`L`&&(e[5]=`6`),e[3]==`?`&&(e[3]=`*`),e[3].indexOf(`W`)>-1&&(e[3].indexOf(`,`)>-1||e[3].indexOf(`-`)>-1))throw Error(`The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.`);var n={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var r in n)e[5]=e[5].replace(new RegExp(r,`gi`),n[r].toString());e[4]=e[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(e){var n=e.replace(/\D/,``),r=n;return t.monthStartIndexZero&&(r=(parseInt(n)+1).toString()),e.replace(n,r)});var i={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var a in i)e[4]=e[4].replace(new RegExp(a,`gi`),i[a].toString());e[0]==`0`&&(e[0]=``),!/\*|\-|\,|\//.test(e[2])&&(/\*|\//.test(e[1])||/\*|\//.test(e[0]))&&(e[2]+=`-${e[2]}`);for(var o=0;o<e.length;o++)if(e[o].indexOf(`,`)!=-1&&(e[o]=e[o].split(`,`).filter(function(e){return e!==``}).join(`,`)||`*`),e[o]==`*/1`&&(e[o]=`*`),e[o].indexOf(`/`)>-1&&!/^\*|\-|\,/.test(e[o])){var s=null;switch(o){case 4:s=`12`;break;case 5:s=`6`;break;case 6:s=`9999`;break;default:s=null}if(s!==null){var c=e[o].split(`/`);e[o]=`${c[0]}-${s}/${c[1]}`}}},e.prototype.validate=function(e){var t=`0-9,\\-*/`;this.validateOnlyExpectedCharactersFound(e[0],t),this.validateOnlyExpectedCharactersFound(e[1],t),this.validateOnlyExpectedCharactersFound(e[2],t),this.validateOnlyExpectedCharactersFound(e[3],`0-9,\\-*/LW`),this.validateOnlyExpectedCharactersFound(e[4],t),this.validateOnlyExpectedCharactersFound(e[5],`0-9,\\-*/L#`),this.validateOnlyExpectedCharactersFound(e[6],t),this.validateAnyRanges(e)},e.prototype.validateAnyRanges=function(e){r.default.secondRange(e[0]),r.default.minuteRange(e[1]),r.default.hourRange(e[2]),r.default.dayOfMonthRange(e[3]),r.default.monthRange(e[4],this.monthStartIndexZero),r.default.dayOfWeekRange(e[5],this.dayOfWeekStartIndexZero)},e.prototype.validateOnlyExpectedCharactersFound=function(e,t){var n=e.match(RegExp(`[^${t}]+`,`gi`));if(n&&n.length)throw Error(`Expression contains invalid values: '${n.toString()}'`)},e}()},333(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionDescriptor=void 0;var r=n(823),i=n(949);t.ExpressionDescriptor=function(){function e(t,n){if(this.expression=t,this.options=n,this.expressionParts=[,,,,,],!this.options.locale&&e.defaultLocale&&(this.options.locale=e.defaultLocale),!e.locales[this.options.locale]){var r=Object.keys(e.locales)[0];console.warn(`Locale '${this.options.locale}' could not be found; falling back to '${r}'.`),this.options.locale=r}this.i18n=e.locales[this.options.locale],n.use24HourTimeFormat===void 0&&(n.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return e.toString=function(t,n){var r=n===void 0?{}:n,i=r.throwExceptionOnParseError,a=i===void 0||i,o=r.verbose,s=o!==void 0&&o,c=r.dayOfWeekStartIndexZero,l=c===void 0||c,u=r.monthStartIndexZero,d=u!==void 0&&u,f=r.use24HourTimeFormat,p=r.trimHoursLeadingZero,m=p!==void 0&&p,h=r.locale,g=h===void 0?null:h,_=r.logicalAndDayFields,v={throwExceptionOnParseError:a,verbose:s,dayOfWeekStartIndexZero:l,monthStartIndexZero:d,use24HourTimeFormat:f,trimHoursLeadingZero:m,locale:g,logicalAndDayFields:_!==void 0&&_};return v.tzOffset&&console.warn(`'tzOffset' option has been deprecated and is no longer supported.`),new e(t,v).getFullDescription()},e.initialize=function(t,n){n===void 0&&(n=`en`),e.specialCharacters=[`/`,`-`,`,`,`*`],e.defaultLocale=n,t.load(e.locales)},e.prototype.getFullDescription=function(){var e,t=``;try{var n=new i.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=n.parse(),this.expressionParts[0]===`@reboot`)return(e=this.i18n).atReboot?.call(e)||`Run once, at startup`;var r=this.getTimeOfDayDescription(),a=this.getDayOfMonthDescription(),o=this.getMonthDescription(),s=this.getDayOfWeekDescription(),c=this.getYearDescription();t+=r+a+s+o+c,t=this.transformVerbosity(t,!!this.options.verbose),t=t.charAt(0).toLocaleUpperCase()+t.substr(1)}catch(e){if(!this.options.throwExceptionOnParseError)t=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw`${e}`}return t},e.prototype.getTimeOfDayDescription=function(){var t=this.expressionParts[0],n=this.expressionParts[1],i=this.expressionParts[2],a=``;if(!r.StringUtilities.containsAny(n,e.specialCharacters)&&!r.StringUtilities.containsAny(i,e.specialCharacters)&&!r.StringUtilities.containsAny(t,e.specialCharacters))a+=this.i18n.atSpace()+this.formatTime(i,n,t);else if(!t&&n.indexOf(`-`)>-1&&!(n.indexOf(`,`)>-1)&&!(n.indexOf(`/`)>-1)&&!r.StringUtilities.containsAny(i,e.specialCharacters)){var o=n.split(`-`);a+=r.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(i,o[0],``),this.formatTime(i,o[1],``))}else if(!t&&i.indexOf(`,`)>-1&&i.indexOf(`-`)==-1&&i.indexOf(`/`)==-1&&!r.StringUtilities.containsAny(n,e.specialCharacters)){var s=i.split(`,`);a+=this.i18n.at();for(var c=0;c<s.length;c++)a&&(a+=` `),a+=this.formatTime(s[c],n,``),c<s.length-2&&(a+=`,`),c==s.length-2&&(a+=this.i18n.spaceAnd())}else{var l=this.getSecondsDescription(),u=this.getMinutesDescription(),d=this.getHoursDescription();if(a+=l,a&&u&&(a+=`, `),a+=u,u===d)return a;a&&d&&(a+=`, `),a+=d}return a},e.prototype.getSecondsDescription=function(){var e=this;return this.getSegmentDescription(this.expressionParts[0],this.i18n.everySecond(),function(e){return e},function(t){return r.StringUtilities.format(e.i18n.everyX0Seconds(t),t)},function(t){return e.i18n.secondsX0ThroughX1PastTheMinute()},function(t){return t==`0`?``:parseInt(t)<20?e.i18n.atX0SecondsPastTheMinute(t):e.i18n.atX0SecondsPastTheMinuteGt20()||e.i18n.atX0SecondsPastTheMinute(t)})},e.prototype.getMinutesDescription=function(){var e=this,t=this.expressionParts[0],n=this.expressionParts[2];return this.getSegmentDescription(this.expressionParts[1],this.i18n.everyMinute(),function(e){return e},function(t){return r.StringUtilities.format(e.i18n.everyX0Minutes(t),t)},function(t){return e.i18n.minutesX0ThroughX1PastTheHour()},function(r){var i;try{return r==`0`&&n.indexOf(`/`)==-1&&t==``?e.i18n.everyHour():r==`0`?(i=e.i18n).onTheHour?.call(i)||e.i18n.atX0MinutesPastTheHour(r):parseInt(r)<20?e.i18n.atX0MinutesPastTheHour(r):e.i18n.atX0MinutesPastTheHourGt20()||e.i18n.atX0MinutesPastTheHour(r)}catch{return e.i18n.atX0MinutesPastTheHour(r)}})},e.prototype.getHoursDescription=function(){var e=this,t=this.expressionParts[2],n=0,i=[];t.split(`/`)[0].split(`,`).forEach(function(e){var t=e.split(`-`);t.length===2&&i.push({value:t[1],index:n+1}),n+=t.length});var a=0;return this.getSegmentDescription(t,this.i18n.everyHour(),function(t){var n=i.find(function(e){return e.value===t&&e.index===a})&&e.expressionParts[1]!==`0`;return a++,n?e.formatTime(t,`59`,``):e.formatTime(t,`0`,``)},function(t){return r.StringUtilities.format(e.i18n.everyX0Hours(t),t)},function(t){return e.i18n.betweenX0AndX1()},function(t){return e.i18n.atX0()})},e.prototype.getDayOfWeekDescription=function(){var e=this,t=this.i18n.daysOfTheWeek(),n=null;return n=this.expressionParts[5]==`*`?``:this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(n,r){var i=n;n.indexOf(`#`)>-1?i=n.substring(0,n.indexOf(`#`)):n.indexOf(`L`)>-1&&(i=i.replace(`L`,``));var a=parseInt(i),o=e.i18n.daysOfTheWeekInCase?e.i18n.daysOfTheWeekInCase(r)[a]:t[a];if(n.indexOf(`#`)>-1){var s=null,c=n.substring(n.indexOf(`#`)+1),l=n.substring(0,n.indexOf(`#`));switch(c){case`1`:s=e.i18n.first(l);break;case`2`:s=e.i18n.second(l);break;case`3`:s=e.i18n.third(l);break;case`4`:s=e.i18n.fourth(l);break;case`5`:s=e.i18n.fifth(l)}o=s+` `+o}return o},function(t){return parseInt(t)==1?``:r.StringUtilities.format(e.i18n.commaEveryX0DaysOfTheWeek(t),t)},function(t){var n=t.substring(0,t.indexOf(`-`));return e.expressionParts[3]==`*`?e.i18n.commaX0ThroughX1(n):e.i18n.commaAndX0ThroughX1(n)},function(t){var n=null;if(t.indexOf(`#`)>-1){var r=t.substring(t.indexOf(`#`)+1),i=t.substring(0,t.indexOf(`#`));n=e.i18n.commaOnThe(r,i).trim()+e.i18n.spaceX0OfTheMonth()}else n=t.indexOf(`L`)>-1?e.i18n.commaOnTheLastX0OfTheMonth(t.replace(`L`,``)):e.expressionParts[3]==`*`||e.options.logicalAndDayFields?e.i18n.commaOnlyOnX0(t):e.i18n.commaAndOnX0();return n}),n},e.prototype.getMonthDescription=function(){var e=this,t=this.i18n.monthsOfTheYear();return this.getSegmentDescription(this.expressionParts[4],``,function(n,r){return r&&e.i18n.monthsOfTheYearInCase?e.i18n.monthsOfTheYearInCase(r)[parseInt(n)-1]:t[parseInt(n)-1]},function(t){return parseInt(t)==1?``:r.StringUtilities.format(e.i18n.commaEveryX0Months(t),t)},function(t){return e.i18n.commaMonthX0ThroughMonthX1()||e.i18n.commaX0ThroughX1()},function(t){return e.i18n.commaOnlyInMonthX0?e.i18n.commaOnlyInMonthX0():e.i18n.commaOnlyInX0()})},e.prototype.getDayOfMonthDescription=function(){var e=this,t=null,n=this.expressionParts[3];switch(n){case`L`:t=this.i18n.commaOnTheLastDayOfTheMonth();break;case`WL`:case`LW`:t=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var i=n.match(/(\d{1,2}W)|(W\d{1,2})/);if(i){var a=parseInt(i[0].replace(`W`,``)),o=a==1?this.i18n.firstWeekday():r.StringUtilities.format(this.i18n.weekdayNearestDayX0(),a.toString());t=r.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),o);break}var s=n.match(/L-(\d{1,2})/);if(s){var c=s[1];t=r.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(c),c);break}if(n==`*`&&this.expressionParts[5]!=`*`)return``;t=this.getSegmentDescription(n,this.i18n.commaEveryDay(),function(t){return t==`L`?e.i18n.lastDay():e.i18n.dayX0?r.StringUtilities.format(e.i18n.dayX0(),t):t},function(t){return t==`1`?e.i18n.commaEveryDay():e.i18n.commaEveryX0Days(t)},function(t){return e.i18n.commaBetweenDayX0AndX1OfTheMonth(t)},function(t){return e.i18n.commaOnDayX0OfTheMonth(t)})}return t},e.prototype.getYearDescription=function(){var e=this;return this.getSegmentDescription(this.expressionParts[6],``,function(e){return/^\d+$/.test(e)?new Date(parseInt(e),1).getFullYear().toString():e},function(t){return r.StringUtilities.format(e.i18n.commaEveryX0Years(t),t)},function(t){return e.i18n.commaYearX0ThroughYearX1()||e.i18n.commaX0ThroughX1()},function(t){return e.i18n.commaOnlyInYearX0?e.i18n.commaOnlyInYearX0():e.i18n.commaOnlyInX0()})},e.prototype.getSegmentDescription=function(e,t,n,i,a,o){var s=null,c=e.indexOf(`/`)>-1,l=e.indexOf(`-`)>-1,u=e.indexOf(`,`)>-1;if(!e)s=``;else if(e===`*`)s=t;else if(!c&&!l&&!u)s=r.StringUtilities.format(o(e),n(e));else if(u){for(var d=e.split(`,`),f=``,p=this.i18n.spaceAnd(),m=0;m<d.length;m++)if(m>0&&d.length>2&&(f+=`,`,m<d.length-1&&(f+=` `)),m>0&&d.length>1&&(m==d.length-1||d.length==2)&&(f+=p==`,`&&d.length>2?` `:`${p} `),d[m].indexOf(`/`)>-1||d[m].indexOf(`-`)>-1){var h=d[m].indexOf(`-`)>-1&&d[m].indexOf(`/`)==-1,g=this.getSegmentDescription(d[m],t,n,i,h?this.i18n.commaX0ThroughX1:a,o);h&&(g=g.replace(`, `,``)),f+=g}else if(!c)f+=n(d[m]);else{var _=this.getSegmentDescription(d[m],t,n,i,a,o);_&&_.startsWith(`, `)&&(_=_.substring(2)),f+=_}s=c?f:r.StringUtilities.format(o(e),f)}else if(c){var d=e.split(`/`);if(s=r.StringUtilities.format(i(d[1]),d[1]),d[0].indexOf(`-`)>-1){var v=this.generateRangeSegmentDescription(d[0],a,n);v.indexOf(`, `)!=0&&(s+=`, `),s+=v}else if(d[0].indexOf(`*`)==-1){var y=r.StringUtilities.format(o(d[0]),n(d[0]));y=y.replace(`, `,``),s+=r.StringUtilities.format(this.i18n.commaStartingX0(),y)}}else l&&(s=this.generateRangeSegmentDescription(e,a,n));return s},e.prototype.generateRangeSegmentDescription=function(e,t,n){var i=``,a=e.split(`-`),o=n(a[0],1),s=n(a[1],2),c=t(e);return i+=r.StringUtilities.format(c,o,s),i},e.prototype.formatTime=function(e,t,n){var r=0,i=0,a=parseInt(e)+r,o=parseInt(t)+i;o>=60?(o-=60,a+=1):o<0&&(o+=60,--a),a>=24?a-=24:a<0&&(a=24+a);var s=``,c=!1;this.options.use24HourTimeFormat||(c=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),s=c?`${this.getPeriod(a)} `:` ${this.getPeriod(a)}`,a>12&&(a-=12),a===0&&(a=12));var l=``;n&&(l=`:${(`00`+n).substring(n.length)}`);var u=a.toString(),d=(`00`+u).substring(u.length),f=o.toString(),p=(`00`+f).substring(f.length),m=this.options.trimHoursLeadingZero?u:d;return`${c?s:``}${m}:${p}${l}${c?``:s}`},e.prototype.transformVerbosity=function(e,t){if(!t&&(e=e.replace(RegExp(`, ${this.i18n.everyMinute()}`,`g`),``),e=e.replace(RegExp(`, ${this.i18n.everyHour()}`,`g`),``),e=e.replace(new RegExp(this.i18n.commaEveryDay(),`g`),``),e=e.replace(/\, ?$/,``),this.i18n.conciseVerbosityReplacements))for(var n=0,r=Object.entries(this.i18n.conciseVerbosityReplacements());n<r.length;n++){var i=r[n],a=i[0],o=i[1];e=e.replace(new RegExp(a,`g`),o)}return e},e.prototype.getPeriod=function(e){return e>=12?this.i18n.pm&&this.i18n.pm()||`PM`:this.i18n.am&&this.i18n.am()||`AM`},e.locales={},e}()},747(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.enLocaleLoader=void 0;var r=n(486);t.enLocaleLoader=function(){function e(){}return e.prototype.load=function(e){e.en=new r.en},e}()},486(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.en=void 0,t.en=function(){function e(){}return e.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},e.prototype.atX0MinutesPastTheHourGt20=function(){return null},e.prototype.commaMonthX0ThroughMonthX1=function(){return null},e.prototype.commaYearX0ThroughYearX1=function(){return null},e.prototype.use24HourTimeFormatByDefault=function(){return!1},e.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return`An error occurred when generating the expression description. Check the cron expression syntax.`},e.prototype.everyMinute=function(){return`every minute`},e.prototype.everyHour=function(){return`every hour`},e.prototype.atSpace=function(){return`At `},e.prototype.everyMinuteBetweenX0AndX1=function(){return`Every minute between %s and %s`},e.prototype.at=function(){return`At`},e.prototype.spaceAnd=function(){return` and`},e.prototype.everySecond=function(){return`every second`},e.prototype.everyX0Seconds=function(){return`every %s seconds`},e.prototype.secondsX0ThroughX1PastTheMinute=function(){return`seconds %s through %s past the minute`},e.prototype.atX0SecondsPastTheMinute=function(){return`at %s seconds past the minute`},e.prototype.everyX0Minutes=function(){return`every %s minutes`},e.prototype.minutesX0ThroughX1PastTheHour=function(){return`minutes %s through %s past the hour`},e.prototype.atX0MinutesPastTheHour=function(){return`at %s minutes past the hour`},e.prototype.everyX0Hours=function(){return`every %s hours`},e.prototype.betweenX0AndX1=function(){return`between %s and %s`},e.prototype.atX0=function(){return`at %s`},e.prototype.commaEveryDay=function(){return`, every day`},e.prototype.commaEveryX0DaysOfTheWeek=function(){return`, every %s days of the week`},e.prototype.commaX0ThroughX1=function(){return`, %s through %s`},e.prototype.commaAndX0ThroughX1=function(){return`, %s through %s`},e.prototype.first=function(){return`first`},e.prototype.second=function(){return`second`},e.prototype.third=function(){return`third`},e.prototype.fourth=function(){return`fourth`},e.prototype.fifth=function(){return`fifth`},e.prototype.commaOnThe=function(){return`, on the `},e.prototype.spaceX0OfTheMonth=function(){return` %s of the month`},e.prototype.lastDay=function(){return`the last day`},e.prototype.commaOnTheLastX0OfTheMonth=function(){return`, on the last %s of the month`},e.prototype.commaOnlyOnX0=function(){return`, only on %s`},e.prototype.commaAndOnX0=function(){return`, and on %s`},e.prototype.commaEveryX0Months=function(){return`, every %s months`},e.prototype.commaOnlyInX0=function(){return`, only in %s`},e.prototype.commaOnTheLastDayOfTheMonth=function(){return`, on the last day of the month`},e.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return`, on the last weekday of the month`},e.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return`, %s days before the last day of the month`},e.prototype.firstWeekday=function(){return`first weekday`},e.prototype.weekdayNearestDayX0=function(){return`weekday nearest day %s`},e.prototype.commaOnTheX0OfTheMonth=function(){return`, on the %s of the month`},e.prototype.commaEveryX0Days=function(){return`, every %s days in a month`},e.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return`, between day %s and %s of the month`},e.prototype.commaOnDayX0OfTheMonth=function(){return`, on day %s of the month`},e.prototype.commaEveryHour=function(){return`, every hour`},e.prototype.commaEveryX0Years=function(){return`, every %s years`},e.prototype.commaStartingX0=function(){return`, starting %s`},e.prototype.daysOfTheWeek=function(){return[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},e.prototype.monthsOfTheYear=function(){return[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},e.prototype.atReboot=function(){return`Run once, at startup`},e.prototype.onTheHour=function(){return`on the hour`},e}()},515(e,t){Object.defineProperty(t,"__esModule",{value:!0});function n(e,t){if(!e)throw Error(t)}t.default=function(){function e(){}return e.secondRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=59,`seconds part must be >= 0 and <= 59`)}},e.minuteRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=59,`minutes part must be >= 0 and <= 59`)}},e.hourRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=0&&i<=23,`hours part must be >= 0 and <= 23`)}},e.dayOfMonthRange=function(e){for(var t=e.split(`,`),r=0;r<t.length;r++)if(!isNaN(parseInt(t[r],10))){var i=parseInt(t[r],10);n(i>=1&&i<=31,`DOM part must be >= 1 and <= 31`)}},e.monthRange=function(e,t){for(var r=e.split(`,`),i=0;i<r.length;i++)if(!isNaN(parseInt(r[i],10))){var a=parseInt(r[i],10);n(a>=1&&a<=12,t?`month part must be >= 0 and <= 11`:`month part must be >= 1 and <= 12`)}},e.dayOfWeekRange=function(e,t){for(var r=e.split(`,`),i=0;i<r.length;i++)if(!isNaN(parseInt(r[i],10))){var a=parseInt(r[i],10);n(a>=0&&a<=6,t?`DOW part must be >= 0 and <= 6`:`DOW part must be >= 1 and <= 7`)}},e}()},823(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.StringUtilities=void 0,t.StringUtilities=function(){function e(){}return e.format=function(e){var t=[...arguments].slice(1);return e.replace(/%s/g,function(e){return t.shift()})},e.containsAny=function(e,t){return t.some(function(t){return e.indexOf(t)>-1})},e}()}},t={};function n(r){var i=t[r];if(i!==void 0)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.toString=void 0;var t=n(333),i=n(747);t.ExpressionDescriptor.initialize(new i.enLocaleLoader),e.default=t.ExpressionDescriptor,e.toString=t.ExpressionDescriptor.toString})(),r})())}))(),1),LQn=({pikkuFuncId:e,label:t})=>{let{data:n}=qQ(e??``),{navigateInPanel:r}=qB();if(!e)return null;let i=n?.name||e;return(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(t||`Handler Function`)}),(0,M.jsx)(gu,{gap:6,children:(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,leftSection:(0,M.jsx)(Sz,{size:10}),style:{cursor:`pointer`},onClick:()=>r(`function`,e,i,n),children:V(i)})})]})},RQn=({wireId:e,metadata:t={}})=>{let n=t?.method?.toUpperCase()||`GET`,r=t?.route||e,i=t?.middleware||[],a=t?.permissions||[],o=t?.auth!==!1;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(_z,{size:20}),(0,M.jsx)(sH,{type:`httpMethod`,value:n,variant:`filled`}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(r)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[o&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),a.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`}),t?.sse&&(0,M.jsx)(sH,{type:`flag`,flag:`sse`})]}),(t?.params&&t.params.length>0||t?.query&&t.query.length>0)&&(0,M.jsxs)(gu,{gap:`xs`,children:[t?.params?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`param`,value:`:${e}`},`p-${e}`)),t?.query?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`query`,value:`?${e}`},`q-${e}`))]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:i,permissions:a,tags:t?.tags||[],errors:t?.errors||[],inputSchemaName:t?.inputSchemaName,outputSchemaName:t?.outputSchemaName})]})},zQn=({wireId:e,metadata:t={}})=>{let{navigateInPanel:n}=qB(),r=t?.middleware||[],i=t?.permissions||[],a=t?.channelMiddleware||[],o=t?.auth!==!1,s=t?.messageWirings;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Iz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.route&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.route)}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`channel`}),o&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),i.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(t?.params&&t.params.length>0||t?.query&&t.query.length>0)&&(0,M.jsxs)(gu,{gap:`xs`,children:[t?.params?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`param`,value:`:${e}`},`p-${e}`)),t?.query?.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`query`,value:`?${e}`},`q-${e}`))]}),(0,M.jsxs)(e$,{description:t?.description,middleware:r,permissions:i,tags:t?.tags||[],errors:t?.errors||[],children:[t?.input&&(0,M.jsx)($Q,{label:V(`Input Schema`),schemaName:t.input}),(0,M.jsx)(LQn,{pikkuFuncId:t?.connect?.pikkuFuncId,label:`Connect Handler`}),(0,M.jsx)(LQn,{pikkuFuncId:t?.disconnect?.pikkuFuncId,label:`Disconnect Handler`}),(0,M.jsx)(LQn,{pikkuFuncId:t?.message?.pikkuFuncId,label:`Message Handler`}),a.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Channel Middleware`)}),(0,M.jsx)(gu,{gap:6,children:a.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),s&&Object.keys(s).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Message Wirings`)}),(0,M.jsx)($m,{gap:`sm`,children:Object.entries(s).map(([e,t])=>(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,mb:4,children:V(e)}),(0,M.jsx)(gu,{gap:6,children:Object.entries(t).map(([e,t])=>(0,M.jsx)(sH,{type:`dynamic`,badge:`actions`,value:e,className:t?.pikkuFuncId?PB.clickableText:void 0,onClick:t?.pikkuFuncId?()=>n(`function`,t.pikkuFuncId,e,t):void 0},e))})]},e))})]})]})]})},BQn=({wireId:e,metadata:t={}})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsx)(N,{children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Zz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(e)})]})}),(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`wiringType`,value:`rpc`})}),(0,M.jsx)(e$,{pikkuFuncId:t?.pikkuFuncId})]}),VQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[];return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(oz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`scheduler`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),t?.schedule&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Schedule`)}),(0,M.jsx)(B,{size:`sm`,children:V(IQn.default.toString(t.schedule))}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,mt:2,children:V(t.schedule)})]}),t?.timezone&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Timezone`)}),(0,M.jsx)(B,{size:`sm`,children:V(t.timezone)})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},HQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[],i=t?.config;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Tz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`queue`}),t?.concurrency!==void 0&&(0,M.jsx)(sH,{type:`dynamic`,badge:`concurrency`,value:t.concurrency,variant:`outline`,color:`gray`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[],children:i&&Object.keys(i).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Config`)}),(0,M.jsx)(gu,{gap:6,children:Object.entries(i).map(([e,t])=>(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,children:V(`${e}: ${String(t)}`)},e))})]})})]})},UQn=({options:e})=>{let t=Object.entries(e);return t.length===0?null:(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Option`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Description`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Default`})]})}),(0,M.jsx)(mh.Tbody,{children:t.map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(`--${e}${t.short?`, -${t.short}`:``}`)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,children:V(t.description||``)})}),(0,M.jsx)(mh.Td,{children:t.required?(0,M.jsx)(sH,{type:`flag`,flag:`required`}):t.default===void 0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`-`)}):(0,M.jsx)(tf,{children:String(t.default)})})]},e))})]})},WQn=({commands:e,depth:t=0})=>{let{navigateInPanel:n}=qB();return(0,M.jsx)($m,{gap:`xs`,children:Object.entries(e).map(([e,r])=>(0,M.jsxs)(N,{ml:t*16,children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:600,children:V(e)}),r.isDefault&&(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`light`,color:`gray`,children:V(`default`)}),r.pikkuFuncId&&(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:`gray`,className:PB.clickableText,onClick:()=>n(`function`,r.pikkuFuncId,r.pikkuFuncId,r),children:V(r.pikkuFuncId)})]}),r.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mb:4,children:V(r.description)}),r.positionals&&r.positionals.length>0&&(0,M.jsx)(gu,{gap:6,mb:4,children:r.positionals.map(e=>(0,M.jsx)(sH,{type:`label`,size:`sm`,variant:`outline`,color:e.required?`red`:`gray`,children:V(`${e.variadic?`...${e.name}`:e.name}${e.required?`*`:``}`)},e.name))}),r.options&&Object.keys(r.options).length>0&&(0,M.jsx)(UQn,{options:r.options}),r.subcommands&&Object.keys(r.subcommands).length>0&&(0,M.jsx)(WQn,{commands:r.subcommands,depth:t+1})]},e))})},GQn=({wireId:e,metadata:t={}})=>{let n=t?.program||e,r=t?.commands,i=t?.options;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Qz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(n)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`cli`}),t?.defaultRenderName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`format`,value:t.defaultRenderName})]}),(0,M.jsxs)(e$,{description:t?.description,children:[i&&Object.keys(i).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Global Options`)}),(0,M.jsx)(UQn,{options:i})]}),r&&Object.keys(r).length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Commands`)}),(0,M.jsx)(WQn,{commands:r})]})]})]})},KQn=({wireId:e,metadata:t={}})=>{let n=t?.method||`unknown`,r=t?.middleware||[],i=t?.permissions||[],a=t?.arguments;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(cz,{size:20}),(0,M.jsx)(sH,{type:`mcpType`,value:n,variant:`filled`}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),t?.uri&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`URI`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.uri)})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:r,permissions:i,tags:t?.tags||[],errors:t?.errors||[],inputSchemaName:t?.inputSchemaName,outputSchemaName:t?.outputSchemaName,children:a&&a.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Arguments`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Name`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Description`}),(0,M.jsx)(mh.Th,{c:`dimmed`,fw:500,fz:`xs`,children:`Required`})]})}),(0,M.jsx)(mh.Tbody,{children:a.map(e=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e.name)})}),(0,M.jsx)(mh.Td,{children:(0,M.jsx)(B,{size:`sm`,children:V(e.description||``)})}),(0,M.jsx)(mh.Td,{children:e.required&&(0,M.jsx)(sH,{type:`flag`,flag:`required`})})]},e.name))})]})]})})]})},qQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[];return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(dB,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`trigger`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},JQn=({wireId:e,metadata:t={}})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(dB,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.summary)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`triggerSource`}),t?.packageName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.packageName})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId})]}),YQn=({wireId:e,metadata:t={}})=>{let n=t?.middleware||[],r=t?.permissions||[],i=t?.auth!==!1,a=t?.type||`webhook`,o=t?.platform;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Az,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.name||e)})]}),(o||t?.route||t?.summary)&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V([o,t?.route,t?.summary].filter(Boolean).join(` · `))})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,color:`teal`,children:V(a)}),o&&(0,M.jsx)(sH,{type:`dynamic`,badge:`source`,value:o}),i&&(0,M.jsx)(sH,{type:`flag`,flag:`auth`}),r.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),(0,M.jsx)(e$,{description:t?.description,pikkuFuncId:t?.pikkuFuncId,middleware:n,permissions:r,tags:t?.tags||[],errors:t?.errors||[]})]})},XQn=({defId:e,def:t})=>{let{meta:n}=MB(),r=n.middlewareGroupsMeta?.instances||{},i=n.middlewareGroupsMeta?.httpGroups||{},a=n.middlewareGroupsMeta?.tagGroups||{},o=Object.entries(r).filter(([,t])=>t.definitionId===e),s=new Set(o.map(([e])=>e)),c=[];for(let[e,t]of Object.entries(i))t.instanceIds?.some(e=>s.has(e))&&c.push({type:`http`,key:e,group:t});for(let[e,t]of Object.entries(a))t.instanceIds?.some(e=>s.has(e))&&c.push({type:`tag`,key:e,group:t});return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(xz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name||t.exportedName||e)})]}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(gu,{gap:4,children:[t.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`}),t.exportedName===null&&(0,M.jsx)(sH,{type:`flag`,flag:`local`}),t.exportedName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`exportedName`,value:t.exportedName}),t.package&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.package})]}),t.services?.services?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Services`)}),(0,M.jsx)(gu,{gap:4,children:t.services.services.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`service`,value:e},e))})]}),t.wires&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wires`)}),t.wires.wires?.length>0?(0,M.jsxs)(gu,{gap:4,children:[t.wires.wires.some(e=>[`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e))&&(0,M.jsx)(sH,{type:`flag`,flag:`session`}),t.wires.wires.filter(e=>![`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e)).map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`wire`,value:e},e))]}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`None`)})]}),o.length>0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($v,{}),(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Instances (${o.length})`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`ID`}),(0,M.jsx)(mh.Th,{children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:o.map(([e,t])=>(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Td,{ff:`monospace`,fz:`sm`,children:e}),(0,M.jsx)(mh.Td,{children:t.isFactoryCall&&(0,M.jsx)(sH,{type:`flag`,flag:`factoryCall`})})]},e))})]})]})]}),c.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Used in Groups`)}),(0,M.jsx)(gu,{gap:4,children:c.map(e=>(0,M.jsx)(sH,{type:`label`,color:e.type===`http`?`blue`:`green`,leftSection:(0,M.jsx)(xz,{size:10}),children:V(e.type===`http`?`HTTP ${e.key}`:`Tag: ${e.key}`)},`${e.type}::${e.key}`))})]})]})},ZQn=({groupType:e,groupKey:t})=>{let{meta:n}=MB(),{openMiddleware:r}=qB(),i=(e===`http`?n.middlewareGroupsMeta?.httpGroups||{}:n.middlewareGroupsMeta?.tagGroups||{})[t],a=n.middlewareGroupsMeta?.instances||{},o=n.middlewareGroupsMeta?.definitions||{},s=[],c=new Set;for(let e of i?.instanceIds||[]){let t=a[e];t?.definitionId&&!c.has(t.definitionId)&&(c.add(t.definitionId),s.push({defId:t.definitionId,def:o[t.definitionId],instanceId:e,instance:t}))}return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsx)(N,{children:(0,M.jsx)(sH,{type:`label`,color:e===`http`?`blue`:`green`,children:V(e===`http`?`HTTP ${t}`:`Tag: ${t}`)})}),i?.exportName&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Export`)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(i.exportName)})]}),s.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Middleware (${s.length})`)}),(0,M.jsxs)(mh,{verticalSpacing:4,horizontalSpacing:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsxs)(mh.Tr,{children:[(0,M.jsx)(mh.Th,{children:`Definition`}),(0,M.jsx)(mh.Th,{children:`Type`})]})}),(0,M.jsx)(mh.Tbody,{children:s.map(({defId:e,def:t,instance:n})=>(0,M.jsxs)(mh.Tr,{className:PB.clickableText,onClick:()=>r(e,{...t,_id:e}),children:[(0,M.jsx)(mh.Td,{ff:`monospace`,fz:`sm`,children:t?.name||t?.exportedName||e}),(0,M.jsx)(mh.Td,{children:(0,M.jsxs)(gu,{gap:4,children:[n?.isFactoryCall&&(0,M.jsx)(sH,{type:`flag`,flag:`factoryCall`}),t?.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`})]})})]},e))})]})]})]})},QQn=({middlewareId:e,metadata:t={}})=>t._groupType?(0,M.jsx)(ZQn,{groupType:t._groupType,groupKey:t._groupKey}):(0,M.jsx)(XQn,{defId:t._id||e,def:t}),$Qn=({defId:e,def:t})=>(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Kz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name||t.exportedName||e)})]}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(gu,{gap:4,children:[t.factory&&(0,M.jsx)(sH,{type:`flag`,flag:`factory`}),t.exportedName===null&&(0,M.jsx)(sH,{type:`flag`,flag:`local`}),t.exportedName&&(0,M.jsx)(sH,{type:`dynamic`,badge:`exportedName`,value:t.exportedName}),t.package&&(0,M.jsx)(sH,{type:`dynamic`,badge:`package`,value:t.package})]}),t.services?.services?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Services`)}),(0,M.jsx)(gu,{gap:4,children:t.services.services.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`service`,value:e},e))})]}),t.wires&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Wires`)}),t.wires.wires?.length>0?(0,M.jsxs)(gu,{gap:4,children:[t.wires.wires.some(e=>[`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e))&&(0,M.jsx)(sH,{type:`flag`,flag:`session`}),t.wires.wires.filter(e=>![`session`,`setSession`,`clearSession`,`getSession`,`hasSessionChanged`].includes(e)).map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`wire`,value:e},e))]}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`None`)})]})]}),e$n=({permissionId:e,metadata:t={}})=>(0,M.jsx)($Qn,{defId:t._id||e,def:t});function t$n(e,t=!0){let n=W_();return Ji({queryKey:[`agent-threads`,e],queryFn:async()=>await n.invoke(`console:getAgentThreads`,{agentName:e,limit:50,offset:0}),enabled:!!e,refetchInterval:t?5e3:!1})}function n$n(e,t=!0){let n=W_();return Ji({queryKey:[`agent-thread-messages`,e],queryFn:async()=>await n.invoke(`console:getAgentThreadMessages`,{threadId:e}),enabled:!!e,refetchInterval:t?5e3:!1})}function r$n(e){let t=W_();return Ji({queryKey:[`agent-thread-runs`,e],queryFn:async()=>await t.invoke(`console:getAgentThreadRuns`,{threadId:e}),enabled:!!e})}function i$n(e){let t=W_();return Ji({queryKey:[`agent-run-scores`,e],queryFn:async()=>await t.invoke(`console:getAgentRunScores`,{runId:e}),enabled:!!e})}function a$n(){let e=W_();return Ji({queryKey:[`scorers`],queryFn:async()=>await e.invoke(`console:getScorers`)})}function o$n(){let e=W_(),t=Ri();return Yi({mutationFn:async t=>await e.invoke(`console:deleteAgentThread`,{threadId:t}),onSuccess:()=>{t.invalidateQueries({queryKey:[`agent-threads`]})}})}var s$n=(0,A.createContext)(void 0),c$n=()=>{let e=(0,A.useContext)(s$n);if(!e)throw Error(`useAgentPlayground must be used within AgentPlaygroundProvider`);return e},l$n=e=>({id:e.id,status:`completed`,createdAt:e.createdAt,label:e.title||e.id.slice(0,8)}),u$n=({children:e,agentId:t})=>{let[n,r]=Gv(),i=n.get(`threadId`),[a,o]=(0,A.useState)(i),[s,c]=(0,A.useState)(),[l,u]=(0,A.useState)(),{data:d,refetch:f}=t$n(t),{data:p}=n$n(a),m=(d||[]).map(l$n),h=(0,A.useCallback)(e=>{o(e),r(t=>{let n=new URLSearchParams(t);return e?n.set(`threadId`,e):n.delete(`threadId`),n},{replace:!0})},[r]);(0,A.useEffect)(()=>{let e=n.get(`threadId`);e!==a&&o(e)},[n]);let g=(0,A.useCallback)(()=>{let e=crypto.randomUUID();h(e)},[h]),[_,v]=(0,A.useState)(()=>crypto.randomUUID());return(0,A.useEffect)(()=>{a===null&&v(crypto.randomUUID())},[a]),(0,M.jsx)(s$n.Provider,{value:{agentId:t,threadId:a,draftThreadId:_,setThreadId:h,threads:m,createNewThread:g,refetchThreads:()=>{f()},dbMessages:p,model:s,setModel:c,temperature:l,setTemperature:u},children:e})};function d$n(){let e=W_();return Ji({queryKey:[`addon-functions`],queryFn:async()=>{let t=await e.invoke(`console:getInstalledAddons`),n=[];return await Promise.all(t.filter(e=>e.namespace!==`console`).map(async t=>{try{let r=(await e.invoke(`console:getAddonInstalledPackage`,{packageName:t.packageName}))?.functions||{};for(let e of Object.keys(r))n.push({namespace:t.namespace,funcId:`${t.namespace}:${e}`})}catch{}})),n}})}var f$n=({wireId:e,sourceFile:t,exportedName:n,metadata:r,onClose:i})=>{let{data:a,isLoading:o}=tZn(t,n,!0),s=nZn(),{meta:c}=MB(),{data:l}=d$n(),u=XXn(),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(``),[h,g]=(0,A.useState)(``),[_,v]=(0,A.useState)(``),[y,b]=(0,A.useState)(null),[x,S]=(0,A.useState)(``),[C,w]=(0,A.useState)(``),[T,E]=(0,A.useState)(null),[D,O]=(0,A.useState)([]),[k,ee]=(0,A.useState)([]),[te,ne]=(0,A.useState)(null);(0,A.useEffect)(()=>{if(a){let e=a.config||{};f(e.description||``),m(e.role||``),g(e.personality||``),v(e.goal||``),b(e.model||null),S(typeof e.maxSteps==`number`?e.maxSteps:``),w(typeof e.temperature==`number`?e.temperature:``),E(e.toolChoice||null),O(r?.tools||[]),ee(r?.tags||[])}},[a]);let re=async()=>{let e=a?.config||{},o={};d!==(e.description||``)&&(o.description=d||null),p!==(e.role||``)&&(o.role=p||null),h!==(e.personality||``)&&(o.personality=h||null),_!==(e.goal||``)&&(o.goal=_||null),y!==(e.model||null)&&(o.model=y||void 0),x!==(typeof e.maxSteps==`number`?e.maxSteps:``)&&(o.maxSteps=typeof x==`number`?x:null),C!==(typeof e.temperature==`number`?e.temperature:``)&&(o.temperature=typeof C==`number`?C:null),T!==(e.toolChoice||null)&&(o.toolChoice=T||null);let c=r?.tools||[];JSON.stringify(D)!==JSON.stringify(c)&&(o.tools=D.length>0?D:null);let l=r?.tags||[];if(JSON.stringify(k)!==JSON.stringify(l)&&(o.tags=k.length>0?k:null),Object.keys(o).length===0){i();return}try{await s.mutateAsync({sourceFile:t,exportedName:n,changes:o}),ne(`Saved and rebuilt successfully`),setTimeout(()=>{ne(null),i()},1500)}catch{}};if(o)return null;let ie=c.functions??[],ae={};for(let e of ie){if(e.functionType!==`user`)continue;let t=e.pikkuFuncId;ae.Local||=[],ae.Local.push(t)}for(let e of l??[])ae[e.namespace]||(ae[e.namespace]=[]),ae[e.namespace].push(e.funcId);let oe=Object.entries(ae).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({group:e,items:t.sort()}));return(0,M.jsxs)($m,{gap:`md`,children:[te&&(0,M.jsx)(ty,{color:`green`,icon:(0,M.jsx)(nz,{size:16}),withCloseButton:!0,onClose:()=>ne(null),children:V(te)}),s.error&&(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(s.error.message)}),(0,M.jsx)(ZQ,{children:V(`Configuration`)}),(0,M.jsx)(iy,{label:V(`Description`),value:d,onChange:e=>f(e.currentTarget.value),autosize:!0,minRows:2,maxRows:4,size:`xs`}),(0,M.jsx)(ry,{label:V(`Model`),description:V(`Provider-qualified, e.g. openai/gpt-4o`),placeholder:V(`provider/model`),value:y??``,onChange:e=>b(e.currentTarget.value||null),size:`xs`}),(0,M.jsxs)(gu,{grow:!0,gap:`xs`,wrap:`wrap`,children:[(0,M.jsx)(ay,{label:V(`Max Steps`),style:{minWidth:100},value:x,onChange:e=>S(typeof e==`number`?e:``),min:1,max:100,size:`xs`}),(0,M.jsx)(ay,{label:V(`Temperature`),style:{minWidth:100},value:C,onChange:e=>w(typeof e==`number`?e:``),min:0,max:2,step:.1,decimalScale:1,size:`xs`}),(0,M.jsx)(oy,{label:V(`Tool Choice`),style:{minWidth:120},data:[`auto`,`required`,`none`],value:T,onChange:E,clearable:!0,size:`xs`})]}),(0,M.jsx)(sy,{label:V(`Tools`),data:oe,value:D,onChange:O,searchable:!0,clearable:!0,size:`xs`,placeholder:V(`Search functions...`)}),(0,M.jsx)(sy,{label:V(`Tags`),data:u,value:k,onChange:ee,searchable:!0,clearable:!0,size:`xs`,placeholder:V(`Search tags...`)}),(0,M.jsx)(ZQ,{children:V(`Role`)}),(0,M.jsx)(iy,{value:p,onChange:e=>m(e.currentTarget.value),placeholder:V(`Who the agent is -- role, expertise, domain context`),autosize:!0,minRows:2,maxRows:6,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsx)(ZQ,{children:V(`Personality`)}),(0,M.jsx)(iy,{value:h,onChange:e=>g(e.currentTarget.value),placeholder:V(`Defines how the agent behaves -- tone, style, constraints`),autosize:!0,minRows:3,maxRows:10,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsx)(ZQ,{children:V(`Goal`)}),(0,M.jsx)(iy,{value:_,onChange:e=>v(e.currentTarget.value),placeholder:V(`Defines what the agent is trying to accomplish`),autosize:!0,minRows:3,maxRows:10,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:i,disabled:s.isPending,leftSection:(0,M.jsx)(uB,{size:14}),size:`xs`,children:V(`Cancel`)}),(0,M.jsx)(qv,{onClick:re,loading:s.isPending,leftSection:(0,M.jsx)(Bz,{size:14}),size:`xs`,children:V(`Save & Rebuild`)})]})]})},p$n=(0,A.createContext)(!0);function Y3(){return(0,A.useContext)(p$n)}var m$n=({wireId:e,metadata:t={}})=>{let{navigateInPanel:n}=qB(),r=(0,A.useContext)(s$n),i=Y3(),[a,o]=(0,A.useState)(!1),s=i&&!!t?.sourceFile&&!!t?.exportedName;if(a&&s)return(0,M.jsx)(f$n,{wireId:e,sourceFile:t.sourceFile,exportedName:t.exportedName,metadata:t,onClose:()=>o(!1)});let c=t?.middleware||[],l=t?.channelMiddleware||[],u=t?.agentMiddleware||[],d=t?.permissions||[],f=t?.tools||[],p=t?.agents||[],m=t?.memory;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(QR,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:t?.name||e}),t?.model&&(0,M.jsx)(sH,{type:`dynamic`,badge:`model`,value:t.model})]}),s&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>o(!0),title:`Edit agent`,children:(0,M.jsx)(kIt,{size:14})})]}),t?.summary&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:t.summary})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`wiringType`,value:`agent`}),t?.maxSteps&&(0,M.jsx)(sH,{type:`dynamic`,badge:`maxSteps`,value:t.maxSteps,variant:`outline`,color:`gray`}),t?.toolChoice&&(0,M.jsx)(sH,{type:`dynamic`,badge:`toolChoice`,value:t.toolChoice,variant:`outline`,color:`gray`}),d.length>0&&(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`})]}),r&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Playground Overrides`)}),(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(ry,{size:`xs`,label:V(`Model${t?.model?` (default: ${t.model})`:``}`),placeholder:V(t?.model??`provider/model`),value:r.model??``,onChange:e=>r.setModel(e.currentTarget.value||void 0)}),(0,M.jsx)(ay,{size:`xs`,label:V(`Temperature${t?.temperature==null?``:` (default: ${t.temperature})`}`),placeholder:V(t?.temperature==null?`default`:String(t.temperature)),value:r.temperature??``,onChange:e=>r.setTemperature(typeof e==`number`?e:void 0),min:0,max:2,step:.1,decimalScale:1})]})]}),(0,M.jsxs)(e$,{description:t?.description,middleware:c,permissions:d,tags:t?.tags,children:[t?.role&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Role`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.role)})]}),t?.personality&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Personality`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.personality)})]}),t?.goal&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Goal`)}),(0,M.jsx)(B,{size:`md`,style:{whiteSpace:`pre-wrap`},children:V(t.goal)})]}),f.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Tools (${f.length})`)}),(0,M.jsx)(gu,{gap:6,children:f.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`tool`,value:e,className:PB.clickableText,onClick:()=>n(`function`,e,e)},e))})]}),p.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Sub-Agents (${p.length})`)}),(0,M.jsx)(gu,{gap:6,children:p.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`agent`,value:e,className:PB.clickableText,onClick:()=>n(`agent`,e,e)},e))})]}),l.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Channel Middleware`)}),(0,M.jsx)(gu,{gap:6,children:l.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),u.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`AI Middleware`)}),(0,M.jsx)(gu,{gap:6,children:u.map((e,t)=>(0,M.jsx)(y6t,{item:e,kind:`middleware`},t))})]}),m&&(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:V(`Memory`)}),(0,M.jsxs)(gu,{gap:6,children:[m.storage&&(0,M.jsx)(sH,{type:`dynamic`,badge:`storage`,value:m.storage,variant:`outline`,color:`gray`}),m.lastMessages!==void 0&&(0,M.jsx)(sH,{type:`dynamic`,badge:`lastMessages`,value:m.lastMessages,variant:`outline`,color:`gray`})]})]}),(0,M.jsx)($Q,{label:V(`Input Schema`),schemaName:t?.inputSchema}),(0,M.jsx)($Q,{label:V(`Output Schema`),schemaName:t?.outputSchema}),(0,M.jsx)($Q,{label:V(`Working Memory Schema`),schemaName:t?.workingMemorySchema})]})]})},h$n=({cmd:e})=>{let[t,n]=(0,A.useState)(!1),[r,i]=(0,A.useState)(!1),a=(0,A.useRef)(null);return(0,A.useEffect)(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]),(0,M.jsxs)(N,{component:`button`,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onClick:()=>{navigator.clipboard?.writeText(e),n(!0),a.current=setTimeout(()=>n(!1),1200)},style:{display:`inline-flex`,alignItems:`center`,gap:10,padding:`8px 10px 8px 13px`,borderRadius:8,border:`0.5px solid ${r?`var(--app-border-hover, var(--app-border))`:`var(--app-border)`}`,background:`var(--app-panel-bg, var(--mantine-color-body))`,fontFamily:`'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:12.5,cursor:`pointer`,transition:`border-color 130ms`,lineHeight:1},children:[(0,M.jsx)(B,{span:!0,c:`var(--app-text-faint, var(--mantine-color-dimmed))`,ff:`inherit`,fz:`inherit`,children:V(`$`)}),(0,M.jsx)(B,{span:!0,c:`var(--app-text, var(--mantine-color-text))`,ff:`inherit`,fz:`inherit`,children:V(e)}),(0,M.jsx)(N,{display:`flex`,style:{alignItems:`center`,color:t?`var(--app-green, var(--mantine-color-green-6))`:`var(--app-text-faint, var(--mantine-color-dimmed))`},children:t?(0,M.jsx)($R,{size:13}):(0,M.jsx)(ZFt,{size:13})})]})},g$n=({icon:e,hero:t,title:n,subtitle:r,code:i,action:a,secondaryAction:o,compact:s=!1})=>{let c=s?48:56,l=!!t||!!e;return(0,M.jsxs)($m,{align:`center`,justify:`center`,gap:0,style:{flex:1,textAlign:`center`,padding:s?`24px 16px`:`44px 16px`},children:[t??(e&&(0,M.jsx)(N,{style:{width:c,height:c,borderRadius:c*.28,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`var(--app-panel-bg, var(--mantine-color-body))`,border:`0.5px solid var(--app-border, var(--mantine-color-default-border))`,boxShadow:`var(--app-shadow-sm, 0 1px 3px rgba(0,0,0,.06))`,flexShrink:0},children:(0,M.jsx)(e,{size:c*.46,strokeWidth:1.5})})),(0,M.jsx)(B,{mt:l?s?14:24:0,fz:s?17:22,fw:650,c:`var(--app-text, var(--mantine-color-text))`,style:{letterSpacing:`-0.01em`},children:n}),r&&(0,M.jsx)(B,{mt:10,fz:15,c:`var(--app-text-dim, var(--mantine-color-dimmed))`,maw:460,lh:1.55,ta:`center`,children:r}),i&&(0,M.jsx)(N,{mt:20,children:(0,M.jsx)(h$n,{cmd:i})}),(a||o)&&(0,M.jsxs)(gu,{mt:i?20:24,gap:12,justify:`center`,children:[a&&(0,M.jsx)(qv,{component:a.href?`a`:`button`,href:a.href,onClick:a.onClick,loading:a.loading,leftSection:a.icon,variant:`filled`,radius:8,size:`sm`,styles:{root:{fontSize:13.5,fontWeight:600}},children:a.label}),o&&(0,M.jsxs)(N,{component:o.href?`a`:`button`,href:o.href,onClick:o.onClick,style:{display:`inline-flex`,alignItems:`center`,gap:6,fontSize:13.5,fontWeight:600,color:`var(--app-text-dim, var(--mantine-color-dimmed))`,padding:`8px 6px`,cursor:`pointer`,background:`none`,border:`none`,textDecoration:`none`,lineHeight:1},children:[o.label,(0,M.jsx)(KR,{size:14})]})]})]})},_$n={scoreTrack:`_scoreTrack_1x6qn_6`,scoreFill:`_scoreFill_1x6qn_14`,scoreReason:`_scoreReason_1x6qn_21`},v$n=({scorerName:e,score:t,reason:n})=>{let r=Math.max(0,Math.min(1,t));return(0,M.jsxs)($m,{gap:4,children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,truncate:!0,children:V(e)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:600,children:V(t.toFixed(2))})]}),(0,M.jsx)(N,{className:_$n.scoreTrack,children:(0,M.jsx)(N,{className:_$n.scoreFill,style:{width:`${r*100}%`}})}),n&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,className:_$n.scoreReason,children:V(n)})]})},y$n=e=>{if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`},b$n=({run:e})=>{Pt();let{data:t}=i$n(e.runId),n=t??[];return(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:`sm`,"data-run-id":e.runId,children:(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,truncate:!0,children:V(e.runId.slice(0,8))}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(y$n(e.createdAt))}),(0,M.jsx)(sH,{type:`status`,value:e.status,variant:`light`})]})]}),e.usageModel&&(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,children:V(e.usageModel)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:X.agent_run_tokens({input:e.usageInputTokens??0,output:e.usageOutputTokens??0})})]}),(0,M.jsx)($v,{}),n.length===0?(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_run_no_grades()}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_run_no_grades_description()})]}):(0,M.jsx)($m,{gap:`sm`,children:n.map((e,t)=>(0,M.jsx)(v$n,{scorerName:e.scorerName,score:e.score,reason:e.reason},`${e.scorerName}-${t}`))})]})})},x$n=()=>{Pt();let e=(0,A.useContext)(s$n),t=e?e.threadId??e.draftThreadId:null,{data:n,isLoading:r}=r$n(t);if(!t)return(0,M.jsx)(g$n,{icon:QR,title:X.agent_runs_no_thread_title(),subtitle:X.agent_runs_no_thread_description(),compact:!0});if(r)return(0,M.jsx)(XB,{});let i=n??[];return i.length===0?(0,M.jsx)(g$n,{icon:sIt,title:X.agent_runs_empty_title(),subtitle:X.agent_runs_empty_description(),compact:!0}):(0,M.jsx)($m,{gap:`sm`,children:i.map(e=>(0,M.jsx)(b$n,{run:e},e.runId))})},S$n=({wireId:e,metadata:t})=>(Pt(),(0,M.jsxs)(uy,{defaultValue:`configuration`,keepMounted:!1,children:[(0,M.jsxs)(uy.List,{px:`md`,children:[(0,M.jsx)(uy.Tab,{value:`configuration`,children:X.agent_panel_tab_configuration()}),(0,M.jsx)(uy.Tab,{value:`runs`,children:X.agent_runs_panel_title()})]}),(0,M.jsx)(uy.Panel,{value:`configuration`,pt:`md`,children:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(m$n,{wireId:e,metadata:t})})}),(0,M.jsx)(uy.Panel,{value:`runs`,pt:`md`,children:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(x$n,{})})})]}));function C$n(e,t){let n=W_();return Ji({queryKey:[`secret-value`,e],queryFn:async()=>await n.invoke(`console:secretGet`,{secretId:e}),enabled:!!e&&t})}function w$n(){let e=W_(),t=Ri();return Yi({mutationFn:({secretId:t,value:n})=>e.invoke(`console:secretSet`,{secretId:t,value:n}),onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`secret-value`,n.secretId]})}})}var T$n={type:`object`,properties:{clientId:{type:`string`,title:`Client ID`},clientSecret:{type:`string`,title:`Client Secret`}},required:[`clientId`]},E$n=({secretId:e,schemaName:t,isOAuth2:n})=>{Pt();let r=Y3(),[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(`form`),[u,d]=(0,A.useState)(``),[f,p]=(0,A.useState)(null),[m,h]=(0,A.useState)(null),{data:g,isLoading:_}=C$n(e,i),{data:v}=q4t(t),y=w$n(),b=v||(n?T$n:void 0),x=!!b,S=g?.exists?g.value:null;if((0,A.useEffect)(()=>{g&&d(S==null?``:JSON.stringify(S,null,2))},[g,S]),!e)return null;let C=e=>{h(e),setTimeout(()=>h(null),3e3)},w=t=>{y.mutate({secretId:e,value:t},{onSuccess:()=>{C(`Secret saved successfully`),s(!1)}})},T=()=>{p(null);let t;try{t=JSON.parse(u)}catch{p(`Invalid JSON`);return}y.mutate({secretId:e,value:t},{onSuccess:()=>{C(`Secret saved successfully`),s(!1)}})};if(!i)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsx)(qv,{variant:`light`,leftSection:(0,M.jsx)(pz,{size:16}),onClick:()=>a(!0),size:`sm`,children:X.secret_editor_retrieve_secret_value()})]});if(_)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsx)(fu,{size:`sm`})]});let E=x?c:`json`;return(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(ZQ,{children:X.secret_editor_secret_value()}),(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[!o&&r&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>s(!0),title:X.secret_editor_edit_secret_value(),children:(0,M.jsx)(kIt,{size:14})}),x&&(0,M.jsx)(zm,{value:E,onChange:l,data:[{label:X.secret_editor_form(),value:`form`},{label:X.secret_editor_json(),value:`json`}],size:`sm`,style:{width:`auto`}})]})]}),m&&(0,M.jsx)(ty,{icon:(0,M.jsx)(nz,{size:16}),color:`green`,variant:`light`,children:V(m)}),y.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.secret_editor_failed_to_save_secret()}),!g?.exists&&!o&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.secret_editor_no_value_set()}),o?(0,M.jsx)($m,{gap:`sm`,children:E===`form`&&x?(0,M.jsx)(aY,{schema:b,onSubmit:w,submitting:y.isPending,submitLabel:X.secret_editor_save(),initialData:S??void 0,children:(0,M.jsxs)(gu,{mt:`sm`,gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>s(!1),children:X.secret_editor_cancel()}),(0,M.jsx)(qv,{type:`submit`,leftSection:(0,M.jsx)(Bz,{size:16}),loading:y.isPending,children:X.secret_editor_save()})]})}):(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(iy,{value:u,onChange:e=>{d(e.currentTarget.value),p(null)},placeholder:X.secret_editor_json_placeholder(),autosize:!0,minRows:4,maxRows:12,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),f&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:V(f)}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>s(!1),children:X.secret_editor_cancel()}),(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Bz,{size:16}),loading:y.isPending,onClick:T,children:X.secret_editor_save()})]})]})}):(0,M.jsx)($m,{gap:`xs`,children:g?.exists&&(E===`form`&&x?(0,M.jsx)(N,{style:{pointerEvents:`none`,opacity:.8},children:(0,M.jsx)(aY,{schema:b,onSubmit:()=>{},initialData:S??void 0,children:(0,M.jsx)(M.Fragment,{})})}):(0,M.jsx)(tf,{block:!0,style:{whiteSpace:`pre-wrap`,maxHeight:300,overflow:`auto`},children:JSON.stringify(S,null,2)}))})]})};function D$n(e,t){let n=W_();return Ji({queryKey:[`variable-value`,e],queryFn:async()=>await n.invoke(`pikkuConsoleGetVariable`,{variableId:e}),enabled:!!e&&t})}function O$n(){let e=W_(),t=Ri();return Yi({mutationFn:({variableId:t,value:n})=>e.invoke(`pikkuConsoleSetVariable`,{variableId:t,value:n}),onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`variable-value`,n.variableId]})}})}var k$n=({variableId:e,schemaName:t})=>{Pt();let n=Y3(),[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(!1),[s,c]=(0,A.useState)(`form`),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(null),[p,m]=(0,A.useState)(null),{data:h,isLoading:g}=D$n(e,r),{data:_}=q4t(t),v=O$n(),y=!!_,b=h?.exists?h.value:null;if((0,A.useEffect)(()=>{h&&u(b==null?``:JSON.stringify(b,null,2))},[h,b]),!e)return null;let x=e=>{m(e),setTimeout(()=>m(null),3e3)},S=t=>{v.mutate({variableId:e,value:t},{onSuccess:()=>{x(`Variable saved successfully`),o(!1)}})},C=()=>{f(null);let t;try{t=JSON.parse(l)}catch{f(`Invalid JSON`);return}v.mutate({variableId:e,value:t},{onSuccess:()=>{x(`Variable saved successfully`),o(!1)}})};if(!r)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsx)(qv,{variant:`light`,leftSection:(0,M.jsx)(pz,{size:16}),onClick:()=>i(!0),size:`sm`,children:X.variable_editor_retrieve_variable_value()})]});if(g)return(0,M.jsxs)(N,{children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsx)(fu,{size:`sm`})]});let w=y?s:`json`;return(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(ZQ,{children:X.variable_editor_variable_value()}),(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[!a&&n&&(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>o(!0),title:X.variable_editor_edit_variable_value(),children:(0,M.jsx)(kIt,{size:14})}),y&&(0,M.jsx)(zm,{value:w,onChange:c,data:[{label:X.variable_editor_form(),value:`form`},{label:X.variable_editor_json(),value:`json`}],size:`sm`,style:{width:`auto`}})]})]}),p&&(0,M.jsx)(ty,{icon:(0,M.jsx)(nz,{size:16}),color:`green`,variant:`light`,children:V(p)}),v.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.variable_editor_failed_to_save_variable()}),!h?.exists&&!a&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.variable_editor_no_value_set()}),a?(0,M.jsx)($m,{gap:`sm`,children:w===`form`&&y?(0,M.jsx)(aY,{schema:_,onSubmit:S,submitting:v.isPending,submitLabel:X.variable_editor_save(),initialData:b??void 0,children:(0,M.jsxs)(gu,{mt:`sm`,gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>o(!1),children:X.variable_editor_cancel()}),(0,M.jsx)(qv,{type:`submit`,leftSection:(0,M.jsx)(Bz,{size:16}),loading:v.isPending,children:X.variable_editor_save()})]})}):(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsx)(iy,{value:l,onChange:e=>{u(e.currentTarget.value),f(null)},placeholder:X.variable_editor_json_placeholder(),autosize:!0,minRows:4,maxRows:12,styles:{input:{fontFamily:`monospace`,fontSize:`13px`}}}),d&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:V(d)}),(0,M.jsxs)(gu,{gap:`xs`,justify:`flex-end`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:()=>o(!1),children:X.variable_editor_cancel()}),(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Bz,{size:16}),loading:v.isPending,onClick:C,children:X.variable_editor_save()})]})]})}):(0,M.jsx)($m,{gap:`xs`,children:h?.exists&&(w===`form`&&y?(0,M.jsx)(N,{style:{pointerEvents:`none`,opacity:.8},children:(0,M.jsx)(aY,{schema:_,onSubmit:()=>{},initialData:b??void 0,children:(0,M.jsx)(M.Fragment,{})})}):(0,M.jsx)(tf,{block:!0,style:{whiteSpace:`pre-wrap`,maxHeight:300,overflow:`auto`},children:JSON.stringify(b,null,2)}))})]})},A$n=({secretId:e,metadata:t={}})=>{Pt();let n=!!t?.oauth2;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(vz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.displayName||e)})]}),t?.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsx)(gu,{gap:`xs`,children:n?(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.secret_config_oauth2()}):(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.secret_config_secret()})}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_secret_id()}),(0,M.jsx)(tf,{children:t?.secretId})]}),n&&(0,M.jsxs)(M.Fragment,{children:[t.oauth2.tokenSecretId&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_token_secret_id()}),(0,M.jsx)(tf,{children:t.oauth2.tokenSecretId})]}),t.oauth2.authorizationUrl&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_authorization_url()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.oauth2.authorizationUrl)})]}),t.oauth2.tokenUrl&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_token_url()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(t.oauth2.tokenUrl)})]}),t.oauth2.scopes?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.secret_config_scopes()}),(0,M.jsx)(gu,{gap:6,children:t.oauth2.scopes.map(e=>(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(e)},e))})]})]}),(0,M.jsx)($Q,{label:X.secret_config_fields(),schemaName:t?.schema}),t?.installed!==!1&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(E$n,{secretId:t?.secretId,schemaName:t?.schema,isOAuth2:n}),n&&(0,M.jsx)(j$n,{credentialName:t.name})]})]})},j$n=({credentialName:e})=>{Pt();let t=W_(),n=Bv(),r=Ri(),{data:i,isLoading:a}=Ji({queryKey:[`credential-status`,e],queryFn:async()=>(await t.invoke(`admin:credentialStatus`,{names:[e]})).statuses?.[e]===!0}),o=Yi({mutationFn:async()=>{let{data:t,error:r}=await n.client.$fetch(`/credential-oauth/link`,{method:`POST`,body:{providerId:e,callbackURL:window.location.href}});if(r)throw Error(r.message??X.oauth_connection_failed_to_connect());if(!t?.url)throw Error(X.oauth_connection_failed_to_connect());window.location.href=t.url}}),s=Yi({mutationFn:async()=>{await t.invoke(`admin:credentialDelete`,{name:e})},onSuccess:()=>{r.invalidateQueries({queryKey:[`credential-status`,e]})}});return(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.oauth_connection_title()}),(0,M.jsxs)($m,{gap:`sm`,children:[a?(0,M.jsx)(fu,{size:`sm`}):i?(0,M.jsx)(sH,{type:`label`,color:`green`,children:X.oauth_connection_connected()}):(0,M.jsx)(sH,{type:`label`,color:`gray`,children:X.oauth_connection_not_connected()}),o.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.oauth_connection_failed_to_connect()}),s.isError&&(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:X.oauth_connection_failed_to_disconnect()}),(0,M.jsx)(gu,{gap:`xs`,children:i?(0,M.jsx)(qv,{variant:`light`,color:`red`,size:`sm`,leftSection:(0,M.jsx)(ZIt,{size:14}),loading:s.isPending,onClick:()=>s.mutate(),children:X.oauth_connection_disconnect()}):(0,M.jsx)(qv,{variant:`light`,color:`green`,size:`sm`,leftSection:(0,M.jsx)(Cz,{size:14}),disabled:!n?.user,loading:o.isPending,onClick:()=>o.mutate(),children:X.oauth_connection_connect()})})]})]})},M$n=({variableId:e,metadata:t={}})=>(Pt(),(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(RIt,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:V(t?.displayName||e)})]}),t?.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsx)(gu,{gap:`xs`,children:(0,M.jsx)(sH,{type:`label`,color:`teal`,children:X.variable_config_variable()})}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:X.variable_config_variable_id()}),(0,M.jsx)(tf,{children:t?.variableId})]}),(0,M.jsx)($Q,{label:X.variable_config_fields(),schemaName:t?.schema}),t?.installed!==!1&&(0,M.jsx)(k$n,{variableId:t?.variableId,schemaName:t?.schema})]})),N$n=({userId:e,metadata:t})=>{let n=W_(),r=Ri(),i=t?.credentialsMeta??[],a=t?.credentials??{},o=i.filter(e=>a[e.name]),s=i.filter(e=>!a[e.name]),c=Yi({mutationFn:async t=>{await n.invoke(`admin:credentialDelete`,{name:t,userId:e})},onSuccess:()=>{r.invalidateQueries({queryKey:[`credential-list-users`]})}});return(0,M.jsxs)($m,{gap:`md`,pt:`md`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:o.length>0?`teal`:`gray`,children:V(`${o.length} of ${i.length} credentials connected`)}),o.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:`xs`,children:V(`Connected`)}),(0,M.jsx)($m,{gap:`xs`,children:o.map(e=>(0,M.jsxs)(gu,{justify:`space-between`,p:`xs`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,children:[e.isOAuth2?(0,M.jsx)(Sz,{size:14,color:`var(--mantine-color-dimmed)`}):(0,M.jsx)(vz,{size:14,color:`var(--mantine-color-dimmed)`}),(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.displayName)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e.isOAuth2?`violet`:`blue`,children:V(e.isOAuth2?`OAuth2`:`API Key`)})]})]}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`subtle`,color:`red`,leftSection:(0,M.jsx)($z,{size:12}),onClick:()=>c.mutate(e.name),loading:c.isPending,children:V(`Revoke`)})]},e.name))})]}),s.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:`xs`,c:`dimmed`,children:V(`Not Connected`)}),(0,M.jsx)($m,{gap:`xs`,children:s.map(e=>(0,M.jsx)(gu,{justify:`space-between`,p:`xs`,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`,opacity:.7},children:(0,M.jsxs)(gu,{gap:`xs`,children:[e.isOAuth2?(0,M.jsx)(Sz,{size:14,color:`var(--mantine-color-dimmed)`}):(0,M.jsx)(vz,{size:14,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.displayName)})]})},e.name))})]}),o.length===0&&!s.some(e=>e.isOAuth2)&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`This user hasn't connected any credentials yet.`)}),c.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),children:V(String(c.error?.message||`An error occurred`))})]})},P$n=({field:e,value:t,onChange:n})=>{let{data:r}=C$n(e.key,!0),i=!!r?.exists;return(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.label)}),i&&(0,M.jsx)(B,{size:`xs`,c:`teal`,children:V(`set`)})]}),(0,M.jsx)(hye,{placeholder:V(i?`Leave blank to keep existing`:`Enter ${e.label}`),value:t,onChange:e=>n(e.currentTarget.value),ff:`monospace`,fz:13}),(0,M.jsx)(B,{fz:11,c:`dimmed`,mt:2,ff:`monospace`,children:V(e.key)})]})},F$n=({metadata:e})=>{let t=e,n=`/api/auth/callback/${t.callbackId}`,r=Oa({timeout:1500}),[i,a]=(0,A.useState)(()=>Object.fromEntries(t.fields.map(e=>[e.key,``]))),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(!1),u=w$n(),d=async()=>{let e=t.fields.filter(e=>(i[e.key]??``).trim());if(e.length){s(!0);try{await Promise.all(e.map(e=>u.mutateAsync({secretId:e.key,value:(i[e.key]??``).trim()}))),a(Object.fromEntries(t.fields.map(e=>[e.key,``])))}finally{s(!1)}}},f=async()=>{l(!0);try{await Promise.all(t.fields.map(e=>u.mutateAsync({secretId:e.key,value:null})))}finally{l(!1)}},p=t.fields.some(e=>(i[e.key]??``).trim());return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(vz,{size:20}),(0,M.jsx)(B,{size:`lg`,fw:600,children:V(t.name)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:4,children:V(t.description)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Callback URL`)}),(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fz:13,ff:`monospace`,style:{flex:1,wordBreak:`break-all`},children:V(n)}),(0,M.jsx)(Qv,{label:V(r.copied?`Copied!`:`Copy`),children:(0,M.jsx)(Xv,{variant:`subtle`,color:r.copied?`teal`:`gray`,size:`sm`,onClick:()=>r.copy(n),children:r.copied?(0,M.jsx)($R,{size:13}):(0,M.jsx)(ZFt,{size:13})})})]}),(0,M.jsx)(B,{fz:12,c:`dimmed`,mt:4,children:V(`Register this as the authorized redirect URI in your OAuth app.`)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Setup`)}),(0,M.jsx)(Jv,{href:t.setupUrl,target:`_blank`,fz:13,children:(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(dz,{size:13}),V(t.setupLabel)]})})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Secrets`)}),(0,M.jsx)($m,{gap:`sm`,children:t.fields.map(e=>(0,M.jsx)(P$n,{field:e,value:i[e.key]??``,onChange:t=>a(n=>({...n,[e.key]:t}))},e.key))})]}),u.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,children:V(`Failed to save secrets.`)}),(0,M.jsxs)(gu,{justify:`space-between`,children:[(0,M.jsx)(qv,{variant:`subtle`,color:`red`,size:`xs`,leftSection:(0,M.jsx)($z,{size:13}),loading:c,onClick:f,children:V(`Remove`)}),(0,M.jsx)(qv,{size:`sm`,disabled:!p,loading:o,onClick:d,children:V(`Save secrets`)})]})]})},I$n={public:`teal`,private:`orange`,pii:`violet`,secret:`red`},L$n={public:(0,M.jsx)(_z,{size:12}),private:(0,M.jsx)(Kz,{size:12}),pii:(0,M.jsx)(nB,{size:12}),secret:(0,M.jsx)(Dz,{size:12})},R$n=({metadata:e={}})=>{let{tableName:t,columnName:n,type:r,nullable:i,isPrimaryKey:a,foreignKey:o,enumType:s,classification:c,description:l}=e,u=c??`private`;return(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(N,{children:[(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[a&&(0,M.jsx)(yz,{size:16}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,fw:600,children:n==null?null:V(n)})]}),t&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,mt:2,children:V(t)})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Yv,{color:I$n[u],variant:`light`,leftSection:L$n[u],children:V(u)}),a&&(0,M.jsx)(Yv,{color:`blue`,variant:`light`,leftSection:(0,M.jsx)(yz,{size:10}),children:V(`Primary Key`)}),i===!1&&(0,M.jsx)(Yv,{color:`gray`,variant:`light`,children:V(`NOT NULL`)})]}),l&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Description`)}),(0,M.jsx)(B,{size:`sm`,children:V(l)})]}),(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`SQL Type`)}),(0,M.jsx)(tf,{children:V(s??r??`—`)})]}),o&&(0,M.jsxs)(N,{children:[(0,M.jsx)(QQ,{children:V(`Foreign Key`)}),(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(Cz,{size:12}),(0,M.jsx)(tf,{children:V(`${o.table}.${o.column}`)})]})]})]})},z$n=({templateName:e,metadata:t})=>{let n=Y4t(e,(0,A.useMemo)(()=>{let e=t?.locales?Object.keys(t.locales):void 0;return t?.defaultLocale||e?.[0]||void 0},[t]),{},!!e);return(0,M.jsxs)(N,{children:[n.isLoading?(0,M.jsx)(XB,{py:`xl`}):null,n.error?(0,M.jsx)(ty,{color:`red`,icon:(0,M.jsx)(tB,{size:16}),children:V(n.error instanceof Error?n.error.message:`Failed to render email preview`)}):null,n.data?.subject?(0,M.jsx)(B,{fw:600,mb:`sm`,children:V(n.data.subject)}):null,n.data?.html?(0,M.jsx)(N,{style:{border:`1px solid var(--app-border)`,borderRadius:8,overflow:`hidden`,background:`#fff`},children:(0,M.jsx)(`iframe`,{title:e,srcDoc:n.data.html,style:{width:`100%`,height:560,border:`none`}})}):null]})},B$n={ladderStep:`_ladderStep_rez6e_1`,ladderActor:`_ladderActor_rez6e_15`,ladderSentence:`_ladderSentence_rez6e_16`},V$n={given:()=>X.scenarios_phase_given(),when:()=>X.scenarios_phase_when(),then:()=>X.scenarios_phase_then()},H$n=({step:e,continuation:t,actorName:n,onOpenPersona:r,onSelectStep:i})=>{let a=V$n[e.phase]?.(),o=e.actor;return(0,M.jsxs)(gu,{gap:`sm`,align:`flex-start`,wrap:`nowrap`,"data-testid":`ladder-step-${e.id}`,onClick:()=>i?.(e.id,e.repeat?`fanout`:`scenarioStep`,e.repeat?{stepName:e.id}:{stepName:e.sentence,phase:e.phase,actor:o,actorName:n}),className:B$n.ladderStep,style:{paddingLeft:8+e.depth*24},children:[(0,M.jsx)(N,{style:{width:52,flexShrink:0,textAlign:`right`},children:a&&!t&&!e.repeat&&(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,style:{lineHeight:1.6},children:V(a)})}),e.repeat?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,style:{lineHeight:1.6},children:(0,M.jsx)(`span`,{className:B$n.ladderSentence,children:X.scenarios_repeat({item:e.repeat.itemVar,source:e.repeat.sourceVar})})}):(0,M.jsxs)(B,{size:`sm`,style:{lineHeight:1.6},children:[o?(0,M.jsx)(Jv,{component:`span`,fw:600,"data-testid":`ladder-actor`,"data-persona-key":o,className:B$n.ladderActor,onClick:e=>{e.stopPropagation(),r?.(o)},style:{cursor:r?`pointer`:`default`,marginRight:6},children:V(n??o)}):null,(0,M.jsx)(`span`,{className:B$n.ladderSentence,children:V(e.sentence)})]})]})},U$n=({steps:e,actorNames:t,onOpenPersona:n,onSelectStep:r})=>e.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.scenarios_no_steps()}):(0,M.jsx)($m,{gap:6,children:e.map((i,a)=>(0,M.jsx)(H$n,{step:i,continuation:e[a-1]?.phase===i.phase,actorName:i.actor?t?.get(i.actor):void 0,onOpenPersona:n,onSelectStep:r},i.id))}),W$n=e=>typeof e==`string`?e:JSON.stringify(e),G$n=({rows:e})=>{let t=(0,A.useMemo)(()=>{let t=new Set;for(let n of e)if(n&&typeof n==`object`&&!Array.isArray(n))for(let e of Object.keys(n))t.add(e);return[...t]},[e]);return e.length===0?null:(0,M.jsxs)(N,{"data-testid":`scenario-examples`,children:[(0,M.jsx)(B,{size:`xs`,fw:600,c:`dimmed`,mb:6,children:X.scenarios_examples()}),(0,M.jsx)(N,{style:{overflowX:`auto`},children:(0,M.jsxs)(mh,{withTableBorder:!0,withColumnBorders:!0,fz:`xs`,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsx)(mh.Tr,{children:t.map(e=>(0,M.jsx)(mh.Th,{children:V(e)},e))})}),(0,M.jsx)(mh.Tbody,{children:e.map((e,n)=>(0,M.jsx)(mh.Tr,{children:t.map(t=>(0,M.jsx)(mh.Td,{ff:`monospace`,children:V(W$n(e?.[t]))},t))},n))})]})})]})},K$n=({reason:e})=>(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,align:`center`,"data-testid":`scenario-skip`,children:[(0,M.jsx)(YFt,{size:13,strokeWidth:2}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenarios_skipped_reason({reason:e})})]}),q$n=e=>{if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`},J$n={completed:{tone:`green`,label:`passed`,Icon:$R},failed:{tone:`red`,label:`failed`,Icon:uB},cancelled:{tone:`red`,label:`cancelled`,Icon:uB},running:{tone:`blue`,label:`running`,Icon:pIt},suspended:{tone:`yellow`,label:`suspended`,Icon:OIt}},Y$n=({scenarioName:e})=>{let{data:t}=iXt(e),n=(0,A.useMemo)(()=>[...t??[]].sort((e,t)=>new Date(t.startedAt??0).getTime()-new Date(e.startedAt??0).getTime())[0],[t]),r=n?J$n[n.status]:void 0;return r?(0,M.jsx)(Yv,{variant:`light`,color:r.tone,radius:`xl`,tt:`none`,fw:500,leftSection:(0,M.jsx)(r.Icon,{size:11,strokeWidth:2.4}),"data-testid":`scenario-status-${e}`,children:V(`${r.label} · ${q$n(n?.startedAt)}`)}):null},X$n=({cast:e,onOpenPersona:t})=>e.length===0?null:(0,M.jsxs)(gu,{gap:10,wrap:`wrap`,"data-testid":`scenario-cast`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.scenarios_cast()}),e.map(e=>(0,M.jsx)(ru,{"data-testid":`scenario-cast-member`,"data-persona-key":e.key,onClick:t?()=>t(e.key):void 0,style:{cursor:t?`pointer`:`default`},children:(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(dZn,{personaKey:e.key,jobTitle:e.jobTitle,name:e.name,size:20}),(0,M.jsx)(B,{size:`sm`,children:V(e.name)}),e.jobTitle&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.jobTitle)})]})},e.key))]}),Z$n=({scenario:e,examples:t,cast:n,workflow:r,onOpenPersona:i,onSelectStep:a})=>(0,M.jsx)(N,{component:`section`,"data-testid":`scenario-section-${e.name}`,style:{borderLeft:`2px solid var(--mantine-color-default-border)`,paddingLeft:20,opacity:e.skip?.6:1},children:(0,M.jsxs)($m,{gap:10,children:[(0,M.jsxs)(gu,{gap:`sm`,align:`baseline`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fw:600,size:`md`,style:{flex:1,minWidth:0},children:V(e.title)}),(0,M.jsx)(Y$n,{scenarioName:e.name})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(e.description)}),e.tags.length>0&&(0,M.jsx)(gu,{gap:6,children:e.tags.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`default`,radius:`sm`,tt:`none`,children:V(e)},e))}),e.skip&&(0,M.jsx)(K$n,{reason:e.skip}),(0,M.jsx)(X$n,{cast:n,onOpenPersona:i}),(0,M.jsx)(U$n,{steps:e.steps,actorNames:new Map(n.map(e=>[e.key,e.name])),onOpenPersona:i,onSelectStep:(e,t,n)=>a?.(r,e,t,n)}),t.length>0&&(0,M.jsx)(G$n,{rows:t})]})}),Q$n=[`given`,`when`,`then`,`step`],$$n=e=>e.source===`scenario`||e.scenario===!0,e1n=e=>e.flow===`branch`&&(!e.branches||e.branches.length===0)&&!e.rpcName,t1n=e=>(/^step_\d+$/.test(e.nodeId)?e.rpcName??e.nodeId:e.nodeId).replace(/\$\{([^}]*)\}/g,`{$1}`),n1n=e=>{let t=e.scenarioStepPhase;return t&&Q$n.includes(t)?t:`step`},r1n=e=>{let t=e.nodes;if(!t)return[];let n=[],r=new Set,i=(e,t)=>{if(!(e1n(e)||e.flow===`return`)){if(e.flow===`fanout`){n.push({id:e.nodeId,phase:`step`,sentence:``,depth:t,repeat:{itemVar:e.itemVar??`item`,sourceVar:e.sourceVar??``}}),a(e.childEntry,t+1);return}n.push({id:e.nodeId,phase:n1n(e),sentence:t1n(e),depth:t,...e.actor?{actor:e.actor}:{}})}},a=(e,n)=>{let a=e;for(;a&&t[a]&&!r.has(a);){r.add(a);let e=t[a];i(e,n),a=e.next}},o=e.entryNodeIds&&e.entryNodeIds.length>0?e.entryNodeIds:[Object.keys(t)[0]];for(let e of o)a(e,0);for(let e of Object.keys(t))r.has(e)||a(e,0);return n},i1n=(e,t)=>({name:e.name,title:e.title??GB(e.name),...e.description||e.summary?{description:e.description??e.summary}:{},tags:[...new Set([...t,...e.tags??[]])].sort(),actors:e.actors??[],...e.skip?{skip:e.skip}:{},steps:r1n(e)});function a1n({workflows:e,features:t}){let n=new Map;for(let t of Object.values(e??{})){let e=t;$$n(e)&&((e.tags??[]).includes(`test-fixture`)||n.set(e.name,e))}let r=new Set,i=[];for(let e of Object.values(t??{})){let t=e,a=t.tags??[],o=[];for(let e of t.entries??[]){let t=n.get(e.scenario);t&&(r.add(e.scenario),o.push({scenario:i1n(t,a),...e.data===void 0?{}:{data:e.data}}))}i.push({id:t.id,name:t.name,...t.description?{description:t.description}:{},tags:a,hasBefore:t.hasBefore??!1,hasAfter:t.hasAfter??!1,unresolvedEntries:t.unresolvedEntries??0,scenarios:o})}i.sort((e,t)=>e.name.localeCompare(t.name));let a=[...n.values()].filter(e=>!r.has(e.name)).map(e=>i1n(e,[])).sort((e,t)=>e.title.localeCompare(t.title)),o=new Set;for(let e of i){for(let t of e.tags)o.add(t);for(let t of e.scenarios)for(let e of t.scenario.tags)o.add(e)}for(let e of a)for(let t of e.tags)o.add(t);return{features:i,ungrouped:a,tags:[...o].sort()}}var o1n=(e,t)=>e.title.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||(e.description?.toLowerCase().includes(t)??!1)||e.steps.some(e=>e.sentence.toLowerCase().includes(t)),s1n=(e,t)=>t.length===0||t.some(t=>e.tags.includes(t));function c1n(e,{query:t,tags:n=[]}){let r=t?.trim().toLowerCase()??``;if(!r&&n.length===0)return e;let i=[];for(let t of e){let e=!r||t.name.toLowerCase().includes(r)||(t.description?.toLowerCase().includes(r)??!1),a=t.scenarios.filter(t=>(e||o1n(t.scenario,r))&&s1n(t.scenario,n));a.length>0&&i.push({...t,scenarios:a})}return i}var l1n=`__ungrouped`;function u1n(e){let{meta:t,loading:n}=MB(),r=(0,A.useMemo)(()=>a1n({workflows:t.workflows,features:t.features}),[t]),i=(0,A.useMemo)(()=>r.ungrouped.length===0?r.features:[...r.features,{id:l1n,name:e,tags:[],hasBefore:!1,hasAfter:!1,unresolvedEntries:0,scenarios:r.ungrouped.map(e=>({scenario:e}))}],[r,e]);return{...r,allFeatures:i,loading:n}}var d1n=[`get`,`list`,`lookup`,`search`,`find`,`read`,`fetch`,`check`,`count`,`query`,`preview`,`describe`,`has`,`is`],f1n=e=>{if(typeof e.readonly==`boolean`)return e.readonly;let t=e.name;return d1n.some(e=>t.startsWith(e)&&(t.length===e.length||t[e.length]===t[e.length]?.toUpperCase()))},p1n=e=>{let t=e.filter(e=>typeof e.readonly==`boolean`).length;return{total:e.length,annotated:t,inferred:e.length-t}},m1n=(e,{readOnly:t=!1,allowApprovalRequired:n=!1,scopes:r}={})=>e.filter(e=>e.approvalRequired&&!n||t&&!f1n(e)?!1:r&&e.scopes?.length?O_e(e.scopes,r):!0),h1n=(e,t)=>e.filter(e=>!!e.scopes?.length&&!O_e(e.scopes,t)),X3={instructions:[`Work towards your current goal the way a competent user would.`,`Read an endpoint schema before you use it, and prefer values that a real person would plausibly enter.`].join(` `),moves:{continue:88,suspend:6,resume:5,abandon:1},temperature:.7,repeatRate:0,reReadRate:.1,emptyMemory:!1,readOnly:!1,invertedOracle:!1},g1n={realistic:X3,careless:{...X3,instructions:[`You are busy and easily distracted. You act on what you half-remember rather than checking first,`,`you sometimes submit the same thing twice because you are not sure it went through,`,`and you are comfortable entering odd-but-legal values — a very long name, an empty optional field, an emoji, a huge page size.`,`Stay within what the schema allows; you are careless, not malicious.`].join(` `),moves:{continue:62,suspend:18,resume:12,abandon:8},temperature:1,repeatRate:.18,reReadRate:.03},newcomer:{...X3,instructions:[`This is your first time in this product. You know nothing about it and hold no ids or names in your head.`,`Find your way from whatever lists or lookups exist, and say plainly when there is no path forward from where you are.`].join(` `),moves:{continue:80,suspend:8,resume:6,abandon:6},temperature:.8,reReadRate:.4,emptyMemory:!0},stale:{...X3,instructions:[`You used this product a while ago and are working from notes you took then.`,`Reach for the ids and names you already have rather than looking them up again — some of them are out of date, and finding out how the product tells you so is the point.`].join(` `),moves:{continue:84,suspend:8,resume:6,abandon:2},temperature:.7,reReadRate:.02},auditor:{...X3,instructions:[`You are reconciling, not achieving. Pick one fact the product reports — a total, a count, a balance, a status —`,`and read it from every endpoint that claims to know it, then say whether they agree.`,`Report a disagreement precisely: which endpoints, which field, which two values.`,`Never change anything.`].join(` `),moves:{continue:92,suspend:4,resume:4,abandon:0},temperature:.4,reReadRate:.5,readOnly:!0},adversarial:{...X3,instructions:[`You are testing whether this product actually enforces the boundaries it claims.`,`Try reaching resources that should not be yours, reusing identifiers you were given for one purpose in another,`,`and calling endpoints that look like they belong to someone with more authority than you.`,`You are probing authorization, not causing damage: never destroy data you can reach, and prefer reads over writes when either would prove the point.`].join(` `),moves:{continue:70,suspend:10,resume:8,abandon:12},temperature:.9,reReadRate:.2,invertedOracle:!0},accountable:{...X3,instructions:[`You are doing this job for real. What you change stays changed, and every call you make is recorded against your name.`,`Work towards your goals as the person you are, using the tools you have been given.`,`Where a specialist agent exists for part of the work, hand that part to it rather than reconstructing it yourself.`,`When you are unsure whether something is wanted, stop and say what you would do and why, rather than doing it and reporting afterwards.`,`Never guess at an identifier, an amount or a recipient — read it from the product first.`].join(` `),moves:{continue:94,suspend:5,resume:1,abandon:0},temperature:.4,repeatRate:0,reReadRate:.25}},_1n=(e=`realistic`,t)=>{let n=g1n[e]??g1n.realistic;if(!t)return n;let{moves:r,instructions:i,...a}=t,o={...n,...Object.fromEntries(Object.entries(a).filter(([,e])=>e!==void 0)),moves:{...n.moves,...Object.fromEntries(Object.entries(r??{}).filter(([,e])=>e!==void 0))}};return i&&(o.instructions=`${n.instructions} ${i}`),o},v1n=(e,t)=>e.filter(e=>!e.personas?.length||e.personas.includes(t)),y1n=(e,t)=>{let n=t&&typeof t==`object`?t:{};return e.replace(/\{(\w+)\}/g,(e,t)=>b1n(n[t])).replace(/\s+/g,` `).trim()},b1n=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),x1n=({phase:e,description:t,template:n,input:r,actor:i,keywordWidth:a})=>{let o=S1n(e),s=[i?`the ${i}`:``,n?y1n(n,r):t].filter(Boolean).join(` `);return a===void 0?[o,s].filter(Boolean).join(` `):`${o.padEnd(a)} ${s}`},S1n=e=>e.charAt(0).toUpperCase()+e.slice(1),C1n=e=>{let t=e?.properties;if(!t||typeof t!=`object`)return;let n=Object.keys(t);return n.length?n:void 0},w1n=(e,t={})=>{let n=[];for(let[r,i]of Object.entries(e??{})){if(i.scenario||i.scenarioStep||i.scenarioStepKind||i.expose!==!0||i.scopes?.some(e=>e.split(`:`)[0]===`virtualUser`))continue;let e=i.inputSchemaName?t[i.inputSchemaName]:void 0,a=i.outputSchemaName?t[i.outputSchemaName]:void 0;n.push({name:r,description:i.description??i.summary??i.title,readonly:i.readonly,approvalRequired:i.approvalRequired,scopes:i.scopes?.length?[...new Set(i.scopes)]:void 0,tags:i.tags?.length?i.tags:void 0,inputKeys:C1n(e),outputKeys:C1n(a),inputSchema:e,outputSchema:a})}return n},T1n=e=>e.steps?.length?e.steps.flatMap(e=>e.type===`scenarioStep`?[{stepFunc:e.stepFunc,phase:e.phase,actor:e.actor}]:[]):Object.values(e.nodes??{}).flatMap(e=>{let{rpcName:t,scenarioStepPhase:n,actor:r}=e??{};return!t||!n?[]:[{stepFunc:t,phase:n,actor:r}]}),E1n=(e,t={})=>{let n=[];for(let[r,i]of Object.entries(e??{})){if(!i.scenario&&i.source!==`scenario`||i.skip)continue;let e=[];for(let n of T1n(i)){let r=t[n.stepFunc],i=r?.scenarioStepTemplate,a=r?.description??r?.summary;!i&&!a||e.push(x1n({phase:n.phase,description:i??a??``,actor:n.actor}))}n.push({id:r,title:i.title??i.summary??r,description:i.description,steps:e.length?e:void 0,tags:i.tags?.length?i.tags:void 0,personas:i.actors?.length?i.actors:void 0})}return n},D1n=(e,t)=>{let n=new Set;for(let r of e)for(let e of t?.[r]?.scopes??[])n.add(e);return[...n].sort()},O1n=({personas:e,systemRoles:t,functions:n,workflows:r,features:i})=>{let a=w1n(n),{total:o,inferred:s}=p1n(a),c=E1n(r,n),l={};for(let e of Object.values(i??{}))for(let t of e.entries??[])l[t.scenario]=e.name;return Object.values(e??{}).filter(e=>e.runnable!==!1).map(e=>{let n=e.disposition??`realistic`,r=_1n(n,e.tuning),i=e.roles??[],u=D1n(i,t),d=r.invertedOracle,f=m1n(a,{readOnly:r.readOnly,allowApprovalRequired:!1,scopes:r.invertedOracle?void 0:u}),p=v1n(c,e.id),m={},h=new Map,g=0;for(let e of p){let t=l[e.id];t&&(m[e.id]=t,h.set(t,(h.get(t)??0)+1)),g+=e.steps?.length??0}return{id:e.id,name:e.name,description:e.description,persona:{key:e.id,name:e.name,email:e.email,jobTitle:e.jobTitle,personality:e.personality},disposition:n,profile:r,tunedDials:Object.keys(e.tuning??{}),goals:e.goals??[],intents:p,featureByIntent:m,wants:{intents:p.length,features:h.size,steps:g,byFeature:[...h].map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count||e.name.localeCompare(t.name))},tags:e.tags??[],roles:i,scopes:u,environments:e.environments,fixtures:e.fixtures,reach:{total:o,offered:f.length,mutations:f.filter(e=>!f1n(e)).length,offeredNames:f.map(e=>e.name),mutationNames:f.filter(e=>!f1n(e)).map(e=>e.name),inferredNames:a.filter(e=>typeof e.readonly!=`boolean`).map(e=>e.name),withheldByApproval:a.filter(e=>e.approvalRequired).length,withheldByScopes:r.invertedOracle?0:h1n(a,u).length,withheldByReadOnly:r.readOnly?a.filter(e=>!f1n(e)).length:0,inferred:s,showsEverything:d}}}).sort((e,t)=>e.name.localeCompare(t.name))},k1n=e=>{for(let t of[e.rpcName,e.name,e.agent,e.kind])if(typeof t==`string`&&t.length>0)return t;return`step`},A1n=e=>(e.source===`scenario`||e.scenario===!0)&&!(e.tags??[]).includes(`test-fixture`),j1n=(e,t)=>e.map(e=>{let n=t?.[e];return{name:e,displayName:n?.displayName,description:n?.description,scopes:[...n?.scopes??[]].sort(),declared:n!==void 0}}),M1n=e=>{let t=[];e.account&&t.push({name:`primary`,...e.account});for(let[n,r]of Object.entries(e.linkedAccounts??{}))t.push({name:n,...r});return t},N1n=({personas:e,systemRoles:t,workflows:n,features:r})=>{let i=new Map;for(let e of Object.values(r??{}))for(let t of e.entries??[])i.set(t.scenario,e.name);let a=new Map,o=new Map;for(let e of Object.values(n??{})){if(!A1n(e))continue;let t=i.get(e.name);for(let n of e.actors??[]){let r=a.get(n)??[];if(r.push({name:e.name,displayName:e.title??GB(e.name)}),a.set(n,r),t){let e=o.get(n)??new Set;e.add(t),o.set(n,e)}}}return Object.entries(e??{}).map(([e,n])=>{let r=n.roles??[];return{key:e,name:n.name??e,email:n.email,jobTitle:n.jobTitle,description:n.description,avatarUrl:n.avatarUrl,personality:n.personality,goals:n.goals??[],tags:n.tags??[],roles:j1n(r,t),scopes:D1n(r,t),disposition:n.disposition,environments:n.environments,runnable:n.runnable!==!1,accounts:M1n(n),fixtures:n.fixtures??[],sourceFile:n.sourceFile,scenarios:a.get(e)??[],features:[...o.get(e)??[]].sort()}}).sort((e,t)=>e.name.localeCompare(t.name))},P1n=e=>(e.source===`scenario`||e.scenario===!0)&&!(e.tags??[]).includes(`test-fixture`),F1n=(e,t)=>{if(Array.isArray(e)){for(let n of e)F1n(n,t);return t}if(!e||typeof e!=`object`)return t;let n=e;n.type===`scenarioStep`&&typeof n.stepFunc==`string`&&t.add(n.stepFunc);for(let e of Object.values(n))e&&typeof e==`object`&&F1n(e,t);return t},I1n=e=>({name:e.name,displayName:GB(e.name),sourceFile:e.sourceFile}),L1n=({functions:e,workflows:t,features:n})=>{let r=new Map;for(let e of Object.values(n??{}))for(let t of e.entries??[])r.set(t.scenario,e.name);let i=[],a=new Map;for(let t of e??[])if(t?.name){if(t.scenarioStepKind===`platform`)i.push(I1n(t));else if(t.scenarioStepKind===`addon`&&t.scenarioStepAddon){let e=a.get(t.scenarioStepAddon)??[];e.push(I1n(t)),a.set(t.scenarioStepAddon,e)}}let o=new Map;for(let e of Object.values(t??{}))P1n(e)&&o.set(e.name,F1n(e.steps,new Set));let s=e=>{let n=new Set(e.map(e=>e.name)),i=[],a=new Set;for(let e of Object.values(t??{})){if(!P1n(e))continue;let t=o.get(e.name);if(![...n].some(e=>t?.has(e)))continue;i.push({name:e.name,displayName:e.title??GB(e.name)});let s=r.get(e.name);s&&a.add(s)}return i.sort((e,t)=>e.name.localeCompare(t.name)),{scenarios:i,features:[...a].sort()}};return[{kind:`platform`,key:`platform`,name:`platform`,steps:i,...s(i)},...[...a.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({kind:`addon`,key:`addon:${e}`,name:e,addon:e,steps:t,...s(t)}))]};function R1n(){let{meta:e,loading:t}=MB();return{personas:(0,A.useMemo)(()=>N1n({personas:e.personas??{},systemRoles:e.systemRoles??{},workflows:e.workflows??{},features:e.features??{}}),[e.personas,e.systemRoles,e.workflows,e.features]),loading:t}}function z1n(){let{meta:e,loading:t}=MB();return{subjects:(0,A.useMemo)(()=>L1n({functions:e.functions??[],workflows:e.workflows??{},features:e.features??{}}),[e.functions,e.workflows,e.features]),loading:t}}var B1n=({scenarioName:e})=>{let{allFeatures:t}=u1n(X.scenarios_ungrouped()),{personas:n}=R1n(),{meta:r}=MB(),{openWorkflowStep:i,openPersona:a}=qB(),o=(0,A.useMemo)(()=>{for(let n of t){let t=n.scenarios.filter(t=>t.scenario.name===e),r=t[0];if(r)return{scenario:r.scenario,examples:t.map(e=>e.data).filter(e=>e!==void 0)}}},[t,e]),s=(0,A.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]);return o?(0,M.jsx)(Z$n,{scenario:o.scenario,examples:o.examples,cast:o.scenario.actors.map(e=>s.get(e)).filter(e=>!!e),workflow:r.workflows?.[e],onOpenPersona:e=>{let t=s.get(e);t&&a(e,t.name,{persona:t})},onSelectStep:(e,t,n,r)=>i(t,n,{...r,stepType:n})}):(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.scenarios_no_steps()})})},V1n=({rpcName:e})=>{let{data:t}=qQ(e),n=t?.sourceFile,r=t?.exportedName,{data:i,isLoading:a}=ZXn(n,r,!0);return!n||!r?null:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:X.scenarios_step_code()}),(0,M.jsx)(Qd,{withBorder:!0,radius:`md`,padding:0,"data-testid":`scenario-step-code`,children:i?.body?(0,M.jsx)(YQ,{code:i.body,language:`typescript`}):(0,M.jsx)(B,{size:`xs`,c:`dimmed`,p:`md`,children:a?X.scenarios_step_code_loading():X.scenarios_step_code_unavailable()})})]})},H1n={given:()=>X.scenarios_phase_given(),when:()=>X.scenarios_phase_when(),then:()=>X.scenarios_phase_then(),step:()=>X.scenarios_phase_step()},U1n=({stepId:e,metadata:t})=>{let n=pY(e),{openFunction:r}=qB(),i=t.phase??`step`,a=n?.rpcName;return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:8,px:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(sH,{type:`label`,color:`gray`,"data-testid":`scenario-step-phase`,children:V(H1n[i]?.()??i)}),t.actor&&(0,M.jsx)(sH,{type:`label`,color:`cyan`,"data-testid":`scenario-step-actor`,children:V(t.actorName??t.actor)})]}),(0,M.jsx)(B,{size:`md`,fw:600,style:{lineHeight:1.35},children:V(t.stepName??n?.stepName??e)})]}),(0,M.jsxs)(uy,{defaultValue:`details`,children:[(0,M.jsxs)(uy.List,{px:`md`,children:[(0,M.jsx)(uy.Tab,{value:`details`,"data-testid":`scenario-step-tab-details`,children:X.scenarios_step_tab_details()}),a&&(0,M.jsx)(uy.Tab,{value:`code`,"data-testid":`scenario-step-tab-code`,children:X.scenarios_step_tab_code()})]}),(0,M.jsx)(uy.Panel,{value:`details`,pt:`md`,px:`md`,children:(0,M.jsxs)($m,{gap:`xl`,children:[a&&(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(ZQ,{children:X.scenarios_step_definition()}),(0,M.jsx)(Jv,{component:`span`,ff:`monospace`,size:`sm`,"data-testid":`scenario-step-rpc`,onClick:()=>r(a),style:{cursor:`pointer`},children:V(a)})]}),(0,M.jsx)(sQn,{stepId:e}),(0,M.jsx)(lQn,{stepId:e}),(0,M.jsx)(oQn,{stepId:e})]})}),a&&(0,M.jsx)(uy.Panel,{value:`code`,pt:`md`,px:`md`,children:(0,M.jsx)(V1n,{rpcName:a})})]})]})},W1n=({stepId:e,metadata:t})=>{let n=lY(),r=pY(e),i=!!n?.selectedRunId,a=t?.stepType,o=a===`trigger`,s=[`branch`,`switch`,`parallel`,`fanout`,`filter`,`arrayPredicate`].includes(a)?(0,M.jsx)(uQn,{stepId:e}):a===`return`?(0,M.jsx)(lQn,{stepId:e,showOutputs:!0}):(0,M.jsxs)($m,{gap:`xl`,children:[!o&&(0,M.jsx)(sQn,{stepId:e}),(0,M.jsx)(lQn,{stepId:e}),(0,M.jsx)(oQn,{stepId:e})]}),c=(0,M.jsxs)($m,{gap:`xl`,children:[(0,M.jsx)(gQn,{stepId:e}),(0,M.jsx)(_Qn,{stepId:e}),(0,M.jsx)(vQn,{stepId:e}),(0,M.jsx)(yQn,{stepId:e}),(0,M.jsx)(bQn,{stepId:e})]});return(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)(gu,{gap:`xs`,px:`md`,children:[(0,M.jsx)(hz,{size:20}),(0,M.jsx)(B,{size:`lg`,ff:`monospace`,children:r?.stepName||r?.nodeId||e}),(0,M.jsx)(sH,{type:`label`,color:`gray`,children:a})]}),(0,M.jsx)(N,{px:`md`,pt:`md`,children:i?c:s})]})},G1n=({workflowId:e})=>{Pt();let t=lY(),n=lXt(),{schema:r,isLoading:i}=W3t(),a=(0,A.useCallback)(r=>{n.mutate({workflowName:e,input:r},{onSuccess:e=>{e?.runId&&t?.setSelectedRunId(e.runId),t?.setIsCreatingRun(!1)}})},[e,n,t]);return(0,M.jsxs)($m,{gap:`md`,children:[i?(0,M.jsx)(fu,{size:`sm`}):r?(0,M.jsx)(aY,{schema:r,onSubmit:a,submitting:n.isPending}):(0,M.jsx)(gu,{justify:`flex-end`,children:(0,M.jsx)(qv,{leftSection:(0,M.jsx)(Nz,{size:16}),onClick:()=>a({}),loading:n.isPending,children:X.workflows_run()})}),n.isError&&(0,M.jsx)(B,{size:`sm`,c:`red`,children:typeof n.error?.message==`string`?n.error.message:JSON.stringify(n.error?.message??n.error,null,2)||`Failed to start workflow`})]})},K1n=({workflowId:e,renderGraph:t=!0})=>{let n=lY(),{workflow:r}=dY(),i=!!n?.selectedRunId,a=!!n?.isCreatingRun,o=!!r?.nodes&&Object.keys(r.nodes).length>0,s=t&&o;return(r?.source===`scenario`||r?.scenario===!0)&&!i&&!a?(0,M.jsx)(N,{px:`md`,py:`sm`,children:(0,M.jsx)(B1n,{scenarioName:e})}):(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(EQn,{workflowId:e})}),(0,M.jsx)(N,{px:`md`,pt:`md`,children:a?(0,M.jsx)(G1n,{workflowId:e}):i?(0,M.jsx)(FQn,{workflowId:e}):(0,M.jsxs)($m,{gap:`xl`,children:[s&&(0,M.jsx)(U3t,{}),(0,M.jsx)(OQn,{workflowId:e}),!s&&(0,M.jsx)(kQn,{workflowId:e}),(0,M.jsx)(jQn,{workflowId:e})]})})]})},q1n=(e,t={})=>{switch(e.type){case`function`:return[{id:`configuration`,title:`Function`,selfContained:!0,content:(0,M.jsx)(aZn,{functionName:e.id,metadata:e.metadata})}];case`workflowStep`:return[{id:`step`,title:`Step`,content:e.metadata?.stepType===`scenarioStep`?(0,M.jsx)(U1n,{stepId:e.id,metadata:e.metadata}):(0,M.jsx)(W1n,{stepId:e.id,metadata:e.metadata})}];case`workflow`:return[{id:`workflow`,title:`Workflow`,content:(0,M.jsx)(K1n,{workflowId:e.id,renderGraph:t.workflowGraph!==!1})}];case`http`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(RQn,{wireId:e.id,metadata:e.metadata})})}];case`channel`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(zQn,{wireId:e.id,metadata:e.metadata})})}];case`rpc`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(BQn,{wireId:e.id,metadata:e.metadata})})}];case`scheduler`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(VQn,{wireId:e.id,metadata:e.metadata})})}];case`queue`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(HQn,{wireId:e.id,metadata:e.metadata})})}];case`cli`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(GQn,{wireId:e.id,metadata:e.metadata})})}];case`mcp`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(KQn,{wireId:e.id,metadata:e.metadata})})}];case`gateway`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(YQn,{wireId:e.id,metadata:e.metadata})})}];case`trigger`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(qQn,{wireId:e.id,metadata:e.metadata})})}];case`triggerSource`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(JQn,{wireId:e.id,metadata:e.metadata})})}];case`middleware`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(QQn,{middlewareId:e.id,metadata:e.metadata})})}];case`permission`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(e$n,{permissionId:e.id,metadata:e.metadata})})}];case`agent`:return[{id:`agent`,title:`Agent`,content:(0,M.jsx)(S$n,{wireId:e.id,metadata:e.metadata})}];case`secret`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(A$n,{secretId:e.id,metadata:e.metadata})})}];case`variable`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(M$n,{variableId:e.id,metadata:e.metadata})})}];case`credentialUser`:return[{id:`configuration`,title:`Credentials`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(N$n,{userId:e.id,metadata:e.metadata})})}];case`authProvider`:return[{id:`configuration`,title:`Configuration`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(F$n,{metadata:e.metadata})})}];case`dbColumn`:return[{id:`configuration`,title:`Column`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(R$n,{metadata:e.metadata})})}];case`email`:return[{id:`preview`,title:`Email`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(z$n,{templateName:e.id,metadata:e.metadata})})}];case`persona`:return e.metadata?.subject?[{id:`subject`,title:`Subject`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(gZn,{subject:e.metadata.subject,onOpenScenario:e.metadata.onOpenScenario},e.metadata.subject.key)})}]:e.metadata?.persona?[{id:`persona`,title:`Persona`,content:(0,M.jsx)(N,{px:`md`,children:(0,M.jsx)(mZn,{persona:e.metadata.persona,onOpenScenario:e.metadata.onOpenScenario,onOpenVirtualUser:e.metadata.onOpenVirtualUser},e.metadata.persona.key)})}]:[];case`addon`:return e.metadata?.addon?[{id:`addon`,title:e.metadata.kind===`api`?`API`:`Addon`,content:(0,M.jsx)(jZn,{addon:e.metadata.addon,kind:e.metadata.kind,editable:!!e.metadata.editable,onInstalled:e.metadata.onInstalled})}]:[];case`workflowCanvas`:return e.metadata?.data?[{id:`workflowCanvas`,title:`Add`,content:rQn(e.metadata.data)}]:[];case`surfaceSymbol`:return e.metadata?.symbol?[{id:`surfaceSymbol`,title:`Export`,content:(0,M.jsx)(BZn,{symbol:e.metadata.symbol,specifier:e.metadata.specifier,usage:e.metadata.usage})}]:[];default:return[]}},J1n=({emptyMessage:e,workflowGraph:t=!0,hideClose:n=!1,hideRootTitle:r=!1})=>{let{panels:i,activePanel:a,closePanel:o,goBack:s}=qB();Pt();let c=a?i.get(a):null,l=(0,A.useMemo)(()=>c?q1n(c.data,{workflowGraph:t}):[],[c,t]);return!c||l.length===0?(0,M.jsx)($d,{h:`100%`,p:`xl`,children:(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:e??X.panel_select_item()})}):(0,M.jsx)(m6t,{hideRootTitle:r,hideClose:n,children:(0,M.jsx)(N,{style:{height:`100%`},children:l.map(e=>e.selfContained?(0,M.jsx)(N,{style:{height:`100%`},children:e.content},e.id):(0,M.jsxs)(h6t,{children:[(0,M.jsx)(g6t,{title:V(c.title),onBack:c.history.length>0?s:void 0,onClose:()=>o(a)}),(0,M.jsx)(_6t,{children:(0,M.jsx)($m,{gap:`xl`,px:`md`,children:e.content})})]},e.id))})})};function Y1n({opened:e,side:t,width:n,role:r,testId:i,children:a}){let o=(0,A.useId)(),{reserve:s}=JLt(),c=sV();(0,A.useEffect)(()=>(s(o,e&&!c?n-8:null,t),()=>s(o,null,t)),[o,e,n,c,t,s]);let[l,u]=(0,A.useState)(null);if((0,A.useEffect)(()=>{u(document.querySelector(`#console-content-portal-root`))},[e]),!e)return null;let d=(0,M.jsx)(`div`,{className:PB.chromePanel,style:{position:`absolute`,top:0,bottom:0,[t===`end`?`insetInlineEnd`:`insetInlineStart`]:0,width:c?`100%`:n,maxWidth:`100%`,display:`flex`,pointerEvents:`auto`,zIndex:3},role:r,"data-testid":i,children:(0,M.jsx)(ZB.Provider,{value:`self`,children:a})});return l?(0,lr.createPortal)(d,l):null}var X1n={sm:380,md:440,lg:620,xl:780};function Z1n({opened:e,onClose:t,title:n,width:r=`md`,footer:i,bodyStyle:a,testId:o,children:s}){let c=typeof r==`number`?r:X1n[r];return(0,M.jsx)(Y1n,{opened:e,side:`end`,width:c,role:`dialog`,testId:o,children:(0,M.jsxs)(uV,{noPadding:!0,fullWidth:!0,style:{display:`flex`,flexDirection:`column`},header:(0,M.jsx)(fV,{panel:!0,title:n,actions:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`input-sm`,"aria-label":X.common_close(),onClick:t,"data-testid":o?`${o}-close`:void 0,children:(0,M.jsx)(uB,{size:16})})}),children:[(0,M.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`,padding:`16px var(--panel-gutter)`,...a},children:s}),i&&(0,M.jsx)(`div`,{style:{flexShrink:0,borderTop:`0.5px solid var(--app-border)`,padding:`12px var(--panel-gutter)`,display:`flex`,justifyContent:`flex-end`,gap:8,background:`var(--app-panel-bg-soft)`},children:i})]})})}function Q1n({emptyMessage:e,workflowGraph:t}){let{panels:n,activePanel:r,closePanel:i}=qB(),a=r?n.get(r):null;return(0,M.jsx)(Z1n,{opened:!!a,onClose:()=>r&&i(r),title:a?V(a.title):void 0,width:450,bodyStyle:{padding:0},testId:`console-detail-panel`,children:(0,M.jsx)(J1n,{emptyMessage:e,workflowGraph:t,hideRootTitle:!0,hideClose:!0})})}function $1n({width:e,testId:t,children:n}){return(0,M.jsx)(Y1n,{opened:!0,side:`start`,width:e,testId:t,children:(0,M.jsx)(dV,{children:n})})}function e0n({width:e,testId:t,children:n}){return(0,M.jsx)(Y1n,{opened:!0,side:`end`,width:e,testId:t,children:(0,M.jsx)(dV,{children:n})})}function t0n({children:e,label:t}){let{host:n,setHasOptions:r,setLabel:i,setOpen:a}=LB();return(0,A.useEffect)(()=>(r(!0),i(t??null),()=>{r(!1),i(null),a(!1)}),[t,r,i,a]),n?(0,lr.createPortal)(e,n):null}var n0n=450,r0n=16,Z3=({children:e,header:t,leftDrawer:n,leftDrawerWidth:r=260,leftDrawerLabel:i,sidePanel:a,sidePanelWidth:o=320,sidePanelLabel:s,emptyPanelMessage:c,hidePanel:l=!1})=>{let{panels:u}=qB(),d=QB()===`self`,f=sV(),p=d&&!l&&u.size>0,m=!d&&!f,h=!!n&&f,g=!!a&&f&&!h;return(0,M.jsxs)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0},children:[t,(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,gap:`var(--mantine-spacing-md)`,padding:`var(--console-body-gutter)`},children:(0,M.jsxs)(N,{style:{flex:1,display:`flex`,minHeight:0},children:[h&&(0,M.jsx)(t0n,{label:i,children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`left-drawer-sheet`,children:n})}),g&&(0,M.jsx)(t0n,{label:s,children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`side-panel-sheet`,children:a})}),n&&!h&&(m?(0,M.jsx)($1n,{width:r+r0n,testId:`console-list-panel`,children:n}):(0,M.jsx)(N,{style:{width:r,flexShrink:0,overflow:`hidden`,marginRight:`var(--mantine-spacing-md)`},children:n})),(0,M.jsx)(N,{className:`${PB.flexColumn} ${PB.overflowAuto}`,style:{flex:1,minWidth:0},children:e}),a&&!g&&(d||f?(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{width:o,flexShrink:0,display:`flex`,flexDirection:`column`,marginLeft:`var(--mantine-spacing-md)`},children:a}):(0,M.jsx)(e0n,{width:o+r0n,testId:`console-side-panel`,children:a})),!d&&!l&&(0,M.jsx)(Q1n,{emptyMessage:c}),d&&!l&&(0,M.jsx)(N,{style:{width:p?n0n:0,marginLeft:p?`var(--mantine-spacing-md)`:0,flexShrink:0,overflow:`hidden`,transition:`width 180ms ease, margin-left 180ms ease`},children:(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{width:n0n,height:`100%`},children:(0,M.jsx)(J1n,{emptyMessage:c})})})]})})]})},i0n=({checked:e,onChange:t,tooltip:n})=>{Pt();let r=n??X.common_show_pikku_internals();return(0,M.jsx)(Qv,{label:r,withArrow:!0,children:(0,M.jsx)(qv,{variant:e?`light`:`default`,color:e?`blue`:`gray`,size:`xs`,px:`xs`,onClick:()=>t(!e),"aria-pressed":e,children:(0,M.jsx)(`img`,{src:VB,alt:`Pikku`,style:{width:14,height:14,objectFit:`contain`,opacity:e?1:.5}})})})},Q3=({icon:e,hero:t,title:n,description:r,code:i,docsHref:a})=>(Pt(),(0,M.jsxs)($m,{align:`center`,justify:`center`,gap:`md`,className:PB.emptyState,py:`xl`,style:{minHeight:`60vh`},children:[t??(e?(0,M.jsx)(e,{size:48,strokeWidth:1}):null),(0,M.jsx)(B,{size:`xl`,fw:600,children:n}),r&&(0,M.jsx)(B,{c:`dimmed`,ta:`center`,maw:500,children:r}),i&&(0,M.jsx)(h$n,{cmd:i}),(0,M.jsx)(Jv,{href:a,target:`_blank`,rel:`noopener noreferrer`,size:`sm`,c:`dimmed`,children:X.empty_state_how_it_works()})]})),$3=({icon:e,title:t,docsHref:n,data:r,columns:i,getKey:a,getRowProps:o,onRowClick:s,searchPlaceholder:c,searchFilter:l,externalSearch:u,emptyMessage:d,emptyTitle:f,emptyDescription:p,emptyHero:m,loading:h=!1,description:g,headerRight:_,onLoadMore:v,hasMore:y=!1,loadingMore:b=!1})=>{let x=oV(),S=$B();Pt();let[C,w]=(0,A.useState)(``),T=(0,A.useRef)(null),E=(0,A.useRef)(v);E.current=v&&y&&!b?v:void 0,(0,A.useEffect)(()=>{let e=T.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&E.current?.()});return t.observe(e),()=>t.disconnect()},[y]);let D=u===void 0?C:u,O=(0,A.useMemo)(()=>{if(!D||!l)return r;let e=D.toLowerCase();return r.filter(t=>l(t,e))},[r,D,l]);return x?(0,M.jsx)(M.Fragment,{children:x}):h?(0,M.jsx)(N,{className:S,children:(0,M.jsx)(XB,{})}):r.length===0?(0,M.jsx)(Q3,{icon:e,hero:m,title:f??V(`No ${t} found`),description:p??V(`No ${t.toLowerCase()} exist yet.`),docsHref:n}):(0,M.jsx)(N,{className:S,children:(0,M.jsxs)($m,{gap:0,className:PB.flexColumn,children:[g&&(0,M.jsx)(N,{px:`md`,py:`xs`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:g}),(l&&u===void 0||_)&&(0,M.jsxs)(N,{px:`md`,style:{height:42,borderBottom:`1px solid var(--mantine-color-default-border)`,display:`flex`,gap:8,alignItems:`center`},children:[l&&u===void 0&&(0,M.jsx)(ry,{placeholder:c??X.common_search(),leftSection:(0,M.jsx)(Vz,{size:14}),value:C,onChange:e=>w(e.target.value),className:PB.flexGrow,size:`sm`}),_]}),O.length===0?(0,M.jsx)(N,{p:`xl`,children:(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:D?V(`No results found for "${D}"`):d??X.common_no_items()})}):(0,M.jsxs)(N,{style:{flex:1,minHeight:0,overflow:`auto`},children:[(0,M.jsxs)(mh,{"data-testid":`data-table`,highlightOnHover:!!s,withRowBorders:!0,className:PB.tableLastRowBorder,children:[(0,M.jsx)(mh.Thead,{style:{position:`sticky`,top:0,zIndex:1,background:`var(--mantine-color-body)`},children:(0,M.jsx)(mh.Tr,{style:{height:42},children:i.map((e,t)=>(0,M.jsx)(mh.Th,{pl:t===0?`md`:void 0,pr:t===i.length-1?`md`:void 0,fw:600,fz:`sm`,style:{...e.width?{width:e.width}:{},...e.maxWidth?{maxWidth:e.maxWidth}:{}},children:e.header},e.key))})}),(0,M.jsx)(mh.Tbody,{children:O.map((e,t)=>(0,M.jsx)(mh.Tr,{...o?.(e,t),"data-interactive":s?`true`:`false`,className:s?PB.clickableText:void 0,style:{height:`3.75rem`},tabIndex:s?0:void 0,onClick:s?()=>s(e):void 0,onKeyDown:s?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),s(e))}:void 0,children:i.map((n,r)=>(0,M.jsx)(mh.Td,{pl:r===0?`md`:void 0,pr:r===i.length-1?`md`:void 0,style:{...n.width?{width:n.width}:{},...n.maxWidth?{maxWidth:n.maxWidth}:{}},children:n.render(e,t)},n.key))},a(e,t)))})]}),y&&(0,M.jsx)(N,{ref:T,py:`md`,children:b&&(0,M.jsx)($d,{children:(0,M.jsx)(fu,{size:`sm`})})})]})]})})};function a0n(e){return Array.isArray(e.tags)&&e.tags.includes(`pikku`)}var o0n=()=>{let e=W_();return Ji({queryKey:[`functions-meta`],queryFn:()=>e.invoke(`console:getFunctionsMeta`)})},s0n=(e,t,n)=>(0,A.useMemo)(()=>{let r=e??[],i=t.toLowerCase();return r.filter(e=>{if(!n&&a0n(e))return!1;if(!i)return!0;let t=e.pikkuFuncName||e.pikkuFuncId;return t?.toLowerCase().includes(i)||e.displayName?.toLowerCase().includes(i)||GB(t).toLowerCase().includes(i)||e.summary?.toLowerCase().includes(i)||e.description?.toLowerCase().includes(i)})},[e,t,n]),c0n={covered:`green`,partial:`yellow`,uncovered:`red`,unknown:`gray`},l0n=({searchQuery:e=``,showPikkuFunctions:t=!1,extraColumns:n=[],testsByFunction:r,emptyHero:i})=>{Pt();let{openFunction:a}=qB(),{functionUsedBy:o}=MB(),{data:s}=o0n(),c=s0n(s,e,t),l=(0,A.useMemo)(()=>!!r||c.some(e=>!!e.tests),[c,r]),u=(0,A.useMemo)(()=>[{key:`name`,header:`NAME`,maxWidth:350,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=e.displayName||GB(t),r=e.summary||e.description;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{fw:500,truncate:!0,children:V(n)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,ff:`monospace`,children:V(`${t}${r?` · ${r}`:``}`)})]})}},{key:`version`,header:`VERSION`,width:80,render:e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(e.version==null?`—`:`v${e.version}`)})},{key:`type`,header:`TYPE`,width:140,render:e=>{let t=eH[e.funcWrapper];return t?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,children:V(t.label)}):null}},{key:`auth`,header:`AUTH`,width:60,render:e=>{let t=e.sessionless!==!0;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:t?`#86efac`:`var(--app-text-dim)`,children:V(t?`Auth`:`—`)})}},{key:`wirings`,header:`WIRINGS`,width:80,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=o.get(t),r=n?n.transports.length+n.jobs.length:0;return(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:r>0?`var(--app-violet)`:`var(--app-text-dim)`,children:V(r>0?String(r):`—`)})}},...l?[{key:`tests`,header:`TESTS`,width:180,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=e.tests??r?.[t];if(!n)return(0,M.jsx)(ru,{onClick:n=>{n.stopPropagation(),a(t,e)},children:(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(`unknown`)})});let i=n.status,o=n.status===`covered`?`${n.coveredLines}/${n.totalLines}`:n.status===`unknown`?`unknown`:`${Math.round(n.ratio*100)}%`;return(0,M.jsx)(ru,{onClick:r=>{r.stopPropagation(),a(t,{...e,tests:n})},style:{display:`block`,textAlign:`left`},children:(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:c0n[i],children:V(o)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(n.scenarios.length===0?`No tests`:`${n.scenarios.length} linked`)})]})})}}]:[],...n.map(e=>({key:e.label,header:e.label.toUpperCase(),width:e.width,align:e.align,render:t=>e.render(t.pikkuFuncName||t.pikkuFuncId)}))],[o,n,l,a,r]);return(0,M.jsx)($3,{title:`Functions`,icon:Zz,docsHref:`https://pikku.dev/docs/core-features/functions`,data:c,columns:u,getKey:e=>e.pikkuFuncName||e.pikkuFuncId,onRowClick:e=>a(e.pikkuFuncName||e.pikkuFuncId,e),emptyMessage:X.functions_empty_message(),emptyHero:i})},u0n=({extraColumns:e,headerRight:t,testsByFunction:n,emptyHero:r})=>{Pt();let[i]=Gv(),[a,o]=(0,A.useState)(()=>i.get(`search`)??``),[s,c]=(0,A.useState)(!1),{data:l,isLoading:u}=o0n();return(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.functions_title(),description:X.functions_description(),docsHref:`https://pikku.dev/docs/core-features/functions`,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{placeholder:X.functions_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:a,onChange:e=>o(e.target.value),size:`xs`,style:{width:240}}),(0,M.jsx)(i0n,{checked:s,onChange:c,tooltip:X.common_show_pikku_internals()}),t]})}),emptyPanelMessage:X.functions_select_function(),hidePanel:u||!l||l.length===0,children:(0,M.jsx)(l0n,{searchQuery:a,showPikkuFunctions:s,extraColumns:e,testsByFunction:n,emptyHero:r})})})},d0n=(0,A.createContext)(null);function f0n(){let e=(0,A.useContext)(d0n);if(!e)throw Error(`useConsoleNavigator must be used within a navigator provider`);return e}var p0n=({children:e,basePath:t=`/workflow`})=>{let[n]=Gv(),r=z();return(0,M.jsx)(d0n.Provider,{value:{workflowId:n.get(`id`),scenarioId:n.get(`id`),navigateTo:(e,n)=>{r(n?`${t}?id=${encodeURIComponent(n)}`:t)}},children:e})},m0n=(0,A.createContext)(void 0),h0n=()=>{let e=(0,A.useContext)(m0n);if(!e)throw Error(`useCanvasDrawerContext must be used within CanvasDrawerProvider`);return e},g0n=({children:e})=>{let[t,n]=(0,A.useState)(null),r=(0,A.useCallback)(e=>{n({id:`add-step`,data:{type:`addStep`,metadata:e}})},[]),i=(0,A.useCallback)(()=>{n(null)},[]);return(0,M.jsx)(m0n.Provider,{value:{canvasDrawer:t,openAddStep:r,closeCanvasDrawer:i},children:e})},_0n=(0,A.createContext)(void 0),v0n=()=>{let e=(0,A.useContext)(_0n);if(!e)throw Error(`useWorkflowSurface must be used within a WorkflowSurface`);return e},y0n=()=>{let{panels:e,activePanel:t,openWorkflow:n}=qB(),{setFocusedNode:r}=dY(),{workflow:i,workflowName:a}=v0n(),o=(0,A.useRef)(null);return(0,A.useEffect)(()=>{!i||o.current===a||(o.current=a,n(a,i))},[i,a,n]),(0,A.useEffect)(()=>{if(!t){r(null);return}let n=e.get(t);n?.data.type===`workflowStep`?r(n.data.id):r(null)},[t,e,r]),null},b0n=({children:e,workflowId:t=null,workflow:n,readOnly:r=!1})=>{let i=W_(),{data:a,isLoading:o}=Ji({queryKey:oY.meta(t),queryFn:()=>i.invoke(`console:getWorkflowMetaById`,{workflowId:t}),enabled:!!t&&!n}),s=n??a,c=(0,A.useMemo)(()=>{let e=s?.source||`graph`,i=s?.name||s?.wireId||`Workflow`;return{workflow:s,workflowName:i,runsWorkflowName:t??i,workflowId:t,loading:!n&&!!t&&o,readOnly:r,isScenario:e===`scenario`,isComplex:e===`complex`}},[s,t,n,o,r]),l=(0,M.jsx)(mY,{workflow:s,children:(0,M.jsxs)(g0n,{children:[(0,M.jsx)(y0n,{}),e]})});return(0,M.jsx)(_0n.Provider,{value:c,children:(0,M.jsx)(ZV,{children:r?l:(0,M.jsx)(uY,{workflowName:c.runsWorkflowName,currentGraphHash:s?.graphHash,workflowNodes:s?.nodes,children:l})})})},x0n=(0,A.createContext)(null),S0n=({collapse:e,children:t})=>(0,M.jsx)(x0n.Provider,{value:e,children:t}),C0n=()=>(0,A.useContext)(x0n),w0n=240,T0n=40,E0n=16,D0n=({children:e,header:t,lead:n,filters:r,runsPanel:i,runsPanelVisible:a=!0,emptyPanelMessage:o,showTabs:s=!1,hidePanel:c=!1,collapseWhenEmpty:l=!1,storageKey:u=`three-pane`,listLabel:d,detailLabel:f})=>{Pt();let{panels:p}=qB(),m=QB()===`self`,h=sV(),g=!s,[_,v]=Wa({key:`${u}-left-collapsed`,defaultValue:!1}),[y,b]=Wa({key:`${u}-right-collapsed`,defaultValue:!1}),x=!!i&&a,S=m&&!c&&(p.size!==0||g&&!l),C=x&&h,w=x&&(h||!_),T=S&&!y,E=!m&&!h,D=C?i:w?(0,M.jsx)(S0n,{collapse:()=>v(!0),children:i}):(0,M.jsx)(Qv,{label:X.pane_show_list(),position:`right`,children:(0,M.jsxs)(ru,{className:E?PB.paneStubFlush:PB.paneStub,"aria-label":X.pane_show_list(),onClick:()=>v(!1),children:[(0,M.jsx)(CIt,{size:16}),(0,M.jsx)(`span`,{className:PB.paneStubLabel,children:d??X.pane_list()})]})}),O=!!n||!!r,k=!m&&(!x||E||C)?PB.listSurfaceFlush:PB.listSurfaceCard;return(0,M.jsxs)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0},children:[t,(0,M.jsxs)(N,{style:{display:`flex`,flex:1,minHeight:0,gap:`var(--mantine-spacing-md)`,padding:`var(--console-body-gutter)`},children:[C&&(0,M.jsx)(t0n,{label:d??X.pane_list(),children:(0,M.jsx)(N,{className:PB.flexColumn,style:{flex:1,minHeight:0,width:`100%`},"data-testid":`pane-list-sheet`,children:D})}),x&&!C&&(E?(0,M.jsx)($1n,{width:(w?w0n:T0n)+E0n,testId:`console-list-panel`,children:D}):(0,M.jsx)(N,{className:PB.paneCollapseTransition,style:{width:w?w0n:T0n,minWidth:w?w0n:T0n,flexShrink:0,overflow:`hidden`},children:w?(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{height:`100%`},children:D}):D})),(0,M.jsxs)(N,{className:k,style:{flex:1,minWidth:0,overflow:`hidden`},children:[O&&(0,M.jsx)(N,{px:8,style:{height:42,flexShrink:0,display:`flex`,alignItems:`center`,gap:8,borderBottom:`1px solid var(--app-border)`},children:(0,M.jsxs)(N,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:8},children:[n,r]})}),(0,M.jsx)(N,{style:{flex:1,minHeight:0,overflow:`hidden`},children:e})]}),!m&&!c&&(0,M.jsx)(Q1n,{emptyMessage:o,workflowGraph:!1}),S&&(0,M.jsx)(N,{className:PB.paneCollapseTransition,style:{width:T?`min(520px, 42vw)`:40,minWidth:T?void 0:40,flexShrink:0,overflow:`hidden`},children:T?(0,M.jsxs)(N,{className:PB.listSurfaceCard,style:{height:`100%`,width:`min(520px, 42vw)`,position:`relative`},children:[(0,M.jsx)(J1n,{emptyMessage:o,workflowGraph:!1,hideClose:!0,hideRootTitle:!!n}),(0,M.jsx)(Qv,{label:X.pane_hide_details(),children:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`sm`,"aria-label":X.pane_hide_details(),onClick:()=>b(!0),style:{position:`absolute`,top:20,right:10,zIndex:2},children:(0,M.jsx)(TIt,{size:16})})})]}):(0,M.jsx)(Qv,{label:X.pane_show_details(),position:`left`,children:(0,M.jsxs)(ru,{className:PB.paneStub,"aria-label":X.pane_show_details(),onClick:()=>b(!1),children:[(0,M.jsx)(EIt,{size:16}),(0,M.jsx)(`span`,{className:PB.paneStubLabel,children:f??X.pane_details()})]})})})]})]})},O0n=({workflowName:e,items:t,onItemSelect:n})=>{let[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),s=(0,A.useMemo)(()=>{if(!a)return t;let e=a.toLowerCase();return t.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[t,a]),c=e=>{i(!1),o(``),n(e)};return(0,M.jsxs)(uu,{opened:r,onChange:i,width:280,position:`bottom-start`,shadow:`md`,zIndex:1e4,children:[(0,M.jsx)(uu.Target,{children:(0,M.jsxs)(ru,{px:`sm`,py:6,style:{display:`flex`,alignItems:`center`,gap:6,maxWidth:320,border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`,background:`var(--mantine-color-default)`},onClick:()=>i(e=>!e),children:[(0,M.jsx)(B,{size:`sm`,fw:600,style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e)}),(0,M.jsx)(ez,{size:14,style:{flexShrink:0}})]})}),(0,M.jsxs)(uu.Dropdown,{p:0,children:[(0,M.jsx)(ry,{placeholder:V(`Search workflows...`),leftSection:(0,M.jsx)(Vz,{size:14}),value:a,onChange:e=>o(e.currentTarget.value),styles:{input:{border:`none`,borderBottom:`1px solid var(--mantine-color-default-border)`,borderRadius:0}}}),(0,M.jsx)(nu.Autosize,{mah:300,children:(0,M.jsxs)($m,{gap:0,children:[s.map(t=>(0,M.jsxs)(ru,{onClick:()=>c(t.name),py:`xs`,px:`sm`,style:{display:`flex`,alignItems:`center`,gap:8,backgroundColor:t.name===e?`var(--mantine-color-green-light)`:void 0},children:[t.name===e?(0,M.jsx)($R,{size:14,color:`var(--mantine-color-green-6)`}):(0,M.jsx)(N,{w:14}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(B,{size:`sm`,fw:t.name===e?500:400,children:V(t.name)}),t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(t.description)})]})]},t.name)),s.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,py:`md`,children:V(`No results`)})]})})]})]})},k0n={running:`blue`,completed:`green`,failed:`red`,cancelled:`gray`},A0n=e=>new Date(e).toLocaleString(),j0n=({run:e,selected:t,onSelect:n,onDelete:r})=>{let[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(!1);return Pt(),i?(0,M.jsxs)(N,{py:`sm`,px:`sm`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`,backgroundColor:`var(--mantine-color-red-light)`},children:[(0,M.jsx)(B,{size:`sm`,fw:500,mb:6,children:X.runs_panel_delete_confirm()}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`compact-xs`,color:`red`,leftSection:(0,M.jsx)($R,{size:12}),onClick:()=>{r?.(e.id),a(!1)},children:X.common_yes()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`default`,leftSection:(0,M.jsx)(uB,{size:12}),onClick:()=>a(!1),children:X.common_no()})]})]}):(0,M.jsx)(N,{py:`sm`,px:`sm`,"data-testid":`run-row`,"data-run-id":e.id,"data-run-status":e.status,"data-selected":t?`true`:`false`,style:{backgroundColor:t?`var(--mantine-color-blue-light)`:void 0,borderBottom:`1px solid var(--mantine-color-default-border)`,cursor:`pointer`},onClick:n,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:(0,M.jsxs)(gu,{gap:`xs`,justify:`space-between`,wrap:`nowrap`,align:`center`,children:[(0,M.jsxs)($m,{gap:2,style:{minWidth:0,flex:1},children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,style:{minWidth:0},children:[(0,M.jsx)(Yv,{size:`sm`,color:k0n[e.status]||`gray`,variant:`filled`,circle:!0,children:V(` `)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,truncate:!0,children:V(e.label||e.id.slice(0,8))}),e.wire&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(e.wire.type)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,pl:18,children:V(A0n(e.createdAt))})]}),r&&o&&(0,M.jsx)(Xv,{variant:`subtle`,size:`md`,color:`gray`,onClick:e=>{e.stopPropagation(),a(!0)},title:X.runs_panel_delete_run(),children:(0,M.jsx)(uB,{size:16})})]})})},M0n=({runs:e,selectedId:t,onSelect:n,onClear:r,loading:i=!1,statusFilters:a=[`running`,`completed`,`failed`],title:o,emptyMessage:s,onNewClick:c,newButtonLabel:l,onStatusFilterChange:u,onDelete:d,header:f})=>{let[p,m]=(0,A.useState)(`all`),h=C0n(),g=sV(),_=RB();Pt(),zB(g&&c?{label:l??X.runs_panel_new(),icon:(0,M.jsx)(Fz,{size:16}),onSelect:c}:null);let v=(0,A.useMemo)(()=>p===`all`?e:e.filter(e=>e.status===p),[e,p]),y=e=>{m(e),u?.(e===`all`?void 0:e)},b=[{value:`all`,label:X.runs_panel_filter_all()},...a.map(e=>({value:e,label:V(e.charAt(0).toUpperCase()+e.slice(1))}))];return(0,M.jsxs)($m,{gap:0,className:PB.flexColumn,children:[f,a.length>0&&(0,M.jsx)(N,{px:`sm`,py:`xs`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsx)(zm,{size:`sm`,fullWidth:!0,value:p,onChange:y,data:b})}),(0,M.jsxs)(nu,{className:PB.flexGrow,children:[(c&&!g||h)&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,pl:6,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:[h&&(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`sm`,"aria-label":X.pane_hide_list(),onClick:h,children:(0,M.jsx)(SIt,{size:16})}),c&&!g&&(0,M.jsx)(ru,{py:`sm`,px:`sm`,style:{flex:1,minWidth:0},onClick:c,"data-testid":`runs-panel-new`,children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Fz,{size:16,color:`var(--mantine-color-primary-6)`}),(0,M.jsx)(B,{size:`sm`,fw:500,c:`primary`,children:l??X.runs_panel_new()})]})})]}),i?(0,M.jsx)(N,{p:`md`,ta:`center`,children:(0,M.jsx)(fu,{size:`sm`})}):v.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,py:`md`,children:s??X.runs_panel_empty()}):(0,M.jsx)($m,{gap:0,children:v.map(e=>(0,M.jsx)(j0n,{run:e,selected:e.id===t,onSelect:()=>{n(e.id),_()},onDelete:d},e.id))})]})]})},N0n=()=>{Pt();let{workflowName:e,runsWorkflowName:t}=v0n(),{selectedRunId:n,setSelectedRunId:r,setIsCreatingRun:i}=cY(),{setActivePanel:a}=qB(),o=Y3(),s=W_(),{data:c,isLoading:l,refetch:u}=iXt(t),d=(0,A.useMemo)(()=>!c||!Array.isArray(c)?[]:c,[c]),f=(0,A.useCallback)(async e=>{await s.invoke(`console:deleteWorkflowRun`,{runId:e}),n===e&&r(null),u()},[s,n,r,u]),p=(0,A.useCallback)(()=>{r(null),i(!0),a(`workflow-${e}`)},[r,i,a,e]);return(0,M.jsx)(M0n,{title:`Runs`,runs:d,selectedId:n,onSelect:r,onClear:()=>r(null),loading:l,emptyMessage:X.runs_panel_empty(),statusFilters:[],onNewClick:o?p:void 0,newButtonLabel:o?X.workflow_runs_new():void 0,onDelete:o?f:void 0})},P0n={http:`http`,queue:`queue`,scheduler:`schedule`,trigger:`trigger`,cli:`cli`},F0n={http:e=>`${e.method?.toLowerCase()||`get`}:${e.route||``}`,queue:e=>e.name,schedule:e=>e.cron||e.interval,trigger:e=>e.name,cli:e=>e.command};function I0n(e,t){let n=P0n[t.type];if(!n)return{};if(n===`mcp`||t.type===`mcp`){if(!e.mcp||!t.id)return{mcp:e.mcp};let[n,...r]=t.id.split(`:`),i=r.join(`:`),a={};return e.mcp[n]&&(a[n]=e.mcp[n].filter(e=>(e.name||e.uri)===i)),{mcp:a}}let r=e[n];if(!r)return{};if(!t.id)return{[n]:r};let i=F0n[n];return i?{[n]:r.filter(e=>i(e)===t.id)}:{[n]:r}}var L0n={succeeded:`var(--pikku-status-succeeded, var(--mantine-color-green-5))`,failed:`var(--pikku-status-failed, var(--mantine-color-red-5))`,running:`var(--pikku-status-running, var(--mantine-color-blue-5))`,scheduled:`var(--pikku-status-scheduled, var(--mantine-color-orange-5))`,pending:`var(--pikku-status-pending, var(--mantine-color-gray-4))`,suspended:`var(--pikku-status-suspended, var(--mantine-color-yellow-5))`},R0n=e=>e&&L0n[e]||`var(--mantine-color-gray-3)`,z0n=()=>{let e=lY(),[t,n]=A.useState(!0),r=e?.timeline??[],i=r.length>0,{path:a,lastSeqByStep:o}=(0,A.useMemo)(()=>{if(!i)return{path:[],lastSeqByStep:new Map};let e=new Map;for(let t of r)e.set(t.stepName,t.seq);return{path:mXt(r).path,lastSeqByStep:e}},[r,i]);if(!e||!e.selectedRunId||!i)return null;let s=r.length-1,c=e.timelineSeq===null,l=e.timelineSeq??s,u=pXt(r,l),d=new Map(u.steps.map(e=>[e.stepName,e])),f=r[l],p=f?.stepName,m=a.map(e=>({value:o.get(e)??0})),h=t=>e.setTimelineSeq(t);return(0,M.jsxs)(N,{"data-testid":`workflow-timeline`,style:{flexShrink:0,borderTop:`1px solid var(--mantine-color-default-border)`,background:`var(--mantine-color-body)`},children:[(0,M.jsxs)(gu,{justify:`space-between`,px:`md`,py:6,wrap:`nowrap`,children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(oz,{size:16}),(0,M.jsx)(B,{size:`sm`,fw:600,children:V(`Timeline`)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(c?`Live`:`Step ${l+1} of ${r.length}`)})]}),(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[!c&&(0,M.jsx)(Qv,{label:V(`Follow live`),withinPortal:!0,children:(0,M.jsx)(Xv,{size:`sm`,variant:`subtle`,color:`blue`,onClick:()=>e.setTimelineSeq(null),"aria-label":V(`Follow live`),"data-testid":`timeline-follow-live`,children:(0,M.jsx)(Iz,{size:15})})}),(0,M.jsx)(Xv,{size:`sm`,variant:`subtle`,onClick:()=>n(e=>!e),"aria-label":V(`Toggle timeline`),children:t?(0,M.jsx)(ez,{size:15}):(0,M.jsx)(qFt,{size:15})})]})]}),(0,M.jsx)(rc,{expanded:t,children:(0,M.jsxs)($m,{gap:`xs`,px:`md`,pb:`sm`,children:[(0,M.jsx)(nu,{type:`hover`,scrollbarSize:6,children:(0,M.jsx)(gu,{gap:6,wrap:`nowrap`,py:2,children:a.map(e=>{let t=d.get(e),n=t!==void 0,r=o.get(e)??0;return(0,M.jsxs)(ru,{"data-testid":`timeline-step`,"data-step":e,onClick:()=>h(r),style:{display:`flex`,alignItems:`center`,gap:6,padding:`2px 8px`,borderRadius:6,whiteSpace:`nowrap`,opacity:n?1:.45,border:e===p?`1px solid var(--mantine-color-blue-5)`:`1px solid transparent`,background:e===p?`var(--mantine-color-blue-light)`:`var(--mantine-color-default-hover)`},children:[(0,M.jsx)(N,{style:{width:8,height:8,borderRadius:`50%`,background:R0n(t?.status),flexShrink:0}}),(0,M.jsx)(B,{size:`xs`,children:V(e)})]},e)})})}),(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(Xv,{size:`sm`,variant:`default`,disabled:l<=0,onClick:()=>h(l-1),"aria-label":V(`Previous event`),children:(0,M.jsx)(HIt,{size:14})}),(0,M.jsx)(N,{style:{flex:1},children:(0,M.jsx)(Qm,{min:0,max:s,value:l,marks:m,label:e=>r[e]?.stepName??``,onChange:h,size:`sm`})}),(0,M.jsx)(Xv,{size:`sm`,variant:`default`,disabled:l>=s,onClick:()=>h(l+1),"aria-label":V(`Next event`),children:(0,M.jsx)(UIt,{size:14})})]}),f&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,align:`baseline`,children:[(0,M.jsx)(N,{style:{width:8,height:8,borderRadius:`50%`,background:R0n(p?d.get(p)?.status:void 0),flexShrink:0}}),(0,M.jsx)(B,{size:`sm`,fw:500,children:V(f.stepName)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(f.type)}),f.fromStepName&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(`← ${f.fromStepName}`)})]})]})})]})},B0n=()=>{let{workflow:e,workflowName:t,loading:n,isScenario:r}=v0n(),{setActivePanel:i}=qB(),a=lY(),o=(0,A.useCallback)(()=>{i(`workflow-${t}`)},[i,t]),s=a?.isVersionMismatch&&a?.historicalWorkflow?{...e,...a.historicalWorkflow}:e,c=(0,A.useMemo)(()=>{let e=a?.runData?.wire;return!e||!s?.wires?s:{...s,wires:I0n(s.wires,e)}},[s,a?.runData?.wire]);return n?(0,M.jsx)(XB,{}):e?(0,M.jsxs)(N,{style:{height:`100%`,position:`relative`,display:`flex`,flexDirection:`column`},children:[a?.isVersionMismatch&&(0,M.jsx)(ty,{icon:(0,M.jsx)(MIt,{size:16}),color:`orange`,radius:0,py:`xs`,style:{flexShrink:0},children:(0,M.jsx)(B,{size:`sm`,children:V(`Viewing historical version — workflow definition has changed since this run`)})}),(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:r?(0,M.jsx)(nu,{h:`100%`,type:`auto`,children:(0,M.jsx)(N,{p:`xl`,style:{maxWidth:860,margin:`0 auto`},children:(0,M.jsx)(B1n,{scenarioName:t})})}):(0,M.jsx)(H3t,{workflow:c,onPaneClick:o})}),(0,M.jsx)(z0n,{})]}):(0,M.jsx)(Q3,{icon:hz,title:X.workflows_empty_title(),description:X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/core-features/workflows`})},V0n=`Add a node`,H0n=()=>{let{canvasDrawer:e,closeCanvasDrawer:t}=h0n(),n=JB(),r=QB()===`host`&&!!n,i=(0,A.useMemo)(()=>e?rQn(e.data):null,[e]),a=n?.openPanel,o=n?.panels,s=e?`workflowCanvas-${e.id}`:null;(0,A.useEffect)(()=>{!r||!a||!e||a(`workflowCanvas`,e.id,V0n,{data:e.data})},[r,a,e]);let c=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{if(!r||!s){c.current=!1;return}o?.has(s)?c.current=!0:c.current&&(c.current=!1,t())},[r,s,o,t]),r?null:(0,M.jsxs)(M.Fragment,{children:[e&&(0,M.jsx)(N,{style:{position:`fixed`,top:0,left:0,right:0,bottom:0,zIndex:98},onClick:t}),(0,M.jsx)(ey,{opened:e!==null,onClose:t,position:`right`,size:`md`,withOverlay:!1,withinPortal:!1,closeOnClickOutside:!1,withCloseButton:!1,styles:{inner:{top:`50px`,zIndex:99},content:{height:`100%`},header:{display:`none`},body:{padding:0}},children:i})]})},U0n=({items:e,onItemSelect:t,immersiveDetail:n=!1})=>{let{workflowName:r,isComplex:i}=v0n(),a=lY(),o=i?(0,M.jsx)(Qv,{label:V(`This is a complex workflow. The visual representation may not be accurate.`),multiline:!0,w:260,children:(0,M.jsx)(Yv,{color:`yellow`,variant:`light`,leftSection:(0,M.jsx)(tB,{size:12}),style:{textTransform:`none`},children:V(`Complex`)})}):void 0;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(D0n,{lead:n?void 0:(0,M.jsx)(O0n,{workflowName:r,items:e,onItemSelect:t}),filters:n?void 0:o,storageKey:`workflow`,listLabel:X.pane_runs(),showTabs:n,collapseWhenEmpty:!0,emptyPanelMessage:V(`Select a node to view its details`),runsPanel:a?(0,M.jsx)(N0n,{}):void 0,children:(0,M.jsx)(B0n,{})}),(0,M.jsx)(H0n,{})]})},W0n=({immersiveDetail:e=!1,readOnly:t=!1,entityId:n})=>{let{workflowId:r,navigateTo:i}=f0n();Pt();let a=W_(),o=n??r,{data:s,isLoading:c}=Ji({queryKey:oY.meta(o),queryFn:()=>a.invoke(`console:getWorkflowMetaById`,{workflowId:o}),enabled:!!o}),{meta:l}=MB(),u=(0,A.useMemo)(()=>l.workflows?Object.entries(l.workflows).map(([e,t])=>({name:e,description:t.steps?`${t.steps.length} steps`:void 0})):[],[l.workflows]);return c?(0,M.jsx)(XB,{h:`100vh`}):s?(0,M.jsx)(b0n,{workflowId:o,workflow:s,readOnly:t,children:(0,M.jsx)(U0n,{items:u,onItemSelect:e=>i(`workflows`,e),immersiveDetail:e})}):(0,M.jsx)(Q3,{icon:hz,title:o?V(`Workflow "${o}" not found`):X.workflows_empty_title(),description:o?X.workflows_not_found_description():X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/core-features/workflows`})};function G0n({item:e,onOpen:t,metricSlot:n}){let[r,i]=(0,A.useState)(!1);return Pt(),(0,M.jsxs)(N,{"data-testid":`entity-card-${e.name}`,onClick:()=>t(e.name),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{background:r?`var(--mantine-color-default-hover)`:`var(--app-surface, var(--mantine-color-body))`,border:`1px solid var(--mantine-color-default-border)`,borderRadius:12,cursor:`pointer`,transition:`background 100ms`,padding:`16px 20px`,display:`grid`,gridTemplateColumns:n?`1fr auto`:`1fr`,gap:24,alignItems:`center`},children:[(0,M.jsxs)($m,{gap:4,style:{minWidth:0},children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsxs)($m,{gap:1,style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,fw:600,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e.displayName??GB(e.name))}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e.name)})]}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,style:{flexShrink:0},children:[e.meta?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:11,padding:`2px 8px`,borderRadius:20,background:`var(--mantine-color-default)`,color:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`,whiteSpace:`nowrap`},children:e},e)),e.badges?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:10,fontWeight:600,padding:`2px 7px`,borderRadius:20,letterSpacing:`0.05em`,textTransform:`uppercase`,background:e.tone===`accent`?`var(--mantine-color-blue-light)`:`var(--mantine-color-default)`,color:e.tone===`accent`?`var(--mantine-color-blue-light-color)`:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`},children:e.label},e.label)),e.tags?.map(e=>(0,M.jsx)(N,{component:`span`,style:{fontSize:10,padding:`1px 6px`,borderRadius:4,background:`var(--mantine-color-default)`,color:`var(--mantine-color-dimmed)`,border:`1px solid var(--mantine-color-default-border)`},children:e},e))]})]}),(0,M.jsx)(B,{size:`xs`,c:e.description?`dimmed`:`var(--mantine-color-placeholder)`,lineClamp:2,fs:e.description?void 0:`italic`,children:e.description?V(e.description):X.entity_card_no_description()})]}),n&&(0,M.jsx)(N,{style:{flexShrink:0},children:n(e.name)})]})}var K0n=({items:e,onOpen:t,loading:n=!1,emptyHero:r,emptyTitle:i,emptyDescription:a,docsHref:o=`https://pikku.dev/docs`,icon:s=BFt,metricSlot:c})=>(Pt(),n?(0,M.jsxs)($m,{gap:10,p:`md`,children:[(0,M.jsx)(Gm,{height:78,radius:12}),(0,M.jsx)(Gm,{height:78,radius:12}),(0,M.jsx)(Gm,{height:78,radius:12})]}):e.length===0?(0,M.jsx)(Q3,{icon:s,hero:r,title:i??X.entity_card_list_empty_title(),description:a,docsHref:o}):(0,M.jsx)($m,{gap:10,children:e.map(e=>(0,M.jsx)(G0n,{item:e,onOpen:t,metricSlot:c},e.name))})),q0n=({onOpen:e,searchQuery:t=``,emptyHero:n,metricSlot:r,icon:i=hz})=>{let{meta:a,loading:o}=MB(),s=(0,A.useMemo)(()=>{let e=new Set;for(let t of Object.values(a.workflows??{}))(t.source===`scenario`||t.scenario===!0)&&e.add(t.name);return e},[a.workflows]),c=(0,A.useMemo)(()=>{let e=a.workflows??{};return Object.values(e).map(e=>{let t=e.nodes?Object.keys(e.nodes).length:e.steps?.length??0,n=[];e.source===`scenario`?n.push({label:`Scenario`,tone:`accent`}):e.dsl===!0&&n.push({label:`DSL`,tone:`neutral`});let r=[];return t>0&&r.push(`${t} ${t===1?`step`:`steps`}`),e.actors?.length&&r.push(e.actors.join(`, `)),{name:e.name,badges:n,meta:r,description:e.description??e.summary,tags:e.tags}}).sort((e,t)=>e.name.localeCompare(t.name))},[a.workflows]),l=(0,A.useMemo)(()=>{let e=c.filter(e=>!s.has(e.name)),n=t.toLowerCase();return n?e.filter(e=>e.name.toLowerCase().includes(n)||e.description?.toLowerCase().includes(n)):e},[c,s,t]);return(0,M.jsx)(K0n,{items:l,onOpen:e,loading:o,icon:i,emptyHero:n,emptyTitle:X.workflows_empty_title(),emptyDescription:X.workflows_empty_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,metricSlot:r})},J0n=({onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i=!1,icon:a=hz})=>{Pt();let{workflowId:o,navigateTo:s}=f0n(),[c]=Gv(),[l,u]=(0,A.useState)(()=>c.get(`search`)??``);return!e&&o?(0,M.jsx)(W0n,{immersiveDetail:i}):(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{hidePanel:!0,header:(0,M.jsx)(lV,{title:X.workflows_title(),description:X.workflows_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{placeholder:X.workflows_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:l,onChange:e=>u(e.target.value),size:`xs`,style:{width:240}}),t]})}),children:(0,M.jsx)(q0n,{onOpen:t=>{e?e(t):s(`workflows`,t)},searchQuery:l,icon:a,emptyHero:n,metricSlot:r})})})},Y0n=({onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i=!1,extraColumns:a,icon:o=hz})=>{let s=(0,A.useContext)(d0n),c=(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{h:`100vh`}),children:(0,M.jsx)(J0n,{onOpen:e,headerRight:t,emptyHero:n,metricSlot:r,immersiveDetail:i,icon:o})});return s?c:(0,M.jsx)(p0n,{children:c})},X0n=e=>{let{tabs:t,title:n,description:r,docsHref:i,emptyPanelMessage:a,searchWidth:o=240,searchParamKey:s=`tab`,activeTab:c,onTabChange:l}=e;Pt();let[u,d]=Gv(),[f,p]=(0,A.useState)(()=>u.get(`search`)??``),m=c??u.get(s),h=t.find(e=>e.value===m)??t[0],g=e=>{if(p(``),l){l(e);return}d({[s]:e})},_=(0,M.jsx)(zm,{size:`xs`,value:h.value,onChange:g,data:t.map(({value:e,label:t})=>({value:e,label:t}))}),v;return v=e.controls===`shell`?(0,M.jsx)(lV,{title:n,description:r,docsHref:i,search:h.searchPlaceholder?{placeholder:h.searchPlaceholder,value:f,onChange:p,width:o}:void 0,selection:{ariaLabel:e.tabAriaLabel,value:h.value,onChange:g,options:e.tabs.map(({value:e,label:t})=>({value:e,label:t}))}}):e.controls===`stacked`?(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(lV,{title:n,description:r,docsHref:i}),_]}):(0,M.jsx)(lV,{title:n,description:r,docsHref:i,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[h.searchPlaceholder&&(0,M.jsx)(ry,{placeholder:h.searchPlaceholder,leftSection:(0,M.jsx)(Vz,{size:14}),value:f,onChange:e=>p(e.target.value),size:`xs`,style:{width:o}}),_]})}),(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{header:v,emptyPanelMessage:a,hidePanel:h.hidePanel??!1,children:h.render(f)})})},Z0n=({searchQuery:e,emptyHero:t})=>{let{meta:n}=MB();Pt();let{openHTTPWire:r}=qB(),i=(0,A.useMemo)(()=>n.httpMeta?[...n.httpMeta].sort((e,t)=>e.route.localeCompare(t.route)):[],[n.httpMeta]),a=(0,A.useMemo)(()=>[{key:`route`,header:`ROUTE`,render:e=>(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(gu,{gap:5,wrap:`nowrap`,mb:2,children:[(0,M.jsx)(sH,{type:`httpMethod`,value:e.method?.toUpperCase()||`GET`,size:`xs`}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,fw:500,truncate:!0,children:e.route})]}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,truncate:!0,children:e.pikkuFuncId})]})}],[]);return(0,M.jsx)($3,{title:`HTTP Routes`,icon:_z,docsHref:`https://pikku.dev/docs/wiring/http`,data:i,columns:a,getKey:e=>`${e.method}::${e.route}`,onRowClick:e=>r(`http::${e.method}::${e.route}`,e),searchPlaceholder:X.http_search_placeholder(),searchFilter:(e,t)=>e.route?.toLowerCase().includes(t)||e.pikkuFuncId?.toLowerCase().includes(t)||e.method?.toLowerCase().includes(t),emptyMessage:X.http_empty_message(),emptyHero:t,externalSearch:e})},Q0n=[`connect`,`disconnect`],$0n=({name:e,channel:t,isActive:n,isExpanded:r,onToggle:i,selected:a,onSelect:o,onChannelSwitch:s})=>{let[c,l]=(0,A.useState)(()=>new Set(Object.keys(t.messageWirings||{}))),u=Object.entries(t.messageWirings||{}),d=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},f=e=>n&&a?.type===`handler`&&a.handler===e,p=(e,t)=>n&&a?.type===`action`&&a.category===e&&a.action===t;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(ru,{onClick:()=>{n?i():(r||i(),s(e))},style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 12px`,fontSize:11,color:`var(--app-text)`,borderLeft:n?`2px solid var(--app-accent-strong)`:`2px solid transparent`,width:`100%`,opacity:n?1:.6,cursor:`pointer`},children:[r?(0,M.jsx)(ez,{size:9,color:`var(--app-text-dim)`}):(0,M.jsx)(tz,{size:9,color:`var(--app-text-dim)`}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,className:PB.flexGrow,children:V(e)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`cyan`,ff:`monospace`,children:V(`ws`)})]}),r&&(0,M.jsxs)(M.Fragment,{children:[Q0n.map(e=>{let n=t[e]!=null,r=f(e);return(0,M.jsxs)(ru,{onClick:()=>n&&o({type:`handler`,handler:e}),style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px 5px 22px`,fontSize:11,color:r||n?`var(--app-text)`:`var(--app-text-dim)`,borderLeft:r?`2px solid var(--app-accent-strong)`:`2px solid transparent`,background:r?`var(--app-surface-accent)`:void 0,width:`100%`,cursor:n?`pointer`:`default`,transition:`all 0.15s`},children:[(0,M.jsx)(N,{className:PB.typeDot,style:{background:e===`connect`?`rgba(6,182,212,0.6)`:`rgba(239,68,68,0.5)`}}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:V(e===`connect`?`onConnect`:`onDisconnect`)})]},e)}),u.map(([e,t])=>{let n=Object.entries(t),r=c.has(e);return(0,M.jsxs)(A.Fragment,{children:[(0,M.jsxs)(ru,{onClick:()=>d(e),style:{display:`flex`,alignItems:`center`,gap:6,padding:`6px 12px 4px 22px`,fontSize:11,color:`var(--app-text)`,width:`100%`,cursor:`pointer`,transition:`all 0.15s`},children:[r?(0,M.jsx)(ez,{size:8}):(0,M.jsx)(tz,{size:8}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(e)}),(0,M.jsx)(Yv,{size:`sm`,ff:`monospace`,tt:`none`,style:{background:`var(--mantine-color-default)`,border:`0.5px solid transparent`,color:`var(--app-text-dim)`},children:V(`routing`)})]}),r&&n.map(([n])=>{let r=p(e,n),i=t[n]?.pikkuFuncId||n;return(0,M.jsx)(ru,{onClick:()=>o({type:`action`,category:e,action:n}),style:{display:`flex`,alignItems:`flex-start`,gap:7,padding:`5px 12px 5px 32px`,borderLeft:r?`2px solid var(--app-accent-strong)`:`2px solid transparent`,background:r?`var(--app-surface-accent)`:void 0,width:`100%`,cursor:`pointer`,transition:`all 0.15s`},children:(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:r?600:400,c:`var(--app-text)`,truncate:!0,children:V(n)}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,truncate:!0,style:{fontSize:11},children:V(`${i}()`)})]})},n)})]},e)})]})]})},e2n=({channelName:e,channel:t,allChannelsMeta:n,selected:r,onSelect:i,onChannelSwitch:a,searchQuery:o=``})=>{let[s,c]=(0,A.useState)(()=>new Set([e])),l=(0,A.useMemo)(()=>{let e=Object.entries(n);if(!o)return e;let t=o.toLowerCase();return e.filter(([e])=>e.toLowerCase().includes(t))},[n,o]),u=e=>{c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,M.jsx)(nu,{className:PB.flexGrow,children:l.map(([t,n])=>(0,M.jsx)($0n,{name:t,channel:n,isActive:t===e,isExpanded:s.has(t),onToggle:()=>u(t),selected:r,onSelect:n=>{t!==e&&a(t),i(n)},onChannelSwitch:a},t))})},t2n=({code:e,label:t,language:n=`typescript`})=>(0,M.jsxs)(N,{children:[t&&(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:t}),(0,M.jsx)(YQ,{code:e,language:n,copyLabel:`Copy`,copiedLabel:`Copied`,styles:{pre:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},code:{whiteSpace:`pre-wrap`}}})]}),n2n=(e,t)=>{if(!t)return null;if(t.type===`handler`){let n=e[t.handler];return n?{pikkuFuncId:n.pikkuFuncId,meta:n}:null}let n=e.messageWirings?.[t.category]?.[t.action];return n?{pikkuFuncId:n.pikkuFuncId,meta:n}:null},r2n=(e,t)=>e?t?t.type===`handler`?e.handlers[t.handler]||null:e.actions?.[t.category]?.[t.action]||null:e.overview||null:null,i2n=(e,t)=>t?t.type===`handler`?`${e} / ${t.handler}`:`${e} / ${t.category} / ${t.action}`:e,a2n=e=>e?e.type===`handler`?e.handler:e.action:null,o2n=e=>e?e.type===`handler`?e.handler:`action`:`overview`,s2n=({channelName:e,channel:t,selected:n})=>{let{navigateInPanel:r}=qB();Pt();let i=n2n(t,n),a=i?.pikkuFuncId,{data:o}=qQ(a??``),s=o?.inputSchemaName,c=o?.outputSchemaName,{data:l}=W4t(e),u=(0,A.useMemo)(()=>r2n(l,n),[l,n]),d=o?.name||a,f=i2n(e,n),p=a2n(n);return o2n(n),(0,M.jsxs)(N,{className:PB.flexColumn,children:[(0,M.jsxs)(N,{className:PB.detailHeader,style:{padding:`10px 16px`},children:[(0,M.jsxs)(N,{className:PB.flexGrow,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text-dim)`,children:V(f)}),p&&(0,M.jsx)(B,{size:`sm`,fw:600,ff:`monospace`,c:`var(--app-text)`,children:V(p)}),d&&(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(`${d}()`)})]}),(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`cyan`,children:X.channel_badge_channel()}),n?.type===`action`&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(n.category)}),t.tags?.map(e=>(0,M.jsx)(b6t,{children:V(e)},e))]})]}),(0,M.jsxs)(N,{className:PB.flexRow,style:{flex:1,minHeight:0},children:[(0,M.jsxs)(N,{className:PB.splitLeft,children:[(0,M.jsx)(ZQ,{children:X.channel_section_handler()}),a&&(0,M.jsx)(XQ,{label:X.channel_meta_function(),children:(0,M.jsx)(B,{size:`sm`,fw:600,ff:`monospace`,c:`var(--app-text)`,className:PB.clickableText,onClick:()=>r(`function`,a,d||a,o),children:V(d??``)})}),(0,M.jsx)(XQ,{label:X.channel_meta_channel(),children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text)`,children:V(e)})}),n?.type===`handler`&&(0,M.jsx)(XQ,{label:X.channel_meta_type(),children:(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`var(--app-text)`,children:n.handler===`connect`?X.channel_type_connect():n.handler===`disconnect`?X.channel_type_disconnect():X.channel_type_receive()})}),n?.type===`action`&&(0,M.jsx)(XQ,{label:X.channel_meta_routing(),children:(0,M.jsxs)(N,{style:{background:`var(--app-panel-bg)`,border:`1px solid var(--app-border)`,borderRadius:5,padding:`5px 8px`,fontSize:11},children:[(0,M.jsx)(B,{component:`span`,c:`var(--app-accent)`,size:`sm`,ff:`monospace`,children:V(n.category)}),(0,M.jsx)(B,{component:`span`,c:`dimmed`,size:`sm`,ff:`monospace`,children:V(`: `)}),(0,M.jsx)(B,{component:`span`,c:`green`,size:`sm`,ff:`monospace`,children:V(`"${n.action}"`)})]})}),o?.services&&o.services.services.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_services(),children:(0,M.jsx)(gu,{gap:4,children:o.services.services.map(e=>(0,M.jsx)(x6t,{children:V(e)},e))})}),i?.meta?.middleware&&i.meta.middleware.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_middleware(),children:(0,M.jsx)(gu,{gap:4,children:i.meta.middleware.map((e,t)=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(typeof e==`string`?e:e.type||`middleware`)},t))})}),t.tags&&t.tags.length>0&&(0,M.jsx)(XQ,{label:X.channel_meta_tags(),children:(0,M.jsx)(gu,{gap:4,children:t.tags.map((e,t)=>(0,M.jsx)(b6t,{children:V(e)},t))})}),s&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:X.channel_section_input()}),(0,M.jsx)($Q,{schemaName:s})]}),c&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ZQ,{children:X.channel_section_output()}),(0,M.jsx)($Q,{schemaName:c})]})]}),(0,M.jsx)(N,{className:PB.flexGrow,style:{display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,M.jsxs)(uy,{defaultValue:`pikku-ws`,style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0},children:[(0,M.jsxs)(uy.List,{children:[(0,M.jsx)(uy.Tab,{value:`pikku-ws`,children:V(`pikku-ws`)}),(0,M.jsx)(uy.Tab,{value:`raw-ws`,children:X.channel_tab_raw_ws()}),(0,M.jsx)(uy.Tab,{value:`cli`,children:X.channel_tab_cli()})]}),(0,M.jsx)(uy.Panel,{value:`pikku-ws`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:u?(0,M.jsx)(t2n,{code:u,language:`typescript`}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.channel_empty_select_handler()})}),(0,M.jsx)(uy.Panel,{value:`raw-ws`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:(0,M.jsx)(t2n,{code:c2n(e,t,n),language:`typescript`})}),(0,M.jsx)(uy.Panel,{value:`cli`,className:PB.overflowAuto,style:{flex:1},p:`sm`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.channel_empty_cli_not_available()})})]})})]})]})};function c2n(e,t,n){let r=[`const ws = new WebSocket('ws://localhost:3000${t.route||`/`}')`,``,`ws.onopen = () => {`];return n?.type===`action`?(r.push(` ws.send(JSON.stringify({`),r.push(` ${n.category}: '${n.action}',`),r.push(` // add your data here`),r.push(` }))`)):r.push(` console.log('Connected to ${e}')`),r.push(`}`),r.push(``),r.push(`ws.onmessage = (e) => {`),r.push(` const data = JSON.parse(e.data)`),r.push(` console.log(data)`),r.push(`}`),r.join(`
219
219
  `)}var l2n=({list:e,detail:t,emptyMessage:n,hasSelection:r,collapsible:i=!1,listWidth:a,height:o})=>{Pt();let s=!i||r,c=n??X.common_select_item();return(0,M.jsxs)(N,{className:PB.listDetailContainer,style:{...o?{height:o}:void 0,gap:`var(--mantine-spacing-md)`},children:[(0,M.jsx)(N,{className:`${a?PB.listPaneFixed:PB.listPaneFlex} ${PB.listSurfaceCard}`,style:a?{width:a,minWidth:typeof a==`number`?Math.round(a*.78):void 0,flex:`0 0 auto`}:void 0,children:e}),(0,M.jsx)(N,{className:`${PB.detailDrawerPane} ${PB.listSurfaceCard}`,style:{flex:s?`1 0 auto`:void 0,width:s?`min(520px, 42vw)`:0,minWidth:s?`min(420px, 32vw)`:0,opacity:+!!s},"aria-hidden":!s,children:r?t:(0,M.jsx)(N,{className:PB.emptyState,children:(0,M.jsx)(B,{c:`dimmed`,ff:`monospace`,size:`sm`,children:c})})})]})},u2n=({channelName:e,channelMeta:t,allChannelsMeta:n,searchQuery:r})=>{let i=z(),[a,o]=(0,A.useState)(null),s=(0,A.useCallback)(e=>{o(null),i(`/apis?tab=channels&id=${encodeURIComponent(e)}`)},[i]);return(0,M.jsx)(l2n,{listWidth:320,list:(0,M.jsx)(e2n,{channelName:e,channel:t,allChannelsMeta:n,selected:a,onSelect:o,onChannelSwitch:s,searchQuery:r}),detail:(0,M.jsx)(s2n,{channelName:e,channel:t,selected:a}),hasSelection:!0})},d2n=({searchQuery:e,emptyHero:t})=>{let[n]=Gv(),r=n.get(`id`)||``,{meta:i}=MB();Pt();let a=i.channelsMeta||{},o=Object.keys(a),s=r||o[0]||``,c=a[s];return c?(0,M.jsx)(ZV,{children:(0,M.jsx)(u2n,{channelName:s,channelMeta:c,allChannelsMeta:a,searchQuery:e})}):(0,M.jsx)(Q3,{icon:Iz,hero:t,title:X.channels_empty_title(),description:X.channels_empty_description(),docsHref:`https://pikku.dev/docs/core-features/channels`})},f2n=({searchQuery:e,emptyHero:t})=>(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{}),children:(0,M.jsx)(d2n,{searchQuery:e,emptyHero:t})}),p2n=({searchQuery:e,emptyHero:t})=>{let{meta:n}=MB();Pt();let{openMCP:r}=qB(),i=(0,A.useMemo)(()=>n.mcpMeta?[...n.mcpMeta].sort((e,t)=>(e.name||``).localeCompare(t.name||``)):[],[n.mcpMeta]),a=(0,A.useMemo)(()=>[{key:`name`,header:`NAME`,render:e=>(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{fw:500,truncate:!0,children:e.name||e.wireId||`unnamed`}),e.pikkuFuncId&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,truncate:!0,children:e.pikkuFuncId})]})},{key:`type`,header:`TYPE`,align:`right`,render:e=>{let t=e.method||`tool`;return(0,M.jsx)(sH,{type:`mcpType`,value:t})}}],[]);return(0,M.jsx)($3,{title:`MCP`,icon:cz,docsHref:`https://pikku.dev/docs/wiring/mcp`,data:i,columns:a,getKey:e=>`${e.method}::${e.wireId||e.name}`,onRowClick:e=>r(`mcp::${e.method}::${e.wireId||e.name}`,e),searchPlaceholder:X.mcp_search_placeholder(),searchFilter:(e,t)=>e.name?.toLowerCase().includes(t)||e.pikkuFuncId?.toLowerCase().includes(t)||e.method?.toLowerCase().includes(t),emptyMessage:X.mcp_empty_message(),emptyHero:t,externalSearch:e})};function m2n(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase()}function h2n(e,t){if(t.length===0)return null;let n=e.commands[t[0]];if(!n)return null;for(let e=1;e<t.length;e++){if(!n.subcommands||!n.subcommands[t[e]])return null;n=n.subcommands[t[e]]}return n}function g2n(e,t){let n={...e.options};if(t.length===0)return n;let r=e.commands[t[0]];if(r){n={...n,...r.options};for(let e=1;e<t.length;e++)r.subcommands&&r.subcommands[t[e]]&&(r=r.subcommands[t[e]],n={...n,...r.options})}return n}function _2n(e,t,n=[]){let r=[],i=t.programs[e];if(!i)return`Program not found: ${e}`;if(n.length===0){r.push(`Usage: ${e} <command> [options]`),r.push(``),r.push(`Commands:`);for(let[e,t]of Object.entries(i.commands)){let n=t.description||``,i=t.isDefault?` (default)`:``;r.push(` ${e.padEnd(20)} ${n}${i}`)}Object.keys(i.options).length>0&&(r.push(``),r.push(`Options:`),v2n(i.options,r))}else{let t=h2n(i,n);if(!t)return`Unknown command: ${n.join(` `)}`;let a=`${e} ${n.join(` `)}`;if(t.parameters&&(a+=` `+t.parameters),r.push(`Usage: ${a} [options]`),t.description&&(r.push(``),r.push(t.description)),t.positionals.length>0){r.push(``),r.push(`Arguments:`);for(let e of t.positionals){let t=e.required?`<required>`:`[optional]`,n=e.variadic?`...`:``;r.push(` ${e.name}${n} ${t}`)}}if(t.subcommands&&Object.keys(t.subcommands).length>0){r.push(``),r.push(`Subcommands:`);for(let[e,n]of Object.entries(t.subcommands)){let t=n.description||``;r.push(` ${e.padEnd(20)} ${t}`)}}let o=g2n(i,n);Object.keys(o).length>0&&(r.push(``),r.push(`Options:`),v2n(o,r))}return r.join(`
220
220
  `)}function v2n(e,t){for(let[n,r]of Object.entries(e)){let e=` `;r.short?e+=`-${r.short}, `:e+=` `,e+=`--${m2n(n)}`,r.default!==void 0&&typeof r.default!=`boolean`&&(e+=` <value>`),e=e.padEnd(30),e+=r.description||``,r.default!==void 0&&(e+=` (default: ${JSON.stringify(r.default)})`),r.choices&&(e+=` [choices: ${r.choices.join(`, `)}]`),t.push(e)}}var y2n=e=>{let t=e.split(`
221
221
  `),n=[],r=!1;for(let e=0;e<t.length;e++){let i=t[e],a=i.trim();if(a===`Commands:`||a===`Subcommands:`||a===`Options:`||i.startsWith(`Usage:`)){r=a===`Commands:`||a===`Subcommands:`,n.push({text:i+`
@@ -275,7 +275,7 @@ Previous: [${e.join(`, `)}]\nIncoming: [${t.join(`, `)}]`);for(let n=0;n<e.lengt
275
275
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
276
276
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return oWr(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=rGr.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function pGr(){return{exit:{taskListCheckValueChecked:hGr,taskListCheckValueUnchecked:hGr,paragraph:gGr}}}function mGr(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:_Gr}}}function hGr(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function gGr(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function _Gr(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=rGr.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function vGr(){return[wUr(),JUr(),$Ur(),iGr(),pGr()]}function yGr(e){return{extensions:[TUr(),YUr(e),eWr(),fGr(e),mGr()]}}var bGr={tokenize:jGr,partial:!0},xGr={tokenize:MGr,partial:!0},SGr={tokenize:NGr,partial:!0},CGr={tokenize:PGr,partial:!0},wGr={tokenize:FGr,partial:!0},TGr={name:`wwwAutolink`,tokenize:kGr,previous:IGr},EGr={name:`protocolAutolink`,tokenize:AGr,previous:LGr},q9={name:`emailAutolink`,tokenize:OGr,previous:RGr},J9={};function DGr(){return{text:J9}}for(var Y9=48;Y9<123;)J9[Y9]=q9,Y9++,Y9===58?Y9=65:Y9===91&&(Y9=97);J9[43]=q9,J9[45]=q9,J9[46]=q9,J9[95]=q9,J9[72]=[q9,EGr],J9[104]=[q9,EGr],J9[87]=[q9,TGr],J9[119]=[q9,TGr];function OGr(e,t,n){let r=this,i,a;return o;function o(t){return!zGr(t)||!RGr.call(r,r.previous)||BGr(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return zGr(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(wGr,u,l)(t):t===45||t===95||L9(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&I9(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function kGr(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!IGr.call(r,r.previous)||BGr(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(bGr,e.attempt(xGr,e.attempt(SGr,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function AGr(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&LGr.call(r,r.previous)&&!BGr(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(I9(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||NRr(t)||z9(t)||V9(t)||LRr(t)?n(t):e.attempt(xGr,e.attempt(SGr,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function jGr(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function MGr(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(CGr,c,s)(t):t===null||z9(t)||V9(t)||t!==45&&LRr(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function NGr(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(CGr,t,a)(o):o===null||z9(o)||V9(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function PGr(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||z9(o)||V9(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||z9(e)||V9(e)?t(e):r(e)}function a(e){return I9(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):I9(t)?(e.consume(t),o):n(t)}}function FGr(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return L9(e)?n(e):t(e)}}function IGr(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||z9(e)}function LGr(e){return!I9(e)}function RGr(e){return!(e===47||zGr(e))}function zGr(e){return e===43||e===45||e===46||e===95||L9(e)}function BGr(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var VGr={tokenize:YGr,partial:!0};function HGr(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:KGr,continuation:{tokenize:qGr},exit:JGr}},text:{91:{name:`gfmFootnoteCall`,tokenize:GGr},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:UGr,resolveTo:WGr}}}}function UGr(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=F9(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function WGr(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function GGr(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||z9(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(F9(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return z9(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function KGr(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||z9(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=F9(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return z9(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),U9(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function qGr(e,t,n){return e.check($Rr,t,e.attempt(VGr,t,n))}function JGr(e){e.exit(`gfmFootnoteDefinition`)}function YGr(e,t,n){let r=this;return U9(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function XGr(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&N9(o,o.length,0,KRr(s,e.slice(r+1,n),t)),N9(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),N9(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=GRr(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=GRr(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var ZGr=class{constructor(){this.map=[]}add(e,t,n){QGr(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function QGr(e,t,n,r){let i=0;if(n!==0||r.length!==0){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function $Gr(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function eKr(){return{flow:{null:{name:`table`,tokenize:tKr,resolveAll:nKr}}}}function tKr(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):R9(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):B9(t)?U9(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||z9(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,B9(t)?U9(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return B9(t)?U9(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||R9(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return B9(t)?U9(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||R9(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||R9(n)?(e.exit(`tableRow`),t(n)):B9(n)?U9(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||z9(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function nKr(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new ZGr;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(iKr(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=rKr(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=rKr(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=rKr(f,t,o,i,n,d)):(o[0]=o[1],d=rKr(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&iKr(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=$Gr(t.events,n))}return e}function rKr(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},aKr(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=aKr(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=aKr(t.events,n[2]),a=aKr(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},aKr(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function iKr(e,t,n,r,i){let a=[],o=aKr(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function aKr(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var oKr={name:`tasklistCheck`,tokenize:cKr};function sKr(){return{text:{91:oKr}}}function cKr(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return z9(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return R9(r)?t(r):B9(r)?e.check({tokenize:lKr},t,n)(r):n(r)}}function lKr(e,t,n){return U9(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function uKr(e){return ORr([DGr(),HGr(),XGr(e),eKr(),sKr()])}var dKr={};function fKr(e){let t=this,n=e||dKr,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(uKr(n)),a.push(vGr()),o.push(yGr(n))}var pKr=[`note`,`tip`,`important`,`warning`,`caution`],mKr=/^\[!(note|tip|important|warning|caution)\]\s*/i,hKr=`md-alert-`,gKr=e=>{if(!e)return null;for(let t of pKr)if(e.split(/\s+/).includes(`${hKr}${t}`))return t;return null},_Kr=e=>{let t=e.children?.[0];if(t?.type!==`paragraph`)return!1;let n=t.children?.[0];if(n?.type!==`text`||typeof n.value!=`string`)return!1;let r=mKr.exec(n.value);if(!r)return!1;if(n.value=n.value.slice(r[0].length),n.value===``){let n=t.children.slice(1);n[0]?.type===`break`&&n.shift(),t.children=n,n.length===0&&e.children.shift()}return e.data={...e.data,hProperties:{...e.data?.hProperties,className:`${hKr}${r[1].toLowerCase()}`}},!0},vKr=e=>{for(let t of e.children??[])t.type===`blockquote`&&_Kr(t),vKr(t)},yKr=()=>e=>{vKr(e)},bKr=(e,t)=>{let n=t.trim().toLowerCase();return!n||[e.title,e.path,e.description??``,e.type??``,e.body,...e.tags,...e.resource].some(e=>e.toLowerCase().includes(n))},xKr=[`error`,`warn`,`info`],SKr=e=>xKr.find(t=>e.some(e=>e.severity===t))??`info`,CKr=e=>e.split(/(```[\s\S]*?```)/g).map((e,t)=>t%2==1?e:e.replace(/<!--[\s\S]*?-->/g,``)).join(``).replace(/\n{3,}/g,`
277
277
 
278
- `),wKr=(e,t)=>{let n=/^\s*#{1,6}[ \t]+(.+?)[ \t]*(?:\n|$)/.exec(e);return!n||n[1].trim().toLowerCase()!==t.trim().toLowerCase()?e:e.slice(n[0].length).replace(/^\s+/,``)},TKr=e=>e.find(e=>e.section===``&&e.reserved===`index`)??e[0],EKr=(e,t)=>e.filter(e=>e.path===t),DKr=(e,t)=>{let n=t.split(`#`)[0]??``;if(!n||/^[a-z][a-z0-9+.-]*:/i.test(n)||!/\.(md|markdown|txt)$/i.test(n))return null;let r=(n.startsWith(`/`)?n.slice(1):[...e.split(`/`).slice(0,-1),n].join(`/`)).split(`/`),i=[];for(let e of r)if(e!==``&&e!==`.`){if(e===`..`){if(i.length===0)return null;i.pop()}else i.push(e)}return i.join(`/`)},OKr=[`func`,`workflow`,`schema`,`http`,`queue`,`cron`,`channel`,`table`,`addon`,`scope`,`persona`],kKr=e=>{let t=e.indexOf(`:`);if(t<=0)return null;let n=e.slice(0,t),r=e.slice(t+1).trim();return!r||!OKr.includes(n)?null:{prefix:n,id:r}},AKr=e=>{let t=kKr(e);if(!t)return null;let{prefix:n,id:r}=t,i=encodeURIComponent(r);switch(n){case`func`:return`/functions?search=${i}`;case`workflow`:return`/workflow?search=${i}`;case`http`:return`/apis?tab=http&search=${i}`;case`channel`:return`/apis?tab=channels&search=${i}`;case`queue`:return`/jobs?tab=queues&search=${i}`;case`cron`:return`/jobs?tab=schedulers&search=${i}`;case`scope`:return`/scopes?search=${i}`;case`persona`:return`/personas`;case`table`:return`/database`;case`addon`:return`/addons`;case`schema`:return null}},jKr=e=>e.map(e=>{let t=e.notes.find(e=>e.reserved===`index`);return{section:e.section,label:e.section.split(`/`).pop()??``,depth:e.section?e.section.split(`/`).length-1:0,description:e.description,indexPath:t?.path,notes:e.notes.filter(e=>e!==t)}}),MKr=e=>{let t=[``,...e.sections.map(e=>e.name)],n=new Map(e.sections.map(e=>[e.name,e.description])),r=new Map(t.map(e=>[e,[]]));for(let t of e.notes){let e=r.get(t.section);e?e.push(t):r.set(t.section,[t])}return[...r].filter(([,e])=>e.length>0).map(([e,t])=>({section:e,description:n.get(e),notes:t}))},NKr={chosen:`chosen`,"rules-out":`rulesOut`,rules_out:`rulesOut`,rulesout:`rulesOut`,because:`because`},PKr=/^([A-Za-z_-]+):\s*(.*)$/,FKr=/^\s*-\s+/,IKr=/^\s+\S/,LKr=e=>e.trim().replace(/^["']|["']$/g,``),RKr=e=>{let t=e.split(/\r?\n/),n,r=[],i;for(let e=0;e<t.length;e++){let a=PKr.exec(t[e]);if(!a)continue;let o=NKr[a[1].toLowerCase()];if(!o)continue;let s=n=>{let r=n;for(;e+1<t.length&&IKr.test(t[e+1])&&!FKr.test(t[e+1]);)r+=` ${t[++e].trim()}`;return LKr(r)};if(o===`rulesOut`){let n=s(a[2]);for(n&&r.push(n);e+1<t.length&&FKr.test(t[e+1]);){let n=s(t[++e].replace(FKr,``));n&&r.push(n)}continue}let c=s(a[2]);c&&(o===`chosen`?n??=c:i??=c)}return n?i?{chosen:n,rulesOut:r,because:i}:{chosen:n,rulesOut:r}:null},zKr={func:Zz,workflow:hz,schema:VFt,http:_z,queue:Tz,cron:oz,channel:Iz,table:KIt,addon:jz,scope:vz,persona:iB},BKr=({uri:e,children:t})=>{let n=Uv(),r=kKr(e);if(!r)return(0,M.jsx)(tf,{children:V(e)});let i=zKr[r.prefix],a=AKr(e),o=t??V(e),s=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(i,{size:11}),o]});return a?(0,M.jsx)(n,{to:a,className:PB.resourceChip,"data-kind":r.prefix,"data-linked":`true`,title:e,children:s}):(0,M.jsx)(`span`,{className:PB.resourceChip,"data-kind":r.prefix,children:s})},VKr=({decision:e})=>(0,M.jsxs)(`div`,{className:PB.decisionCard,children:[(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`chosen`,children:[(0,M.jsx)($R,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_chosen()}),(0,M.jsx)(`p`,{children:e.chosen})]})]}),e.rulesOut.length>0&&(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`rules-out`,children:[(0,M.jsx)(XR,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_rules_out()}),(0,M.jsx)(`ul`,{children:e.rulesOut.map(e=>(0,M.jsx)(`li`,{children:e},e))})]})]}),e.because&&(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`because`,children:[(0,M.jsx)(QFt,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_because()}),(0,M.jsx)(`p`,{children:e.because})]})]})]}),HKr=[`Scenario Outline`,`Scenario Template`,`Scenario`,`Background`,`Feature`,`Rule`,`Example`,`Examples`],UKr=[`Given`,`When`,`Then`,`And`,`But`,`*`],WKr=/'([^']+)'|"([^"]+)"/g,GKr=e=>{let t=[],n=0;for(let r of e.matchAll(WKr)){let i=r[1]??r[2];r.index>n&&t.push({type:`text`,value:e.slice(n,r.index)}),t.push({type:`persona`,value:i}),n=r.index+r[0].length}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t},KKr=(e,t)=>{for(let n of t){if(!e.toLowerCase().startsWith(n.toLowerCase()))continue;let t=e.slice(n.length);if(t===``||/^[\s:]/.test(t))return n}return null},qKr=e=>e.split(/\r?\n/).map(e=>{let t=e.trim(),n=KKr(t,HKr);if(n)return{keyword:n,heading:!0,tokens:GKr(t.slice(n.length).replace(/^:\s*/,``))};let r=KKr(t,UKr);return r?{keyword:r,heading:!1,tokens:GKr(t.slice(r.length).trimStart())}:{keyword:null,heading:!1,tokens:GKr(t)}}),JKr=({label:e,restingRole:t,className:n,children:r,ref:i,...a})=>{let o=(0,A.useRef)(null),[s,c]=(0,A.useState)({start:!1,end:!1}),l=s.start||s.end,u=(0,A.useCallback)(()=>{let e=o.current;if(!e)return;let t=Math.abs(e.scrollLeft),n=e.scrollWidth-e.clientWidth;c(e=>{let r={start:t>1,end:n-t>1};return e.start===r.start&&e.end===r.end?e:r})},[]);return(0,A.useEffect)(()=>{u();let e=o.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(u);t.observe(e);for(let n of Array.from(e.children))t.observe(n);return()=>t.disconnect()},[u,r]),(0,M.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`?i(e):i&&(i.current=e)},className:n?`${PB.scrollRegion} ${n}`:PB.scrollRegion,onScroll:u,"data-scrollable":l||void 0,"data-fade-start":s.start||void 0,"data-fade-end":s.end||void 0,tabIndex:l?0:void 0,role:l?`region`:t,"aria-label":e,...a,children:r})},YKr=({code:e})=>{let t=(0,A.useMemo)(()=>qKr(e),[e]);return(0,M.jsx)(JKr,{className:PB.gherkinScroll,label:X.markdown_scenario_label(),children:(0,M.jsx)(`div`,{className:PB.gherkin,children:t.map((e,t)=>(0,M.jsxs)(`div`,{className:PB.gherkinLine,"data-heading":e.heading||void 0,children:[e.keyword&&(0,M.jsxs)(`span`,{className:PB.gherkinKeyword,children:[e.keyword,` `]}),(0,M.jsx)(`span`,{children:e.tokens.map((e,t)=>e.type===`persona`?(0,M.jsx)(`span`,{className:PB.gherkinPersona,children:e.value},t):(0,M.jsx)(A.Fragment,{children:e.value},t))})]},t))})})},XKr=null,ZKr=()=>(XKr??=fr(()=>import(`./mermaid.core-DvVwOMEV.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),XKr),QKr=e=>{let t=getComputedStyle(e),n=(e,n)=>t.getPropertyValue(e).trim()||n,r=n(`--app-panel-bg-raised`,`#ffffff`),i=n(`--app-meta-value`,`#1e293b`),a=n(`--app-accent`,`#0891b2`),o=n(`--app-glass-border`,`transparent`),s=n(`--app-text-faint`,`#6b7280`);return{fontFamily:n(`--mantine-font-family`,`Inter, sans-serif`),fontSize:`13px`,background:`transparent`,primaryColor:r,primaryTextColor:i,primaryBorderColor:a,secondaryColor:n(`--app-panel-bg-soft`,`#f8f9fa`),secondaryTextColor:i,secondaryBorderColor:o,tertiaryColor:n(`--app-panel-bg`,`#f1f3f5`),tertiaryTextColor:i,tertiaryBorderColor:o,lineColor:s,textColor:i,edgeLabelBackground:n(`--app-panel-bg`,`#f1f3f5`),actorBkg:r,actorBorder:a,actorTextColor:i,actorLineColor:s,signalColor:i,signalTextColor:i,labelBoxBkgColor:r,labelBoxBorderColor:o,labelTextColor:i,loopTextColor:i,noteBkgColor:n(`--app-surface-info`,`rgba(37,99,235,0.06)`),noteTextColor:i,noteBorderColor:n(`--app-blue`,`#2563eb`),altBackground:n(`--app-panel-bg-soft`,`#f8f9fa`),titleColor:i}},$Kr=[`#0e7490`,`#6d28d9`,`#15803d`,`#b45309`,`#b91c1c`,`#1d4ed8`,`#be185d`,`#0f766e`],eqr=[`flowchart`,`graph`,`sequenceDiagram`,`stateDiagram`,`stateDiagram-v2`,`erDiagram`,`classDiagram`,`journey`,`timeline`,`mindmap`,`gitGraph`],tqr=/^\s*accTitle\s*:\s*(.+)$/m,nqr=/^\s*accDescr\s*:\s*(.+)$/m,rqr=e=>{for(let t of e.split(`
278
+ `),wKr=(e,t)=>{let n=/^\s*#{1,6}[ \t]+(.+?)[ \t]*(?:\n|$)/.exec(e);return!n||n[1].trim().toLowerCase()!==t.trim().toLowerCase()?e:e.slice(n[0].length).replace(/^\s+/,``)},TKr=e=>e.find(e=>e.section===``&&e.reserved===`index`)??e[0],EKr=(e,t)=>e.filter(e=>e.path===t),DKr=(e,t)=>{let n=t.split(`#`)[0]??``;if(!n||/^[a-z][a-z0-9+.-]*:/i.test(n)||!/\.(md|markdown|txt)$/i.test(n))return null;let r=(n.startsWith(`/`)?n.slice(1):[...e.split(`/`).slice(0,-1),n].join(`/`)).split(`/`),i=[];for(let e of r)if(e!==``&&e!==`.`){if(e===`..`){if(i.length===0)return null;i.pop()}else i.push(e)}return i.join(`/`)},OKr=[`func`,`workflow`,`schema`,`http`,`queue`,`cron`,`channel`,`table`,`addon`,`scope`,`persona`],kKr=e=>{let t=e.indexOf(`:`);if(t<=0)return null;let n=e.slice(0,t),r=e.slice(t+1).trim();return!r||!OKr.includes(n)?null:{prefix:n,id:r}},AKr=e=>{let t=kKr(e);if(!t)return null;let{prefix:n,id:r}=t,i=encodeURIComponent(r);switch(n){case`func`:return`/functions?search=${i}`;case`workflow`:return`/workflow?search=${i}`;case`http`:return`/apis?tab=http&search=${i}`;case`channel`:return`/apis?tab=channels&search=${i}`;case`queue`:return`/jobs?tab=queues&search=${i}`;case`cron`:return`/jobs?tab=schedulers&search=${i}`;case`scope`:return`/scopes?search=${i}`;case`persona`:return`/personas`;case`table`:return`/database`;case`addon`:return`/addons`;case`schema`:return null}},jKr=e=>e.map(e=>{let t=e.notes.find(e=>e.reserved===`index`);return{section:e.section,label:e.section.split(`/`).pop()??``,depth:e.section?e.section.split(`/`).length-1:0,description:e.description,indexPath:t?.path,notes:e.notes.filter(e=>e!==t)}}),MKr=e=>{let t=[``,...e.sections.map(e=>e.name)],n=new Map(e.sections.map(e=>[e.name,e.description])),r=new Map(t.map(e=>[e,[]]));for(let t of e.notes){let e=r.get(t.section);e?e.push(t):r.set(t.section,[t])}return[...r].filter(([,e])=>e.length>0).map(([e,t])=>({section:e,description:n.get(e),notes:t}))},NKr={chosen:`chosen`,"rules-out":`rulesOut`,rules_out:`rulesOut`,rulesout:`rulesOut`,because:`because`},PKr=/^([A-Za-z_-]+):\s*(.*)$/,FKr=/^\s*-\s+/,IKr=/^\s+\S/,LKr=e=>e.trim().replace(/^["']|["']$/g,``),RKr=e=>{let t=e.split(/\r?\n/),n,r=[],i;for(let e=0;e<t.length;e++){let a=PKr.exec(t[e]);if(!a)continue;let o=NKr[a[1].toLowerCase()];if(!o)continue;let s=n=>{let r=n;for(;e+1<t.length&&IKr.test(t[e+1])&&!FKr.test(t[e+1]);)r+=` ${t[++e].trim()}`;return LKr(r)};if(o===`rulesOut`){let n=s(a[2]);for(n&&r.push(n);e+1<t.length&&FKr.test(t[e+1]);){let n=s(t[++e].replace(FKr,``));n&&r.push(n)}continue}let c=s(a[2]);c&&(o===`chosen`?n??=c:i??=c)}return n?i?{chosen:n,rulesOut:r,because:i}:{chosen:n,rulesOut:r}:null},zKr={func:Zz,workflow:hz,schema:VFt,http:_z,queue:Tz,cron:oz,channel:Iz,table:KIt,addon:jz,scope:vz,persona:iB},BKr=({uri:e,children:t})=>{let n=Uv(),r=kKr(e);if(!r)return(0,M.jsx)(tf,{children:V(e)});let i=zKr[r.prefix],a=AKr(e),o=t??V(e),s=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(i,{size:11}),o]});return a?(0,M.jsx)(n,{to:a,className:PB.resourceChip,"data-kind":r.prefix,"data-linked":`true`,title:e,children:s}):(0,M.jsx)(`span`,{className:PB.resourceChip,"data-kind":r.prefix,children:s})},VKr=({decision:e})=>(0,M.jsxs)(`div`,{className:PB.decisionCard,children:[(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`chosen`,children:[(0,M.jsx)($R,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_chosen()}),(0,M.jsx)(`p`,{children:e.chosen})]})]}),e.rulesOut.length>0&&(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`rules-out`,children:[(0,M.jsx)(XR,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_rules_out()}),(0,M.jsx)(`ul`,{children:e.rulesOut.map(e=>(0,M.jsx)(`li`,{children:e},e))})]})]}),e.because&&(0,M.jsxs)(`div`,{className:PB.decisionRow,"data-part":`because`,children:[(0,M.jsx)(QFt,{size:14,"aria-hidden":!0}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:PB.decisionLabel,children:X.markdown_decision_because()}),(0,M.jsx)(`p`,{children:e.because})]})]})]}),HKr=[`Scenario Outline`,`Scenario Template`,`Scenario`,`Background`,`Feature`,`Rule`,`Example`,`Examples`],UKr=[`Given`,`When`,`Then`,`And`,`But`,`*`],WKr=/'([^']+)'|"([^"]+)"/g,GKr=e=>{let t=[],n=0;for(let r of e.matchAll(WKr)){let i=r[1]??r[2];r.index>n&&t.push({type:`text`,value:e.slice(n,r.index)}),t.push({type:`persona`,value:i}),n=r.index+r[0].length}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t},KKr=(e,t)=>{for(let n of t){if(!e.toLowerCase().startsWith(n.toLowerCase()))continue;let t=e.slice(n.length);if(t===``||/^[\s:]/.test(t))return n}return null},qKr=e=>e.split(/\r?\n/).map(e=>{let t=e.trim(),n=KKr(t,HKr);if(n)return{keyword:n,heading:!0,tokens:GKr(t.slice(n.length).replace(/^:\s*/,``))};let r=KKr(t,UKr);return r?{keyword:r,heading:!1,tokens:GKr(t.slice(r.length).trimStart())}:{keyword:null,heading:!1,tokens:GKr(t)}}),JKr=({label:e,restingRole:t,className:n,children:r,ref:i,...a})=>{let o=(0,A.useRef)(null),[s,c]=(0,A.useState)({start:!1,end:!1}),l=s.start||s.end,u=(0,A.useCallback)(()=>{let e=o.current;if(!e)return;let t=Math.abs(e.scrollLeft),n=e.scrollWidth-e.clientWidth;c(e=>{let r={start:t>1,end:n-t>1};return e.start===r.start&&e.end===r.end?e:r})},[]);return(0,A.useEffect)(()=>{u();let e=o.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(u);t.observe(e);for(let n of Array.from(e.children))t.observe(n);return()=>t.disconnect()},[u,r]),(0,M.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`?i(e):i&&(i.current=e)},className:n?`${PB.scrollRegion} ${n}`:PB.scrollRegion,onScroll:u,"data-scrollable":l||void 0,"data-fade-start":s.start||void 0,"data-fade-end":s.end||void 0,tabIndex:l?0:void 0,role:l?`region`:t,"aria-label":e,...a,children:r})},YKr=({code:e})=>{let t=(0,A.useMemo)(()=>qKr(e),[e]);return(0,M.jsx)(JKr,{className:PB.gherkinScroll,label:X.markdown_scenario_label(),children:(0,M.jsx)(`div`,{className:PB.gherkin,children:t.map((e,t)=>(0,M.jsxs)(`div`,{className:PB.gherkinLine,"data-heading":e.heading||void 0,children:[e.keyword&&(0,M.jsxs)(`span`,{className:PB.gherkinKeyword,children:[e.keyword,` `]}),(0,M.jsx)(`span`,{children:e.tokens.map((e,t)=>e.type===`persona`?(0,M.jsx)(`span`,{className:PB.gherkinPersona,children:e.value},t):(0,M.jsx)(A.Fragment,{children:e.value},t))})]},t))})})},XKr=null,ZKr=()=>(XKr??=fr(()=>import(`./mermaid.core-BZ3jSM6D.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),XKr),QKr=e=>{let t=getComputedStyle(e),n=(e,n)=>t.getPropertyValue(e).trim()||n,r=n(`--app-panel-bg-raised`,`#ffffff`),i=n(`--app-meta-value`,`#1e293b`),a=n(`--app-accent`,`#0891b2`),o=n(`--app-glass-border`,`transparent`),s=n(`--app-text-faint`,`#6b7280`);return{fontFamily:n(`--mantine-font-family`,`Inter, sans-serif`),fontSize:`13px`,background:`transparent`,primaryColor:r,primaryTextColor:i,primaryBorderColor:a,secondaryColor:n(`--app-panel-bg-soft`,`#f8f9fa`),secondaryTextColor:i,secondaryBorderColor:o,tertiaryColor:n(`--app-panel-bg`,`#f1f3f5`),tertiaryTextColor:i,tertiaryBorderColor:o,lineColor:s,textColor:i,edgeLabelBackground:n(`--app-panel-bg`,`#f1f3f5`),actorBkg:r,actorBorder:a,actorTextColor:i,actorLineColor:s,signalColor:i,signalTextColor:i,labelBoxBkgColor:r,labelBoxBorderColor:o,labelTextColor:i,loopTextColor:i,noteBkgColor:n(`--app-surface-info`,`rgba(37,99,235,0.06)`),noteTextColor:i,noteBorderColor:n(`--app-blue`,`#2563eb`),altBackground:n(`--app-panel-bg-soft`,`#f8f9fa`),titleColor:i}},$Kr=[`#0e7490`,`#6d28d9`,`#15803d`,`#b45309`,`#b91c1c`,`#1d4ed8`,`#be185d`,`#0f766e`],eqr=[`flowchart`,`graph`,`sequenceDiagram`,`stateDiagram`,`stateDiagram-v2`,`erDiagram`,`classDiagram`,`journey`,`timeline`,`mindmap`,`gitGraph`],tqr=/^\s*accTitle\s*:\s*(.+)$/m,nqr=/^\s*accDescr\s*:\s*(.+)$/m,rqr=e=>{for(let t of e.split(`
279
279
  `)){let e=t.trim();if(!(!e||e.startsWith(`%%`)||e.startsWith(`---`)||e.startsWith(`config:`)||e.startsWith(`title:`)))return/^([A-Za-z][\w-]*)/.exec(e)?.[1]??null}return null},iqr=e=>{let t=rqr(e);return t!==null&&eqr.some(e=>e===t)},aqr=e=>tqr.exec(e)?.[1]?.trim()??nqr.exec(e)?.[1]?.trim()??null,oqr=({code:e})=>{let t=(0,A.useRef)(null),n=iqr(e),[r,i]=(0,A.useState)(()=>n?{status:`pending`}:{status:`failed`}),a=(0,A.useRef)(0),o=es(`dark`),s=(0,A.useId)().replace(/[^a-zA-Z0-9]/g,``);if((0,A.useEffect)(()=>{if(!n)return;let r=!1;return i({status:`pending`}),(async()=>{let n=t.current;if(n)try{let t=await ZKr();if(r)return;t.initialize({startOnLoad:!1,securityLevel:`strict`,theme:`base`,themeVariables:{...QKr(n),...Object.fromEntries($Kr.flatMap((e,t)=>[[`cScale${t}`,e],[`cScaleLabel${t}`,`#ffffff`]]))},flowchart:{curve:`basis`,useMaxWidth:!1},sequence:{useMaxWidth:!1,actorFontSize:13,messageFontSize:13,noteFontSize:12,actorMargin:60},class:{useMaxWidth:!1},state:{useMaxWidth:!1},er:{useMaxWidth:!1,fontSize:13},journey:{useMaxWidth:!1},timeline:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}),await t.parse(e);let{svg:a}=await t.render(`mermaid-${s}`,e);r||i({status:`ready`,svg:a})}catch(e){console.debug(`[markdown] mermaid fence did not render`,e),r||i({status:`failed`})}})(),()=>{r=!0}},[e,o,s,n]),(0,A.useEffect)(()=>{let e=t.current;r.status===`ready`&&e&&e.clientHeight>0&&(a.current=e.clientHeight)},[r]),r.status===`failed`)return(0,M.jsxs)(N,{className:PB.mermaidFallback,role:`status`,children:[(0,M.jsxs)(B,{component:`div`,className:PB.mermaidFallbackLabel,children:[n?(0,M.jsx)(tB,{size:13}):null,n?X.markdown_diagram_failed():X.markdown_diagram_undrawn()]}),(0,M.jsx)(`pre`,{children:(0,M.jsx)(`code`,{children:e})})]});let c=aqr(e);return(0,M.jsx)(JKr,{ref:t,className:PB.mermaidDiagram,restingRole:`img`,"data-testid":`mermaid-diagram`,"data-status":r.status,label:c??X.markdown_diagram_label(),style:r.status===`pending`&&a.current?{minHeight:a.current}:void 0,dangerouslySetInnerHTML:r.status===`ready`?{__html:r.svg}:void 0,children:r.status===`pending`?(0,M.jsx)(N,{className:PB.mermaidPending}):null})},sqr=e=>e,cqr={note:uIt,tip:fIt,important:gIt,warning:tB,caution:bIt},lqr={note:X.markdown_alert_note,tip:X.markdown_alert_tip,important:X.markdown_alert_important,warning:X.markdown_alert_warning,caution:X.markdown_alert_caution},uqr=e=>{if((0,A.isValidElement)(e))return/language-([\w-]+)/.exec(e.props.className??``)?.[1]},dqr=e=>{if(!(0,A.isValidElement)(e))return``;let{children:t}=e.props;return(Array.isArray(t)?t.join(``):String(t??``)).trim()},fqr=e=>typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(fqr).join(``):(0,A.isValidElement)(e)?fqr(e.props.children):``,pqr=e=>fqr(e).toLowerCase().replace(/[^\p{Letter}\p{Number}]+/gu,`-`).replace(/^-+|-+$/g,``)||void 0,mqr=e=>function({children:t,node:n,...r}){let i=`h${e}`;return(0,M.jsx)(i,{id:pqr(t),...r,children:t})},hqr={h1:mqr(1),h2:mqr(2),h3:mqr(3),h4:mqr(4),pre:({children:e,node:t,...n})=>{let r=Array.isArray(e)?e[0]:e,i=uqr(r);if(i===`mermaid`)return(0,M.jsx)(oqr,{code:dqr(r)});if(i===`gherkin`)return(0,M.jsx)(YKr,{code:dqr(r)});if(i===`decision`){let e=RKr(dqr(r));if(e)return(0,M.jsx)(VKr,{decision:e})}let a=dqr(r);return a?(0,M.jsx)(YQ,{code:a,language:i??`text`,copyLabel:X.markdown_copy(),copiedLabel:X.markdown_copied(),className:PB.markdownCode}):(0,M.jsx)(`pre`,{...n,children:e})},a:({href:e,children:t,node:n,...r})=>e&&kKr(e)?(0,M.jsx)(BKr,{uri:e,children:sqr(t)}):(0,M.jsx)(`a`,{href:e,...r,children:t}),blockquote:({children:e,className:t,node:n,...r})=>{let i=gKr(t);if(!i)return(0,M.jsx)(`blockquote`,{className:t,...r,children:e});let a=cqr[i];return(0,M.jsxs)(`blockquote`,{className:`${PB.markdownAlert} ${t??``}`,"data-alert":i,...r,children:[(0,M.jsxs)(`div`,{className:PB.markdownAlertLabel,children:[(0,M.jsx)(a,{size:14}),lqr[i]()]}),e]})},table:({children:e,node:t,...n})=>(0,M.jsx)(JKr,{className:PB.markdownTableScroll,label:X.markdown_table_label(),children:(0,M.jsx)(`table`,{...n,children:e})})},gqr=[fKr,yKr],_qr=e=>kKr(e)?e:pUr(e),vqr=({children:e,components:t,className:n,...r})=>{let i=(0,A.useMemo)(()=>t?{...hqr,...t}:hqr,[t]);return(0,M.jsx)(Oh,{className:n?`${PB.markdownBody} ${n}`:PB.markdownBody,...r,children:(0,M.jsx)(lUr,{remarkPlugins:gqr,components:i,urlTransform:_qr,children:e})})},yqr=({toolCallId:e,toolName:t,args:n,result:r,status:i,addResult:a})=>{let[o,s]=(0,A.useState)(!1);Pt();let{handleApproval:c,pendingApprovals:l}=VIr(),u=(()=>{if(!r)return null;let e=typeof r==`string`?(()=>{try{return JSON.parse(r)}catch{return null}})():r;return e&&typeof e==`object`&&e.__credentialRequired?e:null})(),d=l.find(t=>t.toolCallId===e&&t.type===`credential-request`),f=!!u||!!d,p=u??d,m=i.type===`requires-action`&&!f,h=n?.__approvalReason??l.find(t=>t.toolCallId===e&&t.type!==`credential-request`)?.reason,g={...n};delete g.__approvalReason;let[_,v]=(0,A.useState)(null),[y,b]=(0,A.useState)(!1),x=(0,A.useRef)(null);(0,A.useEffect)(()=>()=>{x.current&&=(clearInterval(x.current),null)},[]);let S=async()=>{v(`approved`),await c(e,!0)&&a?.({approved:!0})},C=async()=>{v(`denied`),await c(e,!1)&&a?.({approved:!1})};if(m&&!_)return(0,M.jsxs)(iu,{withBorder:!0,radius:`sm`,p:`sm`,my:4,bg:`var(--mantine-color-yellow-light)`,"data-testid":`approval-card`,"data-approval-state":`pending`,"data-tool-name":t,children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(BIt,{size:14,color:`var(--mantine-color-orange-6)`}),(0,M.jsx)(B,{size:`xs`,fw:600,children:X.agent_approval_required()})]}),h&&(0,M.jsx)(B,{size:`xs`,mb:4,"data-testid":`approval-reason`,children:V(h)}),(0,M.jsxs)(N,{component:`p`,style:{fontSize:`var(--mantine-font-size-xs)`,color:`var(--mantine-color-dimmed)`,margin:`0 0 4px`},children:[X.agent_approval_agent_wants_to_call(),` `,(0,M.jsx)(tf,{children:V(t)})]}),(0,M.jsx)(tf,{block:!0,style:{fontSize:11,marginBottom:8},children:V(JSON.stringify(g,null,2))}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`xs`,color:`green`,variant:`light`,onClick:S,"data-testid":`approval-approve`,children:X.agent_approval_approve()}),(0,M.jsx)(qv,{size:`xs`,color:`red`,variant:`light`,onClick:C,"data-testid":`approval-deny`,children:X.agent_approval_deny()})]})]});if(m&&_)return(0,M.jsx)(iu,{withBorder:!0,radius:`sm`,p:`sm`,my:4,"data-testid":`approval-card`,"data-approval-state":_,"data-tool-name":t,children:(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(BIt,{size:14,color:`var(--mantine-color-orange-6)`}),(0,M.jsx)(B,{size:`xs`,fw:600,children:V(t)}),(0,M.jsx)(sH,{type:`label`,color:_===`approved`?`green`:`red`,children:_===`approved`?X.agent_status_approved():X.agent_status_denied()})]})});if(f&&!_){let n=B_(),r=p?.connectUrl,i=r?.startsWith(`/`)?`${n}${r}`:r,o=async()=>{v(`approved`),await c(e,!0)&&a?.({approved:!0})};return(0,M.jsxs)(iu,{withBorder:!0,radius:`sm`,p:`sm`,my:4,bg:`var(--mantine-color-orange-light)`,"data-testid":`credential-card`,"data-credential-state":`pending`,"data-credential-name":p?.credentialName??``,children:[(0,M.jsxs)(gu,{gap:`xs`,mb:`xs`,children:[(0,M.jsx)(lB,{size:14,color:`var(--mantine-color-orange-6)`}),(0,M.jsx)(B,{size:`xs`,fw:600,children:V(t)}),(0,M.jsx)(sH,{type:`label`,color:`orange`,children:X.agent_credential_required()})]}),(0,M.jsxs)(N,{component:`p`,style:{fontSize:`var(--mantine-font-size-sm)`,margin:`0 0 var(--mantine-spacing-xs)`},children:[X.agent_credential_action_requires(),` `,(0,M.jsx)(`strong`,{children:V(p?.credentialName??`OAuth`)}),` `,X.agent_credential_to_be_connected()]}),y&&(0,M.jsx)(B,{size:`xs`,c:`red`,mb:`xs`,children:V(`Popup blocked — allow popups for this site, then click Connect again.`)}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`xs`,variant:`light`,onClick:()=>{if(p?.credentialType===`oauth2`&&i){let e=window.open(i,`oauth-connect`,`width=600,height=700`);if(!e){b(!0);return}x.current=setInterval(()=>{e.closed&&(clearInterval(x.current),x.current=null,o())},500)}else o()},"data-testid":`credential-connect`,children:V(`Connect ${p?.credentialName??`OAuth`}`)}),(0,M.jsx)(qv,{size:`xs`,color:`gray`,variant:`light`,onClick:async()=>{v(`denied`),await c(e,!1)&&a?.({approved:!1})},"data-testid":`credential-ignore`,children:X.agent_credential_ignore()})]})]})}return f&&_?(0,M.jsx)(iu,{withBorder:!0,radius:`sm`,p:`sm`,my:4,"data-testid":`credential-card`,"data-credential-state":_===`approved`?`connected`:`ignored`,"data-credential-name":p?.credentialName??``,children:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(lB,{size:14,color:`var(--mantine-color-orange-6)`}),(0,M.jsx)(B,{size:`xs`,fw:600,children:V(t)}),(0,M.jsx)(sH,{type:`label`,color:_===`approved`?`green`:`gray`,children:_===`approved`?X.agent_credential_connected():X.agent_credential_ignored()})]})}):(0,M.jsxs)(iu,{withBorder:!0,radius:`sm`,p:`xs`,my:4,"data-testid":`tool-call`,"data-tool-name":t,"data-tool-status":i.type,children:[(0,M.jsx)(ru,{onClick:()=>s(e=>!e),style:{width:`100%`},children:(0,M.jsxs)(gu,{gap:`xs`,children:[o?(0,M.jsx)(ez,{size:12}):(0,M.jsx)(tz,{size:12}),(0,M.jsx)(lB,{size:12}),(0,M.jsx)(B,{size:`xs`,fw:500,ff:`monospace`,children:V(t)}),i.type===`running`&&(0,M.jsx)(fu,{size:10}),i.type===`error`&&(0,M.jsx)(sH,{type:`label`,color:`red`,children:X.agent_toolcall_error()}),i.type===`denied`&&(0,M.jsx)(sH,{type:`label`,color:`red`,children:X.agent_toolcall_denied()}),i.type===`completed`&&(0,M.jsx)(sH,{type:`label`,color:`green`,children:X.agent_toolcall_done()})]})}),(0,M.jsx)(rc,{expanded:o,children:(0,M.jsxs)($m,{gap:4,mt:`xs`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_toolcall_arguments()}),(0,M.jsx)(tf,{block:!0,style:{fontSize:11},children:V(JSON.stringify(g,null,2))}),r!==void 0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_toolcall_result()}),(0,M.jsx)(tf,{block:!0,style:{fontSize:11},children:V(typeof r==`string`?r:JSON.stringify(r,null,2))})]})]})})]})},bqr=()=>(Pt(),(0,M.jsx)(N,{className:PB.chatMessageRight,children:(0,M.jsxs)(N,{maw:`80%`,children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_message_you()}),(0,M.jsx)(eLt,{size:14,color:`var(--mantine-color-dimmed)`})]}),(0,M.jsx)(iu,{p:`sm`,radius:`md`,style:{backgroundColor:`var(--mantine-color-default-hover)`},children:(0,M.jsx)(bTr.Content,{components:{Text:({text:e})=>(0,M.jsx)(B,{size:`sm`,style:{whiteSpace:`pre-wrap`},children:V(e)})}})})]})})),xqr=()=>(Pt(),(0,M.jsx)(N,{"data-testid":`assistant-block`,className:PB.chatMessageLeft,children:(0,M.jsxs)(N,{maw:`80%`,children:[(0,M.jsxs)(gu,{gap:6,mb:4,children:[(0,M.jsx)(QR,{size:14,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.agent_message_assistant()})]}),(0,M.jsxs)(iu,{p:`sm`,radius:`md`,bg:`var(--mantine-color-default-hover)`,children:[(0,M.jsx)(bTr.Content,{components:{Text:({text:e})=>(0,M.jsx)(vqr,{p:0,m:0,fz:`sm`,children:e}),tools:{Fallback:e=>(0,M.jsx)(yqr,{toolCallId:e.toolCallId,toolName:e.toolName,args:e.args,result:e.result,status:WIr(e.status,e.result),argsText:e.argsText,addResult:e.addResult})}}}),(0,M.jsx)(bTr.If,{last:!0,children:(0,M.jsx)(iEr.If,{running:!0,children:(0,M.jsxs)(gu,{gap:`xs`,mt:`xs`,children:[(0,M.jsx)(fu,{size:12}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.agent_message_thinking()})]})})})]})]})})),Sqr=({disabled:e})=>(Pt(),(0,M.jsx)(N,{py:`sm`,pb:`md`,children:(0,M.jsx)(jf,{size:`md`,children:(0,M.jsx)(hUr,{component:vwr.Root,input:(0,M.jsx)(vwr.Input,{className:mUr.composerInput,"data-testid":`agent-composer`,placeholder:e?X.agent_composer_approval_placeholder():X.agent_composer_message_placeholder(),rows:1,disabled:e??!1}),send:(0,M.jsx)(vwr.Send,{className:mUr.sendButton,disabled:e??!1,children:(0,M.jsx)(YR,{size:15})})})})})),Cqr=()=>{Pt();let{agentId:e,threadId:t,draftThreadId:n,refetchThreads:r,model:i,temperature:a,dbMessages:o}=c$n(),s=(0,A.useMemo)(()=>o&&o.length?GIr(o):void 0,[o]),c=(0,A.useCallback)(()=>{r()},[r]),l=`${B_()}/rpc/agent`,u=Vv(),d=(0,A.useMemo)(()=>u?.target?{[nye]:u.target.id}:void 0,[u?.target]),{runtime:f,isAwaitingApproval:p,pendingApprovals:m,handleApproval:h}=YIr({api:l,agentName:e,threadId:t??n,resourceId:`default`,onFinish:c,model:i,temperature:a,headers:d,credentials:`include`,initialMessages:s});return(0,M.jsx)(BIr.Provider,{value:{pendingApprovals:m,handleApproval:h},children:(0,M.jsx)(Ixr,{runtime:f,children:(0,M.jsx)($m,{gap:0,className:PB.flexColumn,children:(0,M.jsxs)(iEr.Root,{style:{display:`flex`,flexDirection:`column`,flex:1,minHeight:0},children:[(0,M.jsx)(iEr.Viewport,{asChild:!0,children:(0,M.jsx)(nu,{style:{flex:1,minHeight:0},type:`auto`,children:(0,M.jsx)(jf,{size:`md`,p:`md`,pb:`xl`,children:(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(iEr.Empty,{children:(0,M.jsx)($d,{style:{flex:1,minHeight:300},children:(0,M.jsxs)($m,{align:`center`,gap:`xs`,children:[(0,M.jsx)(QR,{size:40,color:`var(--mantine-color-default-border)`}),(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:t?X.agent_empty_send_message():X.agent_empty_start_conversation()})]})})}),(0,M.jsx)(iEr.Messages,{components:{UserMessage:bqr,AssistantMessage:xqr}})]})})})}),(0,M.jsx)(Sqr,{disabled:p})]})})})})},wqr=({requirements:e,onRefresh:t})=>{Pt();let n=B_(),r=e.filter(e=>!e.connected),i=e=>{let r=`${n}/credentials/${e}/connect`,i=window.open(r,`oauth-connect`,`width=600,height=700`),a=setInterval(()=>{(!i||i.closed)&&(clearInterval(a),t())},500)};return(0,M.jsx)($d,{h:`100%`,p:`xl`,children:(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`xl`,maw:480,w:`100%`,"data-testid":`agent-credential-prompt`,children:(0,M.jsxs)($m,{gap:`md`,align:`center`,children:[(0,M.jsx)(vz,{size:32,color:`var(--mantine-color-orange-6)`}),(0,M.jsx)(B,{fw:600,size:`lg`,ta:`center`,children:X.agent_playground_connect_accounts()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,children:X.agent_playground_credentials_required()}),(0,M.jsx)($m,{gap:`xs`,w:`100%`,children:r.map(e=>(0,M.jsxs)(gu,{justify:`space-between`,p:`sm`,"data-testid":`agent-credential-requirement`,"data-credential-name":e.credentialName,style:{border:`1px solid var(--mantine-color-default-border)`,borderRadius:`var(--mantine-radius-sm)`},children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(Sz,{size:16,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.displayName)})]}),(0,M.jsx)(qv,{size:`xs`,variant:`light`,onClick:()=>i(e.credentialName),children:X.agent_playground_connect()})]},e.credentialName))})]})})})},Tqr=()=>{let{agentId:e}=Qdr(),{threadId:t,dbMessages:n}=c$n(),{requirements:r,allConnected:i,loading:a,refetch:o}=rfr(e);return(0,M.jsx)(N,{style:{height:`100%`,display:`flex`,flexDirection:`column`},children:(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:!a&&!i?(0,M.jsx)(wqr,{requirements:r,onRefresh:o}):t!=null&&n===void 0?(0,M.jsx)(XB,{}):(0,M.jsx)(Cqr,{},`${e}-${t}`)})})},Eqr=()=>(0,M.jsx)(D0n,{lead:(0,M.jsx)(tfr,{}),storageKey:`agent`,listLabel:X.pane_conversations(),runsPanel:(0,M.jsx)(nfr,{}),runsPanelVisible:!0,emptyPanelMessage:X.agent_playground_panel_message(),children:(0,M.jsx)(Tqr,{})}),Dqr=()=>{let{meta:e}=MB();return(0,A.useMemo)(()=>e.agentsMeta?Object.entries(e.agentsMeta).map(([e,t])=>({name:e,description:t?.summary})):[],[e.agentsMeta])},Oqr=()=>{let[e]=Gv(),t=z(),{meta:n,loading:r}=MB(),i=e.get(`id`)||``;return{agentId:i,agentData:n.agentsMeta?.[i],agentItems:Dqr(),selectAgent:e=>t(`/agents/playground?id=${encodeURIComponent(e)}`),loading:r}},kqr=()=>{Pt();let{agentId:e,agentData:t,agentItems:n,selectAgent:r,loading:i}=Oqr();return i?(0,M.jsx)(XB,{h:`100vh`}):!e||!t?(0,M.jsx)(Q3,{icon:QR,title:e?V(`Agent "${e}" not found`):X.agent_playground_no_agent_selected(),description:e?X.agent_playground_agent_not_found_description():X.agent_playground_select_agent_description(),docsHref:`https://pikku.dev/docs/core-features/agents`}):(0,M.jsx)(efr,{agentId:e,agentData:t,agentItems:n,onAgentSelect:r,children:(0,M.jsx)(Eqr,{})})},Aqr=()=>{Pt();let{data:e,isLoading:t}=a$n();return(0,M.jsx)(ZV,{children:(0,M.jsx)($3,{title:`Scorers`,icon:sIt,docsHref:`https://pikku.dev/docs/wiring/agents`,data:e??[],columns:[{key:`name`,header:`SCORER`,render:e=>(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{fw:500,children:V(e.name)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.description)})]})},{key:`lane`,header:`LANE`,render:e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`lane`,value:e.lane===`fast`?X.scorers_lane_fast():X.scorers_lane_slow()})},{key:`sampling`,header:`SAMPLING`,align:`right`,render:e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:e.requiresReference?`dimmed`:void 0,children:e.requiresReference?X.scorers_reference_only():e.sampleRate<=0?X.scorers_sample_never():e.sampleRate>=1?X.scorers_sample_all():X.scorers_sample_fraction({percent:Math.round(e.sampleRate*100)})})},{key:`agents`,header:`AGENTS`,align:`right`,render:e=>e.agents.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scorers_unused()}):(0,M.jsx)(gu,{gap:6,justify:`flex-end`,children:e.agents.map(e=>(0,M.jsx)(sH,{type:`dynamic`,badge:`agent`,value:e},e))})}],getKey:e=>e.name,searchPlaceholder:X.scorers_search_placeholder(),searchFilter:(e,t)=>e.name.toLowerCase().includes(t.toLowerCase())||e.description.toLowerCase().includes(t.toLowerCase()),emptyTitle:X.scorers_empty_title(),emptyDescription:X.scorers_empty_description(),loading:t})})},jqr=({namespace:e,result:t})=>{let n=[...t.missingSecrets.map(e=>({key:`secret-${e}`,label:X.packages_install_missing_secret({name:e})})),...t.missingVariables.map(e=>({key:`variable-${e}`,label:X.packages_install_missing_variable({name:e})}))];return(0,M.jsxs)($m,{gap:`md`,"data-testid":`addon-install-outcome`,children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)($R,{size:18}),(0,M.jsx)(B,{fw:600,children:X.packages_install_installed_as({namespace:e})})]}),t.restartRequired&&(0,M.jsxs)(gu,{gap:`xs`,"data-testid":`addon-install-restart-required`,children:[(0,M.jsx)(NIt,{size:16}),(0,M.jsx)(B,{size:`sm`,children:X.packages_install_restart_required()})]}),n.length===0?(0,M.jsx)(Yv,{color:`green`,"data-testid":`addon-install-ready`,children:X.packages_install_ready()}):(0,M.jsx)(ty,{color:`yellow`,icon:(0,M.jsx)(tB,{size:16}),title:X.packages_install_missing_title(),"data-testid":`addon-install-missing`,children:(0,M.jsx)(vye,{size:`sm`,children:n.map(({key:e,label:t})=>(0,M.jsx)(vye.Item,{"data-testid":`addon-install-missing-item`,children:t},e))})})]})},Mqr=({icon:e,category:t,docsHref:n,categoryPath:r,currentItem:i,items:a,onItemSelect:o,subtitle:s,tabs:c,rightSection:l})=>{let u=Uv();Pt();let[d,f]=(0,A.useState)(!1),[p,m]=(0,A.useState)(``),h=(0,A.useMemo)(()=>{if(!a)return[];if(!p)return a;let e=p.toLowerCase();return a.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[a,p]),g=e=>{f(!1),m(``),o?.(e)};return(0,M.jsxs)(gu,{gap:`xs`,px:`md`,h:50,className:PB.noShrink,style:{zIndex:9999,borderBottom:`1px solid var(--mantine-color-default-border)`,backgroundColor:`var(--mantine-color-body)`},children:[r?(0,M.jsx)(u,{to:r,style:{textDecoration:`none`},children:(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:V(t)})}):i?(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:V(t)}):null,i&&!a&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:X.detail_header_separator()}),(0,M.jsx)(B,{size:`md`,fw:500,children:V(i)})]}),i&&a&&o&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:X.detail_header_separator()}),(0,M.jsxs)(uu,{opened:d,onChange:f,width:300,position:`bottom-start`,shadow:`md`,zIndex:1e4,children:[(0,M.jsx)(uu.Target,{children:(0,M.jsxs)(ru,{onClick:()=>f(e=>!e),style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,M.jsx)(B,{size:`md`,fw:500,children:V(i)}),(0,M.jsx)(ez,{size:14})]})}),(0,M.jsxs)(uu.Dropdown,{p:0,children:[(0,M.jsx)(ry,{placeholder:V(`Search ${t.toLowerCase()}...`),leftSection:(0,M.jsx)(Vz,{size:14}),value:p,onChange:e=>m(e.currentTarget.value),styles:{input:{border:`none`,borderBottom:`1px solid var(--mantine-color-default-border)`,borderRadius:0}}}),(0,M.jsx)(nu.Autosize,{mah:300,children:(0,M.jsxs)($m,{gap:0,children:[h.map(e=>(0,M.jsxs)(ru,{onClick:()=>g(e.name),py:`xs`,px:`sm`,style:{display:`flex`,alignItems:`center`,gap:8,backgroundColor:e.name===i?`var(--mantine-color-green-light)`:void 0},children:[e.name===i&&(0,M.jsx)($R,{size:14,color:`var(--mantine-color-green-6)`}),(0,M.jsxs)(`div`,{style:{marginLeft:e.name===i?0:22},children:[(0,M.jsx)(B,{size:`sm`,fw:e.name===i?500:400,children:V(e.name)}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)})]})]},e.name)),h.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,py:`md`,children:X.detail_header_no_results()})]})})]})]})]}),s,c&&(0,M.jsx)(N,{ml:`md`,children:c}),(0,M.jsxs)(gu,{ml:`auto`,gap:`sm`,children:[l,(0,M.jsx)(Qv,{label:V(`${t} docs`),children:(0,M.jsx)(Xv,{component:`a`,href:n,target:`_blank`,rel:`noopener noreferrer`,variant:`subtle`,color:`gray`,size:`sm`,children:(0,M.jsx)(dz,{size:14})})})]})]})},Nqr=({functions:e,functionUsedBy:t})=>{let{openFunction:n}=qB(),{functionUsedBy:r}=MB(),i=t??r,a=(0,A.useMemo)(()=>e?e.filter(e=>{let t=e.pikkuFuncId;return(!e.functionType||e.functionType===`user`)&&!t?.startsWith(`pikku`)}):[],[e]),o=(0,A.useMemo)(()=>[{key:`name`,header:`NAME`,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(B,{fw:500,truncate:!0,children:V(t)}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,truncate:!0,style:!e.summary&&!e.description?{opacity:.4}:void 0,children:V(e.summary||e.description||`No description`)})]})}},{key:`type`,header:`TYPE`,width:160,render:e=>(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[eH[e.funcWrapper]&&(0,M.jsx)(sH,{type:`funcWrapper`,value:e.funcWrapper}),e.expose===!0&&(0,M.jsx)(sH,{type:`flag`,flag:`exposed`}),e.internal===!0&&(0,M.jsx)(sH,{type:`flag`,flag:`internal`})]})},{key:`auth`,header:`AUTH`,width:70,render:e=>e.sessionless===!0?null:(0,M.jsx)(sH,{type:`flag`,flag:`auth`})},{key:`permissions`,header:`PERMISSIONS`,width:110,render:e=>e.permissions?.length>0?(0,M.jsx)(sH,{type:`flag`,flag:`permissioned`}):null},{key:`wirings`,header:`WIRINGS`,width:130,render:e=>{let t=e.pikkuFuncName||e.pikkuFuncId,n=i.get(t),r=n?n.transports.length+n.jobs.length:0;return r===0?null:(0,M.jsx)(sH,{type:`dynamic`,badge:`wirings`,value:r})}}],[i]);return(0,M.jsx)($3,{title:`Functions`,icon:Zz,docsHref:`https://pikku.dev/docs/core-features/functions`,data:a,columns:o,getKey:e=>e.pikkuFuncName||e.pikkuFuncId,onRowClick:e=>n(e.pikkuFuncName||e.pikkuFuncId,e),searchPlaceholder:V(`Search functions...`),searchFilter:(e,t)=>e.pikkuFuncId?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t),emptyMessage:V(`No functions found.`)})},Pqr=`addon-setup-cred-status`,Fqr=({credentials:e,secrets:t,credentialOverrides:n,secretOverrides:r})=>{Pt();let i=W_(),a=e=>n?.[e]??e,o=e=>r?.[e]??e,s=Object.values(e??{}).filter(e=>!!e.oauth2),c=Object.values(t??{}),l=s.map(e=>a(e.name)),{data:u}=Ji({queryKey:[Pqr,[...l].sort()],queryFn:async()=>(await i.invoke(`admin:credentialStatus`,{names:l})).statuses??{},enabled:s.length>0});return s.length===0&&c.length===0?(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(B,{c:`dimmed`,size:`sm`,children:X.addon_setup_none()})}):(0,M.jsx)(N,{p:`md`,children:(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.addon_setup_intro()}),s.length>0&&(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsx)(B,{fw:600,size:`sm`,children:X.addon_setup_oauth_heading()}),(0,M.jsx)(Um,{cols:{base:1,sm:2},spacing:`md`,children:s.map(e=>{let t=a(e.name);return(0,M.jsx)(Lqr,{credential:e,resolvedName:t,isConnected:u?.[t]===!0},e.name)})})]}),c.length>0&&(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsx)(B,{fw:600,size:`sm`,children:X.addon_setup_secrets_heading()}),(0,M.jsx)(Um,{cols:{base:1,sm:2},spacing:`md`,children:c.map(e=>(0,M.jsx)(Rqr,{secret:e,resolvedSecretId:o(e.secretId)},e.name))})]})]})})},Iqr=({ok:e,okLabel:t,badLabel:n})=>(0,M.jsxs)(gu,{gap:6,children:[e?(0,M.jsx)(az,{size:8,fill:`var(--mantine-color-teal-6)`,color:`var(--mantine-color-teal-6)`}):(0,M.jsx)(az,{size:8,color:`var(--mantine-color-gray-5)`}),(0,M.jsx)(B,{size:`sm`,c:e?`teal.6`:`dimmed`,children:e?t:n})]}),Lqr=({credential:e,resolvedName:t,isConnected:n})=>{Pt();let r=W_(),i=Bv(),a=Ri(),o=t!==e.name,s=Yi({mutationFn:async()=>{let{data:e,error:n}=await i.client.$fetch(`/credential-oauth/link`,{method:`POST`,body:{providerId:t,callbackURL:window.location.href}});if(n)throw Error(n.message??X.credentials_connect_failed());if(!e?.url)throw Error(X.credentials_connect_failed());window.location.href=e.url}}),c=Yi({mutationFn:async()=>{await r.invoke(`admin:credentialDelete`,{name:t})},onSuccess:()=>{a.invalidateQueries({queryKey:[Pqr]})}});return(0,M.jsx)(Qd,{shadow:`xs`,padding:`lg`,radius:`md`,withBorder:!0,"data-testid":`oauth-requirement-${e.name}`,"data-resolved-name":t,"data-connected":String(n),children:(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsxs)(gu,{justify:`space-between`,children:[(0,M.jsx)(B,{fw:600,size:`sm`,children:V(e.displayName??e.name)}),(0,M.jsx)(Sz,{size:16,color:`var(--mantine-color-dimmed)`})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:2,children:V(e.description)}),o&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(t)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`violet`,children:X.credentials_type_oauth2()}),(0,M.jsx)(Iqr,{ok:n,okLabel:X.credentials_connected(),badLabel:X.credentials_not_connected()}),(0,M.jsx)(N,{mt:4,children:n?(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,disabled:!i?.user,onClick:()=>s.mutate(),loading:s.isPending,"data-testid":`requirement-reconnect-${e.name}`,children:X.credentials_reconnect()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,color:`red`,onClick:()=>c.mutate(),loading:c.isPending,"data-testid":`requirement-disconnect-${e.name}`,children:X.credentials_disconnect()})]}):(0,M.jsx)(qv,{size:`compact-xs`,disabled:!i?.user,onClick:()=>s.mutate(),loading:s.isPending,leftSection:(0,M.jsx)(Sz,{size:12}),"data-testid":`requirement-connect-${e.name}`,children:X.credentials_connect()})}),s.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),children:V(String(s.error?.message??``))})]})})},Rqr=({secret:e,resolvedSecretId:t})=>{Pt();let n=w$n(),[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),{data:s}=C$n(t,!0),c=s?.exists===!0;return(0,M.jsx)(Qd,{shadow:`xs`,padding:`lg`,radius:`md`,withBorder:!0,"data-testid":`secret-requirement-${e.name}`,"data-secret-id":t,"data-set":String(c),children:(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsxs)(gu,{justify:`space-between`,children:[(0,M.jsx)(B,{fw:600,size:`sm`,children:V(e.displayName??e.name)}),(0,M.jsx)(vz,{size:16,color:`var(--mantine-color-dimmed)`})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:2,children:V(e.description)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(t)}),(0,M.jsx)(Iqr,{ok:c,okLabel:X.addon_setup_secret_set(),badLabel:X.addon_setup_secret_not_set()}),r?(0,M.jsxs)($m,{gap:`xs`,mt:4,children:[(0,M.jsx)(ry,{size:`xs`,type:`password`,value:a,placeholder:X.addon_setup_secret_placeholder(),onChange:e=>o(e.currentTarget.value),autoFocus:!0,"data-testid":`secret-input-${e.name}`}),(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(qv,{size:`compact-xs`,onClick:()=>{n.mutate({secretId:t,value:a},{onSuccess:()=>{i(!1),o(``)}})},loading:n.isPending,disabled:a.length===0,leftSection:(0,M.jsx)($R,{size:12}),"data-testid":`secret-save-${e.name}`,children:X.addon_setup_secret_save()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`subtle`,color:`gray`,onClick:()=>{i(!1),o(``)},children:X.common_cancel()})]})]}):(0,M.jsx)(N,{mt:4,children:(0,M.jsx)(qv,{size:`compact-xs`,variant:c?`light`:void 0,onClick:()=>i(!0),leftSection:(0,M.jsx)(vz,{size:12}),"data-testid":`secret-set-${e.name}`,children:c?X.addon_setup_secret_update_action():X.addon_setup_secret_set_action()})}),n.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),children:V(String(n.error?.message??``))})]})})},zqr=({icon:e,name:t,size:n=72})=>{if(e){let r=e.startsWith(`<`)?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`:e;return(0,M.jsx)(`img`,{src:r,width:n,height:n,alt:t,style:{objectFit:`contain`,display:`block`}})}return(0,M.jsx)(wh,{size:n,radius:`md`,variant:`light`,color:`gray`,children:(0,M.jsx)(jz,{size:n*.5})})},Bqr=({headers:e,rows:t})=>(0,M.jsxs)(mh,{highlightOnHover:!0,withRowBorders:!0,children:[(0,M.jsx)(mh.Thead,{children:(0,M.jsx)(mh.Tr,{children:e.map((t,n)=>(0,M.jsx)(mh.Th,{pl:n===0?`md`:void 0,pr:n===e.length-1?`md`:void 0,c:`dimmed`,fw:500,fz:`xs`,children:t},t))})}),(0,M.jsx)(mh.Tbody,{children:t.map((e,t)=>(0,M.jsx)(mh.Tr,{style:{height:`3.75rem`},children:e.map((t,n)=>(0,M.jsx)(mh.Td,{pl:n===0?`md`:void 0,pr:n===e.length-1?`md`:void 0,children:t},n))},t))})]}),Vqr=({httpRoutes:e})=>{let t=[];for(let[n,r]of Object.entries(e??{}))for(let[,e]of Object.entries(r))n!==`options`&&t.push({method:n.toUpperCase(),route:e.route,sse:e.sse});return Pt(),(0,M.jsx)(Bqr,{headers:[`METHOD`,`ROUTE`,``],rows:t.map(e=>[(0,M.jsx)(tf,{children:e.method},`m`),(0,M.jsx)(B,{size:`sm`,fw:500,ff:`monospace`,children:V(e.route)},`r`),e.sse?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`teal`,children:X.package_detail_sse()},`s`):null])})},Hqr=({channels:e})=>(0,M.jsx)(Bqr,{headers:[`NAME`,`ROUTE`],rows:Object.entries(e??{}).map(([e,t])=>[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e)},`n`),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(t.route)},`r`)])}),Uqr=({cli:e})=>{let t=[];for(let[n,r]of Object.entries(e??{}))for(let[e,i]of Object.entries(r.commands??{}))t.push({program:n,command:e,description:i.description});return(0,M.jsx)(Bqr,{headers:[`PROGRAM`,`COMMAND`,`DESCRIPTION`],rows:t.map(e=>[(0,M.jsx)(tf,{children:e.program},`p`),(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.command)},`c`),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description??``)},`d`)])})},Wqr=({mcp:e})=>{let t=[];for(let[n,r]of Object.entries(e.toolsMeta??{}))t.push({type:`Tool`,name:n,description:r.description});for(let[n,r]of Object.entries(e.resourcesMeta??{}))t.push({type:`Resource`,name:n,description:r.description});for(let[n]of Object.entries(e.promptsMeta??{}))t.push({type:`Prompt`,name:n});return(0,M.jsx)(Bqr,{headers:[`TYPE`,`NAME`,`DESCRIPTION`],rows:t.map(e=>[(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e.type===`Tool`?`blue`:e.type===`Resource`?`violet`:`orange`,children:V(e.type)},`t`),(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.name)},`n`),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description??``)},`d`)])})},Gqr=({id:e,source:t,onBack:n})=>{let r=W_(),i=Y3(),a=Ri();Pt();let[o,s]=A.useState(null),[c]=A.useState(()=>Date.now()),[l,u]=A.useState(!1);A.useEffect(()=>{let e=setTimeout(()=>u(!0),2e4);return()=>clearTimeout(e)},[]);let{data:d}=Ji({queryKey:[`installed-addons`],queryFn:async()=>await r.invoke(`console:getInstalledAddons`)??[],staleTime:6e4}),f=(d??[]).find(t=>t.packageName===e),p=t===`installed`||!!f,{data:m}=Ji({queryKey:[`addon-instances`,e],queryFn:async()=>await r.invoke(`console:getAddonInstances`,{packageName:e}),enabled:p,staleTime:6e4}),h=m??[],[g,_]=A.useState(null),v=h.find(e=>e.namespace===g)??h[0],{data:y}=Ji({queryKey:[`addon`,`installed`,e],queryFn:async()=>await r.invoke(`console:getAddonInstalledPackage`,{packageName:e}),enabled:p&&t===`community`}),b=Yi({mutationFn:async({packageName:e,namespace:t,version:n})=>r.invoke(`console:installAddon`,{packageName:e,namespace:t,version:n}),onSuccess:(e,{packageName:t})=>{a.invalidateQueries({queryKey:[`installed-addons`]}),a.invalidateQueries({queryKey:[`allMeta`]}),vZn(a,t,e)}}),x=Yi({mutationFn:async({name:e,swaggerUrl:t,credential:n})=>r.invoke(`console:installOpenapiAddon`,{name:e,swaggerUrl:t,credential:n}),onSuccess:()=>{a.invalidateQueries({queryKey:[`installed-addons`]}),a.invalidateQueries({queryKey:[`allMeta`]})}}),{data:S}=Ji({queryKey:[`openapi-detail`,e],queryFn:async()=>{let t=a.getQueriesData({queryKey:[`openapis`]});for(let[,n]of t){let t=n?.apis?.find(t=>t.name===e);if(t)return t}return(await r.invoke(`console:getOpenapis`,{limit:2600,offset:0})).apis?.find(t=>t.name===e)??null},enabled:t===`api`}),{data:C,isLoading:w}=Ji({queryKey:[`addon`,t,e],queryFn:async()=>{let n=await(t===`installed`?r.invoke(`console:getAddonInstalledPackage`,{packageName:e}):r.invoke(`console:getAddonCommunityPackage`,{id:e}));if(n?.schemas)for(let[e,t]of Object.entries(n.schemas))a.setQueryData([`schema`,e],t);return n},enabled:t!==`api`,refetchInterval:e=>t!==`installed`||e.state.data||l?!1:Date.now()-c<2e4&&1500}),T=yZn(a,e),E=t===`installed`&&!C&&!l&&!T;if(t===`api`){let e=S;return e?(0,M.jsx)(Z3,{header:(0,M.jsx)(Mqr,{icon:_z,category:`APIs`,categoryPath:`/addons`,docsHref:`https://pikku.dev/docs/external-packages`}),hidePanel:!0,children:(0,M.jsx)(N,{p:`xl`,children:(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)(gu,{gap:`md`,children:[e.logo&&(0,M.jsx)(`img`,{src:e.logo,width:48,height:48,alt:e.title,style:{objectFit:`contain`,borderRadius:6}}),(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`xl`,fw:700,children:V(e.title||e.name)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(e.openapiVer)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,children:V(`v${e.version}`)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`${e.provider}${e.service?` / ${e.service}`:``}`)})]})]}),e.description&&(0,M.jsx)(B,{size:`sm`,children:V(e.description)}),(e.categories?.length>0||e.tags?.length>0)&&(0,M.jsxs)(gu,{gap:6,children:[e.categories?.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,children:V(e)},e)),e.tags?.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`dot`,children:V(e)},e))]}),e.totalOperations>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:X.package_detail_operations({count:e.totalOperations})}),(0,M.jsxs)(gu,{gap:6,children:[e.opsGet>0&&(0,M.jsx)(Yv,{size:`sm`,color:`blue`,children:V(`GET ${e.opsGet}`)}),e.opsPost>0&&(0,M.jsx)(Yv,{size:`sm`,color:`green`,children:V(`POST ${e.opsPost}`)}),e.opsPut>0&&(0,M.jsx)(Yv,{size:`sm`,color:`yellow`,children:V(`PUT ${e.opsPut}`)}),e.opsPatch>0&&(0,M.jsx)(Yv,{size:`sm`,color:`orange`,children:V(`PATCH ${e.opsPatch}`)}),e.opsDelete>0&&(0,M.jsx)(Yv,{size:`sm`,color:`red`,children:V(`DELETE ${e.opsDelete}`)})]})]}),e.servers?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:X.package_detail_servers()}),e.servers.map(e=>(0,M.jsx)(tf,{block:!0,style:{fontSize:`12px`},children:e},e))]}),e.securitySchemes?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:X.package_detail_authentication()}),(0,M.jsx)(gu,{gap:6,children:e.securitySchemes.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`outline`,color:`gray`,children:V(e)},e))})]}),e.contentTypes?.length>0&&(0,M.jsxs)(N,{children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,mb:4,children:X.package_detail_content_types()}),(0,M.jsx)(gu,{gap:6,children:e.contentTypes.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`outline`,color:`gray`,children:V(e)},e))})]}),(0,M.jsxs)(gu,{gap:`xs`,children:[e.swaggerUrl&&(0,M.jsx)(qv,{size:`sm`,variant:`light`,component:`a`,href:e.swaggerUrl,target:`_blank`,leftSection:(0,M.jsx)(ZR,{size:13}),children:X.package_detail_openapi_json()}),e.swaggerYamlUrl&&(0,M.jsx)(qv,{size:`sm`,variant:`light`,component:`a`,href:e.swaggerYamlUrl,target:`_blank`,leftSection:(0,M.jsx)(ZR,{size:13}),children:X.package_detail_openapi_yaml()}),i&&(0,M.jsx)(qv,{size:`sm`,leftSection:(0,M.jsx)(uz,{size:13}),loading:x.isPending,onClick:()=>{let t=e.name.replace(/[^a-zA-Z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``);/^[0-9]/.test(t)&&(t=`x${t}`);let n=e.securitySchemes?.includes(`oauth2`)?`oauth2`:e.securitySchemes?.includes(`bearer`)?`bearer`:e.securitySchemes?.includes(`apiKey`)?`apikey`:void 0;x.mutate({name:t,swaggerUrl:e.swaggerUrl,credential:n})},children:X.package_detail_generate_install_addon()})]}),x.isSuccess&&(0,M.jsx)(ty,{color:`green`,icon:(0,M.jsx)($R,{size:16}),children:X.package_detail_addon_installed_success()}),x.error&&(0,M.jsx)(ty,{color:`red`,children:V(x.error.message)})]})})}):(0,M.jsx)(XB,{h:`100vh`})}if(w||E)return(0,M.jsx)(XB,{h:`100vh`});if(!C)return(0,M.jsx)(Z3,{header:(0,M.jsx)(Mqr,{icon:jz,category:`Addons`,categoryPath:`/addons`,docsHref:`https://pikku.dev/docs/external-packages`}),hidePanel:!0,children:(0,M.jsx)(N,{p:`xl`,children:T?(0,M.jsx)(jqr,{namespace:v?.namespace??T.namespace,result:T}):(0,M.jsx)(B,{c:`dimmed`,children:X.package_detail_not_found()})})});let D=Object.entries(C.functions??{}),O=Object.entries(C.agents??{}),k=Object.entries(C.secrets??{}),ee=Object.entries(C.credentials??{}).filter(([,e])=>!!e.oauth2).length>0||k.length>0,te=Object.entries(C.variables??{}),ne=Object.values(C.httpRoutes??{}).reduce((e,t)=>e+Object.keys(t).length,0),re=Object.entries(C.channels??{}),ie=Object.values(C.cli??{}).reduce((e,t)=>e+Object.keys(t.commands??{}).length,0),ae=Object.keys(C.mcp?.toolsMeta??{}).length+Object.keys(C.mcp?.resourcesMeta??{}).length+Object.keys(C.mcp?.promptsMeta??{}).length,oe=ee?`setup`:C.readme?`readme`:D.length>0?`functions`:O.length>0?`agents`:ne>0?`http`:re.length>0?`channels`:ie>0?`cli`:ae>0?`mcp`:k.length>0?`secrets`:`variables`,se=o??oe,ce=[`functions`,`secrets`,`variables`].includes(se),le=se===`secrets`?X.package_detail_select_secret():se===`variables`?X.package_detail_select_variable():X.package_detail_select_function();return(0,M.jsx)(Z3,{header:(0,M.jsx)(Mqr,{icon:jz,category:`Addons`,categoryPath:`/addons`,docsHref:`https://pikku.dev/docs/external-packages`,subtitle:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:V(`/`)}),(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:V(C.displayName)}),(0,M.jsx)(B,{size:`md`,c:`dimmed`,children:V(`/`)}),(0,M.jsx)(B,{size:`md`,fw:500,children:V(C.version)})]})}),hidePanel:!ce,emptyPanelMessage:le,children:(0,M.jsxs)($m,{gap:0,children:[(0,M.jsx)(N,{px:`md`,py:`md`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsxs)(gu,{align:`flex-start`,gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(zqr,{icon:C.icon,name:C.displayName,size:48}),(0,M.jsxs)($m,{gap:4,className:PB.flexGrow,children:[(0,M.jsxs)(gu,{gap:`sm`,align:`center`,justify:`space-between`,children:[(0,M.jsxs)(gu,{gap:`xs`,align:`center`,children:[(0,M.jsx)(B,{fw:600,size:`lg`,children:V(C.displayName)}),C.author&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`by ${C.author}`)}),C.license&&(0,M.jsx)(Yv,{size:`sm`,variant:`outline`,color:`gray`,children:V(C.license)}),C.repository&&(0,M.jsx)(Jv,{size:`sm`,href:C.repository,target:`_blank`,rel:`noopener noreferrer`,c:`dimmed`,children:V(C.repository.replace(/^https?:\/\//,``))})]}),i&&(()=>{let e=C.version,t=y?.version;return p&&t&&e&&t!==e?(0,M.jsx)(qv,{size:`sm`,color:`yellow`,leftSection:(0,M.jsx)(YR,{size:13}),loading:b.isPending,onClick:()=>b.mutate({packageName:C.name,namespace:f?.namespace??C.name.replace(`@pikku/addon-`,``).replace(/^@.*\//,``),version:e}),children:V(`Update to ${e}`)}):p?(0,M.jsx)(qv,{size:`sm`,variant:`light`,color:`green`,leftSection:(0,M.jsx)($R,{size:13}),disabled:!0,children:X.package_detail_installed()}):(0,M.jsx)(qv,{size:`sm`,leftSection:(0,M.jsx)(uz,{size:13}),loading:b.isPending,onClick:()=>b.mutate({packageName:C.name,namespace:C.name.replace(`@pikku/addon-`,``).replace(/^@.*\//,``),version:e}),children:X.package_detail_install()})})()]}),C.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(C.description)}),(C.tags??[]).length>0&&(0,M.jsx)(gu,{gap:`xs`,children:C.tags.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`dot`,children:V(e)},e))})]})]})}),(0,M.jsxs)(uy,{value:se,onChange:s,children:[(0,M.jsx)(N,{style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsxs)(uy.List,{style:{borderBottom:`none`},children:[ee&&(0,M.jsx)(uy.Tab,{value:`setup`,leftSection:(0,M.jsx)(lB,{size:14}),"data-testid":`package-tab-setup`,children:X.package_detail_tab_setup()}),C.readme&&(0,M.jsx)(uy.Tab,{value:`readme`,leftSection:(0,M.jsx)(ZR,{size:14}),children:X.package_detail_tab_readme()}),D.length>0&&(0,M.jsx)(uy.Tab,{value:`functions`,leftSection:(0,M.jsx)(sz,{size:14}),children:V(`Functions (${D.length})`)}),O.length>0&&(0,M.jsx)(uy.Tab,{value:`agents`,leftSection:(0,M.jsx)(QR,{size:14}),children:V(`Agents (${O.length})`)}),ne>0&&(0,M.jsx)(uy.Tab,{value:`http`,leftSection:(0,M.jsx)(_z,{size:14}),children:V(`HTTP Routes (${ne})`)}),re.length>0&&(0,M.jsx)(uy.Tab,{value:`channels`,leftSection:(0,M.jsx)(Iz,{size:14}),children:V(`Channels (${re.length})`)}),ie>0&&(0,M.jsx)(uy.Tab,{value:`cli`,leftSection:(0,M.jsx)(Qz,{size:14}),children:V(`CLI (${ie})`)}),ae>0&&(0,M.jsx)(uy.Tab,{value:`mcp`,leftSection:(0,M.jsx)(cz,{size:14}),children:V(`MCP (${ae})`)}),(0,M.jsx)(uy.Tab,{value:`secrets`,leftSection:(0,M.jsx)(vz,{size:14}),disabled:k.length===0,children:V(`Secrets (${k.length})`)}),(0,M.jsx)(uy.Tab,{value:`variables`,leftSection:(0,M.jsx)(LIt,{size:14}),disabled:te.length===0,children:V(`Variables (${te.length})`)})]})}),ee&&(0,M.jsxs)(uy.Panel,{value:`setup`,children:[h.length>1&&(0,M.jsx)(N,{px:`md`,pt:`md`,children:(0,M.jsx)(oy,{label:X.package_detail_instance_label(),description:X.package_detail_instance_description(),data:h.map(e=>e.namespace),value:v?.namespace??null,onChange:_,allowDeselect:!1,maw:320,"data-testid":`addon-instance-select`})}),(0,M.jsx)(Fqr,{credentials:C.credentials??{},secrets:C.secrets??{},credentialOverrides:v?.credentialOverrides,secretOverrides:v?.secretOverrides})]}),C.readme&&(0,M.jsx)(uy.Panel,{value:`readme`,children:(0,M.jsx)(vqr,{px:`xl`,py:`md`,style:{maxHeight:`calc(100vh - 280px)`,overflow:`auto`},children:C.readme})}),D.length>0&&(0,M.jsx)(uy.Panel,{value:`functions`,children:(0,M.jsx)(Nqr,{functions:D.map(([e,t])=>({...t,pikkuFuncId:e})),functionUsedBy:new Map})}),O.length>0&&(0,M.jsx)(uy.Panel,{value:`agents`,children:(0,M.jsx)(Bqr,{headers:[`NAME`],rows:O.map(([e])=>[(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e)},e)])})}),ne>0&&(0,M.jsx)(uy.Panel,{value:`http`,children:(0,M.jsx)(Vqr,{httpRoutes:C.httpRoutes})}),re.length>0&&(0,M.jsx)(uy.Panel,{value:`channels`,children:(0,M.jsx)(Hqr,{channels:C.channels})}),ie>0&&(0,M.jsx)(uy.Panel,{value:`cli`,children:(0,M.jsx)(Uqr,{cli:C.cli})}),ae>0&&C.mcp&&(0,M.jsx)(uy.Panel,{value:`mcp`,children:(0,M.jsx)(Wqr,{mcp:C.mcp})}),(0,M.jsx)(uy.Panel,{value:`secrets`,children:(0,M.jsx)(Hdr,{secrets:k.map(([,e])=>e),installed:!1})}),(0,M.jsx)(uy.Panel,{value:`variables`,children:(0,M.jsx)(Gdr,{variables:te.map(([,e])=>e),installed:!1})})]})]})})},Kqr=(e=!0)=>{let t=W_(),{data:n}=Ji({queryKey:[`addon-categories`],queryFn:async()=>await t.invoke(`console:getAddonCategories`),enabled:e,staleTime:3e5,retry:!1}),{data:r}=Ji({queryKey:[`addons`,`total`],queryFn:async()=>(await t.invoke(`console:getAddonMeta`,{limit:1})).total??0,enabled:e,staleTime:3e5,retry:!1});return{categories:(0,A.useMemo)(()=>DZn(n??{}),[n]),catalogueTotal:r??0}},qqr=({categories:e,active:t,total:n,onPick:r,withHeading:i=!0})=>(Pt(),(0,M.jsxs)(N,{component:`nav`,style:{position:`sticky`,top:0,alignSelf:`flex-start`},children:[i&&(0,M.jsx)(B,{size:`xs`,fw:700,tt:`uppercase`,c:`dimmed`,px:`xs`,mb:6,style:{letterSpacing:`0.06em`},children:X.packages_browse()}),(0,M.jsx)(fye,{active:t===`all`,label:X.packages_all_addons(),leftSection:(0,M.jsx)(wh,{size:22,radius:`sm`,variant:`light`,color:`gray`,children:(0,M.jsx)(jz,{size:14})}),rightSection:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(String(n))}),onClick:()=>r(`all`),styles:{root:{borderRadius:`var(--mantine-radius-sm)`}}}),e.map(e=>{let{icon:n,color:i}=CZn(e.id);return(0,M.jsx)(fye,{active:t===e.id,label:V(e.label),leftSection:(0,M.jsx)(wh,{size:22,radius:`sm`,variant:`light`,color:i,children:(0,M.jsx)(n,{size:14})}),rightSection:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(String(e.count))}),onClick:()=>r(e.id),styles:{root:{borderRadius:`var(--mantine-radius-sm)`}}},e.id)})]})),Jqr=({icon:e,value:t})=>(0,M.jsxs)(gu,{gap:5,wrap:`nowrap`,children:[(0,M.jsx)(e,{size:13,color:`var(--mantine-color-dimmed)`}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(String(t))})]}),Yqr=({addon:e,installed:t,kind:n=`addon`,onOpen:r})=>{Pt();let[i,a]=(0,A.useState)(!1),o=n===`api`,{icon:s,color:c}=CZn(EZn(e)),l=!o&&TZn(e.name),u=Object.keys(e.functions??{}).length,d=Object.keys(e.agents??{}).length,f=e.icon?e.icon.startsWith(`<`)?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e.icon)}`:e.icon:null;return(0,M.jsxs)(Qd,{withBorder:!0,radius:`md`,padding:0,"data-testid":`addon-card`,"data-addon-package":e.name,"data-addon-installed":t||void 0,onClick:()=>r(e),onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),style:{cursor:`pointer`,display:`flex`,flexDirection:`column`,transform:i?`translateY(-2px)`:`none`,boxShadow:i?`var(--mantine-shadow-md)`:void 0,borderColor:i?`var(--mantine-color-default-border)`:void 0,transition:`transform 140ms ease, box-shadow 140ms ease`},children:[(0,M.jsxs)($m,{gap:`sm`,p:`md`,style:{flex:1},children:[(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`flex-start`,children:[f?(0,M.jsx)(`img`,{src:f,width:44,height:44,alt:e.displayName,style:{objectFit:`contain`,borderRadius:10,display:`block`}}):(0,M.jsx)(wh,{size:44,radius:`md`,variant:`light`,color:c,children:(0,M.jsx)(s,{size:22})}),(0,M.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`sm`,truncate:!0,children:V(e.displayName||e.name)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,truncate:!0,children:V(e.name)})]}),o?e.author&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,style:{flexShrink:0},children:V(e.author)}):l?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`blue`,leftSection:(0,M.jsx)(Uz,{size:11}),style:{flexShrink:0},children:X.packages_official()}):(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,style:{flexShrink:0},children:X.packages_community()})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:2,style:{minHeight:`2.6em`},children:V(e.description)}),(e.tags??[]).length>0&&(0,M.jsx)(gu,{gap:6,children:e.tags.slice(0,3).map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,tt:`none`,ff:`monospace`,fw:400,children:V(e)},e))})]}),(0,M.jsxs)(gu,{justify:`space-between`,wrap:`nowrap`,px:`md`,py:`sm`,style:{borderTop:`1px solid var(--mantine-color-default-border)`,background:`var(--mantine-color-default-hover)`},children:[(0,M.jsx)(gu,{gap:`lg`,wrap:`nowrap`,children:o?(0,M.jsx)(Jqr,{icon:_z,value:e.totalOperations??0}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Jqr,{icon:Zz,value:u}),(0,M.jsx)(Jqr,{icon:QR,value:d})]})}),t&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`green`,leftSection:(0,M.jsx)($R,{size:11}),children:o?X.packages_imported():X.packages_added()})]})]})},Xqr=`https://pikku.dev/docs/external-packages`,Zqr=()=>(Pt(),(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`lg`,style:{borderStyle:`dashed`},children:(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,children:[(0,M.jsx)(wh,{size:42,radius:`md`,variant:`light`,color:`blue`,children:(0,M.jsx)(jz,{size:20})}),(0,M.jsxs)($m,{gap:2,style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{fw:600,size:`sm`,children:X.packages_publish_title()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_publish_subtext()})]}),(0,M.jsx)(qv,{component:`a`,href:Xqr,target:`_blank`,rel:`noopener noreferrer`,variant:`default`,rightSection:(0,M.jsx)(KR,{size:14}),children:X.packages_publish_cta()})]})})),Qqr=({addons:e,searchQuery:t,installedNames:n,editable:r,kind:i=`addon`,categories:a,catalogueTotal:o,withRail:s=!0,total:c,category:l,onCategoryChange:u,sort:d,onSortChange:f,hasMore:p,loadingMore:m,onLoadMore:h,onOpenInstalled:g})=>{Pt();let{openPanel:_}=qB(),v=e=>{if(g&&n.has(e.name)){g(e);return}_(`addon`,e.id,e.displayName||e.name,{addon:e,kind:i,editable:r,onInstalled:g?()=>g(e):void 0})},y=(0,A.useMemo)(()=>[{value:`name`,label:X.packages_sort_name()},{value:`functions`,label:X.packages_sort_functions()},{value:`agents`,label:X.packages_sort_agents()}],[]),b=(0,A.useRef)(null),x=(0,A.useRef)(h);x.current=h,(0,A.useEffect)(()=>{let e=b.current;if(!e||!p||m)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&x.current()},{rootMargin:`400px`});return t.observe(e),()=>t.disconnect()},[p,m]);let S=l===`all`?t.trim()?X.packages_results():i===`api`?X.packages_all_apis():X.packages_all_addons():V(a.find(e=>e.id===l)?.label??l),C=(0,M.jsxs)($m,{gap:`md`,style:s?{minWidth:0,minHeight:`100%`}:{minWidth:0,minHeight:0,flex:1},children:[(0,M.jsxs)(gu,{justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fw:700,size:`sm`,children:S}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(String(c))})]}),d&&f&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(wh,{size:`sm`,variant:`transparent`,color:`gray`,children:(0,M.jsx)(qz,{size:14})}),(0,M.jsx)(zm,{size:`xs`,value:d,onChange:e=>f(e),data:y})]})]}),(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:e.length===0?(0,M.jsxs)($m,{align:`center`,justify:`center`,gap:6,h:`100%`,children:[(0,M.jsx)(wh,{size:48,radius:`md`,variant:`light`,color:`gray`,children:(0,M.jsx)(Vz,{size:22})}),(0,M.jsx)(B,{fw:600,size:`sm`,children:X.packages_no_matches()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.packages_no_matches_hint()})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Um,{cols:{base:1,sm:2,lg:3},spacing:`md`,children:e.map(e=>(0,M.jsx)(Yqr,{addon:e,installed:n.has(e.name),kind:i,onOpen:v},e.id))}),p&&(0,M.jsx)(N,{ref:b,py:`lg`,children:(0,M.jsx)($d,{children:(0,M.jsx)(fu,{size:`sm`})})})]})}),i===`addon`&&r&&(0,M.jsx)(Zqr,{})]});return(0,M.jsx)($m,{gap:`lg`,style:{minHeight:`100%`},children:s?(0,M.jsxs)(N,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 210px) minmax(0, 1fr)`,gap:`var(--mantine-spacing-xl)`,alignItems:`stretch`,flex:1,minHeight:0},children:[(0,M.jsx)(qqr,{categories:a,active:l,total:o,onPick:u}),C]}):C})},$qr=e=>({id:e.packageName,name:e.packageName,displayName:e.namespace||e.packageName,description:``,version:``,author:``,icon:e.icon,tags:e.tags??[],categories:[],functions:{},agents:{}}),eJr=500,tJr=(e,t)=>{let n=t.toLowerCase();return e.name.toLowerCase().includes(n)||e.displayName.toLowerCase().includes(n)||e.description.toLowerCase().includes(n)||e.tags.some(e=>e.toLowerCase().includes(n))},nJr=({searchQuery:e,filter:t,onSelect:n,category:r,onCategoryChange:i})=>{let a=W_();Pt();let o=Y3(),[s,c]=(0,A.useState)(`all`),l=r??s,u=i??c,d=!i,[f,p]=(0,A.useState)(`name`),{categories:m,catalogueTotal:h}=Kqr(),{data:g}=Ji({queryKey:[`installed-addons`],queryFn:async()=>await a.invoke(`console:getInstalledAddons`)??[],staleTime:6e4}),_=t===`installed`,v=!_||!!g,y=(0,A.useMemo)(()=>new Set((g??[]).map(e=>e.packageName)),[g]),b=e.trim(),x=(0,A.useMemo)(()=>_?{names:[...y].join(`,`)}:{...b?{search:b}:{},...l===`all`?{}:{category:l},...t===`official`?{official:!0}:{},sort:f},[_,y,b,l,t,f]),S=_?Math.min(Math.max(y.size,1),eJr):50,{data:C,isPending:w,isError:T,fetchNextPage:E,hasNextPage:D,isFetchingNextPage:O}=Xi({queryKey:[`addons`,x,S],initialPageParam:void 0,queryFn:async({pageParam:e})=>await a.invoke(`console:getAddonMeta`,{...x,limit:S,...e==null?{}:{cursor:e}}),getNextPageParam:e=>e.nextCursor??void 0,enabled:v,staleTime:6e4,retry:!1}),k=(0,A.useMemo)(()=>(C?.pages??[]).flatMap(e=>e.packages??[]),[C]),ee=(0,A.useMemo)(()=>{if(!_)return k;let e=new Map(k.map(e=>[e.name,e])),t=(g??[]).map(t=>e.get(t.packageName)??$qr(t));return b&&(t=t.filter(e=>tJr(e,b))),l!==`all`&&(t=t.filter(e=>e.categories.includes(l))),t},[_,k,g,b,l]);return w?(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:(0,M.jsx)(XB,{})}):T||!C?(0,M.jsx)(Q3,{icon:jz,title:X.packages_registry_unavailable_title(),description:X.packages_registry_unavailable_description(),docsHref:`https://pikku.dev/docs/external-packages`}):(0,M.jsx)(Qqr,{addons:ee,searchQuery:e,categories:m,catalogueTotal:h,withRail:d,total:_?ee.length:C.pages[0]?.total??0,category:l,onCategoryChange:u,sort:_?void 0:f,onSortChange:_?void 0:p,hasMore:!_&&!!D,loadingMore:O,onLoadMore:E,installedNames:y,editable:o,onOpenInstalled:e=>n(e.name,`installed`)})},rJr=(e=!0)=>{let t=W_(),{data:n}=Ji({queryKey:[`openapi-categories`],queryFn:async()=>await t.invoke(`console:getOpenapiCategories`),enabled:e,staleTime:3e5,retry:!1}),{data:r}=Ji({queryKey:[`openapis`,`total`],queryFn:async()=>(await t.invoke(`console:getOpenapis`,{limit:1,offset:0})).total??0,enabled:e,staleTime:3e5,retry:!1});return{categories:(0,A.useMemo)(()=>DZn(n??{}),[n]),catalogueTotal:r??0}},iJr=e=>({id:e.name,name:e.name,displayName:e.title||e.name,description:e.description,version:e.version,author:e.provider,icon:e.logo??void 0,tags:e.tags??[],categories:e.categories??[],functions:{},agents:{},swaggerUrl:e.swaggerUrl,totalOperations:e.totalOperations}),aJr=({searchQuery:e,category:t,onCategoryChange:n})=>{let r=W_();Pt();let i=Y3(),[a,o]=(0,A.useState)(`all`),s=t??a,c=n??o,l=!n,{categories:u,catalogueTotal:d}=rJr(),{data:f,isPending:p,isError:m,fetchNextPage:h,hasNextPage:g,isFetchingNextPage:_}=Xi({queryKey:[`openapis`,{search:e.trim(),category:s}],initialPageParam:0,queryFn:async({pageParam:t})=>await r.invoke(`console:getOpenapis`,{limit:50,offset:t,...e.trim()?{search:e.trim()}:{},...s===`all`?{}:{category:s}}),getNextPageParam:e=>e.nextCursor??void 0,staleTime:6e4,retry:!1}),{data:v}=Ji({queryKey:[`installed-addons`],queryFn:async()=>await r.invoke(`console:getInstalledAddons`)??[],staleTime:6e4}),y=(0,A.useMemo)(()=>new Set((v??[]).filter(e=>e.packageName.startsWith(`@pikku/addon-`)).map(e=>e.packageName.slice(13))),[v]),b=(0,A.useMemo)(()=>(f?.pages??[]).flatMap(e=>(e.apis??[]).map(iJr)),[f]),x=(0,A.useMemo)(()=>new Set(b.filter(e=>y.has(OZn(e.name))).map(e=>e.name)),[b,y]);return p?(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:(0,M.jsx)(XB,{})}):m||!f?(0,M.jsx)(Q3,{icon:_z,title:X.packages_no_apis_title(),description:X.packages_no_apis_description(),docsHref:`https://pikku.dev/docs/external-packages`}):(0,M.jsx)(Qqr,{addons:b,searchQuery:e,categories:u,catalogueTotal:d,withRail:l,total:f.pages[0]?.total??0,category:s,onCategoryChange:c,hasMore:!!g,loadingMore:_,onLoadMore:h,installedNames:x,editable:i,kind:`api`})},oJr=({onSelect:e,browse:t})=>{let[n,r]=(0,A.useState)(`addons`),i=t?.tab??n,[a,o]=(0,A.useState)(`all`),[s,c]=(0,A.useState)(``);Pt();let l=e=>{c(``),t?t.setTab(e):r(e)},u=[{value:`addons`,label:X.packages_tab_addons()},{value:`apis`,label:X.packages_tab_apis()}],d=[{value:`all`,label:X.packages_filter_all()},{value:`official`,label:X.packages_filter_official()},{value:`installed`,label:X.packages_filter_installed()}];return(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.packages_title(),description:X.packages_description(),docsHref:`https://pikku.dev/docs/external-packages`,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{"data-testid":`packages-search`,placeholder:i===`apis`?X.packages_search_apis_placeholder():X.packages_search_addons_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:s,onChange:e=>c(e.target.value),size:`xs`,style:{width:240}}),i===`addons`&&(0,M.jsx)(zm,{size:`xs`,value:a,onChange:e=>o(e),data:d}),(0,M.jsx)(zm,{size:`xs`,value:i,onChange:l,data:u})]})}),children:i===`apis`?(0,M.jsx)(aJr,{searchQuery:s,category:t?.category,onCategoryChange:t?.setCategory}):(0,M.jsx)(nJr,{searchQuery:s,filter:a,onSelect:e,category:t?.category,onCategoryChange:t?.setCategory})})},sJr=({browse:e})=>{let[t,n]=Gv(),r=t.get(`id`),i=t.get(`source`)??`community`;return(0,M.jsx)(ZV,{children:r?(0,M.jsx)(Gqr,{id:r,source:i,onBack:()=>n({})}):(0,M.jsx)(oJr,{browse:e,onSelect:(e,t)=>n({id:e,source:t})})})},cJr=({searchQuery:e=``,emptyHero:t})=>{Pt();let{meta:n}=MB(),r=W_(),i=z(),a=(0,A.useMemo)(()=>{let e=n.credentialsMeta??{};return Object.entries(e).filter(([,e])=>(e.type||`singleton`)===`singleton`).map(([e,t])=>({name:e,displayName:t.displayName||e,description:t.description,type:`singleton`,isOAuth2:!!t.oauth2}))},[n]),{data:o}=Ji({queryKey:[`credential-owners`],queryFn:async()=>{let e=await r.invoke(`console:getInstalledAddons`),t={};return await Promise.all((e??[]).map(async e=>{let n=await r.invoke(`console:getAddonInstalledPackage`,{packageName:e.packageName});for(let r of Object.keys(n?.credentials??{}))t[r]={packageName:e.packageName,namespace:e.namespace}})),t},enabled:a.length>0,staleTime:6e4}),s=(0,A.useMemo)(()=>{if(!e)return a;let t=e.toLowerCase();return a.filter(e=>e.name.toLowerCase().includes(t)||e.displayName.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||o?.[e.name]?.namespace.toLowerCase().includes(t))},[a,e,o]),c=(0,A.useMemo)(()=>new Map(s.map(e=>[e.name,e])),[s]),{data:l}=Ji({queryKey:[`credential-global-status`],queryFn:async()=>{let e=a.filter(e=>e.type===`singleton`);if(e.length===0)return{};try{return(await r.invoke(`admin:credentialStatus`,{names:e.map(e=>e.name)})).statuses??{}}catch{return{}}},enabled:a.length>0}),u=(0,A.useMemo)(()=>s.map(e=>{let t=o?.[e.name];return{name:e.name,displayName:e.displayName,description:e.description,badges:[{label:e.isOAuth2?X.credentials_type_oauth2():X.credentials_type_api_key(),tone:e.isOAuth2?`accent`:`neutral`}],tags:t?[t.namespace]:void 0}}),[s,o]);return(0,M.jsx)(N,{p:`md`,children:(0,M.jsx)(K0n,{items:u,loading:!1,icon:vz,emptyHero:t,emptyTitle:X.credentials_empty_title(),emptyDescription:X.credentials_empty_description(),docsHref:`https://pikku.dev/docs/core-features/credentials`,onOpen:e=>{let t=o?.[e];t&&i(`/addons?id=${encodeURIComponent(t.packageName)}&source=installed`)},metricSlot:e=>{let t=c.get(e);return t?(0,M.jsx)(lJr,{credential:t,isConnected:l?.[e]===!0}):null}})})},lJr=({credential:e,isConnected:t})=>{Pt();let n=W_(),r=Bv(),i=Ri(),a=Yi({mutationFn:async()=>{let{data:t,error:n}=await r.client.$fetch(`/credential-oauth/link`,{method:`POST`,body:{providerId:e.name,callbackURL:window.location.href}});if(n)throw Error(n.message??X.credentials_connect_failed());if(!t?.url)throw Error(X.credentials_connect_failed());window.location.href=t.url}}),o=Yi({mutationFn:async()=>{await n.invoke(`admin:credentialDelete`,{name:e.name})},onSuccess:()=>{i.invalidateQueries({queryKey:[`credential-global-status`]})}});return(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,onClick:e=>e.stopPropagation(),children:[(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[t?(0,M.jsx)(az,{size:8,fill:`var(--mantine-color-teal-6)`,color:`var(--mantine-color-teal-6)`}):(0,M.jsx)(az,{size:8,color:`var(--mantine-color-gray-5)`}),(0,M.jsx)(B,{size:`sm`,c:t?`teal.6`:`dimmed`,children:t?X.credentials_connected():X.credentials_not_connected()})]}),e.isOAuth2&&(t?(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,disabled:!r?.user,onClick:()=>a.mutate(),loading:a.isPending,children:X.credentials_reconnect()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,color:`red`,onClick:()=>o.mutate(),loading:o.isPending,children:X.credentials_disconnect()})]}):(0,M.jsx)(qv,{size:`compact-xs`,disabled:!r?.user,onClick:()=>a.mutate(),loading:a.isPending,leftSection:(0,M.jsx)(Sz,{size:12}),children:X.credentials_connect()})),a.isError&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),p:`xs`,children:V(String(a.error?.message||a.error))})]})},uJr=({searchQuery:e=``})=>{let{meta:t,loading:n}=MB(),r=W_();Pt();let{openCredentialUser:i}=qB(),a=(0,A.useMemo)(()=>{let e=t.credentialsMeta??{};return Object.entries(e).map(([e,t])=>({name:e,displayName:t.displayName||e,type:t.type||`singleton`,isOAuth2:!!t.oauth2}))},[t]),o=(0,A.useMemo)(()=>a.filter(e=>e.type===`wire`),[a]),{data:s,isLoading:c}=Ji({queryKey:[`credential-list-users`],queryFn:async()=>(await r.invoke(`admin:credentialListUsers`)).users??[],enabled:o.length>0}),l=n||c,u=(0,A.useMemo)(()=>{if(!s)return[];let e=o.length;return s.map(t=>{let n=Object.values(t.credentials).filter(Boolean).length;return{...t,connectedCount:n,totalCount:e,isComplete:n===e}})},[s,o]),d=(0,A.useMemo)(()=>{if(!e)return u;let t=e.toLowerCase();return u.filter(e=>e.userId.toLowerCase().includes(t))},[u,e]),f=(0,A.useMemo)(()=>[{key:`userId`,header:`USER`,render:e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:500,children:V(e.userId)})},{key:`credentials`,header:`CREDENTIALS`,render:e=>(0,M.jsx)(gu,{gap:6,wrap:`wrap`,children:o.map(t=>e.credentials[t.name]?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`teal`,leftSection:(0,M.jsx)($R,{size:10}),children:V(t.displayName)},t.name):(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`gray`,children:V(t.displayName)},t.name))})},{key:`status`,header:`STATUS`,width:80,render:e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:e.isComplete?`teal`:`orange`,children:V(`${e.connectedCount}/${e.totalCount}`)})}],[o]);return l?(0,M.jsx)(XB,{}):o.length===0?(0,M.jsx)(Q3,{icon:aB,title:X.credential_users_empty_title(),description:X.credential_users_empty_description(),docsHref:`https://pikku.dev/docs/core-features/credentials`}):(0,M.jsx)($3,{title:`Credential Users`,icon:aB,docsHref:`https://pikku.dev/docs/core-features/credentials`,data:d,columns:f,getKey:e=>e.userId,onRowClick:e=>i(e.userId,{credentials:e.credentials,credentialsMeta:o.map(e=>({name:e.name,displayName:e.displayName,isOAuth2:e.isOAuth2}))}),emptyMessage:X.credential_users_empty_message()})},dJr=({searchQuery:e=``,emptyHero:t})=>{Pt();let{meta:n}=MB(),r=W_(),i=Bv(),a=z(),o=(0,A.useMemo)(()=>{let e=n.credentialsMeta??{};return Object.entries(e).filter(([,e])=>e.type===`wire`&&!!e.oauth2).map(([e,t])=>({name:e,displayName:t.displayName||e,description:t.description}))},[n]),{data:s}=Ji({queryKey:[`credential-owners`],queryFn:async()=>{let e=await r.invoke(`console:getInstalledAddons`),t={};return await Promise.all((e??[]).map(async e=>{let n=await r.invoke(`console:getAddonInstalledPackage`,{packageName:e.packageName});for(let r of Object.keys(n?.credentials??{}))t[r]={packageName:e.packageName,namespace:e.namespace}})),t},enabled:o.length>0,staleTime:6e4}),c=(0,A.useMemo)(()=>{if(!e)return o;let t=e.toLowerCase();return o.filter(e=>e.name.toLowerCase().includes(t)||e.displayName.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||s?.[e.name]?.namespace.toLowerCase().includes(t))},[o,e,s]),l=(0,A.useMemo)(()=>new Map(c.map(e=>[e.name,e])),[c]),{data:u}=Ji({queryKey:[`linked-accounts`,i?.user?.id],enabled:!!i?.user,queryFn:async()=>{let{data:e}=await i.client.listAccounts();return new Set((e??[]).map(e=>e.providerId))}}),d=(0,A.useMemo)(()=>c.map(e=>{let t=s?.[e.name];return{name:e.name,displayName:e.displayName,description:e.description,badges:[{label:X.credentials_type_oauth2(),tone:`accent`}],tags:t?[t.namespace]:void 0}}),[c,s]);return(0,M.jsx)(N,{p:`md`,"data-testid":`credential-connections`,children:(0,M.jsxs)($m,{gap:`md`,children:[!i?.user&&(0,M.jsx)(ty,{color:`yellow`,variant:`light`,children:X.credentials_connections_signed_out()}),(0,M.jsx)(K0n,{items:d,loading:!1,icon:Sz,emptyHero:t,emptyTitle:X.credentials_connections_empty_title(),emptyDescription:X.credentials_connections_empty_description(),docsHref:`https://pikku.dev/docs/core-features/credentials`,onOpen:e=>{let t=s?.[e];t&&a(`/addons?id=${encodeURIComponent(t.packageName)}&source=installed`)},metricSlot:e=>{let t=l.get(e);return t?(0,M.jsx)(fJr,{credential:t,isConnected:u?.has(e)??!1,disabled:!i?.user}):null}})]})})},fJr=({credential:e,isConnected:t,disabled:n})=>{Pt();let r=Bv(),i=Ri(),a=()=>i.invalidateQueries({queryKey:[`linked-accounts`]}),o=Yi({mutationFn:async()=>{let{data:t,error:n}=await r.client.$fetch(`/credential-oauth/link`,{method:`POST`,body:{providerId:e.name,callbackURL:window.location.href}});if(n)throw Error(n.message??X.credentials_connect_failed());if(!t?.url)throw Error(X.credentials_connect_failed());window.location.href=t.url}}),s=Yi({mutationFn:async()=>{let{error:t}=await r.client.unlinkAccount({providerId:e.name});if(t)throw Error(t.message??X.credentials_disconnect_failed())},onSuccess:a}),c=o.error??s.error;return(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,onClick:e=>e.stopPropagation(),children:[(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[t?(0,M.jsx)(az,{size:8,fill:`var(--mantine-color-teal-6)`,color:`var(--mantine-color-teal-6)`}):(0,M.jsx)(az,{size:8,color:`var(--mantine-color-gray-5)`}),(0,M.jsx)(B,{size:`sm`,c:t?`teal.6`:`dimmed`,children:t?X.credentials_connected():X.credentials_not_connected()})]}),t?(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,disabled:n,onClick:()=>o.mutate(),loading:o.isPending,children:X.credentials_reconnect()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,color:`red`,disabled:n,onClick:()=>s.mutate(),loading:s.isPending,children:X.credentials_disconnect()})]}):(0,M.jsx)(qv,{size:`compact-xs`,disabled:n,onClick:()=>o.mutate(),loading:o.isPending,leftSection:(0,M.jsx)(Sz,{size:12}),children:X.credentials_connect()}),c&&(0,M.jsx)(ty,{color:`red`,variant:`light`,icon:(0,M.jsx)(tB,{size:14}),p:`xs`,children:V(String(c?.message||c))})]})},pJr=({emptyHero:e})=>{Pt();let t=[{value:`credentials`,label:X.credentials_tab_global(),searchPlaceholder:X.credentials_search_credentials(),hidePanel:!0,render:t=>(0,M.jsx)(cJr,{searchQuery:t,emptyHero:e})},{value:`connections`,label:X.credentials_tab_connections(),searchPlaceholder:X.credentials_search_connections(),hidePanel:!0,render:t=>(0,M.jsx)(dJr,{searchQuery:t,emptyHero:e})},{value:`users`,label:X.credentials_tab_users(),searchPlaceholder:X.credentials_search_users(),render:e=>(0,M.jsx)(uJr,{searchQuery:e})}];return(0,M.jsx)(X0n,{controls:`shell`,tabs:t,tabAriaLabel:X.credentials_tab_aria(),title:X.credentials_title(),description:X.credentials_description(),docsHref:`https://pikku.dev/docs/core-features/credentials`,emptyPanelMessage:X.credentials_select_user()})},mJr=[`scope-roles`],hJr=[`scope-declared`],gJr=e=>[`scope-user-roles`,e];function _Jr(e,t){return{onMutate:async n=>{let r=gJr(n.userId);await e.cancelQueries({queryKey:r});let i=e.getQueryData(r);return i&&e.setQueryData(r,t(i,n)),{key:r,previous:i}},onError:(t,n,r)=>{r?.previous&&e.setQueryData(r.key,r.previous)},onSettled:(t,n,r)=>e.invalidateQueries({queryKey:gJr(r.userId)})}}var vJr=(e,t)=>e.includes(t)?e:[...e,t];function yJr(){let e=W_();return Ji({queryKey:hJr,queryFn:async()=>await e.invoke(`admin:scopeListDeclared`)})}function bJr(){let e=W_();return Ji({queryKey:mJr,queryFn:async()=>await e.invoke(`admin:scopeListRoles`)})}function xJr(e,t){let n=W_();return Ji({queryKey:gJr(e??``),queryFn:async()=>await n.invoke(`admin:scopeListUserRoles`,{userId:e}),enabled:!!e&&t})}function SJr(){let e=W_(),t=Ri();return Yi({mutationFn:t=>e.invoke(`admin:scopeCreateRole`,t),onSuccess:()=>t.invalidateQueries({queryKey:mJr})})}function CJr(){let e=W_(),t=Ri();return Yi({mutationFn:t=>e.invoke(`admin:scopeSetRoleScopes`,t),onSuccess:()=>t.invalidateQueries({queryKey:mJr})})}function wJr(){let e=W_(),t=Ri();return Yi({mutationFn:t=>e.invoke(`admin:scopeDeleteRole`,{name:t}),onSuccess:()=>t.invalidateQueries({queryKey:mJr})})}function TJr(){let e=W_();return Yi({mutationFn:t=>e.invoke(`admin:scopeAddUserToRole`,t),..._Jr(Ri(),(e,{role:t})=>({...e,roles:e.roles.includes(t)?e.roles:[...e.roles,t]}))})}function EJr(){let e=W_();return Yi({mutationFn:t=>e.invoke(`admin:scopeRemoveUserFromRole`,t),..._Jr(Ri(),(e,{role:t})=>({...e,roles:e.roles.filter(e=>e!==t)}))})}function DJr(){let e=W_();return Yi({mutationFn:t=>e.invoke(`admin:scopeAddScopeToUser`,t),..._Jr(Ri(),(e,{scope:t})=>({...e,directScopes:vJr(e.directScopes,t),scopes:vJr(e.scopes,t)}))})}function OJr(){let e=W_();return Yi({mutationFn:t=>e.invoke(`admin:scopeRemoveScopeFromUser`,t),..._Jr(Ri(),(e,{scope:t})=>({...e,directScopes:e.directScopes.filter(e=>e!==t)}))})}var kJr=(e,t,n)=>n||!e.declared&&!t,AJr=(e,t)=>t.startsWith(`${e}:`),jJr=(e,t)=>e.some(e=>e===t||AJr(e,t)),MJr=(e,t)=>e.some(e=>e!==t&&AJr(e,t)),NJr=(e,t)=>MJr(e,t)?e:e.includes(t)?e.filter(e=>e!==t):[...e.filter(e=>!AJr(t,e)),t],PJr=(e,t)=>{let n=new Set(e),r=new Set(t);return{added:t.filter(e=>!n.has(e)),removed:e.filter(e=>!r.has(e))}},FJr=e=>e.map(t=>{let n=t.id.split(`:`),r=`${t.id}:`;return{...t,depth:n.length-1,segment:n[n.length-1],hasChildren:e.some(e=>e.id.startsWith(r))}}),IJr=({scopes:e,selected:t,onChange:n,disabled:r=!1})=>{let i=FJr(e);return i.length===0?(0,M.jsx)(B,{c:`dimmed`,size:`sm`,py:`sm`,children:X.scopes_none_declared()}):(0,M.jsx)($m,{gap:2,children:i.map(e=>{let i=jJr(t,e.id),a=MJr(t,e.id);return(0,M.jsx)(N,{pl:e.depth*20,children:(0,M.jsx)(_ye,{checked:i,onChange:()=>n(NJr(t,e.id)),disabled:kJr(e,i,r)||a,"aria-label":e.description?`${e.id} — ${e.description}`:e.id,"data-testid":`scope-checkbox`,"data-scope-id":e.id,label:(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:e.hasChildren?600:400,children:V(e.segment)}),e.description&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.description)}),!e.declared&&(0,M.jsx)(B,{size:`xs`,c:`orange`,children:X.scopes_state_stale()})]})})},e.id)})})},LJr=({opened:e,onClose:t,userId:n,userLabel:r})=>{let i=xJr(n,e),a=bJr(),o=yJr(),s=TJr(),c=EJr(),l=DJr(),u=OJr(),d=i.data?.roles??[],f=i.data?.scopes??[],p=i.data?.directScopes??[],m=o.data?.scopes??[],h=(a.data?.roles??[]).map(e=>e.name).filter(e=>!d.includes(e)),g=l.error||u.error||s.error||c.error;return(0,M.jsx)(ey,{opened:e,onClose:t,position:`right`,size:420,title:X.scopes_user_roles_title({label:r}),children:i.isLoading?(0,M.jsx)(XB,{py:`xl`}):(0,M.jsxs)($m,{gap:`md`,"data-testid":`user-roles-drawer`,children:[g&&(0,M.jsx)(ty,{color:`red`,variant:`light`,title:X.scopes_grant_failed(),children:V(g.message)}),(0,M.jsx)(B,{size:`sm`,fw:500,children:X.scopes_roles_title()}),d.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scopes_user_no_roles()}):(0,M.jsx)(gu,{gap:8,children:d.map(e=>(0,M.jsx)(Yv,{variant:`light`,size:`lg`,"data-testid":`held-role`,"data-role-name":e,rightSection:(0,M.jsx)(dye,{size:`xs`,"aria-label":X.scopes_revoke_role({role:e}),disabled:!n,"data-testid":`revoke-role`,"data-role-name":e,onClick:()=>{n&&c.mutate({userId:n,role:e})}}),children:V(e)},e))}),(0,M.jsxs)(ly,{position:`bottom-start`,disabled:h.length===0,children:[(0,M.jsx)(ly.Target,{children:(0,M.jsx)(qv,{variant:`light`,size:`sm`,leftSection:(0,M.jsx)(Fz,{size:14}),disabled:h.length===0,w:`fit-content`,"data-testid":`add-role`,children:X.scopes_add_role()})}),(0,M.jsx)(ly.Dropdown,{children:h.map(e=>(0,M.jsx)(ly.Item,{onClick:()=>n&&s.mutate({userId:n,role:e}),"data-testid":`add-role-option`,"data-role-name":e,children:V(e)},e))})]}),(0,M.jsx)($v,{label:X.scopes_direct_scopes(),labelPosition:`left`}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.scopes_direct_scopes_hint()}),(0,M.jsx)(N,{mah:360,style:{overflowY:`auto`},children:(0,M.jsx)(IJr,{scopes:m,selected:p,onChange:e=>{if(!n)return;let{added:t,removed:r}=PJr(p,e);t.forEach(e=>l.mutate({userId:n,scope:e})),r.forEach(e=>u.mutate({userId:n,scope:e}))},disabled:!n})}),(0,M.jsx)($v,{label:X.scopes_resolved_scopes(),labelPosition:`left`}),f.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scopes_no_resolved()}):(0,M.jsx)(N,{children:(0,M.jsx)(gu,{gap:6,children:f.map(e=>(0,M.jsx)(Yv,{variant:`outline`,color:`gray`,size:`sm`,styles:{label:{fontFamily:`monospace`}},"data-testid":`resolved-scope`,"data-scope-id":e,children:V(e)},e))})})]})})},RJr=({user:e})=>e.banned===void 0?null:e.banned?(0,M.jsx)(Yv,{color:`red`,variant:`light`,size:`sm`,"data-testid":`user-status`,"data-banned":`true`,children:X.users_status_banned()}):(0,M.jsx)(Yv,{color:`gray`,variant:`light`,size:`sm`,"data-testid":`user-status`,"data-banned":`false`,children:X.users_status_active()}),zJr={ban:`admin:users:ban`,unban:`admin:users:ban`,revoke:`admin:users:sessions`,password:`admin:users:password`,remove:`admin:users:remove`},BJr=({user:e,onAction:t,onUnbanned:n})=>{let{can:r,setUserBanned:i}=zv(),a=r(zJr.ban),o=r(zJr.revoke),s=r(zJr.password),c=r(zJr.remove);return!a&&!o&&!s&&!c?null:(0,M.jsxs)(ly,{position:`bottom-end`,withinPortal:!0,children:[(0,M.jsx)(ly.Target,{children:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,"aria-label":X.users_more_actions(),"data-testid":`user-actions`,children:(0,M.jsx)(tIt,{size:16})})}),(0,M.jsxs)(ly.Dropdown,{children:[a&&(e.banned?(0,M.jsx)(ly.Item,{leftSection:(0,M.jsx)(XIt,{size:14}),onClick:async()=>{await i({userId:e.id,banned:!1}),n()},"data-testid":`user-action-unban`,children:X.users_unban_action()}):(0,M.jsx)(ly.Item,{leftSection:(0,M.jsx)(XR,{size:14}),onClick:()=>t(`ban`),"data-testid":`user-action-ban`,children:X.users_ban_action()})),o&&(0,M.jsx)(ly.Item,{leftSection:(0,M.jsx)(hIt,{size:14}),onClick:()=>t(`revoke`),"data-testid":`user-action-revoke`,children:X.users_revoke_sessions_action()}),s&&(0,M.jsx)(ly.Item,{leftSection:(0,M.jsx)(vz,{size:14}),onClick:()=>t(`password`),"data-testid":`user-action-password`,children:X.users_set_password_action()}),c&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ly.Divider,{}),(0,M.jsx)(ly.Item,{color:`red`,leftSection:(0,M.jsx)($z,{size:14}),onClick:()=>t(`remove`),"data-testid":`user-action-remove`,children:X.users_remove_action()})]})]})]})},VJr=({action:e,user:t,onClose:n,onDone:r})=>{let{setUserBanned:i,removeUser:a,revokeUserSessions:o,setUserPassword:s}=zv(),[c,l]=(0,A.useState)(``),[u,d]=(0,A.useState)(``),[f,p]=(0,A.useState)(null),[m,h]=(0,A.useState)(!1);(0,A.useEffect)(()=>{e&&(l(``),d(``),p(null))},[e,t?.id]);let g=t?.email??``,_=async()=>{if(t){h(!0),p(null);try{e===`ban`?await i({userId:t.id,banned:!0,...c.trim()?{reason:c.trim()}:{}}):e===`remove`?await a(t.id):e===`revoke`?await o(t.id):e===`password`&&await s(t.id,u),r(),n()}catch(e){p(e.message||X.users_action_failed())}finally{h(!1)}}},v=e===`ban`?X.users_ban_confirm_title():e===`remove`?X.users_remove_confirm_title():e===`revoke`?X.users_revoke_confirm_title():X.users_set_password_title(),y=e===`ban`?X.users_ban_confirm_body({email:g}):e===`remove`?X.users_remove_confirm_body({email:g}):e===`revoke`?X.users_revoke_confirm_body({email:g}):X.users_set_password_body({email:g}),b=e===`ban`?X.users_ban_action():e===`remove`?X.users_remove_action():e===`revoke`?X.users_revoke_sessions_action():X.users_set_password_action();return(0,M.jsx)(ey,{opened:e!==null&&t!==null,onClose:n,position:`right`,size:420,title:v,children:(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(B,{size:`sm`,children:y}),e===`ban`&&(0,M.jsx)(iy,{label:X.users_ban_reason_label(),value:c,onChange:e=>l(e.currentTarget.value),autosize:!0,minRows:2}),e===`password`&&(0,M.jsx)(hye,{label:X.users_set_password_label(),value:u,onChange:e=>d(e.currentTarget.value),"data-testid":`user-password-input`}),f&&(0,M.jsx)(ty,{color:`red`,variant:`light`,children:(0,M.jsx)(B,{size:`sm`,children:V(f)})}),(0,M.jsxs)(gu,{justify:`flex-end`,gap:`sm`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:n,disabled:m,children:X.common_cancel()}),(0,M.jsx)(qv,{color:e===`password`?void 0:`red`,loading:m,disabled:e===`password`&&u.length===0,onClick:_,"data-testid":`user-action-confirm`,children:b})]})]})})},HJr=({opened:e,onClose:t,onDone:n})=>{let{createUser:r}=zv(),[i,a]=(0,A.useState)(``),[o,s]=(0,A.useState)(``),[c,l]=(0,A.useState)(``),[u,d]=(0,A.useState)(null),[f,p]=(0,A.useState)(!1);return(0,A.useEffect)(()=>{e&&(a(``),s(``),l(``),d(null))},[e]),(0,M.jsx)(ey,{opened:e,onClose:t,position:`right`,size:420,title:X.users_create_title(),children:(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsx)(B,{size:`sm`,children:X.users_create_body()}),(0,M.jsx)(ry,{label:X.users_create_email_label(),value:i,onChange:e=>a(e.currentTarget.value),"data-testid":`create-user-email`}),(0,M.jsx)(ry,{label:X.users_create_name_label(),value:o,onChange:e=>s(e.currentTarget.value),"data-testid":`create-user-name`}),(0,M.jsx)(hye,{label:X.users_create_password_label(),value:c,onChange:e=>l(e.currentTarget.value),"data-testid":`create-user-password`}),u&&(0,M.jsx)(ty,{color:`red`,variant:`light`,children:(0,M.jsx)(B,{size:`sm`,children:V(u)})}),(0,M.jsxs)(gu,{justify:`flex-end`,gap:`sm`,children:[(0,M.jsx)(qv,{variant:`subtle`,onClick:t,disabled:f,children:X.common_cancel()}),(0,M.jsx)(qv,{loading:f,disabled:i.trim().length===0||c.length===0,onClick:async()=>{p(!0),d(null);try{await r({email:i.trim(),password:c,...o.trim()?{name:o.trim()}:{}}),n(),t()}catch(e){d(e.message||X.users_action_failed())}finally{p(!1)}},"data-testid":`create-user-submit`,children:X.users_create_action()})]})]})})},UJr=(e=``)=>{let{listUsers:t}=zv(),[n]=ene(e,250),r=Ji({queryKey:[`admin-users`,n],queryFn:()=>t(n||void 0)});return{usersQuery:r,users:r.data??[],refetchUsers:()=>{r.refetch()}}},WJr=({search:e=``,creating:t=!1,onCreatingChange:n})=>{Pt();let{usersQuery:r,users:i,refetchUsers:a}=UJr(e),[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(null);return(0,M.jsxs)(M.Fragment,{children:[r.error?(0,M.jsx)(ty,{icon:(0,M.jsx)(tB,{size:16}),color:`red`,variant:`light`,children:(0,M.jsx)(B,{size:`sm`,children:V(r.error.message)})}):(0,M.jsx)($3,{icon:rB,title:X.users_title(),docsHref:`https://pikku.dev/docs/core-features/permission-guards`,data:i,getKey:e=>e.id,getRowProps:e=>({"data-testid":`user-row`,"data-user-id":e.id}),loading:r.isLoading,externalSearch:e,emptyTitle:X.users_empty(),columns:[{key:`user`,header:X.users_col_user(),render:e=>(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(pye,{src:e.image??void 0,radius:`xl`,size:`sm`,children:(e.name??e.email).slice(0,1).toUpperCase()}),(0,M.jsxs)(N,{style:{minWidth:0},children:[e.name&&(0,M.jsx)(B,{size:`sm`,fw:500,truncate:!0,children:V(e.name)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,children:V(e.email)})]})]})},...i.some(e=>e.banned!==void 0)?[{key:`status`,header:X.users_col_status(),render:e=>(0,M.jsx)(RJr,{user:e})}]:[],{key:`created`,header:X.users_col_created(),render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:e.createdAt?V(new Date(e.createdAt).toLocaleDateString()):X.users_empty_created()})},{key:`actions`,header:``,align:`right`,render:e=>(0,M.jsxs)(gu,{gap:6,justify:`flex-end`,wrap:`nowrap`,children:[(0,M.jsx)(qv,{size:`compact-sm`,variant:`subtle`,leftSection:(0,M.jsx)(Uz,{size:14}),onClick:()=>s({id:e.id,label:e.email??e.id}),"data-testid":`user-roles`,children:X.users_roles_action()}),(0,M.jsx)(BJr,{user:e,onAction:t=>l({action:t,user:e}),onUnbanned:a})]})}]}),(0,M.jsx)(LJr,{opened:o!==null,onClose:()=>s(null),userId:o?.id,userLabel:o?.label??``}),(0,M.jsx)(HJr,{opened:t,onClose:()=>n?.(!1),onDone:a}),(0,M.jsx)(VJr,{action:c?.action??null,user:c?.user??null,onClose:()=>l(null),onDone:a})]})},GJr=()=>{Pt();let{can:e}=zv(),[t,n]=(0,A.useState)(``),[r,i]=(0,A.useState)(!1);return(0,M.jsx)(uV,{header:(0,M.jsx)(lV,{title:X.users_title(),docsHref:`https://pikku.dev/docs/core-features/permission-guards`,search:{placeholder:X.users_search_placeholder(),value:t,onChange:n,width:240},lead:e(`admin:users:create`)?(0,M.jsx)(qv,{size:`compact-sm`,leftSection:(0,M.jsx)(QIt,{size:14}),onClick:()=>i(!0),"data-testid":`create-user`,children:X.users_create_action()}):void 0}),children:(0,M.jsx)(WJr,{search:t,creating:r,onCreatingChange:i})})},KJr=({opened:e,onClose:t,role:n,declaredScopes:r})=>{let i=n===null,[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(``),[l,u]=(0,A.useState)([]),[d,f]=(0,A.useState)(!1),[p,m]=(0,A.useState)(null),h=SJr(),g=CJr(),_=wJr();(0,A.useEffect)(()=>{e&&(o(n?.name??``),c(n?.description??``),u(n?.scopes??[]),f(!1),m(null))},[e,n]);let v=h.isPending||g.isPending||_.isPending,y=async()=>{if(i){if(a.trim().length===0){m(X.scopes_name_required());return}await h.mutateAsync({name:a.trim(),description:s.trim()||void 0,scopes:l})}else await g.mutateAsync({name:n.name,scopes:l});t()},b=async()=>{if(!i){if(!d){f(!0);return}await _.mutateAsync(n.name),t()}},x=h.error||g.error||_.error;return(0,M.jsx)(ey,{opened:e,onClose:t,position:`right`,size:480,title:i?X.scopes_create_role():X.scopes_edit_role({name:n.name}),children:(0,M.jsxs)($m,{gap:`md`,"data-testid":`role-editor`,children:[(0,M.jsx)(ry,{label:X.scopes_name(),placeholder:X.scopes_name_placeholder(),value:a,onChange:e=>{o(e.currentTarget.value),p&&m(null)},disabled:!i,withAsterisk:i,error:p,"data-autofocus":i,"data-testid":`role-name-input`}),(0,M.jsx)(iy,{label:X.scopes_col_description(),placeholder:X.scopes_description_placeholder(),value:s,onChange:e=>c(e.currentTarget.value),disabled:!i,description:i?void 0:X.scopes_description_locked(),autosize:!0,minRows:1}),(0,M.jsx)($v,{label:X.scopes_in_this_role(),labelPosition:`left`}),(0,M.jsx)(N,{mah:360,style:{overflowY:`auto`},children:(0,M.jsx)(IJr,{scopes:r,selected:l,onChange:u})}),x&&(0,M.jsx)(B,{c:`red`,size:`sm`,children:V(x.message)}),(0,M.jsxs)(gu,{justify:`space-between`,mt:`sm`,children:[i?(0,M.jsx)(`span`,{}):(0,M.jsx)(qv,{color:`red`,variant:d?`filled`:`subtle`,leftSection:(0,M.jsx)($z,{size:14}),onClick:b,loading:_.isPending,"data-testid":`role-delete`,children:d?X.scopes_delete_confirm({name:n.name}):X.scopes_delete_role()}),(0,M.jsx)(qv,{onClick:y,loading:v&&!_.isPending,"data-testid":`role-save`,children:X.common_save()})]})]})})},qJr=e=>e instanceof F_&&e.status===403,JJr=`https://pikku.dev/docs/authentication/scopes`,YJr=({search:e,editing:t,drawerOpen:n,onOpenRole:r,onCloseDrawer:i})=>{let a=bJr(),o=yJr(),s=a.data?.roles??[],c=o.data?.scopes??[],l=a.error||o.error;return l?qJr(l)?(0,M.jsx)(ty,{color:`yellow`,title:X.scopes_roles_forbidden_title(),"data-testid":`roles-forbidden`,children:X.scopes_roles_forbidden_body()}):(0,M.jsx)(ty,{color:`red`,title:X.scopes_roles_load_error(),"data-testid":`roles-load-error`,children:l instanceof Error?V(l.message):null}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($3,{icon:tLt,title:X.scopes_roles_title(),docsHref:JJr,data:s,getKey:e=>e.name,getRowProps:e=>({"data-testid":`role-row`,"data-role-name":e.name}),onRowClick:e=>r(e),loading:a.isLoading,externalSearch:e,searchFilter:(e,t)=>e.name.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t),emptyTitle:X.scopes_no_roles_title(),emptyDescription:X.scopes_no_roles_description(),columns:[{key:`name`,header:X.scopes_col_role(),render:e=>(0,M.jsx)(B,{size:`sm`,fw:500,children:V(e.name)})},{key:`description`,header:X.scopes_col_description(),render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description||`—`)})},{key:`scopes`,header:X.scopes_col_scopes(),align:`right`,width:100,render:e=>(0,M.jsx)(Yv,{variant:`light`,color:`gray`,size:`sm`,children:e.scopes.length})}]}),(0,M.jsx)(KJr,{opened:n,onClose:i,role:t,declaredScopes:c})]})},XJr=`https://pikku.dev/docs/authentication/scopes`,ZJr=({search:e})=>{let t=yJr(),n=FJr(t.data?.scopes??[]);if(t.isError){let e=t.error;return qJr(e)?(0,M.jsx)(ty,{color:`yellow`,title:X.scopes_vocab_forbidden_title(),children:X.scopes_vocab_forbidden_body()}):(0,M.jsx)(ty,{color:`red`,title:X.scopes_vocab_load_error(),children:e instanceof Error?V(e.message):null})}return(0,M.jsx)($3,{icon:Kz,title:X.scopes_vocab_title(),docsHref:XJr,data:n,getKey:e=>e.id,getRowProps:e=>({"data-testid":`scope-row`,"data-scope-id":e.id}),loading:t.isLoading,externalSearch:e,searchFilter:(e,t)=>e.id.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t),emptyTitle:X.scopes_no_declared_title(),emptyDescription:X.scopes_no_declared_description(),columns:[{key:`id`,header:X.scopes_col_scope(),render:e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:e.hasChildren?600:400,c:e.declared?void 0:`dimmed`,children:V(e.id)})},{key:`description`,header:X.scopes_col_description(),render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description||`—`)})},{key:`state`,header:X.scopes_col_state(),align:`right`,width:120,render:e=>e.declared?(0,M.jsx)(gu,{justify:`flex-end`,gap:6,children:(0,M.jsx)(Yv,{variant:`dot`,color:`green`,size:`sm`,children:X.scopes_state_declared()})}):(0,M.jsx)(Yv,{variant:`light`,color:`orange`,size:`sm`,children:X.scopes_state_stale()})}]})},QJr=()=>{Pt();let[e,t]=(0,A.useState)(`roles`),[n]=Gv(),[r,i]=(0,A.useState)(()=>n.get(`search`)??``),[a,o]=(0,A.useState)(null),[s,c]=(0,A.useState)(!1),l=e=>{o(e),c(!0)},u=e=>{t(e),i(``)};return(0,M.jsx)(uV,{header:(0,M.jsx)(lV,{title:X.scopes_page_title(),description:e===`roles`?X.scopes_page_desc_roles():X.scopes_page_desc_vocab(),docsHref:`https://pikku.dev/docs/core-features/permission-guards`,lead:e===`roles`?(0,M.jsx)(qv,{size:`xs`,leftSection:(0,M.jsx)(Fz,{size:14}),onClick:()=>l(null),"data-testid":`scopes-create-role`,children:X.scopes_create_role()}):void 0,filters:(0,M.jsx)(zm,{size:`sm`,value:e,onChange:e=>u(e),data:[{label:X.scopes_tab_roles(),value:`roles`},{label:X.scopes_tab_scopes(),value:`scopes`}]}),search:{placeholder:e===`roles`?X.scopes_search_roles():X.scopes_search_scopes(),value:r,onChange:i,width:240}}),children:e===`roles`?(0,M.jsx)(YJr,{search:r,editing:a,drawerOpen:s,onOpenRole:l,onCloseDrawer:()=>c(!1)}):(0,M.jsx)(ZJr,{search:r})})},$Jr={functionNode:Z4t,wiringNode:F4t,channelNode:e3t,decisionNode:t3t,sleepNode:n3t,inlineNode:i3t,genericNode:E3t,branchNode:a3t,fanoutNode:s3t,returnNode:l3t,cancelNode:d3t,switchNode:p3t,arrayPredicateNode:h3t,filterNode:_3t,parallelNode:y3t,channelWiringNode:S3t,setNode:w3t},eYr={elk:O3t},tYr=({workflow:e})=>{let{fitView:t}=o0t(),{nodes:n,edges:r}=(0,A.useMemo)(()=>P3t(e),[e]),i=R3t(n,r),[a,o]=Z2t([]),[s,c]=Q2t([]);return(0,A.useEffect)(()=>{i.nodes.length>0&&(o(i.nodes),c(i.edges),setTimeout(()=>{t({padding:.2}),setTimeout(()=>{window.__PIKKU_RENDER_READY__=!0},100)},50))},[i,o,c,t]),(0,M.jsx)(q2t,{nodes:a,edges:s,nodeTypes:$Jr,edgeTypes:eYr,defaultEdgeOptions:{style:{stroke:`#c0c0c0`,strokeWidth:1.5,strokeDasharray:`6 4`},animated:!1,markerEnd:{type:LQ.ArrowClosed,color:`#c0c0c0`,width:16,height:16}},zoomOnScroll:!1,preventScrolling:!0,nodesConnectable:!1,nodesDraggable:!1,panOnDrag:!1,proOptions:{hideAttribution:!0},children:(0,M.jsx)(D4t,{color:`transparent`,variant:GQ.Dots,size:0})})},nYr=()=>{let[e,t]=(0,A.useState)(null);return(0,A.useEffect)(()=>{window.__PIKKU_RENDER_DATA__&&t(window.__PIKKU_RENDER_DATA__);let e=()=>{window.__PIKKU_RENDER_DATA__&&t(window.__PIKKU_RENDER_DATA__)};return window.addEventListener(`pikku-render-data`,e),()=>window.removeEventListener(`pikku-render-data`,e)},[]),e?(0,M.jsx)(xs,{defaultColorScheme:`dark`,theme:{primaryColor:`violet`},children:(0,M.jsxs)(N,{style:{width:`100vw`,height:`100vh`,background:`#1a1b1e`},children:[(0,M.jsx)(`style`,{children:`
280
280
  .react-flow__handle { opacity: 0; pointer-events: none; }
281
281
  `}),(0,M.jsx)(XLt,{children:(0,M.jsx)(z2t,{children:(0,M.jsx)(tYr,{workflow:e})})})]})}):null};function rYr(e,t){let n=W_();return Ji({queryKey:[`state-diff`,e,t],queryFn:async()=>{if(!e)return null;let r={basePath:e};return t&&(r.oursPath=t),await n.invoke(`console:getStateDiff`,r)},enabled:!!e,staleTime:5e3})}var iYr={functions:`Functions`,http:`HTTP`,scheduler:`Schedulers`,queue:`Queues`,channel:`Channels`,trigger:`Triggers`,mcp:`MCP`,agent:`Agents`,cli:`CLI`,middleware:`Middleware`,variables:`Variables`,secrets:`Secrets`},aYr={added:`green`,removed:`red`,modified:`yellow`,unchanged:`gray`},oYr={added:`+`,removed:`−`,modified:`~`,unchanged:`·`},sYr=`pikku-changes-base-path`,cYr=({status:e})=>(0,M.jsx)(Yv,{size:`sm`,color:aYr[e],variant:`light`,style:{fontFamily:`monospace`,minWidth:20,textAlign:`center`},children:V(oYr[e])}),lYr=({method:e})=>{let t=QV[e.toUpperCase()]??{color:`gray`,label:e.toUpperCase()};return(0,M.jsx)(Yv,{size:`sm`,color:t.color,variant:`light`,style:{fontFamily:`monospace`,minWidth:44,textAlign:`center`},children:V(t.label)})},uYr=({wrapper:e})=>{if(!e)return null;let t=eH[e]??{color:`gray`,label:e};return(0,M.jsx)(Yv,{size:`sm`,color:t.color,variant:`outline`,children:V(t.label)})},dYr=({entry:e,category:t})=>{let n=e.ours??e.base??{};if(t===`http`){let[t,...r]=e.id.split(`:`),i=r.join(`:`),a=String(n.pikkuFuncId??``),o=Array.isArray(n.params)?n.params:[];return(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,style:{flex:1,minWidth:0},children:[(0,M.jsx)(lYr,{method:t}),(0,M.jsx)(B,{size:`sm`,c:`var(--app-text)`,ff:`monospace`,style:{flex:1,minWidth:0},truncate:!0,children:V(i)}),o.length>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(`params: ${o.join(`, `)}`)}),a&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,truncate:!0,style:{maxWidth:240},children:V(`→ ${a}`)})]})}if(t===`functions`){let t=String(n.funcWrapper??``),r=n.inputSchemaName?String(n.inputSchemaName):null,i=n.outputSchemaName?String(n.outputSchemaName):null,a=n.sessionless===!0;return(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,c:`var(--app-text)`,ff:`monospace`,fw:500,style:{minWidth:0},truncate:!0,children:V(e.id)}),(0,M.jsx)(uYr,{wrapper:t}),a&&(0,M.jsx)(Yv,{size:`sm`,color:`gray`,variant:`light`,children:V(`sessionless`)}),(r||i)&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,truncate:!0,style:{flex:1,minWidth:0},children:V(`${r??`·`} → ${i??`void`}`)})]})}let r=n.route?String(n.route):null,i=n.queueName?String(n.queueName):null,a=n.cron??n.schedule,o=typeof a==`string`?a:null;return(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,style:{flex:1,minWidth:0},children:[(0,M.jsx)(B,{size:`sm`,c:`var(--app-text)`,ff:`monospace`,fw:500,style:{minWidth:0},truncate:!0,children:V(e.id)}),r&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(r)}),i&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(`queue: ${i}`)}),o&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(`cron: ${o}`)})]})},fYr=({ours:e,base:t})=>{Pt();let n=Array.from(new Set([...Object.keys(e??{}),...Object.keys(t??{})])).sort();return(0,M.jsxs)(N,{style:{borderRadius:4,border:`1px solid var(--app-border)`,background:`var(--app-surface, var(--mantine-color-body))`,overflow:`hidden`},children:[(0,M.jsxs)(gu,{gap:0,style:{borderBottom:`1px solid var(--app-border)`,background:`var(--mantine-color-default-hover)`},children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fw:600,tt:`uppercase`,style:{width:180,padding:`6px 12px`},children:X.changes_field()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fw:600,tt:`uppercase`,style:{flex:1,padding:`6px 12px`,borderLeft:`1px solid var(--app-border)`},children:X.changes_base()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fw:600,tt:`uppercase`,style:{flex:1,padding:`6px 12px`,borderLeft:`1px solid var(--app-border)`},children:X.changes_ours()})]}),n.map(n=>{let r=e?.[n],i=t?.[n],a=JSON.stringify(r)===JSON.stringify(i);return(0,M.jsxs)(gu,{gap:0,wrap:`nowrap`,style:{borderBottom:`1px solid var(--app-border)`,background:a?`transparent`:`var(--mantine-color-default-hover)`},children:[(0,M.jsx)(B,{size:`sm`,c:a?`dimmed`:`yellow`,ff:`monospace`,style:{width:180,padding:`6px 12px`},children:V(n)}),(0,M.jsx)(N,{style:{flex:1,padding:`6px 12px`,borderLeft:`1px solid var(--app-border)`,background:!a&&i!==void 0?`rgba(255, 80, 80, 0.06)`:void 0},children:(0,M.jsx)(tf,{style:{background:`transparent`,fontSize:11,color:i===void 0?`var(--mantine-color-dimmed)`:void 0},children:i===void 0?`—`:JSON.stringify(i)})}),(0,M.jsx)(N,{style:{flex:1,padding:`6px 12px`,borderLeft:`1px solid var(--app-border)`,background:!a&&r!==void 0?`rgba(80, 200, 120, 0.06)`:void 0},children:(0,M.jsx)(tf,{style:{background:`transparent`,fontSize:11,color:r===void 0?`var(--mantine-color-dimmed)`:void 0},children:r===void 0?`—`:JSON.stringify(r)})})]},n)})]})},pYr=({entry:e,category:t})=>{let[n,r]=(0,A.useState)(e.status===`modified`);return(0,M.jsxs)(N,{style:{borderBottom:`1px solid var(--app-border)`},children:[(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,px:`md`,py:`xs`,style:{cursor:`pointer`},onClick:()=>r(e=>!e),children:[(0,M.jsx)(N,{style:{width:14},children:n?(0,M.jsx)(ez,{size:14}):(0,M.jsx)(tz,{size:14})}),(0,M.jsx)(cYr,{status:e.status}),(0,M.jsx)(dYr,{entry:e,category:t})]}),n&&(0,M.jsx)(N,{px:`lg`,pb:`md`,pt:4,children:(0,M.jsx)(fYr,{ours:e.ours,base:e.base})})]})},mYr=({entries:e,category:t})=>{Pt();let n=e.filter(e=>e.status!==`unchanged`);return n.length===0?(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.changes_no_changes_in_category()})}):(0,M.jsx)($m,{gap:0,children:n.map(e=>(0,M.jsx)(pYr,{entry:e,category:t},e.id))})},hYr=({diff:e})=>{let t=Object.values(e.summary).reduce((e,t)=>(e.added+=t.added,e.modified+=t.modified,e.removed+=t.removed,e),{added:0,modified:0,removed:0}),n=t.added+t.modified+t.removed;return(0,M.jsxs)(gu,{gap:`md`,px:`md`,py:6,style:{borderBottom:`1px solid var(--app-border)`,background:`var(--app-surface, var(--mantine-color-body))`},children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`${n} change${n===1?``:`s`}`)}),t.added>0&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(cYr,{status:`added`}),(0,M.jsx)(B,{size:`sm`,c:`green.4`,children:V(`${t.added} added`)})]}),t.modified>0&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(cYr,{status:`modified`}),(0,M.jsx)(B,{size:`sm`,c:`yellow.4`,children:V(`${t.modified} modified`)})]}),t.removed>0&&(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(cYr,{status:`removed`}),(0,M.jsx)(B,{size:`sm`,c:`red.4`,children:V(`${t.removed} removed`)})]}),(0,M.jsx)(N,{style:{flex:1}}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,truncate:!0,style:{maxWidth:380},children:V(`base: ${e.basePath.split(`/`).slice(-3).join(`/`)}`)})]})},gYr=({diff:e})=>{Pt();let t=(0,A.useMemo)(()=>Object.entries(e.categories).map(([e,t])=>({key:e,label:iYr[e]??e,added:t.added,removed:t.removed,modified:t.modified,entries:t.entries})).filter(e=>e.added+e.removed+e.modified>0),[e]),[n,r]=(0,A.useState)(t[0]?.key??null);return(0,A.useEffect)(()=>{!n&&t[0]&&r(t[0].key)},[t,n]),t.length===0?(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.changes_no_changes()})}):(0,M.jsxs)(N,{style:{display:`flex`,flexDirection:`column`,flex:1,minHeight:0},children:[(0,M.jsx)(hYr,{diff:e}),(0,M.jsxs)(uy,{value:n,onChange:r,keepMounted:!1,style:{display:`flex`,flexDirection:`column`,flex:1,minHeight:0},children:[(0,M.jsx)(uy.List,{px:`md`,pt:`sm`,style:{flexShrink:0},children:t.map(e=>(0,M.jsx)(uy.Tab,{value:e.key,children:(0,M.jsxs)(gu,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,children:V(e.label)}),e.added>0&&(0,M.jsx)(Yv,{size:`sm`,color:`green`,variant:`light`,children:V(`+${e.added}`)}),e.modified>0&&(0,M.jsx)(Yv,{size:`sm`,color:`yellow`,variant:`light`,children:V(`~${e.modified}`)}),e.removed>0&&(0,M.jsx)(Yv,{size:`sm`,color:`red`,variant:`light`,children:V(`−${e.removed}`)})]})},e.key))}),(0,M.jsx)(N,{style:{flex:1,minHeight:0},children:(0,M.jsx)(nu,{h:`100%`,children:t.map(e=>(0,M.jsx)(uy.Panel,{value:e.key,children:(0,M.jsx)(mYr,{entries:e.entries,category:e.key})},e.key))})})]})]})},_Yr=()=>{Pt();let e=$B(),[t]=Gv(),n=t.get(`base`),r=t.get(`ours`),i=(0,A.useRef)(null),[a,o]=(0,A.useState)(()=>n??localStorage.getItem(sYr)??``),[s,c]=(0,A.useState)(()=>n??localStorage.getItem(sYr));(0,A.useEffect)(()=>{i.current&&i.current.setAttribute(`webkitdirectory`,``)},[]),(0,A.useEffect)(()=>{n&&n!==s&&(o(n),c(n))},[n]);let{data:l,isLoading:u,error:d}=rYr(s,r),f=()=>{let e=a.trim();e?(localStorage.setItem(sYr,e),c(e)):(localStorage.removeItem(sYr),c(null))};return(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{hidePanel:!0,header:(0,M.jsx)(lV,{title:X.changes_title(),description:X.changes_description(),lead:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{placeholder:V(`../worktree-to-compare/.pikku`),value:a,onChange:e=>o(e.currentTarget.value),onKeyDown:e=>e.key===`Enter`&&f(),rightSection:(0,M.jsx)(Xv,{variant:`subtle`,size:`sm`,onClick:()=>i.current?.click(),children:(0,M.jsx)(iIt,{size:14})}),size:`xs`,style:{width:360}}),(0,M.jsx)(`input`,{ref:i,type:`file`,style:{display:`none`},onChange:e=>{let t=e.target.files?.[0];if(!t)return;let n=t.path;if(n){let e=n.split(`/`).slice(0,-1).join(`/`);o(e)}}}),(0,M.jsx)(qv,{size:`xs`,leftSection:(0,M.jsx)(gz,{size:14}),onClick:f,disabled:a.trim()===(s??``),children:X.changes_compare()})]})}),children:(0,M.jsxs)(N,{className:e,style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`},children:[!s&&(0,M.jsx)(Q3,{icon:gz,title:X.changes_no_base_path_title(),description:X.changes_no_base_path_description(),docsHref:`https://pikku.dev/docs`}),s&&u&&(0,M.jsx)(XB,{py:`xl`}),s&&d&&(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`red`,children:V(d.message)})}),s&&l&&!l.baseExists&&(0,M.jsx)($d,{p:`xl`,children:(0,M.jsxs)(B,{size:`sm`,c:`red`,children:[V(`Base path does not exist: `),(0,M.jsx)(tf,{children:l.basePath})]})}),s&&l&&l.baseExists&&(0,M.jsx)(gYr,{diff:l})]})})})},vYr=({features:e,selectedId:t,onSelect:n})=>(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`feature-navigator`,children:(0,M.jsxs)($m,{gap:2,p:`xs`,children:[e.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,p:`sm`,children:X.scenarios_no_features()}),e.map(e=>{let r=e.id===t;return(0,M.jsxs)(N,{"data-testid":`feature-nav-${e.id}`,onClick:()=>n(e.id),style:{padding:`8px 12px`,borderRadius:8,cursor:`pointer`,background:r?`var(--mantine-color-default-hover)`:`transparent`},children:[(0,M.jsx)(B,{size:`sm`,fw:r?600:500,lineClamp:1,children:V(e.name)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:e.scenarios.length===1?X.scenarios_scenario_count_one():X.scenarios_scenario_count({count:e.scenarios.length})})]},e.id)})]})}),yYr=({hasBefore:e,hasAfter:t})=>!e&&!t?null:(0,M.jsx)(N,{"data-testid":`feature-hooks`,style:{border:`1px dashed var(--mantine-color-default-border)`,borderRadius:10,padding:`10px 14px`},children:(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`xs`,fw:600,c:`dimmed`,children:X.scenarios_group_hooks()}),e&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenarios_group_before()}),t&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenarios_group_after()})]})}),bYr=e=>{let t=[],n=new Map;for(let r of e.scenarios){let e=n.get(r.scenario.name);if(e){r.data!==void 0&&e.examples.push(r.data);continue}let i={scenario:r.scenario,examples:r.data===void 0?[]:[r.data]};n.set(r.scenario.name,i),t.push(i)}return t},xYr=({feature:e,onOpenPersona:t,onSelectStep:n})=>{let r=(0,A.useMemo)(()=>bYr(e),[e]),{personas:i}=R1n(),{meta:a}=MB(),o=(0,A.useMemo)(()=>new Map(i.map(e=>[e.key,e])),[i]);return(0,M.jsx)(N,{"data-testid":`feature-document-${e.id}`,style:{maxWidth:860,padding:`28px 32px 64px`},children:(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)($m,{gap:8,children:[(0,M.jsx)(B,{fw:700,size:`xl`,style:{lineHeight:1.25},children:V(e.name)}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(e.description)}),(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:r.length===1?X.scenarios_scenario_count_one():X.scenarios_scenario_count({count:r.length})}),e.tags.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e)},e))]})]}),(0,M.jsx)(yYr,{hasBefore:e.hasBefore,hasAfter:e.hasAfter}),e.unresolvedEntries>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,fs:`italic`,"data-testid":`feature-partial`,children:X.scenarios_partial_listing({count:e.unresolvedEntries})}),(0,M.jsx)($v,{}),(0,M.jsx)($m,{gap:`xl`,children:r.map(e=>(0,M.jsx)(Z$n,{scenario:e.scenario,examples:e.examples,cast:e.scenario.actors.map(e=>o.get(e)).filter(e=>!!e),workflow:a.workflows?.[e.scenario.name],onOpenPersona:t,onSelectStep:n},e.scenario.name))})]})})},SYr=({tags:e,selected:t,onChange:n})=>e.length===0?null:(0,M.jsx)(sy,{"data-testid":`scenario-tag-filter`,data:e.map(e=>({value:e,label:V(e)})),value:t,onChange:n,placeholder:t.length===0?X.scenarios_all_tags():void 0,searchable:!0,clearable:!0,hidePickedOptions:!0,size:`xs`,style:{minWidth:240,maxWidth:420},comboboxProps:{withinPortal:!0}}),CYr=()=>{let[e,t]=(0,A.useState)(``),[n,r]=(0,A.useState)([]),[i,a]=(0,A.useState)(),{allFeatures:o,tags:s,loading:c}=u1n(X.scenarios_ungrouped()),l=(0,A.useMemo)(()=>c1n(o,{query:e,tags:n}),[o,e,n]);return{features:l,tags:s,selectedTags:n,setSelectedTags:r,searchQuery:e,setSearchQuery:t,selectedId:i,setSelectedId:a,selected:l.find(e=>e.id===i)??l[0],loading:c}},wYr=(e,t)=>({ariaLabel:X.scenarios_view_aria(),value:e,onChange:t,options:[{value:`features`,label:X.scenarios_view_features()},{value:`runs`,label:X.scenarios_view_runs()}]}),TYr=({browse:e,onViewChange:t})=>{let[n,r]=(0,A.useState)(),{personas:i}=R1n(),{openWorkflowStep:a,openPersona:o}=qB(),s=RB(),c=CYr(),{features:l,tags:u,selectedTags:d,setSelectedTags:f,searchQuery:p,setSearchQuery:m,setSelectedId:h,selected:g,loading:_}=e??c,v=e=>{let t=l.find(t=>t.scenarios.some(t=>t.scenario.name===e));t&&h(t.id),requestAnimationFrame(()=>{document.querySelector(`[data-testid="scenario-section-${e}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`})})};return(0,M.jsx)(mY,{workflow:n,children:(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.nav_scenarios(),description:X.scenarios_page_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,selection:t?wYr(`features`,t):void 0,filters:(0,M.jsxs)(gu,{gap:`sm`,wrap:`wrap`,children:[(0,M.jsx)(ry,{placeholder:X.scenarios_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:p,onChange:e=>m(e.target.value),size:`xs`,style:{width:260}}),(0,M.jsx)(SYr,{tags:u,selected:d,onChange:f})]})}),leftDrawerLabel:X.pane_features(),leftDrawer:_||e?null:(0,M.jsx)(vYr,{features:l,selectedId:g?.id,onSelect:e=>{h(e),s()}}),emptyPanelMessage:X.scenarios_select_step(),hidePanel:_,children:_?(0,M.jsx)(XB,{}):g?(0,M.jsx)(xYr,{feature:g,onOpenPersona:e=>{let t=i.find(t=>t.key===e);t&&o(e,t.name,{persona:t,onOpenScenario:v})},onSelectStep:(e,t,n,i)=>{r(e),a(t,n,{...i,stepType:n})}}):(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenarios_select_feature()})})})})},EYr={runs:e=>[`scenario-runs`,e],allRuns:()=>[`scenario-runs`],run:e=>[`scenario-run`,e]},DYr=3e3,OYr=e=>e===`running`,kYr=e=>!!e?.some(e=>OYr(e.status));function AYr(e=50){let t=W_();return Ji({queryKey:EYr.runs(e),queryFn:async()=>await t.invoke(`console:listScenarioRuns`,{limit:e}),refetchInterval:e=>kYr(e.state.data)?DYr:!1})}function jYr(e){let t=W_();return Ji({queryKey:EYr.run(e),queryFn:async()=>await t.invoke(`console:getScenarioRun`,{runId:e}),enabled:!!e,refetchInterval:e=>OYr(e.state.data?.status)?DYr:!1})}function MYr(){let e=W_(),t=Ri();return Yi({mutationFn:t=>e.invoke(`console:deleteScenarioRun`,{runId:t}),onSuccess:()=>{t.invalidateQueries({queryKey:EYr.allRuns()})}})}function NYr(e,t){let n=__e(),[r,i]=(0,A.useState)({loading:!0});return(0,A.useEffect)(()=>{if(!e||!t){i({loading:!1});return}let r,a=!1;return i({loading:!0}),n.fetch(`/scenario-run/:runId/artifact`,`GET`,{runId:e,path:t}).then(async e=>{if(!e.ok)throw Error(`Artifact unavailable (${e.status})`);let t=await e.blob();a||(r=URL.createObjectURL(t),i({url:r,loading:!1}))}).catch(e=>{a||i({error:e instanceof Error?e.message:String(e),loading:!1})}),()=>{a=!0,r&&URL.revokeObjectURL(r)}},[n,e,t]),r}var PYr={passed:{tone:`green`,label:()=>X.scenario_runs_passed(),Icon:$R},failed:{tone:`red`,label:()=>X.scenario_runs_failed(),Icon:uB},running:{tone:`blue`,label:()=>X.scenario_runs_running(),Icon:pIt}},FYr=({status:e,size:t=`sm`})=>{let n=PYr[e];return n?(0,M.jsx)(Yv,{variant:`light`,color:n.tone,radius:`xl`,tt:`none`,fw:500,size:t,leftSection:(0,M.jsx)(n.Icon,{size:11,strokeWidth:2.4}),"data-testid":`scenario-run-status-${e}`,children:n.label()}):null},IYr=e=>{if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`},LYr=e=>e===void 0?``:e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.round(e%6e4/1e3)}s`,RYr=({run:e,selected:t,onSelect:n})=>(0,M.jsxs)(N,{"data-testid":`scenario-run-row-${e.runId}`,onClick:()=>n(e.runId),style:{padding:`8px 12px`,borderRadius:8,cursor:`pointer`,background:t?`var(--mantine-color-default-hover)`:`transparent`},children:[(0,M.jsxs)(gu,{justify:`space-between`,wrap:`nowrap`,gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,fw:t?600:500,lineClamp:1,children:V(IYr(e.startedAt))}),(0,M.jsx)(FYr,{status:e.status,size:`xs`})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,lineClamp:1,children:X.scenario_runs_row_counts({environment:e.environment,passed:e.passed,failed:e.failed})})]}),zYr=({runs:e,loading:t,selectedId:n,onSelect:r})=>(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`scenario-run-navigator`,children:(0,M.jsxs)($m,{gap:2,p:`xs`,children:[t&&(0,M.jsx)($d,{p:`md`,children:(0,M.jsx)(fu,{size:`sm`})}),!t&&e.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,p:`sm`,children:X.scenario_runs_none()}),e.map(e=>(0,M.jsx)(RYr,{run:e,selected:e.runId===n,onSelect:r},e.runId))]})}),BYr={passed:{Icon:$R,colour:`var(--mantine-color-green-6)`},failed:{Icon:uB,colour:`var(--mantine-color-red-6)`},skipped:{Icon:_It,colour:`var(--mantine-color-dimmed)`}},VYr=({steps:e})=>e.length===0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenario_runs_no_steps()}):(0,M.jsx)($m,{gap:2,"data-testid":`scenario-run-steps`,children:e.map((e,t)=>{let n=BYr[e.status]??BYr.skipped;return(0,M.jsxs)(gu,{gap:`sm`,align:`flex-start`,wrap:`nowrap`,children:[(0,M.jsx)(N,{style:{width:16,flexShrink:0,paddingTop:3},children:(0,M.jsx)(n.Icon,{size:13,strokeWidth:2.4,color:n.colour})}),(0,M.jsx)(B,{size:`sm`,style:{lineHeight:1.6,flex:1},children:V(e.sentence)}),e.durationMs!==void 0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,style:{paddingTop:3},children:V(LYr(e.durationMs))})]},`${t}-${e.sentence}`)})}),HYr=({runId:e,artifact:t})=>{let{url:n,error:r,loading:i}=NYr(e,t.path),a=t.name??t.path.split(`/`).pop()??``;return(0,M.jsxs)($m,{gap:4,"data-testid":`scenario-artifact-${t.path}`,style:{maxWidth:t.kind===`video`?480:320},children:[(0,M.jsxs)(N,{style:{borderRadius:8,overflow:`hidden`,border:`1px solid var(--mantine-color-default-border)`,background:`var(--mantine-color-default)`,minHeight:90},children:[i&&(0,M.jsx)($d,{h:90,children:(0,M.jsx)(fu,{size:`xs`})}),r&&(0,M.jsx)($d,{h:90,p:`xs`,children:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(r)})}),n&&t.kind===`video`&&(0,M.jsx)(`video`,{src:n,controls:!0,style:{width:`100%`,display:`block`}}),n&&t.kind!==`video`&&(0,M.jsx)(`img`,{src:n,alt:a,style:{width:`100%`,display:`block`}})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:2,children:t.actor?X.scenario_runs_artifact_caption_actor({caption:a,actor:t.actor}):V(a)})]})},UYr=({runId:e,result:t})=>{let n=t.status===`failed`,r=t.artifacts??[];return(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`md`,"data-testid":`scenario-run-result-${t.name}`,children:(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsxs)(gu,{justify:`space-between`,wrap:`nowrap`,gap:`xs`,children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:V(t.name)}),t.feature&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(t.feature)})]}),(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(t.tags??[]).map(e=>(0,M.jsx)(Yv,{variant:`light`,size:`xs`,radius:`xl`,tt:`none`,children:V(e)},e)),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(LYr(t.durationMs))})]})]}),(0,M.jsx)(VYr,{steps:t.steps??[]}),n&&(0,M.jsxs)($m,{gap:4,children:[t.failure?.sentence&&(0,M.jsx)(B,{size:`sm`,c:`red`,fw:500,children:V(t.failure.sentence)}),(0,M.jsx)(tf,{block:!0,color:`red`,children:t.failure?.message??t.error??X.scenario_runs_unknown_failure()}),t.failure?.stack&&!t.failure.expected&&(0,M.jsx)(tf,{block:!0,children:t.failure.stack})]}),r.length>0&&(0,M.jsx)(gu,{gap:`md`,align:`flex-start`,wrap:`wrap`,children:r.map(t=>(0,M.jsx)(HYr,{runId:e,artifact:t},t.path))})]})})},WYr=({runId:e,onDeleted:t})=>{let{data:n,isLoading:r}=jYr(e),i=MYr();if(r)return(0,M.jsx)(XB,{});if(!n)return(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenario_runs_gone()})});let a=n.finishedAt&&new Date(n.finishedAt).getTime()-new Date(n.startedAt).getTime();return(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`scenario-run-detail`,children:(0,M.jsxs)($m,{gap:`md`,p:`md`,children:[(0,M.jsxs)(gu,{justify:`space-between`,wrap:`nowrap`,children:[(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,children:[(0,M.jsx)(FYr,{status:n.status}),(0,M.jsx)(B,{size:`sm`,fw:600,children:X.scenario_runs_header({environment:n.environment,surface:n.surface})}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(a?`${IYr(n.startedAt)} · ${LYr(a)}`:IYr(n.startedAt))})]}),(0,M.jsx)(qv,{size:`xs`,variant:`subtle`,color:`red`,leftSection:(0,M.jsx)($z,{size:13}),loading:i.isPending,onClick:()=>i.mutate(n.runId,{onSuccess:()=>t()}),"data-testid":`scenario-run-delete`,children:X.scenario_runs_delete()})]}),n.hookFailures.length>0&&(0,M.jsx)(ty,{color:`red`,title:X.scenario_runs_hook_failures(),children:(0,M.jsx)($m,{gap:4,children:n.hookFailures.map(e=>(0,M.jsx)(tf,{block:!0,children:e},e))})}),n.results.map(e=>(0,M.jsx)(UYr,{runId:n.runId,result:e},e.name)),n.skipped.length>0&&(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,children:X.scenario_runs_skipped()}),n.skipped.map(e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.scenario_runs_skipped_entry({name:e.name,reason:e.reason})},e.name))]})]})})},GYr=({onViewChange:e})=>{let{data:t,isLoading:n}=AYr(),[r,i]=(0,A.useState)(),a=RB(),o=t??[];return(0,A.useEffect)(()=>{!r&&o.length>0&&i(o[0].runId)},[r,o]),(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.nav_scenarios(),description:X.scenario_runs_page_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`,selection:e?wYr(`runs`,e):void 0}),leftDrawerLabel:X.pane_scenario_runs(),leftDrawer:(0,M.jsx)(zYr,{runs:o,loading:n,selectedId:r,onSelect:e=>{i(e),a()}}),hidePanel:!0,children:r?(0,M.jsx)(WYr,{runId:r,onDeleted:()=>i(void 0)}):(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n?X.scenario_runs_loading():X.scenario_runs_select_run()})})})},KYr=`/scenarios`,qYr=({browse:e})=>{Pt();let[t,n]=Gv(),r=t.get(`view`)===`runs`?`runs`:`features`,i=e=>n(e===`runs`?{view:`runs`}:{});return(0,M.jsx)(ZV,{children:r===`runs`?(0,M.jsx)(GYr,{onViewChange:i}):(0,M.jsx)(TYr,{browse:e,onViewChange:i})})},JYr=({browse:e})=>{let t=(0,A.useContext)(d0n),n=(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{h:`100vh`}),children:(0,M.jsx)(qYr,{browse:e})});return t?n:(0,M.jsx)(p0n,{basePath:KYr,children:n})},X9={list:`_list_1581u_6`,row:`_row_1581u_11`,facts:`_facts_1581u_23`,roles:`_roles_1581u_44`},YYr=({persona:e,onOpen:t})=>{let n=e.personality??e.description;return(0,M.jsxs)(ru,{"data-testid":`persona-row-${e.key}`,component:t?`button`:`div`,className:X9.row,"aria-label":V(e.name),onClick:t?()=>t(e.key):void 0,style:{width:`100%`,textAlign:`left`,borderRadius:10,border:`1px solid var(--mantine-color-default-border)`,background:`var(--app-surface, var(--mantine-color-body))`,padding:`14px 16px`,cursor:t?`pointer`:`default`},children:[(0,M.jsx)(dZn,{personaKey:e.key,jobTitle:e.jobTitle,name:e.name,avatarUrl:e.avatarUrl,size:48}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsxs)(gu,{gap:8,wrap:`wrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,lineClamp:1,style:{flexShrink:0},children:V(e.name)}),e.jobTitle&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:1,children:V(e.jobTitle)}),e.disposition&&(0,M.jsx)(Yv,{"data-testid":`persona-disposition-${e.key}`,variant:`light`,color:`cyan`,radius:`sm`,tt:`none`,fw:500,style:{flexShrink:0},children:V(e.disposition)}),!e.runnable&&(0,M.jsx)(Yv,{"data-testid":`persona-target-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),style:{flexShrink:0},children:X.personas_target()})]}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,lineClamp:1,children:V(e.email)}),n&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,fs:e.personality?`italic`:void 0,lineClamp:1,"data-testid":`persona-blurb-${e.key}`,children:e.personality?X.personas_blurb_quoted({blurb:n}):V(n)})]}),(0,M.jsxs)(gu,{gap:6,wrap:`wrap`,className:X9.roles,children:[e.roles.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.personas_no_roles()}):e.roles.map(e=>(0,M.jsx)(Yv,{variant:`light`,color:e.declared?void 0:`red`,radius:`sm`,tt:`none`,fw:500,leftSection:e.declared?void 0:(0,M.jsx)(tB,{size:11}),children:e.declared?V(e.displayName??e.name):X.personas_role_undeclared_named({role:e.displayName??e.name})},e.name)),e.tags.length>0&&(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,lineClamp:1,style:{width:`100%`},children:V(e.tags.map(e=>`#${e}`).join(` `))})]}),(0,M.jsxs)($m,{gap:3,c:`dimmed`,className:X9.facts,children:[(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(vz,{size:12}),(0,M.jsx)(B,{size:`xs`,children:e.scopes.length===0?X.personas_no_scopes():e.scopes.length===1?X.personas_scope_count_one():X.personas_scope_count({count:e.scopes.length})})]}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(qIt,{size:12}),(0,M.jsx)(B,{size:`xs`,children:e.goals.length===0?X.personas_no_goals():e.goals.length===1?X.personas_goal_count_one():X.personas_goal_count({count:e.goals.length})})]}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(zz,{size:12}),(0,M.jsx)(B,{size:`xs`,children:e.scenarios.length===0?X.personas_in_no_scenarios():e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})]})]}),t&&(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-dimmed)`})]})},XYr=({subject:e,onOpen:t})=>{let n=e.kind===`platform`?X.subjects_platform_name():V(e.name);return(0,M.jsxs)(ru,{"data-testid":`subject-row-${e.key}`,component:t?`button`:`div`,className:X9.row,"aria-label":n,onClick:t?()=>t(e.key):void 0,style:{width:`100%`,textAlign:`left`,borderRadius:10,border:`1px solid var(--mantine-color-default-border)`,background:`var(--app-surface, var(--mantine-color-body))`,padding:`14px 16px`,cursor:t?`pointer`:`default`},children:[(0,M.jsx)(hZn,{kind:e.kind,size:48}),(0,M.jsxs)($m,{gap:2,style:{minWidth:0},children:[(0,M.jsxs)(gu,{gap:8,wrap:`wrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:600,lineClamp:1,style:{flexShrink:0},children:n}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:1,children:e.kind===`platform`?X.subjects_platform_role():X.subjects_addon_role()}),(0,M.jsx)(Yv,{"data-testid":`subject-not-a-person-${e.key}`,variant:`light`,color:`gray`,radius:`sm`,tt:`none`,fw:500,leftSection:(0,M.jsx)(Wz,{size:11}),style:{flexShrink:0},children:X.subjects_not_a_person()})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,lineClamp:1,children:e.kind===`platform`?X.subjects_platform_blurb():X.subjects_addon_blurb({addon:e.addon})})]}),(0,M.jsx)(gu,{gap:6,wrap:`wrap`,className:X9.roles,children:e.steps.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.subjects_no_steps()}):e.steps.map(e=>(0,M.jsx)(Yv,{variant:`light`,color:`violet`,radius:`sm`,tt:`none`,fw:500,children:V(e.displayName)},e.name))}),(0,M.jsxs)($m,{gap:3,c:`dimmed`,className:X9.facts,children:[(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(aIt,{size:12}),(0,M.jsx)(B,{size:`xs`,children:e.steps.length===0?X.subjects_no_steps():e.steps.length===1?X.subjects_step_count_one():X.subjects_step_count({count:e.steps.length})})]}),(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(zz,{size:12}),(0,M.jsx)(B,{size:`xs`,children:e.scenarios.length===0?X.personas_in_no_scenarios():e.scenarios.length===1?X.personas_scenario_count_one():X.personas_scenario_count({count:e.scenarios.length})})]})]}),t&&(0,M.jsx)(tz,{size:16,color:`var(--mantine-color-dimmed)`})]})},ZYr=`https://pikku.dev/docs/wiring/personas`,QYr=({personas:e,subjects:t=[],loading:n=!1,onOpenScenario:r,onOpenVirtualUser:i,query:a})=>{Pt();let{openPersona:o}=qB();return n?(0,M.jsxs)($m,{gap:8,p:`md`,children:[(0,M.jsx)(Gm,{height:62,radius:10}),(0,M.jsx)(Gm,{height:62,radius:10}),(0,M.jsx)(Gm,{height:62,radius:10})]}):e.length===0&&t.length===0?a?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,p:`md`,"data-testid":`personas-no-matches`,children:X.personas_no_matches({query:a})}):(0,M.jsx)(Q3,{icon:iB,title:X.personas_empty_title(),description:X.personas_empty_description(),docsHref:ZYr}):(0,M.jsxs)($m,{gap:8,className:X9.list,children:[e.map(e=>(0,M.jsx)(YYr,{persona:e,onOpen:t=>o(t,e.name,{persona:e,onOpenScenario:r,onOpenVirtualUser:i})},e.key)),t.map(e=>(0,M.jsx)(XYr,{subject:e,onOpen:()=>o(e.key,e.name,{subject:e,onOpenScenario:r})},e.key))]})},$Yr=`https://pikku.dev/docs/wiring/personas`,eXr=()=>{Pt();let e=z(),{personas:t,loading:n}=R1n(),{subjects:r}=z1n(),[i,a]=(0,A.useState)(``),[o,s]=(0,A.useState)(`people`),c=i.trim(),l=(0,A.useMemo)(()=>{if(o===`system`)return[];let e=c.toLowerCase();return e?t.filter(t=>t.key.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||t.email.toLowerCase().includes(e)||t.jobTitle?.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e)||t.personality?.toLowerCase().includes(e)||t.disposition?.toLowerCase().includes(e)||t.roles.some(t=>t.name.toLowerCase().includes(e))||t.tags.some(t=>t.toLowerCase().includes(e))):t},[t,c,o]),u=(0,A.useMemo)(()=>{if(o===`people`)return[];let e=c.toLowerCase();return e?r.filter(t=>t.key.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||t.steps.some(t=>t.displayName.toLowerCase().includes(e))):r},[r,c,o]),d=l.length+u.length,f=o===`people`?t.length:o===`system`?r.length:t.length+r.length;return(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.nav_personas(),description:c?X.personas_showing({shown:d,total:f}):X.personas_page_description(),docsHref:$Yr,search:{placeholder:X.personas_search_placeholder(),value:i,onChange:a,width:240},selection:{ariaLabel:X.personas_filter_label(),value:o,onChange:s,options:[{value:`people`,label:X.personas_filter_people(),icon:(0,M.jsx)(tLt,{size:13}),"data-testid":`personas-filter-people`},{value:`system`,label:X.personas_filter_system(),icon:(0,M.jsx)(Pz,{size:13}),"data-testid":`personas-filter-system`},{value:`all`,label:X.personas_filter_all(),"data-testid":`personas-filter-all`}]}}),emptyPanelMessage:X.personas_select_persona(),children:(0,M.jsx)(QYr,{personas:l,subjects:u,loading:n,query:c||void 0,onOpenVirtualUser:t=>e(`/virtual-users?persona=${encodeURIComponent(t)}`)})})},tXr=()=>(Pt(),(0,M.jsx)(ZV,{children:(0,M.jsx)(eXr,{})})),nXr=()=>(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{h:`100vh`}),children:(0,M.jsx)(tXr,{})}),Z9={navItem:`_navItem_11p4s_1`,sectionTitle:`_sectionTitle_11p4s_20`,figure:`_figure_11p4s_26`,intentSteps:`_intentSteps_11p4s_35`,figureButton:`_figureButton_11p4s_41`,nameList:`_nameList_11p4s_57`,intentRow:`_intentRow_11p4s_64`,intentChevron:`_intentChevron_11p4s_76`,intentFeature:`_intentFeature_11p4s_90`,spreadBar:`_spreadBar_11p4s_99`,spreadSegment:`_spreadSegment_11p4s_108`,spreadRest:`_spreadRest_11p4s_114`,command:`_command_11p4s_119`},rXr=({users:e,selectedId:t,onSelect:n})=>(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`virtual-user-navigator`,children:(0,M.jsxs)($m,{gap:2,p:`xs`,children:[e.length===0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,p:`sm`,children:X.virtual_users_none()}),e.map(e=>{let r=e.id===t;return(0,M.jsxs)(N,{"data-testid":`virtual-user-nav-${e.id}`,onClick:()=>n(e.id),className:Z9.navItem,"data-selected":r||void 0,children:[(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsx)(B,{size:`sm`,fw:r?600:500,lineClamp:1,children:V(e.name)}),(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e.disposition)})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,lineClamp:1,children:V(e.persona.name)})]},e.id)})]})}),iXr=5e3;function aXr(e){let t=W_();return Ji({queryKey:[`virtual-user-runs`,e],queryFn:async()=>await t.invoke(`console:getVirtualUserRuns`,{persona:e,limit:20,offset:0}),enabled:!!e,refetchInterval:e=>e.state.data?.some(e=>e.status===`running`)?iXr:!1})}function oXr(e){let t=W_();return Ji({queryKey:[`virtual-user-run-steps`,e],queryFn:async()=>await t.invoke(`console:getVirtualUserRunSteps`,{runId:e,limit:500}),enabled:!!e})}function sXr(e){let t=W_(),n=Ri();return Yi({mutationFn:async n=>await t.invoke(`console:startVirtualUserRun`,{persona:e,...n}),onSuccess:()=>n.invalidateQueries({queryKey:[`virtual-user-runs`,e]})})}var cXr=({runId:e})=>{let{data:t,isPending:n,error:r}=oXr(e),i=t??[];return r?(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(r instanceof Error?r.message:String(r))}):n?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.virtual_users_runs_loading()}):i.length===0?(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.virtual_users_runs_no_transcript()}):(0,M.jsx)($m,{gap:2,"data-testid":`virtual-user-transcript`,children:i.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`baseline`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,style:{minWidth:28},children:V(String(e.index))}),(0,M.jsx)(B,{size:`xs`,ff:`monospace`,children:V(k1n(e.action))}),e.status!==void 0&&(0,M.jsx)(B,{size:`xs`,c:e.ok===!1?`red`:`dimmed`,children:V(String(e.status))}),e.findingKinds?.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`orange`,tt:`none`,children:V(e)},e))]},e.index))})},lXr={running:`blue`,completed:`green`,failed:`red`},uXr=({persona:e})=>{let{data:t,error:n}=aXr(e),r=sXr(e),[i,a]=A.useState(),o=t??[];return(0,M.jsxs)($m,{gap:`sm`,"data-testid":`virtual-user-runs`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(B,{size:`xs`,fw:600,tt:`uppercase`,c:`dimmed`,className:Z9.sectionTitle,style:{letterSpacing:`0.06em`},children:X.virtual_users_runs()}),(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,loading:r.isPending,onClick:()=>r.mutate(void 0),"data-testid":`virtual-user-run-now`,children:X.virtual_users_runs_start()})]}),r.error&&(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(r.error instanceof Error?r.error.message:String(r.error))}),n&&(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(n instanceof Error?n.message:String(n))}),!n&&o.length===0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.virtual_users_runs_none()}),o.map(e=>{let t=i===e.runId;return(0,M.jsxs)(N,{children:[(0,M.jsx)(ru,{onClick:()=>a(t?void 0:e.runId),"aria-expanded":t,style:{width:`100%`},children:(0,M.jsxs)(gu,{gap:10,wrap:`wrap`,align:`baseline`,children:[(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,color:lXr[e.status],children:V(e.status)}),(0,M.jsx)(B,{size:`sm`,children:V(new Date(e.createdAt).toLocaleString())}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_runs_counts({steps:e.tally?.steps??0,mutations:e.tally?.mutations??0})}),(0,M.jsx)(B,{size:`sm`,c:e.findings.length>0?`orange`:`dimmed`,children:X.virtual_users_runs_findings({count:e.findings.length})}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:X.virtual_users_runs_seed({disposition:e.disposition,seed:e.seed})})]})}),t&&(0,M.jsxs)($m,{gap:`xs`,pt:`xs`,pl:`md`,children:[e.error&&(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(e.error)}),e.findings.map((e,t)=>(0,M.jsx)(B,{size:`xs`,c:`orange`,children:X.virtual_users_runs_finding({kind:e.kind,step:e.step,detail:e.detail})},t)),e.intents.length>0&&(0,M.jsx)(gu,{gap:6,children:e.intents.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:X.virtual_users_runs_intent({title:e.title,status:e.status})},e.id))}),(0,M.jsx)(cXr,{runId:e.runId})]})]},e.runId)})]})};function dXr(){let e=W_();return Ji({queryKey:[`virtual-user-schedules`],queryFn:async()=>await e.invoke(`console:getVirtualUserSchedules`)})}function fXr(e){let t=W_(),n=Ri();return Yi({mutationFn:async n=>await t.invoke(`console:setVirtualUserSchedule`,{persona:e,...n}),onSuccess:()=>n.invalidateQueries({queryKey:[`virtual-user-schedules`]})})}var pXr=36e5,mXr=[`realistic`,`careless`,`newcomer`,`stale`,`auditor`,`adversarial`,`accountable`],hXr=({persona:e,declaredDisposition:t,declaredGoals:n})=>{let{data:r,error:i}=dXr(),a=fXr(e),o=(r??[]).find(t=>t.persona===e),s=A.useMemo(()=>({disposition:o?.disposition??t,goals:o?.goals??n,minHours:(o?.minIntervalMs??6*pXr)/pXr,maxHours:(o?.maxIntervalMs??24*pXr)/pXr}),[o,t,n]),[c,l]=A.useState(s),u=c.disposition!==s.disposition||c.goals.join(` `)!==s.goals.join(` `)||c.minHours!==s.minHours||c.maxHours!==s.maxHours;return A.useEffect(()=>{u||l(s)},[s]),(0,M.jsxs)($m,{gap:`sm`,"data-testid":`virtual-user-schedule`,children:[(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(B,{size:`xs`,fw:600,tt:`uppercase`,c:`dimmed`,className:Z9.sectionTitle,style:{letterSpacing:`0.06em`},children:X.virtual_users_schedule()}),(0,M.jsx)(cy,{size:`sm`,checked:o?.enabled??!1,disabled:a.isPending,onChange:e=>a.mutate({enabled:e.currentTarget.checked}),label:X.virtual_users_schedule_enabled(),"data-testid":`virtual-user-schedule-enabled`})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,style:{maxWidth:`68ch`},children:X.virtual_users_schedule_note()}),i&&(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(i instanceof Error?i.message:String(i))}),a.error&&(0,M.jsx)(B,{size:`xs`,c:`red`,children:V(a.error instanceof Error?a.error.message:String(a.error))}),(0,M.jsx)(oy,{size:`xs`,label:X.virtual_users_schedule_disposition(),data:mXr,value:c.disposition,original:t,onChange:e=>l(n=>({...n,disposition:e??t})),"data-testid":`virtual-user-schedule-disposition`}),(0,M.jsx)(gye,{size:`xs`,label:X.virtual_users_schedule_goals(),value:c.goals,original:n,onChange:e=>l(t=>({...t,goals:e})),"data-testid":`virtual-user-schedule-goals`}),(0,M.jsxs)(gu,{grow:!0,align:`start`,children:[(0,M.jsx)(ay,{size:`xs`,min:1,label:X.virtual_users_schedule_min_hours(),value:c.minHours,onChange:e=>l(t=>({...t,minHours:Number(e)})),"data-testid":`virtual-user-schedule-min`}),(0,M.jsx)(ay,{size:`xs`,min:1,label:X.virtual_users_schedule_max_hours(),value:c.maxHours,onChange:e=>l(t=>({...t,maxHours:Number(e)})),"data-testid":`virtual-user-schedule-max`})]}),(0,M.jsxs)(gu,{justify:`space-between`,align:`center`,children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:o?.enabled?X.virtual_users_schedule_next({when:new Date(o.nextRunAt).toLocaleString()}):X.virtual_users_schedule_off()}),u&&(0,M.jsx)(qv,{size:`compact-xs`,variant:`light`,loading:a.isPending,onClick:()=>a.mutate({disposition:c.disposition,goals:c.goals,minIntervalMs:c.minHours*pXr,maxIntervalMs:c.maxHours*pXr}),"data-testid":`virtual-user-schedule-save`,children:X.virtual_users_schedule_save()})]})]})},gXr={realistic:X.virtual_users_disposition_realistic,careless:X.virtual_users_disposition_careless,newcomer:X.virtual_users_disposition_newcomer,stale:X.virtual_users_disposition_stale,auditor:X.virtual_users_disposition_auditor,adversarial:X.virtual_users_disposition_adversarial,accountable:X.virtual_users_disposition_accountable},_Xr=(e,t)=>t===0?0:Math.round(e/t*100),vXr=6,yXr=({title:e,children:t,testId:n})=>(0,M.jsxs)($m,{gap:`sm`,"data-testid":n,children:[(0,M.jsx)(B,{size:`xs`,fw:600,tt:`uppercase`,c:`dimmed`,className:Z9.sectionTitle,style:{letterSpacing:`0.06em`},children:e}),t]}),bXr=({value:e,label:t,names:n,open:r,onToggle:i})=>{let a=(0,M.jsxs)($m,{gap:2,style:{minWidth:96},children:[(0,M.jsx)(B,{size:`xl`,fw:700,className:Z9.figure,children:V(String(e))}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:t})]});return!n?.length||!i?a:(0,M.jsx)(ru,{onClick:i,className:Z9.figureButton,"data-open":r||void 0,"aria-expanded":r,children:a})},xXr=({names:e})=>{let t=Uv();return(0,M.jsx)(N,{className:Z9.nameList,"data-testid":`reach-names`,children:(0,M.jsx)(gu,{gap:6,children:e.map(e=>(0,M.jsx)(Jv,{component:t,to:`/functions?search=${encodeURIComponent(e)}`,size:`xs`,ff:`monospace`,underline:`hover`,c:`dimmed`,children:V(e)},e))})})},SXr=e=>e.length>22?`${e.slice(0,21).trimEnd()}…`:e,CXr=({byFeature:e,total:t})=>{if(!e.length)return null;let n=e.slice(0,4);return(0,M.jsxs)($m,{gap:6,"data-testid":`virtual-user-feature-spread`,children:[(0,M.jsxs)(N,{className:Z9.spreadBar,children:[e.map((e,t)=>(0,M.jsx)(N,{className:Z9.spreadSegment,style:{flexGrow:e.count,opacity:Math.max(.25,1-t*.13)}},e.name)),t>e.reduce((e,t)=>e+t.count,0)&&(0,M.jsx)(N,{className:Z9.spreadRest,style:{flexGrow:t-e.reduce((e,t)=>e+t.count,0)}})]}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(n.map(e=>`${SXr(e.name)} ${e.count}`).join(` · `)+(e.length>n.length?` · +${e.length-n.length} more`:``))})]})},wXr=({user:e,environment:t=`staging`})=>{let{profile:n,reach:r}=e,i=n.moves.continue+n.moves.suspend+n.moves.resume+n.moves.abandon,a=e.goals.length>0||e.intents.length>0,[o,s]=A.useState(),[c,l]=A.useState(!1),[u,d]=A.useState(),f=c?e.intents:e.intents.slice(0,vXr),p=A.useRef(null);return A.useEffect(()=>{p.current?.scrollIntoView({block:`start`}),s(void 0),l(!1),d(void 0)},[e.id]),(0,M.jsx)(N,{ref:p,"data-testid":`virtual-user-document-${e.id}`,style:{maxWidth:860,padding:`28px 32px 64px`},children:(0,M.jsxs)($m,{gap:`xl`,children:[(0,M.jsxs)($m,{gap:8,children:[(0,M.jsxs)(gu,{gap:8,align:`center`,children:[(0,M.jsx)(B,{fw:700,size:`xl`,style:{lineHeight:1.25},children:V(e.name)}),(0,M.jsx)(Yv,{size:`sm`,variant:`light`,radius:`sm`,tt:`none`,children:V(e.disposition)}),e.tags.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`outline`,radius:`sm`,tt:`none`,color:`gray`,children:V(e)},e))]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(e.description)}),(0,M.jsxs)(gu,{gap:6,align:`baseline`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_signs_in_as()}),(0,M.jsx)(B,{size:`sm`,fw:600,children:V(e.persona.name)}),e.persona.jobTitle&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(`· ${e.persona.jobTitle}`)}),e.persona.email&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(`· ${e.persona.email}`)})]}),e.persona.personality&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,style:{maxWidth:`68ch`},children:V(e.persona.personality)})]}),(0,M.jsxs)(yXr,{title:X.virtual_users_behaviour(),testId:`virtual-user-behaviour`,children:[(0,M.jsx)(B,{size:`sm`,style:{maxWidth:`68ch`},children:gXr[e.disposition]()}),e.tunedDials.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,"data-testid":`virtual-user-tuned`,children:X.virtual_users_tuned({dials:e.tunedDials.join(`, `)})}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:X.virtual_users_moves({continue:_Xr(n.moves.continue,i),suspend:_Xr(n.moves.suspend,i),resume:_Xr(n.moves.resume,i),abandon:_Xr(n.moves.abandon,i)})}),(0,M.jsxs)($m,{gap:4,children:[n.reReadRate>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_dial_reread({percent:Math.round(n.reReadRate*100)})}),n.repeatRate>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_dial_repeat({percent:Math.round(n.repeatRate*100)})}),n.emptyMemory&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_dial_empty_memory()}),n.readOnly&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_dial_read_only()}),n.invertedOracle&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_dial_inverted()})]})]}),(0,M.jsxs)(yXr,{title:X.virtual_users_wants(),testId:`virtual-user-wants`,children:[!a&&(0,M.jsx)(B,{size:`sm`,c:`orange`,"data-testid":`virtual-user-no-wants`,children:X.virtual_users_nothing_to_want({actor:e.persona.key})}),e.goals.length>0&&(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:X.virtual_users_goals()}),e.goals.map(e=>(0,M.jsx)(B,{size:`sm`,children:V(`· ${e}`)},e))]}),e.intents.length>0&&(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,children:X.virtual_users_wants_summary({intents:e.wants.intents,features:e.wants.features,steps:e.wants.steps})}),(0,M.jsx)(CXr,{byFeature:e.wants.byFeature,total:e.wants.intents})]}),(0,M.jsx)(B,{size:`sm`,fw:600,children:X.virtual_users_intents({actor:e.persona.key})}),(0,M.jsx)($m,{gap:0,children:f.map(t=>{let n=o===t.id;return(0,M.jsxs)($m,{gap:4,"data-testid":`intent-${t.id}`,children:[(0,M.jsx)(ru,{className:Z9.intentRow,"data-open":n||void 0,"aria-expanded":n,onClick:()=>s(n?void 0:t.id),children:(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`baseline`,children:[(0,M.jsx)(tz,{size:13,className:Z9.intentChevron,"data-open":n||void 0}),(0,M.jsx)(B,{size:`sm`,fw:500,style:{flex:1},children:V(t.title)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,className:Z9.intentFeature,title:V(e.featureByIntent[t.id]??``),children:V(e.featureByIntent[t.id]??X.virtual_users_intent_no_feature())}),t.steps&&t.steps.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:X.virtual_users_intent_steps({count:t.steps.length})})]})}),n&&(0,M.jsxs)($m,{gap:4,pb:`sm`,pl:21,children:[t.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(t.description)}),t.steps&&t.steps.length>0&&(0,M.jsx)($m,{gap:2,className:Z9.intentSteps,children:t.steps.map((e,t)=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e)},t))})]})]},t.id)})}),e.intents.length>vXr&&(0,M.jsx)(ru,{onClick:()=>l(!c),"data-testid":`virtual-user-intents-toggle`,children:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,td:`underline`,children:c?X.virtual_users_intents_show_fewer():X.virtual_users_intents_show_all({count:e.intents.length})})}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,fs:`italic`,style:{maxWidth:`68ch`},children:X.virtual_users_intents_note()})]})]}),(0,M.jsxs)(yXr,{title:X.virtual_users_reach(),testId:`virtual-user-reach`,children:[(0,M.jsxs)(gu,{gap:`xl`,align:`flex-start`,children:[(0,M.jsx)(bXr,{value:r.offered,label:X.virtual_users_offered({total:r.total}),names:r.offeredNames,open:u===`offered`,onToggle:()=>d(u===`offered`?void 0:`offered`)}),(0,M.jsx)(bXr,{value:r.mutations,label:X.virtual_users_mutations_offered(),names:r.mutationNames,open:u===`mutations`,onToggle:()=>d(u===`mutations`?void 0:`mutations`)})]}),u===`offered`&&(0,M.jsx)(xXr,{names:r.offeredNames}),u===`mutations`&&(0,M.jsx)(xXr,{names:r.mutationNames}),!u&&r.offeredNames.length>0&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.virtual_users_reach_open()}),(0,M.jsxs)($m,{gap:4,children:[r.showsEverything&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_shows_everything()}),r.withheldByApproval>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_withheld_approval({count:r.withheldByApproval})}),r.withheldByScopes>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_withheld_grants({count:r.withheldByScopes})}),r.withheldByReadOnly>0&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_withheld_readonly({count:r.withheldByReadOnly})}),r.inferred>0&&(0,M.jsx)(ru,{onClick:()=>d(u===`inferred`?void 0:`inferred`),"aria-expanded":u===`inferred`,"data-testid":`virtual-user-inferred`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,td:`underline`,children:X.virtual_users_inferred({count:r.inferred})})}),u===`inferred`&&(0,M.jsx)(xXr,{names:r.inferredNames})]}),e.roles.length>0&&(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:X.virtual_users_grants()}),e.roles.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e)},e))]}),e.fixtures&&e.fixtures.length>0&&(0,M.jsxs)(gu,{gap:6,children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:X.virtual_users_fixtures()}),e.fixtures.map(e=>(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,children:V(e)},e))]})]}),(0,M.jsx)(yXr,{title:X.virtual_users_stops(),testId:`virtual-user-stops`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.virtual_users_budget_default()})}),(0,M.jsx)(yXr,{title:X.virtual_users_environments(),testId:`virtual-user-environments`,children:e.environments?(0,M.jsx)(gu,{gap:6,children:e.environments.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e)},e))}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:X.virtual_users_environments_default()})}),(0,M.jsx)(hXr,{persona:e.id,declaredDisposition:e.disposition,declaredGoals:e.goals}),(0,M.jsx)(uXr,{persona:e.id}),(0,M.jsxs)(yXr,{title:X.virtual_users_run(),testId:`virtual-user-run`,children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,className:Z9.command,children:V(`pikku persona run ${t} ${e.id}`)}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:X.virtual_users_run_note()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,className:Z9.command,children:V(`pikku persona sync ${t}`)}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:X.virtual_users_sync_note()})]})]})})};function TXr(){let{meta:e,loading:t}=MB(),[n]=Gv(),[r,i]=(0,A.useState)(),a=(0,A.useMemo)(()=>O1n({personas:e.personas??{},systemRoles:e.systemRoles??{},functions:Object.fromEntries((e.functions??[]).map(e=>[e.name,e])),workflows:e.workflows??{},features:e.features??{}}),[e]),o=n.get(`persona`)??void 0;return{users:a,selected:a.find(e=>e.id===(r??o))??a[0],setSelectedId:i,loading:t}}var EXr=`definePersonas({ shopper: { name: 'Shopper', disposition: 'careless', goals: [...] } })`,DXr=()=>{let{users:e,selected:t,setSelectedId:n,loading:r}=TXr(),i=RB();return(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.nav_virtual_users(),description:X.virtual_users_page_description(),docsHref:`https://pikku.dev/docs/wiring/workflows`}),leftDrawerLabel:X.pane_virtual_users(),leftDrawer:r?null:(0,M.jsx)(rXr,{users:e,selectedId:t?.id,onSelect:e=>{n(e),i()}}),hidePanel:!0,children:r?(0,M.jsx)(XB,{}):t?(0,M.jsx)(wXr,{user:t}):(0,M.jsx)($d,{p:`xl`,children:(0,M.jsxs)($m,{gap:`xs`,align:`center`,style:{maxWidth:`60ch`},children:[(0,M.jsx)(B,{size:`sm`,fw:600,children:X.virtual_users_empty_title()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ta:`center`,children:X.virtual_users_empty_description()}),(0,M.jsx)(B,{size:`sm`,ff:`monospace`,c:`dimmed`,ta:`center`,children:V(EXr)})]})})})},OXr=()=>(Pt(),(0,M.jsx)(ZV,{children:(0,M.jsx)(DXr,{})})),kXr=()=>(0,M.jsx)(A.Suspense,{fallback:(0,M.jsx)(XB,{h:`100vh`}),children:(0,M.jsx)(OXr,{})}),AXr={error:`var(--mantine-color-red-5)`,warn:`var(--mantine-color-yellow-6)`,info:`var(--mantine-color-blue-5)`},jXr={error:X.knowledge_severity_error,warn:X.knowledge_severity_warn,info:X.knowledge_severity_info},MXr=({severity:e,size:t=14})=>(0,M.jsx)(e===`info`?uIt:tB,{size:t,color:AXr[e],role:`img`,"aria-label":jXr[e]()}),NXr=({findings:e,notePaths:t,onOpenNote:n})=>{if(e.length===0)return(0,M.jsx)(N,{style:{maxWidth:860,padding:`28px 32px 64px`},children:(0,M.jsxs)(gu,{gap:8,children:[(0,M.jsx)(rz,{size:16,color:`var(--mantine-color-teal-5)`}),(0,M.jsx)(B,{size:`sm`,children:X.knowledge_findings_none()})]})});let r=[...e].sort((e,t)=>xKr.indexOf(e.severity)-xKr.indexOf(t.severity)||e.path.localeCompare(t.path));return(0,M.jsx)(N,{"data-testid":`knowledge-findings`,style:{maxWidth:860,padding:`28px 32px 64px`},children:(0,M.jsxs)($m,{gap:`lg`,children:[(0,M.jsxs)($m,{gap:8,children:[(0,M.jsx)(B,{fw:700,size:`xl`,style:{lineHeight:1.25},children:X.knowledge_findings_title()}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:X.knowledge_findings_description()})]}),(0,M.jsx)($m,{gap:`md`,children:r.map(e=>(0,M.jsxs)($m,{gap:4,children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(MXr,{severity:e.severity}),t.has(e.path)?(0,M.jsx)(Jv,{component:`button`,type:`button`,size:`xs`,ff:`monospace`,onClick:()=>n(e.path),children:V(e.path)}):(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e.path)}),(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e.id)})]}),(0,M.jsx)(B,{size:`sm`,children:V(e.message)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.fixHint)})]},e.id))})]})})},PXr=({label:e,paths:t,titleFor:n,onOpen:r})=>t.length===0?null:(0,M.jsx)(XQ,{label:e,labelWidth:110,align:`flex-start`,children:(0,M.jsx)(gu,{gap:10,wrap:`wrap`,children:t.map(e=>{let t=n?.(e);return t===void 0?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(e)},e):r?(0,M.jsx)(Jv,{component:`button`,type:`button`,size:`sm`,className:PB.knowledgeLink,onClick:()=>r(e),children:V(t)},e):(0,M.jsx)(B,{size:`sm`,children:V(t)},e)})})}),FXr={proposed:X.knowledge_status_proposed,dispatched:X.knowledge_status_dispatched,built:X.knowledge_status_built},IXr={proposed:`gray`,dispatched:`blue`,built:`teal`},LXr=({status:e,size:t=`xs`})=>(0,M.jsx)(Yv,{size:t,variant:`light`,radius:`sm`,tt:`none`,color:IXr[e]??`orange`,children:FXr[e]?.()??V(e)}),RXr={overview:ZR,slice:xz,entity:BFt,decision:PIt,question:JFt,note:mz},zXr=({type:e,size:t=13})=>{let n=e&&RXr[e]||mz;return(0,M.jsx)(n,{size:t,color:`var(--mantine-color-dimmed)`})},BXr=({note:e,findings:t,titleFor:n,onOpenNote:r})=>{let[i,a]=(0,A.useState)(!1),o=(0,A.useId)(),s=(0,A.useMemo)(()=>({a:({href:t,children:i})=>{if(t&&kKr(t))return(0,M.jsx)(BKr,{uri:t,children:sqr(i)});let a=t?DKr(e.path,t):null;return a===null?(0,M.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,children:i}):n(a)===void 0?(0,M.jsx)(B,{component:`span`,c:`dimmed`,style:{textDecoration:`underline dotted`},title:V(a),children:sqr(i)}):(0,M.jsx)(`a`,{href:t,onClick:e=>{e.preventDefault(),r(a)},children:i})}}),[e.path,n,r]),c=e.entities.length>0||e.resource.length>0||e.outbound.length>0||e.inbound.length>0||e.dangling.length>0;return(0,M.jsx)(N,{"data-testid":`knowledge-document-${e.path}`,style:{maxWidth:860,padding:`28px 32px 64px`},children:(0,M.jsxs)($m,{gap:`md`,children:[(0,M.jsxs)($m,{gap:6,children:[(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(zXr,{type:e.type,size:16}),(0,M.jsx)(B,{fw:700,size:`xl`,style:{lineHeight:1.25},children:V(e.title)})]}),e.description&&(0,M.jsx)(B,{size:`sm`,c:`dimmed`,style:{maxWidth:`68ch`},children:V(e.description)}),(0,M.jsxs)(gu,{gap:6,align:`center`,children:[e.type&&(0,M.jsx)(Yv,{size:`xs`,variant:`light`,radius:`sm`,tt:`none`,children:V(e.type)}),e.status&&(0,M.jsx)(LXr,{status:e.status}),e.tags.map(e=>(0,M.jsx)(Yv,{size:`xs`,variant:`outline`,radius:`sm`,tt:`none`,color:`gray`,children:V(e)},e)),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e.path)})]})]}),t.length>0&&(0,M.jsx)($m,{gap:6,"data-testid":`knowledge-note-findings`,children:t.map(e=>(0,M.jsxs)(gu,{gap:8,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(N,{pt:2,children:(0,M.jsx)(MXr,{severity:e.severity})}),(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(B,{size:`sm`,children:V(e.message)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(e.fixHint)})]})]},e.id))}),c&&(0,M.jsxs)(N,{children:[(0,M.jsxs)(ru,{"data-testid":`knowledge-note-details-toggle`,onClick:()=>a(e=>!e),"aria-expanded":i,"aria-controls":o,className:PB.knowledgeRow,style:{marginLeft:-10},children:[i?(0,M.jsx)(ez,{size:12,color:`var(--app-text-dim)`}):(0,M.jsx)(tz,{size:12,color:`var(--app-text-dim)`}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:X.knowledge_details()})]}),(0,M.jsx)(rc,{expanded:i,keepMounted:!1,children:(0,M.jsxs)(N,{id:o,"data-testid":`knowledge-note-details`,children:[e.entities.length>0&&(0,M.jsx)(XQ,{label:X.knowledge_entities(),labelWidth:110,children:(0,M.jsx)(gu,{gap:10,wrap:`wrap`,children:e.entities.map(e=>(0,M.jsx)(B,{size:`sm`,children:V(e)},e))})}),e.resource.length>0&&(0,M.jsx)(XQ,{label:X.knowledge_resources(),labelWidth:110,children:(0,M.jsx)(gu,{gap:6,wrap:`wrap`,children:e.resource.map(e=>(0,M.jsx)(BKr,{uri:e},e))})}),(0,M.jsx)(PXr,{label:X.knowledge_links_out(),paths:e.outbound,titleFor:n,onOpen:r}),(0,M.jsx)(PXr,{label:X.knowledge_links_in(),paths:e.inbound,titleFor:n,onOpen:r}),(0,M.jsx)(PXr,{label:X.knowledge_links_dangling(),paths:e.dangling})]})})]}),(0,M.jsx)($v,{}),(0,M.jsx)(vqr,{components:s,children:wKr(CKr(e.body),e.title)})]})})},VXr={slices:xz,entities:BFt,decisions:PIt,security:Oz,design:Mz,questions:JFt,wishlist:Yz,personas:aB,actors:iB,log:IIt},HXr=({section:e,size:t=12})=>{if(!e)return(0,M.jsx)(ZR,{size:t,color:`var(--app-text-dim)`});let n=e.split(`/`).slice().reverse().map(e=>VXr[e]).find(Boolean)??mz;return(0,M.jsx)(n,{size:t,color:`var(--app-text-dim)`})},UXr=(e,t)=>t!==void 0&&e?.kind===`note`&&e.path===t,WXr=12,GXr=e=>({paddingLeft:10+e*WXr}),KXr=({groups:e,findings:t,selected:n,onSelect:r})=>{let i=jKr(e);return(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`knowledge-navigator`,children:(0,M.jsxs)($m,{gap:`xs`,p:`xs`,children:[t.length>0&&(0,M.jsxs)(ru,{"data-testid":`knowledge-nav-findings`,"data-selected":n?.kind===`findings`||void 0,"aria-current":n?.kind===`findings`||void 0,onClick:()=>r({kind:`findings`}),className:PB.knowledgeRow,style:GXr(0),children:[(0,M.jsx)(MXr,{severity:SKr(t),size:13}),(0,M.jsx)(B,{size:`sm`,fw:500,children:t.length===1?X.knowledge_issue_count_one():X.knowledge_issue_count({count:t.length})})]}),i.map(e=>{let t=e.section?V(e.label):(0,M.jsx)(M.Fragment,{children:X.knowledge_section_root()});return(0,M.jsxs)($m,{gap:2,children:[e.indexPath?(0,M.jsxs)(ru,{"data-testid":`knowledge-nav-${e.indexPath}`,"data-selected":UXr(n,e.indexPath)||void 0,"aria-current":UXr(n,e.indexPath)||void 0,onClick:()=>r({kind:`note`,path:e.indexPath}),className:PB.knowledgeRow,style:GXr(e.depth),children:[(0,M.jsx)(HXr,{section:e.section}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:t})]}):(0,M.jsxs)(N,{className:PB.knowledgeRow,style:GXr(e.depth),children:[(0,M.jsx)(HXr,{section:e.section}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:t})]}),e.notes.map(t=>(0,M.jsxs)(ru,{"data-testid":`knowledge-nav-${t.path}`,"data-selected":UXr(n,t.path)||void 0,"aria-current":UXr(n,t.path)||void 0,onClick:()=>r({kind:`note`,path:t.path}),title:V(t.title),className:PB.knowledgeRow,style:GXr(e.depth+1),children:[(0,M.jsx)(zXr,{type:t.type}),(0,M.jsx)(B,{size:`sm`,fw:UXr(n,t.path)?600:500,lineClamp:1,style:{flex:1,minWidth:0},children:V(t.title)}),t.status&&(0,M.jsx)(LXr,{status:t.status})]},t.path))]},e.section||`root`)})]})})};function qXr(){let e=W_(),{data:t,isLoading:n}=Ji({queryKey:[`console:getKnowledge`],queryFn:async()=>await e.invoke(`console:getKnowledge`)});return{bundle:t??null,isLoading:n}}var JXr=()=>{let{bundle:e,isLoading:t}=qXr(),[n,r]=(0,A.useState)(``),[i,a]=(0,A.useState)(null),o=e?.notes??[],s=e?.findings??[],c=(0,A.useMemo)(()=>o.filter(e=>bKr(e,n)),[o,n]),l=(0,A.useMemo)(()=>MKr({notes:c,sections:e?.sections??[]}),[c,e?.sections]),u=(0,A.useMemo)(()=>new Map(o.map(e=>[e.path,e])),[o]),d=TKr(c),f=i??(d?{kind:`note`,path:d.path}:null);return{groups:l,findings:s,search:n,setSearch:r,selected:f,setSelected:a,selectedNote:f?.kind===`note`?u.get(f.path):void 0,byPath:u,stats:e?.stats,noteCount:o.length,isLoading:t}},YXr=`https://pikku.dev/docs/core-features/knowledge`,XXr=({browse:e})=>{Pt();let t=JXr(),n=e??t,r=RB(),{groups:i,findings:a,search:o,setSearch:s,selected:c,setSelected:l,selectedNote:u,byPath:d,stats:f,noteCount:p,isLoading:m}=n,h=e=>d.get(e)?.title,g=(0,M.jsx)(lV,{title:X.knowledge_title(),description:f?X.knowledge_stats({notes:f.notes,links:f.links}):void 0,docsHref:YXr,search:{placeholder:X.knowledge_search_placeholder(),value:o,onChange:s}});return m?(0,M.jsx)(Z3,{header:g,hidePanel:!0,children:(0,M.jsx)(XB,{})}):p===0?(0,M.jsx)(Z3,{header:g,hidePanel:!0,children:(0,M.jsx)(Q3,{icon:ZR,title:X.knowledge_empty_title(),description:X.knowledge_empty_description(),docsHref:YXr})}):(0,M.jsx)(Z3,{header:g,hidePanel:!0,leftDrawerLabel:X.pane_notes(),leftDrawer:e?null:(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{height:`100%`},children:(0,M.jsx)(KXr,{groups:i,findings:a,selected:c,onSelect:e=>{l(e),r()}})}),children:c?.kind===`findings`?(0,M.jsx)(NXr,{findings:a,notePaths:new Set(d.keys()),onOpenNote:e=>l({kind:`note`,path:e})}):u?(0,M.jsx)(BXr,{note:u,findings:EKr(a,u.path),titleFor:h,onOpenNote:e=>l({kind:`note`,path:e})}):(0,M.jsx)($d,{p:`xl`,children:(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.knowledge_no_matches()})})})},ZXr=({browse:e})=>(0,M.jsx)(ZV,{children:(0,M.jsx)(XXr,{browse:e})}),QXr=e=>e.kind!==`type`&&e.kind!==`interface`,$Xr=e=>e.symbols.filter(QXr),eZr=[{step:`create a function`,prose:`Everything starts as a function. It receives its data without knowing whether that arrived as a path param, a query string, a message body or a queue job, so nothing you write here has to be rewritten when the transport changes.`},{step:`enhance it`,prose:`Give it the things a function needs to be worth calling: typed errors it can throw, configuration it can read, and secrets and credentials it never has to hold itself.`},{step:`wire it up`,prose:`Now decide how the outside world reaches it. Each wiring is one call, and a function can carry several — the same handler answering an HTTP route, a queue job and an MCP tool.`},{step:`guard it`,prose:`Say who may call it. Sessions come from auth, scopes gate the call outside the permission pool, and neither lives inside the function body.`},{step:`orchestrate it`,prose:`Compose functions into something longer-running: a workflow with durable steps and retries, or an agent that chooses which of them to call.`},{step:`test it`,prose:`Drive the whole thing the way a user would, in scenarios that run against a real server rather than a mocked one.`}];eZr.map(e=>e.step);var tZr=e=>eZr.map(({step:t,prose:n})=>({step:t,prose:n,leaves:e.leaves.filter(e=>e.step===t).map(e=>({...e,symbols:$Xr(e)})).filter(e=>e.symbols.length>0)})).filter(e=>e.leaves.length>0),nZr=({entryPoint:e,selectedSpecifier:t,onSelectLeaf:n})=>{let r=tZr(e);return(0,M.jsx)(nu,{style:{height:`100%`},"data-testid":`surface-navigator`,children:(0,M.jsx)($m,{gap:`xs`,p:`xs`,children:r.map(e=>(0,M.jsxs)($m,{gap:2,children:[(0,M.jsx)(N,{className:PB.knowledgeRow,style:{paddingLeft:10},children:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,tt:`uppercase`,fw:600,children:V(e.step)})}),e.leaves.map(e=>(0,M.jsxs)(ru,{"data-testid":`surface-nav-${e.specifier}`,"data-selected":e.specifier===t||void 0,"aria-current":e.specifier===t||void 0,onClick:()=>n(e.specifier),className:PB.knowledgeRow,style:{paddingLeft:22},children:[(0,M.jsx)(B,{size:`sm`,ff:`monospace`,fw:e.specifier===t?600:500,lineClamp:1,style:{flex:1,minWidth:0},children:V(e.specifier)}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:V(String(e.symbols.length))})]},e.specifier))]},e.step))})})},rZr=3,iZr=({symbol:e,specifier:t,usage:n,onOpen:r})=>{let[i,a]=(0,A.useState)(!1),o=n?.files??[],s=(n?.imports??0)>0;return(0,M.jsxs)(N,{component:`button`,type:`button`,"data-testid":`surface-card-${e.name}`,onClick:()=>r(e),onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),style:{width:`100%`,textAlign:`left`,background:i?`var(--mantine-color-default-hover)`:`var(--app-surface, var(--mantine-color-body))`,border:`1px solid var(--mantine-color-default-border)`,borderRadius:12,cursor:`pointer`,transition:`background 100ms`,padding:`14px 18px`,display:`grid`,gridTemplateColumns:`minmax(0, 1fr) auto`,columnGap:24,rowGap:8,alignItems:`start`},children:[(0,M.jsxs)($m,{gap:6,style:{minWidth:0},children:[(0,M.jsxs)(gu,{gap:8,wrap:`wrap`,align:`center`,children:[(0,M.jsx)(B,{fw:600,ff:`monospace`,size:`sm`,td:e.deprecated?`line-through`:void 0,c:e.deprecated?`dimmed`:void 0,children:V(e.name)}),(0,M.jsx)(sH,{type:`label`,color:`gray`,children:V(e.kind)}),e.deprecated&&(0,M.jsx)(sH,{type:`label`,color:`yellow`,children:X.surface_deprecated()})]}),e.summary?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,lineClamp:2,children:V(e.summary)}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.surface_undocumented()}),(0,M.jsx)(gu,{gap:6,wrap:`nowrap`,children:(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ff:`monospace`,children:V(`import { ${e.name} } from '${t}'`)})}),s&&(0,M.jsxs)(gu,{gap:6,wrap:`wrap`,children:[o.slice(0,rZr).map(e=>(0,M.jsx)(B,{size:`xs`,ff:`monospace`,c:`dimmed`,children:V(e)},e)),o.length>rZr&&(0,M.jsx)(B,{size:`xs`,c:`dimmed`,children:X.surface_more_files({count:o.length-rZr})})]})]}),(0,M.jsxs)($m,{gap:4,align:`flex-end`,style:{flexShrink:0},children:[(0,M.jsx)(B,{size:`xs`,c:`dimmed`,ta:`right`,children:V(FZn(e.origin))}),n&&(0,M.jsx)(B,{size:`xs`,c:s?void 0:`dimmed`,ta:`right`,children:s?o.length===1?X.surface_used_in_one_file():X.surface_used_in_files({files:o.length}):X.surface_unused()})]})]})},aZr={display:`grid`,gridTemplateColumns:`1fr`,gap:10,alignItems:`stretch`},oZr=({leaf:e,usage:t,searchQuery:n})=>{let{openPanel:r}=qB(),i=(0,A.useMemo)(()=>{let t=n?.trim().toLowerCase();return t?e.symbols.filter(e=>e.name.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)):e.symbols},[e.symbols,n]);return(0,M.jsxs)($m,{gap:0,h:`100%`,style:{minHeight:0},children:[(0,M.jsx)(N,{px:`md`,py:`sm`,style:{borderBottom:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsxs)($m,{gap:6,children:[(0,M.jsx)(B,{fw:600,ff:`monospace`,size:`sm`,children:V(e.specifier)}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(IZn[e.step]())}),(0,M.jsx)(B,{size:`sm`,children:V(e.summary)})]})}),(0,M.jsx)(N,{p:`md`,style:{flex:1,minHeight:0,overflow:`auto`},children:i.length===0?(0,M.jsx)(B,{c:`dimmed`,ta:`center`,py:`xl`,children:X.surface_empty_title()}):(0,M.jsx)(N,{style:aZr,children:i.map(n=>(0,M.jsx)(iZr,{symbol:n,specifier:e.specifier,usage:t?.[n.name],onOpen:()=>r(`surfaceSymbol`,n.name,e.specifier,{symbol:n,specifier:e.specifier,usage:t?.[n.name]})},n.name))})})]})},sZr=`https://pikku.dev/docs/api`,cZr=({doc:e,usage:t,loading:n})=>{Pt();let r=RB(),{activePanel:i,closePanel:a}=qB(),[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(null),[u,d]=(0,A.useState)(``),f=(0,A.useMemo)(()=>{if(e?.entryPoints.length)return e.entryPoints.find(e=>e.id===o)??e.entryPoints[0]},[e,o]),p=(0,A.useMemo)(()=>{if(!f)return;let e=tZr(f).flatMap(e=>e.leaves);return e.find(e=>e.specifier===c)??e[0]},[f,c]),m=()=>{r(),i&&a(i)},h=(0,M.jsx)(lV,{title:X.surface_title(),description:X.surface_description(),docsHref:sZr,selection:e&&f&&e.entryPoints.length>1?{ariaLabel:X.surface_entry_point_label(),value:f.id,onChange:e=>{s(e),l(null),m()},options:e.entryPoints.map(e=>({value:e.id,label:LZn[e.id](),"data-testid":`surface-entry-${e.id}`}))}:void 0,search:{placeholder:X.surface_search_placeholder(),value:u,onChange:d}});return!n&&(!e||!f||!p)?(0,M.jsx)(Z3,{header:h,hidePanel:!0,children:(0,M.jsx)(Q3,{icon:eIt,title:X.surface_empty_title(),description:X.surface_empty_description(),docsHref:sZr})}):(0,M.jsx)(Z3,{header:h,emptyPanelMessage:X.surface_select_item(),leftDrawer:e&&f?(0,M.jsx)(N,{className:PB.listSurfaceCard,style:{height:`100%`},children:(0,M.jsx)(nZr,{entryPoint:f,selectedSpecifier:p?.specifier??null,onSelectLeaf:e=>{l(e),m()}})}):null,children:p&&(0,M.jsx)(oZr,{leaf:p,usage:t?.bySpecifier[p.specifier],searchQuery:u})})},lZr=e=>(0,M.jsx)(ZV,{children:(0,M.jsx)(cZr,{...e})}),uZr=()=>{let e=W_(),{data:t,isLoading:n}=Ji({queryKey:[`console:getSurface`],queryFn:async()=>await e.invoke(`console:getSurface`),staleTime:3e5,retry:!1});return{doc:t?.doc??void 0,usage:t?.usage,loading:n}},dZr=()=>{let{doc:e,usage:t,loading:n}=uZr();return(0,M.jsx)(lZr,{doc:e,usage:t,loading:n})},fZr={public:(0,M.jsx)(_z,{size:10,color:`var(--mantine-color-teal-5)`}),private:(0,M.jsx)(Kz,{size:10,color:`var(--mantine-color-orange-5)`}),pii:(0,M.jsx)(nB,{size:10,color:`var(--mantine-color-violet-5)`}),secret:(0,M.jsx)(Dz,{size:10,color:`var(--mantine-color-red-5)`})},pZr=(0,A.memo)(function({data:e,id:t}){let n=e.label?.trim()||t,{colorScheme:r}=Zo(),{openDbColumn:i}=qB(),a=r===`dark`,o=`transparent`,s=a?`var(--mantine-color-dark-5)`:`var(--mantine-color-blue-0, #e7f5ff)`,c=a?`var(--mantine-color-dark-4)`:`#f0f0f0`,l=a?`var(--mantine-color-dark-1)`:`#888`,u=a?`var(--mantine-color-dark-4)`:`#f5f5f5`,d=a?`var(--mantine-color-dark-1)`:`#888`,f=a?`var(--mantine-color-dark-2)`:`#aaa`,p={opacity:0,pointerEvents:`none`,width:8,height:8,minWidth:0,minHeight:0};return(0,M.jsxs)(`div`,{style:{minWidth:260,border:`1px solid ${o}`,borderRadius:8,backgroundColor:`var(--mantine-color-body)`,boxShadow:a?`0 1px 4px rgba(0,0,0,.4)`:`0 1px 4px rgba(0,0,0,.08)`},children:[(0,M.jsxs)(`div`,{style:{padding:`8px 12px`,background:s,borderBottom:`1px solid ${o}`,display:`flex`,alignItems:`center`,gap:8},children:[(0,M.jsx)(KIt,{size:14}),(0,M.jsx)(`span`,{style:{flex:1,minWidth:0,fontFamily:`monospace`,fontWeight:600,fontSize:13,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:n}),(0,M.jsx)(`span`,{style:{fontSize:11,color:l,backgroundColor:c,padding:`1px 6px`,borderRadius:10,flexShrink:0},children:e.columns.length})]}),(0,M.jsx)(`div`,{style:{padding:`4px 0`},children:e.columns.map(e=>(0,M.jsxs)(`div`,{onClick:()=>i(n,e.name,e),style:{display:`flex`,alignItems:`center`,gap:6,padding:`4px 12px`,borderBottom:`1px solid transparent`,cursor:`pointer`},children:[(0,M.jsxs)(`div`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:4},children:[e.isPrimaryKey&&(0,M.jsx)(yz,{size:11,color:`var(--mantine-color-yellow-6)`}),e.foreignKey&&!e.isPrimaryKey&&(0,M.jsx)(Cz,{size:11,color:`var(--mantine-color-blue-5)`}),(0,M.jsx)(`span`,{style:{fontFamily:`monospace`,fontSize:12,fontWeight:e.isPrimaryKey?600:500,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]}),(0,M.jsx)(`span`,{style:{fontFamily:`monospace`,fontSize:11,color:d,backgroundColor:u,padding:`1px 5px`,borderRadius:4,flexShrink:0},children:e.type}),e.nullable&&(0,M.jsx)(`span`,{style:{fontSize:11,color:f,flexShrink:0},children:`?`}),(0,M.jsx)(`span`,{style:{flexShrink:0,display:`flex`,alignItems:`center`},children:fZr[e.classification]})]},e.name))}),(0,M.jsx)(VQ,{type:`target`,position:RQ.Left,style:p}),(0,M.jsx)(VQ,{type:`source`,position:RQ.Right,style:p})]})});(0,A.memo)(function({data:e,id:t}){let n=e.label?.trim()||t,{colorScheme:r}=Zo(),i=r===`dark`,a=`transparent`,o=i?`var(--mantine-color-violet-9)`:`var(--mantine-color-violet-1)`,s=i?`var(--mantine-color-dark-1)`:`#555`;return(0,M.jsxs)(`div`,{style:{minWidth:180,border:`1px solid ${a}`,borderRadius:8,backgroundColor:`var(--mantine-color-body)`,boxShadow:i?`0 1px 4px rgba(0,0,0,.4)`:`0 1px 4px rgba(0,0,0,.08)`},children:[(0,M.jsxs)(`div`,{style:{padding:`8px 12px`,background:o,borderBottom:`1px solid ${a}`,display:`flex`,alignItems:`center`,gap:8},children:[(0,M.jsx)(`span`,{style:{fontSize:10,fontWeight:700,color:`var(--mantine-color-violet-5)`,letterSpacing:1},children:`ENUM`}),(0,M.jsx)(`span`,{style:{flex:1,minWidth:0,fontFamily:`monospace`,fontWeight:600,fontSize:13,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:n})]}),(0,M.jsx)(`div`,{style:{padding:`4px 0`},children:(Array.isArray(e.values)?e.values:[]).map(e=>(0,M.jsx)(`div`,{style:{padding:`4px 12px`,borderBottom:`1px solid transparent`,fontFamily:`monospace`,fontSize:12,color:s},children:e},e))}),(0,M.jsx)(VQ,{type:`target`,position:RQ.Left,style:{opacity:0,pointerEvents:`none`,width:8,height:8,minWidth:0,minHeight:0}})]})});var mZr=300,hZr=44,gZr=30,_Zr=80,vZr=new F3t.default,yZr={"elk.algorithm":`layered`,"elk.direction":`DOWN`,"elk.spacing.nodeNode":`40`,"elk.layered.spacing.nodeNodeBetweenLayers":`50`,"elk.padding":`[top=40,left=40,bottom=40,right=40]`,"elk.separateConnectedComponents":`true`,"elk.layered.nodePlacement.strategy":`BRANDES_KOEPF`};function bZr(e){return e.isPrimaryKey?0:e.foreignKey?1:2}function xZr(e){return[...e].sort((e,t)=>bZr(e)-bZr(t))}function SZr(e){return Math.max(_Zr,hZr+e.length*gZr)}async function CZr(e){let t=[],n=new Set,r=[],i=new Set(e.tables.map(e=>e.name));for(let a of e.tables)for(let e of a.columns)if(e.foreignKey){let o=e.foreignKey.table;if(!i.has(o))continue;let s=`${a.name}.${e.name}->${o}`;n.has(s)||(n.add(s),t.push({id:s,source:a.name,target:o,label:e.name,type:`smoothstep`,markerEnd:{type:LQ.ArrowClosed},style:{stroke:`var(--mantine-color-blue-5)`,strokeWidth:1.5},labelStyle:{fontSize:10,fill:`var(--mantine-color-blue-5)`},labelBgStyle:{fill:`transparent`}}),r.push({id:s,sources:[a.name],targets:[o]}))}let a=e.tables.map((e,t)=>({id:e.name,type:`databaseSchema`,position:{x:t%3*360,y:Math.floor(t/3)*320},data:{label:e.name,columns:xZr(e.columns)}}));try{let n=await vZr.layout({id:`schema`,layoutOptions:yZr,children:[...e.tables.map(e=>({id:e.name,width:mZr,height:SZr(xZr(e.columns))}))],edges:r}),i=new Map((n.children??[]).map(e=>[e.id,{x:e.x??0,y:e.y??0}]));return{nodes:e.tables.map((e,t)=>({id:e.name,type:`databaseSchema`,position:i.get(e.name)??a[t]?.position??{x:0,y:0},data:{label:e.name,columns:xZr(e.columns)}})),edges:t}}catch(e){return console.error(`[ELK layout error]`,e),{nodes:a,edges:t}}}var wZr={databaseSchema:pZr},TZr=new Set([`migrations`,`sql_migrations`,`pgmigrations`]),EZr=[`workflow_`,`ai_`,`pikku_`];function DZr(e){return e.includes(`.`)?e.split(`.`).pop():e}function OZr(e,t){return t?(e.source??`app`)===`app`:!EZr.some(t=>DZr(e.name).startsWith(t))}function kZr(e,t,n){return TZr.has(DZr(e.name))?!1:!t||OZr(e,n)}function AZr({schema:e,loading:t,onRefresh:n,refreshing:r,hideInternal:i,classificationFilter:a,search:o}){Pt();let s=$B(),{colorScheme:c}=Zo(),l=c===`dark`,[u,d,f]=Z2t([]),[p,m,h]=Q2t([]),[g,_]=(0,A.useState)(!1),v=(0,A.useRef)(null);return(0,A.useEffect)(()=>{let t=!1;async function n(){if(!e?.tables?.length){d([]),m([]);return}let n=o.trim().toLowerCase(),r=e.tables.some(e=>e.source!==void 0),s=e.tables.filter(e=>!(!kZr(e,i,r)||a!==`all`&&!e.columns.some(e=>e.classification===a)||n&&!e.name.toLowerCase().includes(n)&&!e.columns.some(e=>e.name.toLowerCase().includes(n)))).map(e=>{let t=a===`all`?e.columns:e.columns.filter(e=>e.classification===a),r=n&&!e.name.toLowerCase().includes(n)?t.filter(e=>e.name.toLowerCase().includes(n)):t;return{...e,columns:r}});if(!s.length){d([]),m([]);return}_(!0);try{let n=await CZr({tables:s,enums:e.enums??[]});if(t)return;d(n.nodes),m(n.edges),setTimeout(()=>{t||v.current?.fitView({padding:.15,duration:300,minZoom:.4})},50)}catch{t||(d([]),m([]))}finally{t||_(!1)}}return n(),()=>{t=!0}},[e,i,a,o,m,d]),t||g&&u.length===0?(0,M.jsx)($d,{h:`60vh`,children:(0,M.jsx)(fu,{size:`sm`})}):e?u.length===0?(0,M.jsx)(Q3,{icon:lz,title:i?X.database_no_visible_tables():X.database_no_tables_found(),description:i?X.database_no_visible_tables_description():void 0,docsHref:`https://pikku.dev/docs/core-features/database`}):(0,M.jsx)(N,{className:s,style:{flex:1,minHeight:0},children:(0,M.jsxs)(q2t,{onInit:e=>{v.current=e},nodes:u,edges:p,onNodesChange:f,onEdgesChange:h,nodeTypes:wZr,fitView:!0,minZoom:.2,maxZoom:2,style:{background:`transparent`,height:`100%`},children:[(0,M.jsx)(D4t,{variant:GQ.Dots,gap:20,size:1,color:l?`var(--mantine-color-dark-4)`:`var(--mantine-color-gray-4)`}),(0,M.jsx)(b4t,{style:{"--xy-controls-button-background-color":l?`var(--mantine-color-dark-6)`:`#fff`,"--xy-controls-button-background-color-hover":l?`var(--mantine-color-dark-5)`:`#f4f4f5`,"--xy-controls-button-color":l?`var(--mantine-color-dark-0)`:`#333`,"--xy-controls-button-border-color":l?`var(--mantine-color-dark-4)`:`#d1d5db`}}),(0,M.jsx)(d4t,{nodeColor:l?`var(--mantine-color-dark-3)`:`#ccc`,maskColor:l?`rgba(0,0,0,0.6)`:`rgba(240,240,240,0.7)`,style:{background:l?`var(--mantine-color-dark-7)`:`#f8f9fa`,border:`1px solid ${l?`var(--mantine-color-dark-4)`:`#e5e7eb`}`}})]})}):(0,M.jsx)(Q3,{icon:lz,title:X.database_no_db_title(),description:X.database_no_db_description(),docsHref:`https://pikku.dev/docs/core-features/database`})}var jZr=({header:e,children:t})=>{let{activePanel:n}=qB();return(0,M.jsx)(Z3,{hidePanel:!n,header:e,children:t})};function MZr(){Pt();let e=W_(),[t,n]=(0,A.useState)(!0),[r,i]=(0,A.useState)(`all`),[a,o]=(0,A.useState)(``),{data:s,isLoading:c,isFetching:l,error:u,refetch:d}=Ji({queryKey:[`console:getDbSchema`],queryFn:()=>e.invoke(`console:getDbSchema`)}),f=(0,M.jsx)(lV,{title:X.database_title(),description:X.database_description(),view:(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(ry,{size:`xs`,placeholder:X.database_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:12}),value:a,onChange:e=>o(e.currentTarget.value),style:{width:200}}),(0,M.jsx)(zm,{size:`xs`,value:r,onChange:e=>i(e),data:[{label:`All`,value:`all`},{label:(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[(0,M.jsx)(_z,{size:14,color:`var(--mantine-color-teal-5)`}),`Public`]}),value:`public`},{label:(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[(0,M.jsx)(Kz,{size:14,color:`var(--mantine-color-orange-5)`}),`Private`]}),value:`private`},{label:(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[(0,M.jsx)(nB,{size:14,color:`var(--mantine-color-violet-5)`}),`PII`]}),value:`pii`},{label:(0,M.jsxs)(gu,{gap:4,wrap:`nowrap`,children:[(0,M.jsx)(Dz,{size:14,color:`var(--mantine-color-red-5)`}),`Secret`]}),value:`secret`}]}),(0,M.jsx)(i0n,{checked:!t,onChange:e=>n(!e),tooltip:X.database_show_internal_tables()}),(0,M.jsx)(Qv,{label:X.common_refresh(),children:(0,M.jsx)(Xv,{variant:`subtle`,color:`gray`,size:`sm`,loading:l,onClick:()=>void d(),children:(0,M.jsx)(Lz,{size:14})})})]})});return(0,M.jsx)(ZV,{children:(0,M.jsx)(jZr,{header:f,children:(0,M.jsx)(N,{style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`},children:u?(0,M.jsx)(Q3,{icon:lz,title:X.database_setup_title(),description:X.database_setup_description(),code:`pikku db migrate`,docsHref:`https://pikku.dev/docs/core-features/database`}):(0,M.jsx)(AZr,{schema:s,loading:c,onRefresh:()=>void d(),refreshing:l,hideInternal:t,classificationFilter:r,search:a})})})})}function NZr(){return(0,M.jsx)(z2t,{children:(0,M.jsx)(MZr,{})})}var PZr={providers:[],plugins:[],hasCredentials:!1};function FZr(){let e=W_(),{data:t,isLoading:n}=Ji({queryKey:[`auth-providers`],queryFn:async()=>await e.invoke(`console:getAuthProviders`),placeholderData:PZr});return{meta:t??PZr,isLoading:n}}var IZr=({configured:e,providerId:t})=>(Pt(),e?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`teal`,"data-testid":`auth-provider-status`,"data-provider":t,"data-configured":`true`,children:X.auth_provider_configured()}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,"data-testid":`auth-provider-status`,"data-provider":t,"data-configured":`false`,children:X.auth_provider_not_configured()})),LZr=({plugins:e})=>(Pt(),e.length===0?null:(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,children:X.auth_plugins_label()}),e.map(e=>(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:`grape`,"data-testid":`auth-plugin-${e.id}`,children:V(e.displayName)},e.id))]})),RZr=[{id:`github`,name:`GitHub`,callbackId:`github`,description:`Sign in with GitHub OAuth.`,setupUrl:`https://github.com/settings/applications/new`,setupLabel:`New OAuth App on GitHub`,fields:[{key:`AUTH_GITHUB_ID`,label:`Client ID`},{key:`AUTH_GITHUB_SECRET`,label:`Client Secret`}],featured:!0},{id:`google`,name:`Google`,callbackId:`google`,description:`Sign in with Google OAuth.`,setupUrl:`https://console.cloud.google.com/apis/credentials`,setupLabel:`Create credentials on Google Cloud`,fields:[{key:`AUTH_GOOGLE_ID`,label:`Client ID`},{key:`AUTH_GOOGLE_SECRET`,label:`Client Secret`}],featured:!0},{id:`apple`,name:`Apple`,callbackId:`apple`,description:`Sign in with Apple ID.`,setupUrl:`https://developer.apple.com/account/resources/identifiers/list/serviceId`,setupLabel:`Configure Service ID on Apple Developer`,fields:[{key:`AUTH_APPLE_ID`,label:`Service ID (Client ID)`},{key:`AUTH_APPLE_TEAM_ID`,label:`Team ID`},{key:`AUTH_APPLE_PRIVATE_KEY`,label:`Private Key (.p8)`}],featured:!0},{id:`bitbucket`,name:`Bitbucket`,callbackId:`bitbucket`,description:`Sign in with Bitbucket OAuth.`,setupUrl:`https://bitbucket.org/account/settings/app-passwords/`,setupLabel:`Create OAuth consumer on Bitbucket`,fields:[{key:`AUTH_BITBUCKET_ID`,label:`Client ID (Key)`},{key:`AUTH_BITBUCKET_SECRET`,label:`Client Secret`}],featured:!0},{id:`discord`,name:`Discord`,callbackId:`discord`,description:`Sign in with Discord.`,setupUrl:`https://discord.com/developers/applications`,setupLabel:`Create application on Discord Developer Portal`,fields:[{key:`AUTH_DISCORD_ID`,label:`Client ID`},{key:`AUTH_DISCORD_SECRET`,label:`Client Secret`}]},{id:`twitter`,name:`X / Twitter`,callbackId:`twitter`,description:`Sign in with X (formerly Twitter).`,setupUrl:`https://developer.twitter.com/en/portal/dashboard`,setupLabel:`Create project on Twitter Developer Portal`,fields:[{key:`AUTH_TWITTER_ID`,label:`Client ID`},{key:`AUTH_TWITTER_SECRET`,label:`Client Secret`}]},{id:`linkedin`,name:`LinkedIn`,callbackId:`linkedin`,description:`Sign in with LinkedIn.`,setupUrl:`https://www.linkedin.com/developers/apps`,setupLabel:`Create app on LinkedIn Developer Portal`,fields:[{key:`AUTH_LINKEDIN_ID`,label:`Client ID`},{key:`AUTH_LINKEDIN_SECRET`,label:`Client Secret`}]},{id:`spotify`,name:`Spotify`,callbackId:`spotify`,description:`Sign in with Spotify.`,setupUrl:`https://developer.spotify.com/dashboard`,setupLabel:`Create app on Spotify Developer Dashboard`,fields:[{key:`AUTH_SPOTIFY_ID`,label:`Client ID`},{key:`AUTH_SPOTIFY_SECRET`,label:`Client Secret`}]},{id:`facebook`,name:`Facebook`,callbackId:`facebook`,description:`Sign in with Facebook.`,setupUrl:`https://developers.facebook.com/apps`,setupLabel:`Create app on Facebook for Developers`,fields:[{key:`AUTH_FACEBOOK_ID`,label:`App ID`},{key:`AUTH_FACEBOOK_SECRET`,label:`App Secret`}]},{id:`slack`,name:`Slack`,callbackId:`slack`,description:`Sign in with Slack.`,setupUrl:`https://api.slack.com/apps`,setupLabel:`Create app on Slack API`,fields:[{key:`AUTH_SLACK_ID`,label:`Client ID`},{key:`AUTH_SLACK_SECRET`,label:`Client Secret`}]},{id:`microsoft-entra-id`,name:`Microsoft / Azure AD`,callbackId:`microsoft`,description:`Sign in with Microsoft Entra ID (Azure AD).`,setupUrl:`https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade`,setupLabel:`Register app on Azure Portal`,fields:[{key:`AUTH_MICROSOFT_ENTRA_ID_ID`,label:`Client ID`},{key:`AUTH_MICROSOFT_ENTRA_ID_SECRET`,label:`Client Secret`},{key:`AUTH_MICROSOFT_ENTRA_ID_TENANT_ID`,label:`Tenant ID`}]},{id:`notion`,name:`Notion`,callbackId:`notion`,description:`Sign in with Notion.`,setupUrl:`https://www.notion.so/my-integrations`,setupLabel:`Create integration on Notion`,fields:[{key:`AUTH_NOTION_ID`,label:`OAuth Client ID`},{key:`AUTH_NOTION_SECRET`,label:`OAuth Client Secret`}]},{id:`okta`,name:`Okta`,callbackId:`okta`,description:`Sign in with Okta.`,setupUrl:`https://developer.okta.com/`,setupLabel:`Create app integration on Okta`,fields:[{key:`AUTH_OKTA_ID`,label:`Client ID`},{key:`AUTH_OKTA_SECRET`,label:`Client Secret`},{key:`AUTH_OKTA_ISSUER`,label:`Issuer URL`}]}],zZr={id:`credentials`,name:`Credentials`,callbackId:`credentials`,description:`Email and password sign-in.`,setupUrl:`https://www.better-auth.com/docs/authentication/email-password`,setupLabel:`Better Auth email & password docs`,fields:[]},BZr=({externalSearch:e,emptyHero:t})=>{let{openAuthProvider:n}=qB();Pt();let{meta:r}=FZr(),i=(0,A.useMemo)(()=>new Set(r.providers.map(e=>e.id)),[r.providers]),a=e=>e.id===zZr.id?r.hasCredentials:i.has(e.callbackId),o=(0,A.useMemo)(()=>[zZr,...RZr],[]),s=(0,A.useMemo)(()=>[{key:`name`,header:`PROVIDER`,render:e=>(0,M.jsxs)(gu,{gap:`xs`,children:[(0,M.jsx)(vz,{size:14}),(0,M.jsx)(B,{fw:500,children:V(e.name)}),e.featured&&(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`blue`,children:X.auth_providers_popular()})]})},{key:`status`,header:`STATUS`,render:e=>(0,M.jsx)(IZr,{configured:a(e),providerId:e.id})},{key:`description`,header:`DESCRIPTION`,render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(e.description)})},{key:`fields`,header:`ENV VARS`,render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,ff:`monospace`,children:V(`${e.fields.length} secret${e.fields.length===1?``:`s`}`)})}],[r]);return(0,M.jsx)($3,{icon:vz,title:`Auth Providers`,docsHref:`https://www.better-auth.com/docs/concepts/oauth`,data:o,columns:s,getKey:e=>e.id,getRowProps:e=>({"data-testid":`auth-provider-row`,"data-provider":e.id}),onRowClick:e=>n(e.id,e),externalSearch:e,searchFilter:(e,t)=>e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t),description:r.plugins.length>0?(0,M.jsx)(LZr,{plugins:r.plugins}):void 0,emptyMessage:X.auth_providers_empty_message(),emptyHero:t})},VZr=()=>{let[e,t]=(0,A.useState)(``);return Pt(),(0,M.jsx)(ZV,{children:(0,M.jsx)(Z3,{header:(0,M.jsx)(lV,{title:X.auth_providers_title(),description:X.auth_providers_description(),docsHref:`https://www.better-auth.com/docs/concepts/oauth`,filters:(0,M.jsx)(ry,{placeholder:X.auth_providers_search_placeholder(),leftSection:(0,M.jsx)(Vz,{size:14}),value:e,onChange:e=>t(e.target.value),size:`xs`,style:{width:240}})}),emptyPanelMessage:X.auth_providers_select_provider(),children:(0,M.jsx)(BZr,{externalSearch:e})})})},HZr=[`critical`,`high`,`moderate`,`low`,`info`],Q9={critical:`red`,high:`orange`,moderate:`yellow`,low:`gray`,info:`blue`},UZr={critical:X.security_severity_critical,high:X.security_severity_high,moderate:X.security_severity_moderate,low:X.security_severity_low,info:X.security_severity_info},WZr={major:`red`,minor:`yellow`,patch:`green`,unknown:`gray`},GZr={major:X.security_update_major,minor:X.security_update_minor,patch:X.security_update_patch,unknown:X.security_update_unknown},KZr={codeInjection:X.security_cat_code_injection,prototypePollution:X.security_cat_prototype_pollution,ssrf:X.security_cat_ssrf,credentialLeak:X.security_cat_credential_leak,headerInjection:X.security_cat_header_injection,csrf:X.security_cat_csrf,redos:X.security_cat_redos,dos:X.security_cat_dos,nullByte:X.security_cat_null_byte,other:X.security_cat_other},qZr={codeInjection:X.security_cat_code_injection_why,prototypePollution:X.security_cat_prototype_pollution_why,ssrf:X.security_cat_ssrf_why,credentialLeak:X.security_cat_credential_leak_why,headerInjection:X.security_cat_header_injection_why,csrf:X.security_cat_csrf_why,redos:X.security_cat_redos_why,dos:X.security_cat_dos_why,nullByte:X.security_cat_null_byte_why,other:X.security_cat_other_why};function JZr(){return{critical:0,high:0,moderate:0,low:0,info:0}}function YZr(e){let t=new Map,n=e=>{let n=t.get(e);return n||(n={name:e,level:`unknown`,counts:JZr(),total:0},t.set(e,n)),n};for(let t of e.updates){let e=n(t.package);e.current=t.current,e.latest=t.latest,e.level=t.level}for(let t of e.issues){let e=n(t.package);e.counts[t.severity]++,e.total++,!e.latest&&t.recommendedVersion&&(e.latest=t.recommendedVersion)}return[...t.values()].sort((e,t)=>t.counts.critical-e.counts.critical||t.counts.high-e.counts.high||t.total-e.total||e.name.localeCompare(t.name))}var XZr=({sev:e})=>(0,M.jsx)(N,{style:{width:8,height:8,borderRadius:2,flexShrink:0,background:`var(--mantine-color-${Q9[e]}-6)`}}),ZZr=[[/command injection|code injection|_\.template/i,`codeInjection`],[/prototype pollution|__proto__/i,`prototypePollution`],[/ssrf|server-side request forgery|no_proxy|absolute url|cloud metadata|proxy bypass/i,`ssrf`],[/credential (leak|theft|leakage)|proxy-authorization|forwards secure headers|xsrf token cross-origin/i,`credentialLeak`],[/header injection/i,`headerInjection`],[/cross-site request forgery|csrf/i,`csrf`],[/redos|regular expression|inefficient regular/i,`redos`],[/denial of service|dos|unbounded recursion|maxbodylength|maxcontentlength/i,`dos`],[/null byte/i,`nullByte`]];function QZr(e){for(let[t,n]of ZZr)if(t.test(e))return n;return`other`}var $Zr=({issue:e,latest:t,itemValue:n,renderRemediation:r})=>{let i=QZr(e.title),a=e.severity,o=e.recommendedVersion??t,s=t??e.recommendedVersion;return(0,M.jsxs)(_d.Item,{value:n,children:[(0,M.jsxs)(N,{style:{display:`flex`,alignItems:`center`,gap:8},pr:`sm`,children:[(0,M.jsx)(_d.Control,{style:{flex:1,minWidth:0},children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`center`,children:[(0,M.jsx)(Yv,{color:Q9[a],variant:`light`,size:`sm`,children:UZr[a]()}),(0,M.jsx)(B,{span:!0,size:`sm`,fw:600,ff:`monospace`,style:{flexShrink:0},children:V(e.package)}),(0,M.jsx)(B,{span:!0,size:`sm`,c:`dimmed`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:V(e.title)})]})}),(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`center`,style:{flexShrink:0},children:[e.url&&(0,M.jsx)(Jv,{href:e.url,target:`_blank`,rel:`noreferrer`,size:`xs`,children:(0,M.jsxs)(gu,{gap:4,align:`center`,wrap:`nowrap`,children:[(0,M.jsx)(dz,{size:12}),X.security_view_advisory()]})}),s&&r({pkg:e.package,version:s,issue:e})]})]}),(0,M.jsx)(_d.Panel,{children:(0,M.jsxs)($m,{gap:`md`,px:`md`,pb:`md`,pt:`xs`,children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`wrap`,children:[(0,M.jsx)(Yv,{variant:`default`,size:`sm`,leftSection:(0,M.jsx)(jz,{size:11}),children:X.security_detected_by({tool:`bun`})}),e.cwe.map(e=>(0,M.jsx)(Yv,{variant:`default`,size:`sm`,ff:`monospace`,children:V(e)},e)),(0,M.jsx)(Yv,{color:Q9[a],variant:`light`,size:`sm`,children:KZr[i]()}),e.cvssScore!=null&&(0,M.jsx)(Yv,{color:Q9[a],variant:`light`,size:`sm`,ff:`monospace`,children:X.security_cvss({score:e.cvssScore})})]}),(0,M.jsxs)(N,{style:{maxWidth:760},children:[(0,M.jsx)(B,{span:!0,size:`sm`,fw:600,children:X.security_why_matters()}),` `,(0,M.jsx)(B,{span:!0,size:`sm`,c:`dimmed`,style:{lineHeight:1.6},children:qZr[i]()})]}),o&&(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`sm`,style:{borderColor:`var(--mantine-color-green-4)`,background:`var(--mantine-color-green-light)`},children:(0,M.jsxs)(gu,{gap:`sm`,wrap:`nowrap`,align:`flex-start`,children:[(0,M.jsx)(Uz,{size:17,color:`var(--mantine-color-green-7)`,style:{flexShrink:0,marginTop:1}}),(0,M.jsx)(B,{size:`xs`,c:`dimmed`,style:{lineHeight:1.5},children:X.security_fixed_summary({package:e.package,fixed:o,current:e.vulnerableVersions,latest:s??o})})]})})]})})]})};function eQr(){let e=W_(),{data:t,isLoading:n}=Ji({queryKey:[`security-audit`],queryFn:async()=>await e.invoke(`console:getSecurityAudit`)});return{report:t??null,isLoading:n}}function tQr(){let e=W_(),t=Ri();return Yi({mutationFn:async()=>await e.invoke(`console:runSecurityAudit`),onSuccess:e=>{e&&t.setQueryData([`security-audit`],e)}})}function nQr(){let e=W_(),t=Ri();return Yi({mutationFn:async t=>await e.invoke(`console:updateDependency`,t),onSuccess:e=>{e&&t.setQueryData([`security-audit`],e)}})}var rQr=({dep:e,first:t})=>{let n=nQr(),r=n.isPending;return(0,M.jsxs)(gu,{gap:`md`,wrap:`nowrap`,p:`sm`,style:{borderTop:t?void 0:`1px solid var(--mantine-color-default-border)`},children:[(0,M.jsx)(N,{style:{width:34,height:34,borderRadius:8,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,border:`1px solid var(--mantine-color-default-border)`},children:(0,M.jsx)(jz,{size:16})}),(0,M.jsxs)(N,{style:{minWidth:190},children:[(0,M.jsx)(B,{size:`sm`,fw:600,ff:`monospace`,children:V(e.name)}),(0,M.jsxs)(gu,{gap:6,align:`center`,mt:2,children:[(0,M.jsx)(B,{span:!0,size:`xs`,c:`dimmed`,ff:`monospace`,children:V(e.current&&e.latest?`${e.current} → ${e.latest}`:e.latest??e.current??``)}),(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:WZr[e.level],children:GZr[e.level]()})]})]}),(0,M.jsx)(gu,{gap:6,style:{flex:1},wrap:`wrap`,children:e.total===0?(0,M.jsxs)(gu,{gap:6,align:`center`,children:[(0,M.jsx)(Uz,{size:13,color:`var(--mantine-color-green-7)`}),(0,M.jsx)(B,{span:!0,size:`xs`,c:`green`,children:X.security_dep_no_vulns()})]}):HZr.filter(t=>e.counts[t]>0).map(t=>(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:Q9[t],ff:`monospace`,children:V(`${e.counts[t]} ${UZr[t]()}`)},t))}),e.total>0&&e.latest&&(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[n.isError&&(0,M.jsx)(B,{span:!0,size:`xs`,c:`red`,"data-testid":`security-dep-update-error`,children:X.security_update_dep_error()}),(0,M.jsx)(qv,{size:`xs`,variant:`default`,leftSection:r?(0,M.jsx)(fu,{size:12}):(0,M.jsx)(qR,{size:14}),disabled:r,loading:r,onClick:()=>n.mutate({package:e.name,version:e.latest}),children:X.security_dep_update()})]})]})},iQr=({label:e})=>(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`xl`,style:{borderStyle:`dashed`},children:(0,M.jsxs)($m,{align:`center`,gap:`sm`,py:`lg`,children:[(0,M.jsx)(Uz,{size:28,color:`var(--mantine-color-green-7)`}),(0,M.jsx)(B,{c:`dimmed`,ta:`center`,children:V(e)})]})}),aQr=({pkg:e,version:t})=>{let n=nQr(),r=n.isPending;return(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[n.isError&&(0,M.jsx)(B,{span:!0,size:`xs`,c:`red`,"data-testid":`security-update-error`,children:X.security_update_dep_error()}),(0,M.jsx)(Qv,{label:X.security_update_dep_desc({package:e,version:t}),multiline:!0,w:260,withArrow:!0,position:`bottom-end`,children:(0,M.jsx)(qv,{size:`xs`,variant:`default`,"data-testid":`security-update-dep`,leftSection:r?(0,M.jsx)(fu,{size:12}):(0,M.jsx)(qR,{size:14}),disabled:r,loading:r,onClick:()=>n.mutate({package:e,version:t}),children:X.security_update_dep_btn({version:t})})})]})},oQr=({pkg:e,version:t})=>(0,M.jsx)(aQr,{pkg:e,version:t}),sQr=(e,t)=>`${e.package}@${e.advisoryId||e.url||t}`,cQr=({report:e,lens:t,query:n,renderRemediation:r=oQr})=>{let[i,a]=(0,A.useState)(!0),o=(0,A.useMemo)(()=>YZr(e),[e]),s=(0,A.useMemo)(()=>{let e=new Map;return o.forEach(t=>e.set(t.name,t.latest)),e},[o]),c=(0,A.useMemo)(()=>{let t=JZr();return e.issues.forEach(e=>t[e.severity]++),t},[e]);if(e.note)return(0,M.jsxs)($m,{gap:`xs`,"data-testid":`security-audit`,children:[(0,M.jsx)(Yv,{color:`yellow`,variant:`light`,"data-testid":`security-not-run`,children:X.security_not_run()}),(0,M.jsx)(B,{c:`dimmed`,"data-testid":`security-note`,children:V(e.note)})]});let l=n.trim().toLowerCase(),u=e.issues.filter(e=>!l||e.package.toLowerCase().includes(l)||e.title.toLowerCase().includes(l)||e.advisoryId.toLowerCase().includes(l)||e.cwe.some(e=>e.toLowerCase().includes(l))),d=HZr.map(e=>({sev:e,items:u.filter(t=>t.severity===e)})).filter(e=>e.items.length>0),f=o.filter(e=>(!i||e.total>0)&&(!l||e.name.toLowerCase().includes(l))),p=o.filter(e=>e.total>0).length;return(0,M.jsxs)($m,{gap:`lg`,"data-testid":`security-audit`,children:[(0,M.jsx)(iu,{withBorder:!0,radius:`md`,p:`sm`,children:(0,M.jsxs)(gu,{gap:`md`,justify:`space-between`,wrap:`wrap`,children:[(0,M.jsxs)(gu,{gap:8,align:`center`,children:[(0,M.jsx)(jz,{size:14}),(0,M.jsx)(B,{span:!0,size:`sm`,c:`dimmed`,children:X.security_audited_by({tool:e.tool})}),(0,M.jsx)(B,{span:!0,size:`sm`,c:`dimmed`,ff:`monospace`,children:X.security_advisories_count({count:e.issues.length})}),(0,M.jsx)(B,{span:!0,size:`sm`,c:`dimmed`,ff:`monospace`,children:X.security_packages_affected({affected:p,total:o.length})})]}),(0,M.jsx)(gu,{gap:6,align:`center`,children:HZr.filter(e=>c[e]>0).map(e=>(0,M.jsx)(Yv,{color:Q9[e],variant:`light`,leftSection:(0,M.jsx)(XZr,{sev:e}),children:V(`${c[e]} ${UZr[e]()}`)},e))})]})}),t===`issues`?d.length===0?(0,M.jsx)(iQr,{label:X.security_no_match_issues()}):(0,M.jsx)($m,{gap:`xl`,children:d.map(({sev:e,items:t})=>(0,M.jsxs)($m,{gap:`xs`,children:[(0,M.jsxs)(gu,{gap:8,align:`center`,children:[(0,M.jsx)(XZr,{sev:e}),(0,M.jsx)(B,{span:!0,fw:700,size:`sm`,children:UZr[e]()}),(0,M.jsx)(B,{span:!0,size:`xs`,c:`dimmed`,ff:`monospace`,children:V(String(t.length))})]}),(0,M.jsx)(_d,{variant:`separated`,chevronPosition:`right`,radius:`md`,children:t.map((e,t)=>{let n=sQr(e,t);return(0,M.jsx)($Zr,{itemValue:n,issue:e,latest:s.get(e.package),renderRemediation:r},n)})})]},e))}):(0,M.jsxs)($m,{gap:`sm`,children:[(0,M.jsx)(gu,{justify:`flex-end`,children:(0,M.jsx)(cy,{size:`sm`,checked:i,onChange:e=>a(e.currentTarget.checked),label:X.security_vulnerable_only()})}),f.length===0?(0,M.jsx)(iQr,{label:X.security_no_match_deps()}):(0,M.jsx)(iu,{withBorder:!0,radius:`md`,style:{overflow:`hidden`},children:f.map((e,t)=>(0,M.jsx)(rQr,{dep:e,first:t===0},e.name))})]})]})},lQr=({lens:e,query:t,emptyHero:n,runError:r=!1})=>{Pt();let{report:i,isLoading:a}=eQr();return a?(0,M.jsx)(XB,{}):i?(0,M.jsx)(nu,{style:{flex:1},children:(0,M.jsxs)(N,{p:`lg`,children:[r&&(0,M.jsx)(B,{c:`red`,mb:`sm`,"data-testid":`security-run-error`,children:X.security_run_error()}),(0,M.jsx)(cQr,{report:i,lens:e,query:t})]})}):(0,M.jsx)(Q3,{icon:Uz,hero:n,title:X.security_empty_title(),description:r?X.security_empty_error_description():X.security_empty_description(),docsHref:`https://pikku.dev/docs`})},uQr=({emptyHero:e})=>{Pt();let{report:t}=eQr(),n=tQr(),r=n.isPending,[i,a]=(0,A.useState)(`issues`),[o,s]=(0,A.useState)(``),c=!!t&&!t.note&&t.issues.length+t.updates.length>0,l=(0,M.jsx)(qv,{type:`button`,size:`xs`,"data-testid":`security-run-audit`,leftSection:r?(0,M.jsx)(fu,{size:12,color:`white`}):(0,M.jsx)(Nz,{size:14}),onClick:()=>n.mutate(),disabled:r,loading:r,children:r?X.security_running():X.security_run_audit()});return(0,M.jsxs)($m,{gap:0,style:{height:`100%`},children:[(0,M.jsx)(lV,{title:X.security_title(),description:X.security_description(),docsHref:`https://pikku.dev/docs`,lead:l,search:c?{placeholder:i===`issues`?X.security_search_issues():X.security_search_deps(),value:o,onChange:s,width:240}:void 0,selection:c?{ariaLabel:X.security_lens_aria(),value:i,onChange:a,options:[{value:`issues`,label:X.security_lens_issues()},{value:`dependencies`,label:X.security_lens_dependencies()}]}:void 0}),(0,M.jsx)(lQr,{lens:i,query:o,emptyHero:e,runError:n.isError})]})},$9=({label:e,value:t,fallback:n,monospace:r=!0})=>!t&&!n?null:(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,justify:`space-between`,children:[(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:e}),t?(0,M.jsx)(B,{size:`sm`,ff:r?`monospace`:void 0,truncate:!0,children:V(t)}):(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:n})]}),dQr=e=>e?.name||e?.email,fQr=(e,t)=>dQr(t?.[e])??e,pQr=(e,t)=>e?.userId?{kind:`user`,label:fQr(e.userId,t),actor:t?.[e.userId]?.actor===!0}:e?.pikkuUserId?{kind:`anonymous`,label:e.pikkuUserId}:{kind:`system`},mQr={success:`green`,failed:`red`,denied:`orange`},hQr=(e,t)=>e.eventId??`${e.occurredAt}:${e.type}:${t}`,gQr=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`medium`})},_Qr=e=>e==null?``:typeof e==`object`?Array.isArray(e)?`${e.length} items`:Object.entries(e).map(([e,t])=>`${e}: ${vQr(t)}`).join(`, `):String(e),vQr=e=>e==null?`—`:Array.isArray(e)?`[${e.length}]`:typeof e==`object`?`{…}`:String(e),yQr=({event:e,users:t})=>{Pt();let n=pQr(e.userIdentity,t),r=n.kind===`user`&&n.label!==e.userIdentity?.userId?n.label:void 0;return(0,M.jsxs)($m,{gap:`md`,"data-testid":`audit-detail`,children:[(0,M.jsxs)($m,{gap:4,children:[(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{fw:600,children:V(e.type)}),(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`gray`,children:e.source===`explicit`?X.audit_source_explicit():X.audit_source_auto()}),n.kind===`user`&&n.actor&&(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`grape`,children:X.audit_user_actor()}),e.outcome&&(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:mQr[e.outcome]??`gray`,children:V(e.outcome)})]}),(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(gQr(e.occurredAt))})]}),(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)($9,{label:X.audit_col_user(),value:n.kind===`system`?void 0:n.label,fallback:X.audit_user_system(),monospace:!r}),(0,M.jsx)($9,{label:X.audit_detail_user_id(),value:r?e.userIdentity?.userId:void 0}),(0,M.jsx)($9,{label:X.audit_detail_user_org(),value:e.userIdentity?.orgId}),n.kind===`user`&&(0,M.jsx)($9,{label:X.audit_detail_user_session(),value:e.userIdentity?.pikkuUserId}),(0,M.jsx)($9,{label:X.audit_detail_function(),value:e.functionId}),(0,M.jsx)($9,{label:X.audit_detail_wire(),value:e.wireType}),(0,M.jsx)($9,{label:X.audit_detail_trace(),value:e.traceId}),(0,M.jsx)($9,{label:X.audit_detail_event_id(),value:e.eventId})]}),(0,M.jsxs)($m,{gap:4,children:[(0,M.jsx)(B,{size:`sm`,fw:600,c:`dimmed`,tt:`uppercase`,children:X.audit_detail_metadata()}),e.metadata==null?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,fs:`italic`,children:X.audit_detail_no_metadata()}):(0,M.jsx)(pQn,{data:e.metadata})]})]})},bQr=`https://pikku.dev/docs`,xQr=50,SQr=({emptyHero:e})=>{Pt();let t=W_(),[n,r]=(0,A.useState)([]),[i,a]=(0,A.useState)([]),[o,s]=(0,A.useState)(null),c=Ji({queryKey:[`audit-filters`],queryFn:async()=>await t.invoke(`admin:getAuditFilters`),staleTime:6e4,retry:!1}),{data:l,isPending:u,error:d,fetchNextPage:f,hasNextPage:p,isFetchingNextPage:m}=Xi({queryKey:[`audits`,{userIds:n,types:i}],initialPageParam:0,queryFn:async({pageParam:e})=>await t.invoke(`admin:getAudits`,{limit:xQr,offset:e,...n.length?{userIds:n}:{},...i.length?{types:i}:{}}),getNextPageParam:e=>e.nextCursor??void 0,retry:!1}),h=l?.pages??[],g=(0,A.useMemo)(()=>h.flatMap(e=>e.events),[h]),_=(0,A.useMemo)(()=>Object.assign({},...h.map(e=>e.users)),[h]),v=n.length>0||i.length>0,y=d??c.error;return y?qJr(y)?(0,M.jsx)(ty,{color:`yellow`,title:X.audit_forbidden_title(),"data-testid":`audit-forbidden`,children:X.audit_forbidden_body()}):(0,M.jsx)(ty,{color:`red`,title:X.audit_load_error(),"data-testid":`audit-error`,children:y instanceof Error?V(y.message):null}):h.length>0&&!h[0].readable?(0,M.jsx)(Q3,{icon:Uz,hero:e,title:X.audit_unreadable_title(),description:X.audit_unreadable_description(),docsHref:bQr}):!u&&g.length===0&&!v?(0,M.jsx)(Q3,{icon:Uz,hero:e,title:X.audit_empty_title(),description:X.audit_empty_description(),docsHref:bQr}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($3,{icon:Uz,title:X.audit_title(),docsHref:bQr,data:g,getKey:hQr,onRowClick:s,getRowProps:e=>({"data-testid":`audit-row`,"data-audit-type":e.type}),loading:u,emptyMessage:X.audit_no_matches(),emptyTitle:X.audit_empty_title(),emptyDescription:X.audit_empty_description(),emptyHero:e,onLoadMore:f,hasMore:p,loadingMore:m,headerRight:(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,style:{flex:1},children:[(0,M.jsx)(sy,{"data-testid":`audit-filter-user`,"aria-label":X.audit_filter_user(),placeholder:X.audit_filter_user_placeholder(),data:(c.data?.users??[]).map(e=>({value:e.userId,label:dQr(e)??e.userId})),value:n,onChange:r,size:`sm`,searchable:!0,clearable:!0,style:{flex:1,minWidth:0}}),(0,M.jsx)(sy,{"data-testid":`audit-filter-type`,"aria-label":X.audit_filter_type(),placeholder:X.audit_filter_type_placeholder(),data:c.data?.types??[],value:i,onChange:a,size:`sm`,searchable:!0,clearable:!0,style:{flex:1,minWidth:0}})]}),columns:[{key:`when`,header:X.audit_col_when(),width:190,render:e=>(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:V(gQr(e.occurredAt))})},{key:`action`,header:X.audit_col_action(),width:300,render:e=>(0,M.jsxs)(gu,{gap:`xs`,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,fw:500,truncate:!0,style:{minWidth:0},children:V(e.type)}),(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`gray`,style:{flexShrink:0},children:e.source===`explicit`?X.audit_source_explicit():X.audit_source_auto()})]})},{key:`user`,header:X.audit_col_user(),width:220,render:e=>{let t=pQr(e.userIdentity,_);return t.kind===`system`?(0,M.jsx)(B,{size:`sm`,c:`dimmed`,children:X.audit_user_system()}):(0,M.jsxs)(gu,{gap:6,wrap:`nowrap`,children:[(0,M.jsx)(B,{size:`sm`,truncate:!0,style:{minWidth:0},c:t.kind===`anonymous`?`dimmed`:void 0,ff:t.kind===`anonymous`?`monospace`:void 0,children:V(t.label)}),t.kind===`anonymous`&&(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`gray`,style:{flexShrink:0},children:X.audit_user_anonymous()}),t.kind===`user`&&t.actor&&(0,M.jsx)(Yv,{size:`xs`,variant:`light`,color:`grape`,style:{flexShrink:0},children:X.audit_user_actor()})]})}},{key:`outcome`,header:X.audit_col_outcome(),width:120,render:e=>e.outcome?(0,M.jsx)(Yv,{size:`sm`,variant:`light`,color:mQr[e.outcome]??`gray`,children:V(e.outcome)}):null},{key:`details`,header:X.audit_col_details(),maxWidth:320,render:e=>(0,M.jsx)(B,{size:`xs`,c:`dimmed`,truncate:!0,children:V(_Qr(e.metadata))})}]}),(0,M.jsx)(ey,{opened:!!o,onClose:()=>s(null),position:`right`,size:`lg`,title:X.audit_detail_title(),children:o&&(0,M.jsx)(yQr,{event:o,users:_})})]})},CQr=({emptyHero:e})=>(Pt(),(0,M.jsxs)($m,{gap:0,style:{height:`100%`},children:[(0,M.jsx)(lV,{title:X.audit_title(),description:X.audit_description(),docsHref:`https://pikku.dev/docs`}),(0,M.jsx)(SQr,{emptyHero:e})]})),wQr=()=>(0,M.jsxs)(Yn,{children:[(0,M.jsx)(qn,{path:`/render/workflow`,element:(0,M.jsx)(nYr,{})}),(0,M.jsxs)(qn,{element:(0,M.jsxs)(KV,{children:[(0,M.jsx)(pRt,{}),(0,M.jsx)(RV,{children:(0,M.jsx)(ste,{})})]}),children:[(0,M.jsx)(qn,{path:`/`,element:(0,M.jsx)(ote,{to:`/overview`,replace:!0})}),(0,M.jsx)(qn,{path:`/overview`,element:(0,M.jsx)(XV,{})}),(0,M.jsx)(qn,{path:`/functions`,element:(0,M.jsx)(u0n,{})}),(0,M.jsx)(qn,{path:`/workflow`,element:(0,M.jsx)(Y0n,{})}),(0,M.jsx)(qn,{path:`/agents`,element:(0,M.jsx)(Xdr,{})}),(0,M.jsx)(qn,{path:`/agents/playground`,element:(0,M.jsx)(kqr,{})}),(0,M.jsx)(qn,{path:`/scorers`,element:(0,M.jsx)(Aqr,{})}),(0,M.jsx)(qn,{path:`/changes`,element:(0,M.jsx)(_Yr,{})}),(0,M.jsx)(qn,{path:`/scenarios`,element:(0,M.jsx)(JYr,{})}),(0,M.jsx)(qn,{path:`/personas`,element:(0,M.jsx)(nXr,{})}),(0,M.jsx)(qn,{path:`/virtual-users`,element:(0,M.jsx)(kXr,{})}),(0,M.jsx)(qn,{path:`/knowledge`,element:(0,M.jsx)(ZXr,{})}),(0,M.jsx)(qn,{path:`/surface`,element:(0,M.jsx)(dZr,{})}),(0,M.jsx)(qn,{path:`/database`,element:(0,M.jsx)(NZr,{})}),(0,M.jsx)(qn,{path:`/apis`,element:(0,M.jsx)(T2n,{})}),(0,M.jsx)(qn,{path:`/jobs`,element:(0,M.jsx)(M2n,{})}),(0,M.jsx)(qn,{path:`/runtime`,element:(0,M.jsx)(L2n,{})}),(0,M.jsx)(qn,{path:`/emails`,element:(0,M.jsx)(Idr,{})}),(0,M.jsx)(qn,{path:`/webhooks`,element:(0,M.jsx)(Vdr,{})}),(0,M.jsx)(qn,{path:`/secrets`,element:(0,M.jsx)(Wdr,{})}),(0,M.jsx)(qn,{path:`/variables`,element:(0,M.jsx)(qdr,{})}),(0,M.jsx)(qn,{path:`/security`,element:(0,M.jsx)(uQr,{})}),(0,M.jsx)(qn,{path:`/config`,element:(0,M.jsx)(ote,{to:`/secrets`,replace:!0})}),(0,M.jsx)(qn,{path:`/credentials`,element:(0,M.jsx)(pJr,{})}),(0,M.jsx)(qn,{path:`/users`,element:(0,M.jsx)(GJr,{})}),(0,M.jsx)(qn,{path:`/scopes`,element:(0,M.jsx)(QJr,{})}),(0,M.jsx)(qn,{path:`/audit`,element:(0,M.jsx)(CQr,{})}),(0,M.jsx)(qn,{path:`/auth-providers`,element:(0,M.jsx)(VZr,{})}),(0,M.jsx)(qn,{path:`/addons`,element:(0,M.jsx)(sJr,{})}),(0,M.jsx)(qn,{path:`*`,element:(0,M.jsx)(mRt,{})})]})]}),TQr=o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=new RegExp(y(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],(e[0]===`(`||/^\(\?[<']/.test(e[0]))&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,ee=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,te=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},ne={begin:`\\\\[\\s\\S]`,relevance:0},re={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[ne]},ie={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[ne]},ae={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},oe=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},se=oe(`//`,`$`),ce=oe(`/\\*`,`\\*/`),le=oe(`#`,`$`),ue=Object.freeze({__proto__:null,APOS_STRING_MODE:re,BACKSLASH_ESCAPE:ne,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:oe,C_BLOCK_COMMENT_MODE:ce,C_LINE_COMMENT_MODE:se,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:le,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:ae,QUOTE_STRING_MODE:ie,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[ne,{begin:/\[/,end:/\]/,relevance:0,contains:[ne]}]},RE_STARTERS_RE:ee,SHEBANG:te,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function de(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function fe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function pe(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=de,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function me(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function he(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ge(e,t){e.relevance===void 0&&(e.relevance=1)}var _e=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},ve=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],ye=`keyword`;function be(e,t,n=ye){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,be(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,xe(n[0],n[1])]})}}function xe(e,t){return t?Number(t):+!Se(e)}function Se(e){return ve.includes(e.toLowerCase())}var Ce={},we=e=>{console.error(e)},Te=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ee=(e,t)=>{Ce[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ce[`${e}/${t}`]=!0)},De=Error();function Oe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function ke(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw we(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),De;if(typeof e.beginScope!=`object`||e.beginScope===null)throw we(`beginScope must be object`),De;Oe(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function Ae(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw we(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),De;if(typeof e.endScope!=`object`||e.endScope===null)throw we(`endScope must be object`),De;Oe(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function je(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Me(e){je(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),ke(e),Ae(e)}function Ne(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[fe,he,Me,_e].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[pe,me,ge].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=be(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Fe(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function Pe(e){return e?e.endsWithParent||Pe(e.starts):!1}function Fe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Pe(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var Ie=`11.12.0`,Le=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},Re=i,ze=a,Be=Symbol(`nomatch`),Ve=7,A=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=re(n[1]);return t||(Te(s.replace(`{}`,n[1])),Te(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||re(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(Ee(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),Ee(`10.7.0`,`Please use highlight(code, options) instead.