@fudanda/admin-antd 0.0.0-stage → 2.20261024.1-beta.1

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 (482) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -3
  3. package/THIRD_PARTY_NOTICES.md +55 -0
  4. package/dist/assets/libarchive-DxGirPmi.wasm +0 -0
  5. package/dist/assets/pdfium-BJ2Yip8Q.wasm +0 -0
  6. package/dist/assets/ppt-font-cjk-DxgKpThH.otf +0 -0
  7. package/dist/assets/ppt-native-Cz5DBbag.wasm +0 -0
  8. package/dist/assets/pptx.worker-CtaL8LO_.js +30 -0
  9. package/dist/assets/worker-C5LZNsKY.mjs +1650 -0
  10. package/dist/assets/worker-CDeo9jS-.js +40 -0
  11. package/dist/assets/worker-bundle-Dx5mKZOL.js +6 -0
  12. package/dist/automation.d.ts +3 -0
  13. package/dist/automation.js +15 -0
  14. package/dist/chunks/App-DNjXLysb.js +79 -0
  15. package/dist/chunks/AppModal-DJzQA6FR.js +1 -0
  16. package/dist/chunks/ArcBaseAdmin-BZrHGq2f.js +1 -0
  17. package/dist/chunks/ConfigurableTable-DzmZDd8F.js +55 -0
  18. package/dist/chunks/DashboardPage-BohGodSl.js +22 -0
  19. package/dist/chunks/DataScopePanel-B2-x8Jcz.js +1 -0
  20. package/dist/chunks/DateTimeText-CIt0Qy45.js +1 -0
  21. package/dist/chunks/DepartmentsPage-DMWY__Y_.js +1 -0
  22. package/dist/chunks/DictTag-2-adKbYg.js +1 -0
  23. package/dist/chunks/DictsPage-DILDyHi-.js +15 -0
  24. package/dist/chunks/EditFormModal-DNHOZHxM.js +1 -0
  25. package/dist/chunks/EmptyIllustration-DUC3RZmF.js +1 -0
  26. package/dist/chunks/EntityContextRuntime-DMklAv-k.js +1 -0
  27. package/dist/chunks/EntityContextRuntime-sslBZqYD.js +1 -0
  28. package/dist/chunks/EntityRelationButton-DWn1rC2J.js +8 -0
  29. package/dist/chunks/ExportButton-AzH4D0oW.js +1 -0
  30. package/dist/chunks/FileNameCell-DPyi64Rv.js +1 -0
  31. package/dist/chunks/FileStorageConfigsPage-CzuOgeK0.js +15 -0
  32. package/dist/chunks/FileTypeIcon-DIih3XQG.js +1 -0
  33. package/dist/chunks/FileViewerPreviewPanel-CMqVtGCr.js +41 -0
  34. package/dist/chunks/FilesPage-BaEBCOCs.js +43 -0
  35. package/dist/chunks/IdentitySecurityPage-BO7nY8id.js +1 -0
  36. package/dist/chunks/JsonPreviewPanel-Dhbza-Uu.js +1 -0
  37. package/dist/chunks/LogStatsScaffold-CLycj3da.js +1 -0
  38. package/dist/chunks/LoginLogsPage-DTmHi8u0.js +1 -0
  39. package/dist/chunks/LoginLogsTable-DVmHnC6V.js +1 -0
  40. package/dist/chunks/MarkdownPreviewPanel-DoiaAeRv.js +51 -0
  41. package/dist/chunks/MasterDetailLayout-sjPWw8BI.js +8 -0
  42. package/dist/chunks/MemberAssignmentSheet-Czbt6_zv.js +1 -0
  43. package/dist/chunks/MenuCommandPalette-BCOzf-Kq.js +8 -0
  44. package/dist/chunks/MenusPage-DN8DTGB1.js +1 -0
  45. package/dist/chunks/ModalFooter-RMlvqrO9.js +1 -0
  46. package/dist/chunks/MonacoPreviewPanel-Dnz7xpWP.js +1 -0
  47. package/dist/chunks/NavListPanel-vjIOIqK0.js +1 -0
  48. package/dist/chunks/OnlineSessionsPage-FoHYZKlR.js +1 -0
  49. package/dist/chunks/OperationLogsPage-BeRnGcBJ.js +1 -0
  50. package/dist/chunks/OperationLogsTable-COI-Lp-y.js +1 -0
  51. package/dist/chunks/PDFPreviewPanel-BIQuBnZZ.js +37 -0
  52. package/dist/chunks/PasswordInput-DGEJO9yx.js +1 -0
  53. package/dist/chunks/PositionsPage-DohI0luX.js +1 -0
  54. package/dist/chunks/PreferencesSheetBody-B9niQABW.js +43 -0
  55. package/dist/chunks/ProfilePage-CVTRv7xb.js +15 -0
  56. package/dist/chunks/RelationPanel-B1X6AVaM.js +36 -0
  57. package/dist/chunks/ResponsiveTableActions-y54aSdhs.js +1 -0
  58. package/dist/chunks/RolesPage-CtUw93L8.js +1 -0
  59. package/dist/chunks/ScrollArea-DqjJmHDN.js +11 -0
  60. package/dist/chunks/SearchToolbar-CvgYKUjr.js +1 -0
  61. package/dist/chunks/SessionClientTag-DIwnYodW.js +22 -0
  62. package/dist/chunks/SessionConflictModal-BLNuDsN_.js +1 -0
  63. package/dist/chunks/SettingRow-DVNmTJWC.js +1 -0
  64. package/dist/chunks/SettingsPage-BRnCxYQm.js +26 -0
  65. package/dist/chunks/StatCard-Czjfs0fa.js +4 -0
  66. package/dist/chunks/UTIF-QUtClmQd.js +1 -0
  67. package/dist/chunks/UserAvatar-B8CFnTCn.js +1 -0
  68. package/dist/chunks/UserDisplay-J0Re8z-7.js +1 -0
  69. package/dist/chunks/UserGroupsPage-CNwbejx-.js +1 -0
  70. package/dist/chunks/UserLogsPanels-BHeSxWrk.js +36 -0
  71. package/dist/chunks/UserTransferSelect-CAeyxdor.js +22 -0
  72. package/dist/chunks/UsersPage-BXt9fOru.js +36 -0
  73. package/dist/chunks/abnfDiagram-VCTEODGH-Z6OhNjoW.js +1 -0
  74. package/dist/chunks/activity-DBu4axwF.js +8 -0
  75. package/dist/chunks/arc-B3K1fDeF.js +1 -0
  76. package/dist/chunks/architecture-7GRP2DOG-CMtoOwin.js +1 -0
  77. package/dist/chunks/architectureDiagram-5GKGNRK7-V5A7S5fY.js +36 -0
  78. package/dist/chunks/archive-B_IKvysI.js +72 -0
  79. package/dist/chunks/array-BrHhzP_A.js +1 -0
  80. package/dist/chunks/arrow-left-CsxBMzKY.js +8 -0
  81. package/dist/chunks/avsc-C0VoJRmm.js +160 -0
  82. package/dist/chunks/blockDiagram-I7D4REHJ-CFKGJkc_.js +129 -0
  83. package/dist/chunks/browser-BKLM0ThC-mnGPrtB_.js +1 -0
  84. package/dist/chunks/browser-index-JqxD-45S.js +1 -0
  85. package/dist/chunks/builtin_esm-external-require-react-BsBndGeN.js +1 -0
  86. package/dist/chunks/bundle-DbfUnEV1.js +29 -0
  87. package/dist/chunks/c4Diagram-7LVT6UL2-BqYYoXPe.js +38 -0
  88. package/dist/chunks/channel-C9Dr7Z-W.js +1 -0
  89. package/dist/chunks/chart-data-DImT_Mzn.js +5 -0
  90. package/dist/chunks/chart-renderer-k-Rd8vdL.js +7 -0
  91. package/dist/chunks/chevron-down-mn2tSKQd.js +8 -0
  92. package/dist/chunks/chevron-right-EBApfX6q.js +15 -0
  93. package/dist/chunks/chevrons-up-down-2M6hY6wt.js +15 -0
  94. package/dist/chunks/chunk-2E4U76K2-DNbbdpCx.js +1 -0
  95. package/dist/chunks/chunk-2Q5K7J3B-CmAE3Vs0.js +1 -0
  96. package/dist/chunks/chunk-2ZTRR5NV-BjsSRgBv.js +2 -0
  97. package/dist/chunks/chunk-3Z5EZCMW-uYiqz-6y.js +1 -0
  98. package/dist/chunks/chunk-4HAMMTFA-Aw59LwS3.js +62 -0
  99. package/dist/chunks/chunk-5V3GS4D5-B_CVcJic.js +1 -0
  100. package/dist/chunks/chunk-5VM5RSS4-DMlsEAcl.js +15 -0
  101. package/dist/chunks/chunk-6AZGARVD-CgAiC5mV.js +1 -0
  102. package/dist/chunks/chunk-6EIED4P4-CXz5D9B0.js +1 -0
  103. package/dist/chunks/chunk-6K3QC6MW-DtaQ52mY.js +1 -0
  104. package/dist/chunks/chunk-6TQVIW2G-D0YDxefI.js +1 -0
  105. package/dist/chunks/chunk-747NJXEK-DGoElbDa.js +2 -0
  106. package/dist/chunks/chunk-75Z2AOVW-IO9R6faP.js +2 -0
  107. package/dist/chunks/chunk-CLGD4ZFX-tRS89bnq.js +1 -0
  108. package/dist/chunks/chunk-DU6HZSFF-Bx48E1rg.js +125 -0
  109. package/dist/chunks/chunk-F27PBJKO-DtLva7y0.js +1 -0
  110. package/dist/chunks/chunk-FOHPRMQF-B8MMrnxV.js +255 -0
  111. package/dist/chunks/chunk-GMAD6QVW-D41KnniX.js +72 -0
  112. package/dist/chunks/chunk-GVQU2GXP-CVzgM_ui.js +1 -0
  113. package/dist/chunks/chunk-I5DQTOEV-CoecQT42.js +1 -0
  114. package/dist/chunks/chunk-ICYGCRZG-lH3opfCY.js +1 -0
  115. package/dist/chunks/chunk-IH6LHLGP-tD-j3Rsy.js +1 -0
  116. package/dist/chunks/chunk-IMKFNOWR-CL9pLQhV.js +231 -0
  117. package/dist/chunks/chunk-JWPE2WC7-Wk0BVLn5.js +1 -0
  118. package/dist/chunks/chunk-KI3K4JFJ-C-3Y_9er.js +1 -0
  119. package/dist/chunks/chunk-L3NEJ4N5-CmvrS7Dt.js +1 -0
  120. package/dist/chunks/chunk-LNGE3PJU-BP1fsJRz.js +34 -0
  121. package/dist/chunks/chunk-OSK3NFVY-C9uWOXTC.js +10 -0
  122. package/dist/chunks/chunk-OUJLGHUK-Cm55l9bx.js +2 -0
  123. package/dist/chunks/chunk-P2QGCYS3-C9bc1yiM.js +1 -0
  124. package/dist/chunks/chunk-POPQ4Y6H-P1s5xaxM.js +1 -0
  125. package/dist/chunks/chunk-PWAF6VOD-IORmPx9D.js +1 -0
  126. package/dist/chunks/chunk-SHT3W25Y-Bip4melZ.js +168 -0
  127. package/dist/chunks/chunk-SVP7TREG-BKCgUOuy.js +88 -0
  128. package/dist/chunks/chunk-TICWLB2K-12W2EmSx.js +206 -0
  129. package/dist/chunks/chunk-TLUHSLCS-DsqF476v.js +1 -0
  130. package/dist/chunks/chunk-UY3FDG6J-71d_M6t3.js +1 -0
  131. package/dist/chunks/chunk-XHIXRSVI-C2X1-xC6.js +1 -0
  132. package/dist/chunks/chunk-XXDRQBXY-Bl6AoSZF.js +1 -0
  133. package/dist/chunks/chunk-Y2CYZVJY-DjEHBC-3.js +1 -0
  134. package/dist/chunks/circle-check-RKAno__V.js +8 -0
  135. package/dist/chunks/circle-x-BB5x-D-8.js +8 -0
  136. package/dist/chunks/classDiagram-ZZMXUADV-CZrpYcfK.js +1 -0
  137. package/dist/chunks/classDiagram-v2-VYDZK3BY-CZrpYcfK.js +1 -0
  138. package/dist/chunks/clipboard-ERcMSMRH.js +1 -0
  139. package/dist/chunks/clock-CniP1gZS.js +8 -0
  140. package/dist/chunks/confirm-BtBBEqk8.js +1 -0
  141. package/dist/chunks/controls-C5dPckUT.js +1 -0
  142. package/dist/chunks/copy-ofLPH1I0.js +8 -0
  143. package/dist/chunks/cose-bilkent-JH36ORCC-D9OUqkk5.js +1 -0
  144. package/dist/chunks/createLucideIcon-BtwfYE6A.js +83 -0
  145. package/dist/chunks/cynefin-OW5HDTMX-B8_kUynj.js +1 -0
  146. package/dist/chunks/cynefinDiagram-5FMLGOSQ-DhQChnCg.js +62 -0
  147. package/dist/chunks/cytoscape.esm-wDUnleWx.js +339 -0
  148. package/dist/chunks/dagre-GXQ25YYZ-CfbwC_a5.js +4 -0
  149. package/dist/chunks/dagre-ZVAWSfFw.js +1 -0
  150. package/dist/chunks/data-B05HzECj.js +28 -0
  151. package/dist/chunks/date-picker-CPUxgHVv.js +1 -0
  152. package/dist/chunks/defaultLocale-BvxIcb9Y.js +1 -0
  153. package/dist/chunks/deleteAction-CCocr5uV.js +1 -0
  154. package/dist/chunks/diagram-D9cwc7QH.js +5 -0
  155. package/dist/chunks/diagram-S7CK7UJ4-DVPbdtMm.js +30 -0
  156. package/dist/chunks/diagram-UQ7AKVKN-D_ZBhGLL.js +41 -0
  157. package/dist/chunks/diagram-VSXAHHWV-Dqypp-OX.js +3 -0
  158. package/dist/chunks/diagram-VX7I27RA-CbWJVJ_L.js +24 -0
  159. package/dist/chunks/diagram-Z3DM3KII-CUyP4-RY.js +24 -0
  160. package/dist/chunks/direct-engine-thps0u7R.js +5 -0
  161. package/dist/chunks/dist-Bauqz5on.js +1 -0
  162. package/dist/chunks/dist-CWj_XYki.js +1 -0
  163. package/dist/chunks/dist-D_KGQS7-.js +11 -0
  164. package/dist/chunks/dist-DdW4yNBK.js +1 -0
  165. package/dist/chunks/docx-preview-CPN81HCr.js +11 -0
  166. package/dist/chunks/download--5IybXxz.js +8 -0
  167. package/dist/chunks/drawing-D2Qrun-P.js +48 -0
  168. package/dist/chunks/ebnfDiagram-PWID7BFC-C5NMigjm.js +1 -0
  169. package/dist/chunks/ellipsis-Dux1Nxa5.js +8 -0
  170. package/dist/chunks/email-ByshRsFv.js +61 -0
  171. package/dist/chunks/emailHtml-BAKcRhSm.js +1 -0
  172. package/dist/chunks/erDiagram-RLTQ6QDP-B5rUHJPJ.js +99 -0
  173. package/dist/chunks/eventmodeling-NTZA5JFV-C74no5BH.js +1 -0
  174. package/dist/chunks/export-BkwewH6Q.js +1 -0
  175. package/dist/chunks/export-DlTz5dc2.js +341 -0
  176. package/dist/chunks/eye-off-BtJoIT5n.js +8 -0
  177. package/dist/chunks/feedback-BnjMKZpz.js +1 -0
  178. package/dist/chunks/file-utils-DyvnVEoH.js +1 -0
  179. package/dist/chunks/fit-CsnhEncA.js +1 -0
  180. package/dist/chunks/flowDiagram-HODETNUW-BuMvaSeo.js +1 -0
  181. package/dist/chunks/form-CQutQFiD.js +1 -0
  182. package/dist/chunks/funnel-BwQjQI4Y.js +8 -0
  183. package/dist/chunks/ganttDiagram-EL5Y4UJY-DIAlbvVg.js +292 -0
  184. package/dist/chunks/geo-DR0fL7r2.js +38 -0
  185. package/dist/chunks/gitGraph-4MIJSDKK-Ce5mOfp1.js +1 -0
  186. package/dist/chunks/gitGraphDiagram-WWUBYQGX-DN3G9xiQ.js +106 -0
  187. package/dist/chunks/graphlib-CYBMTUbW.js +1 -0
  188. package/dist/chunks/icons-CbRx5Om7.js +1 -0
  189. package/dist/chunks/illustrations-DT1eq6jI.js +1 -0
  190. package/dist/chunks/image-ez9hvzKT.js +17 -0
  191. package/dist/chunks/index.es-OAWlVkoK.js +16 -0
  192. package/dist/chunks/info-A6RAGUB7-BP6lMBIR.js +1 -0
  193. package/dist/chunks/info-BQa8C31Y.js +8 -0
  194. package/dist/chunks/infoDiagram-27XIBGKW-BhQtr_Ti.js +2 -0
  195. package/dist/chunks/init-Ca_Ibf4y.js +1 -0
  196. package/dist/chunks/ishikawaDiagram-5VMMS53U-CLR6CAi4.js +70 -0
  197. package/dist/chunks/journeyDiagram-3NMN7TZE-_-Q7sjsP.js +139 -0
  198. package/dist/chunks/json-viewer-DHYRjY8I.js +1 -0
  199. package/dist/chunks/jszip.min-hNOoGCeG.js +14 -0
  200. package/dist/chunks/kanban-definition-UXKFOSKX-D97mHeUZ.js +89 -0
  201. package/dist/chunks/katex-D5qu7EYh.js +257 -0
  202. package/dist/chunks/layout-grid-Bp9bwiQZ.js +8 -0
  203. package/dist/chunks/lib-BlRm3nk1.js +15 -0
  204. package/dist/chunks/lib-C1nFUu19.js +4 -0
  205. package/dist/chunks/lib-CqYXBtHb.js +1 -0
  206. package/dist/chunks/libarchive-DRzzJvQl.js +7 -0
  207. package/dist/chunks/line-BV7qVRkM.js +1 -0
  208. package/dist/chunks/line-qVHaOdPp.js +1 -0
  209. package/dist/chunks/linear-DXABSWHW.js +1 -0
  210. package/dist/chunks/list-0CbyOlT9.js +1 -0
  211. package/dist/chunks/list-DCcWnjUg.js +8 -0
  212. package/dist/chunks/listTableProps-DDynsnLF.js +1 -0
  213. package/dist/chunks/log-in-OzbNes8i.js +8 -0
  214. package/dist/chunks/lucide-react-VfAPsQQ5.js +8 -0
  215. package/dist/chunks/maplibre-gl-Bxi83GUP.js +819 -0
  216. package/dist/chunks/maplibre-shared-Oo0L8Lll.js +6 -0
  217. package/dist/chunks/maximize-CnmQ11E7.js +8 -0
  218. package/dist/chunks/media-DoGe_p4O.js +1 -0
  219. package/dist/chunks/menu-mQgsexFx.js +15 -0
  220. package/dist/chunks/mermaid-parser.core-DvCAQkzY.js +3 -0
  221. package/dist/chunks/mermaid.core-CxOC6yPr.js +15 -0
  222. package/dist/chunks/messages-CFyOVxEM.js +1 -0
  223. package/dist/chunks/mindmap-definition-YA3MSWOX-A2UgnMwx.js +96 -0
  224. package/dist/chunks/minimize-Bpau_zCe.js +8 -0
  225. package/dist/chunks/msg-BzZbudMm.js +7 -0
  226. package/dist/chunks/ofd-C7DKqJ6Z.js +33 -0
  227. package/dist/chunks/ofd-DrJyXIpS.js +14 -0
  228. package/dist/chunks/openDocument-DGzqlyJg.js +12 -0
  229. package/dist/chunks/options-B65xkxOY.js +1 -0
  230. package/dist/chunks/ordinal-NuFkISw7.js +1 -0
  231. package/dist/chunks/packet-AYTQ26CC-DS6h3a5l.js +1 -0
  232. package/dist/chunks/panzoom.es-DnuzxUQi.js +1 -0
  233. package/dist/chunks/parse-6ZQGx714.js +1 -0
  234. package/dist/chunks/parser-DC3PvpL4.js +72 -0
  235. package/dist/chunks/path-VUNELGFR.js +1 -0
  236. package/dist/chunks/pegDiagram-XKGWAZYB-DxQqpKfh.js +1 -0
  237. package/dist/chunks/pie-WAS4IAKB-BsaegmNA.js +1 -0
  238. package/dist/chunks/pieDiagram-E7YTZNPT-BUsnkTkJ.js +39 -0
  239. package/dist/chunks/postal-mime-DMcA5b7k.js +28 -0
  240. package/dist/chunks/ppt-B0WY5Gks.js +30 -0
  241. package/dist/chunks/ppt-BIiNnCyj.js +1 -0
  242. package/dist/chunks/pptx-DX5KDFZ7.js +109 -0
  243. package/dist/chunks/preload-helper-C-73SErw.js +1 -0
  244. package/dist/chunks/print-mask-Dguzv0rv.js +17 -0
  245. package/dist/chunks/printLayout-oeudvFkr.js +34 -0
  246. package/dist/chunks/printMask-LefOTJqk.js +8 -0
  247. package/dist/chunks/psd-hjeNFQZ-.js +36 -0
  248. package/dist/chunks/purify.es-BsWMI_aG.js +5 -0
  249. package/dist/chunks/quadrantDiagram-AXDQQJYC-BmQNSzhY.js +7 -0
  250. package/dist/chunks/radar-RG4KPBEZ-BoHdw2h7.js +1 -0
  251. package/dist/chunks/railroad-74A4TZTK-BifJffb4.js +1 -0
  252. package/dist/chunks/railroad-abnf-HS5TGJTU-CMEPumRO.js +1 -0
  253. package/dist/chunks/railroad-ebnf-LZEXJU2U-B06BgAeN.js +1 -0
  254. package/dist/chunks/railroad-peg-WCYAUIDC-CMjriUEs.js +1 -0
  255. package/dist/chunks/railroadDiagram-O6MQD6OU-B2t5KY26.js +1 -0
  256. package/dist/chunks/react-runtime-x2lFbSKq.js +11 -0
  257. package/dist/chunks/refresh-cw-Dz8O9-Hp.js +8 -0
  258. package/dist/chunks/rendered-slot-YhfmcMJr.js +1 -0
  259. package/dist/chunks/requirementDiagram-BXWQKSXE-CBBfNOAp.js +84 -0
  260. package/dist/chunks/rolldown-runtime-BKuNeK48.js +1 -0
  261. package/dist/chunks/rotate-ccw-D2__Zisi.js +8 -0
  262. package/dist/chunks/rotate-cw-BSTVLlWY.js +8 -0
  263. package/dist/chunks/rough.esm-CVrpq1dW.js +1 -0
  264. package/dist/chunks/sankeyDiagram-P5KCCOFB-Cp8SrFyb.js +40 -0
  265. package/dist/chunks/save-w-NwiMMY.js +8 -0
  266. package/dist/chunks/search-DYZU68h1.js +8 -0
  267. package/dist/chunks/search-filters-CRIhZ0gL.js +1 -0
  268. package/dist/chunks/sequenceDiagram-WJ2MYXX4-PDtVfEoj.js +162 -0
  269. package/dist/chunks/shield-alert-De_Hx56I.js +8 -0
  270. package/dist/chunks/sizeCapture-INFHLROL-DA-kAaXB.js +1 -0
  271. package/dist/chunks/skeleton-CrjMjJNr.js +1 -0
  272. package/dist/chunks/spreadsheet-BzbBEhmY.js +1 -0
  273. package/dist/chunks/spreadsheet-LR3SOG-x.js +58 -0
  274. package/dist/chunks/sql-wasm-browser-CFddXd9f.js +2 -0
  275. package/dist/chunks/src-C1iDJpBK.js +1 -0
  276. package/dist/chunks/src-vLpLkuQx.js +1 -0
  277. package/dist/chunks/stateDiagram-D77RDMKH-C1Sx8KUD.js +1 -0
  278. package/dist/chunks/stateDiagram-v2-MP3YSRHH-7wYLSzBX.js +1 -0
  279. package/dist/chunks/swimlanes-42K2YHIH-BmybX9eL.js +1 -0
  280. package/dist/chunks/swimlanesDiagram-VR7AAH4N-DxhXklfm.js +8 -0
  281. package/dist/chunks/tabs-BobA_IcO.js +1 -0
  282. package/dist/chunks/theme-controller-D-ATwFal.js +1 -0
  283. package/dist/chunks/timeline-definition-24CTP7MA-QS9QNm2i.js +120 -0
  284. package/dist/chunks/tinycolor-CG1wnM-U.js +1 -0
  285. package/dist/chunks/togeojson.es-BE8iM7U6.js +1 -0
  286. package/dist/chunks/toolbar-controls-CThS0xuP.js +15 -0
  287. package/dist/chunks/trash-tHBT8Mpw.js +8 -0
  288. package/dist/chunks/treeView-Q6P3EWNA-CN0l7whJ.js +1 -0
  289. package/dist/chunks/treemap-WGGIJYW6-C4P1fQxS.js +1 -0
  290. package/dist/chunks/typography-DKK_iHcj.js +1 -0
  291. package/dist/chunks/ui-BFsHoY7a.js +1 -0
  292. package/dist/chunks/ui-utils-ClxYogUQ.js +1 -0
  293. package/dist/chunks/upload-M-n6woFv.js +8 -0
  294. package/dist/chunks/useCrudOperationColumn-D935tixd.js +1 -0
  295. package/dist/chunks/useListPage-CbcOQG4m.js +1 -0
  296. package/dist/chunks/useModalViewport-HF7te75S.js +1 -0
  297. package/dist/chunks/useRowSelection-4GOMFmjG.js +1 -0
  298. package/dist/chunks/useStatusToggle-B2qZaoc-.js +1 -0
  299. package/dist/chunks/user-round-kYfBkPNu.js +15 -0
  300. package/dist/chunks/users-BXZLb4TY.js +8 -0
  301. package/dist/chunks/vennDiagram-4TSXK5OY-CVd73ycc.js +34 -0
  302. package/dist/chunks/view-B8ZvC8z3.js +1 -0
  303. package/dist/chunks/viewer-Ct88ypIL.js +24 -0
  304. package/dist/chunks/wardley-WFR3VGLG-cG9pRFwD.js +1 -0
  305. package/dist/chunks/wardleyDiagram-VM6X3IG4-B42d0Gqz.js +78 -0
  306. package/dist/chunks/wordDoc-BZY3ZnxN.js +152 -0
  307. package/dist/chunks/wordDocx-Bt2mlB3C.js +77 -0
  308. package/dist/chunks/wordMl-Y_ghyTZ8.js +1 -0
  309. package/dist/chunks/worker-engine-B4e92GsN.js +17369 -0
  310. package/dist/chunks/x-Ak9hw1R9.js +8 -0
  311. package/dist/chunks/xmind-CF9YwkOD.js +58 -0
  312. package/dist/chunks/xychartDiagram-S5SC5T6Z-B_Owv9Ho.js +7 -0
  313. package/dist/file-viewer/flyfish-viewer-assets.json +46 -0
  314. package/dist/file-viewer/vendor/docx/docx.worker.js +5 -0
  315. package/dist/file-viewer/vendor/docx/jszip.min.js +13 -0
  316. package/dist/file-viewer/vendor/xlsx/sheet.worker.js +107 -0
  317. package/dist/file-viewer/wasm/data/sql-wasm.wasm +0 -0
  318. package/dist/index.d.ts +5 -0
  319. package/dist/index.js +1 -0
  320. package/dist/public/avatars/avatar-01.svg +1 -0
  321. package/dist/public/avatars/avatar-02.svg +1 -0
  322. package/dist/public/avatars/avatar-03.svg +1 -0
  323. package/dist/public/avatars/avatar-04.svg +1 -0
  324. package/dist/public/avatars/avatar-05.svg +1 -0
  325. package/dist/public/avatars/avatar-06.svg +1 -0
  326. package/dist/public/avatars/avatar-07.svg +1 -0
  327. package/dist/public/avatars/avatar-08.svg +1 -0
  328. package/dist/public/avatars/avatar-09.svg +1 -0
  329. package/dist/public/avatars/avatar-10.svg +1 -0
  330. package/dist/public/avatars/avatar-11.svg +1 -0
  331. package/dist/public/avatars/avatar-12.svg +1 -0
  332. package/dist/public/monaco/vs/abap-D-t0cyap.js +1 -0
  333. package/dist/public/monaco/vs/apex-CcIm7xu6.js +1 -0
  334. package/dist/public/monaco/vs/assets/css.worker-URu8fCFR.js +97 -0
  335. package/dist/public/monaco/vs/assets/editor.worker-lj3bdIIn.js +30 -0
  336. package/dist/public/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js +30 -0
  337. package/dist/public/monaco/vs/assets/html.worker-D1SL3iM8.js +474 -0
  338. package/dist/public/monaco/vs/assets/json.worker-CoJx_OPf.js +62 -0
  339. package/dist/public/monaco/vs/assets/ts.worker-BWKtMYOk.js +67722 -0
  340. package/dist/public/monaco/vs/azcli-BA0tQDCg.js +1 -0
  341. package/dist/public/monaco/vs/basic-languages/monaco.contribution.js +1 -0
  342. package/dist/public/monaco/vs/bat-C397hTD6.js +1 -0
  343. package/dist/public/monaco/vs/bicep-DF5aW17k.js +2 -0
  344. package/dist/public/monaco/vs/cameligo-plsz8qhj.js +1 -0
  345. package/dist/public/monaco/vs/clojure-Y2auQMzK.js +1 -0
  346. package/dist/public/monaco/vs/coffee-Bu45yuWE.js +1 -0
  347. package/dist/public/monaco/vs/cpp-CkKPQIni.js +1 -0
  348. package/dist/public/monaco/vs/csharp-CX28MZyh.js +1 -0
  349. package/dist/public/monaco/vs/csp-D8uWnyxW.js +1 -0
  350. package/dist/public/monaco/vs/css-CaeNmE3S.js +3 -0
  351. package/dist/public/monaco/vs/css.worker-CyhWkhHo.js +1 -0
  352. package/dist/public/monaco/vs/cssMode-CV6Ay48H.js +1 -0
  353. package/dist/public/monaco/vs/cypher-DVThT8BS.js +1 -0
  354. package/dist/public/monaco/vs/dart-CmGfCvrO.js +1 -0
  355. package/dist/public/monaco/vs/dockerfile-CZqqYdch.js +1 -0
  356. package/dist/public/monaco/vs/ecl-30fUercY.js +1 -0
  357. package/dist/public/monaco/vs/editor/editor.main.css +1 -0
  358. package/dist/public/monaco/vs/editor/editor.main.js +1 -0
  359. package/dist/public/monaco/vs/editor-KLE6jdfb.js +831 -0
  360. package/dist/public/monaco/vs/editor.js +1 -0
  361. package/dist/public/monaco/vs/editorWorkerHost-fVE1cjcC.js +35 -0
  362. package/dist/public/monaco/vs/elixir-xjPaIfzF.js +1 -0
  363. package/dist/public/monaco/vs/flow9-DqtmStfK.js +1 -0
  364. package/dist/public/monaco/vs/freemarker2-FWreY7v7.js +3 -0
  365. package/dist/public/monaco/vs/fsharp-BOMdg4U1.js +1 -0
  366. package/dist/public/monaco/vs/go-D_hbi-Jt.js +1 -0
  367. package/dist/public/monaco/vs/graphql-CKUU4kLG.js +1 -0
  368. package/dist/public/monaco/vs/handlebars-CZi4pHCH.js +1 -0
  369. package/dist/public/monaco/vs/hcl-DTaboeZW.js +1 -0
  370. package/dist/public/monaco/vs/html-j_7ZTNRU.js +1 -0
  371. package/dist/public/monaco/vs/html.worker-CA3iAimZ.js +1 -0
  372. package/dist/public/monaco/vs/htmlMode-27by_KM4.js +1 -0
  373. package/dist/public/monaco/vs/index-049xrXrp.js +1 -0
  374. package/dist/public/monaco/vs/index-CBVt3dzv.js +5 -0
  375. package/dist/public/monaco/vs/index.js +1 -0
  376. package/dist/public/monaco/vs/ini-CsNwO04R.js +1 -0
  377. package/dist/public/monaco/vs/initialize-DL0l1TGY.js +1 -0
  378. package/dist/public/monaco/vs/java-CI4ZMsH9.js +1 -0
  379. package/dist/public/monaco/vs/javascript-DTJl4Jn1.js +1 -0
  380. package/dist/public/monaco/vs/json.worker-BizpAl9O.js +1 -0
  381. package/dist/public/monaco/vs/jsonMode-DLUiMUrI.js +1 -0
  382. package/dist/public/monaco/vs/julia-BwzEvaQw.js +1 -0
  383. package/dist/public/monaco/vs/kotlin-IUYPiTV8.js +1 -0
  384. package/dist/public/monaco/vs/language/css/monaco.contribution.js +1 -0
  385. package/dist/public/monaco/vs/language/html/monaco.contribution.js +1 -0
  386. package/dist/public/monaco/vs/language/json/monaco.contribution.js +1 -0
  387. package/dist/public/monaco/vs/language/typescript/monaco.contribution.js +1 -0
  388. package/dist/public/monaco/vs/less-C0eDYdqa.js +2 -0
  389. package/dist/public/monaco/vs/lexon-iON-Kj97.js +1 -0
  390. package/dist/public/monaco/vs/liquid-CLJYelW6.js +1 -0
  391. package/dist/public/monaco/vs/loader.js +1368 -0
  392. package/dist/public/monaco/vs/lspLanguageFeatures-BIkJOWLw.js +2 -0
  393. package/dist/public/monaco/vs/lua-DtygF91M.js +1 -0
  394. package/dist/public/monaco/vs/m3-CsR4AuFi.js +1 -0
  395. package/dist/public/monaco/vs/main-BEx-Fmlo.js +15 -0
  396. package/dist/public/monaco/vs/main-DsK8pnKg.js +3 -0
  397. package/dist/public/monaco/vs/markdown-C_rD0bIw.js +1 -0
  398. package/dist/public/monaco/vs/mdx-CpzZIPHF.js +1 -0
  399. package/dist/public/monaco/vs/mips-CiYP61RB.js +1 -0
  400. package/dist/public/monaco/vs/monaco.contribution-9cKT3C7t.js +1 -0
  401. package/dist/public/monaco/vs/monaco.contribution-BE88ZNGY.js +1 -0
  402. package/dist/public/monaco/vs/monaco.contribution-BPhsneLd.js +1 -0
  403. package/dist/public/monaco/vs/monaco.contribution-BgRy6xDf.js +1 -0
  404. package/dist/public/monaco/vs/msdax-C38-sJlp.js +1 -0
  405. package/dist/public/monaco/vs/mysql-CdtbpvbG.js +1 -0
  406. package/dist/public/monaco/vs/nls/lang/cs.d.ts +1 -0
  407. package/dist/public/monaco/vs/nls/lang/cs.js +9 -0
  408. package/dist/public/monaco/vs/nls/lang/de.d.ts +1 -0
  409. package/dist/public/monaco/vs/nls/lang/de.js +9 -0
  410. package/dist/public/monaco/vs/nls/lang/es.d.ts +1 -0
  411. package/dist/public/monaco/vs/nls/lang/es.js +9 -0
  412. package/dist/public/monaco/vs/nls/lang/fr.d.ts +1 -0
  413. package/dist/public/monaco/vs/nls/lang/fr.js +9 -0
  414. package/dist/public/monaco/vs/nls/lang/it.d.ts +1 -0
  415. package/dist/public/monaco/vs/nls/lang/it.js +9 -0
  416. package/dist/public/monaco/vs/nls/lang/ja.d.ts +1 -0
  417. package/dist/public/monaco/vs/nls/lang/ja.js +9 -0
  418. package/dist/public/monaco/vs/nls/lang/ko.d.ts +1 -0
  419. package/dist/public/monaco/vs/nls/lang/ko.js +9 -0
  420. package/dist/public/monaco/vs/nls/lang/pl.d.ts +1 -0
  421. package/dist/public/monaco/vs/nls/lang/pl.js +9 -0
  422. package/dist/public/monaco/vs/nls/lang/pt-br.d.ts +1 -0
  423. package/dist/public/monaco/vs/nls/lang/pt-br.js +9 -0
  424. package/dist/public/monaco/vs/nls/lang/ru.d.ts +1 -0
  425. package/dist/public/monaco/vs/nls/lang/ru.js +9 -0
  426. package/dist/public/monaco/vs/nls/lang/tr.d.ts +1 -0
  427. package/dist/public/monaco/vs/nls/lang/tr.js +9 -0
  428. package/dist/public/monaco/vs/nls/lang/zh-cn.d.ts +1 -0
  429. package/dist/public/monaco/vs/nls/lang/zh-cn.js +9 -0
  430. package/dist/public/monaco/vs/nls/lang/zh-tw.d.ts +1 -0
  431. package/dist/public/monaco/vs/nls/lang/zh-tw.js +9 -0
  432. package/dist/public/monaco/vs/nls.messages-loader.js +1 -0
  433. package/dist/public/monaco/vs/objective-c-CntZFaHX.js +1 -0
  434. package/dist/public/monaco/vs/pascal-r6kuqfl_.js +1 -0
  435. package/dist/public/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
  436. package/dist/public/monaco/vs/perl-DABw_TcH.js +1 -0
  437. package/dist/public/monaco/vs/pgsql-me_jFXeX.js +1 -0
  438. package/dist/public/monaco/vs/php-D_kh-9LK.js +1 -0
  439. package/dist/public/monaco/vs/pla-VfZjczW0.js +1 -0
  440. package/dist/public/monaco/vs/postiats-BBSzz8Pk.js +1 -0
  441. package/dist/public/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
  442. package/dist/public/monaco/vs/powershell-B-7ap1zc.js +1 -0
  443. package/dist/public/monaco/vs/protobuf-BmtuEB1A.js +2 -0
  444. package/dist/public/monaco/vs/pug-BRpRNeEb.js +1 -0
  445. package/dist/public/monaco/vs/python-CqWUUgfu.js +1 -0
  446. package/dist/public/monaco/vs/qsharp-BzsFaUU9.js +1 -0
  447. package/dist/public/monaco/vs/r-f8dDdrp4.js +1 -0
  448. package/dist/public/monaco/vs/razor-hok5y9Km.js +1 -0
  449. package/dist/public/monaco/vs/redis-fvZQY4PI.js +1 -0
  450. package/dist/public/monaco/vs/redshift-45Et0LQi.js +1 -0
  451. package/dist/public/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
  452. package/dist/public/monaco/vs/ruby-CZO8zYTz.js +1 -0
  453. package/dist/public/monaco/vs/rust-Bfetafyc.js +1 -0
  454. package/dist/public/monaco/vs/sb-3GYllVck.js +1 -0
  455. package/dist/public/monaco/vs/scala-foMgrKo1.js +1 -0
  456. package/dist/public/monaco/vs/scheme-CHdMtr7p.js +1 -0
  457. package/dist/public/monaco/vs/scss-C1cmLt9V.js +3 -0
  458. package/dist/public/monaco/vs/shell-ClXCKCEW.js +1 -0
  459. package/dist/public/monaco/vs/solidity-MZ6ExpPy.js +1 -0
  460. package/dist/public/monaco/vs/sophia-DWkuSsPQ.js +1 -0
  461. package/dist/public/monaco/vs/sparql-AUGFYSyk.js +1 -0
  462. package/dist/public/monaco/vs/sql-32GpJSV2.js +1 -0
  463. package/dist/public/monaco/vs/st-CuDFIVZ_.js +1 -0
  464. package/dist/public/monaco/vs/swift-t-PfMj7W.js +1 -0
  465. package/dist/public/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
  466. package/dist/public/monaco/vs/tcl-D74tq1nH.js +1 -0
  467. package/dist/public/monaco/vs/toggleHighContrast-qGX7E9o7.js +61 -0
  468. package/dist/public/monaco/vs/ts.worker-2QLmBukE.js +1 -0
  469. package/dist/public/monaco/vs/tsMode-B0S_kp2q.js +11 -0
  470. package/dist/public/monaco/vs/twig-C6taOxMV.js +1 -0
  471. package/dist/public/monaco/vs/typescript-_2t_511t.js +1 -0
  472. package/dist/public/monaco/vs/typespec-8OfoLt6R.js +1 -0
  473. package/dist/public/monaco/vs/vb-Dyb2648j.js +1 -0
  474. package/dist/public/monaco/vs/wgsl-BhLXMOR0.js +298 -0
  475. package/dist/public/monaco/vs/workers-BBttULjf.js +1 -0
  476. package/dist/public/monaco/vs/xml-cZjNDqDT.js +1 -0
  477. package/dist/public/monaco/vs/yaml-A1fOIdH6.js +1 -0
  478. package/dist/src-LbWcrSWe.js +3 -0
  479. package/dist/styles.css +2 -0
  480. package/dist/styles.d.ts +1 -0
  481. package/dist/types.d.ts +1 -0
  482. package/package.json +113 -4
@@ -0,0 +1,40 @@
1
+ import { parseMsDoc } from './msdoc/parser.js';
2
+ import { renderMsDoc } from './render/html.js';
3
+ const workerScope = typeof self === 'undefined'
4
+ ? null
5
+ : self;
6
+ if (workerScope) {
7
+ workerScope.addEventListener('message', (event) => {
8
+ const message = event.data ?? {};
9
+ const id = typeof message.id === 'number' ? message.id : -1;
10
+ const type = message.type;
11
+ try {
12
+ let result;
13
+ if (type === 'parse') {
14
+ const buffer = message.buffer;
15
+ const options = message.options;
16
+ result = parseMsDoc(buffer, options ?? {});
17
+ }
18
+ else if (type === 'render') {
19
+ const parsed = message.parsed;
20
+ const options = message.options;
21
+ result = renderMsDoc(parsed, options ?? {});
22
+ }
23
+ else if (type === 'parseToHtml') {
24
+ const buffer = message.buffer;
25
+ const options = message.options;
26
+ const parseOptions = options?.parseOptions ?? {};
27
+ const renderOptions = options?.renderOptions ?? {};
28
+ result = renderMsDoc(parseMsDoc(buffer, parseOptions), renderOptions);
29
+ }
30
+ else {
31
+ throw new Error(`Unsupported worker request type: ${String(type)}`);
32
+ }
33
+ workerScope.postMessage({ id, ok: true, result });
34
+ }
35
+ catch (error) {
36
+ const errorMessage = error instanceof Error ? error.message : String(error);
37
+ workerScope.postMessage({ id, ok: false, error: errorMessage });
38
+ }
39
+ });
40
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const e=Symbol("Comlink.proxy"),r=Symbol("Comlink.endpoint"),t=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),a=e=>"object"==typeof e&&null!==e||"function"==typeof e,s=new Map([["proxy",{canHandle:r=>a(r)&&r[e],serialize(e){const{port1:r,port2:t}=new MessageChannel;return i(e,r),[t,[t]]},deserialize(e){return e.start(),f(e,[],r);var r}}],["throw",{canHandle:e=>a(e)&&o in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function i(r,t=globalThis,a=["*"]){t.addEventListener("message",(function s(l){if(!l||!l.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(a,l.origin))return void console.warn(`Invalid origin '${l.origin}' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},l.data),f=(l.data.argumentList||[]).map(w);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),r),n=h.reduce(((e,r)=>e[r]),r);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=w(l.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(r){return Object.assign(r,{[e]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:e,port2:t}=new MessageChannel;i(r,t),m=function(e,r){return p.set(e,r),e}(e,[e])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[o]:0}}Promise.resolve(m).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,a]=v(e);t.postMessage(Object.assign(Object.assign({},o),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),u(t),n in r&&"function"==typeof r[n]&&r[n]())})).catch((e=>{const[r,n]=v({value:new TypeError("Unserializable return value"),[o]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function c(e){return g(e,{type:"RELEASE"}).then((()=>{u(e)}))}const d=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(d.get(e)||0)-1;d.set(e,r),0===r&&c(e)}));function f(e,n=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(r,o){if(l(a),o===t)return()=>{!function(e){h&&h.unregister(e)}(s),c(e),a=!0};if("then"===o){if(0===n.length)return{then:()=>s};const r=g(e,{type:"GET",path:n.map((e=>e.toString()))}).then(w);return r.then.bind(r)}return f(e,[...n,o])},set(r,t,o){l(a);const[s,i]=v(o);return g(e,{type:"SET",path:[...n,t].map((e=>e.toString())),value:s},i).then(w)},apply(t,o,s){l(a);const i=n[n.length-1];if(i===r)return g(e,{type:"ENDPOINT"}).then(w);if("bind"===i)return f(e,n.slice(0,-1));const[u,c]=m(s);return g(e,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(w)},construct(r,t){l(a);const[o,s]=m(t);return g(e,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},s).then(w)}});return function(e,r){const t=(d.get(r)||0)+1;d.set(r,t),h&&h.register(e,r,e)}(s,e),s}function m(e){const r=e.map(v);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const p=new WeakMap;function v(e){for(const[r,t]of s)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},p.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return s.get(e.name).deserialize(e.value);case"RAW":return e.value}}function g(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const _={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class y{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:_[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),s=this._runCode.malloc(this._runCode.sizeOfSizeT()),i=this._runCode.startArchiveWrite(r,t,a,o,s,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(i,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.finishArchiveWrite(i,s);if(u<0)throw new Error(this._runCode.getError(i));return this._wasmModule.HEAPU8.slice(a,a+u)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}var b,k=(b=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,s,i=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");f=d?v.dirname(f)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),s=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),b&&(f=b),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(s=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,i),i=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,k,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],z=0,U=null;function L(e){z++,n.monitorRunDependencies?.(z)}function x(e){if(z--,n.monitorRunDependencies?.(z),0==z&&U){var r=U;U=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function q(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,f):f+B):N=new URL("libarchive.wasm",import.meta.url).href;var $=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i<a;i++)if(n[i]!==o[i]){s=i;break}var u=[];for(i=s;i<n.length;i++)u.push("..");return(u=u.concat(o.slice(s))).join("/")}},J="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Q=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r<o;){var s=e[r++];if(128&s){var i=63&e[r++];if(192!=(224&s)){var u=63&e[r++];if((s=224==(240&s)?(15&s)<<12|i<<6|u:(7&s)<<18|i<<12|u<<6|63&e[r++])<65536)a+=String.fromCharCode(s);else{var l=s-65536;a+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},ee=[],re=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s<e.length;++s){var i=e.charCodeAt(s);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,s=0;s<n;s++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new le.ErrnoError(29)}if(void 0===i&&0===a)throw new le.ErrnoError(6);if(null==i)break;a++,r[t+s]=i}return a&&(e.node.timestamp=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new le.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new le.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!ee.length){var e=null;if(h){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);se.ops_table||={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&se.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>se.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=se.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i<s;i++)r[t+i]=a[o+i];return s},write(e,r,t,n,o,a){if(r.buffer===E.buffer&&(a=!1),!n)return 0;var s=e.node;if(s.timestamp=Date.now(),r.subarray&&(!s.contents||s.contents.subarray)){if(a)return s.contents=r.subarray(t,t+n),s.usedBytes=n,n;if(0===s.usedBytes&&0===o)return s.contents=r.slice(t,t+n),s.usedBytes=n,n;if(o+n<=s.usedBytes)return s.contents.set(r.subarray(t,t+n),o),n}if(se.expandFileStorage(s,o+n),s.contents.subarray&&r.subarray)s.contents.set(r.subarray(t,t+n),o);else for(var i=0;i<n;i++)s.contents[o+i]=r[t+i];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&le.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new le.ErrnoError(28);return n},allocate(e,r,t){se.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!le.isFile(e.node.mode))throw new le.ErrnoError(43);var a,s,i=e.node.contents;if(2&o||i.buffer!==E.buffer){if((t>0||t+r<i.length)&&(i=i.subarray?i.subarray(t,t+r):Array.prototype.slice.call(i,t,t+r)),s=!0,!(a=ae()))throw new le.ErrnoError(48);E.set(i,a)}else s=!1,a=i.byteOffset;return{ptr:a,allocated:s}},msync:(e,r,t,n,o)=>(se.stream_ops.write(e,r,0,n,t,!1),0)}},ie=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a<t.length;a++){var s=a===t.length-1;if(s&&r.parent)break;if(n=le.lookupNode(n,t[a]),o=Z.join2(o,t[a]),le.isMountpoint(n)&&(!s||s&&r.follow_mount)&&(n=n.mounted.root),!s||r.follow)for(var i=0;le.isLink(n.mode);){var u=le.readlink(o);if(o=V.resolve(Z.dirname(o),u),n=le.lookupPath(o,{recurse_count:r.recurse_count+1}).node,i++>40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var s=le.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?le.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{le.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),s=Z.basename(e),i=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,s),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,i)}catch(e){}if(l!==u){var d=le.isDir(l.mode),h=le.mayDelete(t,s,d);if(h)throw new le.ErrnoError(h);if(h=u?le.mayDelete(n,i,d):le.mayCreate(n,i))throw new le.ErrnoError(h);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(h=le.nodePermissions(t,"w")))throw new le.ErrnoError(h);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,i)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var s=le.mayOpen(o,r);if(s)throw new le.ErrnoError(s)}512&r&&!a&&le.truncate(o,0),r&=-131713;var i=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),i},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack="<generic error, no stack>"})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;e<le.streams.length;e++){var r=le.streams[e];r&&le.close(r)}},findObject(e,r){var t=le.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=le.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=le.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Z.basename(e),n=le.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:le.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var s=Z.join2(e,a);try{le.mkdir(s)}catch(e){}e=s}}return s},createFile(e,r,t,n,o){var a=Z.join2("string"==typeof e?e:le.getPath(e),r),s=ue(n,o);return le.create(a,s)},createDataFile(e,r,t,n,o,a){var s=r;e&&(e="string"==typeof e?e:le.getPath(e),s=r?Z.join2(e,r):e);var i=ue(n,o),u=le.create(s,i);if(t){if("string"==typeof t){for(var l=new Array(t.length),c=0,d=t.length;c<d;++c)l[c]=t.charCodeAt(c);t=l}le.chmod(u,146|i);var h=le.open(u,577);le.write(h,t,0,t.length,0,a),le.close(h),le.chmod(u,i)}},createDevice(e,r,t,n){var o=Z.join2("string"==typeof e?e:le.getPath(e),r),a=ue(!!t,!!n);le.createDevice.major||(le.createDevice.major=64);var s=le.makedev(le.createDevice.major++,0);return le.registerDevice(s,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var s=0,i=0;i<o;i++){var u;try{u=t()}catch(e){throw new le.ErrnoError(29)}if(void 0===u&&0===s)throw new le.ErrnoError(6);if(null==u)break;s++,r[n+i]=u}return s&&(e.node.timestamp=Date.now()),s},write(e,r,t,o,a){for(var s=0;s<o;s++)try{n(r[t+s])}catch(e){throw new le.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}}),le.mkdev(o,a,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ne(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new le.ErrnoError(29)}},createLazyFile(e,r,t,n,o){function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=le.createFile(e,r,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i<s;i++)r[t+i]=a[o+i];else for(i=0;i<s;i++)r[t+i]=a.get(o+i);return s}return Object.keys(u.stream_ops).forEach((e=>{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(k,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(s/1e3)>>>0,(j=Math.floor(s/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=s%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=k.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},he=e=>(F[Oe()>>2]=e,e),fe={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=fe.nextname(),t=fe.nextname(),n=le.createNode(fe.root,r,4096,0),o=le.createNode(fe.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:fe.stream_ops});n.stream=a;var s=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:fe.stream_ops});return o.stream=s,{readable_fd:a.fd,writable_fd:s.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t<r.buckets.length;t++){var n=r.buckets[t];if(n.offset-n.roffset>0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,s=0,i=0;i<a.buckets.length;i++){var u=a.buckets[i];s+=u.offset-u.roffset}var l=r.subarray(t,t+n);if(n<=0)return 0;if(0==s)throw new le.ErrnoError(6);var c=Math.min(s,n),d=c,h=0;for(i=0;i<a.buckets.length;i++){var f=a.buckets[i],m=f.offset-f.roffset;if(c<=m){var p=f.buffer.subarray(f.roffset,f.offset);c<m?(p=p.subarray(0,c),f.roffset+=c):h++,l.set(p);break}p=f.buffer.subarray(f.roffset,f.offset),l.set(p),l=l.subarray(p.byteLength),c-=p.byteLength,h++}return h&&h==a.buckets.length&&(h--,a.buckets[h].offset=0,a.buckets[h].roffset=0),a.buckets.splice(0,h),d},write(e,r,t,n,o){var a=e.node.pipe,s=r.subarray(t,t+n),i=s.byteLength;if(i<=0)return 0;var u=null;0==a.buckets.length?(u={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0},a.buckets.push(u)):u=a.buckets[a.buckets.length-1],A(u.offset<=fe.BUCKET_BUFFER_SIZE);var l=fe.BUCKET_BUFFER_SIZE-u.offset;if(l>=i)return u.buffer.set(s,u.offset),u.offset+=i,i;l>0&&(u.buffer.set(s.subarray(0,l),u.offset),u.offset+=l,s=s.subarray(l,s.byteLength));for(var c=s.byteLength/fe.BUCKET_BUFFER_SIZE|0,d=s.byteLength%fe.BUCKET_BUFFER_SIZE,h=0;h<c;h++){var f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:fe.BUCKET_BUFFER_SIZE,roffset:0};a.buckets.push(f),f.buffer.set(s.subarray(0,fe.BUCKET_BUFFER_SIZE)),s=s.subarray(fe.BUCKET_BUFFER_SIZE,s.byteLength)}return d>0&&(f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:s.byteLength,roffset:0},a.buckets.push(f),f.buffer.set(s)),i},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(fe.nextname.current||(fe.nextname.current=0),"pipe["+fe.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,k,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new q(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},s=Ce(e),i=[],u=0;if(n)for(var l=0;l<n.length;l++){var c=a[t[l]];c?(0===u&&(u=je()),i[l]=c(n[l])):i[l]=n[l]}var d=s.apply(null,i);return d=function(e){return 0!==u&&Ie(u),function(e){return"string"===r?ce(e):"boolean"===r?Boolean(e):e}(e)}(d)},Te=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=le.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Re=365,ze=146;Object.defineProperties(Te.prototype,{read:{get:function(){return(this.mode&Re)===Re},set:function(e){e?this.mode|=Re:this.mode&=-366}},write:{get:function(){return(this.mode&ze)===ze},set:function(e){e?this.mode|=ze:this.mode&=-147}},isFolder:{get:function(){return le.isDir(this.mode)}},isDevice:{get:function(){return le.isChrdev(this.mode)}}}),le.FSNode=Te,le.createPreloadedFile=(e,r,t,n,o,s,i,u,l,c)=>{var d=r?V.resolve(Z.join2(e,r)):e;function h(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),s?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{i?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>h(e)),i):h(t)},le.staticInit();var Ue={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return he(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=fe.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o<r;o++){var a=e+8*o,s=F[a>>2],i=S[a+4>>1],u=32,l=le.getStream(s);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|i)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;F[t+28>>2]=s},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=s.getTimezoneOffset(),l=0|(i!=u&&o.getTimezoneOffset()==Math.min(u,i));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(t<0)F[e+32>>2]=Number(a!=s&&i==n);else if(t>0!=(i==n)){var u=Math.max(s,a),l=t>0?i:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(he(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),u=Math.max(s,i);function l(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(s!=i);var c=l(o),d=l(a),h=ye(c),f=ye(d);i<s?(D[t>>2]=h,D[t+4>>2]=f):(D[t>>2]=f,D[t+4>>2]=h)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>k.copyWithin(e,r,r+t),p:e=>{var r=k.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var s=r*(1+.2/a);s=Math.min(s,e+100663296);var i=Math.min(t,(n=Math.max(e,s))+((o=65536)-n%o)%o);if(Ee(i))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t<e.length;++t)E[r++>>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=D[r>>2],i=D[r+4>>2];r+=8;var u=le.read(e,E,s,i,n);if(u<0)return-1;if(o+=u,u<i)break;void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var s=de.getStreamFromFD(e);return le.llseek(s,a,n),I=[s.position>>>0,(j=s.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=D[r>>2],i=D[r+4>>2];r+=8;var u=le.write(e,E,s,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},s=ce(t),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)s=s.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function h(e,r){return d(e,r,"0")}function f(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return f(o,r)<=0?f(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),h(r,2)},"%j":e=>h(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return h(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return h(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in s=s.replace(/%%/g,"\0\0"),v)s.includes(u)&&(s=s.replace(new RegExp(u,"g"),v[u](a)));var w=ne(s=s.replace(/\0\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,s={a:Ue};function i(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(s,i)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=s,a=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||h||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,s)=>(n._start_archive_write=Le.M)(e,r,t,o,a,s),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._finish_archive_write=(e,r)=>(n._finish_archive_write=Le.P)(e,r),n._free=e=>(n._free=Le.Q)(e);var Oe=()=>(Oe=Le.R)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.S)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.T)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.U)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.V)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.W)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.X)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.Y)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Z)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le._)(e);var Ne,Be=e=>(Be=Le.aa)(e),je=()=>(je=Le.ba)(),Ie=e=>(Ie=Le.ca)(e),He=e=>(He=Le.da)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,fe.root=le.mount(fe,{},null),$(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;$(R)}()))}z>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;$(P)}(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),k.set(e,t),t},U=function e(){Ne||Ye(),Ne||(U=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class S{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),finishArchiveWrite:this.cwrap("finish_archive_write","number",["number","number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let F=null,D=null,M=!1;class A{constructor(e){A.readyCallback=e,M&&setTimeout((()=>e()),0)}open(e,r){F.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of F.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of F.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of F.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return F.hasEncryptedData()}usePassword(e){F.setPassphrase(e)}setLocale(e){F.setLocale(e)}writeArchive(e,r,t,n){return D.write(e,r,t,n)}close(){F.close()}}var C;C=e=>{F=new y(e),D=new E(e),A?.readyCallback?.(),M=!0},k(new S).then((e=>{e.initFunctions(),C(e)})),i(A);
@@ -0,0 +1,3 @@
1
+ import type { ArcBaseAdminModule } from "@fudanda/react-core/admin/types";
2
+ export declare function createAutomationAdminModule(): ArcBaseAdminModule;
3
+ export { automationOperations } from "@fudanda/shared/automation";
@@ -0,0 +1,15 @@
1
+ import{n as e}from"./chunks/rolldown-runtime-BKuNeK48.js";import{n as t,t as n}from"./chunks/preload-helper-C-73SErw.js";import{c as r,n as i,o as a,r as o,s}from"./chunks/controls-C5dPckUT.js";import{t as c}from"./chunks/typography-DKK_iHcj.js";import{i as l,r as u}from"./chunks/feedback-BnjMKZpz.js";import{_ as d,a as f,c as p,g as m,n as h,o as g,r as _,t as v,u as y}from"./chunks/ConfigurableTable-DzmZDd8F.js";import{n as b,t as x}from"./chunks/createLucideIcon-BtwfYE6A.js";import{n as S,t as C}from"./chunks/arrow-left-CsxBMzKY.js";import{c as w,l as T,r as E,s as D}from"./chunks/toolbar-controls-CThS0xuP.js";import{n as O,t as ee}from"./chunks/copy-ofLPH1I0.js";import{n as te,t as ne}from"./chunks/ellipsis-Dux1Nxa5.js";import{n as re,t as k}from"./chunks/layout-grid-Bp9bwiQZ.js";import{n as A,t as j}from"./chunks/maximize-CnmQ11E7.js";import{n as M,t as ie}from"./chunks/trash-tHBT8Mpw.js";import{t as ae}from"./chunks/form-CQutQFiD.js";import{C as N,_ as P,a as F,g as I,r as L,y as R}from"./chunks/ui-BFsHoY7a.js";import{i as z,n as oe,r as se,t as ce}from"./chunks/confirm-BtBBEqk8.js";import{n as B,t as V}from"./chunks/useStatusToggle-B2qZaoc-.js";import{n as le,t as ue}from"./chunks/ResponsiveTableActions-y54aSdhs.js";import{n as de,t as fe}from"./chunks/useListPage-CbcOQG4m.js";import{n as pe,t as me}from"./chunks/DateTimeText-CIt0Qy45.js";import{a as he,n as ge,o as H,r as _e,t as ve}from"./chunks/EditFormModal-DNHOZHxM.js";import{n as ye,t as be}from"./chunks/ModalFooter-RMlvqrO9.js";import{n as xe,r as Se}from"./chunks/clipboard-ERcMSMRH.js";import{Suspense as Ce,lazy as we,memo as Te,useCallback as U,useContext as Ee,useEffect as W,useId as G,useMemo as De,useRef as K,useState as q}from"react";import{Fragment as J,jsx as Y,jsxs as X}from"react/jsx-runtime";import{Button as Oe,Checkbox as ke,Input as Z,InputNumber as Ae,Select as je,Space as Me,Table as Ne}from"antd";import{GoaError as Pe}from"@fudanda/client";import{fillPath as Fe}from"@fudanda/shared/core";import"dayjs";import{UNSAFE_NavigationContext as Ie,useBeforeUnload as Le,useNavigate as Re,useSearchParams as ze}from"react-router-dom";import{automationRunStatuses as Be,automationSchedulePresets as Ve,automationTimezoneOptions as He,automationTriggerLabels as Ue,automationTriggerOptions as We,blankWorkflowGraph as Ge,compareWorkflowDefinitions as Ke,eventDispatchLabels as qe,inventoryThresholdGraph as Je,nodeTestContextSchema as Ye,recordConditionLabels as Xe,recordConditionOperators as Ze,recordOperationLabels as Qe,recordOperations as $e,recordTriggerChecks as et,timingTotals as tt,triggerCheckLabel as nt,triggerCheckValue as rt,triggerDecisionReason as it,workflowChangeKey as at,workflowInputSchema as ot,workflowReferenceSchema as st}from"@fudanda/shared/automation";import{automationContract as Q}from"@fudanda/react-core/lib/native-operations";import{api as ct,contractKey as lt,useApiMutation as $,useApiQuery as ut}from"@fudanda/react-core/lib/contract-query";import{formatDateTime as dt}from"@fudanda/react-core/utils/date";import{useListDeepLink as ft}from"@fudanda/react-core/hooks/useListDeepLink";import{usePagination as pt}from"@fudanda/react-core/hooks/usePagination";import{AutomationClientContext as mt,invalidateCredentials as ht,invalidateRunLists as gt,invalidateWorkflowLists as _t,invalidateWorkflowManagement as vt,statuses as yt,useAutomationClient as bt,useCatalog as xt,useCredentialList as St,useCredentials as Ct,useRunList as wt,useWorkflowList as Tt}from"@fudanda/react-core/automation/hooks";import{useWorkflowDraft as Et,useWorkflowRunActions as Dt}from"@fudanda/react-core/automation/editor-controllers";import{useWorkflowEditorState as Ot}from"@fudanda/react-core/automation/editor-state";import{useQueryClient as kt}from"@tanstack/react-query";import{ApiAutomationWorkflowTriggerSchema as At}from"@fudanda/shared/api/automation";import{AdminNavigationGuardContext as jt}from"@fudanda/react-core/admin/navigation-context";import{resultPreview as Mt,schemaToTree as Nt,testInputExample as Pt,testInputValidation as Ft,testInputValidation as It,treeIssues as Lt,treeToSchema as Rt,usePanelFocus as zt,workflowNodeTestRuns as Bt,workflowThemeStyle as Vt}from"@fudanda/workflow/core";import{runKey as Ht,useLiveRun as Ut,useRunQuery as Wt}from"@fudanda/react-core/automation/run-stream";import{runDuration as Gt,runRows as Kt,runTimeline as qt}from"@fudanda/react-core/automation/run-view";import{useEventCallback as Jt}from"@fudanda/react-core/hooks/useEventCallback";import{runNodeLabel as Yt}from"@fudanda/react-core/automation/run-labels";import{useDebugFocus as Xt}from"@fudanda/react-core/automation/debug-focus";import{scopedStorageKey as Zt}from"@fudanda/react-core/utils/storage";import{useAllUsers as Qt}from"@fudanda/react-core/hooks/queries/users";import{eventHasActiveRun as $t,eventOutcomeLabel as en}from"@fudanda/react-core/automation/event-run-state";import{parseWorkflowImport as tn}from"@fudanda/react-core/automation/workflow-import-validation";var nn,rn;function an(){return(an=e((()=>{
2
+ /**
3
+ * @license lucide-react v1.53.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ b(),nn={name:`play`,size:24,node:[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]},nn.node,rn=x(nn)})))()}var on,sn;function cn(){return(cn=e((()=>{
9
+ /**
10
+ * @license lucide-react v1.53.0 - ISC
11
+ *
12
+ * This source code is licensed under the ISC license.
13
+ * See the LICENSE file in the root directory of this source tree.
14
+ */
15
+ b(),on={name:`workflow`,size:24,node:[[`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`}]]},on.node,sn=x(on)})))()}function ln(){let e=()=>document.body.getAttribute(`theme-mode`)===`dark`?`dark`:`light`,[t,n]=q(e);return W(()=>{let t=new MutationObserver(()=>n(e()));return t.observe(document.body,{attributes:!0,attributeFilter:[`theme-mode`]}),()=>t.disconnect()},[]),t}function un(){let e=getComputedStyle(document.body);return Object.fromEntries(Object.entries(fn).map(([t,n])=>[t,e.getPropertyValue(n).trim()]).filter(([,e])=>e))}function dn(){let[e,t]=q(un);return W(()=>{let e=()=>t(e=>{let t=un();return JSON.stringify(e)===JSON.stringify(t)?e:t}),n=new MutationObserver(e),r={attributes:!0,attributeFilter:[`style`,`class`,`theme-mode`]};return n.observe(document.body,r),n.observe(document.documentElement,r),e(),()=>n.disconnect()},[]),e}var fn;function pn(){return(pn=e((()=>{fn={primary:`--arc-antd-color-primary`,primaryHover:`--arc-antd-color-primary-hover`,primaryActive:`--arc-antd-color-primary-active`,primaryLight:`--arc-antd-color-primary-light-default`,primaryLightHover:`--arc-antd-color-primary-light-hover`,primaryLightActive:`--arc-antd-color-primary-light-active`,background:`--arc-antd-color-bg-0`,surface:`--arc-antd-color-bg-1`,text:`--arc-antd-color-text-0`,muted:`--arc-antd-color-text-2`,border:`--arc-antd-color-border`,fill:`--arc-antd-color-fill-0`}})))()}function mn({client:e,target:t,onClose:n}){let r=ln(),i=dn(),a=ut(Q.version,{params:{id:t?.id??``,version:t?.version??1}},{enabled:!!t,requestOptions:{client:e}}),o=xt(!!t),s=a.error??o.error;return/* @__PURE__ */ X(u,{className:`arc-workflow-snapshot`,title:`原发布快照 · #${t?.id??``} v${t?.version??``}`,visible:!!t,onCancel:n,width:`min(1100px, 100vw)`,children:[/* @__PURE__ */ Y(`p`,{children:`只读展示此发布版本。后续草稿修改和重新发布不会改变它。`}),s&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:/* @__PURE__ */ X(J,{children:[s.message,/* @__PURE__ */ Y(F,{onClick:()=>{a.refetch(),o.refetch()},children:`重试`})]})}),/* @__PURE__ */ Y(`div`,{style:{height:`calc(100vh - 160px)`,minHeight:300},children:a.data&&o.data?/* @__PURE__ */ Y(Ce,{fallback:/* @__PURE__ */ Y(P,{}),children:/* @__PURE__ */ Y(hn,{value:a.data.graph,catalog:o.data.nodes,models:o.data.models,readOnly:!0,theme:r,themeColors:i,height:`100%`},`${t?.id}:${t?.version}`)}):!s&&t?/* @__PURE__ */ Y(P,{}):null})]})}var hn;function gn(){return(gn=e((()=>{N(),pn(),t(),hn=we(async()=>{let e=await n(()=>import(`@fudanda/workflow`),[],import.meta.url);return await n(()=>import(`@fudanda/workflow/styles.css`),[],import.meta.url),{default:e.ArcBaseWorkflowDesigner}})})))()}function _n(e){return/* @__PURE__ */ Y(mt.Provider,{value:e.client,children:/* @__PURE__ */ Y(vn,{})})}function vn(){let e=Re(),t=bt(),[n,r]=q(),a=de({op:Q.runSummaries,useList:wt,table:{empty:`暂无符合条件的工作流运行记录`}});ft([`workflowId`,`status`],e=>{let t=st.safeParse(e.workflowId),n=Be.find(t=>t===e.status);a.applySearch({...a.submittedParams,...t.success?{workflowId:t.data}:{},...n?{status:n}:{}})});let o=[{title:`运行 ID`,dataIndex:`id`,minWidth:250,render:p},{title:`工作流`,width:220,render:(t,n)=>/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(F,{className:`arc-run-workflow-link`,theme:`borderless`,title:n.workflowName,onClick:()=>e(`/extensions/automation/designer?id=`+n.workflowUuid),children:n.workflowName}),n.workflowArchived&&/* @__PURE__ */ Y(R,{children:`已归档`})]})},{title:`版本 / 类型`,width:150,render:(e,t)=>/* @__PURE__ */ X(`div`,{children:[t.version===0?/* @__PURE__ */ Y(`span`,{children:`草稿测试`}):/* @__PURE__ */ X(F,{theme:`borderless`,onClick:()=>r({id:t.workflowUuid,version:t.version}),children:[`v`,t.version,` · 原发布快照`]}),/* @__PURE__ */ Y(`small`,{className:`arc-run-type`,children:t.nodeTest?`单节点测试`:t.debug?`断点调试`:`完整流程`})]})},{title:`状态`,dataIndex:`status`,width:120,render:e=>/* @__PURE__ */ Y(R,{color:e===`failed`?`red`:e===`succeeded`?`green`:`violet`,children:yt[e]??e})},f(`创建时间`,`createdAt`),ue({width:130,actions:t=>[{key:`inspect`,label:`查看`,onClick:()=>e(`/extensions/automation/inspect?runId=`+encodeURIComponent(t.id))}]})];return/* @__PURE__ */ X(`div`,{className:`page-container arc-automation-list`,children:[/* @__PURE__ */ Y(`div`,{className:`arc-automation-page-heading`,children:/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(c.Title,{heading:4,children:`运行记录`}),/* @__PURE__ */ Y(c.Text,{type:`tertiary`,children:`发布版本链接打开原始快照;草稿测试的执行定义在运行检查中查看。`})]})}),a.listQuery.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:a.listQuery.error.message}),/* @__PURE__ */ Y(v,{searchConfig:m({page:a,filters:[`workflowId`,`status`,[`startTime`,`endTime`]],overrides:{workflowId:e=>/* @__PURE__ */ Y(i,{"aria-label":`筛选工作流 UUID`,placeholder:`工作流 UUID`,showClear:!0,value:String(e.bind(`workflowId`).value??``),onChange:t=>e.bind(`workflowId`).onChange(t||void 0)})}}),columns:o,...a.tableProps}),/* @__PURE__ */ Y(mn,{client:t,target:n,onClose:()=>r(void 0)})]})}function yn(e){return/* @__PURE__ */ Y(mt.Provider,{value:e.client,children:/* @__PURE__ */ Y(bn,{})})}function bn(){let e=bt(),[t,n]=q(),r=de({op:Q.credentialList,useList:St,table:{empty:`没有符合条件的连接凭据`}}),i=$(Q.credentialCreate,{requestOptions:{client:e},invalidate:ht}),a=H({entityName:`连接凭据`,save:{isPending:i.isPending,mutateAsync:({values:e})=>i.mutateAsync({body:{...e,name:e.name.trim()}})},defaults:{name:``,kind:`hmac`,secret:``}}),o=$(Q.credentialRemove,{requestOptions:{client:e},invalidate:ht,onError:e=>l.error(e.message)}),s=[{title:`名称`,dataIndex:`name`,minWidth:250},{title:`类型`,dataIndex:`kind`,width:180,render:e=>/* @__PURE__ */ Y(R,{color:`violet`,children:e===`hmac`?`Webhook HMAC`:`HTTP Bearer`})},{title:`状态`,width:180,render:()=>/* @__PURE__ */ Y(R,{color:`green`,children:`秘密已加密配置`})},ue({width:180,actions:e=>[{key:`references`,label:`查看引用`,onClick:()=>n(e)},{key:`delete`,label:`删除`,type:`danger`,disabled:o.isPending,onClick:()=>{se({title:`删除凭据「${e.name}」?`,content:`包括归档流程在内,仍被草稿或发布版本引用的凭据不能删除。请先查看引用。`,onOk:()=>o.mutateAsync({params:{id:e.id}})})}}]})];return/* @__PURE__ */ X(`div`,{className:`page-container arc-automation-list`,children:[/* @__PURE__ */ Y(`div`,{className:`arc-automation-page-heading`,children:/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(c.Title,{heading:4,children:`连接凭据`}),/* @__PURE__ */ Y(c.Text,{type:`tertiary`,children:`管理 HTTP 认证与 Webhook 签名,秘密仅写入、不回显。`})]})}),r.listQuery.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:r.listQuery.error.message}),/* @__PURE__ */ Y(v,{searchConfig:m({page:r,filters:[`keyword`,`kind`],create:/* @__PURE__ */ Y(F,{theme:`solid`,onClick:a.openCreate,children:`新增凭据`})}),columns:s,...r.tableProps}),/* @__PURE__ */ X(ge,{modal:a,width:480,header:/* @__PURE__ */ Y(`p`,{children:`凭据通过宿主密钥加密保存,创建后无法查看原始秘密。`}),children:[/* @__PURE__ */ Y(ae.Input,{field:`name`,label:`凭据名称`,maxLength:120,rules:[{required:!0,message:`请输入名称`},{validator:(e,t)=>typeof t==`string`&&!!t.trim(),message:`名称不能为空白`}]}),/* @__PURE__ */ Y(ae.Select,{field:`kind`,label:`凭据类型`,style:{width:`100%`},optionList:[{value:`hmac`,label:`Webhook HMAC`},{value:`bearer`,label:`HTTP Bearer`}]}),/* @__PURE__ */ Y(ae.Input,{field:`secret`,label:`凭据秘密`,mode:`password`,maxLength:4096,rules:[{required:!0,message:`请输入秘密`},{min:16,message:`至少需要 16 个字符`}]})]}),/* @__PURE__ */ Y(xn,{credential:t,onClose:()=>n(void 0)})]})}function xn({credential:e,onClose:t}){let n=bt(),r=Re(),i=pt({pageSize:20,resetKey:e?.id}),[a,o]=q(),s=ut(Q.credentialReferences,{params:{id:e?.id??0},query:{page:i.page,pageSize:i.pageSize}},{enabled:!!e,requestOptions:{client:n}});return/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(u,{className:`arc-credential-references`,title:`凭据引用:${e?.name??``}`,visible:!!e,onCancel:t,width:760,children:/* @__PURE__ */ X(`div`,{className:`arc-automation-settings`,children:[/* @__PURE__ */ Y(`p`,{children:`引用包含草稿、所有发布版本及归档流程。历史版本不可改写,因此被历史引用的凭据不能删除。`}),s.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:s.error.message}),/* @__PURE__ */ Y(v,{columns:[{title:`工作流`,dataIndex:`workflowName`,minWidth:200,render:(e,t)=>/* @__PURE__ */ X(`span`,{children:[e,` `,t.archived&&/* @__PURE__ */ Y(R,{children:`已归档`})]})},{title:`引用节点`,dataIndex:`nodePath`,width:200},{title:`版本`,width:160,render:(e,n)=>/* @__PURE__ */ Y(F,{theme:`borderless`,onClick:()=>{n.version?o({id:n.workflowUuid,version:n.version}):(t(),r(`/extensions/automation/designer?id=${n.workflowUuid}`))},children:n.version?`发布快照 v${n.version}`:`当前草稿`})}],dataSource:s.data?.list??[],loading:s.isFetching,rowKey:e=>`${e?.workflowId}:${e?.version}:${e?.nodePath}`,onRefresh:()=>void s.refetch(),empty:`此凭据没有流程引用`,pagination:{currentPage:i.page,pageSize:i.pageSize,total:s.data?.total??0,onPageChange:i.setPage}})]})}),/* @__PURE__ */ Y(mn,{client:n,target:a,onClose:()=>o(void 0)})]})}function Sn(){return(Sn=e((()=>{N(),fe(),g(),he(),_e(),d(),h(),le(),z(),gn()})))()}function Cn(e){return Et({...e,feedback:l})}function wn(e){return Dt({...e,feedback:l})}function Tn(){return(Tn=e((()=>{N()})))()}function En(e){let{navigator:t}=Ee(Ie),n=Ee(jt),r=K(e);r.current=e,Le(e=>{r.current&&(e.preventDefault(),e.returnValue=``)}),W(()=>{let e=!0,i=!1,a=!1,o=!1,s=Number(globalThis.history.state?.idx??0),c=async()=>{if(i)return!1;i=!0;let t=await oe({title:`离开未保存的工作流?`,content:`当前修改尚未保存。取消后可以继续编辑并保存。`,okText:`放弃修改并离开`});return i=!1,e&&t},l=t.push,u=t.replace,d=(...e)=>{r.current?c().then(t=>{t&&l(...e)}):(l(...e),s=Number(globalThis.history.state?.idx??s))},f=(...e)=>{r.current?c().then(t=>{t&&u(...e)}):u(...e)};t.push=d,t.replace=f;let p=e=>{let t=Number(e.state?.idx??s),n=t-s;o?(o=!1,e.stopImmediatePropagation()):a||!r.current||!n?(a=!1,s=t):(e.stopImmediatePropagation(),o=!0,globalThis.history.go(-n),c().then(e=>{e&&(a=!0,globalThis.history.go(n))}))};return n&&(n.onPop=p),()=>{e=!1,n?.onPop===p&&(n.onPop=void 0),t.push===d&&(t.push=l),t.replace===f&&(t.replace=u)}},[t,n])}function Dn(){return(Dn=e((()=>{z()})))()}function On(e,t=[]){let n=Array.isArray(e.required)?e.required:[];return Object.entries(Mn(e.properties)?e.properties:{}).flatMap(([e,r])=>{let i=Mn(r)?r:{},a=[...t,e];return i.type===`object`&&Mn(i.properties)&&Object.keys(i.properties).length?On(i,a):[{path:a,schema:i,required:n.includes(e)}]})}function kn(e,t){let n=e;for(let e of t){if(!Mn(n)||!Object.hasOwn(n,e))return;n=n[e]}return n}function An(e,t,n){let[r,...i]=t,a={...e};return i.length?a[r]=An(Mn(e[r])?e[r]:{},i,n):n===void 0?delete a[r]:Object.defineProperty(a,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),a}function jn({value:e,schema:t,onChange:n,onValidityChange:c,description:l,visibleFields:u}){let d=G(),f=De(()=>On(t).filter(e=>!u||u.includes(e.path[0])),[t,u]),[p,m]=q(!f.length),[h,g]=q({}),_=De(()=>Ft(e,t),[e,t]),v=Object.entries(h).filter(([e,t])=>{try{let n=JSON.parse(t);return f.find(t=>t.path.join(`.`)===e)?.schema.type===`array`&&!Array.isArray(n)}catch{return!0}}),y=!_.errors.length&&!v.length;W(()=>{c?.(y)},[y,c]);let b=(e,t)=>{_.input&&n(JSON.stringify(An(_.input,e,t),null,2))};return/* @__PURE__ */ X(`div`,{className:`coze-test-input`,children:[/* @__PURE__ */ X(`div`,{className:`coze-test-input-header`,children:[/* @__PURE__ */ Y(`strong`,{children:`输入`}),/* @__PURE__ */ X(`label`,{children:[`JSON `,/* @__PURE__ */ Y(s,{"aria-label":`JSON 模式`,size:`small`,checked:p||!f.length,disabled:!f.length||!!v.length,onChange:e=>{m(e),e&&g({})}})]})]}),l&&/* @__PURE__ */ Y(`p`,{children:l}),p||!f.length||!_.input?/* @__PURE__ */ Y(r,{"aria-label":`测试输入`,rows:8,value:e,onChange:n}):/* @__PURE__ */ Y(`div`,{className:`coze-test-input-fields`,children:f.map(({path:e,schema:t,required:n})=>{let s=e.join(`.`),c=kn(_.input,e),l=String(t.type??`unknown`),u=`${d}-test-input-${encodeURIComponent(s)}`,f=_.errors.filter(e=>e.path===s||e.path.startsWith(s+`.`));return/* @__PURE__ */ X(`div`,{"data-input-field":s,children:[/* @__PURE__ */ X(`label`,{children:[/* @__PURE__ */ X(`span`,{children:[/* @__PURE__ */ Y(`span`,{id:u,children:s}),n&&/* @__PURE__ */ Y(`b`,{"aria-label":`必填`,children:` *`})]}),/* @__PURE__ */ Y(`small`,{children:l})]}),Array.isArray(t.enum)?/* @__PURE__ */ Y(a,{"aria-labelledby":u,value:t.enum.findIndex(e=>JSON.stringify(e)===JSON.stringify(c))<0?void 0:String(t.enum.findIndex(e=>JSON.stringify(e)===JSON.stringify(c))),showClear:!0,optionList:t.enum.map((e,t)=>({label:String(e),value:String(t)})),onChange:n=>b(e,n===void 0?void 0:t.enum[Number(n)])}):l===`boolean`?/* @__PURE__ */ Y(a,{"aria-labelledby":u,value:typeof c==`boolean`?String(c):void 0,showClear:!0,optionList:[{value:`true`,label:`true`},{value:`false`,label:`false`}],onChange:t=>b(e,t===void 0?void 0:t===`true`)}):[`integer`,`number`].includes(l)?/* @__PURE__ */ Y(o,{"aria-labelledby":u,value:typeof c==`number`?c:void 0,precision:l===`integer`?0:void 0,placeholder:`请输入数值`,onChange:t=>b(e,typeof t==`number`?t:void 0)}):l===`string`?/* @__PURE__ */ Y(i,{"aria-labelledby":u,value:typeof c==`string`?c:``,placeholder:String(t.description??`请输入`),showClear:!0,onChange:t=>b(e,t)}):/* @__PURE__ */ Y(r,{"aria-labelledby":u,rows:3,placeholder:`输入 JSON`,value:h[s]??(c===void 0?``:JSON.stringify(c,null,2)),onChange:t=>{g(e=>({...e,[s]:t}));try{b(e,JSON.parse(t))}catch{}}}),/* @__PURE__ */ Y(`small`,{children:String(t.description??``)}),f.map((e,t)=>/* @__PURE__ */ Y(`div`,{className:`arc-wf-field-error`,role:`alert`,children:e.message},t)),v.some(([e])=>e===s)&&/* @__PURE__ */ X(`div`,{className:`arc-wf-field-error`,role:`alert`,children:[`请输入合法的 `,l===`array`?`JSON 数组`:`JSON`]})]},s)})}),_.errors.filter(e=>!e.path||p||!f.length||!f.some(t=>e.path===t.path.join(`.`)||e.path.startsWith(t.path.join(`.`)+`.`))).map((e,t)=>/* @__PURE__ */ X(`div`,{className:`arc-wf-field-error`,role:`alert`,children:[e.path&&`${e.path}:`,e.message]},t))]})}var Mn;function Nn(){return(Nn=e((()=>{N(),Mn=e=>typeof e==`object`&&!!e&&!Array.isArray(e)})))()}function Pn({title:e,header:t,tabs:n,footer:r,children:i,onClose:a,className:o=``,focusKey:s,onFocusRestore:c}){let[l,u]=q(360),d=K(null);zt(d,s,c);let f=e=>Math.min(546,Math.max(360,e));return/* @__PURE__ */ X(`aside`,{ref:d,"aria-label":e??`节点参数与结果`,className:`arc-antd-side-panel ${o}`,style:{"--coze-panel-width":`${l}px`},onKeyDown:e=>{e.key===`Escape`&&!e.defaultPrevented&&!e.nativeEvent.isComposing&&!e.target.closest(`.ant-popover,.ant-dropdown,.ant-select-dropdown,.cm-tooltip`)&&(e.preventDefault(),e.stopPropagation(),a?.())},children:[/* @__PURE__ */ Y(`div`,{className:`coze-panel-resize`,role:`separator`,tabIndex:0,"aria-label":`调整参数面板宽度`,"aria-orientation":`vertical`,"aria-valuemin":360,"aria-valuemax":546,"aria-valuenow":l,onKeyDown:e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),u(f(l+(e.key===`ArrowLeft`?16:-16))))},onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{if(e.currentTarget.hasPointerCapture(e.pointerId)){let t=e.currentTarget.parentElement;u(f(t.getBoundingClientRect().right-e.clientX))}},onPointerUp:e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}}),t??/* @__PURE__ */ X(`div`,{className:`coze-side-panel-header`,children:[/* @__PURE__ */ Y(`strong`,{children:e}),/* @__PURE__ */ Y(F,{theme:`borderless`,"aria-label":`关闭测试面板`,onClick:a,children:`×`})]}),n,/* @__PURE__ */ Y(`div`,{className:`coze-inspector-scroll`,children:i}),r&&/* @__PURE__ */ Y(`div`,{className:`coze-side-panel-footer`,children:r})]})}function Fn(){return(Fn=e((()=>{N()})))()}function In({schema:e,readOnly:t,onChange:n,onValidation:r}){let[i,a]=q(()=>Nt(e)),o=K(JSON.stringify(e));W(()=>{let t=JSON.stringify(e);t!==o.current&&(o.current=t,a(Nt(e)))},[e]);let s=Lt(i),c=JSON.stringify(s),l=K(r);l.current=r,W(()=>{l.current?.(JSON.parse(c))},[c]);let u=t||!n,d=t=>{if(a(t),!Lt(t).length){let r=Rt(t,e);o.current=JSON.stringify(r),n?.(r)}},f=(e,t,n=i)=>n.map(n=>n.key===e?{...n,...t}:{...n,children:n.children?f(e,t,n.children):void 0}),p=(e,t=i)=>t.filter(t=>t.key!==e).map(t=>({...t,children:t.children?p(e,t.children):void 0})),m=e=>{let t=e?.children??i,n=`parameter`,r=1;for(;t.some(e=>e.name===n);)n=`parameter`+r++;let a=Nt({properties:{[n]:{type:`string`}}})[0];a.key=a.field=crypto.randomUUID(),d(e?f(e.key,{children:[...t,a]}):[...i,a])};return/* @__PURE__ */ X(`div`,{className:`arc-antd-input-fields`,children:[/* @__PURE__ */ Y(Ne,{size:`small`,pagination:!1,rowKey:`key`,dataSource:i,scroll:{x:680},columns:[{title:`名称`,key:`name`,width:170,render:(e,t)=>/* @__PURE__ */ Y(Z,{"aria-label":`参数名称`,value:t.name,disabled:u||t.readonly,onChange:e=>d(f(t.key,{name:e.target.value}))})},{title:`类型`,key:`type`,width:145,render:(e,t)=>/* @__PURE__ */ Y(je,{"aria-label":`参数类型`,style:{width:`100%`},value:t.type,disabled:u||t.readonly,options:Ln.map(e=>({value:e,label:e})),onChange:e=>d(f(t.key,{type:e,children:e===`object`||e===`array-object`?t.children??[]:void 0,defaultValue:void 0}))})},{title:`必填`,key:`required`,width:60,render:(e,t)=>/* @__PURE__ */ Y(ke,{"aria-label":t.name+`必填`,checked:t.required,disabled:u,onChange:e=>d(f(t.key,{required:e.target.checked}))})},{title:`描述`,key:`description`,width:160,render:(e,t)=>/* @__PURE__ */ Y(Z,{"aria-label":t.name+`描述`,value:t.description,disabled:u||t.readonly,onChange:e=>d(f(t.key,{description:e.target.value}))})},{title:`默认值`,key:`default`,width:160,render:(e,t)=>[`number`,`integer`].includes(t.type)?/* @__PURE__ */ Y(Ae,{"aria-label":t.name+`默认值`,value:typeof t.defaultValue==`number`?t.defaultValue:void 0,precision:t.type===`integer`?0:void 0,disabled:u||t.readonly,onChange:e=>d(f(t.key,{defaultValue:e??void 0}))}):t.type===`boolean`?/* @__PURE__ */ Y(je,{"aria-label":t.name+`默认值`,allowClear:!0,value:typeof t.defaultValue==`boolean`?String(t.defaultValue):void 0,disabled:u||t.readonly,options:[{value:`true`,label:`true`},{value:`false`,label:`false`}],onChange:e=>d(f(t.key,{defaultValue:e===void 0?void 0:e===`true`}))}):/* @__PURE__ */ Y(Z,{"aria-label":t.name+`默认值`,value:t.defaultValue===null?`null`:String(t.defaultValue??``),disabled:u||t.readonly,onChange:e=>d(f(t.key,{defaultValue:e.target.value||void 0}))})},{title:`操作`,key:`actions`,width:95,render:(e,t)=>/* @__PURE__ */ X(Me,{children:[/* @__PURE__ */ Y(Oe,{type:`text`,danger:!0,"aria-label":`删除`+t.name,icon:/* @__PURE__ */ Y(ie,{size:14}),disabled:u,onClick:()=>d(p(t.key))}),[`object`,`array-object`].includes(t.type)&&/* @__PURE__ */ Y(Oe,{type:`text`,"aria-label":`添加`+t.name+`子参数`,icon:/* @__PURE__ */ Y(w,{size:14}),disabled:u||t.readonly,onClick:()=>m(t)})]})}]}),/* @__PURE__ */ Y(Oe,{icon:/* @__PURE__ */ Y(w,{size:14}),disabled:u,onClick:()=>m(),children:`添加参数`}),s.map(e=>/* @__PURE__ */ X(`p`,{role:`alert`,children:[e.path,`:`,e.message]},e.path))]})}var Ln;function Rn(){return(Rn=e((()=>{T(),M(),Ln=[`string`,`integer`,`number`,`boolean`,`object`,`array-string`,`array-integer`,`array-number`,`array-boolean`,`array-object`]})))()}function zn({info:e,actions:t}){return/* @__PURE__ */ X(`header`,{className:`coze-workflow-header`,children:[/* @__PURE__ */ Y(`div`,{className:`coze-workflow-header-left`,children:e}),/* @__PURE__ */ Y(`div`,{className:`coze-workflow-header-right`,children:t})]})}function Bn({name:e}){let t=Un[e];return/* @__PURE__ */ Y(t,{size:16,"aria-hidden":!0})}function Vn({disabled:e,onClick:t}){return/* @__PURE__ */ Y(Oe,{type:`primary`,"aria-label":`测试运行`,"data-testid":`workflow.detail.toolbar.test-run`,className:`coze-toolbar-test-run`,icon:/* @__PURE__ */ Y(rn,{size:16}),disabled:e,onClick:t,children:`试运行`})}function Hn({header:e,children:t,onClose:n}){let r=K(null);zt(r);let[i,a]=q(260),o=e=>Math.max(120,Math.min(420,e));return/* @__PURE__ */ X(`div`,{ref:r,className:`arc-antd-execution-panel-boundary`,style:{height:i},children:[/* @__PURE__ */ Y(`div`,{role:`separator`,"aria-label":`调整运行记录高度`,"aria-orientation":`horizontal`,tabIndex:0,"aria-valuemin":120,"aria-valuemax":420,"aria-valuenow":i,className:`arc-antd-panel-resize`,onKeyDown:e=>{(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),a(o(i+(e.key===`ArrowUp`?16:-16))))},onPointerDown:e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&r.current&&a(o(r.current.getBoundingClientRect().bottom-e.clientY))},onPointerUp:e=>e.currentTarget.releasePointerCapture(e.pointerId)}),/* @__PURE__ */ X(`section`,{className:`arc-antd-execution-panel`,"aria-label":`运行记录`,children:[/* @__PURE__ */ X(`div`,{className:`arc-antd-execution-header`,children:[e,/* @__PURE__ */ Y(Oe,{type:`text`,"aria-label":`关闭运行记录`,onClick:n,children:`×`})]}),/* @__PURE__ */ Y(`div`,{className:`arc-antd-execution-body`,children:t})]})]})}var Un;function Wn(){return(Wn=e((()=>{an(),S(),O(),M(),te(),T(),A(),cn(),re(),Nn(),Fn(),Rn(),Un={layout:k,fit:j,copy:ee,remove:ie,more:ne,add:w,back:C,play:rn,workflow:sn}})))()}function Gn({uuid:e,full:t=!1}){return/* @__PURE__ */ X(`span`,{className:`arc-workflow-identity`,title:e,children:[/* @__PURE__ */ Y(`code`,{children:t?e:`${e.slice(0,8)}…${e.slice(-8)}`}),/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,"aria-label":`复制工作流 ID`,title:`复制工作流 UUID`,icon:/* @__PURE__ */ Y(ee,{size:12}),onClick:t=>{t.stopPropagation(),xe(e)}})]})}function Kn(){return(Kn=e((()=>{N(),O(),Se()})))()}function qn(e){let t;try{if(t=Yn&&(self.URL||self.webkitURL).createObjectURL(Yn),!t)throw``;let n=new Worker(t,{name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(Jn),{name:e?.name})}}var Jn,Yn;function Xn(){return(Xn=e((()=>{Jn="(function(){function e(t){return Array.isArray(t)?`[`+t.map(e).join(`,`)+`]`:t&&typeof t==`object`?`{`+Object.entries(t).sort(([e],[t])=>e.localeCompare(t)).map(([t,n])=>JSON.stringify(t)+`:`+e(n)).join(`,`)+`}`:JSON.stringify(t)??`undefined`}function t(e){let n=e.config.body;return![`core.loop`,`core.batch`].includes(e.type)||!Array.isArray(n?.nodes)||!Array.isArray(n?.edges)?e.config:{...e.config,body:{schemaVersion:n.schemaVersion,nodes:[...n.nodes].sort((e,t)=>e.id.localeCompare(t.id)).map(({position:e,...n})=>({...n,config:t(n)})),edges:[...n.edges].sort((e,t)=>e.id.localeCompare(t.id))}}}function n(n,r){let i=[],a=new Map(n.nodes.map(e=>[e.id,e])),o=new Map(r.nodes.map(e=>[e.id,e]));for(let s of[.../* @__PURE__ */ new Set([...n.nodes.map(e=>e.id),...r.nodes.map(e=>e.id)])].sort()){let n=a.get(s),r=o.get(s);if(!n||!r){i.push({kind:n?`removed`:`added`,id:s,fields:[]});continue}let c=[`type`,`version`,`label`,`description`,`config`,`inputs`,`execution`].filter(i=>e(i===`config`?t(n):n[i])!==e(i===`config`?t(r):r[i]));c.length&&i.push({kind:`changed`,id:s,fields:c})}return e([...n.edges].sort((e,t)=>e.id.localeCompare(t.id)))!==e([...r.edges].sort((e,t)=>e.id.localeCompare(t.id)))&&i.push({kind:`changed`,id:`edges`,fields:[`edges`]}),n.schemaVersion!==r.schemaVersion&&i.push({kind:`changed`,id:`schemaVersion`,fields:[`schemaVersion`]}),i}function r(t,r){let i=n(t.graph,r.graph);t.actorId!==r.actorId&&i.push({kind:`changed`,id:`actorId`,fields:[`actorId`]});let a=[`kind`,`source`,`cron`,`timezone`,`inputSchema`].filter(n=>e(t.trigger[n])!==e(r.trigger[n]));return a.length&&i.push({kind:`changed`,id:`trigger`,fields:a}),i}function i(e){let{position:t,...n}=e,r=e.config.body;return{...n,config:r&&[`core.loop`,`core.batch`].includes(e.type)?{...e.config,body:{schemaVersion:r.schemaVersion,nodes:Object.fromEntries(r.nodes.map(e=>[e.id,i(e)])),edges:Object.fromEntries(r.edges.map(e=>[e.id,e]))}}:e.config}}function a(e){return`${e.fields.some(e=>[`actorId`,`kind`,`source`,`cron`,`timezone`,`inputSchema`,`edges`,`schemaVersion`].includes(e))?`metadata`:`node`}:${e.id}`}function o(e,t,n=`node`){if(n===`metadata`){if(t===`actorId`)return e.actorId;if(t===`trigger`)return e.trigger;if(t===`schemaVersion`)return e.graph.schemaVersion;if(t===`edges`)return Object.fromEntries(e.graph.edges.map(e=>[e.id,e]))}let r=e.graph.nodes.find(e=>e.id===t);return r?i(r):void 0}function s(t,n,r=200){let i=[],a=0,o=(t,n,s)=>{if(t===n)return;if(Array.isArray(t)&&Array.isArray(n)){for(let e=0;e<Math.max(t.length,n.length);e++)o(t[e],n[e],`${s}[${e}]`);return}let c=typeof t==`object`&&t&&!Array.isArray(t)?t:void 0,l=typeof n==`object`&&n&&!Array.isArray(n)?n:void 0;if(c&&l)for(let e of[.../* @__PURE__ */ new Set([...Object.keys(c),...Object.keys(l)])].sort())o(c[e],l[e],s?s+`.`+e:e);else e(t)!==e(n)&&(a++,i.length<r&&i.push({path:s||`$value`,kind:t===void 0?`added`:n===void 0?`removed`:`changed`,before:t,after:n}))};return o(t,n,``),{fields:i,total:a}}let c,l,u=/* @__PURE__ */ new Map;function d(e){let t=JSON.stringify(e)??`(不存在)`;return t.length>400?t.slice(0,400)+`…`:t}onmessage=e=>{let t=e.data;try{let e;if(t.kind===`compare`){c=t.before,l=t.after;let n=r(c,l);u=new Map(n.map(e=>[a(e),e])),e=n}else{let n=u.get(t.nodeId);if(!n)throw Error();let r=a(n).startsWith(`metadata:`)?`metadata`:`node`,i=o(c,n.id,r),f=o(l,n.id,r),p=JSON.stringify({before:i??null,after:f??null},null,2);if(t.kind===`download`)e=p;else{let{fields:t,total:n}=s(i,f);e={fields:t.map(e=>({...e,before:d(e.before),after:d(e.after)})),total:n,preview:p.slice(0,16e3),truncated:p.length>16e3}}}postMessage({id:t.id,data:e})}catch{postMessage({id:t.id,error:`版本内容处理失败,请重试`})}}})();",Yn=typeof self<`u`&&self.Blob&&new Blob([`(self.URL || self.webkitURL).revokeObjectURL(self.location.href);`,Jn],{type:`text/javascript;charset=utf-8`})})))()}function Zn(e,t,n=!0){let[r,i]=q(0),[a,o]=q();W(()=>{if(!n||!e||!t)return;let r,i=!1;try{r=new Qn,o({before:e,after:t,session:r}),r.request({kind:`compare`,before:e,after:t}).then(n=>{i||o({before:e,after:t,session:r,changes:n})}).catch(n=>{i||o({before:e,after:t,session:r,error:n.message})})}catch{o({before:e,after:t,error:`浏览器无法处理版本内容,请重试`})}return()=>{i=!0,r?.close()}},[e,t,n,r]);let s=n&&a?.before===e&&a?.after===t?a:void 0;return{session:s?.session,changes:s?.changes,error:s?.error,loading:n&&!!e&&!!t&&!s?.changes&&!s?.error,retry:()=>i(e=>e+1)}}var Qn;function $n(){return($n=e((()=>{Xn(),Qn=class{worker;sequence=0;closed=!1;pending=/* @__PURE__ */ new Map;constructor(e=()=>new qn){this.worker=e(),this.worker.onmessage=e=>{let t=this.pending.get(e.data.id);t&&(this.pending.delete(e.data.id),clearTimeout(t.timer),e.data.error?t.reject(Error(`版本内容处理失败,请重试`)):t.resolve(e.data.data))},this.worker.onerror=()=>this.close(Error(`浏览器无法处理版本内容,请重试`))}request(e){if(this.closed)return Promise.reject(Error(`版本选择已变更`));let t=++this.sequence;return new Promise((n,r)=>{let i=setTimeout(()=>this.close(Error(`版本内容处理超时,请重试`)),6e4);this.pending.set(t,{resolve:e=>n(e),reject:r,timer:i});try{this.worker.postMessage({...e,id:t})}catch{this.close(Error(`版本内容处理失败,请重试`))}})}close(e=Error(`版本选择已变更`)){if(!this.closed){this.closed=!0,this.worker.terminate();for(let{reject:t,timer:n}of this.pending.values())clearTimeout(n),t(e);this.pending.clear()}}}})))()}function er({session:e,id:t}){let[n,r]=q(!1),[i,a]=q(0),[o,s]=q(),[c,u]=q(``),[d,f]=q(!1);W(()=>{if(!n)return;let r=!1;return s(void 0),u(``),e.request({kind:`details`,nodeId:t}).then(e=>{r||s(e)}).catch(e=>{r||u(e.message)}),()=>{r=!0}},[n,e,t,i]);async function p(){f(!0);try{let n=await e.request({kind:`download`,nodeId:t}),r=URL.createObjectURL(new Blob([n],{type:`application/json`})),i=document.createElement(`a`);i.href=r,i.download=`workflow-change-`+t.replace(/[^\w.-]/g,`_`)+`.json`,i.click(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}catch(e){l.error(e instanceof Error?e.message:`下载失败`)}finally{f(!1)}}return/* @__PURE__ */ X(`details`,{className:`arc-version-change-details`,onToggle:e=>r(e.currentTarget.open),children:[/* @__PURE__ */ Y(`summary`,{children:`查看变更内容`}),n&&/* @__PURE__ */ X(J,{children:[!o&&!c&&/* @__PURE__ */ Y(P,{}),c&&/* @__PURE__ */ X(`p`,{role:`alert`,children:[c,` `,/* @__PURE__ */ Y(F,{onClick:()=>a(e=>e+1),children:`重试`})]}),o&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`div`,{className:`arc-version-fields`,role:`table`,"aria-label":`字段差异`,children:[/* @__PURE__ */ X(`div`,{role:`row`,children:[/* @__PURE__ */ Y(`strong`,{role:`columnheader`,children:`字段路径`}),/* @__PURE__ */ Y(`strong`,{role:`columnheader`,children:`之前`}),/* @__PURE__ */ Y(`strong`,{role:`columnheader`,children:`之后`})]}),o.fields.map(e=>/* @__PURE__ */ X(`div`,{role:`row`,children:[/* @__PURE__ */ Y(`code`,{role:`cell`,children:e.path}),/* @__PURE__ */ Y(`code`,{role:`cell`,children:e.before}),/* @__PURE__ */ Y(`code`,{role:`cell`,children:e.after})]},e.path))]}),o.total>o.fields.length&&/* @__PURE__ */ X(`p`,{children:[`共 `,o.total,` 处字段变化,先展示前 `,o.fields.length,` 处。`]}),/* @__PURE__ */ Y(`pre`,{children:o.preview}),o.truncated&&/* @__PURE__ */ Y(`p`,{children:`JSON 预览显示前 16000 个字符。`}),/* @__PURE__ */ Y(F,{loading:d,onClick:()=>void p(),children:`下载完整变更`})]})]})]})}function tr({workflow:e,client:t,visible:n,dirty:r,onClose:i,onRestored:o}){let s=G(),l=pt({pageSize:20,resetKey:e.id}),[d,f]=q(),[p,m]=q();W(()=>{f(void 0),m(void 0)},[e.id]);let h=ut(Q.versions,{params:{id:e.uuid},query:{page:l.page,pageSize:l.pageSize}},{enabled:n,requestOptions:{client:t}}),g=ut(Q.version,{params:{id:e.uuid,version:d??1}},{enabled:n&&!!d,requestOptions:{client:t}}),_=ut(Q.version,{params:{id:e.uuid,version:p??1}},{enabled:n&&!!p,requestOptions:{client:t}}),v=$(Q.restore,{requestOptions:{client:t},onSuccess:e=>{o(e),i()}}),y=h.data?.list.map(e=>({value:e.version,label:`v`+e.version+` · `+dt(e.createdAt)}))??[],b=p?_.data:e,x=g.isFetching||!!p&&_.isFetching,S=Zn(g.data,b,n&&!x&&!!d),[C,w]=q(100);return W(()=>w(100),[d,p,e.revision]),/* @__PURE__ */ Y(u,{title:`发布历史与版本对比`,visible:n,onCancel:i,width:720,className:`arc-workflow-versions`,children:/* @__PURE__ */ X(`div`,{className:`arc-automation-settings`,children:[/* @__PURE__ */ Y(`p`,{children:`恢复只更新草稿,已发布版本和正在运行的流程保持原快照。`}),/* @__PURE__ */ Y(`div`,{className:`arc-version-list`,children:h.data?.list.map(t=>/* @__PURE__ */ X(`button`,{type:`button`,"aria-label":`选择版本 v`+t.version,"aria-pressed":d===t.version,onClick:()=>f(t.version),children:[/* @__PURE__ */ X(`span`,{children:[/* @__PURE__ */ X(`strong`,{children:[`v`,t.version]}),t.version===e.publishedVersion&&/* @__PURE__ */ Y(R,{color:`green`,children:`当前发布`})]}),/* @__PURE__ */ Y(me,{value:t.createdAt})]},t.version))}),/* @__PURE__ */ X(I,{children:[/* @__PURE__ */ Y(F,{disabled:l.page<=1||h.isFetching,onClick:()=>l.setPage(l.page-1),children:`上一页`}),/* @__PURE__ */ X(`span`,{children:[`第 `,l.page,` 页 · `,h.data?.total??0,` 个版本`]}),/* @__PURE__ */ Y(F,{disabled:!h.data||l.page*l.pageSize>=h.data.total||h.isFetching,onClick:()=>l.setPage(l.page+1),children:`下一页`})]}),/* @__PURE__ */ X(`div`,{className:`arc-version-selectors`,children:[/* @__PURE__ */ X(`label`,{id:s+`-history`,children:[`历史版本`,/* @__PURE__ */ Y(a,{"aria-labelledby":s+`-history`,placeholder:`选择历史版本`,value:d,optionList:y,onChange:e=>f(Number(e))})]}),/* @__PURE__ */ X(`label`,{id:s+`-compare`,children:[`对比版本`,/* @__PURE__ */ Y(a,{"aria-labelledby":s+`-compare`,placeholder:`与当前草稿比较`,showClear:!0,value:p,optionList:y,onChange:e=>m(e?Number(e):void 0)})]})]}),(h.isLoading||x||S.loading)&&/* @__PURE__ */ Y(P,{}),[h.error,g.error,_.error,v.error].filter(Boolean).map((e,t)=>/* @__PURE__ */ X(`p`,{role:`alert`,children:[e?.message,` `,/* @__PURE__ */ Y(F,{onClick:()=>{h.refetch(),d&&g.refetch(),p&&_.refetch()},children:`重试`})]},t)),S.error&&/* @__PURE__ */ X(`p`,{role:`alert`,children:[S.error,` `,/* @__PURE__ */ Y(F,{onClick:S.retry,children:`重试比较`})]}),S.changes&&S.session&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(c.Title,{heading:6,children:[`v`,d,` → `,p?`v`+p:`当前草稿`]}),S.changes.slice(0,C).map(t=>/* @__PURE__ */ X(`div`,{className:`arc-version-change`,children:[/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(R,{children:t.kind===`added`?`新增`:t.kind===`removed`?`删除`:`修改`}),` `,/* @__PURE__ */ Y(`strong`,{children:t.id}),/* @__PURE__ */ Y(`span`,{children:t.fields.map(e=>(nr[e]??e)+` (`+e+`)`).join(`、`)})]}),/* @__PURE__ */ Y(er,{session:S.session,id:at(t)},d+`-`+p+`-`+e.revision+`-`+at(t))]},at(t))),S.changes.length>C&&/* @__PURE__ */ X(F,{onClick:()=>w(e=>e+100),children:[`显示更多变化(`,C,` / `,S.changes.length,`)`]}),!S.changes.length&&/* @__PURE__ */ Y(`p`,{children:`执行定义无语义差异(节点、连线、异常策略、触发配置和执行账号)。`})]}),d&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(F,{theme:`solid`,loading:v.isPending,disabled:e.archived||r||!g.data||v.isPending,onClick:()=>ce({okText:`恢复草稿`,okButtonProps:{"aria-label":`确认恢复草稿`},title:`将 v`+d+` 恢复到草稿?`,content:`恢复后需要重新发布才会影响后续触发。`,onOk:()=>v.mutateAsync({params:{id:e.uuid},body:{revision:e.revision,version:d}})}),children:`恢复此版本到草稿`}),r&&/* @__PURE__ */ Y(`p`,{children:`请先保存当前编辑内容再恢复。`})]})]})})}var nr;function rr(){return(rr=e((()=>{N(),pe(),z(),$n(),nr={type:`节点类型`,version:`节点版本`,label:`名称`,description:`说明`,config:`配置`,inputs:`变量绑定`,execution:`异常策略`,edges:`连线`,schemaVersion:`图版本`,actorId:`执行账号`,kind:`触发方式`,source:`事件来源`,cron:`定时表达式`,timezone:`时区`,inputSchema:`输入结构`}})))()}function ir(e){let t=kt();return De(()=>({list:t=>e.call(Q.prompts,{query:t}),save:async(n,r)=>{let i=r?await e.call(Q.updatePrompt,{params:{id:r},body:{name:n.name,description:n.description,content:n.content,revision:n.revision}}):await e.call(Q.createPrompt,{body:n});return await t.invalidateQueries({queryKey:lt(Q.prompts)}),r&&await t.invalidateQueries({queryKey:lt(Q.promptVersions,{params:{id:r}})}),i},remove:async(n,r)=>{let i=await e.call(Q.removePrompt,{params:{id:n},body:{revision:r}});return await t.invalidateQueries({queryKey:lt(Q.prompts)}),t.removeQueries({queryKey:lt(Q.promptVersions,{params:{id:n}})}),i},versions:(t,n={page:1,pageSize:20})=>e.call(Q.promptVersions,{params:{id:t},query:n}),optimize:t=>e.call(Q.optimizePrompt,{body:t})}),[e,t])}function ar(){return(ar=e((()=>{})))()}function or(e){return e==null?_:e<1e3?`${e} ms`:e<6e4?`${(e/1e3).toFixed(1)} s`:`${(e/6e4).toFixed(1)} min`}function sr(){return(sr=e((()=>{g()})))()}function cr({value:e}){return e?/* @__PURE__ */ Y(`time`,{dateTime:e,title:e,children:/* @__PURE__ */ Y(me,{value:e,mode:`absolute`})}):/* @__PURE__ */ Y(J,{children:`未记录`})}function lr({interval:e}){return/* @__PURE__ */ X(`div`,{className:`arc-run-time-segment`,children:[/* @__PURE__ */ X(`strong`,{children:[ur[e.kind],e.attempt>0?` · 第 ${e.attempt} 次`:``,e.outcome===`failed`?` · 失败`:``]}),/* @__PURE__ */ X(`span`,{children:[/* @__PURE__ */ Y(cr,{value:e.startedAt}),` → `,/* @__PURE__ */ Y(cr,{value:e.finishedAt})]}),e.finishedAt?/* @__PURE__ */ Y(`span`,{children:or(Math.max(0,Date.parse(e.finishedAt)-Date.parse(e.startedAt)))}):/* @__PURE__ */ Y(`span`,{children:e.interruptedAt?/* @__PURE__ */ X(J,{children:[`恢复时发现中断:`,/* @__PURE__ */ Y(cr,{value:e.interruptedAt})]}):`尚未记录结束;取消或断线不代表外部操作已撤销`})]})}var ur,dr,fr;function pr(){return(pr=e((()=>{pe(),sr(),ur={execution:`节点执行`,pause:`断点等待`,delay:`持久延时`,"retry-wait":`重试等待`},dr=Te(function({rows:e,selected:t,onSelect:n,limit:r}){let i=De(()=>qt(e),[e]);return/* @__PURE__ */ X(`div`,{className:`arc-run-timeline`,role:`region`,"aria-label":`真实运行时间轴`,children:[/* @__PURE__ */ Y(`p`,{className:`arc-run-timeline-note`,children:`按服务端记录的开始时间排列;并行条带可以重叠。中断时未写入的结束时间保持未知,旧记录不补造时间。`}),!!i.known.length&&/* @__PURE__ */ X(`div`,{className:`arc-run-time-range`,children:[/* @__PURE__ */ Y(cr,{value:new Date(i.start).toISOString()}),/* @__PURE__ */ X(`span`,{children:[`已记录区间 `,or(i.end-i.start)]}),/* @__PURE__ */ Y(cr,{value:new Date(i.end).toISOString()})]}),i.known.slice(0,r).map(e=>/* @__PURE__ */ Y(fr,{row:e,start:i.start,span:i.span,selected:t===e.node.nodeId,onSelect:n},e.node.nodeId)),!!i.unknown.length&&/* @__PURE__ */ X(`div`,{className:`arc-run-unknown-time`,children:[/* @__PURE__ */ X(`strong`,{children:[`未记录时间 · `,i.unknown.length,` 个节点`]}),i.unknown.slice(0,Math.max(0,r-i.known.length)).map(e=>/* @__PURE__ */ X(`button`,{type:`button`,onClick:()=>n(e.node.nodeId),children:[e.label,` · `,yt[e.node.status]]},e.node.nodeId))]})]})}),fr=Te(function({row:e,start:t,span:n,selected:r,onSelect:i}){let a=e.node.timing,o=De(()=>tt(a),[a]);return/* @__PURE__ */ X(`div`,{className:`arc-run-timeline-row${r?` is-selected`:``}`,"data-node-record":e.node.nodeId,children:[/* @__PURE__ */ X(`button`,{type:`button`,"aria-label":`时间轴检查节点 ${e.label}`,"aria-pressed":r,onClick:()=>i(e.node.nodeId),children:[/* @__PURE__ */ Y(`strong`,{title:e.label,children:e.label}),/* @__PURE__ */ Y(`span`,{children:e.handled?`异常已处理`:yt[e.node.status]}),/* @__PURE__ */ Y(`div`,{className:`arc-run-time-track`,"aria-hidden":`true`,children:a.segments.map((e,r)=>{let i=Math.max(0,(Date.parse(e.startedAt)-t)/n*100),a=e.finishedAt?Math.max(i,(Date.parse(e.finishedAt)-t)/n*100):i;return/* @__PURE__ */ Y(`span`,{className:`is-${e.kind}${e.outcome===`failed`?` is-failed`:``}${e.finishedAt?``:` is-open`}`,style:{left:`${i}%`,width:`${Math.max(.4,a-i)}%`}},r)})}),/* @__PURE__ */ X(`span`,{className:`arc-run-time-total`,children:[`执行 `,or(o.execution),` · 等待 `,or(o.pause+o.delay+o[`retry-wait`]),o.unfinished?` · 有未结束区间`:``]})]}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`时间与尝试详情`}),/* @__PURE__ */ X(`div`,{className:`arc-run-time-details`,children:[/* @__PURE__ */ X(`div`,{children:[`开始:`,/* @__PURE__ */ Y(cr,{value:a.startedAt}),` · 结束:`,/* @__PURE__ */ Y(cr,{value:a.finishedAt})]}),a.reusedFrom&&/* @__PURE__ */ X(`p`,{children:[`复用已成功结果,未重新执行:`,/* @__PURE__ */ Y(`code`,{children:a.reusedFrom})]}),a.segments.map((e,t)=>/* @__PURE__ */ Y(lr,{interval:e},t))]})]})]})})})))()}function mr({run:e,selected:t,onSelect:n,compact:r=!1}){let[o,s]=q(``),[c,l]=q(`all`),[u,d]=q(50),[f,p]=q(`records`),m=Jt(n),h=G(),g=De(()=>Kt(e),[e]),_=De(()=>g.filter(({node:e,label:t,handled:n})=>(c===`all`||(c===`handled`?n:e.status===c))&&`${t} ${e.nodeId}`.toLowerCase().includes(o.toLowerCase())),[g,o,c]);return/* @__PURE__ */ X(`div`,{className:r?`arc-run-records is-compact`:`arc-run-records`,children:[!r&&/* @__PURE__ */ X(`div`,{className:`arc-run-record-views`,role:`group`,"aria-label":`运行记录展示`,children:[/* @__PURE__ */ Y(F,{"aria-pressed":f===`records`,theme:f===`records`?`light`:`borderless`,onClick:()=>p(`records`),children:`节点记录`}),/* @__PURE__ */ Y(F,{"aria-pressed":f===`timeline`,theme:f===`timeline`?`light`:`borderless`,onClick:()=>p(`timeline`),children:`运行时间轴`})]}),!r&&/* @__PURE__ */ X(`div`,{className:`arc-run-record-filters`,children:[/* @__PURE__ */ Y(i,{"aria-label":`筛选节点记录`,placeholder:`搜索节点名称或执行 ID`,showClear:!0,value:o,onChange:e=>{s(e),d(50)}}),/* @__PURE__ */ Y(`span`,{id:h,className:`arc-run-filter-label`,children:`节点记录状态`}),/* @__PURE__ */ Y(a,{"aria-labelledby":h,value:c,optionList:[{value:`all`,label:`全部状态`},{value:`handled`,label:`异常已处理`},...Object.entries(yt).filter(([e])=>e!==`cancelled`).map(([e,t])=>({value:e,label:t}))],onChange:e=>{l(String(e)),d(50)}}),/* @__PURE__ */ X(`span`,{children:[_.length,` 条 · 按流程结构排列`]})]}),f===`timeline`?/* @__PURE__ */ Y(dr,{rows:_,selected:t,onSelect:m,limit:u}):/* @__PURE__ */ Y(`div`,{className:`coze-debug-node-list`,children:_.slice(0,u).map(e=>/* @__PURE__ */ Y(hr,{row:e,compact:r,selected:t===e.node.nodeId,onSelect:m},e.node.nodeId))}),!_.length&&/* @__PURE__ */ Y(`p`,{className:`arc-run-record-empty`,children:g.length?`没有匹配的节点记录`:`等待节点执行记录…`}),_.length>u&&/* @__PURE__ */ X(F,{onClick:()=>d(e=>e+50),children:[`加载更多记录(剩余 `,_.length-u,` 条)`]})]})}var hr;function gr(){return(gr=e((()=>{N(),pr(),hr=Te(function({row:e,compact:t,selected:n,onSelect:r}){let{node:i,label:a,handled:o}=e;return/* @__PURE__ */ X(`button`,{type:`button`,className:`coze-debug-node-row${n?` is-selected`:``}`,"aria-label":`检查节点 ${a}`,"aria-pressed":n,onClick:()=>r(i.nodeId),children:[/* @__PURE__ */ Y(`span`,{className:`coze-node-state is-${o?`handled`:i.status}`,"aria-hidden":`true`,children:i.status===`succeeded`?`✓`:i.status===`failed`?`!`:i.status===`running`?`◷`:i.status===`paused`?`Ⅱ`:`–`}),/* @__PURE__ */ X(`span`,{className:`coze-debug-node-name`,children:[/* @__PURE__ */ Y(`strong`,{title:a,children:a}),/* @__PURE__ */ X(`small`,{children:[o?`异常已处理`:yt[i.status],` · `,i.attempts,` 次执行`]})]}),!t&&/* @__PURE__ */ Y(R,{color:o?`orange`:i.status===`failed`?`red`:i.status===`succeeded`?`green`:`grey`,children:o?`异常已处理`:yt[i.status]}),/* @__PURE__ */ Y(`span`,{className:`arc-run-node-duration`,children:Gt(i.durationMs)}),/* @__PURE__ */ Y(`span`,{"aria-hidden":`true`,children:`›`})]})})})))()}function _r({run:e,props:t,onLoad:n,onInspect:i,onProceed:a}){let o=kt(),[s,c]=q(!1),[l,u]=q(),[d,f]=q(``),[p,m]=q(!1),h=e.debug.pausedNodeId,g=e.nodes.find(e=>e.nodeId===h),_=!!g&&!g.dataOmitted,v=e.debug.pauseToken;W(()=>{let e=!1;return m(!0),n(h).catch(t=>{e||f(t.message)}).finally(()=>{e||m(!1)}),()=>{e=!0}},[v,h,n]);let y=$(Q.resume,{requestOptions:{client:t.client},onSuccess:e=>{o.setQueryData(Ht(e.id),e),gt(o)},onError:e=>f(e.message)}),b=t=>{let n;if(s)try{if(!_||(n=JSON.parse(l??JSON.stringify(g.input)),!n||typeof n!=`object`||Array.isArray(n)))throw Error()}catch{f(`输入必须为合法 JSON 对象`);return}f(``),a?.(),y.mutate(Q.resume.input.parse({params:{runId:e.id},body:{pauseToken:v,mode:t,...n?{input:n}:{}}}))};return/* @__PURE__ */ X(`div`,{className:`arc-automation-breakpoint-controls`,role:`region`,"aria-label":`断点控制`,"data-workflow-pause-token":v,children:[/* @__PURE__ */ X(`div`,{className:`arc-breakpoint-node`,children:[/* @__PURE__ */ X(`strong`,{"aria-live":`polite`,children:[`暂停于 `,Yt(e.graph,h)]}),/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>i(h),children:`检查节点`})]}),/* @__PURE__ */ Y(`p`,{children:`继续执行会运行至下一个断点;单步执行会暂停在下一个可执行节点。`}),p&&/* @__PURE__ */ Y(P,{size:`small`}),!p&&!_&&/* @__PURE__ */ Y(F,{onClick:()=>{f(``),m(!0),n(h).catch(e=>f(e.message)).finally(()=>m(!1))},children:`重新加载节点输入`}),/* @__PURE__ */ X(`label`,{children:[/* @__PURE__ */ Y(`input`,{type:`checkbox`,"aria-label":`修改当前节点输入`,disabled:!_||p||y.isPending,checked:s,onChange:e=>c(e.target.checked)}),`修改当前节点输入`]}),s&&/* @__PURE__ */ Y(r,{"aria-label":`断点节点输入`,rows:7,value:l??JSON.stringify(g?.input??{},null,2),disabled:!_||y.isPending,onChange:e=>{u(e),f(``)}}),!s&&_&&/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`查看暂停输入`}),/* @__PURE__ */ Y(`pre`,{className:`arc-breakpoint-input`,children:JSON.stringify(g.input,null,2).slice(0,16e3)})]}),/* @__PURE__ */ X(I,{wrap:!0,children:[/* @__PURE__ */ Y(F,{"data-workflow-focus-entry":!0,theme:`solid`,loading:y.isPending,disabled:y.isPending||s&&!_,onClick:()=>b(`continue`),children:`继续执行`}),/* @__PURE__ */ Y(F,{disabled:y.isPending||s&&!_,onClick:()=>b(`step`),children:`单步执行`})]}),d&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:d})]})}function vr(){return(vr=e((()=>{N()})))()}function yr(e){try{return typeof window<`u`&&window.localStorage.getItem(e)===`true`}catch{return!1}}function br(e){let t=Zt(`automation:canvas:minimap:user:${e}`),[n,r]=q(()=>({key:t,visible:yr(t)}));return{minimapVisible:n.key===t?n.visible:yr(t),onMinimapVisibleChange:U(e=>{r({key:t,visible:e});try{window.localStorage.setItem(t,String(e))}catch{}},[t])}}function xr(e,t){try{let n=JSON.parse(window.localStorage.getItem(e)??`null`);return t(n)?n:void 0}catch{return}}function Sr(e,t){let n=br(e),r=Zt(`automation:canvas:mode:user:${e}`),i=Zt(`automation:canvas:viewport:user:${e}:${t}`),[a,o]=q(()=>({key:r,value:xr(r,Tr)??`MOUSE`})),s=De(()=>xr(i,wr),[i]),c=K(void 0),l=K(void 0),u=U(()=>{if(clearTimeout(l.current),c.current){try{window.localStorage.setItem(i,JSON.stringify(c.current))}catch{}c.current=void 0}},[i]);W(()=>(window.addEventListener(`pagehide`,u),window.addEventListener(`blur`,u),()=>{u(),window.removeEventListener(`pagehide`,u),window.removeEventListener(`blur`,u)}),[u]);let d=U(e=>{wr(e)&&(c.current=e,clearTimeout(l.current),l.current=setTimeout(u,150))},[u]),f=U(e=>{o({key:r,value:e});try{window.localStorage.setItem(r,JSON.stringify(e))}catch{}},[r]);return{...n,initialViewport:s,onViewportChange:d,interactionMode:a.key===r?a.value:xr(r,Tr)??`MOUSE`,onInteractionModeChange:f}}function Cr(e,t){let n=Zt(`automation:last-run:user:${e}:workflow:${t}`);return{bookmark:De(()=>xr(n,e=>!!e&&typeof e==`object`&&typeof e.runId==`string`&&Number.isSafeInteger(e.revision)),[n]),remember:U((e,t)=>{try{e&&t?window.localStorage.setItem(n,JSON.stringify({runId:e,revision:t})):window.localStorage.removeItem(n)}catch{}},[n])}}var wr,Tr;function Er(){return(Er=e((()=>{wr=e=>!!e&&typeof e==`object`&&[`zoom`,`scrollX`,`scrollY`].every(t=>Number.isFinite(e[t]))&&e.zoom>0,Tr=e=>e===`MOUSE`||e===`PAD`})))()}function Dr({table:e,value:t,onChange:n,disabled:r}){let c=e.fields.map(e=>({value:e.name,label:e.title})),l=e=>n({...t,...e});return/* @__PURE__ */ X(`div`,{className:`arc-record-trigger`,children:[/* @__PURE__ */ X(`label`,{"data-setting-path":`trigger.record.operations`,children:[/* @__PURE__ */ Y(`strong`,{children:`触发操作`}),/* @__PURE__ */ Y(a,{"aria-label":`数据表触发操作`,multiple:!0,disabled:r,value:t.operations,optionList:$e.filter(t=>e.operations.includes(t)).map(e=>({value:e,label:Qe[e]})),onChange:e=>l({operations:e})})]}),t.operations.includes(`updated`)&&/* @__PURE__ */ X(`label`,{"data-setting-path":`trigger.record.watchFields`,children:[/* @__PURE__ */ Y(`strong`,{children:`监听字段`}),/* @__PURE__ */ Y(a,{"aria-label":`监听字段`,multiple:!0,filter:!0,disabled:r,placeholder:`任意业务字段实际变化`,value:t.watchFields,optionList:c.filter(e=>e.value!==`id`),onChange:e=>l({watchFields:e})}),/* @__PURE__ */ Y(`small`,{children:`空选表示任意业务字段变化。重复保存相同值不会触发;系统更新时间不参与监听。`})]}),/* @__PURE__ */ X(`label`,{"data-setting-path":`trigger.record.requiredFields`,children:[/* @__PURE__ */ Y(`strong`,{children:`这些字段不为空时`}),/* @__PURE__ */ Y(a,{"aria-label":`触发必填字段`,multiple:!0,filter:!0,disabled:r,placeholder:`不限制`,value:t.requiredFields,optionList:c,onChange:e=>l({requiredFields:e})}),/* @__PURE__ */ Y(`small`,{children:`删除和成员移除检查变更前记录,其他操作检查变更后记录。0 和 false 均视为已填写。`})]}),/* @__PURE__ */ X(`label`,{"data-setting-path":`trigger.record.conditions`,children:[/* @__PURE__ */ Y(`strong`,{children:`触发限制条件`}),/* @__PURE__ */ Y(a,{"aria-label":`触发条件组合`,disabled:r,value:t.match,optionList:[{value:`all`,label:`同时满足全部条件(AND)`},{value:`any`,label:`满足任一条件(OR)`}],onChange:e=>l({match:e})})]}),t.conditions.map((n,u)=>{let d=e.fields.find(e=>e.name===n.field),f=e=>l({conditions:t.conditions.map((t,n)=>n===u?{...t,...e}:t)}),p=d?.type===`integer`||d?.type===`number`,m=Ze.filter(e=>p||![`gt`,`gte`,`lt`,`lte`].includes(e)).filter(e=>e!==`contains`||d?.type===`string`);return/* @__PURE__ */ X(`div`,{className:`arc-record-condition`,"data-setting-path":`trigger.record.conditions.${u}`,children:[/* @__PURE__ */ Y(a,{"aria-label":`条件 ${u+1} 数据`,disabled:r,value:n.scope,optionList:[{value:`after`,label:`变更后`},{value:`before`,label:`变更前`}],onChange:e=>f({scope:e})}),/* @__PURE__ */ Y(a,{"aria-label":`条件 ${u+1} 字段`,filter:!0,disabled:r,value:n.field||void 0,placeholder:`选择字段`,optionList:c,onChange:t=>{let n=e.fields.find(e=>e.name===t);f({field:String(t),operator:`eq`,value:n?.type===`boolean`?!0:n?.type===`integer`||n?.type===`number`?0:``})}}),/* @__PURE__ */ Y(a,{"aria-label":`条件 ${u+1} 比较`,disabled:r,value:n.operator,optionList:m.map(e=>({value:e,label:Xe[e]})),onChange:e=>f({operator:e})}),![`empty`,`not_empty`].includes(n.operator)&&(p?/* @__PURE__ */ Y(o,{"aria-label":`条件 ${u+1} 值`,disabled:r,value:typeof n.value==`number`?n.value:void 0,onChange:e=>f({value:e})}):d?.type===`boolean`?/* @__PURE__ */ Y(s,{"aria-label":`条件 ${u+1} 值`,disabled:r,checked:n.value===!0,onChange:e=>f({value:e})}):/* @__PURE__ */ Y(i,{"aria-label":`条件 ${u+1} 值`,disabled:r,value:String(n.value??``),onChange:e=>f({value:e})})),/* @__PURE__ */ Y(F,{"aria-label":`删除条件 ${u+1}`,disabled:r,onClick:()=>l({conditions:t.conditions.filter((e,t)=>t!==u)}),children:`删除`})]},u)}),/* @__PURE__ */ Y(F,{disabled:r||t.conditions.length>=32,onClick:()=>l({conditions:[...t.conditions,{field:``,scope:t.operations.every(e=>e===`deleted`||e===`member_removed`)?`before`:`after`,operator:`eq`,value:``}]}),children:`添加触发条件`}),/* @__PURE__ */ Y(`small`,{children:`条件决定是否创建正式运行;事务回滚不触发。流程内的 If 节点继续负责执行后的分支。`})]})}function Or(){return(Or=e((()=>{N()})))()}function kr({workflowId:e,client:t,value:n,onChange:r,disabled:i,issues:a}){let c=ut(Q.workflowRuntime,{params:{id:e}},{requestOptions:{client:t},refetchInterval:3e3,refetchIntervalInBackground:!1}),l=e=>a.filter(t=>t.path===e).map((e,t)=>/* @__PURE__ */ Y(`p`,{role:`alert`,className:`arc-automation-error`,children:e.message},t));return/* @__PURE__ */ X(`fieldset`,{disabled:i,children:[/* @__PURE__ */ Y(`legend`,{children:`执行控制`}),/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,"data-setting-path":`limits.maxConcurrency`,tabIndex:-1,children:[/* @__PURE__ */ Y(`strong`,{children:`最大并发运行数`}),/* @__PURE__ */ Y(o,{"aria-label":`最大并发运行数`,disabled:i,min:0,max:128,precision:0,value:n.maxConcurrency,onChange:e=>r({...n,maxConcurrency:e===``?0:Number(e)})}),l(`limits.maxConcurrency`),/* @__PURE__ */ Y(`small`,{children:`0 表示继承宿主整体上限,1 表示串行。所有发布版本共用额度;内部并行节点和批处理保持原设置。`})]}),/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,children:[/* @__PURE__ */ Y(`strong`,{children:`限制执行频率`}),/* @__PURE__ */ Y(s,{"aria-label":`限制执行频率`,disabled:i,checked:!!n.rateLimit,onChange:e=>r({...n,rateLimit:e?{maxStarts:1,periodSeconds:60}:void 0})}),/* @__PURE__ */ Y(`small`,{children:`使用滚动时段限制正式运行的启动数量,包含重试和重新运行。调试使用独立额度。`})]}),n.rateLimit&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,"data-setting-path":`limits.rateLimit.maxStarts`,tabIndex:-1,children:[/* @__PURE__ */ Y(`strong`,{children:`每时段最多启动`}),/* @__PURE__ */ Y(o,{"aria-label":`每时段最多启动`,disabled:i,min:1,max:1e4,precision:0,value:n.rateLimit.maxStarts,onChange:e=>r({...n,rateLimit:{...n.rateLimit,maxStarts:Number(e)}})}),l(`limits.rateLimit.maxStarts`)]}),/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,"data-setting-path":`limits.rateLimit.periodSeconds`,tabIndex:-1,children:[/* @__PURE__ */ Y(`strong`,{children:`时段长度(秒)`}),/* @__PURE__ */ Y(o,{"aria-label":`频率时段秒数`,disabled:i,min:1,max:86400,precision:0,value:n.rateLimit.periodSeconds,onChange:e=>r({...n,rateLimit:{...n.rateLimit,periodSeconds:Number(e)}})}),l(`limits.rateLimit.periodSeconds`)]})]}),/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,children:[/* @__PURE__ */ Y(`strong`,{children:`超过限制时`}),/* @__PURE__ */ Y(`span`,{children:`持久化排队等待`}),/* @__PURE__ */ Y(`small`,{children:`每次触发都会保留,按流程内入队顺序执行;取消排队任务可释放等待。降低上限不会取消运行中的任务。`})]}),c.isPending&&/* @__PURE__ */ Y(`p`,{role:`status`,children:`正在读取执行队列…`}),c.error&&/* @__PURE__ */ Y(L,{type:`warning`,closeIcon:null,description:`执行队列暂不可用,不能确认当前占用。设置仍可编辑。`}),c.data&&/* @__PURE__ */ X(`div`,{role:`status`,className:`arc-settings-feedback`,children:[/* @__PURE__ */ X(`p`,{children:[`正式运行:运行中 `,c.data.active,` · 排队中 `,c.data.waiting,` · 当前流程有效上限 `,c.data.effectiveConcurrency,` · 宿主整体上限 `,c.data.globalConcurrency]}),/* @__PURE__ */ X(`p`,{children:[`调试运行:运行中 `,c.data.debugActive,` · 排队中 `,c.data.debugWaiting,` · 宿主调试上限 `,c.data.debugConcurrency]}),c.data.limits.rateLimit&&/* @__PURE__ */ X(`p`,{children:[`最近 `,c.data.limits.rateLimit.periodSeconds,` 秒启动 `,c.data.recentStarts,`/`,c.data.limits.rateLimit.maxStarts,` 次`,c.data.nextStartAt&&` · 频率额度预计 ${dt(c.data.nextStartAt)} 恢复(仍需等待并发空位)`]}),/* @__PURE__ */ Y(`small`,{children:`显示的是已保存的执行控制,每 3 秒更新;离开设置页停止查询。`})]}),/* @__PURE__ */ Y(`small`,{children:`执行控制保存后从下一次队列调度生效,作用于该流程所有版本和等待中的正式运行;已有节点结果与外部副作用不受影响。`})]})}function Ar(){return(Ar=e((()=>{N()})))()}function jr({value:e,onChange:t,onInvalid:n}){let[i,a]=q(()=>JSON.stringify(e,null,2)),[o,s]=q(``),c=JSON.stringify(e),l=K(c),u=K(n);return u.current=n,W(()=>{l.current!==c&&(l.current=c,a(JSON.stringify(e,null,2)),s(``),u.current(!1))},[c,e]),W(()=>()=>u.current(!1),[]),/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(r,{"aria-label":`触发输入 JSON Schema`,rows:8,value:i,onChange:e=>{a(e);try{let n=JSON.parse(e);if(!n||typeof n!=`object`||Array.isArray(n))throw Error();l.current=JSON.stringify(n),s(``),u.current(!1),t(n)}catch{s(`请输入合法 JSON 对象`),u.current(!0)}}}),o&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:o})]})}function Mr({path:e,label:t,errors:n,children:r}){return/* @__PURE__ */ X(`div`,{className:`arc-settings-field`,"data-setting-path":e,tabIndex:-1,children:[/* @__PURE__ */ Y(`strong`,{children:t}),r,n.filter(t=>t.path===e).map((e,t)=>/* @__PURE__ */ Y(`p`,{className:`arc-automation-error`,role:`alert`,children:e.message},t))]})}function Nr({workflow:e,catalog:t,client:n,saving:r,onSave:o,onClose:s,onDirtyChange:c,focusPath:l}){let d=ln(),f=dn(),[p,m]=q(()=>structuredClone({name:e.name,actorId:e.actorId,trigger:e.trigger,limits:e.limits??{maxConcurrency:0}})),h=K(JSON.stringify(p)),[g,_]=q(!1),[v,y]=q([]),[b,x]=q([]),[S,C]=q(),[w,T]=q(),[E,D]=q(),[O,ee]=q(!1),[te,ne]=q(!1),re=h.current!==JSON.stringify(p)||g||!!v.length;W(()=>(c(re),()=>c(!1)),[re,c]);let k=Qt({client:n,enabled:!0}),A=$(Q.validateSettings,{requestOptions:{client:n}}),j=r||A.isPending,M=K(0),ie=K(null),ae=e=>{let t=ie.current?.querySelector(`[data-setting-path="${e.startsWith(`trigger.inputSchema`)?`trigger.inputSchema`:e.startsWith(`trigger.record.requiredFields.`)?`trigger.record.requiredFields`:e}"]`);t?.scrollIntoView?.({block:`center`}),(t?.querySelector(`input,textarea,[role="combobox"],button`)??t)?.focus()};W(()=>{l&&ae(l)},[l]);let N=e=>{M.current++,m(e),x([]),C(void 0),T(void 0)},P=e=>N({...p,trigger:At.parse({...p.trigger,...e})}),I=b,L=async()=>{let t=M.current,n=ot.safeParse({...e,...le});if(!n.success){let e=n.error.issues.map(e=>({code:`settings_invalid`,path:e.path.join(`.`),message:e.path[0]===`name`?`名称需为 1–120 个字符`:`设置字段格式不正确`}));x(e),ae(e[0].path)}else if(g||v.length)ae(`trigger.inputSchema`);else{C(void 0);try{let e=await A.mutateAsync(Q.validateSettings.input.parse({body:n.data}));return M.current===t?(x(e.issues),T(e),e.valid||ae(e.issues[0].path),e):void 0}catch(e){M.current===t&&C(e)}}},z=async()=>{if((await L())?.valid)try{await o(le),s()}catch(e){C(e)}},se=async()=>{j||(!re||await oe({title:`放弃未保存的设置?`,content:`只丢弃本面板修改,画布上已有的草稿修改会保留。`,okText:`放弃设置修改`}))&&s()},ce=k.data?.map(e=>({value:e.id,label:`${e.nickname||e.username} (${e.username})${e.status===`enabled`?` · 已启用`:` · 已停用`}`,disabled:e.status!==`enabled`}))??[];ce.some(e=>e.value===p.actorId)||ce.unshift({value:p.actorId,label:`账号 ${p.actorId} · 状态待确认`,disabled:!0});let B=t.sources.find(e=>e.name===p.trigger.source),V=p.trigger.kind===`event`?B?.schema??{type:`object`}:p.trigger.inputSchema,le=p.trigger.kind===`event`?{...p,trigger:{...p.trigger,inputSchema:V}}:p,ue=t=>{y([]),_(!1);let n=t===`event`?B?.schema??{type:`object`}:t===`schedule`?{type:`object`,properties:{scheduledAt:{type:`string`,format:`date-time`}},required:[`scheduledAt`]}:e.trigger.kind===`api`?e.trigger.inputSchema:{type:`object`};P({kind:t,inputSchema:n,record:t===`event`?p.trigger.record:void 0})},de=te?`custom`:Ve.find(e=>e.value!==`custom`&&e.cron===p.trigger.cron)?.value??`custom`,fe=He.some(e=>e.value===p.trigger.timezone)?He:[...He,{value:p.trigger.timezone,label:p.trigger.timezone}],pe=Pt(V),me=JSON.stringify({input:pe??{},idempotencyKey:`replace-with-unique-business-event-id`},null,2),he=`import { automationContract } from '@fudanda/react-core/lib/native-operations';\n\n// 已登录的宿主 GoaClient 复用 Cookie / CSRF\nawait client.call(automationTrigger, {\n params: { id: ${JSON.stringify(e.uuid)} },\n body: ${me}\n});`,ge=S instanceof Pe&&S.status===409;return/* @__PURE__ */ Y(u,{title:`工作流设置`,visible:!0,width:620,className:`arc-workflow-settings`,onCancel:()=>void se(),footer:/* @__PURE__ */ Y(be,{onCancel:()=>{j||s()},onOk:z,okText:`保存草稿`,loading:j,disabled:g||!!v.length||!!k.error||k.isPending,extra:/* @__PURE__ */ Y(F,{disabled:j||g||!!v.length,onClick:()=>void L(),children:`校验设置`})}),children:/* @__PURE__ */ X(`div`,{ref:ie,className:`arc-settings-body`,onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),e.stopPropagation(),j||z())},children:[/* @__PURE__ */ Y(`p`,{className:`arc-settings-note`,children:`保存将包含当前画布草稿。执行控制保存即生效;流程、执行账号及触发配置需重新发布后用于新的正式运行,已有运行继续使用原版本。`}),S&&/* @__PURE__ */ X(`div`,{role:`alert`,className:`arc-settings-feedback`,children:[/* @__PURE__ */ Y(`p`,{children:ge?`保存发生版本冲突,本地设置和画布修改已保留。`:S.message}),ge&&/* @__PURE__ */ Y(F,{loading:O,onClick:async()=>{ee(!0);try{D(await ct(Q.detail,{params:{id:e.uuid}},{client:n}))}catch(e){C(e)}finally{ee(!1)}},children:`查看服务端最新版本`}),E&&/* @__PURE__ */ X(`p`,{children:[`服务端草稿 r`,E.revision,`:`,E.name,`。请对比发布历史与草稿后处理冲突;不会自动覆盖当前编辑内容。`]})]}),/* @__PURE__ */ X(`fieldset`,{disabled:j,children:[/* @__PURE__ */ Y(`legend`,{children:`基础信息`}),/* @__PURE__ */ X(`div`,{className:`arc-settings-workflow-id`,children:[/* @__PURE__ */ Y(`span`,{children:`工作流 ID`}),/* @__PURE__ */ Y(Gn,{uuid:e.uuid,full:!0}),/* @__PURE__ */ Y(`small`,{children:`用于接口调用和子流程引用,创建后保持不变。`})]}),/* @__PURE__ */ X(Mr,{path:`name`,label:`工作流名称`,errors:I,children:[/* @__PURE__ */ Y(i,{"aria-label":`工作流名称`,maxLength:120,showClear:!0,value:p.name,onChange:e=>N({...p,name:e})}),/* @__PURE__ */ X(`small`,{children:[p.name.trim().length,` / 120`]})]})]}),/* @__PURE__ */ X(`fieldset`,{disabled:j,children:[/* @__PURE__ */ Y(`legend`,{children:`执行身份`}),/* @__PURE__ */ X(Mr,{path:`actorId`,label:`执行账号`,errors:I,children:[/* @__PURE__ */ Y(a,{"aria-label":`执行账号`,filter:!0,loading:k.isFetching,disabled:j||!!k.error,value:p.actorId,optionList:ce,onChange:e=>N({...p,actorId:Number(e)})}),k.error&&/* @__PURE__ */ X(`div`,{role:`alert`,children:[`账号加载失败:`,k.error.message,/* @__PURE__ */ Y(F,{loading:k.isFetching,onClick:()=>void k.refetch(),children:`重新加载账号`})]}),/* @__PURE__ */ Y(`small`,{children:`流程以该账号身份执行。停用账号或撤销权限立即影响后续操作;每次执行仍校验权限和数据范围。`})]}),w&&/* @__PURE__ */ X(`p`,{role:`status`,children:[w.issues.some(e=>e.path===`actorId`)?`执行身份预检查未通过`:`执行身份预检查通过 · ${w.permissions.length} 项节点权限`,`。未完成的节点仍需发布校验。`]})]}),/* @__PURE__ */ Y(kr,{workflowId:e.uuid,client:n,value:p.limits??{maxConcurrency:0},onChange:e=>N({...p,limits:e}),disabled:j,issues:I}),/* @__PURE__ */ X(`fieldset`,{disabled:j,children:[/* @__PURE__ */ Y(`legend`,{children:`触发配置`}),/* @__PURE__ */ X(Mr,{path:`trigger.kind`,label:`触发方式`,errors:I,children:[/* @__PURE__ */ Y(a,{"aria-label":`触发方式`,disabled:j,value:p.trigger.kind,optionList:We,onChange:e=>ue(e)}),/* @__PURE__ */ Y(`small`,{children:`切换触发方式会更新入口数据结构,请重新检查下游变量绑定。`})]}),p.trigger.kind===`event`&&/* @__PURE__ */ X(Mr,{path:`trigger.source`,label:`数据表或专用业务事件`,errors:I,children:[/* @__PURE__ */ Y(a,{"aria-label":`触发数据表`,filter:!0,disabled:j,placeholder:`选择系统表或业务表`,value:p.trigger.source||void 0,optionList:t.sources.map(e=>({value:e.name,label:e.recordTable?`${e.recordTable.name.startsWith(`system.`)?`系统表`:`业务表`} · ${e.recordTable.title}`:`专用事件 · ${e.title??e.name}`})),onChange:e=>{let n=t.sources.find(t=>t.name===String(e));P({source:String(e),inputSchema:n?.schema??{type:`object`},record:n?.recordTable?{operations:[n.recordTable.operations[0]],watchFields:[],requiredFields:[],match:`all`,conditions:[]}:void 0})}}),B?.description&&/* @__PURE__ */ Y(`small`,{children:B.description}),!t.sources.length&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:`宿主尚未注册业务事件。`}),B?.recordTable&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(Dr,{table:B.recordTable,value:p.trigger.record??{operations:[B.recordTable.operations[0]],watchFields:[],requiredFields:[],match:`all`,conditions:[]},onChange:e=>P({record:e}),disabled:j}),I.filter(e=>e.path.startsWith(`trigger.record`)).map((e,t)=>/* @__PURE__ */ Y(`p`,{role:`alert`,children:e.message},t))]}),/* @__PURE__ */ Y(`small`,{children:`只提供已启用且有读取权限的数据表;业务事务提交后触发,不包含查询事件。`})]}),p.trigger.kind===`schedule`&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(Mr,{path:`trigger.cron`,label:`执行计划`,errors:I,children:[/* @__PURE__ */ Y(a,{"aria-label":`执行计划快捷配置`,disabled:j,value:de,optionList:Ve.map(({value:e,label:t})=>({value:e,label:t})),onChange:e=>{ne(e===`custom`);let t=Ve.find(t=>t.value===e);t?.cron&&P({cron:t.cron})}}),/* @__PURE__ */ Y(i,{"aria-label":`六段 Cron`,value:p.trigger.cron,placeholder:`秒 分 时 日 月 周`,onChange:e=>{ne(!0),P({cron:e})}}),/* @__PURE__ */ Y(`small`,{children:`六段格式:秒 分 时 日 月 周。例如 0 0 9 * * * 为每天 09:00。`})]}),/* @__PURE__ */ X(Mr,{path:`trigger.timezone`,label:`时区`,errors:I,children:[/* @__PURE__ */ Y(a,{"aria-label":`时区`,filter:!0,allowCreate:!0,disabled:j,value:p.trigger.timezone,optionList:fe,onChange:e=>P({timezone:String(e)})}),/* @__PURE__ */ Y(`small`,{children:`允许输入其他 IANA 时区;Go 按所选时区计算夏令时。`})]}),/* @__PURE__ */ X(`div`,{className:`arc-settings-schedule`,children:[/* @__PURE__ */ Y(F,{disabled:j,loading:A.isPending,onClick:()=>void L(),children:`预览执行时间`}),w&&/* @__PURE__ */ Y(`ol`,{"aria-label":`最近五次执行时间`,children:w.nextRuns.map(e=>/* @__PURE__ */ Y(`li`,{children:new Intl.DateTimeFormat(`zh-CN`,{timeZone:p.trigger.timezone,dateStyle:`medium`,timeStyle:`medium`,hour12:!1}).format(new Date(e))},e))}),/* @__PURE__ */ Y(`small`,{children:`执行输入仅包含系统生成的 scheduledAt,不能要求其他必填参数;停机错过多个时间点时只补最近一次。发布并启用后生效。`})]})]}),p.trigger.kind===`api`&&/* @__PURE__ */ X(`div`,{className:`arc-settings-api`,children:[/* @__PURE__ */ X(R,{children:[`POST `,Fe(Q.trigger.path,{id:e.uuid})]}),/* @__PURE__ */ Y(`small`,{children:`调用已发布且启用的版本。使用 Cookie+CSRF 或具备 host:automation:trigger 权限的 API Key;此处不生成或展示秘密。`}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`调用示例`}),/* @__PURE__ */ Y(`pre`,{children:he}),/* @__PURE__ */ Y(F,{onClick:()=>void xe(he),children:`复制 GoaClient 示例`}),/* @__PURE__ */ Y(`small`,{children:`API Key 示例:将请求 JSON 保存为 workflow-input.json,替换服务地址及受限密钥。`}),/* @__PURE__ */ Y(`pre`,{children:`curl -X POST '<服务地址>${Fe(Q.trigger.path,{id:e.uuid})}' \\\n -H 'Authorization: Bearer <受限 API Key>' \\\n -H 'Content-Type: application/json' \\\n --data-binary @workflow-input.json`})]}),/* @__PURE__ */ Y(`small`,{children:`幂等键应使用业务事件的唯一标识;重复提交同一标识不会创建新执行。`})]})]}),/* @__PURE__ */ X(`fieldset`,{disabled:j,children:[/* @__PURE__ */ Y(`legend`,{children:`输入参数`}),/* @__PURE__ */ X(Mr,{path:`trigger.inputSchema`,label:p.trigger.kind===`event`?`事件输入结构(只读)`:`开始节点输入字段`,errors:I,children:[/* @__PURE__ */ Y(`small`,{children:p.trigger.kind===`event`?`由宿主维护,事件切换后自动展示对应结构。`:`与开始节点共用同一输入定义。高级约束会在字段编辑中保留。`}),/* @__PURE__ */ Y(`div`,{className:`arc-workflow-designer arc-wf-theme-${d} arc-settings-input-fields`,style:Vt(f),children:/* @__PURE__ */ Y(In,{schema:V,readOnly:j||p.trigger.kind===`event`||V.type!==void 0&&V.type!==`object`,onChange:e=>P({inputSchema:e}),onValidation:y},p.trigger.kind+`:`+p.trigger.source)}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`高级 JSON Schema`}),p.trigger.kind===`event`?/* @__PURE__ */ Y(`pre`,{children:JSON.stringify(V,null,2)}):/* @__PURE__ */ Y(jr,{value:V,onChange:e=>P({inputSchema:e}),onInvalid:_},p.trigger.kind)]}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`示例输入`}),/* @__PURE__ */ Y(`pre`,{children:JSON.stringify(pe??{},null,2)})]})]})]})]})})}function Pr(){return(Pr=e((()=>{Kn(),N(),Rn(),Wn(),ye(),z(),Se(),pn(),Or(),Ar()})))()}function Fr(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Ir(e,t){return e===t?!0:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>Ir(e,t[n])):Fr(e)&&Fr(t)?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(n=>Object.hasOwn(t,n)&&Ir(e[n],t[n])):!1}function Lr(e,t,n){return et(e,t).filter(e=>e.code!==`condition`).map(e=>({label:nt(e,n),valid:e.matched}))}function Rr(e){let t=Fr(e.before)?e.before:null,n=Fr(e.after)?e.after:null,r=e.operation,i=[];return(r===`created`||r===`member_added`?e.before!==null||!n:r===`deleted`||r===`member_removed`?e.after!==null||!t:!t||!n)&&i.push(`新增或成员加入需有变更后数据,删除或成员移除需有变更前数据,修改需有前后数据。`),t&&n&&t.id!==n.id&&i.push(`变更前后必须使用同一记录 ID。`),(t&&t.id!==e.recordId||n&&n.id!==e.recordId)&&i.push(`记录 ID 必须与变更数据中的 ID 一致。`),i}function zr(e,t,n,r,i,a={}){n=t===`created`||t===`member_added`?null:n,r=t===`deleted`||t===`member_removed`?null:r;let o=[.../* @__PURE__ */ new Set([...Object.keys(n??{}),...Object.keys(r??{})])].filter(e=>e!==`id`);return{table:e.name,operation:t,recordId:r?.id??n?.id??a.recordId??1,before:n,after:r,changedFields:o.filter(e=>!Hr(n?.[e],r?.[e])).sort(),actorId:i,requestId:typeof a.requestId==`string`&&a.requestId?a.requestId:`test-event`,occurredAt:typeof a.occurredAt==`string`&&a.occurredAt?a.occurredAt:(/* @__PURE__ */ new Date()).toISOString()}}function Br(e,t,n,r=t.operations[0]){let i=Fr(e.schema.properties)?e.schema.properties:{},a=/* @__PURE__ */ new Set([`id`,...Array.isArray(e.schema.required)?e.schema.required:[],...t.watchFields,...t.requiredFields,...t.conditions.map(e=>e.field)]);if(r===`updated`&&!t.watchFields.length){let t=e.fields.find(e=>e.name!==`id`&&[`integer`,`number`,`boolean`].includes(e.type))??e.fields.find(e=>e.name!==`id`);t&&a.add(t.name)}let o=Object.fromEntries(e.fields.filter(e=>{let t=i[e.name];return a.has(e.name)||Fr(t)&&Object.hasOwn(t,`default`)}).map(e=>{let t=i[e.name],n=Fr(t)?t:{},r=(/* @__PURE__ */ new Date()).toISOString(),a=n.default??n.const??(Array.isArray(n.enum)?n.enum[0]:void 0)??(e.name===`id`?1:e.type===`integer`||e.type===`number`?Math.max(1,typeof n.minimum==`number`?n.minimum:1):e.type===`boolean`?!0:e.type===`object`?{}:e.type===`array`?[]:n.format===`date`?r.slice(0,10):n.format===`date-time`?r:`测试${e.title}`);return[e.name,a]})),s=structuredClone(o),c=structuredClone(o);for(let n of t.match===`any`?t.conditions.slice(0,1):t.conditions){let t=n.scope===`before`?s:c,r=e.fields.find(e=>e.name===n.field),i=r?.type===`number`||r?.type===`integer`,a=n.value;n.operator===`empty`?a=null:n.operator===`not_empty`?a=t[n.field]??(i?1:`测试值`):n.operator===`neq`?a=typeof a==`number`?a+1:typeof a==`boolean`?!a:`${String(a)}(不同)`:(n.operator===`gt`||n.operator===`lt`)&&(a=typeof a==`number`?a+(n.operator===`gt`?1:-1):a),a!==void 0&&Object.defineProperty(t,n.field,{value:a,enumerable:!0,configurable:!0,writable:!0})}if(t.conditions.some(e=>e.field===`id`&&e.scope===`after`)?s.id=c.id:c.id=s.id,r===`updated`){let n=t.watchFields.length?t.watchFields:e.fields.map(e=>e.name).filter(e=>e!==`id`);if(!n.some(e=>!Hr(s[e],c[e]))){let e=n.find(e=>Object.hasOwn(c,e)&&!t.conditions.some(t=>t.scope===`before`&&t.field===e));if(e){let t=i[e],n=Fr(t)?t:{};Array.isArray(n.enum)?s[e]=n.enum.find(t=>!Hr(t,c[e]))??c[e]:typeof c[e]==`number`?s[e]=[c[e]+1,c[e]-1].find(e=>(typeof n.minimum!=`number`||e>=n.minimum)&&(typeof n.maximum!=`number`||e<=n.maximum))??c[e]:typeof c[e]==`boolean`?s[e]=!c[e]:typeof c[e]==`string`&&(s[e]=c[e]+`(修改前)`)}}}return zr(e,r,s,c,n)}async function Vr(e,t,n){let r=await e.call(Q.runSummaries,{query:{workflowId:t,page:1,pageSize:20}});for(let t of r.list.filter(e=>!e.nodeTest)){let r=await e.call(Q.run,{params:{runId:t.id},query:{compact:!0}}),i=r.graph.nodes.find(e=>e.type===`core.trigger`);if(!i||!r.nodes.some(e=>e.nodeId===i.id&&e.status===`succeeded`))continue;let a=await e.call(Q.nodeResult,{params:{runId:r.id,nodeId:i.id}});if(a.input.table===n)return{runId:r.id,input:a.input}}throw Error(`最近 20 次运行没有该数据表的完整事件输入,请先生成示例。`)}var Hr;function Ur(){return(Ur=e((()=>{Hr=Ir})))()}function Wr({checks:e,table:t,onNavigate:n}){return/* @__PURE__ */ Y(`div`,{className:`arc-event-checks`,children:e.map((e,r)=>/* @__PURE__ */ X(`div`,{className:e.matched?`is-matched`:`is-unmatched`,children:[/* @__PURE__ */ Y(R,{color:e.matched?`green`:`orange`,children:e.matched?`满足`:`未满足`}),/* @__PURE__ */ Y(`strong`,{children:nt(e,t)}),(`actual`in e||`expected`in e)&&/* @__PURE__ */ X(`small`,{children:[`实际:`,Gr(rt(e,e.actual,t)),` · 要求:`,Gr(rt(e,e.expected,t))]}),!e.matched&&n&&e.path.startsWith(`trigger`)&&/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>n(e.path),children:`定位当前设置`})]},e.path+`:`+r))})}var Gr;function Kr(){return(Kr=e((()=>{Wn(),N(),Gr=e=>{if(e===void 0)return`未提供`;let t=JSON.stringify(Mt(e,12,160,3).data);return t.length>160?t.slice(0,160)+`…`:t}})))()}var qr;function Jr(){return(Jr=e((()=>{qr=[`status`,`match`,`eventId`,`recordId`,[`startTime`,`endTime`]]})))()}function Yr({context:e,onClose:t,onApply:n}){let{client:r,workflowId:i}=e,a=Re(),[o,s]=q(),c=de({op:Q.eventList,useList:(e,t=!0)=>ut(Q.eventList,{params:{id:i},query:e},{enabled:t,requestOptions:{client:r},refetchInterval:3e3,refetchIntervalInBackground:!1}),table:{empty:`当前数据表没有可见的事件`}}),d=ut(Q.eventDetail,{params:{id:i,eventId:o??0}},{enabled:!!o,requestOptions:{client:r},refetchInterval:e=>e.state.data&&([`pending`,`dispatching`,`retrying`].includes(e.state.data.status)||$t(e.state.data))?3e3:!1,refetchIntervalInBackground:!1}),p=ut(Q.runtime,{enabled:!0,requestOptions:{client:r},refetchInterval:1e4,refetchIntervalInBackground:!1}),h=$(Q.retryEvent,{requestOptions:{client:r},invalidate:e=>Promise.all([Q.eventList,Q.eventDetail].map(t=>e.invalidateQueries({queryKey:lt(t)}))),onSuccess:e=>l.success(e.released?`已提交原事件重试`:`事件状态已变化,请刷新`),onError:e=>l.error(e.message)}),g=[{title:`事件`,dataIndex:`eventId`,minWidth:220,render:(t,n)=>/* @__PURE__ */ X(F,{theme:`borderless`,onClick:()=>s(n.id),children:[`#`,n.id,` · `,it(n.decision,e.table)]})},{title:`处理状态`,width:120,render:(e,t)=>/* @__PURE__ */ Y(R,{color:t.status===`retrying`?`orange`:`grey`,children:qe[t.status]})},{title:`提交时匹配`,width:125,render:(e,t)=>/* @__PURE__ */ Y(R,{color:t.decision?.matched?`green`:`orange`,children:t.decision?t.decision.matched?`已命中`:`未命中`:`无历史判断`})},{title:`工作流运行`,width:150,render:(e,t)=>t.outcomes.length?t.outcomes.map(e=>/* @__PURE__ */ Y(R,{color:e.runStatus===`succeeded`?`green`:e.runStatus===`failed`||e.status===`denied`||e.status===`failed`?`red`:`grey`,children:en(e)},e.workflowId)):`未创建运行`},{title:`分发次数`,dataIndex:`attempts`,width:100},f(`提交时间`,`occurredAt`),ue({width:100,actions:e=>[{key:`detail`,label:`详情`,onClick:()=>s(e.id)}]})];return/* @__PURE__ */ X(u,{title:`数据表事件分发记录`,visible:!0,onCancel:t,width:`min(1080px, 100vw)`,className:`arc-event-dispatch-panel`,children:[/* @__PURE__ */ Y(`p`,{children:`匹配原因来自提交时的配置。运行状态自动更新;已处理事件不能重放;失败事件保持原运行 ID,重试时重新检查执行账号与权限。`}),p.data&&/* @__PURE__ */ X(`p`,{role:`status`,children:[`待分发 `,p.data.pendingEvents,` · 分发重试 `,p.data.retryingEvents,` · 待入队 `,p.data.pendingAdmission,p.data.queues.map(e=>/* @__PURE__ */ X(`span`,{children:[` · `,e.name,`:排队 `,e.waiting,`,占用 `,e.active,`/`,e.concurrency]},e.name))]}),p.error&&/* @__PURE__ */ Y(L,{type:`warning`,closeIcon:null,description:`队列状态暂不可用,可继续查看事件;请稍后刷新。`}),c.listQuery.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:c.listQuery.error.message}),/* @__PURE__ */ Y(v,{searchConfig:m({page:c,filters:qr}),columns:g,...c.tableProps}),o&&/* @__PURE__ */ X(`section`,{className:`arc-event-detail`,children:[/* @__PURE__ */ X(`h3`,{children:[`事件 #`,o]}),d.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:d.error.message}),` `,d.isFetching&&!d.data&&/* @__PURE__ */ Y(`p`,{role:`status`,children:`正在读取真实事件…`}),d.data&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`p`,{children:it(d.data.decision,e.table)}),d.data.error&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:d.data.error}),d.data.decision&&/* @__PURE__ */ Y(Wr,{checks:d.data.decision.checks,table:e.table,onNavigate:n=>{t(),e.onNavigate?.(n)}}),/* @__PURE__ */ Y(F,{onClick:()=>n(d.data.input),children:`载入试运行输入`}),/* @__PURE__ */ Y(F,{loading:h.isPending,disabled:d.data.status!==`retrying`||!!d.data.retryAt&&Date.parse(d.data.retryAt)>Date.now(),onClick:()=>h.mutate({params:{id:i,eventId:o}}),children:`重试失败分发`}),d.data.outcomes.map(e=>/* @__PURE__ */ X(`div`,{className:`arc-event-outcome`,children:[/* @__PURE__ */ X(R,{children:[`发布 v`,e.version]}),/* @__PURE__ */ Y(R,{children:en(e)}),e.message&&/* @__PURE__ */ Y(`span`,{children:e.message}),e.deduplicated&&/* @__PURE__ */ Y(R,{children:`复用已有运行`}),e.runId&&/* @__PURE__ */ Y(F,{theme:`borderless`,onClick:()=>a(`/extensions/automation/inspect?runId=`+encodeURIComponent(e.runId)),children:`查看运行`})]},e.workflowId))]})]})]})}function Xr(){return(Xr=e((()=>{N(),fe(),d(),h(),le(),g(),Kr(),Jr()})))()}function Zr({client:e,workflowId:t,input:n,valid:r,onApply:o}){let[c,u]=q(!1),[d,f]=q(1),[p,m]=q(),[h,g]=q(``),_=ut(Q.testCases,{params:{id:t},query:{page:d,pageSize:20,archived:c}},{requestOptions:{client:e},refetchOnWindowFocus:!1}),v=e=>e.invalidateQueries({queryKey:lt(Q.testCases)}),y=e=>{m(e.id),g(e.name),l.success(`测试用例已保存`)},b=e=>l.error(e.message),x=$(Q.createTestCase,{requestOptions:{client:e},invalidate:v,onSuccess:y,onError:b}),S=$(Q.updateTestCase,{requestOptions:{client:e},invalidate:v,onSuccess:y,onError:b}),C=$(Q.renameTestCase,{requestOptions:{client:e},invalidate:v,onSuccess:y,onError:b}),w=$(Q.copyTestCase,{requestOptions:{client:e},invalidate:v,onSuccess:y,onError:b}),T=$(Q.archiveTestCase,{requestOptions:{client:e},invalidate:v,onSuccess:()=>{m(void 0),g(``),l.success(c?`测试用例已恢复`:`测试用例已移除,可在已移除列表恢复`)},onError:b}),E=_.data?.list.find(e=>e.id===p),D=x.isPending||S.isPending||C.isPending||w.isPending||T.isPending,O=async()=>{E&&await oe({title:c?`恢复测试用例?`:`移除测试用例?`,content:c?`恢复后占用一个活动用例名额,不执行节点。`:`保留输入快照并释放活动名额,可从已移除列表恢复。`,okText:c?`恢复`:`移除`})&&T.mutate({params:{id:t,caseId:E.id},body:{archived:!c,revision:E.revision}})};return/* @__PURE__ */ X(`section`,{className:`arc-event-test-cases`,children:[/* @__PURE__ */ Y(`strong`,{children:`保存的测试用例`}),/* @__PURE__ */ Y(`small`,{children:`最多 20 组活动用例;移除可恢复。选择用例后显式载入,载入不会执行节点。`}),/* @__PURE__ */ X(`label`,{children:[/* @__PURE__ */ Y(s,{"aria-label":`显示已移除用例`,checked:c,onChange:e=>{u(e),f(1),m(void 0),g(``)}}),` 显示已移除用例`]}),_.error&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(L,{type:`danger`,description:_.error.message,closeIcon:null}),/* @__PURE__ */ Y(F,{size:`small`,onClick:()=>void _.refetch(),children:`重新载入用例`})]}),/* @__PURE__ */ Y(a,{"aria-label":`选择事件测试用例`,loading:_.isFetching,placeholder:`选择已有用例`,value:p,optionList:_.data?.list.map(e=>({value:e.id,label:e.name+(e.valid?``:` · 已失效`)}))??[],onChange:e=>{let t=_.data?.list.find(t=>t.id===e);t&&(m(t.id),g(t.name))}}),E&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(R,{children:E.archived?`已移除`:E.valid?`输入有效`:`输入已失效`}),/* @__PURE__ */ X(`small`,{children:[`输入采集于草稿 r`,E.workflowRevision,` · 用例修订 r`,E.revision]}),E.issues.map(e=>/* @__PURE__ */ Y(L,{type:`warning`,description:e,closeIcon:null},e))]}),/* @__PURE__ */ Y(i,{"aria-label":`测试用例名称`,value:h,maxLength:120,placeholder:`例如:数量跨越阈值 / 未跨越阈值`,onChange:g}),/* @__PURE__ */ X(I,{wrap:!0,children:[!c&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(F,{size:`small`,loading:x.isPending,disabled:!r||!h.trim()||D,onClick:()=>n&&x.mutate(Q.createTestCase.input.parse({params:{id:t},body:{name:h.trim(),input:n}})),children:`保存为新用例`}),/* @__PURE__ */ Y(F,{size:`small`,disabled:!E?.valid||D,onClick:()=>E&&o(E.input,`已载入用例「${E.name}」 · 保存时草稿 r${E.workflowRevision}`),children:`载入用例`}),/* @__PURE__ */ Y(F,{size:`small`,loading:S.isPending,disabled:!E||!r||!h.trim()||D,onClick:()=>E&&n&&S.mutate(Q.updateTestCase.input.parse({params:{id:t,caseId:E.id},body:{name:h.trim(),input:n,revision:E.revision}})),children:`更新选中用例`}),/* @__PURE__ */ Y(F,{size:`small`,loading:w.isPending,disabled:!E?.valid||!h.trim()||D,onClick:()=>E&&w.mutate({params:{id:t,caseId:E.id},body:{name:h.trim(),revision:E.revision}}),children:`复制用例`})]}),/* @__PURE__ */ Y(F,{size:`small`,loading:C.isPending,disabled:!E||!h.trim()||D||E.name===h.trim(),onClick:()=>E&&C.mutate({params:{id:t,caseId:E.id},body:{name:h.trim(),revision:E.revision}}),children:`仅重命名`}),/* @__PURE__ */ Y(F,{size:`small`,loading:T.isPending,disabled:!E||D,onClick:()=>void O(),children:c?`恢复用例`:`移除用例`})]}),c&&!!_.data&&_.data.total>20&&/* @__PURE__ */ X(I,{children:[/* @__PURE__ */ Y(F,{size:`small`,disabled:d===1,onClick:()=>{f(d-1),m(void 0)},children:`上一页用例`}),/* @__PURE__ */ X(`span`,{children:[d,` / `,Math.ceil(_.data.total/20)]}),/* @__PURE__ */ Y(F,{size:`small`,disabled:d*20>=_.data.total,onClick:()=>{f(d+1),m(void 0)},children:`下一页用例`})]})]})}function Qr(){return(Qr=e((()=>{N(),z()})))()}function $r({context:e,filter:t,input:n,valid:r,onApply:i}){let{client:a,workflowId:o,revision:s}=e,[c,l]=q(),[u,d]=q(0),[f,p]=q([]),[m,h]=q(!1),[g,_]=q(``),[v,y]=q(!1),[b,x]=q(!1),S=K(0),C=K(!0);W(()=>{let e=S;return C.current=!0,()=>{C.current=!1,e.current++}},[]);let w=$(Q.listenEvents,{requestOptions:{client:a}}),T=ut(Q.pollEvents,{params:{id:o},query:{token:c?.token??``,after:u}},{enabled:!!c,requestOptions:{client:a},refetchInterval:2e3,retry:!1,refetchOnWindowFocus:!1,gcTime:0});W(()=>{T.data&&c&&(d(T.data.cursor),p(e=>[...new Map([...e,...T.data.events].map(e=>[e.id,e])).values()].slice(-50)))},[T.data,c]),W(()=>{T.error&&(_(T.error.message),l(void 0))},[T.error]),W(()=>{c&&c.revision!==s&&(l(void 0),_(`草稿修订已变化,请重新等待事件。`))},[s,c]);let E=async()=>{let t=++S.current;h(!0),_(``);try{let n=await e.prepareListen();if(!C.current||t!==S.current)return;let r=await w.mutateAsync({params:{id:o},body:{revision:n}});C.current&&t===S.current&&(l(r),d(r.after),p([]))}catch(e){C.current&&t===S.current&&_(e instanceof Error?e.message:`开始监听失败`)}finally{C.current&&t===S.current&&h(!1)}},D=()=>{S.current++,l(void 0)};return/* @__PURE__ */ X(`div`,{className:`arc-event-debug-tools`,children:[/* @__PURE__ */ X(`div`,{className:`arc-record-test-tools`,children:[/* @__PURE__ */ Y(F,{size:`small`,disabled:m||w.isPending,onClick:()=>c?D():void E(),children:c?`停止监听`:`等待真实事件`}),/* @__PURE__ */ Y(F,{size:`small`,onClick:()=>x(e=>!e),children:`测试用例`}),/* @__PURE__ */ Y(F,{size:`small`,onClick:()=>y(!0),children:`分发记录`})]}),c&&/* @__PURE__ */ X(`p`,{role:`status`,children:[`正在等待已提交的表变更。可在原业务页面操作;监听不会自动试运行。截止 `,/* @__PURE__ */ Y(me,{value:c.expiresAt,mode:`absolute`}),`。`]}),(m||w.isPending)&&/* @__PURE__ */ Y(`p`,{role:`status`,children:`正在准备监听…`}),g&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:g}),f.length>0&&/* @__PURE__ */ X(`details`,{open:!0,children:[/* @__PURE__ */ X(`summary`,{children:[`已捕获 `,f.length,` 条事件(最多保留最近 50 条)`]}),f.map(n=>/* @__PURE__ */ X(`div`,{className:`arc-event-capture`,children:[/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ X(R,{children:[Qe[n.input.operation],` · #`,String(n.input.recordId)]}),/* @__PURE__ */ X(R,{children:[`采集时:`,qe[n.status]]}),/* @__PURE__ */ Y(me,{value:n.occurredAt,mode:`absolute`})]}),/* @__PURE__ */ Y(`p`,{children:it(n.decision,e.table)}),/* @__PURE__ */ Y(F,{size:`small`,onClick:()=>i(n.input,`已载入真实事件 `+n.eventId+`;编辑后才执行测试。`),children:`用于试运行`}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`提交时的生产判断`}),n.decision?/* @__PURE__ */ Y(Wr,{checks:n.decision.checks,table:e.table,onNavigate:e.onNavigate}):/* @__PURE__ */ Y(`p`,{children:`没有历史诊断,不能按当前配置推算。`})]}),/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`当前草稿规则预览`}),/* @__PURE__ */ Y(Wr,{checks:et(t,n.input),table:e.table,onNavigate:e.onNavigate})]})]},n.id))]}),b&&/* @__PURE__ */ Y(Zr,{client:a,workflowId:o,input:n,valid:r,onApply:i}),v&&/* @__PURE__ */ Y(Yr,{context:e,onClose:()=>y(!1),onApply:e=>{i(e,`已从分发记录载入事件。`),y(!1)}})]})}function ei(){return(ei=e((()=>{N(),pe(),Xr(),Kr(),Qr()})))()}function ti({value:e,schema:t,visibleFields:n,onChange:r,onValidityChange:i}){let a=JSON.stringify(e,null,2),o=K(a),[s,c]=q(a);return W(()=>{a!==o.current&&(o.current=a,c(a))},[a]),/* @__PURE__ */ Y(jn,{schema:t,visibleFields:n,value:s,onValidityChange:i,onChange:e=>{c(e);try{let t=JSON.parse(e);Fr(t)&&(o.current=JSON.stringify(t,null,2))}catch{}r(e)}})}function ni({table:e,filter:t,schema:n,actorId:i,value:o,onChange:c,onValidityChange:l,onLoadRecent:u,debugContext:d}){let[f,p]=q(!1),[m,h]=q(!1),[g,_]=q(!1),[v,y]=q(!1),[b,x]=q(``),[S,C]=q(``),[w,T]=q(0),E=K(0),D=K(!0),O=K({value:o,onChange:c});O.current={value:o,onChange:c};let ee=K(null),[te,ne]=q(``);W(()=>{if(!te)return;let[e,...t]=te.split(`.`),n=ee.current?.querySelector(`[data-record-snapshot="${e}"]`),r=Array.from(n?.querySelectorAll(`[data-input-field]`)??[]).find(e=>e.dataset.inputField===t.join(`.`));if(!f&&!r){p(!0);return}let i=f?ee.current?.querySelector(`[aria-label="测试事件 JSON"]`):r?.querySelector(`input,textarea,[tabindex="0"]`);i?.scrollIntoView?.({block:`center`}),i?.focus(),ne(``)},[te,f,m]);let re=e=>{h(!0),/^(before|after)\./.test(e)||p(!0),ne(e)};W(()=>(D.current=!0,()=>{D.current=!1}),[]);let k=De(()=>{try{let e=JSON.parse(o);return Fr(e)?e:void 0}catch{return}},[o]),A=k?.operation,j=Fr(k?.before)?k.before:null,M=Fr(k?.after)?k.after:null,ie=k?Lr(t,k,e):[],ae=!!ie.length&&ie.every(e=>e.valid),N=k?Rr(k):[],P=De(()=>!It(o,n).errors.length,[n,o])&&!N.length,[I,L]=q(!0),[z,oe]=q(!0),se=A===`created`||A===`member_added`,ce=A===`deleted`||A===`member_removed`;W(()=>l(P&&(g||ae)&&(f||(se||I)&&(ce||z))),[P,g,ae,f,se,ce,I,z,l]);let B=e=>{E.current++,x(``),C(``),c(JSON.stringify(e,null,2))},V=(n=A)=>{L(!0),oe(!0),T(e=>e+1),B(Br(e,t,i,e.operations.includes(n)?n:t.operations[0]))},le=/* @__PURE__ */ new Set([`id`,...Array.isArray(e.schema.required)?e.schema.required:[],...t.watchFields,...t.requiredFields,...t.conditions.map(e=>e.field)]),ue=e.schema,de=m?void 0:[...le],fe=(t,n)=>{E.current++;try{let r=JSON.parse(n);if(Fr(r)){let n=t===`before`?r:j,a=t===`after`?r:M;r.id!==(t===`before`?j?.id:M?.id)&&(t===`before`&&a&&(a={...a,id:r.id}),t===`after`&&n&&(n={...n,id:r.id})),B(zr(e,A,n,a,i,k))}}catch{}},pe=async()=>{let e=++E.current,t=o;y(!0),C(``);try{let r=await u();if(!D.current||e!==E.current||O.current.value!==t)return;if(It(JSON.stringify(r.input),n).errors.length||Rr(r.input).length)throw Error(`历史事件与当前字段结构不兼容,请生成新示例。`);c(JSON.stringify(r.input,null,2)),T(e=>e+1),x(`已载入运行 `+r.runId+` 的事件输入,可继续编辑。`)}catch(t){D.current&&e===E.current&&C(t instanceof Error?t.message:`载入失败`)}finally{D.current&&y(!1)}},me=(e,t)=>{It(JSON.stringify(e),n).errors.length||Rr(e).length?C(`事件或用例与当前数据表字段不兼容,请生成新示例。`):(B(e),L(!0),oe(!0),T(e=>e+1),x(t))},he=j&&M?e.fields.filter(e=>!Ir(j[e.name],M[e.name])):[],ge=e=>e===void 0?`未提供`:JSON.stringify(Mt(e,16,200,3).data);return/* @__PURE__ */ X(`div`,{className:`arc-record-test-input`,ref:ee,children:[/* @__PURE__ */ X(`div`,{className:`arc-record-test-heading`,children:[/* @__PURE__ */ X(`strong`,{children:[`测试业务事件 · `,e.title]}),/* @__PURE__ */ X(`label`,{children:[`JSON `,/* @__PURE__ */ Y(s,{"aria-label":`事件 JSON 模式`,size:`small`,checked:f,onChange:p})]})]}),/* @__PURE__ */ Y(`p`,{children:`填写变更前后数据,事件元信息自动生成。输入本身不会修改数据表;后续节点会真实执行修改和外部请求。`}),/* @__PURE__ */ X(`div`,{className:`arc-record-test-tools`,children:[/* @__PURE__ */ Y(F,{size:`small`,onClick:()=>V(),children:`生成示例`}),/* @__PURE__ */ Y(F,{size:`small`,loading:v,onClick:()=>void pe(),children:`载入最近事件`})]}),d&&/* @__PURE__ */ Y($r,{context:d,filter:t,input:k,valid:P&&I&&z,onApply:me}),b&&/* @__PURE__ */ Y(`p`,{role:`status`,children:b}),S&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:S}),f||!k?/* @__PURE__ */ Y(r,{"aria-label":`测试事件 JSON`,rows:12,value:o,onChange:e=>{E.current++,c(e)}}):/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`label`,{className:`arc-record-test-operation`,children:[`触发操作`,/* @__PURE__ */ Y(a,{"aria-label":`测试事件操作`,value:A,optionList:e.operations.map(e=>({value:e,label:Qe[e]})),onChange:t=>{B(zr(e,t,j??M,M??j,i,k)),L(!0),oe(!0)}})]}),/* @__PURE__ */ X(`label`,{className:`arc-record-test-ignore`,children:[/* @__PURE__ */ Y(s,{"aria-label":`显示全部事件字段`,size:`small`,checked:m,onChange:h}),`显示全部字段`,/* @__PURE__ */ Y(`small`,{children:`默认显示 ID、必填和触发规则字段`})]}),/* @__PURE__ */ X(`div`,{className:`arc-record-test-snapshots`,children:[!se&&/* @__PURE__ */ X(`section`,{"data-record-snapshot":`before`,children:[/* @__PURE__ */ Y(`h4`,{children:`变更前数据`}),/* @__PURE__ */ Y(ti,{schema:ue,visibleFields:de,value:j??{},onChange:e=>fe(`before`,e),onValidityChange:L},`before:`+A+`:`+w)]}),!ce&&/* @__PURE__ */ X(`section`,{"data-record-snapshot":`after`,children:[/* @__PURE__ */ Y(`h4`,{children:`变更后数据`}),/* @__PURE__ */ Y(ti,{schema:ue,visibleFields:de,value:M??{},onChange:e=>fe(`after`,e),onValidityChange:oe},`after:`+A+`:`+w)]})]}),!!he.length&&/* @__PURE__ */ X(`div`,{className:`arc-record-test-diff`,children:[/* @__PURE__ */ Y(`strong`,{children:`变化字段`}),he.map(e=>/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(R,{color:`orange`,children:e.title}),/* @__PURE__ */ X(`code`,{children:[ge(j?.[e.name]),` → `,ge(M?.[e.name])]})]},e.name))]})]}),!P&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:N.length?N.join(` `):`事件输入结构不完整或字段类型错误,请检查数据或生成示例。`}),/* @__PURE__ */ X(`div`,{className:`arc-record-test-rules`,role:`status`,children:[/* @__PURE__ */ Y(`strong`,{children:ae?`满足当前触发规则`:`未满足当前触发规则`}),/* @__PURE__ */ Y(`div`,{children:ie.map(e=>/* @__PURE__ */ X(R,{color:e.valid?`green`:`orange`,children:[e.valid?`✓`:`×`,` `,e.label]},e.label))}),/* @__PURE__ */ Y(`small`,{children:`根据当前输入预览;正式事件仍由 Go 在提交后判断。`})]}),k&&/* @__PURE__ */ X(`details`,{children:[/* @__PURE__ */ Y(`summary`,{children:`逐项触发条件`}),/* @__PURE__ */ Y(Wr,{checks:et(t,k),table:e,onNavigate:d?.onNavigate})]}),!P&&/* @__PURE__ */ Y(`div`,{className:`arc-event-input-errors`,role:`alert`,children:It(o,n).errors.slice(0,20).map((e,t)=>/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>re(e.path),children:e.path||`事件输入`}),`:`,e.message]},t))}),!ae&&/* @__PURE__ */ X(`label`,{className:`arc-record-test-ignore`,children:[/* @__PURE__ */ Y(s,{"aria-label":`忽略触发规则测试节点`,size:`small`,checked:g,onChange:_}),`忽略触发规则,仅测试流程节点`]})]})}function ri(){return(ri=e((()=>{N(),Nn(),Wn(),Ur(),ei(),Kr()})))()}function ii({client:e,visible:t,onClose:n,onImported:r}){let[o,s]=q(),[c,d]=q(``),[f,p]=q(``),[m,h]=q([]),[g,_]=q(!1),[v,y]=q({}),[b,x]=q({}),[S,C]=q({}),w=Ct(t&&!!o?.credentials.length),T=xt(t&&!!o?.models.length),E=ut(Q.summaries,{query:{page:1,pageSize:200,published:!0}},{enabled:t&&!!o?.workflows.length,requestOptions:{client:e}}),D=$(Q.importDefinition,{requestOptions:{client:e},invalidate:vt,onSuccess:e=>{l.success(`已导入为新草稿`),O(),n(),r(e)}});function O(){s(void 0),d(``),p(``),h([]),y({}),x({}),C({})}function ee(){D.isPending||g||(O(),n())}async function te(e){if(e){if(O(),e.size>10485760)p(`定义文件不能超过 10 MB`);else{_(!0);try{let t=tn(await e.text());p(t.error),h(t.issues),t.document&&(s(t.document),d(t.document.name))}catch{p(`无法读取文件,请重新选择。`)}finally{_(!1)}}}}let ne=!!o&&o.credentials.every(e=>v[e.id])&&o.workflows.every(e=>b[`${e.id}:${e.version}`])&&o.models.every(e=>S[e.id]);return/* @__PURE__ */ Y(u,{title:`导入工作流定义`,visible:t,onCancel:ee,width:560,className:`arc-workflow-import`,children:/* @__PURE__ */ X(`div`,{className:`arc-automation-settings`,children:[/* @__PURE__ */ Y(`p`,{children:`只创建未发布、停用的新草稿。请明确选择本机的凭据、子流程版本和模型;不自动沿用来源环境的 ID。`}),/* @__PURE__ */ X(`label`,{children:[`定义文件`,/* @__PURE__ */ Y(`input`,{"aria-label":`工作流定义文件`,type:`file`,accept:`.json,application/json`,disabled:D.isPending||g,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,te(t)}})]}),g&&/* @__PURE__ */ Y(P,{}),o&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`label`,{children:[`工作流名称`,/* @__PURE__ */ Y(i,{"aria-label":`导入工作流名称`,value:c,maxLength:120,onChange:d})]}),o.credentials.map(e=>/* @__PURE__ */ X(`label`,{children:[`凭据:`,e.name,/* @__PURE__ */ Y(a,{"aria-label":`绑定凭据 ${e.name}`,loading:w.isFetching,value:v[e.id],style:{width:`100%`},placeholder:`选择同类型的本机凭据`,optionList:w.data?.filter(t=>t.kind===e.kind).map(e=>({value:e.id,label:e.name}))??[],onChange:t=>y(n=>({...n,[e.id]:Number(t)}))})]},e.id)),o.workflows.map(e=>{let t=`${e.id}:${e.version}`;return/* @__PURE__ */ X(`label`,{children:[`子流程:`,e.name,` v`,e.version,/* @__PURE__ */ Y(a,{"aria-label":`绑定子流程 ${e.name}`,loading:E.isFetching,value:b[t]?.id,style:{width:`100%`},placeholder:`选择本机已发布流程的当前版本`,optionList:E.data?.list.map(e=>({value:e.uuid,label:`${e.name} · v${e.publishedVersion}`}))??[],onChange:e=>{let n=E.data?.list.find(t=>t.uuid===e);n&&x(e=>({...e,[t]:{id:n.uuid,version:n.publishedVersion}}))}})]},t)}),o.models.map(e=>/* @__PURE__ */ X(`label`,{children:[`模型:`,e.name,/* @__PURE__ */ Y(a,{"aria-label":`绑定模型 ${e.name}`,loading:T.isFetching,value:S[e.id],style:{width:`100%`},placeholder:`选择宿主可用模型`,optionList:T.data?.models?.map(e=>({value:e.id,label:e.name}))??[],onChange:t=>C(n=>({...n,[e.id]:String(t)}))})]},e.id))]}),o&&!ne&&/* @__PURE__ */ Y(L,{type:`info`,closeIcon:null,description:`请绑定全部依赖后再导入;本机没有可用选项时,请先配置凭据、发布子流程或启用模型。`}),m.length>0&&/* @__PURE__ */ Y(`ul`,{"aria-label":`定义字段错误`,children:m.map((e,t)=>/* @__PURE__ */ Y(`li`,{children:e},t))}),[f,D.error?.message,w.error?.message,E.error?.message,T.error?.message].filter(Boolean).map((e,t)=>/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:e},t)),/* @__PURE__ */ Y(F,{theme:`solid`,disabled:!ne||!c.trim()||g||D.isPending,loading:D.isPending,onClick:()=>{o&&D.mutate({body:{document:o,name:c.trim(),credentialBindings:v,workflowBindings:b,modelBindings:S}})},children:`导入并设计`})]})})}function ai(){return(ai=e((()=>{N()})))()}function oi(e){return/* @__PURE__ */ Y(mt.Provider,{value:e.client,children:/* @__PURE__ */ Y(si,{...e})})}function si({client:e,user:t,hasPermission:n}){let r=Re(),[i,a]=q(!1),[o,s]=q(!1),[u,d]=q(`rename`),[f,p]=q(),h=$(Q.rename,{requestOptions:{client:e},invalidate:vt}),g=$(Q.copy,{requestOptions:{client:e},invalidate:vt}),_=$(Q.archive,{requestOptions:{client:e},invalidate:vt,onError:e=>l.error(e.message)}),b=H({entityName:`工作流`,defaults:{name:``},toValues:e=>({name:u===`copy`?e.name.slice(0,115)+` · 副本`:e.name}),save:{isPending:h.isPending||g.isPending,mutateAsync:({values:e})=>{if(!b.editing)throw Error(`请选择工作流`);let t={params:{id:b.editing.uuid},body:{name:e.name.trim(),revision:b.editing.revision}};return u===`copy`?g.mutateAsync(t):h.mutateAsync(t)}},successMessage:()=>u===`copy`?`已创建新草稿`:`名称已更新`,onSaved:e=>{e&&u===`copy`&&r(`/extensions/automation/designer?id=${e.uuid}`)}}),x=async t=>{p(t.id);try{let n=await ct(Q.exportDefinition,{params:{id:t.uuid}},{client:e}),r=URL.createObjectURL(new Blob([JSON.stringify(n,null,2)],{type:`application/json`})),i=window.document.createElement(`a`);i.href=r,i.download=`workflow-${t.uuid}.arcbase.json`,i.click(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}catch(e){l.error(e instanceof Error?e.message:`导出失败`)}finally{p(void 0)}},S=de({op:Q.summaries,useList:Tt,table:{empty:`没有符合条件的工作流,可重置筛选或创建新流程`}}),C=$(Q.create,{requestOptions:{client:e},invalidate:_t}),w=H({entityName:`工作流`,defaults:{name:``},save:{isPending:C.isPending,mutateAsync:async({values:e})=>{let n=D.data?.find(e=>e.kind===`hmac`);if(i&&(!T.data?.sources.some(e=>e.name===`inventory.quantity`)||!n))throw Error(`库存事件来源或 HMAC 凭据不可用,请检查配置`);return C.mutateAsync(Q.create.input.parse({body:{name:e.name.trim(),actorId:t.id,graph:i?Je(void 0,n.id):Ge(),trigger:{kind:i?`event`:`api`,source:i?`inventory.quantity`:``,cron:``,timezone:`Asia/Shanghai`,inputSchema:{type:`object`}}}}))}},onSaved:e=>{e&&r(`/extensions/automation/designer?id=${e.uuid}`)}}),T=xt(w.visible&&i),D=Ct(w.visible&&i),O=i&&(T.isFetching||D.isFetching),ee=!!T.data?.sources.some(e=>e.name===`inventory.quantity`)&&!!D.data?.some(e=>e.kind===`hmac`),te=$(Q.enabled,{requestOptions:{client:e},invalidate:(e,t,n)=>(e.invalidateQueries({queryKey:lt(Q.detail,{params:n.params})}),_t(e))}),ne=B({isEnabled:e=>e.enabled,disabled:e=>!n(`host:automation:manage`)||!e.publishedVersion||!!e.archived,toggle:(e,t)=>te.mutateAsync({params:{id:e.uuid},body:{enabled:t}}),confirmDisable:e=>({title:`停用工作流「${e.name}」?`,content:`停用后不再接受新的业务事件、定时或接口触发,已开始的运行不会因此撤销。`})}),re=e=>{a(e),w.openCreate()},k=[{title:`工作流`,dataIndex:`name`,minWidth:300,render:(e,t)=>/* @__PURE__ */ X(`div`,{className:`arc-automation-flow-name`,children:[/* @__PURE__ */ Y(`span`,{className:`arc-automation-flow-icon`,children:/* @__PURE__ */ Y(Bn,{name:`workflow`})}),/* @__PURE__ */ X(`div`,{className:`arc-automation-flow-info`,children:[/* @__PURE__ */ Y(F,{theme:`borderless`,title:e,className:`arc-automation-flow-link`,onClick:()=>r(`/extensions/automation/designer?id=${t.uuid}`),children:e}),/* @__PURE__ */ Y(Gn,{uuid:t.uuid}),/* @__PURE__ */ X(`small`,{children:[t.nodeCount,` 个节点`,t.nodeCount===t.rootNodeCount?``:`(主流程 ${t.rootNodeCount})`,` · 草稿 r`,t.revision]})]})]})},{title:`触发方式`,width:130,render:(e,t)=>/* @__PURE__ */ Y(R,{color:`violet`,children:ci[t.trigger.kind]})},{title:`发布状态`,dataIndex:`publishedVersion`,width:130,render:e=>e?/* @__PURE__ */ X(R,{color:`green`,children:[`已发布 v`,e]}):/* @__PURE__ */ Y(R,{children:`未发布`})},y,ne.column({title:`启用状态`,dataIndex:`enabled`,width:100}),ue({width:220,desktopInlineKeys:[`design`,`runs`],actions:e=>[{key:`design`,label:`设计`,onClick:()=>r(`/extensions/automation/designer?id=${e.uuid}`)},{key:`runs`,label:`运行记录`,onClick:()=>r(`/extensions/automation/runs?workflowId=${e.uuid}`)},{key:`rename`,label:`重命名`,hidden:!n(`host:automation:manage`)||e.archived,onClick:()=>{d(`rename`),b.openEdit(e)}},{key:`copy`,label:`复制为新草稿`,hidden:!n(`host:automation:manage`),onClick:()=>{d(`copy`),b.openEdit(e)}},{key:`export`,label:`导出定义`,loading:f===e.id,onClick:()=>x(e)},{key:`archive`,label:e.archived?`恢复归档`:`归档`,hidden:!n(`host:automation:manage`),danger:!e.archived,disabled:_.isPending,onClick:()=>{ce({title:e.archived?`恢复「${e.name}」?`:`归档「${e.name}」?`,okText:e.archived?`恢复`:`归档`,content:e.archived?`恢复后保持停用,需要手动启用。`:`停止新触发;草稿、发布历史和已有运行仍保留,可随时恢复。`,onOk:()=>_.mutateAsync({params:{id:e.uuid},body:{archived:!e.archived,revision:e.revision}})})}}]})],A=T.error??D.error;return/* @__PURE__ */ X(`div`,{className:`page-container arc-automation-list`,children:[/* @__PURE__ */ Y(`div`,{className:`arc-automation-page-heading`,children:/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(c.Title,{heading:4,children:`工作流`}),/* @__PURE__ */ Y(c.Text,{type:`tertiary`,children:`编辑草稿、发布流程并管理触发状态;列表按最近更新排列。`})]})}),S.listQuery.error&&/* @__PURE__ */ Y(L,{type:`danger`,closeIcon:null,description:`工作流加载失败:${S.listQuery.error.message}`,icon:null}),/* @__PURE__ */ Y(v,{searchConfig:m({page:S,filters:[`keyword`,`published`,`enabled`,`archived`],create:/* @__PURE__ */ Y(E,{permission:`host:automation:manage`,onClick:()=>re(!1),children:`新增工作流`}),actions:/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(F,{disabled:!n(`host:automation:manage`),onClick:()=>re(!0),children:`库存模板`}),/* @__PURE__ */ Y(F,{disabled:!n(`host:automation:manage`),onClick:()=>s(!0),children:`导入定义`})]})}),columns:k,...S.tableProps}),/* @__PURE__ */ Y(ii,{client:e,visible:o,onClose:()=>s(!1),onImported:e=>r(`/extensions/automation/designer?id=${e.uuid}`)}),/* @__PURE__ */ Y(ve,{modal:b,title:u===`copy`?`复制工作流`:`重命名工作流`,header:u===`copy`?/* @__PURE__ */ Y(`p`,{children:`仅复制草稿定义;新流程未发布且停用,不复制运行记录。`}):void 0,children:/* @__PURE__ */ Y(ae.Input,{field:`name`,label:`工作流名称`,maxLength:120,rules:[{required:!0,message:`请输入名称`},{validator:(e,t)=>typeof t==`string`&&!!t.trim(),message:`名称不能为空白`}]})}),/* @__PURE__ */ Y(ve,{modal:w,title:i?`从库存模板创建`:`创建工作流`,okText:`创建并设计`,okButtonProps:{...w.modalProps.okButtonProps,"aria-label":`创建并设计`,disabled:C.isPending||O||i&&!ee},header:/* @__PURE__ */ X(`div`,{className:`arc-automation-create-help`,children:[/* @__PURE__ */ Y(c.Paragraph,{type:`tertiary`,children:i?`创建后请在画布中配置 Webhook 地址,再保存和发布。`:`创建仅保存草稿;编辑、校验并发布后才可启用。`}),i&&!O&&!ee&&/* @__PURE__ */ Y(L,{type:`warning`,closeIcon:null,description:A?`模板配置加载失败:${A.message}`:`库存模板需要 inventory.quantity 事件来源和 HMAC 凭据。请配置后重新打开。`}),i&&!O&&!D.data?.some(e=>e.kind===`hmac`)&&/* @__PURE__ */ Y(F,{onClick:()=>r(`/extensions/automation/credentials`),children:`管理连接凭据`})]}),children:/* @__PURE__ */ Y(ae.Input,{field:`name`,label:`工作流名称`,placeholder:i?`例如:库存阈值通知`:`输入工作流名称`,maxLength:120,rules:[{required:!0,message:`请输入工作流名称`},{validator:(e,t)=>typeof t==`string`&&!!t.trim(),message:`工作流名称不能为空白`}]})})]})}var ci;function li(){return(li=e((()=>{N(),fe(),he(),_e(),d(),V(),D(),h(),le(),g(),Wn(),z(),ai(),Kn(),ci={event:`业务事件`,schedule:`定时调度`,api:`接口调用`}})))()}function ui({error:e}){return e?/* @__PURE__ */ Y(`div`,{role:`alert`,className:`arc-automation-error`,children:e.message}):null}function di(e){let[t]=ze();return/* @__PURE__ */ Y(mt.Provider,{value:e.client,children:/* @__PURE__ */ Y(fi,{...e},t.get(`id`)??``)})}function fi(e){let{client:t}=e,i=ir(t),[a]=ze(),o=Re(),s=kt(),c=ln(),u=dn(),d=a.get(`id`)??``,f=st.safeParse(d).success,{state:p,setBreakpoints:m,setDebugEnabled:h,setDraft:g,setPreparingTest:_,setSettings:v,setTestOpen:y,setTestInput:b,setRunId:x,setSelectedNodeId:S,setLocalIssues:C,setSettingsDirty:w,setSettingsFocus:T,setTestInputValid:E,setVersionsOpen:D,setTestNodeId:O,setNodeTestInput:ee,setNodeTestSelection:te,setNodeTestLabel:ne,setNodeTestSchema:re,setNodeTestContext:k,setNodeTestContextError:A,invalidateExecution:j,runStarted:M,validationCompleted:ie,draftSaved:ae}=Ot(d),{breakpoints:N,debugEnabled:L,draft:z,preparingTest:oe,settings:se,testOpen:ce,testInput:B,runId:V,issues:le,validated:ue,selectedNodeId:de,localIssues:fe,settingsDirty:pe,settingsFocus:me,testInputValid:he,versionsOpen:ge,testNodeId:H,nodeTestInput:_e,nodeTestSelection:ve,nodeTestLabel:ye,nodeTestSchema:be,nodeTestContext:xe,nodeTestContextError:Se}=p,we=ut(Q.detail,{params:{id:d}},{enabled:f,refetchOnWindowFocus:!1,requestOptions:{client:t}}),Te=we.data?.id??0,U=d,Ee=Sr(e.user.id,`workflow:`+Te),G=Cr(e.user.id,Te),De=K(void 0),q=xt(),Oe=Ct(),ke=K(!1),Z=z??we.data,Ae=Ut(V??``,t),je=K(void 0);W(()=>{if(!Z||!q.data)return;let t=Te+`:`+Z.trigger.kind+`:`+(Z.trigger.kind===`event`?Z.trigger.source:JSON.stringify(Z.trigger.inputSchema));if(je.current===t)return;je.current=t;let n=Z.trigger.kind===`event`?q.data.sources.find(e=>e.name===Z.trigger.source):void 0,r=n?.schema??Z.trigger.inputSchema,i=n?.recordTable&&Z.trigger.record?Br(n.recordTable,Z.trigger.record,e.user.id):Z.trigger.kind===`event`&&Z.trigger.source===`inventory.quantity`?{itemId:1,before:{quantity:12},after:{quantity:8}}:Pt(r);b(JSON.stringify(i&&typeof i==`object`&&!Array.isArray(i)?i:{},null,2))},[Te,Z,q.data,e.user.id,b]);let Me=fe.some(e=>e.code===`json_invalid`||e.code===`schema_invalid`);En(!!z||Me||pe);let{save:Ne,publish:Pe,enabled:Fe,validation:Ie,updateCache:Le}=Cn({client:t,reference:d,current:Z,runId:V,remember:G.remember,editor:{draftSaved:ae,validationCompleted:ie}}),{test:Be,testNode:Ve,debug:He}=wn({client:t,remember:G.remember,editor:{runStarted:M}});W(()=>{if(!we.data)return;let t=e.user.id+`:`+Te;De.current!==t&&(De.current=t,G.bookmark?.revision===we.data.revision&&x(G.bookmark.runId))},[we.data,Te,e.user.id,G.bookmark,x]);let We=K(void 0),{data:Ge,loadNode:qe}=Ae;W(()=>{let e=Ge;if(!e||e.nodeTest||e.id!==G.bookmark?.runId||We.current===e.id||e.workflowId!==Te)return;let t=e.nodes.find(t=>e.graph.nodes.some(e=>e.id===t.nodeId&&e.type===`core.trigger`));We.current=e.id,t&&qe(t.nodeId).then(()=>{let n=s.getQueryData(Ht(e.id))?.nodes.find(e=>e.nodeId===t.nodeId);We.current===e.id&&n&&!n.dataOmitted&&b(JSON.stringify(n.input??{},null,2))}).catch(()=>{})},[Ge,qe,Te,s,G.bookmark,b]);let Je=e=>{(!Z||Ke(Z,e).length)&&(G.remember(void 0),j()),g(e)},Xe=()=>o(`/extensions/automation/workflows`);if(!f)return/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace`,children:[/* @__PURE__ */ Y(F,{onClick:Xe,children:`返回列表`}),/* @__PURE__ */ Y(`p`,{children:`工作流 UUID 不正确`})]});if(we.error||q.error)return/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace`,children:[/* @__PURE__ */ Y(F,{onClick:Xe,children:`返回列表`}),/* @__PURE__ */ Y(ui,{error:we.error??q.error})]});if(!Z||!q.data)return/* @__PURE__ */ Y(P,{});let Ze=!!Z.archived||oe||Ne.isPending||Pe.isPending||Fe.isPending||Ie.isPending||Be.isPending||Ve.isPending||He.isPending,Qe=Z.trigger.kind===`event`?q.data.sources.find(e=>e.name===Z.trigger.source):void 0,$e=()=>Ie.mutateAsync({body:{name:Z.name,actorId:Z.actorId,graph:Z.graph,trigger:Z.trigger}}),et=async()=>{(await $e()).valid&&await Pe.mutateAsync({params:{id:U},body:{revision:Z.revision}})},tt=async(e=`continue`)=>{if(ke.current)return;let t,r;try{let e=JSON.parse(H?_e:B);if(!e||typeof e!=`object`||Array.isArray(e))throw Error();t=e}catch{l.error(`测试输入须为合法 JSON 对象`);return}try{r=H&&ve?.path.length?Ye.parse(JSON.parse(xe)):void 0}catch{l.error(`单节点迭代上下文无效`);return}ke.current=!0,_(!0);try{if((!H||!ve)&&!(await $e()).valid)return;let i=z?await Ne.mutateAsync({id:U,values:{...Z}}):Z;if(H&&ve){await Ve.mutateAsync(Q.testNode.input.parse({params:{id:U},body:{revision:i.revision,...ve,context:r,input:t}}));return}if(L||e===`step`){let{resolveWorkflowSelection:r}=await n(async()=>{let{resolveWorkflowSelection:e}=await import(`@fudanda/workflow`);return{resolveWorkflowSelection:e}},[],import.meta.url);await He.mutateAsync(Q.debug.input.parse({params:{id:U},body:{revision:i.revision,input:t,mode:e,breakpoints:N.flatMap(e=>{let t=r(i.graph,e);return t?[[...t.path,t.node.id]]:[]})}}))}else await Be.mutateAsync(Q.test.input.parse({params:{id:U},body:{revision:i.revision,input:t}}))}catch{}finally{ke.current=!1,_(!1)}};return/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace`,onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&!e.altKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),!se&&!Ze&&!Me&&z&&Ne.mutate({id:U,values:{...Z}}))},children:[/* @__PURE__ */ Y(zn,{info:/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace-title`,children:[/* @__PURE__ */ Y(F,{"aria-label":`返回工作流列表`,onClick:Xe,children:/* @__PURE__ */ Y(Bn,{name:`back`})}),/* @__PURE__ */ Y(`span`,{className:`arc-automation-flow-icon`,children:/* @__PURE__ */ Y(Bn,{name:`workflow`})}),/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(`strong`,{children:Z.name}),/* @__PURE__ */ Y(Gn,{uuid:Z.uuid}),/* @__PURE__ */ X(`small`,{children:[Ue[Z.trigger.kind],` · 草稿 r`,Z.revision,` `,`· 发布 v`,Z.publishedVersion||`—`]})]}),/* @__PURE__ */ Y(R,{color:Z.archived?`grey`:z||Me?`orange`:`green`,children:Z.archived?`已归档 · 只读`:z||Me?`有未保存修改`:`已保存`})]}),actions:/* @__PURE__ */ X(I,{wrap:!0,children:[/* @__PURE__ */ Y(F,{onClick:()=>D(!0),children:`发布历史`}),/* @__PURE__ */ Y(F,{disabled:Ze,onClick:()=>{T(void 0),v(!0)},children:`工作流设置`}),/* @__PURE__ */ Y(F,{disabled:Ze||Me,onClick:()=>void $e(),children:`校验`}),/* @__PURE__ */ Y(F,{disabled:Ze||Me,onClick:()=>Ne.mutate({id:U,values:{...Z}}),children:`保存草稿`}),/* @__PURE__ */ Y(F,{theme:`solid`,disabled:Ze||Me||!!z,onClick:()=>void et(),children:`发布`}),/* @__PURE__ */ Y(F,{disabled:Ze||Me||!!z||!Z.publishedVersion,onClick:()=>Fe.mutate({params:{id:U},body:{enabled:!Z.enabled}}),children:Z.enabled?`停用`:`启用`})]})}),/* @__PURE__ */ Y(`div`,{className:`arc-automation-workspace-canvas`,children:/* @__PURE__ */ Y(Ce,{fallback:/* @__PURE__ */ Y(P,{}),children:/* @__PURE__ */ Y(yi,{...Ee,readOnly:Ze||se,onSidePanelClose:()=>y(!1),promptKit:i,breakpoints:N,onBreakpointChange:Z.archived?void 0:(e,t)=>{m(n=>t?[...n.filter(t=>t!==e),e]:n.filter(t=>t!==e)),h(!0)},sidePanel:ce?/* @__PURE__ */ X(Pn,{title:H?`单节点测试 / ${ye}`:`测试运行`,onClose:()=>y(!1),className:`arc-automation-test-panel`,footer:/* @__PURE__ */ X(I,{children:[!H&&/* @__PURE__ */ Y(F,{disabled:Ze||Me||!he||!!Se,onClick:()=>void tt(`step`),children:`单步开始`}),/* @__PURE__ */ Y(F,{theme:`solid`,loading:Be.isPending||Ve.isPending||He.isPending,disabled:Ze||Me||!he||!!Se,onClick:()=>void tt(),children:`执行真实测试`})]}),children:[z&&/* @__PURE__ */ Y(`p`,{role:`status`,children:`试运行将先保存当前草稿,再执行。`}),!H&&/* @__PURE__ */ X(`label`,{className:`arc-automation-debug-mode`,children:[/* @__PURE__ */ Y(`input`,{type:`checkbox`,"aria-label":`断点调试`,checked:L,onChange:e=>h(e.target.checked)}),`断点调试 · `,N.length,` 个断点`]}),!H&&Qe?.recordTable&&Z.trigger.record?/* @__PURE__ */ Y(ni,{debugContext:{client:t,workflowId:U,revision:Z.revision,table:Qe.recordTable,onNavigate:e=>{y(!1),T(e),v(!0)},prepareListen:async()=>{if(Me)throw Error(`请先修正未完成的字段`);return(z?await Ne.mutateAsync({id:U,values:{...Z}}):Z).revision}},table:Qe.recordTable,filter:Z.trigger.record,schema:Qe.schema,actorId:e.user.id,value:B,onChange:b,onValidityChange:E,onLoadRecent:()=>Vr(t,U,Qe.recordTable.name)},Te+`:`+Qe.name):/* @__PURE__ */ Y(jn,{schema:H?be:Z.trigger.kind===`event`?q.data.sources.find(e=>e.name===Z.trigger.source)?.schema??Z.trigger.inputSchema:Z.trigger.inputSchema,value:H?_e:B,onChange:H?ee:b,onValidityChange:E,description:(H?`输入为该节点解析后的参数;不会执行上游节点。`:`输入会传给开始节点。`)+`本次测试会真实执行业务修改和外部请求。`},H??`workflow`),H&&!!ve?.path.length&&/* @__PURE__ */ X(`div`,{className:`arc-automation-node-test-context`,children:[/* @__PURE__ */ Y(`strong`,{children:`迭代上下文`}),/* @__PURE__ */ X(`p`,{children:[`作用域:`,ve.path.join(` / `),`。仅标记本次独立测试;请输入已经解析的节点参数,不执行前驱、其他迭代或同级节点。`]}),/* @__PURE__ */ Y(r,{"aria-label":`单节点迭代上下文`,rows:5,value:xe,onChange:e=>{k(e);try{Ye.parse(JSON.parse(e)),A(``)}catch{A(`上下文需包含非负整数 index、可选 item 和对象 variables`)}}}),Se&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:Se})]}),V&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`div`,{className:`arc-automation-test-section`,children:[/* @__PURE__ */ Y(`strong`,{children:`运行结果`}),/* @__PURE__ */ Y(hi,{run:Ae.data,connection:Ae.connection}),/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>{G.remember(void 0),x(void 0)},children:`清除结果`})]}),/* @__PURE__ */ Y(gi,{runId:V,props:e,onNodeSelect:e=>{S(Ae.data?.nodeTest&&e===Ae.data.nodeTest.nodeId?Bt(Ae.data)?.[0]?.nodeId??e:e??null),y(!1)}}),/* @__PURE__ */ Y(mi,{runId:V,props:e,onRun:e=>{G.remember(e,Z.revision),x(e)}})]})]}):void 0,toolbarExtra:/* @__PURE__ */ Y(Vn,{disabled:Ze||Me,onClick:()=>{O(void 0),A(``),y(!0)}}),onNodeTest:(e,t)=>{n(async()=>{let{workflowNodeTestTarget:e}=await import(`@fudanda/workflow`);return{workflowNodeTestTarget:e}},[],import.meta.url).then(({workflowNodeTestTarget:n})=>{let r=n(Z.graph,e,t,Ae.data?.nodeTest?void 0:Ae.data?.nodes);r&&(O(e),te(r.selection),ne([...r.path,r.node.label||r.node.id].join(` / `)),re(r.node.type===`core.trigger`&&r.path.length?{type:`object`,properties:{index:{type:`integer`},item:{},variables:{type:`object`}}}:q.data.nodes.find(e=>e.type===r.node.type&&e.version===r.node.version)?.inputSchema??{type:`object`}),ee(JSON.stringify(r.node.type===`core.trigger`&&r.selection.context?r.selection.context:r.input,null,2)),k(JSON.stringify(r.selection.context??{},null,2)),A(``),y(!0))})},onNodeResultRequest:e=>Ae.loadNode(Ae.data?.nodeTest?.nodeId??e),nodeRuns:Bt(Ae.data),selectedNodeId:de,onNodeSelect:e=>{S(e),e&&y(!1)},diagnostics:le,value:Z.graph,catalog:q.data.nodes,models:q.data.models,sources:q.data.sources.map(e=>e.name),onInputSchemaChange:Z.trigger.kind===`event`?void 0:e=>Je({...Z,trigger:At.parse({...Z.trigger,inputSchema:e})}),sourceSchemas:Z.trigger.kind===`event`?Object.fromEntries(q.data.sources.filter(e=>e.name===Z.trigger.source).map(e=>[e.name,e.schema])):{trigger:Z.trigger.inputSchema},credentials:Oe.data,theme:c,themeColors:u,height:`100%`,onChange:e=>Je({...Z,graph:e}),onValidationChange:C})})}),/* @__PURE__ */ X(`footer`,{className:`arc-automation-debug`,children:[/* @__PURE__ */ X(`div`,{className:`arc-automation-debug-heading`,children:[/* @__PURE__ */ Y(`strong`,{children:`调试与校验`}),/* @__PURE__ */ X(`small`,{children:[ue&&!le.length?`服务端校验通过`:`${(le.length?le:fe).length} 条诊断`,` `,`· 流程修改需显式保存`]}),V&&/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>y(!0),children:`查看测试结果`})]}),(le.length?le:fe).slice(0,4).map((e,t)=>/* @__PURE__ */ X(F,{theme:`borderless`,className:`arc-automation-diagnostic`,onClick:()=>{y(!1),e.nodeId?S(e.nodeId):(e.path===`name`||e.path===`actorId`||e.path.startsWith(`trigger`))&&(T(e.path),v(!0))},children:[e.nodeId?`${e.nodeId} / `:``,e.path,`:`,e.message]},t))]}),/* @__PURE__ */ Y(tr,{workflow:Z,client:t,visible:ge,dirty:!!z||Me,onClose:()=>D(!1),onRestored:Le}),se&&/* @__PURE__ */ Y(Nr,{workflow:Z,catalog:q.data,client:t,saving:Ne.isPending,focusPath:me,onDirtyChange:w,onClose:()=>v(!1),onSave:async e=>{let t={...Z,...e};await Ne.mutateAsync({id:U,values:t}),Ke(Z,t).length&&(G.remember(void 0),j())}},Te)]})}function pi(e,t){return Wt(e,t.client)}function mi({runId:e,props:t,onRun:n}){let{client:r}=t,i=pi(e,t),a=kt(),o={requestOptions:{client:r},onSuccess:e=>{e&&(a.setQueryData(Ht(e.id),e),gt(a),n(e.id))},onError:e=>l.error(e.message)},s=$(Q.cancel,o),c=$(Q.retry,o),u=$(Q.rerun,o),d=i.data,f=s.isPending||c.isPending||u.isPending;return/* @__PURE__ */ X(I,{wrap:!0,children:[/* @__PURE__ */ Y(F,{disabled:f||!d||![`pending`,`running`,`paused`].includes(d.status),onClick:()=>ce({title:`取消本次运行?`,content:`已完成的业务修改和外部请求不会撤销。`,onOk:()=>s.mutateAsync({params:{runId:e}}).then(()=>void 0)}),children:`取消运行`}),/* @__PURE__ */ Y(F,{disabled:f||d?.status!==`failed`,onClick:()=>c.mutate({params:{runId:e}}),children:`从失败处重试`}),/* @__PURE__ */ Y(F,{disabled:f||!d,onClick:()=>ce({title:`重新运行?`,content:`将创建新运行并重新执行节点,可能再次产生业务效果。`,onOk:()=>u.mutateAsync({params:{runId:e}}).then(()=>void 0)}),children:`重新运行`})]})}function hi({run:e,connection:t}){return!e||![`pending`,`running`,`paused`].includes(e.status)?null:/* @__PURE__ */ Y(R,{"aria-live":`polite`,"data-testid":`workflow-stream-connection`,color:t===`connected`?`green`:`orange`,children:t===`connected`?`实时连接`:t===`connecting`?`连接中`:`连接中断 · 正在恢复查询`})}function gi({runId:e,props:t,onNodeSelect:n}){let r=pi(e,t),i=Re(),a=r.data,o=a?Kt(a):[];return/* @__PURE__ */ X(`div`,{className:`arc-automation-debug-run`,children:[/* @__PURE__ */ X(`div`,{className:`arc-automation-run-overview`,children:[/* @__PURE__ */ Y(R,{color:a?.status===`failed`?`red`:a?.status===`succeeded`?`green`:`violet`,children:yt[a?.status??`pending`]}),/* @__PURE__ */ X(`span`,{children:[o.filter(e=>e.node.status===`succeeded`).length,` /`,` `,o.length,` 个已记录节点成功`]}),/* @__PURE__ */ Y(F,{size:`small`,theme:`borderless`,onClick:()=>i(`/extensions/automation/inspect?runId=`+encodeURIComponent(e)),children:`检查运行`})]}),/* @__PURE__ */ Y(`code`,{className:`arc-automation-run-id`,children:e}),a&&/* @__PURE__ */ Y(mr,{run:a,compact:!0,onSelect:e=>n?.(e)}),/* @__PURE__ */ Y(ui,{error:r.error}),a?.error&&/* @__PURE__ */ Y(`span`,{role:`alert`,children:a.error})]})}function _i(e){return/* @__PURE__ */ Y(mt.Provider,{value:e.client,children:/* @__PURE__ */ Y(vi,{props:e})})}function vi({props:e}){let[t]=ze(),n=Re(),r=t.get(`runId`)??``,i=ln(),a=dn(),o=xt(),s=Ut(r,e.client),c=s.data,l=Sr(e.user.id,`inspect:`+r),[u,d]=q(!0),[f,p]=q(!0),[m,h]=q(null),g=G(),_=()=>{p(!1),requestAnimationFrame(()=>{let e=document.getElementById(g),t=document.activeElement,n=e?.closest(`.arc-automation-workspace`)?.querySelector(`[data-workflow-designer]`);e&&(!t||t===document.body||n?.contains(t))&&e.focus({preventScroll:!0})})},v=Xt(c);W(()=>{h(null),d(!0),p(!0)},[r]),W(()=>{c?.debug?.pauseToken&&(d(!0),h(null))},[c?.debug?.pauseToken]);let y=e=>{h(e),d(!1)};return/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace`,children:[/* @__PURE__ */ Y(zn,{info:/* @__PURE__ */ X(`div`,{className:`arc-automation-workspace-title`,children:[/* @__PURE__ */ Y(F,{"aria-label":`返回运行列表`,onClick:()=>n(`/extensions/automation/runs`),children:`← 运行列表`}),/* @__PURE__ */ X(`div`,{children:[/* @__PURE__ */ Y(`strong`,{children:`运行检查`}),/* @__PURE__ */ X(`small`,{children:[r,` ·`,` `,c?.version===0?`草稿测试`:`版本 v`+(c?.version??`—`)]})]}),/* @__PURE__ */ Y(R,{color:c?.status===`failed`?`red`:c?.status===`succeeded`?`green`:`violet`,children:yt[c?.status??`pending`]}),/* @__PURE__ */ Y(hi,{run:c,connection:s.connection})]}),actions:/* @__PURE__ */ X(I,{wrap:!0,children:[!f&&/* @__PURE__ */ Y(F,{id:g,onClick:()=>p(!0),children:`节点执行记录`}),c?.debug&&c.status===`paused`&&/* @__PURE__ */ Y(F,{onClick:()=>d(!0),children:`断点控制`}),/* @__PURE__ */ Y(mi,{runId:r,props:e,onRun:e=>n(`/extensions/automation/inspect?runId=`+encodeURIComponent(e),{replace:!0})})]})}),/* @__PURE__ */ Y(ui,{error:s.error??o.error}),!r&&/* @__PURE__ */ Y(`p`,{role:`alert`,children:`请选择有效的运行记录。`}),c?.error&&/* @__PURE__ */ Y(`div`,{className:`arc-automation-error`,role:`alert`,children:c.error}),/* @__PURE__ */ Y(`div`,{className:`arc-automation-workspace-canvas`,children:c&&o.data?/* @__PURE__ */ Y(Ce,{fallback:/* @__PURE__ */ Y(P,{}),children:/* @__PURE__ */ Y(yi,{...l,value:c.graph,selectedNodeId:m??(c.status===`paused`?c.debug?.pausedNodeId:void 0),breakpointPaths:c.debug?.breakpoints,onNodeSelect:y,onNodeRunSelect:h,onSidePanelClose:()=>d(!1),sidePanel:u&&c.debug&&c.status===`paused`&&c.debug.pauseToken?/* @__PURE__ */ X(Pn,{title:`断点调试`,focusKey:c.debug.pauseToken,onFocusRestore:v.restored,onClose:()=>d(!1),children:[/* @__PURE__ */ Y(_r,{run:c,props:e,onProceed:v.proceed,onLoad:s.loadNode,onInspect:y},c.debug.pauseToken),/* @__PURE__ */ Y(`p`,{children:`修改输入仅影响本次节点执行,不改变草稿。执行前会重新检查账号与权限。`}),/* @__PURE__ */ X(`small`,{children:[`调试截止:`,/* @__PURE__ */ Y(me,{value:c.debug.expiresAt,mode:`absolute`})]})]}):void 0,catalog:o.data.nodes,models:o.data.models,onNodeResultRequest:e=>s.loadNode(e),nodeRuns:c.nodes,readOnly:!0,theme:i,themeColors:a,height:`100%`})}):!s.error&&!o.error&&r?/* @__PURE__ */ Y(P,{}):null}),f&&c&&/* @__PURE__ */ Y(Hn,{header:/* @__PURE__ */ X(`div`,{className:`arc-automation-debug-heading`,children:[/* @__PURE__ */ Y(`strong`,{tabIndex:-1,"data-workflow-records-heading":!0,children:`节点执行记录`}),/* @__PURE__ */ X(`small`,{children:[Kt(c).length,` 条 · 图结构 / 真实时间轴`]}),/* @__PURE__ */ Y(R,{children:yt[c.status]})]}),onClose:_,children:/* @__PURE__ */ Y(mr,{run:c,selected:m,onSelect:y},c.id)})]})}var yi;function bi(){return(bi=e((()=>{Tn(),N(),z(),Dn(),Wn(),Fn(),Nn(),Kn(),rr(),ar(),gr(),pe(),vr(),Er(),pn(),Pr(),ri(),Ur(),li(),t(),yi=we(async()=>{let e=await n(()=>import(`@fudanda/workflow`),[],import.meta.url);return await n(()=>import(`@fudanda/workflow/styles.css`),[],import.meta.url),{default:e.ArcBaseWorkflowDesigner}})})))()}function xi(){return{id:`automation`,title:`自动化`,icon:`Workflow`,pages:[{id:`workflows`,title:`工作流`,icon:`Workflow`,path:`/extensions/automation/workflows`,permission:`host:automation:manage`,component:oi},{id:`runs`,title:`运行记录`,icon:`History`,path:`/extensions/automation/runs`,permission:`host:automation:manage`,component:_n},{id:`credentials`,title:`连接凭据`,icon:`KeyRound`,path:`/extensions/automation/credentials`,permission:`host:automation:manage`,component:yn},{id:`designer`,title:`工作流设计器`,icon:`Workflow`,path:`/extensions/automation/designer`,permission:`host:automation:manage`,component:di,navigation:!1,layout:`workspace`},{id:`inspect`,title:`运行检查`,icon:`History`,path:`/extensions/automation/inspect`,permission:`host:automation:manage`,component:_i,navigation:!1,layout:`workspace`}]}}var Si;function Ci(){return(Ci=e((()=>{Sn(),bi(),Si=Object.values(Q)})))()}function wi(){return(wi=e((()=>{Ci()})))()}wi();export{Si as automationOperations,xi as createAutomationAdminModule};