@workflow/web 4.1.0-beta.33 → 4.1.0-beta.35

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 (131) hide show
  1. package/build/client/assets/{_basePickBy-BSvRKJRE.js → _basePickBy-B1BDxiOZ.js} +1 -1
  2. package/build/client/assets/{_baseUniq-Cab7DZbu.js → _baseUniq-8k2kDiDO.js} +1 -1
  3. package/build/client/assets/{arc-b7TbQmwf.js → arc-GEaYFOjf.js} +1 -1
  4. package/build/client/assets/{architectureDiagram-VXUJARFQ-Ji8dOswE.js → architectureDiagram-VXUJARFQ-DL4sQscp.js} +1 -1
  5. package/build/client/assets/{blockDiagram-VD42YOAC-CX2Wzsv1.js → blockDiagram-VD42YOAC-Prv_51qN.js} +1 -1
  6. package/build/client/assets/{c4Diagram-YG6GDRKO-DqBbtKFb.js → c4Diagram-YG6GDRKO-CA7cLdzM.js} +1 -1
  7. package/build/client/assets/channel-csNrGTKG.js +1 -0
  8. package/build/client/assets/{chunk-4BX2VUAB-CsPvZKuB.js → chunk-4BX2VUAB-DNnh70rt.js} +1 -1
  9. package/build/client/assets/{chunk-55IACEB6-C4xaF8F-.js → chunk-55IACEB6-BF9zOAOM.js} +1 -1
  10. package/build/client/assets/{chunk-B4BG7PRW-DUd2h51q.js → chunk-B4BG7PRW-oOVMnMFa.js} +1 -1
  11. package/build/client/assets/{chunk-DI55MBZ5-DD4LiUfc.js → chunk-DI55MBZ5-CjBPrbih.js} +1 -1
  12. package/build/client/assets/{chunk-FMBD7UC4-BB-smuzA.js → chunk-FMBD7UC4-B91VGbrx.js} +1 -1
  13. package/build/client/assets/{chunk-QN33PNHL-CNrK2tOA.js → chunk-QN33PNHL-OReYjUUh.js} +1 -1
  14. package/build/client/assets/{chunk-QZHKN3VN-DmUQnaxW.js → chunk-QZHKN3VN-BnMvYB9T.js} +1 -1
  15. package/build/client/assets/{chunk-TZMSLE5B-Dwo3zeAN.js → chunk-TZMSLE5B-BVg2QNgA.js} +1 -1
  16. package/build/client/assets/classDiagram-2ON5EDUG-Cw1pUtEI.js +1 -0
  17. package/build/client/assets/classDiagram-v2-WZHVMYZB-Cw1pUtEI.js +1 -0
  18. package/build/client/assets/clone-Gr2LAXmK.js +1 -0
  19. package/build/client/assets/{code-block-IT6T5CEO-CNZ5MxhC.js → code-block-IT6T5CEO-BGc7juPG.js} +1 -1
  20. package/build/client/assets/{cose-bilkent-S5V4N54A-BV-y7VDL.js → cose-bilkent-S5V4N54A-BXeeqrEz.js} +1 -1
  21. package/build/client/assets/{dagre-6UL2VRFP-BJTkZs6c.js → dagre-6UL2VRFP-WWCtKdTv.js} +1 -1
  22. package/build/client/assets/{diagram-PSM6KHXK-BaDYUHAJ.js → diagram-PSM6KHXK-BiypSgqf.js} +1 -1
  23. package/build/client/assets/{diagram-QEK2KX5R-DO4MlVP9.js → diagram-QEK2KX5R-s-DyJmJB.js} +1 -1
  24. package/build/client/assets/{diagram-S2PKOQOG--N35p3Fa.js → diagram-S2PKOQOG-B62ZpY2c.js} +1 -1
  25. package/build/client/assets/{erDiagram-Q2GNP2WA-DlpgBGum.js → erDiagram-Q2GNP2WA-mGjemxYQ.js} +1 -1
  26. package/build/client/assets/{flowDiagram-NV44I4VS-GKLhP-VT.js → flowDiagram-NV44I4VS-u6wZbrvs.js} +1 -1
  27. package/build/client/assets/{ganttDiagram-JELNMOA3-BGT2qQ9m.js → ganttDiagram-JELNMOA3-C6QHTFif.js} +1 -1
  28. package/build/client/assets/{gitGraphDiagram-NY62KEGX-BjzGiQgq.js → gitGraphDiagram-NY62KEGX-DvuNA9fs.js} +1 -1
  29. package/build/client/assets/{graph-CV0EOvGG.js → graph-D_8R-uEc.js} +1 -1
  30. package/build/client/assets/home-BaR2keeX.js +35 -0
  31. package/build/client/assets/{infoDiagram-WHAUD3N6-C8BGiPuO.js → infoDiagram-WHAUD3N6-CvIUVR8S.js} +1 -1
  32. package/build/client/assets/{journeyDiagram-XKPGCS4Q-C-NZgKD8.js → journeyDiagram-XKPGCS4Q-D8y_eiuW.js} +1 -1
  33. package/build/client/assets/{kanban-definition-3W4ZIXB7-CmCrGz6m.js → kanban-definition-3W4ZIXB7-CfdpNYS5.js} +1 -1
  34. package/build/client/assets/{layout-CGeWZKGg.js → layout-wHJRCoBo.js} +1 -1
  35. package/build/client/assets/{manifest-cd7ef090.js → manifest-51f10d68.js} +1 -1
  36. package/build/client/assets/mermaid-VLURNSYL-DKxHcEOp.css +1 -0
  37. package/build/client/assets/mermaid-VLURNSYL-OCFFn9G-.js +467 -0
  38. package/build/client/assets/{mermaid.core-CCG8erLJ.js → mermaid.core-CIxEZ4Im.js} +5 -5
  39. package/build/client/assets/{mindmap-definition-VGOIOE7T-CriYhHk6.js → mindmap-definition-VGOIOE7T-D3gTunm1.js} +1 -1
  40. package/build/client/assets/{pieDiagram-ADFJNKIX-BO7R9v-y.js → pieDiagram-ADFJNKIX-B85xOamx.js} +1 -1
  41. package/build/client/assets/{quadrantDiagram-AYHSOK5B-B5XzeB0n.js → quadrantDiagram-AYHSOK5B-C3aCr011.js} +1 -1
  42. package/build/client/assets/{requirementDiagram-UZGBJVZJ-Ctzr7pHT.js → requirementDiagram-UZGBJVZJ-37j0JWP4.js} +1 -1
  43. package/build/client/assets/{root-ZDvxwknh.js → root-DHMpTxJj.js} +1 -1
  44. package/build/client/assets/root-Dr_TuMgh.css +1 -0
  45. package/build/client/assets/run-detail-D1ou1d9Y.js +36 -0
  46. package/build/client/assets/{sankeyDiagram-TZEHDZUN-3998XFH6.js → sankeyDiagram-TZEHDZUN-DzUbFRqR.js} +1 -1
  47. package/build/client/assets/{sequenceDiagram-WL72ISMW--TYcsXLK.js → sequenceDiagram-WL72ISMW-CRN-wOEK.js} +1 -1
  48. package/build/client/assets/server-build-CgcbAXmU.css +1 -0
  49. package/build/client/assets/{stateDiagram-FKZM4ZOC-KFOT_-fi.js → stateDiagram-FKZM4ZOC-CoutTkF0.js} +1 -1
  50. package/build/client/assets/stateDiagram-v2-4FDKWEC3-BgLFQ5nj.js +1 -0
  51. package/build/client/assets/{timeline-definition-IT6M3QCI-BWpMX-Al.js → timeline-definition-IT6M3QCI-DOHM22it.js} +1 -1
  52. package/build/client/assets/{treemap-KMMF4GRG-BoG-yO-d.js → treemap-KMMF4GRG-Cuj8ISKR.js} +1 -1
  53. package/build/client/assets/use-workflow-graph-6AriCYol.js +166 -0
  54. package/build/client/assets/worker-D-HfgUMl.js +1 -0
  55. package/build/client/assets/{xychartDiagram-PRI3JC2R-TErXr7lU.js → xychartDiagram-PRI3JC2R-Hi349Uif.js} +1 -1
  56. package/build/server/assets/{_basePickBy-CX5bp78g.js → _basePickBy-5Pche2g8.js} +2 -2
  57. package/build/server/assets/{_baseUniq-DRbeMsjX.js → _baseUniq-rVBkHQhs.js} +1 -1
  58. package/build/server/assets/{app-Ct2AiOlb.js → app-TS-XEo7V.js} +1 -1
  59. package/build/server/assets/{arc-t9dVPERH.js → arc-CGnYt3XY.js} +1 -1
  60. package/build/server/assets/{architecture-U656AL7Q-y8nc6yoa.js → architecture-U656AL7Q-DbvOs0nV.js} +7 -7
  61. package/build/server/assets/{architectureDiagram-VXUJARFQ-65LZOjwE.js → architectureDiagram-VXUJARFQ-L2BPr4gg.js} +8 -8
  62. package/build/server/assets/{blockDiagram-VD42YOAC-DTb4W0Pg.js → blockDiagram-VD42YOAC-l-T_FUvw.js} +8 -8
  63. package/build/server/assets/{c4Diagram-YG6GDRKO-Dr9EimIQ.js → c4Diagram-YG6GDRKO-CCfxLCAa.js} +4 -4
  64. package/build/server/assets/{channel-CeTZ6cfq.js → channel-BQnGOmwG.js} +1 -1
  65. package/build/server/assets/{chunk-4BX2VUAB-BSqKh-tP.js → chunk-4BX2VUAB-DTDtI7wT.js} +1 -1
  66. package/build/server/assets/{chunk-55IACEB6-tU3Z2y0r.js → chunk-55IACEB6-Cu3JOMp-.js} +2 -2
  67. package/build/server/assets/{chunk-B4BG7PRW-AgB7GYhY.js → chunk-B4BG7PRW-SbWvmNEI.js} +5 -5
  68. package/build/server/assets/{chunk-DI55MBZ5-CnFyUXi5.js → chunk-DI55MBZ5-CX8cmhH0.js} +3 -3
  69. package/build/server/assets/{chunk-FMBD7UC4-C4D6Vih_.js → chunk-FMBD7UC4-C9fGUos-.js} +1 -1
  70. package/build/server/assets/{chunk-QN33PNHL-BWUiZFmI.js → chunk-QN33PNHL-Bdz8spTx.js} +1 -1
  71. package/build/server/assets/{chunk-QZHKN3VN-awnfUhvo.js → chunk-QZHKN3VN-Bvso0miA.js} +1 -1
  72. package/build/server/assets/{chunk-TZMSLE5B-BrA0CaNT.js → chunk-TZMSLE5B-BAVS6CcD.js} +1 -1
  73. package/build/server/assets/{classDiagram-2ON5EDUG-Cmc4RXkN.js → classDiagram-2ON5EDUG-EK2Wq1-A.js} +7 -7
  74. package/build/server/assets/{classDiagram-v2-WZHVMYZB-Cmc4RXkN.js → classDiagram-v2-WZHVMYZB-EK2Wq1-A.js} +7 -7
  75. package/build/server/assets/{clone-DNbOTSdB.js → clone-CzKKfZSJ.js} +1 -1
  76. package/build/server/assets/{code-block-IT6T5CEO-_Bf5MAq6.js → code-block-IT6T5CEO-BVYAbkuh.js} +2 -2
  77. package/build/server/assets/{cose-bilkent-S5V4N54A-CaReuWZP.js → cose-bilkent-S5V4N54A-BB9VlwzB.js} +3 -3
  78. package/build/server/assets/{dagre-6UL2VRFP-COsY4Lyv.js → dagre-6UL2VRFP-CYzOrfDZ.js} +8 -8
  79. package/build/server/assets/{diagram-PSM6KHXK-Dm0Fe5sv.js → diagram-PSM6KHXK-B5hvksz9.js} +9 -9
  80. package/build/server/assets/{diagram-QEK2KX5R-CCIvnOol.js → diagram-QEK2KX5R-D9NM-JnM.js} +8 -8
  81. package/build/server/assets/{diagram-S2PKOQOG-2MfjgdUt.js → diagram-S2PKOQOG-Cr1LrnWq.js} +8 -8
  82. package/build/server/assets/{erDiagram-Q2GNP2WA-C9fdzOgi.js → erDiagram-Q2GNP2WA-D9urh_DL.js} +6 -6
  83. package/build/server/assets/{flowDiagram-NV44I4VS-M2lc5NSN.js → flowDiagram-NV44I4VS-47DMtQX0.js} +7 -7
  84. package/build/server/assets/{ganttDiagram-JELNMOA3-C6yOZXI7.js → ganttDiagram-JELNMOA3-Bsc3oYoY.js} +4 -4
  85. package/build/server/assets/{gitGraph-F6HP7TQM-CgNkNcS7.js → gitGraph-F6HP7TQM-DR3t7ywR.js} +7 -7
  86. package/build/server/assets/{gitGraphDiagram-NY62KEGX-BohvofvN.js → gitGraphDiagram-NY62KEGX-B3LBhYEd.js} +9 -9
  87. package/build/server/assets/{graph-Ulmn-yXw.js → graph-DylIm937.js} +2 -2
  88. package/build/server/assets/{info-NVLQJR56-B3PAkPx_.js → info-NVLQJR56-BpEwOtm0.js} +7 -7
  89. package/build/server/assets/{infoDiagram-WHAUD3N6-CSjKOLrY.js → infoDiagram-WHAUD3N6-aoS2Y2jd.js} +7 -7
  90. package/build/server/assets/{journeyDiagram-XKPGCS4Q-CejSWxVS.js → journeyDiagram-XKPGCS4Q-IKNlIiEJ.js} +6 -6
  91. package/build/server/assets/{kanban-definition-3W4ZIXB7-BhuBMvlP.js → kanban-definition-3W4ZIXB7-BPbBbUFa.js} +4 -4
  92. package/build/server/assets/{layout-B-L3j8Rc.js → layout-CdgQaV3q.js} +4 -4
  93. package/build/server/assets/{linear-Dp71QvUo.js → linear-BEcSsqfJ.js} +1 -1
  94. package/build/server/assets/{mermaid-VLURNSYL-CdyI-shq.js → mermaid-VLURNSYL-BeYPeEV-.js} +2 -2
  95. package/build/server/assets/{mermaid-parser.core-DdkPioAn.js → mermaid-parser.core-0sQrJr73.js} +11 -11
  96. package/build/server/assets/{mermaid.core-CemR7tEN.js → mermaid.core-a_62q6mh.js} +32 -32
  97. package/build/server/assets/{mindmap-definition-VGOIOE7T-B4vd6EZB.js → mindmap-definition-VGOIOE7T-BcPZjvCY.js} +5 -5
  98. package/build/server/assets/{packet-BFZMPI3H-DUWEPgP3.js → packet-BFZMPI3H-Bj_jRmt5.js} +7 -7
  99. package/build/server/assets/{pie-7BOR55EZ-DHneZ_Ix.js → pie-7BOR55EZ-0UCmP5Sy.js} +7 -7
  100. package/build/server/assets/{pieDiagram-ADFJNKIX-Bzr8lGKZ.js → pieDiagram-ADFJNKIX-hQksKgCm.js} +9 -9
  101. package/build/server/assets/{quadrantDiagram-AYHSOK5B-Dl_o12VO.js → quadrantDiagram-AYHSOK5B-Bv8MfwUr.js} +4 -4
  102. package/build/server/assets/{radar-NHE76QYJ-CnmLDbJw.js → radar-NHE76QYJ-oyha2y6i.js} +7 -7
  103. package/build/server/assets/{requirementDiagram-UZGBJVZJ-Cbh0w4zx.js → requirementDiagram-UZGBJVZJ-3ZJa8elX.js} +5 -5
  104. package/build/server/assets/{sankeyDiagram-TZEHDZUN-BOPcYcn_.js → sankeyDiagram-TZEHDZUN-CfrKwCjE.js} +3 -3
  105. package/build/server/assets/{sequenceDiagram-WL72ISMW-BKMEdsnU.js → sequenceDiagram-WL72ISMW-D5pKv8dS.js} +5 -5
  106. package/build/server/assets/{server-build-D669WCiG.js → server-build-B-CBDnz2.js} +8446 -3217
  107. package/build/server/assets/{stateDiagram-FKZM4ZOC-DA26FXV3.js → stateDiagram-FKZM4ZOC-CIIJ2ueM.js} +10 -10
  108. package/build/server/assets/{stateDiagram-v2-4FDKWEC3-B_ssjkDp.js → stateDiagram-v2-4FDKWEC3-C07hzSfC.js} +6 -6
  109. package/build/server/assets/{timeline-definition-IT6M3QCI-BPsZLSW8.js → timeline-definition-IT6M3QCI-DV3mTTlt.js} +4 -4
  110. package/build/server/assets/{token-PtbssUN9.js → token-BNw18NRr.js} +3 -3
  111. package/build/server/assets/{token-util-C4BdVs1n.js → token-util-C21noM9f.js} +2 -2
  112. package/build/server/assets/{token-util-DCZzRns1.js → token-util-D2PY2sBO.js} +1 -1
  113. package/build/server/assets/{treemap-KMMF4GRG-CbDzD3EG.js → treemap-KMMF4GRG-C5IwFfHK.js} +7 -7
  114. package/build/server/assets/{xychartDiagram-PRI3JC2R-CSYLDeXX.js → xychartDiagram-PRI3JC2R-BCtn2EPg.js} +4 -4
  115. package/build/server/index.js +1 -1
  116. package/package.json +11 -7
  117. package/build/client/assets/channel-BB5IrGvL.js +0 -1
  118. package/build/client/assets/classDiagram-2ON5EDUG-BeXXmaeG.js +0 -1
  119. package/build/client/assets/classDiagram-v2-WZHVMYZB-BeXXmaeG.js +0 -1
  120. package/build/client/assets/clone-BAxTKVXy.js +0 -1
  121. package/build/client/assets/home-D5hRpWJP.js +0 -40
  122. package/build/client/assets/katex-BbEIqZs1.js +0 -261
  123. package/build/client/assets/mermaid-VLURNSYL-BJjrZ9jp.css +0 -1
  124. package/build/client/assets/mermaid-VLURNSYL-DZspIWfV.js +0 -478
  125. package/build/client/assets/root-AOcWXHD9.css +0 -1
  126. package/build/client/assets/run-detail-DPyEEMdn.js +0 -24
  127. package/build/client/assets/server-build-YTP8tmIR.css +0 -1
  128. package/build/client/assets/stateDiagram-v2-4FDKWEC3-B_evGZn5.js +0 -1
  129. package/build/client/assets/use-workflow-graph-CSOGwdVi.js +0 -149
  130. package/build/client/assets/worker-DIhmOA3S.js +0 -1
  131. package/build/server/assets/katex-B7AUlPkp.js +0 -14519
@@ -1,11 +1,11 @@
1
- import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CnFyUXi5.js";
2
- import { _ as __name, c as getConfig2, l as log, d as configureSvgSize, j as common_default, Q as line, R as curveBasis, N as getUrl, u as utils_default } from "./mermaid.core-CemR7tEN.js";
3
- import { s as select } from "./server-build-D669WCiG.js";
4
- import { G as Graph } from "./graph-Ulmn-yXw.js";
5
- import { l as layout } from "./layout-B-L3j8Rc.js";
6
- import "./chunk-55IACEB6-tU3Z2y0r.js";
7
- import "./chunk-QN33PNHL-BWUiZFmI.js";
8
- import "./app-Ct2AiOlb.js";
1
+ import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CX8cmhH0.js";
2
+ import { _ as __name, c as getConfig2, l as log, d as configureSvgSize, j as common_default, Q as line, R as curveBasis, N as getUrl, u as utils_default } from "./mermaid.core-a_62q6mh.js";
3
+ import { s as select } from "./server-build-B-CBDnz2.js";
4
+ import { G as Graph } from "./graph-DylIm937.js";
5
+ import { l as layout } from "./layout-CdgQaV3q.js";
6
+ import "./chunk-55IACEB6-Cu3JOMp-.js";
7
+ import "./chunk-QN33PNHL-Bdz8spTx.js";
8
+ import "./app-TS-XEo7V.js";
9
9
  import "stream";
10
10
  import "express";
11
11
  import "node:stream";
@@ -45,8 +45,8 @@ import "node:dns";
45
45
  import "string_decoder";
46
46
  import "node:fs";
47
47
  import "node:os";
48
- import "./_baseUniq-DRbeMsjX.js";
49
- import "./_basePickBy-CX5bp78g.js";
48
+ import "./_baseUniq-rVBkHQhs.js";
49
+ import "./_basePickBy-5Pche2g8.js";
50
50
  var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
51
51
  var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
52
52
  var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
@@ -1,9 +1,9 @@
1
- import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CnFyUXi5.js";
2
- import { _ as __name } from "./mermaid.core-CemR7tEN.js";
3
- import "./server-build-D669WCiG.js";
4
- import "./chunk-55IACEB6-tU3Z2y0r.js";
5
- import "./chunk-QN33PNHL-BWUiZFmI.js";
6
- import "./app-Ct2AiOlb.js";
1
+ import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CX8cmhH0.js";
2
+ import { _ as __name } from "./mermaid.core-a_62q6mh.js";
3
+ import "./server-build-B-CBDnz2.js";
4
+ import "./chunk-55IACEB6-Cu3JOMp-.js";
5
+ import "./chunk-QN33PNHL-Bdz8spTx.js";
6
+ import "./app-TS-XEo7V.js";
7
7
  import "stream";
8
8
  import "express";
9
9
  import "node:stream";
@@ -1,7 +1,7 @@
1
- import { _ as __name, c as getConfig2, l as log, U as setupGraphViewbox, V as isDark, W as lighten, X as darken, A as __export, Y as commonDb_exports, x as clear } from "./mermaid.core-CemR7tEN.js";
2
- import { s as select } from "./server-build-D669WCiG.js";
3
- import { d as d3arc } from "./arc-t9dVPERH.js";
4
- import "./app-Ct2AiOlb.js";
1
+ import { _ as __name, c as getConfig2, l as log, U as setupGraphViewbox, V as isDark, W as lighten, X as darken, A as __export, Y as commonDb_exports, x as clear } from "./mermaid.core-a_62q6mh.js";
2
+ import { s as select } from "./server-build-B-CBDnz2.js";
3
+ import { d as d3arc } from "./arc-CGnYt3XY.js";
4
+ import "./app-TS-XEo7V.js";
5
5
  import "stream";
6
6
  import "express";
7
7
  import "node:stream";
@@ -1,6 +1,6 @@
1
- import { g as getDefaultExportFromCjs } from "./app-Ct2AiOlb.js";
2
- import { r as requireTokenError } from "./server-build-D669WCiG.js";
3
- import { r as requireTokenUtil } from "./token-util-DCZzRns1.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-TS-XEo7V.js";
2
+ import { r as requireTokenError } from "./server-build-B-CBDnz2.js";
3
+ import { r as requireTokenUtil } from "./token-util-D2PY2sBO.js";
4
4
  function _mergeNamespaces(n, m) {
5
5
  for (var i = 0; i < m.length; i++) {
6
6
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-Ct2AiOlb.js";
2
- import { r as requireTokenUtil } from "./token-util-DCZzRns1.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-TS-XEo7V.js";
2
+ import { r as requireTokenUtil } from "./token-util-D2PY2sBO.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,6 +1,6 @@
1
1
  import path__default from "path";
2
2
  import fs__default from "fs";
3
- import { r as requireTokenError } from "./server-build-D669WCiG.js";
3
+ import { r as requireTokenError } from "./server-build-B-CBDnz2.js";
4
4
  import require$$0 from "os";
5
5
  var tokenIo;
6
6
  var hasRequiredTokenIo;
@@ -1,9 +1,9 @@
1
- import { T, h } from "./mermaid-parser.core-DdkPioAn.js";
2
- import "./mermaid.core-CemR7tEN.js";
3
- import "./app-Ct2AiOlb.js";
1
+ import { T, h } from "./mermaid-parser.core-0sQrJr73.js";
2
+ import "./mermaid.core-a_62q6mh.js";
3
+ import "./app-TS-XEo7V.js";
4
4
  import "stream";
5
5
  import "express";
6
- import "./server-build-D669WCiG.js";
6
+ import "./server-build-B-CBDnz2.js";
7
7
  import "node:stream";
8
8
  import "util";
9
9
  import "crypto";
@@ -41,9 +41,9 @@ import "node:dns";
41
41
  import "string_decoder";
42
42
  import "node:fs";
43
43
  import "node:os";
44
- import "./_baseUniq-DRbeMsjX.js";
45
- import "./_basePickBy-CX5bp78g.js";
46
- import "./clone-DNbOTSdB.js";
44
+ import "./_baseUniq-rVBkHQhs.js";
45
+ import "./_basePickBy-5Pche2g8.js";
46
+ import "./clone-CzKKfZSJ.js";
47
47
  export {
48
48
  T as TreemapModule,
49
49
  h as createTreemapServices
@@ -1,10 +1,10 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2
- import { _ as __name, s as setAccDescription, g as getAccDescription, p as getDiagramTitle, o as setDiagramTitle, a as getAccTitle, b as setAccTitle, l as log, G as selectSvgElement, d as configureSvgSize, x as clear, D as getConfig, C as cleanAndMerge, E as defaultConfig_default, I as getThemeVariables3, h as sanitizeText, aE as computeDimensionOfText, Q as line } from "./mermaid.core-CemR7tEN.js";
3
- import "./server-build-D669WCiG.js";
2
+ import { _ as __name, s as setAccDescription, g as getAccDescription, p as getDiagramTitle, o as setDiagramTitle, a as getAccTitle, b as setAccTitle, l as log, G as selectSvgElement, d as configureSvgSize, x as clear, D as getConfig, C as cleanAndMerge, E as defaultConfig_default, I as getThemeVariables3, h as sanitizeText, aE as computeDimensionOfText, Q as line } from "./mermaid.core-a_62q6mh.js";
3
+ import "./server-build-B-CBDnz2.js";
4
4
  import { i as initRange } from "./init-ZxktEp_H.js";
5
5
  import { o as ordinal } from "./ordinal-DSZU4PqD.js";
6
- import { l as linear } from "./linear-Dp71QvUo.js";
7
- import "./app-Ct2AiOlb.js";
6
+ import { l as linear } from "./linear-BEcSsqfJ.js";
7
+ import "./app-TS-XEo7V.js";
8
8
  import "stream";
9
9
  import "express";
10
10
  import "node:stream";
@@ -1,4 +1,4 @@
1
- import { l } from "./assets/app-Ct2AiOlb.js";
1
+ import { l } from "./assets/app-TS-XEo7V.js";
2
2
  import "express";
3
3
  import "stream";
4
4
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workflow/web",
3
3
  "description": "Workflow Observability UI",
4
- "version": "4.1.0-beta.33",
4
+ "version": "4.1.0-beta.35",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
@@ -32,6 +32,7 @@
32
32
  "isbot": "^5"
33
33
  },
34
34
  "devDependencies": {
35
+ "@testing-library/react": "^16.3.0",
35
36
  "@biomejs/biome": "^2.2.7",
36
37
  "@radix-ui/react-alert-dialog": "1.1.5",
37
38
  "@radix-ui/react-checkbox": "1.1.4",
@@ -70,12 +71,14 @@
70
71
  "tailwindcss": "4",
71
72
  "typescript": "^5.9.3",
72
73
  "vite": "^6",
73
- "@workflow/core": "4.1.0-beta.56",
74
- "@workflow/errors": "4.1.0-beta.15",
74
+ "vitest": "^3",
75
+ "jsdom": "^26",
76
+ "@workflow/core": "4.1.0-beta.61",
77
+ "@workflow/errors": "4.1.0-beta.16",
75
78
  "@workflow/utils": "4.1.0-beta.12",
76
- "@workflow/web-shared": "4.1.0-beta.51",
77
- "@workflow/world": "4.1.0-beta.4",
78
- "@workflow/world-vercel": "4.1.0-beta.32"
79
+ "@workflow/web-shared": "4.1.0-beta.56",
80
+ "@workflow/world": "4.1.0-beta.7",
81
+ "@workflow/world-vercel": "4.1.0-beta.35"
79
82
  },
80
83
  "scripts": {
81
84
  "dev": "react-router dev",
@@ -83,6 +86,7 @@
83
86
  "clean": "rm -rf build .react-router",
84
87
  "start": "node server.js",
85
88
  "lint": "biome check",
86
- "format": "biome format --write"
89
+ "format": "biome format --write",
90
+ "test": "vitest run"
87
91
  }
88
92
  }
@@ -1 +0,0 @@
1
- import{ah as o,ai as n}from"./mermaid.core-CCG8erLJ.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DUd2h51q.js";import{_ as i}from"./mermaid.core-CCG8erLJ.js";import"./transform-BcRQlmJM.js";import"./chunk-FMBD7UC4-BB-smuzA.js";import"./chunk-55IACEB6-C4xaF8F-.js";import"./chunk-QN33PNHL-CNrK2tOA.js";import"./mermaid-VLURNSYL-DZspIWfV.js";import"./index-DS8xNWtl.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DUd2h51q.js";import{_ as i}from"./mermaid.core-CCG8erLJ.js";import"./transform-BcRQlmJM.js";import"./chunk-FMBD7UC4-BB-smuzA.js";import"./chunk-55IACEB6-C4xaF8F-.js";import"./chunk-QN33PNHL-CNrK2tOA.js";import"./mermaid-VLURNSYL-DZspIWfV.js";import"./index-DS8xNWtl.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-Cab7DZbu.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1,40 +0,0 @@
1
- import{b as n,B as uo,v as e,A as fo,f as At,z as Fe,y as it,C as Ot,w as ho}from"./index-DS8xNWtl.js";import{g as he,P as $,c as ye,t as ie,d as R,D as po,T as Ce,a as ke,B as se,b as Re,C as dt,h as mo,i as Qe,j as Z,k as Lt,l as Ft,A as xo,m as L,n as Ie,o as Ht,p as Bt,q as go,s as et,R as vo,V as wo,v as bo,w as $t,x as jo,u as Vt,L as Ke,y as Wt,z as yo,E as No,F as ut,G as So,H as Ge}from"./mermaid-VLURNSYL-DZspIWfV.js";import{R as Co,S as ko,a as I,u as Ro,b as Ae,A as ft,c as ht,d as pt,g as zt,C as Me,D as Ut,e as Kt,E as Gt,f as qt,h as Io,i as Zt,r as Eo,j as To,k as Yt,l as Xt,m as Po,n as Jt,X as Qt,o as _o,p as Do,P as es,q as yt,s as Mo,t as Ao,v as Oo,w as Lo,x as Fo,y as Ho,Z as Bo,z as $o,B as Vo,F as Wo,G as Nt,H as St,W as zo,T as Uo,I as Ko,J as qe,K as Ze}from"./use-workflow-graph-CSOGwdVi.js";import"./transform-BcRQlmJM.js";import"./value-BxRBhsAB.js";var Go="Portal",mt=n.forwardRef((t,s)=>{var c;const{container:o,...r}=t,[a,l]=n.useState(!1);he(()=>l(!0),[]);const i=o||a&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?uo.createPortal(e.jsx($.div,{...r,ref:s}),i):null});mt.displayName=Go;/**
2
- * @license lucide-react v0.469.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const qo=ye("ArrowDownAZ",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]);/**
7
- * @license lucide-react v0.469.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const Zo=ye("ArrowUpAZ",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]);/**
12
- * @license lucide-react v0.469.0 - ISC
13
- *
14
- * This source code is licensed under the ISC license.
15
- * See the LICENSE file in the root directory of this source tree.
16
- */const ts=ye("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
17
- * @license lucide-react v0.469.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */const Yo=ye("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
22
- * @license lucide-react v0.469.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- */const Xo=ye("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
27
- * @license lucide-react v0.469.0 - ISC
28
- *
29
- * This source code is licensed under the ISC license.
30
- * See the LICENSE file in the root directory of this source tree.
31
- */const ss=ye("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
32
- * @license lucide-react v0.469.0 - ISC
33
- *
34
- * This source code is licensed under the ISC license.
35
- * See the LICENSE file in the root directory of this source tree.
36
- */const Ct=ye("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);function Jo({onResolve:t,callbacks:s}){const[o,r]=n.useState(!1),[a,l]=n.useState(null),i=n.useCallback(f=>{l(f)},[]),c=n.useCallback(()=>{l(null)},[]),d=n.useCallback(async f=>{var p;if(!(o||!a))try{r(!0),await t(a,f),ie.success("Hook resolved",{description:"The payload has been sent and the hook resolved."}),l(null),(p=s==null?void 0:s.onSuccess)==null||p.call(s)}catch(m){console.error("Failed to resolve hook:",m),ie.error("Failed to resolve hook",{description:m instanceof Error?m.message:"An unknown error occurred"})}finally{r(!1)}},[t,a,o,s]);return{isResolving:o,selectedHook:a,openResolveModal:i,closeResolveModal:c,handleResolve:d}}function Qo({hook:t,stopPropagation:s=!1,onResolveClick:o,DropdownMenuItem:r}){const a=l=>{s&&l.stopPropagation(),o(t)};return e.jsxs(r,{onClick:a,children:[e.jsx(ko,{className:"h-4 w-4 mr-2"}),"Resolve Hook"]})}function en({hookActions:t}){const{selectedHook:s,closeResolveModal:o,handleResolve:r,isResolving:a}=t;return e.jsx(Co,{isOpen:s!==null,onClose:o,onSubmit:r,isSubmitting:a})}const Ee=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("rounded-lg border bg-card text-card-foreground shadow-sm",t),...s}));Ee.displayName="Card";const tn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("flex flex-col space-y-1.5 p-6",t),...s}));tn.displayName="CardHeader";const sn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("text-2xl font-semibold leading-none tracking-tight",t),...s}));sn.displayName="CardTitle";const on=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("text-sm text-muted-foreground",t),...s}));on.displayName="CardDescription";const Te=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("p-6 pt-0",t),...s}));Te.displayName="CardContent";const nn=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{ref:o,className:R("flex items-center p-6 pt-0",t),...s}));nn.displayName="CardFooter";const os=n.forwardRef(({className:t,href:s,children:o,...r},a)=>{const l=s.startsWith("http")?s:`https://useworkflow.dev/docs/${s.replace(/^\//,"")}`;return e.jsx(fo,{href:l,className:R("font-medium underline underline-offset-4 transition-colors",t),style:{color:"var(--ds-blue-600)"},target:"_blank",rel:"noopener noreferrer",ref:a,...r,children:o})});os.displayName="DocsLink";const He=n.forwardRef(({className:t,...s},o)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:o,className:R("w-full caption-bottom text-sm",t),...s})}));He.displayName="Table";const Be=n.forwardRef(({className:t,...s},o)=>e.jsx("thead",{ref:o,className:R("[&_tr]:border-b",t),...s}));Be.displayName="TableHeader";const $e=n.forwardRef(({className:t,...s},o)=>e.jsx("tbody",{ref:o,className:R("[&_tr:last-child]:border-0",t),...s}));$e.displayName="TableBody";const rn=n.forwardRef(({className:t,...s},o)=>e.jsx("tfoot",{ref:o,className:R("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...s}));rn.displayName="TableFooter";const de=n.forwardRef(({className:t,...s},o)=>e.jsx("tr",{ref:o,className:R("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...s}));de.displayName="TableRow";const z=n.forwardRef(({className:t,...s},o)=>e.jsx("th",{ref:o,className:R("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...s}));z.displayName="TableHead";const B=n.forwardRef(({className:t,...s},o)=>e.jsx("td",{ref:o,className:R("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...s}));B.displayName="TableCell";const an=n.forwardRef(({className:t,...s},o)=>e.jsx("caption",{ref:o,className:R("mt-4 text-sm text-muted-foreground",t),...s}));an.displayName="TableCaption";function ns({rows:t=po,variant:s="runs"}){const o=a=>{switch(s){case"runs":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.8fr_1fr_1fr_40px] items-center gap-4 py-3 px-4",children:[e.jsx(I,{className:"h-4 w-3/4"}),e.jsx(I,{className:"h-4 w-4/5"}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(I,{className:"h-3 w-14"}),e.jsx(I,{className:"h-2 w-8"})]}),e.jsx(I,{className:"h-3 w-3/4"}),e.jsx(I,{className:"h-3 w-3/4"}),e.jsx(I,{className:"h-6 w-6 rounded"})]},`skeleton-row-${a}`);case"hooks":return e.jsxs("div",{className:"grid grid-cols-[1.2fr_1.2fr_0.8fr_1fr_0.5fr_40px] items-center gap-4 py-3 px-4",children:[e.jsx(I,{className:"h-4 w-4/5"}),e.jsx(I,{className:"h-4 w-4/5"}),e.jsx(I,{className:"h-4 w-3/4"}),e.jsx(I,{className:"h-3 w-3/4"}),e.jsx(I,{className:"h-4 w-8"}),e.jsx(I,{className:"h-6 w-6 rounded"})]},`skeleton-row-${a}`);case"workflows":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.5fr] items-center gap-4 py-3 px-4",children:[e.jsx(I,{className:"h-4 w-3/4"}),e.jsx(I,{className:"h-4 w-4/5"}),e.jsx(I,{className:"h-5 w-16 rounded-full mx-auto"})]},`skeleton-row-${a}`);default:return null}},r=()=>{switch(s){case"runs":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.8fr_1fr_1fr_40px] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(I,{className:"h-4 w-20"}),e.jsx(I,{className:"h-4 w-14"}),e.jsx(I,{className:"h-4 w-12"}),e.jsx(I,{className:"h-4 w-14"}),e.jsx(I,{className:"h-4 w-20"}),e.jsx("div",{className:"w-6"})]});case"hooks":return e.jsxs("div",{className:"grid grid-cols-[1.2fr_1.2fr_0.8fr_1fr_0.5fr_40px] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(I,{className:"h-4 w-16"}),e.jsx(I,{className:"h-4 w-14"}),e.jsx(I,{className:"h-4 w-12"}),e.jsx(I,{className:"h-4 w-14"}),e.jsx(I,{className:"h-4 w-20"}),e.jsx("div",{className:"w-6"})]});case"workflows":return e.jsxs("div",{className:"grid grid-cols-[1fr_1.5fr_0.5fr] items-center gap-4 py-3 px-4 border-b",children:[e.jsx(I,{className:"h-4 w-20"}),e.jsx(I,{className:"h-4 w-10"}),e.jsx(I,{className:"h-4 w-12 mx-auto"})]});default:return null}};return e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsxs(Te,{className:"p-0",children:[r(),Array.from({length:t},(a,l)=>o(l))]})})}function kt(t,s,o){return o===1?t:s}function ln({runId:t,onHookClick:s,selectedHookId:o}){const[r,a]=n.useState(()=>new Date),l=n.useMemo(()=>({}),[]),{data:i,error:c,nextPage:d,previousPage:f,hasNextPage:p,hasPreviousPage:m,refresh:x,pageInfo:h}=Ro(l,{runId:t,sortOrder:"desc"}),w=Jo({onResolve:async(S,k)=>{await Eo(l,S.token,k)},callbacks:{onSuccess:x}}),u=i.isLoading,g=i.data??[],y=()=>{a(()=>new Date),x()},[v,b]=n.useState(new Map);n.useEffect(()=>{if(!g.length)return;(async()=>{const k=new Map;for(const F of g)k.set(F.hookId,{count:0,hasMore:!1,loading:!0});b(k);const M=await Promise.allSettled(g.map(async F=>{var W;try{const H=await mo(l,F.hookId,{sortOrder:"asc",limit:100});if(!H.success)return{hookId:F.hookId,count:new Error(((W=H.error)==null?void 0:W.message)||"Failed to fetch events"),hasMore:!1};const V=H.data,U=V.data.filter(Y=>Y.eventType==="hook_received").length;return{hookId:F.hookId,count:U,hasMore:V.hasMore}}catch(H){return{hookId:F.hookId,count:H,hasMore:!1}}}));b(F=>{const W=new Map(F);for(let H=0;H<M.length;H++){const V=M[H],U=g[H].hookId;V.status==="fulfilled"?W.set(V.value.hookId,{count:V.value.count,hasMore:V.value.hasMore,loading:!1}):W.set(U,{count:0,hasMore:!1,loading:!1})}return W})})()},[g,l]);const C=S=>{const k=v.get(S.hookId);if(!k||k.loading)return e.jsx("span",{className:"text-muted-foreground text-xs",children:"..."});if(k.count instanceof Error)return e.jsx("span",{className:"text-muted-foreground",children:"Error"});if(k.count===0)return e.jsx("span",{className:"text-muted-foreground",children:"0"});const M=k.hasMore?`${k.count}+`:`${k.count}`;return k.hasMore?e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsx("span",{className:"font-semibold cursor-help",children:M})}),e.jsx(Re,{className:"max-w-xs",children:e.jsx("div",{className:"text-xs",children:"Showing first 100 invocations. There may be more."})})]}):e.jsx("span",{className:"font-semibold",children:M})};return e.jsxs("div",{children:[e.jsx(en,{hookActions:w}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Last refreshed"}),r&&e.jsx(Ae,{date:r,className:"text-sm text-muted-foreground",type:"distance"})]}),e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsxs(se,{variant:"outline",size:"sm",onClick:y,disabled:u,children:[e.jsx(ss,{className:u?"animate-spin":""}),"Refresh"]})}),e.jsx(Re,{children:"Note that this resets pages"})]})})]}),c?e.jsxs(ft,{variant:"destructive",children:[e.jsx(dt,{className:"h-4 w-4"}),e.jsx(ht,{children:"Error loading hooks"}),e.jsx(pt,{children:zt(c)})]}):!u&&(!g||g.length===0)?e.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:["No active hooks found. ",e.jsx("br",{}),e.jsx(os,{href:"https://useworkflow.dev/docs/api-reference/workflow/create-hook",children:"Learn how to create a hook"})]}):u&&!(i!=null&&i.data)?e.jsx(ns,{variant:"hooks"}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsx(Te,{className:"p-0 max-h-[calc(100vh-280px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx(Be,{children:e.jsxs(de,{children:[e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Hook ID"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Run ID"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Token"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Created"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Invocations"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10"})]})}),e.jsx($e,{children:g.map(S=>e.jsxs(de,{className:"cursor-pointer group relative",onClick:()=>s(S.hookId,S.runId),"data-selected":S.hookId===o,children:[e.jsx(B,{className:"font-mono text-xs py-2",children:e.jsx(Me,{text:S.hookId,overlay:!0,children:S.hookId})}),e.jsx(B,{className:"font-mono text-xs py-2",children:e.jsx(Me,{text:S.runId,overlay:!0,children:S.runId})}),e.jsx(B,{className:"font-mono text-xs py-2",children:e.jsx(Me,{text:S.token,overlay:!0,children:e.jsx("span",{className:"text-muted-foreground",children:"••••••••••••"})})}),e.jsx(B,{className:"py-2 text-muted-foreground text-xs",children:S.createdAt?e.jsx(Ae,{date:S.createdAt}):"-"}),e.jsx(B,{className:"py-2",children:C(S)}),e.jsx(B,{className:"py-2",children:e.jsxs(Ut,{children:[e.jsx(Kt,{asChild:!0,children:e.jsx(se,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:k=>k.stopPropagation(),children:e.jsx(Gt,{className:"h-4 w-4"})})}),e.jsx(qt,{align:"end",children:e.jsx(Qo,{hook:S,stopPropagation:!0,onResolveClick:w.openResolveModal,DropdownMenuItem:Io})})]})})]},S.hookId))})]})})}),e.jsxs("div",{className:"flex items-center justify-between mt-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:h}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs(se,{variant:"outline",size:"sm",onClick:f,disabled:!m,children:[e.jsx(ts,{}),"Previous"]}),e.jsxs(se,{variant:"outline",size:"sm",onClick:d,disabled:!p,children:["Next",e.jsx(Zt,{})]})]})]})]})]})}function Rt(t,[s,o]){return Math.min(o,Math.max(s,t))}var Ye=0;function rs(){n.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??It()),document.body.insertAdjacentElement("beforeend",t[1]??It()),Ye++,()=>{Ye===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(s=>s.remove()),Ye--}},[])}function It(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Xe="focusScope.autoFocusOnMount",Je="focusScope.autoFocusOnUnmount",Et={bubbles:!1,cancelable:!0},cn="FocusScope",xt=n.forwardRef((t,s)=>{const{loop:o=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:l,...i}=t,[c,d]=n.useState(null),f=Qe(a),p=Qe(l),m=n.useRef(null),x=Z(s,u=>d(u)),h=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(r){let u=function(b){if(h.paused||!c)return;const C=b.target;c.contains(C)?m.current=C:me(m.current,{select:!0})},g=function(b){if(h.paused||!c)return;const C=b.relatedTarget;C!==null&&(c.contains(C)||me(m.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const S of b)S.removedNodes.length>0&&me(c)};document.addEventListener("focusin",u),document.addEventListener("focusout",g);const v=new MutationObserver(y);return c&&v.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",u),document.removeEventListener("focusout",g),v.disconnect()}}},[r,c,h.paused]),n.useEffect(()=>{if(c){Pt.add(h);const u=document.activeElement;if(!c.contains(u)){const y=new CustomEvent(Xe,Et);c.addEventListener(Xe,f),c.dispatchEvent(y),y.defaultPrevented||(dn(mn(as(c)),{select:!0}),document.activeElement===u&&me(c))}return()=>{c.removeEventListener(Xe,f),setTimeout(()=>{const y=new CustomEvent(Je,Et);c.addEventListener(Je,p),c.dispatchEvent(y),y.defaultPrevented||me(u??document.body,{select:!0}),c.removeEventListener(Je,p),Pt.remove(h)},0)}}},[c,f,p,h]);const w=n.useCallback(u=>{if(!o&&!r||h.paused)return;const g=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,y=document.activeElement;if(g&&y){const v=u.currentTarget,[b,C]=un(v);b&&C?!u.shiftKey&&y===C?(u.preventDefault(),o&&me(b,{select:!0})):u.shiftKey&&y===b&&(u.preventDefault(),o&&me(C,{select:!0})):y===v&&u.preventDefault()}},[o,r,h.paused]);return e.jsx($.div,{tabIndex:-1,...i,ref:x,onKeyDown:w})});xt.displayName=cn;function dn(t,{select:s=!1}={}){const o=document.activeElement;for(const r of t)if(me(r,{select:s}),document.activeElement!==o)return}function un(t){const s=as(t),o=Tt(s,t),r=Tt(s.reverse(),t);return[o,r]}function as(t){const s=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)s.push(o.currentNode);return s}function Tt(t,s){for(const o of t)if(!fn(o,{upTo:s}))return o}function fn(t,{upTo:s}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(s!==void 0&&t===s)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function hn(t){return t instanceof HTMLInputElement&&"select"in t}function me(t,{select:s=!1}={}){if(t&&t.focus){const o=document.activeElement;t.focus({preventScroll:!0}),t!==o&&hn(t)&&s&&t.select()}}var Pt=pn();function pn(){let t=[];return{add(s){const o=t[0];s!==o&&(o==null||o.pause()),t=_t(t,s),t.unshift(s)},remove(s){var o;t=_t(t,s),(o=t[0])==null||o.resume()}}}function _t(t,s){const o=[...t],r=o.indexOf(s);return r!==-1&&o.splice(r,1),o}function mn(t){return t.filter(s=>s.tagName!=="A")}function xn(t){const s=n.useRef({value:t,previous:t});return n.useMemo(()=>(s.current.value!==t&&(s.current.previous=s.current.value,s.current.value=t),s.current.previous),[t])}var gn=[" ","Enter","ArrowUp","ArrowDown"],vn=[" ","Enter"],we="Select",[Ve,We,wn]=To(we),[Pe]=Ft(we,[wn,Lt]),ze=Lt(),[bn,ge]=Pe(we),[jn,yn]=Pe(we),ls=t=>{const{__scopeSelect:s,children:o,open:r,defaultOpen:a,onOpenChange:l,value:i,defaultValue:c,onValueChange:d,dir:f,name:p,autoComplete:m,disabled:x,required:h,form:w}=t,u=ze(s),[g,y]=n.useState(null),[v,b]=n.useState(null),[C,S]=n.useState(!1),k=Po(f),[M,F]=et({prop:r,defaultProp:a??!1,onChange:l,caller:we}),[W,H]=et({prop:i,defaultProp:c,onChange:d,caller:we}),V=n.useRef(null),U=g?w||!!g.closest("form"):!0,[Y,oe]=n.useState(new Set),P=Array.from(Y).map(O=>O.props.value).join(";");return e.jsx(vo,{...u,children:e.jsxs(bn,{required:h,scope:s,trigger:g,onTriggerChange:y,valueNode:v,onValueNodeChange:b,valueNodeHasChildren:C,onValueNodeHasChildrenChange:S,contentId:Ie(),value:W,onValueChange:H,open:M,onOpenChange:F,dir:k,triggerPointerDownPosRef:V,disabled:x,children:[e.jsx(Ve.Provider,{scope:s,children:e.jsx(jn,{scope:t.__scopeSelect,onNativeOptionAdd:n.useCallback(O=>{oe(K=>new Set(K).add(O))},[]),onNativeOptionRemove:n.useCallback(O=>{oe(K=>{const J=new Set(K);return J.delete(O),J})},[]),children:o})}),U?e.jsxs(Ps,{"aria-hidden":!0,required:h,tabIndex:-1,name:p,autoComplete:m,value:W,onChange:O=>H(O.target.value),disabled:x,form:w,children:[W===void 0?e.jsx("option",{value:""}):null,Array.from(Y)]},P):null]})})};ls.displayName=we;var cs="SelectTrigger",is=n.forwardRef((t,s)=>{const{__scopeSelect:o,disabled:r=!1,...a}=t,l=ze(o),i=ge(cs,o),c=i.disabled||r,d=Z(s,i.onTriggerChange),f=We(o),p=n.useRef("touch"),[m,x,h]=Ds(u=>{const g=f().filter(b=>!b.disabled),y=g.find(b=>b.value===i.value),v=Ms(g,u,y);v!==void 0&&i.onValueChange(v.value)}),w=u=>{c||(i.onOpenChange(!0),h()),u&&(i.triggerPointerDownPosRef.current={x:Math.round(u.pageX),y:Math.round(u.pageY)})};return e.jsx(xo,{asChild:!0,...l,children:e.jsx($.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":_s(i.value)?"":void 0,...a,ref:d,onClick:L(a.onClick,u=>{u.currentTarget.focus(),p.current!=="mouse"&&w(u)}),onPointerDown:L(a.onPointerDown,u=>{p.current=u.pointerType;const g=u.target;g.hasPointerCapture(u.pointerId)&&g.releasePointerCapture(u.pointerId),u.button===0&&u.ctrlKey===!1&&u.pointerType==="mouse"&&(w(u),u.preventDefault())}),onKeyDown:L(a.onKeyDown,u=>{const g=m.current!=="";!(u.ctrlKey||u.altKey||u.metaKey)&&u.key.length===1&&x(u.key),!(g&&u.key===" ")&&gn.includes(u.key)&&(w(),u.preventDefault())})})})});is.displayName=cs;var ds="SelectValue",us=n.forwardRef((t,s)=>{const{__scopeSelect:o,className:r,style:a,children:l,placeholder:i="",...c}=t,d=ge(ds,o),{onValueNodeHasChildrenChange:f}=d,p=l!==void 0,m=Z(s,d.onValueNodeChange);return he(()=>{f(p)},[f,p]),e.jsx($.span,{...c,ref:m,style:{pointerEvents:"none"},children:_s(d.value)?e.jsx(e.Fragment,{children:i}):l})});us.displayName=ds;var Nn="SelectIcon",fs=n.forwardRef((t,s)=>{const{__scopeSelect:o,children:r,...a}=t;return e.jsx($.span,{"aria-hidden":!0,...a,ref:s,children:r||"▼"})});fs.displayName=Nn;var Sn="SelectPortal",hs=t=>e.jsx(mt,{asChild:!0,...t});hs.displayName=Sn;var be="SelectContent",ps=n.forwardRef((t,s)=>{const o=ge(be,t.__scopeSelect),[r,a]=n.useState();if(he(()=>{a(new DocumentFragment)},[]),!o.open){const l=r;return l?At.createPortal(e.jsx(ms,{scope:t.__scopeSelect,children:e.jsx(Ve.Slot,{scope:t.__scopeSelect,children:e.jsx("div",{children:t.children})})}),l):null}return e.jsx(xs,{...t,ref:s})});ps.displayName=be;var re=10,[ms,ve]=Pe(be),Cn="SelectContentImpl",kn=Ht("SelectContent.RemoveScroll"),xs=n.forwardRef((t,s)=>{const{__scopeSelect:o,position:r="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:l,onPointerDownOutside:i,side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:x,collisionPadding:h,sticky:w,hideWhenDetached:u,avoidCollisions:g,...y}=t,v=ge(be,o),[b,C]=n.useState(null),[S,k]=n.useState(null),M=Z(s,N=>C(N)),[F,W]=n.useState(null),[H,V]=n.useState(null),U=We(o),[Y,oe]=n.useState(!1),P=n.useRef(!1);n.useEffect(()=>{if(b)return Yt(b)},[b]),rs();const O=n.useCallback(N=>{const[D,...G]=U().map(E=>E.ref.current),[_]=G.slice(-1),T=document.activeElement;for(const E of N)if(E===T||(E==null||E.scrollIntoView({block:"nearest"}),E===D&&S&&(S.scrollTop=0),E===_&&S&&(S.scrollTop=S.scrollHeight),E==null||E.focus(),document.activeElement!==T))return},[U,S]),K=n.useCallback(()=>O([F,b]),[O,F,b]);n.useEffect(()=>{Y&&K()},[Y,K]);const{onOpenChange:J,triggerPointerDownPosRef:q}=v;n.useEffect(()=>{if(b){let N={x:0,y:0};const D=_=>{var T,E;N={x:Math.abs(Math.round(_.pageX)-(((T=q.current)==null?void 0:T.x)??0)),y:Math.abs(Math.round(_.pageY)-(((E=q.current)==null?void 0:E.y)??0))}},G=_=>{N.x<=10&&N.y<=10?_.preventDefault():b.contains(_.target)||J(!1),document.removeEventListener("pointermove",D),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",D),document.addEventListener("pointerup",G,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",D),document.removeEventListener("pointerup",G,{capture:!0})}}},[b,J,q]),n.useEffect(()=>{const N=()=>J(!1);return window.addEventListener("blur",N),window.addEventListener("resize",N),()=>{window.removeEventListener("blur",N),window.removeEventListener("resize",N)}},[J]);const[Ne,ue]=Ds(N=>{const D=U().filter(T=>!T.disabled),G=D.find(T=>T.ref.current===document.activeElement),_=Ms(D,N,G);_&&setTimeout(()=>_.ref.current.focus())}),pe=n.useCallback((N,D,G)=>{const _=!P.current&&!G;(v.value!==void 0&&v.value===D||_)&&(W(N),_&&(P.current=!0))},[v.value]),Q=n.useCallback(()=>b==null?void 0:b.focus(),[b]),fe=n.useCallback((N,D,G)=>{const _=!P.current&&!G;(v.value!==void 0&&v.value===D||_)&&V(N)},[v.value]),ne=r==="popper"?tt:gs,ee=ne===tt?{side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:x,collisionPadding:h,sticky:w,hideWhenDetached:u,avoidCollisions:g}:{};return e.jsx(ms,{scope:o,content:b,viewport:S,onViewportChange:k,itemRefCallback:pe,selectedItem:F,onItemLeave:Q,itemTextRefCallback:fe,focusSelectedItem:K,selectedItemText:H,position:r,isPositioned:Y,searchRef:Ne,children:e.jsx(Xt,{as:kn,allowPinchZoom:!0,children:e.jsx(xt,{asChild:!0,trapped:v.open,onMountAutoFocus:N=>{N.preventDefault()},onUnmountAutoFocus:L(a,N=>{var D;(D=v.trigger)==null||D.focus({preventScroll:!0}),N.preventDefault()}),children:e.jsx(Bt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:i,onFocusOutside:N=>N.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:e.jsx(ne,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:N=>N.preventDefault(),...y,...ee,onPlaced:()=>oe(!0),ref:M,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:L(y.onKeyDown,N=>{const D=N.ctrlKey||N.altKey||N.metaKey;if(N.key==="Tab"&&N.preventDefault(),!D&&N.key.length===1&&ue(N.key),["ArrowUp","ArrowDown","Home","End"].includes(N.key)){let _=U().filter(T=>!T.disabled).map(T=>T.ref.current);if(["ArrowUp","End"].includes(N.key)&&(_=_.slice().reverse()),["ArrowUp","ArrowDown"].includes(N.key)){const T=N.target,E=_.indexOf(T);_=_.slice(E+1)}setTimeout(()=>O(_)),N.preventDefault()}})})})})})})});xs.displayName=Cn;var Rn="SelectItemAlignedPosition",gs=n.forwardRef((t,s)=>{const{__scopeSelect:o,onPlaced:r,...a}=t,l=ge(be,o),i=ve(be,o),[c,d]=n.useState(null),[f,p]=n.useState(null),m=Z(s,M=>p(M)),x=We(o),h=n.useRef(!1),w=n.useRef(!0),{viewport:u,selectedItem:g,selectedItemText:y,focusSelectedItem:v}=i,b=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&f&&u&&g&&y){const M=l.trigger.getBoundingClientRect(),F=f.getBoundingClientRect(),W=l.valueNode.getBoundingClientRect(),H=y.getBoundingClientRect();if(l.dir!=="rtl"){const T=H.left-F.left,E=W.left-T,le=M.left-E,ce=M.width+le,Se=Math.max(ce,F.width),j=window.innerWidth-re,A=Rt(E,[re,Math.max(re,j-Se)]);c.style.minWidth=ce+"px",c.style.left=A+"px"}else{const T=F.right-H.right,E=window.innerWidth-W.right-T,le=window.innerWidth-M.right-E,ce=M.width+le,Se=Math.max(ce,F.width),j=window.innerWidth-re,A=Rt(E,[re,Math.max(re,j-Se)]);c.style.minWidth=ce+"px",c.style.right=A+"px"}const V=x(),U=window.innerHeight-re*2,Y=u.scrollHeight,oe=window.getComputedStyle(f),P=parseInt(oe.borderTopWidth,10),O=parseInt(oe.paddingTop,10),K=parseInt(oe.borderBottomWidth,10),J=parseInt(oe.paddingBottom,10),q=P+O+Y+J+K,Ne=Math.min(g.offsetHeight*5,q),ue=window.getComputedStyle(u),pe=parseInt(ue.paddingTop,10),Q=parseInt(ue.paddingBottom,10),fe=M.top+M.height/2-re,ne=U-fe,ee=g.offsetHeight/2,N=g.offsetTop+ee,D=P+O+N,G=q-D;if(D<=fe){const T=V.length>0&&g===V[V.length-1].ref.current;c.style.bottom="0px";const E=f.clientHeight-u.offsetTop-u.offsetHeight,le=Math.max(ne,ee+(T?Q:0)+E+K),ce=D+le;c.style.height=ce+"px"}else{const T=V.length>0&&g===V[0].ref.current;c.style.top="0px";const le=Math.max(fe,P+u.offsetTop+(T?pe:0)+ee)+G;c.style.height=le+"px",u.scrollTop=D-fe+u.offsetTop}c.style.margin=`${re}px 0`,c.style.minHeight=Ne+"px",c.style.maxHeight=U+"px",r==null||r(),requestAnimationFrame(()=>h.current=!0)}},[x,l.trigger,l.valueNode,c,f,u,g,y,l.dir,r]);he(()=>b(),[b]);const[C,S]=n.useState();he(()=>{f&&S(window.getComputedStyle(f).zIndex)},[f]);const k=n.useCallback(M=>{M&&w.current===!0&&(b(),v==null||v(),w.current=!1)},[b,v]);return e.jsx(En,{scope:o,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:k,children:e.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:e.jsx($.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});gs.displayName=Rn;var In="SelectPopperPosition",tt=n.forwardRef((t,s)=>{const{__scopeSelect:o,align:r="start",collisionPadding:a=re,...l}=t,i=ze(o);return e.jsx(go,{...i,...l,ref:s,align:r,collisionPadding:a,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});tt.displayName=In;var[En,gt]=Pe(be,{}),st="SelectViewport",vs=n.forwardRef((t,s)=>{const{__scopeSelect:o,nonce:r,...a}=t,l=ve(st,o),i=gt(st,o),c=Z(s,l.onViewportChange),d=n.useRef(0);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),e.jsx(Ve.Slot,{scope:o,children:e.jsx($.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:L(a.onScroll,f=>{const p=f.currentTarget,{contentWrapper:m,shouldExpandOnScrollRef:x}=i;if(x!=null&&x.current&&m){const h=Math.abs(d.current-p.scrollTop);if(h>0){const w=window.innerHeight-re*2,u=parseFloat(m.style.minHeight),g=parseFloat(m.style.height),y=Math.max(u,g);if(y<w){const v=y+h,b=Math.min(w,v),C=v-b;m.style.height=b+"px",m.style.bottom==="0px"&&(p.scrollTop=C>0?C:0,m.style.justifyContent="flex-end")}}}d.current=p.scrollTop})})})]})});vs.displayName=st;var ws="SelectGroup",[Tn,Pn]=Pe(ws),_n=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=Ie();return e.jsx(Tn,{scope:o,id:a,children:e.jsx($.div,{role:"group","aria-labelledby":a,...r,ref:s})})});_n.displayName=ws;var bs="SelectLabel",js=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=Pn(bs,o);return e.jsx($.div,{id:a.id,...r,ref:s})});js.displayName=bs;var Oe="SelectItem",[Dn,ys]=Pe(Oe),Ns=n.forwardRef((t,s)=>{const{__scopeSelect:o,value:r,disabled:a=!1,textValue:l,...i}=t,c=ge(Oe,o),d=ve(Oe,o),f=c.value===r,[p,m]=n.useState(l??""),[x,h]=n.useState(!1),w=Z(s,v=>{var b;return(b=d.itemRefCallback)==null?void 0:b.call(d,v,r,a)}),u=Ie(),g=n.useRef("touch"),y=()=>{a||(c.onValueChange(r),c.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return e.jsx(Dn,{scope:o,value:r,disabled:a,textId:u,isSelected:f,onItemTextChange:n.useCallback(v=>{m(b=>b||((v==null?void 0:v.textContent)??"").trim())},[]),children:e.jsx(Ve.ItemSlot,{scope:o,value:r,disabled:a,textValue:p,children:e.jsx($.div,{role:"option","aria-labelledby":u,"data-highlighted":x?"":void 0,"aria-selected":f&&x,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:w,onFocus:L(i.onFocus,()=>h(!0)),onBlur:L(i.onBlur,()=>h(!1)),onClick:L(i.onClick,()=>{g.current!=="mouse"&&y()}),onPointerUp:L(i.onPointerUp,()=>{g.current==="mouse"&&y()}),onPointerDown:L(i.onPointerDown,v=>{g.current=v.pointerType}),onPointerMove:L(i.onPointerMove,v=>{var b;g.current=v.pointerType,a?(b=d.onItemLeave)==null||b.call(d):g.current==="mouse"&&v.currentTarget.focus({preventScroll:!0})}),onPointerLeave:L(i.onPointerLeave,v=>{var b;v.currentTarget===document.activeElement&&((b=d.onItemLeave)==null||b.call(d))}),onKeyDown:L(i.onKeyDown,v=>{var C;((C=d.searchRef)==null?void 0:C.current)!==""&&v.key===" "||(vn.includes(v.key)&&y(),v.key===" "&&v.preventDefault())})})})})});Ns.displayName=Oe;var _e="SelectItemText",Ss=n.forwardRef((t,s)=>{const{__scopeSelect:o,className:r,style:a,...l}=t,i=ge(_e,o),c=ve(_e,o),d=ys(_e,o),f=yn(_e,o),[p,m]=n.useState(null),x=Z(s,y=>m(y),d.onItemTextChange,y=>{var v;return(v=c.itemTextRefCallback)==null?void 0:v.call(c,y,d.value,d.disabled)}),h=p==null?void 0:p.textContent,w=n.useMemo(()=>e.jsx("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:u,onNativeOptionRemove:g}=f;return he(()=>(u(w),()=>g(w)),[u,g,w]),e.jsxs(e.Fragment,{children:[e.jsx($.span,{id:d.textId,...l,ref:x}),d.isSelected&&i.valueNode&&!i.valueNodeHasChildren?At.createPortal(l.children,i.valueNode):null]})});Ss.displayName=_e;var Cs="SelectItemIndicator",ks=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t;return ys(Cs,o).isSelected?e.jsx($.span,{"aria-hidden":!0,...r,ref:s}):null});ks.displayName=Cs;var ot="SelectScrollUpButton",Rs=n.forwardRef((t,s)=>{const o=ve(ot,t.__scopeSelect),r=gt(ot,t.__scopeSelect),[a,l]=n.useState(!1),i=Z(s,r.onScrollButtonChange);return he(()=>{if(o.viewport&&o.isPositioned){let c=function(){const f=d.scrollTop>0;l(f)};const d=o.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[o.viewport,o.isPositioned]),a?e.jsx(Es,{...t,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=o;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});Rs.displayName=ot;var nt="SelectScrollDownButton",Is=n.forwardRef((t,s)=>{const o=ve(nt,t.__scopeSelect),r=gt(nt,t.__scopeSelect),[a,l]=n.useState(!1),i=Z(s,r.onScrollButtonChange);return he(()=>{if(o.viewport&&o.isPositioned){let c=function(){const f=d.scrollHeight-d.clientHeight,p=Math.ceil(d.scrollTop)<f;l(p)};const d=o.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[o.viewport,o.isPositioned]),a?e.jsx(Es,{...t,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=o;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});Is.displayName=nt;var Es=n.forwardRef((t,s)=>{const{__scopeSelect:o,onAutoScroll:r,...a}=t,l=ve("SelectScrollButton",o),i=n.useRef(null),c=We(o),d=n.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),he(()=>{var p;const f=c().find(m=>m.ref.current===document.activeElement);(p=f==null?void 0:f.ref.current)==null||p.scrollIntoView({block:"nearest"})},[c]),e.jsx($.div,{"aria-hidden":!0,...a,ref:s,style:{flexShrink:0,...a.style},onPointerDown:L(a.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:L(a.onPointerMove,()=>{var f;(f=l.onItemLeave)==null||f.call(l),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:L(a.onPointerLeave,()=>{d()})})}),Mn="SelectSeparator",Ts=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t;return e.jsx($.div,{"aria-hidden":!0,...r,ref:s})});Ts.displayName=Mn;var rt="SelectArrow",An=n.forwardRef((t,s)=>{const{__scopeSelect:o,...r}=t,a=ze(o),l=ge(rt,o),i=ve(rt,o);return l.open&&i.position==="popper"?e.jsx(bo,{...a,...r,ref:s}):null});An.displayName=rt;var On="SelectBubbleInput",Ps=n.forwardRef(({__scopeSelect:t,value:s,...o},r)=>{const a=n.useRef(null),l=Z(r,a),i=xn(s);return n.useEffect(()=>{const c=a.current;if(!c)return;const d=window.HTMLSelectElement.prototype,p=Object.getOwnPropertyDescriptor(d,"value").set;if(i!==s&&p){const m=new Event("change",{bubbles:!0});p.call(c,s),c.dispatchEvent(m)}},[i,s]),e.jsx($.select,{...o,style:{...wo,...o.style},ref:l,defaultValue:s})});Ps.displayName=On;function _s(t){return t===""||t===void 0}function Ds(t){const s=Qe(t),o=n.useRef(""),r=n.useRef(0),a=n.useCallback(i=>{const c=o.current+i;s(c),(function d(f){o.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[s]),l=n.useCallback(()=>{o.current="",window.clearTimeout(r.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(r.current),[]),[o,a,l]}function Ms(t,s,o){const a=s.length>1&&Array.from(s).every(f=>f===s[0])?s[0]:s,l=o?t.indexOf(o):-1;let i=Ln(t,Math.max(l,0));a.length===1&&(i=i.filter(f=>f!==o));const d=i.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return d!==o?d:void 0}function Ln(t,s){return t.map((o,r)=>t[(s+r)%t.length])}var Fn=ls,As=is,Hn=us,Bn=fs,$n=hs,Os=ps,Vn=vs,Ls=js,Fs=Ns,Wn=Ss,zn=ks,Hs=Rs,Bs=Is,$s=Ts;const Dt=Fn,Mt=Hn,at=n.forwardRef(({className:t,children:s,...o},r)=>e.jsxs(As,{ref:r,className:R("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...o,children:[s,e.jsx(Bn,{asChild:!0,children:e.jsx($t,{className:"h-4 w-4 opacity-50"})})]}));at.displayName=As.displayName;const Vs=n.forwardRef(({className:t,...s},o)=>e.jsx(Hs,{ref:o,className:R("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(Yo,{className:"h-4 w-4"})}));Vs.displayName=Hs.displayName;const Ws=n.forwardRef(({className:t,...s},o)=>e.jsx(Bs,{ref:o,className:R("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx($t,{className:"h-4 w-4"})}));Ws.displayName=Bs.displayName;const lt=n.forwardRef(({className:t,children:s,position:o="popper",...r},a)=>e.jsx($n,{children:e.jsxs(Os,{ref:a,className:R("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:o,...r,children:[e.jsx(Vs,{}),e.jsx(Vn,{className:R("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),e.jsx(Ws,{})]})}));lt.displayName=Os.displayName;const Un=n.forwardRef(({className:t,...s},o)=>e.jsx(Ls,{ref:o,className:R("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...s}));Un.displayName=Ls.displayName;const De=n.forwardRef(({className:t,children:s,...o},r)=>e.jsxs(Fs,{ref:r,className:R("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...o,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(zn,{children:e.jsx(Jt,{className:"h-4 w-4"})})}),e.jsx(Wn,{children:s})]}));De.displayName=Fs.displayName;const Kn=n.forwardRef(({className:t,...s},o)=>e.jsx($s,{ref:o,className:R("-mx-1 my-1 h-px bg-muted",t),...s}));Kn.displayName=$s.displayName;function Gn({getItemId:t}){const[s,o]=n.useState(new Set),r=n.useCallback(h=>s.has(t(h)),[s,t]),a=n.useCallback(h=>{const w=t(h);o(u=>{const g=new Set(u);return g.has(w)?g.delete(w):g.add(w),g})},[t]),l=n.useCallback(h=>{o(new Set(h.map(t)))},[t]),i=n.useCallback(()=>{o(new Set)},[]),c=n.useCallback(h=>h.length===0?!1:h.every(w=>s.has(t(w))),[s,t]),d=n.useCallback(h=>{if(h.length===0)return!1;const w=h.some(g=>s.has(t(g))),u=h.every(g=>s.has(t(g)));return w&&!u},[s,t]),f=n.useCallback(h=>{c(h)?i():l(h)},[c,i,l]),p=n.useCallback(h=>{o(w=>{const u=new Set(w);return u.add(h),u})},[]),m=n.useCallback(h=>{o(w=>{const u=new Set(w);return u.delete(h),u})},[]),x=s.size;return n.useMemo(()=>({selectedIds:s,isSelected:r,toggleSelection:a,selectAll:l,clearSelection:i,toggleSelectAll:f,selectionCount:x,isAllSelected:c,isSomeSelected:d,selectById:p,deselectById:m}),[s,r,a,l,i,f,x,c,d,p,m])}function qn({selectionCount:t,onClearSelection:s,actions:o,itemLabel:r="items",className:a}){if(t===0)return null;const l=t===1?r.replace(/s$/,""):r;return e.jsxs("div",{className:R("fixed bottom-6 left-1/2 -translate-x-1/2 z-50","flex items-center gap-3 px-4 py-2.5 rounded-lg","bg-primary text-primary-foreground shadow-lg","animate-in fade-in slide-in-from-bottom-4 duration-200",a),children:[e.jsxs("span",{className:"text-sm font-medium",children:[t," ",l," selected"]}),o&&e.jsx("div",{className:"flex items-center gap-2 border-l border-primary-foreground/20 pl-3",children:o}),e.jsxs(se,{variant:"ghost",size:"sm",className:"h-7 px-2 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:s,children:[e.jsx(Qt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Clear selection"})]})]})}function Zn(t){const s=n.useRef({value:t,previous:t});return n.useMemo(()=>(s.current.value!==t&&(s.current.previous=s.current.value,s.current.value=t),s.current.previous),[t])}var vt="Checkbox",[Yn]=Do(vt),[Xn,Jn]=Yn(vt),zs=n.forwardRef((t,s)=>{const{__scopeCheckbox:o,name:r,checked:a,defaultChecked:l,required:i,disabled:c,value:d="on",onCheckedChange:f,form:p,...m}=t,[x,h]=n.useState(null),w=jo(s,C=>h(C)),u=n.useRef(!1),g=x?p||!!x.closest("form"):!0,[y=!1,v]=_o({prop:a,defaultProp:l,onChange:f}),b=n.useRef(y);return n.useEffect(()=>{const C=x==null?void 0:x.form;if(C){const S=()=>v(b.current);return C.addEventListener("reset",S),()=>C.removeEventListener("reset",S)}},[x,v]),e.jsxs(Xn,{scope:o,state:y,disabled:c,children:[e.jsx(es.button,{type:"button",role:"checkbox","aria-checked":xe(y)?"mixed":y,"aria-required":i,"data-state":Gs(y),"data-disabled":c?"":void 0,disabled:c,value:d,...m,ref:w,onKeyDown:yt(t.onKeyDown,C=>{C.key==="Enter"&&C.preventDefault()}),onClick:yt(t.onClick,C=>{v(S=>xe(S)?!0:!S),g&&(u.current=C.isPropagationStopped(),u.current||C.stopPropagation())})}),g&&e.jsx(Qn,{control:x,bubbles:!u.current,name:r,value:d,checked:y,required:i,disabled:c,form:p,style:{transform:"translateX(-100%)"},defaultChecked:xe(l)?!1:l})]})});zs.displayName=vt;var Us="CheckboxIndicator",Ks=n.forwardRef((t,s)=>{const{__scopeCheckbox:o,forceMount:r,...a}=t,l=Jn(Us,o);return e.jsx(Mo,{present:r||xe(l.state)||l.state===!0,children:e.jsx(es.span,{"data-state":Gs(l.state),"data-disabled":l.disabled?"":void 0,...a,ref:s,style:{pointerEvents:"none",...t.style}})})});Ks.displayName=Us;var Qn=t=>{const{control:s,checked:o,bubbles:r=!0,defaultChecked:a,...l}=t,i=n.useRef(null),c=Zn(o),d=Ao(s);n.useEffect(()=>{const p=i.current,m=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(m,"checked").set;if(c!==o&&h){const w=new Event("click",{bubbles:r});p.indeterminate=xe(o),h.call(p,xe(o)?!1:o),p.dispatchEvent(w)}},[c,o,r]);const f=n.useRef(xe(o)?!1:o);return e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??f.current,...l,tabIndex:-1,ref:i,style:{...t.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function xe(t){return t==="indeterminate"}function Gs(t){return xe(t)?"indeterminate":t?"checked":"unchecked"}var er=zs,tr=Ks;const ct=n.forwardRef(({className:t,checked:s,indeterminate:o,onCheckedChange:r,...a},l)=>{const i=n.useId(),c=a.id??i,d=o?"indeterminate":s??!1;return e.jsx("label",{htmlFor:c,className:"p-2 -m-2 inline-flex items-center justify-center cursor-pointer",onClick:f=>f.stopPropagation(),onKeyDown:f=>f.stopPropagation(),children:e.jsx(er,{ref:l,id:c,checked:d,onCheckedChange:f=>{r==null||r(f===!0)},className:R("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground","data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",t),...a,children:e.jsx(tr,{className:"flex items-center justify-center text-current",children:o?e.jsx(Xo,{className:"h-3.5 w-3.5"}):e.jsx(Jt,{className:"h-3.5 w-3.5"})})})})});ct.displayName="Checkbox";function sr({env:t,runId:s,runStatus:o,onSuccess:r}){const[a,l]=n.useState(void 0),[i,c]=n.useState(!0),[d,f]=n.useState(void 0),p=(d==null?void 0:d.status)||o;return n.useEffect(()=>{c(!0),Promise.all([yo(t,s,"none"),No(t,s,{limit:1e3,sortOrder:"desc"})]).then(([m,x])=>{m.success&&f(m.data),x.success&&l(x.data.data)}).catch(m=>{console.error("Failed to fetch run or events:",m)}).finally(()=>{c(!1)})},[t,s]),e.jsx(Vo,{env:t,runId:s,runStatus:p,events:a,eventsLoading:i,stopPropagation:!0,callbacks:{onSuccess:r}})}function or({env:t,runId:s,runStatus:o,onSuccess:r}){const[a,l]=n.useState(!1);return e.jsxs(Ut,{open:a,onOpenChange:l,children:[e.jsx(Kt,{asChild:!0,children:e.jsx(se,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:i=>i.stopPropagation(),children:e.jsx(Gt,{className:"h-4 w-4"})})}),a&&e.jsx(qt,{align:"end",children:e.jsx(sr,{env:t,runId:s,runStatus:o,onSuccess:r})})]})}const qs={pending:{label:"Pending",color:"bg-neutral-600 dark:bg-neutral-400"},running:{label:"Running",color:"bg-blue-600 dark:bg-blue-400"},completed:{label:"Completed",color:"bg-green-600 dark:bg-green-400"},failed:{label:"Failed",color:"bg-red-600 dark:bg-red-400"},cancelled:{label:"Cancelled",color:"bg-gray-600 dark:bg-gray-400"}};function nr(){const t=it(),{pathname:s}=Ot(),[o]=Fe();return n.useCallback(r=>{const a=new URLSearchParams(o.toString());r==="all"?(a.delete("workflow"),a.delete("status")):a.set("workflow",r),t(`${s}?${a.toString()}`)},[t,s,o])}function rr(){const t=it(),{pathname:s}=Ot(),[o]=Fe();return n.useCallback(r=>{const a=new URLSearchParams(o.toString());r==="all"?a.delete("status"):a.set("status",r),t(`${s}?${a.toString()}`)},[t,s,o])}function ar({workflowNameFilter:t,status:s,seenWorkflowNames:o,sortOrder:r,loading:a,statusFilterRequiresWorkflowNameFilter:l,onWorkflowChange:i,onStatusChange:c,onSortToggle:d,onRefresh:f,lastRefreshTime:p}){return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Last refreshed"}),p&&e.jsx(Ae,{date:p,className:"text-sm text-muted-foreground",type:"distance"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(Dt,{value:t??"all",onValueChange:i,disabled:a,children:[e.jsx(at,{className:"w-[180px] h-9",children:e.jsx(Mt,{placeholder:"Filter by workflow"})}),e.jsxs(lt,{children:[e.jsx(De,{value:"all",children:"All Workflows"}),Array.from(o).sort().map(m=>{var x;return e.jsx(De,{value:m,children:((x=Wt(m))==null?void 0:x.shortName)||m},m)})]})]}),e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsx("div",{children:e.jsxs(Dt,{value:s||"all",onValueChange:c,disabled:a||l&&!t,children:[e.jsx(at,{className:"w-[140px] h-9",children:e.jsx(Mt,{placeholder:"Filter by status"})}),e.jsxs(lt,{children:[e.jsx(De,{value:"all",children:"Any status"}),Object.entries(qs).map(([m,{label:x,color:h}])=>e.jsx(De,{value:m,children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:`${h} size-1.5 rounded-full mr-2`}),x]})},m))]})]})})}),e.jsx(Re,{children:l&&t==="all"?"Select a workflow first to filter by status":"Filter runs by status"})]}),e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsxs(se,{variant:"outline",size:"sm",onClick:d,disabled:a,children:[r==="desc"?e.jsx(qo,{className:"h-4 w-4"}):e.jsx(Zo,{className:"h-4 w-4"}),r==="desc"?"Newest":"Oldest"]})}),e.jsx(Re,{children:r==="desc"?"Showing newest first":"Showing oldest first"})]}),e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsxs(se,{variant:"outline",size:"sm",onClick:f,disabled:a,children:[e.jsx(ss,{className:a?"animate-spin":""}),"Refresh"]})}),e.jsx(Re,{children:"Note that this resets pages"})]})]})]})}function lr({onRunClick:t}){var E,le,ce,Se;const[s]=Fe(),o=nr(),r=rr(),{serverConfig:a}=Vt(),l=s.get("status"),i=Object.keys(qs),c=l==="all"||l&&i.includes(l)?l:void 0,d=s.get("workflow"),[f,p]=n.useState("desc"),[m,x]=n.useState(()=>new Date),[h,w]=n.useState(!1),u=n.useMemo(()=>({}),[]),g=a.backendId==="local"||a.backendId==="@workflow/world-local",y=(E=a.displayInfo)==null?void 0:E["local.dataDirPath"],v=(le=a.displayInfo)==null?void 0:le["local.shortName"],b=((ce=a.backendId)==null?void 0:ce.includes("vercel"))||!1,[C,S]=n.useState(new Set),{data:k,error:M,nextPage:F,previousPage:W,hasNextPage:H,hasPreviousPage:V,reload:U,refresh:Y,pageInfo:oe}=Oo(u,{sortOrder:f,workflowName:d==="all"?void 0:d,status:c==="all"?void 0:c}),P=Gn({getItemId:j=>j.runId}),O=k.data??[],[K,J]=n.useState(!1),[q,Ne]=n.useState(!1),ue=g&&(!y||!((Se=k==null?void 0:k.data)!=null&&Se.length));n.useEffect(()=>{if(k.data&&k.data.length>0){const j=new Set(k.data.map(A=>A.workflowName));S(A=>{const te=new Set(A);for(const X of j)te.add(X);return te})}},[k.data]);const pe=k.isLoading;n.useEffect(()=>{!pe&&!h&&w(!0)},[pe,h]),n.useEffect(()=>{w(!1)},[d,c,f]);const Q=n.useCallback(()=>{x(()=>new Date),w(!1),U()},[U]),fe=n.useCallback(()=>{x(()=>new Date),Y()},[Y]),ne=n.useMemo(()=>O.filter(j=>P.selectedIds.has(j.runId)),[O,P.selectedIds]),ee=n.useMemo(()=>ne.filter(j=>j.status==="pending"||j.status==="running"),[ne]),N=ee.length>0,D=n.useCallback(async()=>{if(!(K||ee.length===0)){J(!0);try{const j=await Promise.allSettled(ee.map(X=>Lo(u,X.runId))),A=j.filter(X=>X.status==="fulfilled").length,te=j.filter(X=>X.status==="rejected").length;te===0?ie.success(`Cancelled ${A} run${A!==1?"s":""}`):A===0?ie.error(`Failed to cancel ${te} run${te!==1?"s":""}`):ie.warning(`Cancelled ${A} run${A!==1?"s":""}, ${te} failed`),P.clearSelection(),Q()}catch(j){ie.error("Failed to cancel runs",{description:j instanceof Error?j.message:"Unknown error"})}finally{J(!1)}}},[u,ee,K,P,Q]),G=n.useCallback(async()=>{if(!(q||ne.length===0)){Ne(!0);try{const j=await Promise.allSettled(ne.map(X=>Fo(u,X.runId))),A=j.filter(X=>X.status==="fulfilled").length,te=j.filter(X=>X.status==="rejected").length;te===0?ie.success(`Re-enqueued ${A} run${A!==1?"s":""}`):A===0?ie.error(`Failed to re-enqueue ${te} run${te!==1?"s":""}`):ie.warning(`Re-enqueued ${A} run${A!==1?"s":""}, ${te} failed`),P.clearSelection(),Q()}catch(j){ie.error("Failed to re-enqueue runs",{description:j instanceof Error?j.message:"Unknown error"})}finally{Ne(!1)}}},[u,ne,q,P,Q]),_=()=>{p(j=>j==="desc"?"asc":"desc")};n.useEffect(()=>{if(ue){const j=setInterval(()=>{fe()},5e3);return()=>clearInterval(j)}},[ue,fe]),n.useEffect(()=>{const j=()=>{document.visibilityState==="visible"&&m&&Date.now()-m.getTime()>=1e4&&Q()};return document.addEventListener("visibilitychange",j),()=>{document.removeEventListener("visibilitychange",j)}},[m,Q]);const T=e.jsx("code",{className:"font-mono",children:v||"current directory"});return e.jsxs("div",{children:[e.jsx(ar,{workflowNameFilter:d,status:c,seenWorkflowNames:C,sortOrder:f,loading:pe,statusFilterRequiresWorkflowNameFilter:b,onWorkflowChange:o,onStatusChange:r,onSortToggle:_,onRefresh:Q,lastRefreshTime:m}),e.jsx(Ee,{className:"overflow-hidden mt-4 bg-background",children:e.jsx(Te,{className:"p-0 max-h-[calc(100vh-280px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx(Be,{children:e.jsxs(de,{children:[e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10",children:e.jsx(ct,{checked:P.isAllSelected(O),indeterminate:P.isSomeSelected(O),onCheckedChange:()=>P.toggleSelectAll(O),"aria-label":"Select all runs",disabled:!O.length})}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Workflow"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Run ID"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Status"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Started"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Completed"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10 w-10"})]})}),e.jsx($e,{children:M?e.jsx(de,{children:e.jsx(B,{colSpan:7,className:"h-[400px]",children:e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsxs(ft,{variant:"destructive",className:"max-w-md",children:[e.jsx(dt,{className:"h-4 w-4"}),e.jsx(ht,{children:"Error loading runs"}),e.jsx(pt,{children:zt(M)})]})})})}):pe&&!h?e.jsx(de,{children:e.jsx(B,{colSpan:7,className:"h-[400px]",children:e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(Ke,{className:"h-8 w-8 animate-spin text-muted-foreground"})})})}):!k.data||k.data.length===0?e.jsx(de,{children:e.jsx(B,{colSpan:7,className:"h-[400px]",children:e.jsxs("div",{className:"text-sm text-center text-muted-foreground flex flex-col items-center justify-center gap-3 h-full",children:[e.jsxs("span",{className:"text-sm",children:["No workflow runs found",ue?e.jsxs(e.Fragment,{children:[" in ",T]}):"","."]}),ue&&e.jsx("span",{className:"text-sm flex items-center gap-2",children:"This view will update once you run a workflow."})]})})}):O.map(j=>{var A;return e.jsxs(de,{className:"cursor-pointer group relative",onClick:()=>t(j.runId),"data-selected":P.isSelected(j),children:[e.jsx(B,{className:"py-2",children:e.jsx(ct,{checked:P.isSelected(j),onCheckedChange:()=>P.toggleSelection(j),"aria-label":`Select run ${j.runId}`})}),e.jsx(B,{className:"py-2",children:e.jsx(Me,{text:j.workflowName,overlay:!0,children:((A=Wt(j.workflowName))==null?void 0:A.shortName)||"?"})}),e.jsx(B,{className:"font-mono text-xs py-2",children:e.jsx(Me,{text:j.runId,overlay:!0,children:j.runId})}),e.jsx(B,{className:"py-2",children:e.jsx(Ho,{status:j.status,context:j,durationMs:j.startedAt?(j.completedAt?new Date(j.completedAt).getTime():Date.now())-new Date(j.startedAt).getTime():void 0})}),e.jsx(B,{className:"py-2 text-muted-foreground text-xs",children:j.startedAt?e.jsx(Ae,{date:j.startedAt}):"-"}),e.jsx(B,{className:"py-2 text-muted-foreground text-xs",children:j.completedAt?e.jsx(Ae,{date:j.completedAt}):"-"}),e.jsx(B,{className:"py-2",children:e.jsx(or,{env:u,runId:j.runId,runStatus:j.status,onSuccess:Q})})]},j.runId)})})]})})}),e.jsxs("div",{className:"flex items-center justify-between mt-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:oe}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs(se,{variant:"outline",size:"sm",onClick:W,disabled:!V,children:[e.jsx(ts,{}),"Previous"]}),e.jsxs(se,{variant:"outline",size:"sm",onClick:F,disabled:!H,children:["Next",e.jsx(Zt,{})]})]})]}),e.jsx(qn,{selectionCount:P.selectionCount,onClearSelection:P.clearSelection,itemLabel:"runs",actions:e.jsxs(e.Fragment,{children:[e.jsxs(Ce,{children:[e.jsx(ke,{asChild:!0,children:e.jsxs(se,{variant:"ghost",size:"sm",className:"h-7 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:G,disabled:q||ne.length===0,children:[q?e.jsx(Ke,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx(Bo,{className:"h-4 w-4 mr-1"}),q?"Re-enqueuing...":"Re-enqueue"]})}),e.jsx(Re,{children:"Re-enqueue the workflow orchestration layer for selected runs. Useful if workflows appear stuck."})]}),N&&e.jsxs(se,{variant:"ghost",size:"sm",className:"h-7 text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",onClick:D,disabled:K,children:[K?e.jsx(Ke,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx($o,{className:"h-4 w-4 mr-1"}),"Cancel"," ",ee.length!==P.selectionCount?`${ee.length} `:"",K?"cancelling...":""]})]})})]})}var Ue="Dialog",[Zs]=Ft(Ue),[cr,ae]=Zs(Ue),Ys=t=>{const{__scopeDialog:s,children:o,open:r,defaultOpen:a,onOpenChange:l,modal:i=!0}=t,c=n.useRef(null),d=n.useRef(null),[f,p]=et({prop:r,defaultProp:a??!1,onChange:l,caller:Ue});return e.jsx(cr,{scope:s,triggerRef:c,contentRef:d,contentId:Ie(),titleId:Ie(),descriptionId:Ie(),open:f,onOpenChange:p,onOpenToggle:n.useCallback(()=>p(m=>!m),[p]),modal:i,children:o})};Ys.displayName=Ue;var Xs="DialogTrigger",ir=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(Xs,o),l=Z(s,a.triggerRef);return e.jsx($.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":jt(a.open),...r,ref:l,onClick:L(t.onClick,a.onOpenToggle)})});ir.displayName=Xs;var wt="DialogPortal",[dr,Js]=Zs(wt,{forceMount:void 0}),Qs=t=>{const{__scopeDialog:s,forceMount:o,children:r,container:a}=t,l=ae(wt,s);return e.jsx(dr,{scope:s,forceMount:o,children:n.Children.map(r,i=>e.jsx(ut,{present:o||l.open,children:e.jsx(mt,{asChild:!0,container:a,children:i})}))})};Qs.displayName=wt;var Le="DialogOverlay",eo=n.forwardRef((t,s)=>{const o=Js(Le,t.__scopeDialog),{forceMount:r=o.forceMount,...a}=t,l=ae(Le,t.__scopeDialog);return l.modal?e.jsx(ut,{present:r||l.open,children:e.jsx(fr,{...a,ref:s})}):null});eo.displayName=Le;var ur=Ht("DialogOverlay.RemoveScroll"),fr=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(Le,o);return e.jsx(Xt,{as:ur,allowPinchZoom:!0,shards:[a.contentRef],children:e.jsx($.div,{"data-state":jt(a.open),...r,ref:s,style:{pointerEvents:"auto",...r.style}})})}),je="DialogContent",to=n.forwardRef((t,s)=>{const o=Js(je,t.__scopeDialog),{forceMount:r=o.forceMount,...a}=t,l=ae(je,t.__scopeDialog);return e.jsx(ut,{present:r||l.open,children:l.modal?e.jsx(hr,{...a,ref:s}):e.jsx(pr,{...a,ref:s})})});to.displayName=je;var hr=n.forwardRef((t,s)=>{const o=ae(je,t.__scopeDialog),r=n.useRef(null),a=Z(s,o.contentRef,r);return n.useEffect(()=>{const l=r.current;if(l)return Yt(l)},[]),e.jsx(so,{...t,ref:a,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:L(t.onCloseAutoFocus,l=>{var i;l.preventDefault(),(i=o.triggerRef.current)==null||i.focus()}),onPointerDownOutside:L(t.onPointerDownOutside,l=>{const i=l.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&l.preventDefault()}),onFocusOutside:L(t.onFocusOutside,l=>l.preventDefault())})}),pr=n.forwardRef((t,s)=>{const o=ae(je,t.__scopeDialog),r=n.useRef(!1),a=n.useRef(!1);return e.jsx(so,{...t,ref:s,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var i,c;(i=t.onCloseAutoFocus)==null||i.call(t,l),l.defaultPrevented||(r.current||(c=o.triggerRef.current)==null||c.focus(),l.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:l=>{var d,f;(d=t.onInteractOutside)==null||d.call(t,l),l.defaultPrevented||(r.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const i=l.target;((f=o.triggerRef.current)==null?void 0:f.contains(i))&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),so=n.forwardRef((t,s)=>{const{__scopeDialog:o,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:l,...i}=t,c=ae(je,o),d=n.useRef(null),f=Z(s,d);return rs(),e.jsxs(e.Fragment,{children:[e.jsx(xt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:l,children:e.jsx(Bt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":jt(c.open),...i,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),e.jsxs(e.Fragment,{children:[e.jsx(mr,{titleId:c.titleId}),e.jsx(gr,{contentRef:d,descriptionId:c.descriptionId})]})]})}),bt="DialogTitle",oo=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(bt,o);return e.jsx($.h2,{id:a.titleId,...r,ref:s})});oo.displayName=bt;var no="DialogDescription",ro=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(no,o);return e.jsx($.p,{id:a.descriptionId,...r,ref:s})});ro.displayName=no;var ao="DialogClose",lo=n.forwardRef((t,s)=>{const{__scopeDialog:o,...r}=t,a=ae(ao,o);return e.jsx($.button,{type:"button",...r,ref:s,onClick:L(t.onClick,()=>a.onOpenChange(!1))})});lo.displayName=ao;function jt(t){return t?"open":"closed"}var co="DialogTitleWarning",[Fr,io]=So(co,{contentName:je,titleName:bt,docsSlug:"dialog"}),mr=({titleId:t})=>{const s=io(co),o=`\`${s.contentName}\` requires a \`${s.titleName}\` for the component to be accessible for screen reader users.
37
-
38
- If you want to hide the \`${s.titleName}\`, you can wrap it with our VisuallyHidden component.
39
-
40
- For more information, see https://radix-ui.com/primitives/docs/components/${s.docsSlug}`;return n.useEffect(()=>{t&&(document.getElementById(t)||console.error(o))},[o,t]),null},xr="DialogDescriptionWarning",gr=({contentRef:t,descriptionId:s})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${io(xr).contentName}}.`;return n.useEffect(()=>{var l;const a=(l=t.current)==null?void 0:l.getAttribute("aria-describedby");s&&a&&(document.getElementById(s)||console.warn(r))},[r,t,s]),null},vr=Ys,wr=Qs,br=eo,jr=to,yr=oo,Nr=ro,Sr=lo;function Cr({...t}){return e.jsx(vr,{"data-slot":"sheet",...t})}function kr({...t}){return e.jsx(wr,{"data-slot":"sheet-portal",...t})}function Rr({className:t,...s}){return e.jsx(br,{"data-slot":"sheet-overlay",className:R("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function Ir({className:t,children:s,side:o="right",...r}){return e.jsxs(kr,{children:[e.jsx(Rr,{}),e.jsxs(jr,{"data-slot":"sheet-content",onSubmit:a=>a.preventDefault(),className:R("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",o==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",o==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",o==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",o==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...r,children:[s,e.jsxs(Sr,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[e.jsx(Qt,{className:"size-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Er({className:t,...s}){return e.jsx("div",{"data-slot":"sheet-header",className:R("flex flex-col gap-1.5 p-4",t),...s})}function Tr({className:t,...s}){return e.jsx(yr,{"data-slot":"sheet-title",className:R("text-foreground font-semibold",t),...s})}function Pr({className:t,...s}){return e.jsx(Nr,{"data-slot":"sheet-description",className:R("text-muted-foreground text-sm",t),...s})}function _r({onWorkflowSelect:t}){const[s,o]=n.useState(!1),[r,a]=n.useState(null),{manifest:l,loading:i,error:c}=Wo(),d=l?Object.values(l.workflows):[],f=n.useMemo(()=>[...d].sort((x,h)=>x.workflowName.localeCompare(h.workflowName)),[d]),p=n.useMemo(()=>(r==null?void 0:r.nodes.filter(x=>x.data.nodeKind==="step").length)??0,[r]),m=x=>{a(x),o(!0),t==null||t(x.workflowName)};return i?e.jsx(ns,{variant:"workflows",rows:6}):c?e.jsxs(ft,{variant:"destructive",children:[e.jsx(dt,{className:"h-4 w-4"}),e.jsx(ht,{children:"Error Loading Workflows"}),e.jsx(pt,{children:c.message})]}):d.length===0?e.jsx(Ee,{children:e.jsxs(Te,{className:"p-12 text-center",children:[e.jsx(Ct,{className:"mx-auto h-12 w-12 text-muted-foreground mb-4"}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"No Workflows Found"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"No workflow definitions were found in the graph manifest."})]})}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"overflow-hidden bg-background",children:e.jsx(Te,{className:"p-0 max-h-[calc(100vh-200px)] overflow-auto",children:e.jsxs(He,{children:[e.jsx(Be,{children:e.jsxs(de,{children:[e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Workflow"}),e.jsx(z,{className:"sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"File"}),e.jsx(z,{className:"text-center sticky top-0 bg-background z-10 border-b shadow-sm h-10",children:"Steps"})]})}),e.jsx($e,{children:f.map(x=>{const h=x.nodes.filter(w=>w.data.nodeKind==="step").length;return e.jsxs(de,{className:"cursor-pointer",onClick:()=>m(x),children:[e.jsx(B,{className:"py-2",children:e.jsx("span",{className:"font-medium",children:x.workflowName})}),e.jsx(B,{className:"py-2",children:e.jsx("code",{className:"text-xs text-muted-foreground",children:x.filePath})}),e.jsx(B,{className:"text-center py-2",children:e.jsxs(Nt,{variant:"secondary",className:"gap-1",children:[e.jsx(St,{className:"h-3 w-3"}),h," ",kt("step","steps",h)]})})]},x.workflowId)})})]})})}),e.jsx(Cr,{open:s,onOpenChange:o,children:e.jsxs(Ir,{side:"right",className:"w-[75vw] max-w-[75vw] sm:max-w-[75vw]",children:[e.jsxs(Er,{children:[e.jsxs(Tr,{className:"flex items-center gap-2",children:[e.jsx(Ct,{className:"h-5 w-5"}),r==null?void 0:r.workflowName]}),r&&e.jsx(Pr,{asChild:!0,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("code",{className:"text-xs",children:r.filePath}),e.jsx("div",{children:e.jsxs(Nt,{variant:"outline",className:"gap-1",children:[e.jsx(St,{className:"h-3 w-3"}),p," ",kt("step","steps",p)]})})]})})]}),e.jsx("div",{className:"mt-6 h-[calc(100vh-180px)]",children:r&&e.jsx(zo,{workflow:r})})]})})]})}const Hr=ho(function(){const s=it(),{serverConfig:o}=Vt(),[r,a]=Fe(),l=r.get("sidebar"),i=r.get("hookId"),c=r.get("tab")||"runs",d=h=>{a(w=>(w.set("tab",h),w),{replace:!0})},f=l==="hook"&&i?i:void 0,p=o.backendId==="local"||o.backendId==="@workflow/world-local",m=(h,w)=>{s(w?`/run/${h}/streams/${w}`:`/run/${h}`)},x=(h,w)=>{s(h?`/run/${w}?sidebar=hook&hookId=${h}`:`/run/${w}`)};return e.jsx("div",{className:"max-w-7xl mx-auto px-4",children:e.jsxs(Uo,{value:c,onValueChange:d,className:"w-full",children:[e.jsxs(Ko,{className:"mb-4",children:[e.jsx(qe,{value:"runs",children:"Runs"}),e.jsx(qe,{value:"hooks",children:"Hooks"}),p&&e.jsx(qe,{value:"workflows",children:"Workflows"})]}),e.jsx(Ze,{value:"runs",children:e.jsx(Ge,{title:"Failed to load workflow runs",children:e.jsx(lr,{onRunClick:m})})}),e.jsx(Ze,{value:"hooks",children:e.jsx(Ge,{title:"Failed to load hooks",children:e.jsx(ln,{onHookClick:x,selectedHookId:f})})}),p&&e.jsx(Ze,{value:"workflows",children:e.jsx(Ge,{title:"Failed to load workflow graph data",children:e.jsx(_r,{})})})]})})});export{Hr as default};