pisper 0.5.2-linux-x64.0 → 0.5.2

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 (295) hide show
  1. package/README.en.md +224 -0
  2. package/README.md +78 -78
  3. package/bin/pisper.mjs +48 -0
  4. package/lib/install.mjs +392 -0
  5. package/lib/npm-platform.mjs +41 -0
  6. package/lib/npm-update.mjs +165 -0
  7. package/lib/platform.mjs +43 -0
  8. package/lib/postinstall.mjs +3 -0
  9. package/package.json +36 -14
  10. package/updater.pubkey +1 -0
  11. package/web/.vite/manifest.json +2326 -0
  12. package/web/assets/AnimatedContent-BiVNqD3m.js +1 -0
  13. package/web/assets/AnimatedList-D6P3Wwa6.js +1 -0
  14. package/web/assets/AppOverlays-DtsDAFVk.js +1 -0
  15. package/web/assets/AppSelect--dqy70Zh.js +1 -0
  16. package/web/assets/AssetsPage-CqikJ7bd.js +1 -0
  17. package/web/assets/ChannelsPage-4KQV1Uuw.js +1 -0
  18. package/web/assets/ChatHistoryPage-Soc6C0DX.js +1 -0
  19. package/web/assets/ChatPage-CKoD08Hs.js +8 -0
  20. package/web/assets/ClickSpark-BxLJ1PyT.js +1 -0
  21. package/web/assets/ConfigPage-DbeH-0Vq.js +1 -0
  22. package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  23. package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  24. package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  25. package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  26. package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  27. package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  28. package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  29. package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  30. package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  31. package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  32. package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  33. package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  34. package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  35. package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  36. package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  37. package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  38. package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  39. package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  40. package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  41. package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  42. package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  43. package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  44. package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  45. package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  46. package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  47. package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  48. package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  49. package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  50. package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  51. package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  52. package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  53. package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  54. package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  55. package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  56. package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  57. package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  58. package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  59. package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  60. package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  61. package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  62. package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  63. package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  64. package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  65. package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  66. package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  67. package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  68. package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  69. package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  70. package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  71. package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  72. package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  73. package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  74. package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  75. package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  76. package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  77. package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  78. package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  79. package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  80. package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  81. package/web/assets/MarkdownMessage-CLXr6tR2.js +1 -0
  82. package/web/assets/MemoryPage-C65Ml0Kk.js +1 -0
  83. package/web/assets/PageHeader-wYQsaIzH.js +1 -0
  84. package/web/assets/PluginsPage-WDW-MP0Z.js +1 -0
  85. package/web/assets/PreviewPages-BaBPZCa-.js +1 -0
  86. package/web/assets/SchedulesPage-DD0E7pbR.js +1 -0
  87. package/web/assets/ShinyText-K2BPzduJ.js +1 -0
  88. package/web/assets/SkillsPage-BMIKSMzv.js +1 -0
  89. package/web/assets/StarOrbit-BlI6MhVr.js +1 -0
  90. package/web/assets/TerminalPanel-BXLOd4AI.js +18 -0
  91. package/web/assets/TerminalPanel-BrP-ENHg.css +1 -0
  92. package/web/assets/Threads-CS40baGh.js +1 -0
  93. package/web/assets/WelcomeEffects-Cqgskdga.js +1 -0
  94. package/web/assets/WorkflowsPage-CSuSRaeP.js +1 -0
  95. package/web/assets/alert-B7D8joCd.js +1 -0
  96. package/web/assets/andromeeda-vGVdxbeo.js +1 -0
  97. package/web/assets/angular-html-17rlCfBS.js +1 -0
  98. package/web/assets/angular-ts-it3MaXWH.js +1 -0
  99. package/web/assets/app-primitives-B_kzSTuJ.js +1 -0
  100. package/web/assets/astro-BEVDzCov.js +1 -0
  101. package/web/assets/aurora-x-CDeNXAV0.js +1 -0
  102. package/web/assets/ayu-dark-DluEY0Gj.js +1 -0
  103. package/web/assets/ayu-light-C3h-C4tm.js +1 -0
  104. package/web/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  105. package/web/assets/badge-BNonIEif.js +1 -0
  106. package/web/assets/blade-B3yUZIOx.js +1 -0
  107. package/web/assets/brand-CFOXmGdd.js +1 -0
  108. package/web/assets/c-aGSZMVdM.js +1 -0
  109. package/web/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  110. package/web/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  111. package/web/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  112. package/web/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  113. package/web/assets/chevron-down-DybEa6xm.js +1 -0
  114. package/web/assets/circle-dot-BdcN0YM6.js +1 -0
  115. package/web/assets/code-block-2QN4kmKi.js +1 -0
  116. package/web/assets/coffee-ouOQ86EC.js +1 -0
  117. package/web/assets/copy-O4BLU533.js +1 -0
  118. package/web/assets/cpp-Bm3vm43L.js +1 -0
  119. package/web/assets/createLucideIcon-BEEvpXLl.js +1 -0
  120. package/web/assets/css-CWcS1xXm.js +1 -0
  121. package/web/assets/csv-Dx-8-gkx.js +1 -0
  122. package/web/assets/dark-plus-Cs2F2srj.js +1 -0
  123. package/web/assets/dist-24sBsNk3.js +1 -0
  124. package/web/assets/dist-B2WU7fS_.js +1 -0
  125. package/web/assets/dist-BkftCMO2.js +1 -0
  126. package/web/assets/dist-BmM8XOsV.js +1 -0
  127. package/web/assets/dracula-BHWKrbxM.js +1 -0
  128. package/web/assets/dracula-soft-5eyTD99u.js +1 -0
  129. package/web/assets/es2015-D3OlFTmJ.js +41 -0
  130. package/web/assets/everforest-dark-sB-x3p7T.js +1 -0
  131. package/web/assets/everforest-light-Df2xbC6M.js +1 -0
  132. package/web/assets/eye-BMzzoABY.js +1 -0
  133. package/web/assets/file-CvhJitS9.js +1 -0
  134. package/web/assets/file-code-corner-lCJOIDbw.js +1 -0
  135. package/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  136. package/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  137. package/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  138. package/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  139. package/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  140. package/web/assets/github-dark-C-LZuMrd.js +1 -0
  141. package/web/assets/github-dark-default-DXG-b-1a.js +1 -0
  142. package/web/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  143. package/web/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  144. package/web/assets/github-light-EUqPIrTm.js +1 -0
  145. package/web/assets/github-light-default-BXViO-2h.js +1 -0
  146. package/web/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  147. package/web/assets/glsl-TOBAB6bO.js +1 -0
  148. package/web/assets/graphql-BEmIBNve.js +1 -0
  149. package/web/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  150. package/web/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  151. package/web/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  152. package/web/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  153. package/web/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  154. package/web/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  155. package/web/assets/haml-CDWtFtU9.js +1 -0
  156. package/web/assets/handlebars-BNtjo3pL.js +1 -0
  157. package/web/assets/horizon-CE9ld1lL.js +1 -0
  158. package/web/assets/horizon-bright-DSNQnXHK.js +1 -0
  159. package/web/assets/houston-CsvMBhTu.js +1 -0
  160. package/web/assets/html-BVyvp26C.js +1 -0
  161. package/web/assets/html-derivative-BseLpURQ.js +1 -0
  162. package/web/assets/http-CkCfSMV9.js +1 -0
  163. package/web/assets/hurl-syYMt6Rn.js +1 -0
  164. package/web/assets/image-M6XRBbhu.js +1 -0
  165. package/web/assets/imba-DsUTQ-LC.js +1 -0
  166. package/web/assets/index-DoRSkbHW.js +6 -0
  167. package/web/assets/index-DpxwLREi.css +2 -0
  168. package/web/assets/java-duG_UTKe.js +1 -0
  169. package/web/assets/javascript-DWVbOe4X.js +1 -0
  170. package/web/assets/jinja-Boj4niAz.js +1 -0
  171. package/web/assets/jison-CHwnC1Pv.js +1 -0
  172. package/web/assets/json-qhed-kSA.js +1 -0
  173. package/web/assets/json5-BR5RXkoi.js +1 -0
  174. package/web/assets/jsonc-CYpm1nAK.js +1 -0
  175. package/web/assets/jsonl-CmCQp5Yx.js +1 -0
  176. package/web/assets/jsx-fcCEM_-L.js +1 -0
  177. package/web/assets/julia-VoF7UKfw.js +1 -0
  178. package/web/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  179. package/web/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  180. package/web/assets/kanagawa-wave-BML5mF2J.js +1 -0
  181. package/web/assets/laserwave-C_8bwKvT.js +1 -0
  182. package/web/assets/less-DVTAwKKz.js +1 -0
  183. package/web/assets/light-plus-DVQuIRkW.js +1 -0
  184. package/web/assets/link-2-Dd2E7M_B.js +1 -0
  185. package/web/assets/markdown-BYOwaDjH.js +1 -0
  186. package/web/assets/marko-Cupn1xhw.js +1 -0
  187. package/web/assets/material-theme-Bm3Qr25_.js +1 -0
  188. package/web/assets/material-theme-darker-2IIEA8gg.js +1 -0
  189. package/web/assets/material-theme-lighter-uhdI0v04.js +1 -0
  190. package/web/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  191. package/web/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  192. package/web/assets/mdc-4FfK5iWR.js +1 -0
  193. package/web/assets/mdx-DQZ5AkYe.js +1 -0
  194. package/web/assets/message-circle-Bi-lz-6t.js +1 -0
  195. package/web/assets/min-dark-BSWPekZh.js +1 -0
  196. package/web/assets/min-light-DDpmG2fV.js +1 -0
  197. package/web/assets/monokai-B_bV9PQ9.js +1 -0
  198. package/web/assets/network-UhG-ym-z.js +1 -0
  199. package/web/assets/night-owl-DhmEMT88.js +1 -0
  200. package/web/assets/night-owl-light-eJ-hLW7d.js +1 -0
  201. package/web/assets/nord-Cb4Vim4T.js +1 -0
  202. package/web/assets/one-dark-pro-CLwyXe_n.js +1 -0
  203. package/web/assets/one-light-D7Lr4KcI.js +1 -0
  204. package/web/assets/panel-top-BnVDkV60.js +1 -0
  205. package/web/assets/paperclip-D7mny7G8.js +1 -0
  206. package/web/assets/pencil-DpO4AUNy.js +1 -0
  207. package/web/assets/php-CUREQQ7f.js +1 -0
  208. package/web/assets/pick-system-directory-DiLmN6UZ.js +1 -0
  209. package/web/assets/plastic-DQwYfKfQ.js +1 -0
  210. package/web/assets/play-3QiwbcM7.js +1 -0
  211. package/web/assets/plus-CI2ql0x4.js +1 -0
  212. package/web/assets/poimandres-DRFjx7u4.js +1 -0
  213. package/web/assets/postcss-BXeXVLqQ.js +1 -0
  214. package/web/assets/progress-Byd1ZX3L.js +6 -0
  215. package/web/assets/pug-CQyGKZpv.js +1 -0
  216. package/web/assets/python-gzcpVVnB.js +1 -0
  217. package/web/assets/r-C5FwQflr.js +1 -0
  218. package/web/assets/react-bits-BFnYwuxx.css +1 -0
  219. package/web/assets/red-DX1BQOs8.js +1 -0
  220. package/web/assets/regexp--aR2_iz7.js +1 -0
  221. package/web/assets/rolldown-runtime-B0Z9INg1.js +1 -0
  222. package/web/assets/rose-pine-aMsaMD1D.js +1 -0
  223. package/web/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  224. package/web/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  225. package/web/assets/sass-DXrisJhu.js +1 -0
  226. package/web/assets/save-D--1z1bw.js +1 -0
  227. package/web/assets/scss-Davl4E3T.js +1 -0
  228. package/web/assets/search-CVBbTPAG.js +1 -0
  229. package/web/assets/shellscript-CLZ0U2zV.js +1 -0
  230. package/web/assets/shield-check-mwXhKsZm.js +1 -0
  231. package/web/assets/slack-dark-DnToyrRv.js +1 -0
  232. package/web/assets/slack-ochin-B2OO5cIa.js +1 -0
  233. package/web/assets/smithy-Dgaz7aur.js +1 -0
  234. package/web/assets/snazzy-light-4G7pJPwS.js +1 -0
  235. package/web/assets/solarized-dark-UdsmMDCL.js +1 -0
  236. package/web/assets/solarized-light-C1IUL_tW.js +1 -0
  237. package/web/assets/sql-b92rrcVl.js +1 -0
  238. package/web/assets/square-C7qN58NE.js +1 -0
  239. package/web/assets/square-terminal-C9TjK-fA.js +1 -0
  240. package/web/assets/storage-BbqIMx9Y.js +1 -0
  241. package/web/assets/stylus-B6D30XZt.js +1 -0
  242. package/web/assets/svelte-BfstjgUc.js +1 -0
  243. package/web/assets/switch-CDwl5ZJs.js +1 -0
  244. package/web/assets/synthwave-84-nFMaYfgc.js +1 -0
  245. package/web/assets/tabs-Bz7CDa49.js +1 -0
  246. package/web/assets/terminal-ClxNGVIF.js +1 -0
  247. package/web/assets/terminal-W3Nzf7fR.js +2 -0
  248. package/web/assets/tokyo-night-oM2G3aXe.js +1 -0
  249. package/web/assets/trash-2-CATziWCd.js +1 -0
  250. package/web/assets/ts-tags-Cckpt1jI.js +1 -0
  251. package/web/assets/tsx-JMDX3aQ7.js +1 -0
  252. package/web/assets/typescript-BAz-bF8J.js +1 -0
  253. package/web/assets/use-i18n-CubNtfu7.js +1 -0
  254. package/web/assets/usePagePrimaryAction-Bw0OFTDZ.js +1 -0
  255. package/web/assets/utils-C8uzG5AZ.js +1 -0
  256. package/web/assets/vendor-dockview-D5adAaCg.css +1 -0
  257. package/web/assets/vendor-dockview-yY5mBM3U.js +1 -0
  258. package/web/assets/vendor-markdown-lQaMEIxc.js +130 -0
  259. package/web/assets/vendor-markdown-plugins-ERG5SnGL.js +263 -0
  260. package/web/assets/vendor-motion-XxgxfZSY.js +9 -0
  261. package/web/assets/vendor-react-CHuvPdJE.js +9 -0
  262. package/web/assets/vendor-router-Bw2aAdMs.js +4 -0
  263. package/web/assets/vendor-shiki-runtime-DFSfH2tH.js +153 -0
  264. package/web/assets/vendor-state-DE1O_s6m.js +1 -0
  265. package/web/assets/vendor-ui-DvrYggeS.js +1 -0
  266. package/web/assets/vendor-xyflow-CnjXtcyK.js +7 -0
  267. package/web/assets/vendor-xyflow-DLioOiRN.css +1 -0
  268. package/web/assets/vesper-DdrHHSXu.js +1 -0
  269. package/web/assets/vitesse-black-fwtXNY1n.js +1 -0
  270. package/web/assets/vitesse-dark-BZCL-v6S.js +1 -0
  271. package/web/assets/vitesse-light-VbXTXTou.js +1 -0
  272. package/web/assets/vue-3H7P6ncC.js +1 -0
  273. package/web/assets/vue-html-DZGW9MGR.js +1 -0
  274. package/web/assets/vue-vine-BECt67gq.js +1 -0
  275. package/web/assets/wasm-BnjxR4X6.js +1 -0
  276. package/web/assets/wasm-ByWQv1Qj.js +1 -0
  277. package/web/assets/wgsl-BsKzXJz4.js +1 -0
  278. package/web/assets/wit-DdvCle-K.js +1 -0
  279. package/web/assets/wrench-BaMct6KV.js +1 -0
  280. package/web/assets/xml-CNfvW5JP.js +1 -0
  281. package/web/assets/yaml-rwi0_p6S.js +1 -0
  282. package/web/assets/zap-Ch1TQ5QU.js +1 -0
  283. package/web/favicon.svg +25 -0
  284. package/web/icons.svg +24 -0
  285. package/web/index.html +57 -0
  286. package/web/memory-galaxy-background.webp +0 -0
  287. package/web/notification-sw.js +13 -0
  288. package/web/release-notes.json +5 -0
  289. package/web/tauri-pet.css +117 -0
  290. package/web/tauri-pet.html +16 -0
  291. package/web/tauri-pet.js +117 -0
  292. package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz +0 -0
  293. package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz.sig +0 -1
  294. package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz +0 -0
  295. package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz.sig +0 -1
@@ -0,0 +1 @@
1
+ .xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
@@ -0,0 +1 @@
1
+ import{t as e}from"./vendor-react-CHuvPdJE.js";import{t}from"./utils-C8uzG5AZ.js";/* empty css */var n=e(),r=[`M-20 18 C120 0 170 76 320 42 S520 2 700 54 S920 104 1100 44`,`M-30 48 C110 82 200 6 350 48 S560 94 720 44 S930 2 1110 62`,`M-20 82 C130 42 220 112 390 68 S610 24 760 74 S940 118 1110 72`,`M-30 112 C120 142 260 72 420 112 S660 154 820 106 S980 62 1120 118`];function i({className:e,...i}){return(0,n.jsx)(`svg`,{"aria-hidden":`true`,className:t(`rb-threads`,e),preserveAspectRatio:`none`,viewBox:`0 0 1080 140`,...i,children:r.map((e,t)=>(0,n.jsx)(`path`,{d:e,style:{animationDelay:`${t*-.7}s`}},e))})}export{i as Threads};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./utils-C8uzG5AZ.js";import{H as i}from"./index-DoRSkbHW.js";/* empty css */var a=e(t(),1),o=n();function s({text:e,className:t,characters:n=`.:-=+*#%@`}){let i=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let t=i.current,r=t?.getContext(`2d`);if(!t||!r)return;let a=document.createElement(`canvas`),o=a.getContext(`2d`,{willReadFrequently:!0});if(!o)return;let s=0,c=0,l=0,u=0,d=new Uint8ClampedArray,f=()=>{let n=t.getBoundingClientRect(),i=Math.max(1,Math.round(n.width)),f=Math.max(1,Math.round(n.height));if(i===s&&f===c&&d.length)return;s=i,c=f;let p=Math.min(window.devicePixelRatio||1,2);t.width=Math.round(s*p),t.height=Math.round(c*p),r.setTransform(p,0,0,p,0,0),l=Math.max(24,Math.floor(s/5)),u=Math.max(9,Math.floor(c/6)),a.width=l,a.height=u,o.clearRect(0,0,l,u);let m=Math.min(u*.88,l/Math.max(1,e.length*.56));o.fillStyle=`#fff`,o.font=`900 ${m}px ui-sans-serif, system-ui, sans-serif`,o.textAlign=`center`,o.textBaseline=`middle`,o.fillText(e.toUpperCase(),l/2,u/2+u*.04),d=o.getImageData(0,0,l,u).data},p=()=>{f(),r.clearRect(0,0,s,c),r.fillStyle=getComputedStyle(t).color,r.textAlign=`center`,r.textBaseline=`middle`,r.globalAlpha=.07,r.font=`800 ${c*.42}px ui-monospace, SFMono-Regular, Menlo, monospace`,r.fillText(e.toUpperCase(),s/2,c/2),r.font=`${Math.max(6,c/u-1)}px ui-monospace, SFMono-Regular, Menlo, monospace`;let i=s/l,a=c/u;for(let e=0;e<u;e+=1)for(let t=0;t<l;t+=1){let o=d[(e*l+t)*4+3]||0;if(o<18)continue;let s=Math.min(1,o/255),c=(Math.sin(t*.42+e*.58)+1)/2,u=Math.min(n.length-1,Math.floor((s*.68+c*.32)*n.length));r.globalAlpha=.22+s*.62,r.fillText(n[u]||`#`,(t+.5)*i,(e+.5)*a)}r.globalAlpha=1},m=new ResizeObserver(p);return m.observe(t),p(),()=>m.disconnect()},[n,e]),(0,o.jsx)(`canvas`,{ref:i,className:r(`rb-ascii-text`,t),"aria-hidden":`true`})}function c({className:e,...t}){return(0,o.jsxs)(`div`,{"aria-hidden":`true`,className:r(`rb-aurora`,e),...t,children:[(0,o.jsx)(`i`,{}),(0,o.jsx)(`i`,{}),(0,o.jsx)(`i`,{})]})}function l({text:e,className:t,delay:n=45}){let i=e.split(/(\s+)/);return(0,o.jsx)(`span`,{className:r(`rb-blur-text`,t),"aria-label":e,children:i.map((e,t)=>/^\s+$/.test(e)?e:(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`rb-blur-text-word`,style:{"--rb-delay":`${t*n}ms`},children:e},`${e}-${t}`))})}function u({children:e,className:t,targetSelector:n=`[data-target-cursor]`}){let i=(0,a.useRef)(null),s=(0,a.useRef)(null),c=(0,a.useRef)(null),l=(0,a.useCallback)(()=>window.matchMedia(`(pointer: fine)`).matches&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,[]),u=(0,a.useCallback)(e=>{let t=i.current,n=c.current;if(!t||!n)return;let r=t.getBoundingClientRect(),a=e.getBoundingClientRect();n.style.transform=`translate3d(${a.left-r.left-7}px, ${a.top-r.top-7}px, 0)`,n.style.width=`${a.width+14}px`,n.style.height=`${a.height+14}px`,n.dataset.visible=`true`},[]),d=(0,a.useCallback)(e=>{if(!l())return;let t=i.current,r=s.current,a=c.current;if(!t||!r||!a)return;let o=t.getBoundingClientRect();r.style.transform=`translate3d(${e.clientX-o.left}px, ${e.clientY-o.top}px, 0)`,r.dataset.visible=`true`;let d=e.target?.closest(n);d&&t.contains(d)?u(d):a.dataset.visible=`false`},[l,u,n]),f=(0,a.useCallback)(()=>{s.current&&(s.current.dataset.visible=`false`),c.current&&(c.current.dataset.visible=`false`)},[]),p=(0,a.useCallback)(e=>{let t=e.target?.closest(n);t&&i.current?.contains(t)&&u(t)},[u,n]),m=(0,a.useCallback)(e=>{let t=e.relatedTarget;t instanceof Element&&i.current?.contains(t)||c.current&&(c.current.dataset.visible=`false`)},[]);return(0,o.jsxs)(`div`,{ref:i,className:r(`rb-target-cursor`,t),onPointerMove:d,onPointerLeave:f,onFocusCapture:p,onBlurCapture:m,children:[e,(0,o.jsx)(`span`,{ref:s,className:`rb-target-cursor-dot`,"aria-hidden":`true`}),(0,o.jsxs)(`span`,{ref:c,className:`rb-target-cursor-frame`,"aria-hidden":`true`,children:[(0,o.jsx)(`i`,{}),(0,o.jsx)(`i`,{}),(0,o.jsx)(`i`,{}),(0,o.jsx)(`i`,{})]})]})}function d({children:e,title:t}){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{}),(0,o.jsxs)(u,{className:`agent-welcome-content`,children:[(0,o.jsxs)(`div`,{className:`welcome-visual`,children:[(0,o.jsx)(i,{size:54,className:`welcome-logo`}),(0,o.jsx)(s,{text:`PISPER`})]}),(0,o.jsx)(`h2`,{children:(0,o.jsx)(l,{text:t})}),e]})]})}export{d as default};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{d as r,l as i,s as a}from"./vendor-router-Bw2aAdMs.js";import{t as o}from"./use-i18n-CubNtfu7.js";import{n as s,r as c,t as l}from"./tabs-Bz7CDa49.js";import{n as u,t as d}from"./AppSelect--dqy70Zh.js";import{i as f,n as p,r as m,t as h}from"./progress-Byd1ZX3L.js";import{i as g,n as _,r as v,t as y}from"./switch-CDwl5ZJs.js";import{t as b}from"./utils-C8uzG5AZ.js";import{t as x}from"./createLucideIcon-BEEvpXLl.js";import{t as S}from"./chevron-down-DybEa6xm.js";import{n as C,t as w}from"./network-UhG-ym-z.js";import{t as T}from"./copy-O4BLU533.js";import{t as E}from"./file-code-corner-lCJOIDbw.js";import{t as D}from"./file-CvhJitS9.js";import{t as O}from"./image-M6XRBbhu.js";import{t as k}from"./message-circle-Bi-lz-6t.js";import{t as A}from"./pencil-DpO4AUNy.js";import{t as ee}from"./play-3QiwbcM7.js";import{t as te}from"./plus-CI2ql0x4.js";import{t as j}from"./search-CVBbTPAG.js";import{t as M}from"./square-C7qN58NE.js";import{t as N}from"./trash-2-CATziWCd.js";import{t as ne}from"./zap-Ch1TQ5QU.js";import{U as P,W as F,X as re,Y as ie,Z as I,at as L,b as R,ct as z,h as B,i as ae,it as oe,m as V,n as se,q as H,r as ce,rt as le,st as ue,v as U}from"./index-DoRSkbHW.js";import{t as de}from"./usePagePrimaryAction-Bw0OFTDZ.js";import{n as W,t as G}from"./alert-B7D8joCd.js";import{a as fe,c as pe,d as me,f as K,i as q,l as he,n as ge,o as _e,r as ve,s as ye,t as be,u as xe}from"./vendor-xyflow-CnjXtcyK.js";var Se=x(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),Ce=x(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),J=e(t(),1),Y=n(),we=({className:e,...t})=>(0,Y.jsx)(ve,{className:b(`gap-px overflow-hidden rounded-md border bg-card p-1 shadow-none!`,`[&>button]:rounded-md [&>button]:border-none! [&>button]:bg-transparent! [&>button]:hover:bg-secondary!`,e),...t}),Te=[`trigger`,`prompt`,`skill`,`file`,`mcp`,`notification`,`condition`,`parallel`,`approval`];function Ee({data:e,selected:t}){return(0,Y.jsxs)(`div`,{className:b(`flow-node`,`type-${e.kind}`,t&&`active`,e.compact&&`compact`),children:[!e.compact&&e.kind!==`trigger`&&(0,Y.jsx)(q,{id:`input`,className:`flow-port input`,type:`target`,position:K.Left,title:e.inputLabel,"aria-label":e.inputLabel}),!e.compact&&e.kind===`condition`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(q,{id:`true`,className:`flow-port output condition-true`,type:`source`,position:K.Right,title:`true`,"aria-label":`true`}),(0,Y.jsx)(q,{id:`false`,className:`flow-port output condition-false`,type:`source`,position:K.Bottom,title:`false`,"aria-label":`false`})]}):!e.compact&&(0,Y.jsx)(q,{id:`output`,className:`flow-port output`,type:`source`,position:K.Right,title:e.outputLabel,"aria-label":e.outputLabel}),(0,Y.jsx)(`small`,{children:e.typeLabel}),(0,Y.jsx)(`strong`,{children:e.label})]})}var De={workflow:Ee};function Oe(e){return typeof e==`string`&&Te.includes(e)}function ke(e){return e.data.kind===`condition`?`var(--warning-strong)`:e.data.kind===`parallel`?`var(--workflow-violet)`:e.data.kind===`approval`?`var(--success)`:e.data.kind===`notification`?`var(--notification-border)`:`var(--star-strong)`}function Ae({nodes:e,edges:t,selectedNodeId:n,selectedEdgeId:r,hint:i,inputLabel:a,outputLabel:o,nodeTypeLabel:s,onAddNode:c,onConnect:l,onMoveNode:u,onSelectNode:d,onSelectEdge:f,onClearSelection:p,onDeleteNodes:m,onDeleteEdges:h}){let{screenToFlowPosition:g}=he(),_=(0,J.useMemo)(()=>e.map(e=>({id:e.id,type:`workflow`,position:{x:e.x,y:e.y},selected:e.id===n,data:{kind:e.kind,label:e.label,typeLabel:s(e.kind),inputLabel:a,outputLabel:o}})),[a,s,e,o,n]),v=(0,J.useRef)(new Set),y=(0,J.useRef)(new Map),b=(0,J.useRef)(null),[x,S,C]=pe(_);(0,J.useEffect)(()=>{S(e=>{let t=new Map(e.map(e=>[e.id,e])),n=e.length!==_.length,r=_.map(e=>{let r=t.get(e.id);if(!r)return n=!0,e;let i=v.current.has(e.id)?r.position:e.position,a=r.data.kind===e.data.kind&&r.data.label===e.data.label&&r.data.typeLabel===e.data.typeLabel&&r.data.inputLabel===e.data.inputLabel&&r.data.outputLabel===e.data.outputLabel&&r.data.compact===e.data.compact;return i.x===r.position.x&&i.y===r.position.y&&r.selected===e.selected&&a?r:(n=!0,{...r,position:i,selected:e.selected,data:e.data})});return n?r:e})},[_,S]);let w=(0,J.useCallback)(()=>{b.current=null,y.current.forEach((e,t)=>u(t,e)),y.current.clear()},[u]),T=(0,J.useCallback)((e,t)=>{y.current.set(e,t),b.current??=requestAnimationFrame(w)},[w]);(0,J.useEffect)(()=>()=>{b.current!==null&&cancelAnimationFrame(b.current)},[]);let E=(0,J.useMemo)(()=>t.map(e=>({id:e.id,source:e.source,sourceHandle:e.sourcePort,target:e.target,targetHandle:e.targetPort,selected:e.id===r,markerEnd:{type:me.ArrowClosed,width:16,height:16,color:`var(--canvas-edge)`},style:{stroke:`var(--canvas-edge)`,strokeWidth:2}})),[t,r]),D=(0,J.useCallback)(e=>{!e.source||!e.target||l(e.source,e.target,e.sourceHandle||`output`)},[l]),O=(0,J.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),k=(0,J.useCallback)(e=>{e.preventDefault();let t={};try{t=JSON.parse(e.dataTransfer.getData(`text/plain`)||`{}`)}catch{return}if(!Oe(t.kind))return;let n=g({x:e.clientX,y:e.clientY});c(t.kind,typeof t.label==`string`?t.label:s(t.kind),n)},[s,c,g]);return(0,Y.jsxs)(`div`,{className:`workflow-react-flow`,children:[(0,Y.jsxs)(ye,{nodes:x,edges:E,nodeTypes:De,onNodesChange:C,connectionMode:xe.Strict,deleteKeyCode:[`Backspace`,`Delete`],fitView:!0,fitViewOptions:{padding:.18,minZoom:.55,maxZoom:1},minZoom:.35,maxZoom:1.8,snapToGrid:!0,snapGrid:[20,20],panOnDrag:!0,zoomOnDoubleClick:!1,onConnect:D,onNodeClick:(e,t)=>d(t.id),onEdgeClick:(e,t)=>f(t.id),onPaneClick:p,onNodeDragStart:(e,t)=>v.current.add(t.id),onNodeDrag:(e,t)=>T(t.id,t.position),onNodeDragStop:(e,t)=>{v.current.delete(t.id),y.current.delete(t.id),u(t.id,t.position)},onNodesDelete:e=>m(e.map(e=>e.id)),onEdgesDelete:e=>h(e.map(e=>e.id)),onDragOver:O,onDrop:k,children:[(0,Y.jsx)(be,{variant:ge.Dots,gap:20,size:1.2,color:`var(--canvas-grid)`}),(0,Y.jsx)(fe,{className:`workflow-react-flow-minimap`,nodeColor:ke,nodeStrokeWidth:3,pannable:!0,zoomable:!0}),(0,Y.jsx)(we,{position:`top-left`,showInteractive:!1})]}),(0,Y.jsx)(`div`,{className:`canvas-hint`,children:i})]})}function je(e){return(0,Y.jsx)(_e,{children:(0,Y.jsx)(Ae,{...e})})}function Me(e){return new Map(e.map((e,t)=>[e.id,t]))}function Ne(e=[],t){return e.slice(1).map((n,r)=>{let i=e[r];return{id:t?.(r,i.id,n.id)||`edge-${r}-${i.id}-${n.id}`,source:i.id,sourcePort:`output`,target:n.id,targetPort:`input`}})}function Pe(e=[],t=[]){let n=e.filter(e=>e.enabled!==!1),r=new Set(n.map(e=>e.id)),i=t.filter(e=>r.has(e.source)&&r.has(e.target)),a=new Map(n.map(e=>[e.id,[]])),o=new Map(n.map(e=>[e.id,[]])),s=new Map(n.map(e=>[e.id,0])),c=Me(n);for(let e of i)a.get(e.target)?.push(e),o.get(e.source)?.push(e),s.set(e.target,(s.get(e.target)||0)+1);let l=n.filter(e=>s.get(e.id)===0),u=[];for(;l.length;){l.sort((e,t)=>c.get(e.id)-c.get(t.id));let e=l.shift();u.push(e);for(let t of o.get(e.id)||[]){let e=(s.get(t.target)||0)-1;s.set(t.target,e),e===0&&l.push(n.find(e=>e.id===t.target))}}let d=n.filter(e=>(a.get(e.id)||[]).length===0),f=d.find(e=>e.kind===`trigger`)||d[0];return{nodes:n,edges:i,incoming:a,outgoing:o,order:u,roots:d,unconnected:n.filter(e=>e.id!==f?.id&&(a.get(e.id)||[]).length===0),invalidTriggerTargets:n.filter(e=>e.kind===`trigger`&&(a.get(e.id)||[]).length>0),hasCycle:u.length!==n.length}}function Fe(e,t,n,r,i=`output`){return Pe(e,[...t,{id:`__candidate__`,source:n,sourcePort:i,target:r,targetPort:`input`}]).hasCycle}var Ie={trigger:`触发器`,prompt:`任务`,skill:`Skill`,file:`文件`,mcp:`MCP`,notification:`通知`,condition:`判断`,parallel:`并行`,approval:`审批`},Le=[{kind:`trigger`,label:`手动触发`,Icon:ne},{kind:`prompt`,label:`运行 Prompt`,Icon:ue},{kind:`skill`,label:`调用 Skill`,Icon:f},{kind:`file`,label:`读写文件`,Icon:E},{kind:`mcp`,label:`调用 MCP`,Icon:ie},{kind:`condition`,label:`条件分支`,Icon:p},{kind:`parallel`,label:`并行汇合`,Icon:w},{kind:`approval`,label:`人工审批`,Icon:oe},{kind:`notification`,label:`发送通知`,Icon:z}];function Re(e,t){return t(e===`trigger`?`workflows:workflowsPage.triggerNode`:e===`skill`?`workflows:workflowsPage.skillNode`:e===`file`?`workflows:workflowsPage.fileNode`:e===`mcp`?`workflows:workflowsPage.mcpNode`:e===`notification`?`workflows:workflowsPage.notificationNode`:e===`condition`?`workflows:workflowsPage.conditionNode`:e===`parallel`?`workflows:workflowsPage.parallelNode`:e===`approval`?`workflows:workflowsPage.approvalNode`:`workflows:workflowsPage.task`)}function ze(e,t){return t(e===`trigger`?`workflows:workflowsPage.manualTrigger`:e===`skill`?`workflows:workflowsPage.callSkill`:e===`file`?`workflows:workflowsPage.readWriteFiles`:e===`mcp`?`workflows:workflowsPage.callMcp`:e===`condition`?`workflows:workflowsPage.conditionBranch`:e===`parallel`?`workflows:workflowsPage.parallelJoin`:e===`approval`?`workflows:workflowsPage.humanApproval`:e===`notification`?`workflows:workflowsPage.sendNotification`:`workflows:workflowsPage.runPrompt`)}function Be(e,t){return t(e===`pr-fix`?`workflows:workflowsPage.prFix`:e===`research`?`workflows:workflowsPage.research`:e===`report`?`workflows:workflowsPage.dailyWeeklyReport`:e===`asset`?`workflows:workflowsPage.assetGeneration`:e===`release`?`workflows:workflowsPage.releasePreparation`:`workflows:workflowsPage.codeReview`)}function Ve(e,t){return t(e===`pr-fix`?`workflows:workflowsPage.prFixDescription`:e===`research`?`workflows:workflowsPage.researchDescription`:e===`report`?`workflows:workflowsPage.reportDescription`:e===`asset`?`workflows:workflowsPage.assetDescription`:e===`release`?`workflows:workflowsPage.releaseDescription`:`workflows:workflowsPage.codeReviewDescription`)}function X(e,t,n,r,i,a,o={}){return{id:e,kind:t,label:n,prompt:r,x:i,y:a,model:null,retries:0,timeoutMinutes:20,failurePolicy:`stop`,enabled:!0,outputFormat:`text`,skillName:``,requestedToolNames:[],condition:{source:`previous`,operator:`exists`,value:``},approval:{message:``,timeoutMinutes:60},notification:{title:``,content:``},notificationTargets:[],...o}}function He(e){return Ne(e,()=>crypto.randomUUID())}var Ue=[{id:`code-review`,name:`代码审查`,description:`读取 diff → 运行测试 → 生成 review`,Icon:C,nodes:[X(`review-trigger`,`trigger`,`手动触发`,``,65,45),X(`review-diff`,`file`,`读取 diff`,`读取当前工作区的 git diff,识别改动范围与高风险文件。`,235,45),X(`review-test`,`prompt`,`运行检查`,`运行适合当前项目的测试与 lint,记录失败原因。`,405,45),X(`review-report`,`prompt`,`生成 review`,`结合 diff 和验证结果,输出按严重度排序的代码审查结论。`,235,180),X(`review-notify`,`notification`,`发送结果`,``,405,180)]},{id:`pr-fix`,name:`PR 修复`,description:`定位失败 → 修改代码 → 回归测试`,Icon:p,nodes:[X(`fix-trigger`,`trigger`,`手动触发`,``,65,45),X(`fix-find`,`prompt`,`定位失败`,`检查项目状态与失败信息,定位最可能的根因。`,235,45),X(`fix-code`,`prompt`,`修改代码`,`修复已定位的问题,保留用户已有改动,不执行破坏性命令。`,405,45),X(`fix-test`,`prompt`,`回归测试`,`运行针对性测试和构建,确认修复没有引入回归。`,235,180),X(`fix-notify`,`notification`,`通知结果`,``,405,180)]},{id:`research`,name:`资料调研`,description:`搜索资料 → 提取引用 → 点亮星忆`,Icon:j,nodes:[X(`research-trigger`,`trigger`,`手动输入`,``,65,45),X(`research-search`,`prompt`,`搜索资料`,`围绕工作流描述中的主题检索项目内资料与可用信息源。`,235,45),X(`research-summary`,`prompt`,`整理引用`,`整理关键结论、证据、限制和下一步建议。`,405,45),X(`research-memory`,`prompt`,`保存星忆`,`把适合长期保留的结论写入 Agent 记忆。`,320,180)]},{id:`report`,name:`日报周报`,description:`汇总会话 → 生成摘要 → 渠道通知`,Icon:D,nodes:[X(`report-trigger`,`trigger`,`手动触发`,``,65,45),X(`report-collect`,`prompt`,`汇总进展`,`汇总当前项目近期完成事项、风险与待办。`,235,45),X(`report-write`,`prompt`,`生成报告`,`将汇总内容整理为清晰的日报或周报。`,405,45),X(`report-notify`,`notification`,`渠道通知`,``,320,180)]},{id:`asset`,name:`资产生成`,description:`生成图片 → 存入资产库 → 通知验收`,Icon:O,nodes:[X(`asset-trigger`,`trigger`,`手动输入`,``,65,45),X(`asset-generate`,`prompt`,`生成视觉资产`,`根据工作流描述生成需要的视觉资产,并保存生成文件。`,235,45),X(`asset-check`,`prompt`,`检查产物`,`检查生成资产是否完整、可访问并符合需求。`,405,45),X(`asset-notify`,`notification`,`通知验收`,``,320,180)]},{id:`release`,name:`发布准备`,description:`版本检查 → changelog → 创建发布单`,Icon:re,nodes:[X(`release-trigger`,`trigger`,`手动触发`,``,65,45),X(`release-check`,`prompt`,`版本检查`,`检查工作区、测试、构建和版本信息是否满足发布要求。`,235,45),X(`release-log`,`prompt`,`生成 changelog`,`根据近期提交和改动生成 changelog 与发布说明。`,405,45),X(`release-report`,`prompt`,`发布清单`,`生成最终发布检查清单并标记阻塞项。`,320,180)]}];function We(e=``){let t=[X(crypto.randomUUID(),`trigger`,`手动触发`,``,65,45),X(crypto.randomUUID(),`prompt`,`运行 Prompt`,``,235,45)];return{id:``,name:`未命名工作流`,description:``,status:`draft`,revision:1,cwd:e,model:null,inputs:[],tags:[],visibility:`private`,notifications:[],nodes:t,edges:He(t)}}function Ge(e,t=``){let n=e.nodes.map(e=>({...e,id:crypto.randomUUID()}));return{...We(t),name:e.name,description:e.description,nodes:n,edges:He(n)}}function Ke({draft:e,selectedNodeId:t,selectedEdgeId:n,t:r,onAddNode:i,onConnect:a,onMoveNode:o,onSelectNode:s,onSelectEdge:c,onClearSelection:l,onDeleteNodes:u,onDeleteEdges:d}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_,{size:`sm`,className:`workflow-card node-library gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-3.5`,children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:r(`workflows:workflowsPage.nodeLibrary`)}),Le.map(({kind:e,label:t,Icon:n})=>(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`small`,{children:e===`trigger`?r(`workflows:workflowsPage.triggerGroup`):``}),(0,Y.jsxs)(`button`,{draggable:!0,onDragStart:n=>n.dataTransfer.setData(`text/plain`,JSON.stringify({kind:e,label:t})),children:[(0,Y.jsx)(n,{size:15}),ze(e,r),(0,Y.jsx)(`span`,{title:r(`workflows:workflowsPage.drag`),"aria-label":r(`workflows:workflowsPage.drag`),children:(0,Y.jsx)(Ce,{size:13})})]})]},e))]})}),(0,Y.jsx)(_,{size:`sm`,className:`workflow-card builder-canvas gap-0 py-0`,children:(0,Y.jsx)(je,{nodes:e.nodes,edges:e.edges,selectedNodeId:t,selectedEdgeId:n,hint:r(`workflows:workflowsPage.dragFromANodeOutputToTheTargetInputToConnectThem`),inputLabel:r(`workflows:workflowsPage.inputPort`),outputLabel:r(`workflows:workflowsPage.outputPort`),nodeTypeLabel:e=>Re(e,r),onAddNode:i,onConnect:a,onMoveNode:o,onSelectNode:s,onSelectEdge:c,onClearSelection:l,onDeleteNodes:u,onDeleteEdges:d})})]})}function Z(e){let t=Math.max(0,Math.round((Number(e)||0)/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function qe(e,t){return t(e===`running`?`workflows:workflowsPage.running`:e===`waiting_approval`?`workflows:workflowsPage.waitingApproval`:e===`completed`?`workflows:workflowsPage.completed`:e===`failed`?`workflows:workflowsPage.failed`:e===`cancelled`?`workflows:workflowsPage.stopped`:e===`interrupted`?`workflows:workflowsPage.interrupted`:`workflows:workflowsPage.draft`)}function Je({value:e,onChange:t,t:n}){return(0,Y.jsx)(l,{value:e,onValueChange:e=>t(e),children:(0,Y.jsxs)(s,{className:`workflow-filter-list`,children:[(0,Y.jsx)(c,{value:`workflows`,children:n(`workflows:workflowsPage.workflows`)}),(0,Y.jsx)(c,{value:`runs`,children:n(`workflows:workflowsPage.runHistory`)}),(0,Y.jsx)(c,{value:`templates`,children:n(`workflows:workflowsPage.templates`)})]})})}function Ye({workflows:e,runs:t,busyId:n,language:r,t:i,onRun:a,onEdit:o,onDuplicate:s,onExport:c,onImport:l,onDelete:u}){let d=(0,J.useRef)(null),f=e=>t.filter(t=>t.workflowId===e).sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt))[0];return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card workflow-assets-panel gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-0`,children:[(0,Y.jsxs)(`div`,{className:`workflow-table-head`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:i(`workflows:workflowsPage.workflows`)}),(0,Y.jsx)(`small`,{children:i(`workflows:workflowsPage.countWorkflows`,{count:e.length})})]}),(0,Y.jsxs)(B,{size:`sm`,variant:`outline`,onClick:()=>d.current?.click(),children:[(0,Y.jsx)(Se,{"data-icon":`inline-start`}),i(`workflows:workflowsPage.import`)]}),(0,Y.jsx)(`input`,{ref:d,className:`sr-only`,type:`file`,accept:`application/json,.json`,onChange:async e=>{let t=e.target.files?.[0];if(t)try{l(JSON.parse(await t.text()))}catch{l(null)}finally{e.currentTarget.value=``}}})]}),e.length?(0,Y.jsx)(`div`,{className:`workflow-asset-table`,children:e.map(e=>{let t=f(e.id),l=[`running`,`waiting_approval`].includes(t?.status||``);return(0,Y.jsxs)(`div`,{className:`workflow-asset-row`,children:[(0,Y.jsxs)(`button`,{className:`workflow-asset-main`,onClick:()=>o(e.id),children:[(0,Y.jsx)(`strong`,{children:e.name}),(0,Y.jsx)(`small`,{children:e.description||e.cwd})]}),(0,Y.jsxs)(`span`,{className:`workflow-state ${e.status}`,children:[e.status===`published`?i(`workflows:workflowsPage.published`):i(`workflows:workflowsPage.draft`),(0,Y.jsxs)(`small`,{children:[`v`,e.revision]})]}),(0,Y.jsxs)(`span`,{className:`workflow-state ${t?.status||`idle`}`,children:[t?qe(t.status,i):i(`workflows:workflowsPage.neverRun`),(0,Y.jsx)(`small`,{children:t?U(t.startedAt,r):e.visibility})]}),(0,Y.jsxs)(`div`,{className:`workflow-row-actions`,children:[(0,Y.jsx)(B,{size:`icon-xs`,variant:l?`secondary`:`outline`,disabled:l||n===e.id,title:i(`workflows:workflowsPage.run`),onClick:()=>a(e),children:n===e.id?(0,Y.jsx)(I,{className:`spin`}):(0,Y.jsx)(ee,{fill:`currentColor`})}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,title:i(`workflows:workflowsPage.edit`),onClick:()=>o(e.id),children:(0,Y.jsx)(A,{})}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,title:i(`workflows:workflowsPage.duplicateWorkflow`),onClick:()=>s(e),children:(0,Y.jsx)(T,{})}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,title:i(`workflows:workflowsPage.export`),onClick:()=>c(e),children:(0,Y.jsx)(le,{})}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,disabled:l,title:i(`workflows:workflowsPage.delete`),onClick:()=>u(e),children:(0,Y.jsx)(N,{})})]})]},e.id)})}):(0,Y.jsx)(`div`,{className:`channel-route-empty compact`,children:(0,Y.jsx)(`strong`,{children:i(`workflows:workflowsPage.noMatchingWorkflows`)})})]})})}function Xe({runs:e,busyId:t,language:n,t:r,onStop:i,onRetry:a,onApproval:o}){let[s,c]=(0,J.useState)(e[0]?.id||``),l=[...e].sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt));return(0,Y.jsxs)(`div`,{className:`workflow-run-history`,children:[l.map(e=>{let l=s===e.id,d=Math.round((Number(e.completedNodes)||0)/Math.max(1,Number(e.totalNodes)||1)*100);return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card workflow-run-record gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-0`,children:[(0,Y.jsxs)(`button`,{className:`workflow-run-summary`,onClick:()=>c(l?``:e.id),children:[l?(0,Y.jsx)(S,{size:15}):(0,Y.jsx)(L,{size:15}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:e.workflowName||e.workflowId}),(0,Y.jsxs)(`small`,{children:[qe(e.status,r),` · `,U(e.startedAt,n),` · v`,e.workflowRevision||1]})]}),(0,Y.jsx)(h,{value:e.status===`completed`?100:d}),(0,Y.jsx)(`em`,{children:Z(e.durationMs)})]}),l&&(0,Y.jsxs)(`div`,{className:`workflow-run-detail`,children:[(e.summary||e.error)&&(0,Y.jsx)(`div`,{className:`workflow-run-result ${e.error?`failed`:``}`,children:e.error||e.summary}),(0,Y.jsx)(`div`,{className:`workflow-run-node-list`,children:(e.nodes||[]).map(n=>(0,Y.jsxs)(`div`,{className:`workflow-run-node ${n.status}`,children:[(0,Y.jsx)(`span`,{className:`workflow-node-status`,children:n.status===`completed`?(0,Y.jsx)(u,{size:14}):n.status===`failed`?(0,Y.jsx)(m,{size:14}):n.status===`running`||n.status===`waiting_approval`?(0,Y.jsx)(I,{className:n.status===`running`?`spin`:``,size:14}):(0,Y.jsx)(M,{size:12})}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:n.label}),(0,Y.jsxs)(`small`,{children:[qe(n.status,r),` · `,Z(n.durationMs),` ·`,` `,r(`workflows:workflowsPage.countAttempts`,{count:n.attempts||0})]}),(n.error||n.summary)&&(0,Y.jsx)(`p`,{children:n.error||n.summary})]}),n.status===`waiting_approval`&&(0,Y.jsxs)(`div`,{className:`workflow-approval-actions`,children:[(0,Y.jsxs)(B,{size:`xs`,disabled:t===n.id,onClick:()=>o(e,n.id,!0),children:[(0,Y.jsx)(u,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.approve`)]}),(0,Y.jsxs)(B,{size:`xs`,variant:`destructive`,disabled:t===n.id,onClick:()=>o(e,n.id,!1),children:[(0,Y.jsx)(m,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.reject`)]})]})]},n.id))}),(0,Y.jsx)(`div`,{className:`workflow-run-detail-actions`,children:[`running`,`waiting_approval`].includes(e.status)?(0,Y.jsxs)(B,{size:`sm`,variant:`destructive`,onClick:()=>i(e),children:[(0,Y.jsx)(M,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.stop`)]}):[`failed`,`cancelled`,`interrupted`].includes(e.status)?(0,Y.jsxs)(B,{size:`sm`,variant:`outline`,onClick:()=>a(e),children:[(0,Y.jsx)(I,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.retryRun`)]}):null})]})]})},e.id)}),!l.length&&(0,Y.jsx)(_,{size:`sm`,className:`workflow-card empty-state`,children:(0,Y.jsx)(`strong`,{children:r(`workflows:workflowsPage.noRunHistory`)})})]})}function Ze({t:e,onOpenTemplate:t}){return(0,Y.jsx)(`div`,{className:`workflow-template-gallery`,children:Ue.map(n=>{let r=n.Icon;return(0,Y.jsxs)(`button`,{onClick:()=>t(n.id),children:[(0,Y.jsx)(`span`,{className:`list-icon`,children:(0,Y.jsx)(r,{size:16})}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:Be(n.id,e)}),(0,Y.jsx)(`small`,{children:Ve(n.id,e)})]}),(0,Y.jsx)(L,{size:15})]},n.id)})})}function Qe({data:e,t}){let n=e.runs.filter(e=>e.status===`failed`).length,r=e.runs.filter(e=>e.status===`waiting_approval`).length,i=e.runs.filter(e=>e.status===`completed`),a=i.length?i.reduce((e,t)=>e+(t.durationMs||0),0)/i.length:0;return(0,Y.jsxs)(`div`,{className:`workflow-operations-strip`,children:[(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:e.limits.running}),t(`workflows:workflowsPage.running`)]}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:r}),t(`workflows:workflowsPage.waitingApproval`)]}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:n}),t(`workflows:workflowsPage.failed`)]}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:Z(a)}),t(`workflows:workflowsPage.averageDuration`)]})]})}function Q({className:e,...t}){return(0,Y.jsx)(`textarea`,{"data-slot":`textarea`,className:b(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function $e(e){let t=Math.max(0,Math.round((Number(e)||0)/1e3));return t<60?`${t} 秒`:`${Math.floor(t/60)} 分 ${t%60} 秒`}function et({run:e,t}){return(0,Y.jsxs)(`div`,{className:`permission-note`,role:`status`,children:[(0,Y.jsx)(I,{className:`spin`,size:16}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:t(`workflows:workflowsPage.workflowRunning`)}),(0,Y.jsx)(`small`,{children:t(`workflows:workflowsPage.runningNodeCompletedTotalCompleted`,{node:e.currentNodeLabel||t(`workflows:workflowsPage.preparing`),completed:e.completedNodes,total:e.totalNodes})})]})]})}function tt({run:e,language:t,t:n}){return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-3.5`,children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:n(`workflows:workflowsPage.latestRun`)}),e?(0,Y.jsxs)(`div`,{className:`activity-row ${e.status}`,children:[e.status===`running`?(0,Y.jsx)(I,{className:`spin`,size:15}):e.status===`completed`?(0,Y.jsx)(oe,{size:15}):(0,Y.jsx)(H,{size:15}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:e.status===`completed`?e.summary||n(`workflows:workflowsPage.workflowCompleted`):e.status===`running`?e.currentNodeLabel||n(`workflows:workflowsPage.running`):e.error||n(`workflows:workflowsPage.workflowFailed`)}),(0,Y.jsxs)(`small`,{children:[U(e.startedAt,t),` · `,$e(e.durationMs)]})]})]}):(0,Y.jsx)(`p`,{className:`muted-copy`,children:n(`workflows:workflowsPage.noRunHistory`)})]})})}var nt={browser:{Icon:z},feishu:{Icon:ue},weixin:{Icon:k}};function rt(e,t){return t(e===`feishu`?`workflows:workflowsPage.feishu`:e===`weixin`?`workflows:workflowsPage.weChat`:`workflows:workflowsPage.browserNotification`)}function it({draft:e,catalog:t,t:n,onUpdateDraft:r}){return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-3.5`,children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:n(`workflows:workflowsPage.workflowSettings`)}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.name`),(0,Y.jsx)(V,{value:e.name,onChange:e=>r({name:e.target.value})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.description`),(0,Y.jsx)(Q,{value:e.description,onChange:e=>r({description:e.target.value})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.workingDirectory`),(0,Y.jsx)(V,{value:e.cwd,onChange:e=>r({cwd:e.target.value})})]}),(0,Y.jsxs)(`div`,{className:`form-grid three`,children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.visibility`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.visibility,onChange:e=>r({visibility:e.target.value===`shared`?`shared`:`private`}),children:[(0,Y.jsx)(`option`,{value:`private`,children:n(`workflows:workflowsPage.private`)}),(0,Y.jsx)(`option`,{value:`shared`,children:n(`workflows:workflowsPage.shared`)})]}),(0,Y.jsx)(S,{size:13})]})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.tags`),(0,Y.jsx)(V,{value:e.tags.join(`, `),onChange:e=>r({tags:e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean)})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.revision`),(0,Y.jsx)(V,{value:`v${e.revision}`,disabled:!0})]})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.defaultModel`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.model?`${e.model.provider}/${e.model.model}`:``,onChange:e=>{let n=t.models.find(t=>`${t.provider}/${t.model}`===e.target.value);r({model:n?{provider:n.provider,model:n.model}:null})},children:[(0,Y.jsx)(`option`,{value:``,children:n(`workflows:workflowsPage.useSystemDefault`)}),t.models.map(e=>(0,Y.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]}),(0,Y.jsx)(S,{size:13})]})]}),(0,Y.jsxs)(`div`,{className:`workflow-inputs-editor`,children:[(0,Y.jsxs)(`div`,{className:`card-head`,children:[(0,Y.jsx)(`strong`,{children:n(`workflows:workflowsPage.inputParameters`)}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,title:n(`workflows:workflowsPage.addInput`),onClick:()=>r({inputs:[...e.inputs,{id:crypto.randomUUID(),name:`input_${e.inputs.length+1}`,label:n(`workflows:workflowsPage.newInput`),type:`string`,required:!1,defaultValue:``,description:``}]}),children:(0,Y.jsx)(te,{})})]}),e.inputs.map(t=>(0,Y.jsxs)(`div`,{className:`workflow-input-row`,children:[(0,Y.jsx)(V,{value:t.name,"aria-label":n(`workflows:workflowsPage.parameterName`),onChange:n=>r({inputs:e.inputs.map(e=>e.id===t.id?{...e,name:n.target.value}:e)})}),(0,Y.jsxs)(d,{value:t.type,"aria-label":n(`workflows:workflowsPage.parameterType`),onChange:n=>r({inputs:e.inputs.map(e=>e.id===t.id?{...e,type:n.target.value}:e)}),children:[(0,Y.jsx)(`option`,{value:`string`,children:`String`}),(0,Y.jsx)(`option`,{value:`text`,children:`Text`}),(0,Y.jsx)(`option`,{value:`number`,children:`Number`}),(0,Y.jsx)(`option`,{value:`boolean`,children:`Boolean`})]}),(0,Y.jsxs)(`label`,{className:`workflow-required-input`,children:[(0,Y.jsx)(`input`,{type:`checkbox`,checked:t.required,onChange:n=>r({inputs:e.inputs.map(e=>e.id===t.id?{...e,required:n.target.checked}:e)})}),n(`workflows:workflowsPage.required`)]}),(0,Y.jsx)(B,{size:`icon-xs`,variant:`ghost`,title:n(`workflows:workflowsPage.delete`),onClick:()=>r({inputs:e.inputs.filter(e=>e.id!==t.id)}),children:(0,Y.jsx)(N,{})})]},t.id))]})]})})}function at({node:e,catalog:t,t:n,systemNotificationPermission:r,onUpdateNode:i,onToggleNotification:a,onOpenChannels:o,onOpenSystemNotificationSettings:s}){let c=[`feishu`,`weixin`].some(e=>t.notificationTargets[e]?.enabled),l=r==="default"||r===`granted`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.notificationTitle`),(0,Y.jsx)(V,{value:e.notification.title,onChange:t=>i({notification:{...e.notification,title:t.target.value}}),placeholder:`{{workflow.name}}`})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[n(`workflows:workflowsPage.notificationContent`),(0,Y.jsx)(Q,{value:e.notification.content,onChange:t=>i({notification:{...e.notification,content:t.target.value}}),placeholder:`{{inputs.name}} · {{previous.summary}}`})]}),(0,Y.jsx)(`strong`,{className:`workflow-notification-targets-title`,children:n(`workflows:workflowsPage.notificationChannels`)}),!c&&(0,Y.jsxs)(G,{className:`workflow-notification-alert`,children:[(0,Y.jsx)(H,{}),(0,Y.jsxs)(W,{children:[n(`workflows:workflowsPage.noExternalNotificationChannelsEnabled`),(0,Y.jsx)(B,{type:`button`,variant:`link`,size:`sm`,onClick:o,children:n(`workflows:workflowsPage.openChannelSettings`)})]})]}),(r===`denied`||r===`unsupported`)&&(0,Y.jsxs)(G,{className:`workflow-notification-alert`,children:[(0,Y.jsx)(H,{}),(0,Y.jsxs)(W,{children:[n(r===`unsupported`?`workflows:workflowsPage.systemNotificationsUnsupported`:`workflows:workflowsPage.systemNotificationPermissionRequired`),(0,Y.jsx)(B,{type:`button`,variant:`link`,size:`sm`,onClick:s,children:n(`workflows:workflowsPage.openSystemNotificationSettings`)})]})]}),Object.entries(nt).map(([i,o])=>{let s=o.Icon,c=i===`browser`?l:!!t.notificationTargets[i]?.enabled;return(0,Y.jsxs)(`div`,{className:`toggle-line`,children:[(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(s,{size:15}),rt(i,n)]}),(0,Y.jsx)(y,{checked:c&&(i!==`browser`||r===`granted`&&t.notificationTargets.browser.enabled)&&e.notificationTargets.includes(i),disabled:!c,"aria-label":rt(i,n),title:i===`browser`?c?t.notificationTargets.browser.enabled?n(`workflows:workflowsPage.systemNotificationsEnabled`):n(`workflows:workflowsPage.systemNotificationReady`):n(`workflows:workflowsPage.systemNotificationPermissionRequired`):n(c?`workflows:workflowsPage.notificationChannelEnabled`:`workflows:workflowsPage.notificationChannelNotEnabled`),onCheckedChange:()=>void a(i)})]},i)})]})}function ot({edge:e,nodes:t,t:n,onDelete:r}){let i=new Map(t.map(e=>[e.id,e]));return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-3.5`,children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:n(`workflows:workflowsPage.selectedConnection`)}),(0,Y.jsxs)(`div`,{className:`workflow-edge-summary`,children:[(0,Y.jsx)(`strong`,{children:i.get(e.source)?.label||n(`workflows:workflowsPage.unknownNode`)}),(0,Y.jsx)(`span`,{children:`→`}),(0,Y.jsx)(`strong`,{children:i.get(e.target)?.label||n(`workflows:workflowsPage.unknownNode`)})]}),(0,Y.jsx)(`p`,{className:`muted-copy`,children:n(`workflows:workflowsPage.pressDeleteOrBackspaceToRemoveThisConnection`)}),(0,Y.jsxs)(B,{size:`sm`,variant:`destructive`,onClick:r,children:[(0,Y.jsx)(N,{"data-icon":`inline-start`}),n(`workflows:workflowsPage.deleteConnection`)]})]})})}function st({node:e,selectedEdge:t,catalog:n,t:r,onUpdateNode:i,systemNotificationPermission:a,onToggleNotification:o,onCopy:s,onDelete:c,onOpenChannels:l,onOpenSystemNotificationSettings:u}){return(0,Y.jsx)(_,{size:`sm`,className:`workflow-card gap-0 py-0`,children:(0,Y.jsxs)(v,{className:`p-3.5`,children:[(0,Y.jsx)(g,{className:`workflow-section-title`,children:r(`workflows:workflowsPage.selectedNode`)}),e?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.nodeName`),(0,Y.jsx)(V,{value:e.label,onChange:e=>i({label:e.target.value})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.nodeModel`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.model?`${e.model.provider}/${e.model.model}`:``,onChange:e=>{let t=n.models.find(t=>`${t.provider}/${t.model}`===e.target.value);i({model:t?{provider:t.provider,model:t.model}:null})},children:[(0,Y.jsx)(`option`,{value:``,children:r(`workflows:workflowsPage.inheritWorkflowDefaultModel`)}),n.models.map(e=>(0,Y.jsx)(`option`,{value:`${e.provider}/${e.model}`,children:e.label},`${e.provider}/${e.model}`))]}),(0,Y.jsx)(S,{size:13})]})]}),(0,Y.jsxs)(`div`,{className:`form-grid three`,children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.retryCount`),(0,Y.jsx)(V,{type:`number`,min:`0`,max:`3`,value:e.retries,onChange:e=>i({retries:Number(e.target.value)})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.timeoutMinutes`),(0,Y.jsx)(V,{type:`number`,min:`1`,max:`240`,value:e.timeoutMinutes,onChange:e=>i({timeoutMinutes:Number(e.target.value)})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.failureHandling`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.failurePolicy,onChange:e=>i({failurePolicy:e.target.value===`skip`?`skip`:`stop`}),children:[(0,Y.jsx)(`option`,{value:`stop`,children:r(`workflows:workflowsPage.stopImmediately`)}),(0,Y.jsx)(`option`,{value:`skip`,children:r(`workflows:workflowsPage.skipThisNode`)})]}),(0,Y.jsx)(S,{size:13})]})]})]}),[`prompt`,`skill`,`file`,`mcp`].includes(e.kind)&&(0,Y.jsxs)(Y.Fragment,{children:[e.kind===`skill`&&(0,Y.jsxs)(`label`,{className:`field-label`,children:[`Skill`,(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.skillName,onChange:e=>i({skillName:e.target.value}),children:[(0,Y.jsx)(`option`,{value:``,children:r(`workflows:workflowsPage.chooseSkill`)}),n.skills.map(e=>(0,Y.jsx)(`option`,{value:e.name,children:e.name},e.id))]}),(0,Y.jsx)(S,{size:13})]})]}),e.kind===`mcp`&&(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.mcpToolNames`),(0,Y.jsx)(V,{value:e.requestedToolNames.join(`, `),onChange:e=>i({requestedToolNames:e.target.value.split(`,`).map(e=>e.trim()).filter(Boolean)}),placeholder:`server.tool_name`})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[`Prompt`,(0,Y.jsx)(Q,{value:e.prompt,onChange:e=>i({prompt:e.target.value}),placeholder:r(`workflows:workflowsPage.describeTheWorkTheAgentShouldCompleteInThisNode`)})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.outputFormat`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsxs)(d,{value:e.outputFormat,onChange:e=>i({outputFormat:e.target.value===`json`?`json`:`text`}),children:[(0,Y.jsx)(`option`,{value:`text`,children:`Text`}),(0,Y.jsx)(`option`,{value:`json`,children:`JSON`})]}),(0,Y.jsx)(S,{size:13})]})]})]}),e.kind===`condition`&&(0,Y.jsxs)(`div`,{className:`form-grid three`,children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.dataPath`),(0,Y.jsx)(V,{value:e.condition.source,onChange:t=>i({condition:{...e.condition,source:t.target.value}}),placeholder:`inputs.approved`})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.operator`),(0,Y.jsxs)(`span`,{className:`select-wrap`,children:[(0,Y.jsx)(d,{value:e.condition.operator,onChange:t=>i({condition:{...e.condition,operator:t.target.value}}),children:[`exists`,`not_exists`,`equals`,`not_equals`,`contains`,`greater_than`,`less_than`].map(e=>(0,Y.jsx)(`option`,{value:e,children:e},e))}),(0,Y.jsx)(S,{size:13})]})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.comparisonValue`),(0,Y.jsx)(V,{value:String(e.condition.value??``),onChange:t=>i({condition:{...e.condition,value:t.target.value}})})]})]}),e.kind===`notification`&&(0,Y.jsx)(at,{node:e,catalog:n,t:r,systemNotificationPermission:a,onUpdateNode:i,onToggleNotification:o,onOpenChannels:l,onOpenSystemNotificationSettings:u}),e.kind===`approval`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.approvalMessage`),(0,Y.jsx)(Q,{value:e.approval.message,onChange:t=>i({approval:{...e.approval,message:t.target.value}})})]}),(0,Y.jsxs)(`label`,{className:`field-label`,children:[r(`workflows:workflowsPage.approvalTimeout`),(0,Y.jsx)(V,{type:`number`,min:`1`,max:`10080`,value:e.approval.timeoutMinutes,onChange:t=>i({approval:{...e.approval,timeoutMinutes:Number(t.target.value)}})})]})]}),(0,Y.jsxs)(`div`,{className:`button-row`,children:[(0,Y.jsxs)(B,{size:`sm`,variant:`secondary`,onClick:s,children:[(0,Y.jsx)(T,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.duplicateNode`)]}),(0,Y.jsxs)(B,{size:`sm`,variant:`destructive`,onClick:c,children:[(0,Y.jsx)(N,{"data-icon":`inline-start`}),r(`workflows:workflowsPage.deleteNode`)]})]})]}):(0,Y.jsx)(`p`,{className:`muted-copy`,children:r(t?`workflows:workflowsPage.aConnectionIsCurrentlySelected`:`workflows:workflowsPage.dragNodesFromTheLeftToStartBuildingTheWorkflow`)})]})})}function ct({draft:e,catalog:t,selectedNode:n,selectedEdge:r,currentRun:i,language:a,t:o,onUpdateDraft:s,onUpdateNode:c,systemNotificationPermission:l,onToggleNotification:u,onDeleteEdge:d,onCopyNode:f,onDeleteNode:p,onOpenChannels:m,onOpenSystemNotificationSettings:h}){return(0,Y.jsxs)(`div`,{className:`detail-stack inspector`,children:[(0,Y.jsx)(it,{draft:e,catalog:t,t:o,onUpdateDraft:s}),r&&(0,Y.jsx)(ot,{edge:r,nodes:e.nodes,t:o,onDelete:d}),(0,Y.jsx)(st,{node:n,selectedEdge:r,catalog:t,t:o,onUpdateNode:c,systemNotificationPermission:l,onToggleNotification:u,onCopy:f,onDelete:p,onOpenChannels:m,onOpenSystemNotificationSettings:h}),e.id&&(0,Y.jsx)(tt,{run:i,language:a,t:o})]})}var lt={workflows:[],runs:[],limits:{maxConcurrent:4,running:0},notificationTargets:{browser:{enabled:!1},feishu:{enabled:!1},weixin:{enabled:!1}},models:[],skills:[],cwd:``};function $(e){return e instanceof Error?e.message:String(e)}function ut({notify:e,requestConfirm:t,query:n}){let{t:r}=o(),[i,a]=(0,J.useState)(lt),[s,c]=(0,J.useState)(`all`),[l,u]=(0,J.useState)(!0),[d,f]=(0,J.useState)(``),[p,m]=(0,J.useState)(``),h=(0,J.useCallback)(async()=>{try{a(await R(`/api/workflows`)),m(``)}catch(e){m($(e))}finally{u(!1)}},[]);(0,J.useEffect)(()=>{h()},[h]),(0,J.useEffect)(()=>{let e=window.setInterval(()=>{h()},i.limits.running?1500:8e3);return()=>window.clearInterval(e)},[i.limits.running,h]);let g=(0,J.useCallback)(e=>i.runs.filter(t=>t.workflowId===e).sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt))[0],[i.runs]);return{data:i,filter:s,setFilter:c,loading:l,busyId:d,error:p,visibleWorkflows:(0,J.useMemo)(()=>i.workflows.filter(e=>{let t=g(e.id);return`${e.name} ${e.description}`.toLowerCase().includes(n.toLowerCase())?s===`running`?t?.status===`running`:s===`failed`?t?.status===`failed`:s===`draft`?e.status===`draft`:s!==`presets`:!1}),[i.workflows,s,g,n]),latestRun:g,runWorkflow:(0,J.useCallback)(async(t,n={})=>{f(t.id),m(``);try{await R(`/api/workflows/${encodeURIComponent(t.id)}/run`,{method:`POST`,body:JSON.stringify({inputs:n})}),await h(),e(r(`workflows:workflowsPage.workflowStarted`))}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e,r]),stopRun:(0,J.useCallback)(async t=>{f(t.id),m(``);try{await R(`/api/workflow-runs/${encodeURIComponent(t.id)}/stop`,{method:`POST`,body:`{}`}),await h(),e(r(`workflows:workflowsPage.stoppingWorkflow`),`info`)}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e,r]),retryRun:(0,J.useCallback)(async t=>{f(t.id);try{await R(`/api/workflow-runs/${encodeURIComponent(t.id)}/retry`,{method:`POST`,body:`{}`}),await h(),e(r(`workflows:workflowsPage.workflowStarted`))}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e,r]),resolveApproval:(0,J.useCallback)(async(t,n,r)=>{f(n);try{await R(`/api/workflow-runs/${encodeURIComponent(t.id)}/approvals/${encodeURIComponent(n)}`,{method:`POST`,body:JSON.stringify({approved:r})}),await h()}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e]),duplicateWorkflow:(0,J.useCallback)(async t=>{f(t.id);try{await R(`/api/workflows/${encodeURIComponent(t.id)}/duplicate`,{method:`POST`,body:`{}`}),await h(),e(r(`workflows:workflowsPage.workflowDuplicated`))}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e,r]),exportWorkflow:(0,J.useCallback)(async t=>{try{let e=await R(`/api/workflows/${encodeURIComponent(t.id)}/export`),n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${t.name.replace(/[\\/:*?"<>|]/g,`-`)}.pisper-workflow.json`,i.click(),URL.revokeObjectURL(r)}catch(t){e($(t),`error`)}},[e]),importWorkflow:(0,J.useCallback)(async t=>{f(`import`);try{await R(`/api/workflows/import`,{method:`POST`,body:JSON.stringify(t)}),await h(),e(r(`workflows:workflowsPage.workflowImported`))}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}},[h,e,r]),removeWorkflow:(0,J.useCallback)(async n=>{if(await t?.({title:r(`workflows:workflowsPage.deleteWorkflow`),message:r(`workflows:workflowsPage.deleteWorkflowNameAndItsRunHistory`,{name:n.name}),confirmLabel:r(`workflows:workflowsPage.delete`),tone:`danger`})){f(n.id);try{await R(`/api/workflows/${encodeURIComponent(n.id)}`,{method:`DELETE`}),await h(),e(r(`workflows:workflowsPage.workflowDeleted`))}catch(t){let n=$(t);m(n),e(n,`error`)}finally{f(``)}}},[h,e,t,r])}}function dt({workflowId:e,templateId:t,notify:n,onCreated:r}){let{t:i}=o(),[a,s]=(0,J.useState)(lt),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)(!0),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(``),b=!!window.pisperDesktop?.showNotification,[x,S]=(0,J.useState)(()=>b?`checking`:se()),C=(0,J.useCallback)(async()=>{if(!b){S(se());return}let e=window.pisperDesktop?.getNotificationStatus;if(!e){S(`granted`);return}try{let t=await e(),n=t?.permission;S(n==="default"||n===`denied`||n===`granted`||n===`checking`||n===`unsupported`?n:t?.supported===!1?`unsupported`:`granted`)}catch{S(`unsupported`)}},[b]),w=(0,J.useCallback)(async()=>{try{let n=await R(`/api/workflows`);s(n);let r=e===`new`?null:n.workflows.find(t=>t.id===e),a=Ue.find(e=>e.id===t),o=r?structuredClone(r):a?Ge(a,n.cwd):We(n.cwd);l(o),d(e=>o.nodes.some(t=>t.id===e)?e:o.nodes[0]?.id||``),p(``),y(r||e===`new`?``:i(`workflows:workflowsPage.workflowNotFoundABlankEditorWasOpened`))}catch(e){y($(e))}finally{h(!1)}},[i,t,e]);(0,J.useEffect)(()=>{w()},[w]),(0,J.useEffect)(()=>{C();let e=()=>void C();return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[C]);let T=(0,J.useMemo)(()=>a.runs.filter(e=>e.workflowId===c?.id).sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt))[0],[a.runs,c?.id]),E=T?.status===`running`;(0,J.useEffect)(()=>{if(!E)return;let e=window.setInterval(async()=>{try{s(await R(`/api/workflows`))}catch{}},1500);return()=>window.clearInterval(e)},[E]);let D=(0,J.useMemo)(()=>c?.nodes.find(e=>e.id===u)||null,[c?.nodes,u]),O=(0,J.useMemo)(()=>c?.edges.find(e=>e.id===f)||null,[c?.edges,f]),k=(0,J.useCallback)(e=>{l(t=>t&&{...t,...e})},[]),A=(0,J.useCallback)(e=>{l(t=>t&&{...t,nodes:t.nodes.map(t=>t.id===u?{...t,...e}:t)})},[u]),ee=(0,J.useCallback)(e=>{d(e),p(``)},[]),te=(0,J.useCallback)(e=>{p(e),d(``)},[]),j=(0,J.useCallback)(()=>{d(``),p(``)},[]),M=(0,J.useCallback)((e,t,r=`output`)=>{if(!c||e===t)return;let a=c.nodes.find(e=>e.id===t);if(!a||a.kind===`trigger`){n(i(`workflows:workflowsPage.aTriggerCannotHaveAnUpstreamConnection`),`error`);return}if(c.edges.some(n=>n.source===e&&n.target===t&&n.sourcePort===r)){n(i(`workflows:workflowsPage.thisConnectionAlreadyExists`),`info`);return}if(Fe(c.nodes,c.edges,e,t,r)){n(i(`workflows:workflowsPage.aWorkflowCannotContainCyclicConnections`),`error`);return}let o={id:crypto.randomUUID(),source:e,sourcePort:r,target:t,targetPort:`input`};l(e=>e&&{...e,edges:[...e.edges,o]}),p(o.id),d(``),n(i(`workflows:workflowsPage.connectionCreated`),`info`)},[c,n,i]),N=(0,J.useCallback)(e=>{if(!e.length)return;let t=new Set(e);l(e=>e&&{...e,edges:e.edges.filter(e=>!t.has(e.id))}),p(``),n(i(`workflows:workflowsPage.connectionDeleted`),`info`)},[n,i]),ne=(0,J.useCallback)(()=>{f&&N([f])},[N,f]),P=(0,J.useCallback)(e=>{if(!e.length)return;let t=new Set(e);l(e=>e&&{...e,nodes:e.nodes.filter(e=>!t.has(e.id)),edges:e.edges.filter(e=>!t.has(e.source)&&!t.has(e.target))}),j(),n(i(`workflows:workflowsPage.nodeDeleted`),`info`)},[j,n,i]),F=(0,J.useCallback)((e,t,n)=>{let r=crypto.randomUUID();l(i=>i&&{...i,nodes:[...i.nodes,X(r,e,t||Ie[e],``,n.x,n.y)]}),d(r),p(``)},[]),re=(0,J.useCallback)((e,t)=>{l(n=>n&&{...n,nodes:n.nodes.map(n=>n.id===e&&(n.x!==t.x||n.y!==t.y)?{...n,x:t.x,y:t.y}:n)})},[]),ie=(0,J.useCallback)(()=>{if(!D)return;let e=crypto.randomUUID();l(t=>t&&{...t,nodes:[...t.nodes,{...D,id:e,label:`${D.label} 副本`,x:D.x+25,y:D.y+25}]}),d(e),p(``),n(i(`workflows:workflowsPage.nodeDuplicated`),`info`)},[n,D,i]),I=(0,J.useCallback)(()=>{D&&P([D.id])},[P,D]),L=(0,J.useCallback)(async e=>{if(!D||D.kind!==`notification`)return;let t=D.notificationTargets;if(e!==`browser`){if(t.includes(e)){A({notificationTargets:t.filter(t=>t!==e)});return}if(!a.notificationTargets[e]?.enabled)return;A({notificationTargets:[...t,e]});return}if(t.includes(e)&&a.notificationTargets.browser.enabled&&x===`granted`){A({notificationTargets:t.filter(t=>t!==e)});return}let r=x;if(b){await C();let e=await window.pisperDesktop?.getNotificationStatus?.();r=e?.permission||(e?.supported===!1?`unsupported`:`granted`)}else if(r=await ae(),S(r),r===`granted`)try{await ce()}catch(e){n($(e),`error`);return}if(r!==`granted`){n(i(r===`unsupported`?`workflows:workflowsPage.systemNotificationsUnsupported`:`workflows:workflowsPage.systemNotificationPermissionRequired`),`error`);return}try{let r=await R(`/api/settings/notifications/browser`,{method:`PATCH`,body:JSON.stringify({enabled:!0})});s(e=>({...e,notificationTargets:{...e.notificationTargets,browser:{enabled:r.browser.enabled}}})),A({notificationTargets:t.includes(e)?t:[...t,e]}),n(i(`workflows:workflowsPage.systemNotificationsEnabled`))}catch(e){n($(e),`error`)}},[a.notificationTargets,b,n,C,D,x,i,A]),z=(0,J.useCallback)(async(e=`draft`,t=!1)=>{if(!c)return null;_(!0),y(``);try{let o=new Set(Object.entries(a.notificationTargets).filter(([e,t])=>t.enabled&&(e!==`browser`||x===`granted`||x===`checking`)).map(([e])=>e)),u={...c,status:e,notifications:c.notifications.filter(e=>o.has(e)),nodes:c.nodes.map(e=>({...e,notificationTargets:e.notificationTargets.filter(e=>o.has(e))}))},d=c.id?await R(`/api/workflows/${encodeURIComponent(c.id)}`,{method:`PATCH`,body:JSON.stringify(u)}):await R(`/api/workflows`,{method:`POST`,body:JSON.stringify(u)});return s(d.state),l(structuredClone(d.workflow)),c.id||r(d.workflow.id),t||n(i(e===`published`?`workflows:workflowsPage.workflowPublished`:`workflows:workflowsPage.workflowDraftSaved`)),d.workflow}catch(e){let t=$(e);return y(t),n(t,`error`),null}finally{_(!1)}},[a.notificationTargets,c,n,r,x,i]);return{catalog:a,draft:c,selectedNode:D,selectedEdge:O,selectedNodeId:u,selectedEdgeId:f,currentRun:T,loading:m,busy:g,running:E,error:v,systemNotificationPermission:x,updateDraft:k,updateNode:A,addEdge:M,removeEdges:N,removeSelectedEdge:ne,removeNodes:P,addNode:F,moveNode:re,copyNode:ie,deleteNode:I,toggleNotification:L,selectNode:ee,selectEdge:te,clearSelection:j,saveWorkflow:z,runWorkflow:(0,J.useCallback)(async()=>{let e=await z(c?.status||`draft`,!0);if(e){_(!0);try{await R(`/api/workflows/${encodeURIComponent(e.id)}/run`,{method:`POST`,body:`{}`}),s(await R(`/api/workflows`)),n(i(`workflows:workflowsPage.workflowStarted`))}catch(e){let t=$(e);y(t),n(t,`error`)}finally{_(!1)}}},[c?.status,n,z,i]),stopWorkflow:(0,J.useCallback)(async()=>{if(!(!T||T.status!==`running`)){_(!0);try{await R(`/api/workflow-runs/${encodeURIComponent(T.id)}/stop`,{method:`POST`,body:`{}`}),s(await R(`/api/workflows`)),n(i(`workflows:workflowsPage.stoppingWorkflow`),`info`)}catch(e){let t=$(e);y(t),n(t,`error`)}finally{_(!1)}}},[T,n,i]),publishWorkflow:(0,J.useCallback)(()=>z(`published`),[z])}}function ft({message:e}){return e?(0,Y.jsxs)(G,{variant:`destructive`,children:[(0,Y.jsx)(H,{}),(0,Y.jsx)(W,{children:e})]}):null}function pt({label:e}){return(0,Y.jsxs)(_,{size:`sm`,className:`workflow-card empty-state gap-2 py-4`,children:[(0,Y.jsx)(I,{className:`spin`,size:23}),(0,Y.jsx)(`h2`,{children:e})]})}function mt({notify:e,requestConfirm:t,query:n=``}){let{t:r,language:i}=o(),s=a(),[c,l]=(0,J.useState)(`workflows`),u=ut({notify:e,requestConfirm:t,query:n});return u.loading?(0,Y.jsx)(pt,{label:r(`workflows:workflowsPage.loadingWorkflows`)}):(0,Y.jsxs)(`div`,{className:`workflows-page`,children:[(0,Y.jsx)(ft,{message:u.error}),(0,Y.jsxs)(`div`,{className:`workflow-page-toolbar`,children:[(0,Y.jsx)(Je,{value:c,t:r,onChange:l}),(0,Y.jsx)(Qe,{data:u.data,t:r})]}),c===`workflows`?(0,Y.jsx)(Ye,{workflows:u.visibleWorkflows,runs:u.data.runs,busyId:u.busyId,language:i,t:r,onRun:e=>void u.runWorkflow(e),onEdit:e=>s(F(e)),onDuplicate:e=>void u.duplicateWorkflow(e),onExport:e=>void u.exportWorkflow(e),onImport:e=>void u.importWorkflow(e),onDelete:e=>void u.removeWorkflow(e)}):c===`runs`?(0,Y.jsx)(Xe,{runs:u.data.runs,busyId:u.busyId,language:i,t:r,onStop:e=>void u.stopRun(e),onRetry:e=>void u.retryRun(e),onApproval:(e,t,n)=>void u.resolveApproval(e,t,n)}):(0,Y.jsx)(Ze,{t:r,onOpenTemplate:e=>s(`${F(`new`)}?template=${encodeURIComponent(e)}`)})]})}function ht({notify:e,registerPrimaryAction:t,registerWorkflowActions:n}){let{t:s,language:c}=o(),l=a(),{workflowId:u=`new`}=i(),[d]=r(),f=(0,J.useCallback)(e=>{l(F(e),{replace:!0})},[l]),p=dt({workflowId:u,templateId:d.get(`template`),notify:e,onCreated:f}),{busy:m,publishWorkflow:h,runWorkflow:g,running:_,saveWorkflow:v,stopWorkflow:y}=p;return de(t,h),(0,J.useEffect)(()=>n?.({save:()=>v(`draft`),run:_?y:g,busy:m,running:_}),[m,n,g,_,v,y]),p.loading||!p.draft?(0,Y.jsx)(pt,{label:s(`workflows:workflowsPage.loadingWorkflowEditor`)}):(0,Y.jsxs)(`div`,{className:`preview-page workflow-editor-page`,children:[(0,Y.jsx)(ft,{message:p.error}),p.running&&p.currentRun&&(0,Y.jsx)(et,{run:p.currentRun,t:s}),(0,Y.jsxs)(`div`,{className:`builder-layout`,children:[(0,Y.jsx)(Ke,{draft:p.draft,selectedNodeId:p.selectedNodeId,selectedEdgeId:p.selectedEdgeId,t:s,onAddNode:p.addNode,onConnect:p.addEdge,onMoveNode:p.moveNode,onSelectNode:p.selectNode,onSelectEdge:p.selectEdge,onClearSelection:p.clearSelection,onDeleteNodes:p.removeNodes,onDeleteEdges:p.removeEdges}),(0,Y.jsx)(ct,{draft:p.draft,catalog:p.catalog,selectedNode:p.selectedNode,selectedEdge:p.selectedEdge,currentRun:p.currentRun,language:c,t:s,systemNotificationPermission:p.systemNotificationPermission,onUpdateDraft:p.updateDraft,onUpdateNode:p.updateNode,onToggleNotification:p.toggleNotification,onDeleteEdge:p.removeSelectedEdge,onCopyNode:p.copyNode,onDeleteNode:p.deleteNode,onOpenChannels:()=>l(P.channels),onOpenSystemNotificationSettings:()=>{if(window.pisperDesktop?.openNotificationSettings){window.pisperDesktop.openNotificationSettings();return}l(`/config/notifications`)}})]})]})}export{ht as WorkflowBuilder,mt as WorkflowsPage};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-B0Z9INg1.js";import{i as e,t}from"./vendor-react-CHuvPdJE.js";import{t as n}from"./vendor-ui-DvrYggeS.js";import{t as r}from"./utils-C8uzG5AZ.js";e();var i=t(),a=n(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function o({className:e,variant:t,...n}){return(0,i.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:r(a({variant:t}),e),...n})}function s({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`alert-description`,className:r(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),...t})}export{s as n,o as t};
@@ -0,0 +1 @@
1
+ var e=Object.freeze(JSON.parse(`{"colors":{"activityBar.background":"#23262E","activityBar.dropBackground":"#3a404e","activityBar.foreground":"#BAAFC0","activityBarBadge.background":"#00b0ff","activityBarBadge.foreground":"#20232B","badge.background":"#00b0ff","badge.foreground":"#20232B","button.background":"#00e8c5cc","button.hoverBackground":"#07d4b6cc","debugExceptionWidget.background":"#FF9F2E60","debugExceptionWidget.border":"#FF9F2E60","debugToolBar.background":"#20232A","diffEditor.insertedTextBackground":"#29BF1220","diffEditor.removedTextBackground":"#F21B3F20","dropdown.background":"#2b303b","dropdown.border":"#363c49","editor.background":"#23262E","editor.findMatchBackground":"#f39d1256","editor.findMatchBorder":"#f39d12b6","editor.findMatchHighlightBackground":"#59b8b377","editor.foreground":"#D5CED9","editor.hoverHighlightBackground":"#373941","editor.lineHighlightBackground":"#2e323d","editor.lineHighlightBorder":"#2e323d","editor.rangeHighlightBackground":"#372F3C","editor.selectionBackground":"#3D4352","editor.selectionHighlightBackground":"#4F435580","editor.wordHighlightBackground":"#4F4355","editor.wordHighlightStrongBackground":"#db45a280","editorBracketMatch.background":"#746f77","editorBracketMatch.border":"#746f77","editorCodeLens.foreground":"#746f77","editorCursor.foreground":"#FFF","editorError.foreground":"#FC644D","editorGroup.background":"#23262E","editorGroup.dropBackground":"#495061d7","editorGroupHeader.tabsBackground":"#23262E","editorGutter.addedBackground":"#9BC53DBB","editorGutter.deletedBackground":"#FC644DBB","editorGutter.modifiedBackground":"#5BC0EBBB","editorHoverWidget.background":"#373941","editorHoverWidget.border":"#00e8c5cc","editorIndentGuide.activeBackground":"#585C66","editorIndentGuide.background":"#333844","editorLineNumber.foreground":"#746f77","editorLink.activeForeground":"#3B79C7","editorOverviewRuler.border":"#1B1D23","editorRuler.foreground":"#4F4355","editorSuggestWidget.background":"#20232A","editorSuggestWidget.border":"#372F3C","editorSuggestWidget.selectedBackground":"#373941","editorWarning.foreground":"#FF9F2E","editorWhitespace.foreground":"#333844","editorWidget.background":"#20232A","errorForeground":"#FC644D","extensionButton.prominentBackground":"#07d4b6cc","extensionButton.prominentHoverBackground":"#07d4b5b0","focusBorder":"#746f77","foreground":"#D5CED9","gitDecoration.ignoredResourceForeground":"#555555","input.background":"#2b303b","input.placeholderForeground":"#746f77","inputOption.activeBorder":"#C668BA","inputValidation.errorBackground":"#D65343","inputValidation.errorBorder":"#D65343","inputValidation.infoBackground":"#3A6395","inputValidation.infoBorder":"#3A6395","inputValidation.warningBackground":"#DE9237","inputValidation.warningBorder":"#DE9237","list.activeSelectionBackground":"#23262E","list.activeSelectionForeground":"#00e8c6","list.dropBackground":"#3a404e","list.focusBackground":"#282b35","list.focusForeground":"#eee","list.hoverBackground":"#23262E","list.hoverForeground":"#eee","list.inactiveSelectionBackground":"#23262E","list.inactiveSelectionForeground":"#00e8c6","merge.currentContentBackground":"#F9267240","merge.currentHeaderBackground":"#F92672","merge.incomingContentBackground":"#3B79C740","merge.incomingHeaderBackground":"#3B79C7BB","minimapSlider.activeBackground":"#60698060","minimapSlider.background":"#58607460","minimapSlider.hoverBackground":"#60698060","notification.background":"#2d313b","notification.buttonBackground":"#00e8c5cc","notification.buttonHoverBackground":"#07d4b5b0","notification.errorBackground":"#FC644D","notification.infoBackground":"#00b0ff","notification.warningBackground":"#FF9F2E","panel.background":"#23262E","panel.border":"#1B1D23","panelTitle.activeBorder":"#23262E","panelTitle.inactiveForeground":"#746f77","peekView.border":"#23262E","peekViewEditor.background":"#1A1C22","peekViewEditor.matchHighlightBackground":"#FF9F2E60","peekViewResult.background":"#1A1C22","peekViewResult.matchHighlightBackground":"#FF9F2E60","peekViewResult.selectionBackground":"#23262E","peekViewTitle.background":"#1A1C22","peekViewTitleDescription.foreground":"#746f77","pickerGroup.border":"#4F4355","pickerGroup.foreground":"#746f77","progressBar.background":"#C668BA","scrollbar.shadow":"#23262E","scrollbarSlider.activeBackground":"#3A3F4CCC","scrollbarSlider.background":"#3A3F4C77","scrollbarSlider.hoverBackground":"#3A3F4CAA","selection.background":"#746f77","sideBar.background":"#23262E","sideBar.foreground":"#999999","sideBarSectionHeader.background":"#23262E","sideBarTitle.foreground":"#00e8c6","statusBar.background":"#23262E","statusBar.debuggingBackground":"#FC644D","statusBar.noFolderBackground":"#23262E","statusBarItem.activeBackground":"#00e8c5cc","statusBarItem.hoverBackground":"#07d4b5b0","statusBarItem.prominentBackground":"#07d4b5b0","statusBarItem.prominentHoverBackground":"#00e8c5cc","tab.activeBackground":"#23262e","tab.activeBorder":"#00e8c6","tab.activeForeground":"#00e8c6","tab.inactiveBackground":"#23262E","tab.inactiveForeground":"#746f77","terminal.ansiBlue":"#7cb7ff","terminal.ansiBrightBlue":"#7cb7ff","terminal.ansiBrightCyan":"#00e8c6","terminal.ansiBrightGreen":"#96E072","terminal.ansiBrightMagenta":"#ff00aa","terminal.ansiBrightRed":"#ee5d43","terminal.ansiBrightYellow":"#FFE66D","terminal.ansiCyan":"#00e8c6","terminal.ansiGreen":"#96E072","terminal.ansiMagenta":"#ff00aa","terminal.ansiRed":"#ee5d43","terminal.ansiYellow":"#FFE66D","terminalCursor.background":"#23262E","terminalCursor.foreground":"#FFE66D","titleBar.activeBackground":"#23262E","walkThrough.embeddedEditorBackground":"#23262E","widget.shadow":"#14151A"},"displayName":"Andromeeda","name":"andromeeda","semanticTokenColors":{"property.declaration:javascript":"#D5CED9","variable.defaultLibrary:javascript":"#f39c12"},"tokenColors":[{"settings":{"background":"#23262E","foreground":"#D5CED9"}},{"scope":["comment","markup.quote.markdown","meta.diff","meta.diff.header"],"settings":{"foreground":"#A0A1A7cc"}},{"scope":["meta.template.expression.js","constant.name.attribute.tag.jade","punctuation.definition.metadata.markdown","punctuation.definition.string.end.markdown","punctuation.definition.string.begin.markdown","string.unquoted.cmake"],"settings":{"foreground":"#D5CED9"}},{"scope":["variable","support.variable","entity.name.tag.yaml","constant.character.entity.html","source.css entity.name.tag.reference","beginning.punctuation.definition.list.markdown","source.css entity.other.attribute-name.parent-selector","meta.structure.dictionary.json support.type.property-name"],"settings":{"foreground":"#00e8c6"}},{"scope":["markup.bold","constant.numeric","meta.group.regexp","constant.other.php","support.constant.ext.php","constant.other.class.php","support.constant.core.php","fenced_code.block.language","constant.other.caps.python","entity.other.attribute-name","support.type.exception.python","source.css keyword.other.unit","variable.other.object.property.js.jsx","variable.other.object.js"],"settings":{"foreground":"#f39c12"}},{"scope":["markup.list","text.xml string","entity.name.type","support.function","entity.other.attribute-name","meta.at-rule.extend","entity.name.function","entity.other.inherited-class","entity.other.keyframe-offset.css","text.html.markdown string.quoted","meta.function-call.generic.python","meta.at-rule.extend support.constant","entity.other.attribute-name.class.jade","source.css entity.other.attribute-name","text.xml punctuation.definition.string"],"settings":{"foreground":"#FFE66D"}},{"scope":["markup.heading","variable.language.this.js","variable.language.special.self.python"],"settings":{"foreground":"#ff00aa"}},{"scope":["punctuation.definition.interpolation","punctuation.section.embedded.end.php","punctuation.section.embedded.end.ruby","punctuation.section.embedded.begin.php","punctuation.section.embedded.begin.ruby","punctuation.definition.template-expression","entity.name.tag"],"settings":{"foreground":"#f92672"}},{"scope":["storage","keyword","meta.link","meta.image","markup.italic","source.js support.type","support.type"],"settings":{"foreground":"#c74ded"}},{"scope":["string.regexp","markup.changed"],"settings":{"foreground":"#7cb7ff"}},{"scope":["constant","support.class","keyword.operator","support.constant","text.html.markdown string","source.css support.function","source.php support.function","support.function.magic.python","entity.other.attribute-name.id","markup.deleted"],"settings":{"foreground":"#ee5d43"}},{"scope":["string","text.html.php string","markup.inline.raw","markup.inserted","punctuation.definition.string","punctuation.definition.markdown","text.html meta.embedded source.js string","text.html.php punctuation.definition.string","text.html meta.embedded source.js punctuation.definition.string","text.html punctuation.definition.string","text.html string"],"settings":{"foreground":"#96E072"}},{"scope":["entity.other.inherited-class"],"settings":{"fontStyle":"underline"}}],"type":"dark"}`));export{e as default};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./html-BVyvp26C.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};